diff --git a/404.css b/404.css deleted file mode 100644 index e63f2889..00000000 --- a/404.css +++ /dev/null @@ -1,35 +0,0 @@ -html, body, .row { - height: 100%; - -webkit-font-smoothing: antialiased; -} - -h2 { - font-size: 25px; - margin-bottom: 12.5px; - font-weight: 500; - line-height: 1.1; -} - -.brand { - font-size: 23px; - line-height: 25px; - color: #fff; - font-family: "Open Sans","Helvetica Neue",Helvetica,Arial,sans-serif; -} - -.banner { - background-color: #175DDC; - height: 56px; -} - -.content { - padding-top: 20px; - padding-bottom: 20px; - padding-left: 15px; - padding-right: 15px; -} - -.footer { - padding: 40px 0 40px 0; - border-top: 1px solid #dee2e6; -} diff --git a/404.html b/404.html deleted file mode 100644 index dae3951b..00000000 --- a/404.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - - - - - - Page not found! - - - - - -
-

Page not found!

-

Sorry, but the page you were looking for could not be found.

-

- - 404 image - -

-

You can return to the web vault, check our status page - or contact us.

-
- - - diff --git a/app-id.json b/app-id.json deleted file mode 100644 index 2015f662..00000000 --- a/app-id.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "trustedFacets": [ - { - "version": { - "major": 1, - "minor": 0 - }, - "ids": [ - "https://vault.bitwarden.com", - "ios:bundle-id:com.8bit.bitwarden", - "android:apk-key-hash:dUGFzUzf3lmHSLBDBIv+WaFyZMI" - ] - } - ] -} diff --git a/app/main.5767a6ed9bc20ebddf79.css b/app/main.5767a6ed9bc20ebddf79.css deleted file mode 100644 index d9d0e7bb..00000000 --- a/app/main.5767a6ed9bc20ebddf79.css +++ /dev/null @@ -1,11427 +0,0 @@ -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 300; - src: url(../fonts/Open_Sans-italic-300.woff) format('woff'); - unicode-range: U+0-10FFFF; -} - -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 400; - src: url(../fonts/Open_Sans-italic-400.woff) format('woff'); - unicode-range: U+0-10FFFF; -} - -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 600; - src: url(../fonts/Open_Sans-italic-600.woff) format('woff'); - unicode-range: U+0-10FFFF; -} - -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 700; - src: url(../fonts/Open_Sans-italic-700.woff) format('woff'); - unicode-range: U+0-10FFFF; -} - -@font-face { - font-family: 'Open Sans'; - font-style: italic; - font-weight: 800; - src: url(../fonts/Open_Sans-italic-800.woff) format('woff'); - unicode-range: U+0-10FFFF; -} - -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 300; - src: url(../fonts/Open_Sans-normal-300.woff) format('woff'); - unicode-range: U+0-10FFFF; -} - -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 400; - src: url(../fonts/Open_Sans-normal-400.woff) format('woff'); - unicode-range: U+0-10FFFF; -} - -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 600; - src: url(../fonts/Open_Sans-normal-600.woff) format('woff'); - unicode-range: U+0-10FFFF; -} - -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 700; - src: url(../fonts/Open_Sans-normal-700.woff) format('woff'); - unicode-range: U+0-10FFFF; -} - -@font-face { - font-family: 'Open Sans'; - font-style: normal; - font-weight: 800; - src: url(../fonts/Open_Sans-normal-800.woff) format('woff'); - unicode-range: U+0-10FFFF; -} - - -@charset "UTF-8"; -:root { - --blue: #007bff; - --indigo: #6610f2; - --purple: #6f42c1; - --pink: #e83e8c; - --red: #dc3545; - --orange: #fd7e14; - --yellow: #ffc107; - --green: #28a745; - --teal: #20c997; - --cyan: #17a2b8; - --white: #fff; - --gray: #6c757d; - --gray-dark: #343a40; - --primary: #175DDC; - --secondary: #ced4da; - --success: #00a65a; - --info: #555555; - --warning: #bf7e16; - --danger: #dd4b39; - --light: #f8f9fa; - --dark: #343a40; - --primary-accent: #1252A3; - --secondary-alt: #1A3B66; - --breakpoint-xs: 0; - --breakpoint-sm: 1px; - --breakpoint-md: 2px; - --breakpoint-lg: 3px; - --breakpoint-xl: 4px; - --font-family-sans-serif: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; } - -*, -*::before, -*::after { - box-sizing: border-box; } - -html { - font-family: sans-serif; - line-height: 1.15; - -webkit-text-size-adjust: 100%; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } - -article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { - display: block; } - -body { - margin: 0; - font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #333333; - text-align: left; - background-color: #ffffff; } - -[tabindex="-1"]:focus { - outline: 0 !important; } - -hr { - box-sizing: content-box; - height: 0; - overflow: visible; } - -h1, h2, h3, h4, h5, h6 { - margin-top: 0; - margin-bottom: 0.5rem; } - -p { - margin-top: 0; - margin-bottom: 1rem; } - -abbr[title], -abbr[data-original-title] { - text-decoration: underline; - text-decoration: underline dotted; - cursor: help; - border-bottom: 0; - text-decoration-skip-ink: none; } - -address { - margin-bottom: 1rem; - font-style: normal; - line-height: inherit; } - -ol, -ul, -dl { - margin-top: 0; - margin-bottom: 1rem; } - -ol ol, -ul ul, -ol ul, -ul ol { - margin-bottom: 0; } - -dt { - font-weight: 700; } - -dd { - margin-bottom: .5rem; - margin-left: 0; } - -blockquote { - margin: 0 0 1rem; } - -b, -strong { - font-weight: bolder; } - -small { - font-size: 80%; } - -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; } - -sub { - bottom: -.25em; } - -sup { - top: -.5em; } - -a { - color: #175DDC; - text-decoration: none; - background-color: transparent; } - a:hover { - color: #104097; - text-decoration: underline; } - -a:not([href]):not([tabindex]) { - color: inherit; - text-decoration: none; } - a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus { - color: inherit; - text-decoration: none; } - a:not([href]):not([tabindex]):focus { - outline: 0; } - -pre, -code, -kbd, -samp { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; - font-size: 1em; } - -pre { - margin-top: 0; - margin-bottom: 1rem; - overflow: auto; } - -figure { - margin: 0 0 1rem; } - -img { - vertical-align: middle; - border-style: none; } - -svg { - overflow: hidden; - vertical-align: middle; } - -table { - border-collapse: collapse; } - -caption { - padding-top: 0.75rem; - padding-bottom: 0.75rem; - color: #6c757d; - text-align: left; - caption-side: bottom; } - -th { - text-align: inherit; } - -label { - display: inline-block; - margin-bottom: 0.5rem; } - -button { - border-radius: 0; } - -button:focus { - outline: 1px dotted; - outline: 5px auto -webkit-focus-ring-color; } - -input, -button, -select, -optgroup, -textarea { - margin: 0; - font-family: inherit; - font-size: inherit; - line-height: inherit; } - -button, -input { - overflow: visible; } - -button, -select { - text-transform: none; } - -select { - word-wrap: normal; } - -button, -[type="button"], -[type="reset"], -[type="submit"] { - -webkit-appearance: button; } - -button:not(:disabled), -[type="button"]:not(:disabled), -[type="reset"]:not(:disabled), -[type="submit"]:not(:disabled) { - cursor: pointer; } - -button::-moz-focus-inner, -[type="button"]::-moz-focus-inner, -[type="reset"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner { - padding: 0; - border-style: none; } - -input[type="radio"], -input[type="checkbox"] { - box-sizing: border-box; - padding: 0; } - -input[type="date"], -input[type="time"], -input[type="datetime-local"], -input[type="month"] { - -webkit-appearance: listbox; } - -textarea { - overflow: auto; - resize: vertical; } - -fieldset { - min-width: 0; - padding: 0; - margin: 0; - border: 0; } - -legend { - display: block; - width: 100%; - max-width: 100%; - padding: 0; - margin-bottom: .5rem; - font-size: 1.5rem; - line-height: inherit; - color: inherit; - white-space: normal; } - -progress { - vertical-align: baseline; } - -[type="number"]::-webkit-inner-spin-button, -[type="number"]::-webkit-outer-spin-button { - height: auto; } - -[type="search"] { - outline-offset: -2px; - -webkit-appearance: none; } - -[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; } - -::-webkit-file-upload-button { - font: inherit; - -webkit-appearance: button; } - -output { - display: inline-block; } - -summary { - display: list-item; - cursor: pointer; } - -template { - display: none; } - -[hidden] { - display: none !important; } - -h1, h2, h3, h4, h5, h6, -.h1, .h2, .h3, .h4, .h5, .h6 { - margin-bottom: 0.5rem; - font-weight: 500; - line-height: 1.2; } - -h1, .h1 { - font-size: 1.7rem; } - -h2, .h2 { - font-size: 1.3rem; } - -h3, .h3 { - font-size: 1rem; } - -h4, .h4 { - font-size: 1rem; } - -h5, .h5 { - font-size: 1rem; } - -h6, .h6 { - font-size: 1rem; } - -.lead { - font-size: 1.25rem; - font-weight: normal; } - -.display-1 { - font-size: 6rem; - font-weight: 300; - line-height: 1.2; } - -.display-2 { - font-size: 5.5rem; - font-weight: 300; - line-height: 1.2; } - -.display-3 { - font-size: 4.5rem; - font-weight: 300; - line-height: 1.2; } - -.display-4 { - font-size: 3.5rem; - font-weight: 300; - line-height: 1.2; } - -hr { - margin-top: 1rem; - margin-bottom: 1rem; - border: 0; - border-top: 1px solid rgba(0, 0, 0, 0.1); } - -small, -.small { - font-size: 90%; - font-weight: 400; } - -mark, -.mark { - padding: 0.2em; - background-color: #fcf8e3; } - -.list-unstyled { - padding-left: 0; - list-style: none; } - -.list-inline { - padding-left: 0; - list-style: none; } - -.list-inline-item { - display: inline-block; } - .list-inline-item:not(:last-child) { - margin-right: 0.5rem; } - -.initialism { - font-size: 90%; - text-transform: uppercase; } - -.blockquote { - margin-bottom: 1rem; - font-size: 1.25rem; } - -.blockquote-footer { - display: block; - font-size: 90%; - color: #6c757d; } - .blockquote-footer::before { - content: "\2014\A0"; } - -.img-fluid, .table.table-list td.table-list-icon img { - max-width: 100%; - height: auto; } - -.img-thumbnail { - padding: 0.25rem; - background-color: #ffffff; - border: 1px solid #dee2e6; - border-radius: 0.25rem; - max-width: 100%; - height: auto; } - -.figure { - display: inline-block; } - -.figure-img { - margin-bottom: 0.5rem; - line-height: 1; } - -.figure-caption { - font-size: 90%; - color: #6c757d; } - -code { - font-size: 100%; - color: #e83e8c; - word-break: break-word; } - a > code { - color: inherit; } - -kbd { - padding: 0.2rem 0.4rem; - font-size: 100%; - color: #fff; - background-color: #212529; - border-radius: 0.2rem; } - kbd kbd { - padding: 0; - font-size: 100%; - font-weight: 700; } - -pre { - display: block; - font-size: 100%; - color: #212529; } - pre code { - font-size: inherit; - color: inherit; - word-break: normal; } - -.pre-scrollable { - max-height: 340px; - overflow-y: scroll; } - -.container { - width: 100%; - padding-right: 10px; - padding-left: 10px; - margin-right: auto; - margin-left: auto; } - @media (min-width: 1px) { - .container { - max-width: 540px; } } - @media (min-width: 2px) { - .container { - max-width: 720px; } } - @media (min-width: 3px) { - .container { - max-width: 960px; } } - @media (min-width: 4px) { - .container { - max-width: 1140px; } } - -.container-fluid { - width: 100%; - padding-right: 10px; - padding-left: 10px; - margin-right: auto; - margin-left: auto; } - -.row { - display: flex; - flex-wrap: wrap; - margin-right: -10px; - margin-left: -10px; } - -.no-gutters { - margin-right: 0; - margin-left: 0; } - .no-gutters > .col, - .no-gutters > [class*="col-"] { - padding-right: 0; - padding-left: 0; } - -.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, -.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, -.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, -.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, -.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, -.col-xl-auto { - position: relative; - width: 100%; - padding-right: 10px; - padding-left: 10px; } - -.col { - flex-basis: 0; - flex-grow: 1; - max-width: 100%; } - -.col-auto { - flex: 0 0 auto; - width: auto; - max-width: 100%; } - -.col-1 { - flex: 0 0 8.33333%; - max-width: 8.33333%; } - -.col-2 { - flex: 0 0 16.66667%; - max-width: 16.66667%; } - -.col-3 { - flex: 0 0 25%; - max-width: 25%; } - -.col-4 { - flex: 0 0 33.33333%; - max-width: 33.33333%; } - -.col-5 { - flex: 0 0 41.66667%; - max-width: 41.66667%; } - -.col-6 { - flex: 0 0 50%; - max-width: 50%; } - -.col-7 { - flex: 0 0 58.33333%; - max-width: 58.33333%; } - -.col-8 { - flex: 0 0 66.66667%; - max-width: 66.66667%; } - -.col-9 { - flex: 0 0 75%; - max-width: 75%; } - -.col-10 { - flex: 0 0 83.33333%; - max-width: 83.33333%; } - -.col-11 { - flex: 0 0 91.66667%; - max-width: 91.66667%; } - -.col-12 { - flex: 0 0 100%; - max-width: 100%; } - -.order-first { - order: -1; } - -.order-last { - order: 13; } - -.order-0 { - order: 0; } - -.order-1 { - order: 1; } - -.order-2 { - order: 2; } - -.order-3 { - order: 3; } - -.order-4 { - order: 4; } - -.order-5 { - order: 5; } - -.order-6 { - order: 6; } - -.order-7 { - order: 7; } - -.order-8 { - order: 8; } - -.order-9 { - order: 9; } - -.order-10 { - order: 10; } - -.order-11 { - order: 11; } - -.order-12 { - order: 12; } - -.offset-1 { - margin-left: 8.33333%; } - -.offset-2 { - margin-left: 16.66667%; } - -.offset-3 { - margin-left: 25%; } - -.offset-4 { - margin-left: 33.33333%; } - -.offset-5 { - margin-left: 41.66667%; } - -.offset-6 { - margin-left: 50%; } - -.offset-7 { - margin-left: 58.33333%; } - -.offset-8 { - margin-left: 66.66667%; } - -.offset-9 { - margin-left: 75%; } - -.offset-10 { - margin-left: 83.33333%; } - -.offset-11 { - margin-left: 91.66667%; } - -@media (min-width: 1px) { - .col-sm { - flex-basis: 0; - flex-grow: 1; - max-width: 100%; } - .col-sm-auto { - flex: 0 0 auto; - width: auto; - max-width: 100%; } - .col-sm-1 { - flex: 0 0 8.33333%; - max-width: 8.33333%; } - .col-sm-2 { - flex: 0 0 16.66667%; - max-width: 16.66667%; } - .col-sm-3 { - flex: 0 0 25%; - max-width: 25%; } - .col-sm-4 { - flex: 0 0 33.33333%; - max-width: 33.33333%; } - .col-sm-5 { - flex: 0 0 41.66667%; - max-width: 41.66667%; } - .col-sm-6 { - flex: 0 0 50%; - max-width: 50%; } - .col-sm-7 { - flex: 0 0 58.33333%; - max-width: 58.33333%; } - .col-sm-8 { - flex: 0 0 66.66667%; - max-width: 66.66667%; } - .col-sm-9 { - flex: 0 0 75%; - max-width: 75%; } - .col-sm-10 { - flex: 0 0 83.33333%; - max-width: 83.33333%; } - .col-sm-11 { - flex: 0 0 91.66667%; - max-width: 91.66667%; } - .col-sm-12 { - flex: 0 0 100%; - max-width: 100%; } - .order-sm-first { - order: -1; } - .order-sm-last { - order: 13; } - .order-sm-0 { - order: 0; } - .order-sm-1 { - order: 1; } - .order-sm-2 { - order: 2; } - .order-sm-3 { - order: 3; } - .order-sm-4 { - order: 4; } - .order-sm-5 { - order: 5; } - .order-sm-6 { - order: 6; } - .order-sm-7 { - order: 7; } - .order-sm-8 { - order: 8; } - .order-sm-9 { - order: 9; } - .order-sm-10 { - order: 10; } - .order-sm-11 { - order: 11; } - .order-sm-12 { - order: 12; } - .offset-sm-0 { - margin-left: 0; } - .offset-sm-1 { - margin-left: 8.33333%; } - .offset-sm-2 { - margin-left: 16.66667%; } - .offset-sm-3 { - margin-left: 25%; } - .offset-sm-4 { - margin-left: 33.33333%; } - .offset-sm-5 { - margin-left: 41.66667%; } - .offset-sm-6 { - margin-left: 50%; } - .offset-sm-7 { - margin-left: 58.33333%; } - .offset-sm-8 { - margin-left: 66.66667%; } - .offset-sm-9 { - margin-left: 75%; } - .offset-sm-10 { - margin-left: 83.33333%; } - .offset-sm-11 { - margin-left: 91.66667%; } } - -@media (min-width: 2px) { - .col-md { - flex-basis: 0; - flex-grow: 1; - max-width: 100%; } - .col-md-auto { - flex: 0 0 auto; - width: auto; - max-width: 100%; } - .col-md-1 { - flex: 0 0 8.33333%; - max-width: 8.33333%; } - .col-md-2 { - flex: 0 0 16.66667%; - max-width: 16.66667%; } - .col-md-3 { - flex: 0 0 25%; - max-width: 25%; } - .col-md-4 { - flex: 0 0 33.33333%; - max-width: 33.33333%; } - .col-md-5 { - flex: 0 0 41.66667%; - max-width: 41.66667%; } - .col-md-6 { - flex: 0 0 50%; - max-width: 50%; } - .col-md-7 { - flex: 0 0 58.33333%; - max-width: 58.33333%; } - .col-md-8 { - flex: 0 0 66.66667%; - max-width: 66.66667%; } - .col-md-9 { - flex: 0 0 75%; - max-width: 75%; } - .col-md-10 { - flex: 0 0 83.33333%; - max-width: 83.33333%; } - .col-md-11 { - flex: 0 0 91.66667%; - max-width: 91.66667%; } - .col-md-12 { - flex: 0 0 100%; - max-width: 100%; } - .order-md-first { - order: -1; } - .order-md-last { - order: 13; } - .order-md-0 { - order: 0; } - .order-md-1 { - order: 1; } - .order-md-2 { - order: 2; } - .order-md-3 { - order: 3; } - .order-md-4 { - order: 4; } - .order-md-5 { - order: 5; } - .order-md-6 { - order: 6; } - .order-md-7 { - order: 7; } - .order-md-8 { - order: 8; } - .order-md-9 { - order: 9; } - .order-md-10 { - order: 10; } - .order-md-11 { - order: 11; } - .order-md-12 { - order: 12; } - .offset-md-0 { - margin-left: 0; } - .offset-md-1 { - margin-left: 8.33333%; } - .offset-md-2 { - margin-left: 16.66667%; } - .offset-md-3 { - margin-left: 25%; } - .offset-md-4 { - margin-left: 33.33333%; } - .offset-md-5 { - margin-left: 41.66667%; } - .offset-md-6 { - margin-left: 50%; } - .offset-md-7 { - margin-left: 58.33333%; } - .offset-md-8 { - margin-left: 66.66667%; } - .offset-md-9 { - margin-left: 75%; } - .offset-md-10 { - margin-left: 83.33333%; } - .offset-md-11 { - margin-left: 91.66667%; } } - -@media (min-width: 3px) { - .col-lg { - flex-basis: 0; - flex-grow: 1; - max-width: 100%; } - .col-lg-auto { - flex: 0 0 auto; - width: auto; - max-width: 100%; } - .col-lg-1 { - flex: 0 0 8.33333%; - max-width: 8.33333%; } - .col-lg-2 { - flex: 0 0 16.66667%; - max-width: 16.66667%; } - .col-lg-3 { - flex: 0 0 25%; - max-width: 25%; } - .col-lg-4 { - flex: 0 0 33.33333%; - max-width: 33.33333%; } - .col-lg-5 { - flex: 0 0 41.66667%; - max-width: 41.66667%; } - .col-lg-6 { - flex: 0 0 50%; - max-width: 50%; } - .col-lg-7 { - flex: 0 0 58.33333%; - max-width: 58.33333%; } - .col-lg-8 { - flex: 0 0 66.66667%; - max-width: 66.66667%; } - .col-lg-9 { - flex: 0 0 75%; - max-width: 75%; } - .col-lg-10 { - flex: 0 0 83.33333%; - max-width: 83.33333%; } - .col-lg-11 { - flex: 0 0 91.66667%; - max-width: 91.66667%; } - .col-lg-12 { - flex: 0 0 100%; - max-width: 100%; } - .order-lg-first { - order: -1; } - .order-lg-last { - order: 13; } - .order-lg-0 { - order: 0; } - .order-lg-1 { - order: 1; } - .order-lg-2 { - order: 2; } - .order-lg-3 { - order: 3; } - .order-lg-4 { - order: 4; } - .order-lg-5 { - order: 5; } - .order-lg-6 { - order: 6; } - .order-lg-7 { - order: 7; } - .order-lg-8 { - order: 8; } - .order-lg-9 { - order: 9; } - .order-lg-10 { - order: 10; } - .order-lg-11 { - order: 11; } - .order-lg-12 { - order: 12; } - .offset-lg-0 { - margin-left: 0; } - .offset-lg-1 { - margin-left: 8.33333%; } - .offset-lg-2 { - margin-left: 16.66667%; } - .offset-lg-3 { - margin-left: 25%; } - .offset-lg-4 { - margin-left: 33.33333%; } - .offset-lg-5 { - margin-left: 41.66667%; } - .offset-lg-6 { - margin-left: 50%; } - .offset-lg-7 { - margin-left: 58.33333%; } - .offset-lg-8 { - margin-left: 66.66667%; } - .offset-lg-9 { - margin-left: 75%; } - .offset-lg-10 { - margin-left: 83.33333%; } - .offset-lg-11 { - margin-left: 91.66667%; } } - -@media (min-width: 4px) { - .col-xl { - flex-basis: 0; - flex-grow: 1; - max-width: 100%; } - .col-xl-auto { - flex: 0 0 auto; - width: auto; - max-width: 100%; } - .col-xl-1 { - flex: 0 0 8.33333%; - max-width: 8.33333%; } - .col-xl-2 { - flex: 0 0 16.66667%; - max-width: 16.66667%; } - .col-xl-3 { - flex: 0 0 25%; - max-width: 25%; } - .col-xl-4 { - flex: 0 0 33.33333%; - max-width: 33.33333%; } - .col-xl-5 { - flex: 0 0 41.66667%; - max-width: 41.66667%; } - .col-xl-6 { - flex: 0 0 50%; - max-width: 50%; } - .col-xl-7 { - flex: 0 0 58.33333%; - max-width: 58.33333%; } - .col-xl-8 { - flex: 0 0 66.66667%; - max-width: 66.66667%; } - .col-xl-9 { - flex: 0 0 75%; - max-width: 75%; } - .col-xl-10 { - flex: 0 0 83.33333%; - max-width: 83.33333%; } - .col-xl-11 { - flex: 0 0 91.66667%; - max-width: 91.66667%; } - .col-xl-12 { - flex: 0 0 100%; - max-width: 100%; } - .order-xl-first { - order: -1; } - .order-xl-last { - order: 13; } - .order-xl-0 { - order: 0; } - .order-xl-1 { - order: 1; } - .order-xl-2 { - order: 2; } - .order-xl-3 { - order: 3; } - .order-xl-4 { - order: 4; } - .order-xl-5 { - order: 5; } - .order-xl-6 { - order: 6; } - .order-xl-7 { - order: 7; } - .order-xl-8 { - order: 8; } - .order-xl-9 { - order: 9; } - .order-xl-10 { - order: 10; } - .order-xl-11 { - order: 11; } - .order-xl-12 { - order: 12; } - .offset-xl-0 { - margin-left: 0; } - .offset-xl-1 { - margin-left: 8.33333%; } - .offset-xl-2 { - margin-left: 16.66667%; } - .offset-xl-3 { - margin-left: 25%; } - .offset-xl-4 { - margin-left: 33.33333%; } - .offset-xl-5 { - margin-left: 41.66667%; } - .offset-xl-6 { - margin-left: 50%; } - .offset-xl-7 { - margin-left: 58.33333%; } - .offset-xl-8 { - margin-left: 66.66667%; } - .offset-xl-9 { - margin-left: 75%; } - .offset-xl-10 { - margin-left: 83.33333%; } - .offset-xl-11 { - margin-left: 91.66667%; } } - -.table { - width: 100%; - margin-bottom: 1rem; - color: #333333; } - .table th, - .table td { - padding: 0.75rem; - vertical-align: top; - border-top: 1px solid #dee2e6; } - .table thead th { - vertical-align: bottom; - border-bottom: 2px solid #dee2e6; } - .table tbody + tbody { - border-top: 2px solid #dee2e6; } - -.table-sm th, -.table-sm td { - padding: 0.3rem; } - -.table-bordered { - border: 1px solid #dee2e6; } - .table-bordered th, - .table-bordered td { - border: 1px solid #dee2e6; } - .table-bordered thead th, - .table-bordered thead td { - border-bottom-width: 2px; } - -.table-borderless th, -.table-borderless td, -.table-borderless thead th, -.table-borderless tbody + tbody { - border: 0; } - -.table-striped tbody tr:nth-of-type(odd) { - background-color: rgba(0, 0, 0, 0.02); } - -.table-hover tbody tr:hover { - color: #333333; - background-color: rgba(0, 0, 0, 0.03); } - -.table-primary, -.table-primary > th, -.table-primary > td { - background-color: #bed2f5; } - -.table-primary th, -.table-primary td, -.table-primary thead th, -.table-primary tbody + tbody { - border-color: #86abed; } - -.table-hover .table-primary:hover { - background-color: #a8c3f2; } - .table-hover .table-primary:hover > td, - .table-hover .table-primary:hover > th { - background-color: #a8c3f2; } - -.table-secondary, -.table-secondary > th, -.table-secondary > td { - background-color: #f1f3f5; } - -.table-secondary th, -.table-secondary td, -.table-secondary thead th, -.table-secondary tbody + tbody { - border-color: #e6e9ec; } - -.table-hover .table-secondary:hover { - background-color: #e2e6ea; } - .table-hover .table-secondary:hover > td, - .table-hover .table-secondary:hover > th { - background-color: #e2e6ea; } - -.table-success, -.table-success > th, -.table-success > td { - background-color: #b8e6d1; } - -.table-success th, -.table-success td, -.table-success thead th, -.table-success tbody + tbody { - border-color: #7ad1a9; } - -.table-hover .table-success:hover { - background-color: #a5dfc5; } - .table-hover .table-success:hover > td, - .table-hover .table-success:hover > th { - background-color: #a5dfc5; } - -.table-info, -.table-info > th, -.table-info > td { - background-color: #cfcfcf; } - -.table-info th, -.table-info td, -.table-info thead th, -.table-info tbody + tbody { - border-color: #a7a7a7; } - -.table-hover .table-info:hover { - background-color: #c2c2c2; } - .table-hover .table-info:hover > td, - .table-hover .table-info:hover > th { - background-color: #c2c2c2; } - -.table-warning, -.table-warning > th, -.table-warning > td { - background-color: #eddbbe; } - -.table-warning th, -.table-warning td, -.table-warning thead th, -.table-warning tbody + tbody { - border-color: #debc86; } - -.table-hover .table-warning:hover { - background-color: #e7d0aa; } - .table-hover .table-warning:hover > td, - .table-hover .table-warning:hover > th { - background-color: #e7d0aa; } - -.table-danger, -.table-danger > th, -.table-danger > td { - background-color: #f5cdc8; } - -.table-danger th, -.table-danger td, -.table-danger thead th, -.table-danger tbody + tbody { - border-color: #eda198; } - -.table-hover .table-danger:hover { - background-color: #f1b9b2; } - .table-hover .table-danger:hover > td, - .table-hover .table-danger:hover > th { - background-color: #f1b9b2; } - -.table-light, -.table-light > th, -.table-light > td { - background-color: #fdfdfe; } - -.table-light th, -.table-light td, -.table-light thead th, -.table-light tbody + tbody { - border-color: #fbfcfc; } - -.table-hover .table-light:hover { - background-color: #ececf6; } - .table-hover .table-light:hover > td, - .table-hover .table-light:hover > th { - background-color: #ececf6; } - -.table-dark, -.table-dark > th, -.table-dark > td { - background-color: #c6c8ca; } - -.table-dark th, -.table-dark td, -.table-dark thead th, -.table-dark tbody + tbody { - border-color: #95999c; } - -.table-hover .table-dark:hover { - background-color: #b9bbbe; } - .table-hover .table-dark:hover > td, - .table-hover .table-dark:hover > th { - background-color: #b9bbbe; } - -.table-primary-accent, -.table-primary-accent > th, -.table-primary-accent > td { - background-color: #bdcfe5; } - -.table-primary-accent th, -.table-primary-accent td, -.table-primary-accent thead th, -.table-primary-accent tbody + tbody { - border-color: #84a5cf; } - -.table-hover .table-primary-accent:hover { - background-color: #abc2de; } - .table-hover .table-primary-accent:hover > td, - .table-hover .table-primary-accent:hover > th { - background-color: #abc2de; } - -.table-secondary-alt, -.table-secondary-alt > th, -.table-secondary-alt > td { - background-color: #bfc8d4; } - -.table-secondary-alt th, -.table-secondary-alt td, -.table-secondary-alt thead th, -.table-secondary-alt tbody + tbody { - border-color: #8899af; } - -.table-hover .table-secondary-alt:hover { - background-color: #b0bbca; } - .table-hover .table-secondary-alt:hover > td, - .table-hover .table-secondary-alt:hover > th { - background-color: #b0bbca; } - -.table-active, -.table-active > th, -.table-active > td { - background-color: rgba(0, 0, 0, 0.03); } - -.table-hover .table-active:hover { - background-color: rgba(0, 0, 0, 0.03); } - .table-hover .table-active:hover > td, - .table-hover .table-active:hover > th { - background-color: rgba(0, 0, 0, 0.03); } - -.table .thead-dark th { - color: #fff; - background-color: #343a40; - border-color: #454d55; } - -.table .thead-light th { - color: #495057; - background-color: #e9ecef; - border-color: #dee2e6; } - -.table-dark { - color: #fff; - background-color: #343a40; } - .table-dark th, - .table-dark td, - .table-dark thead th { - border-color: #454d55; } - .table-dark.table-bordered { - border: 0; } - .table-dark.table-striped tbody tr:nth-of-type(odd) { - background-color: rgba(255, 255, 255, 0.05); } - .table-dark.table-hover tbody tr:hover { - color: #fff; - background-color: rgba(255, 255, 255, 0.075); } - -@media (max-width: 0.98px) { - .table-responsive-sm { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; } - .table-responsive-sm > .table-bordered { - border: 0; } } - -@media (max-width: 1.98px) { - .table-responsive-md { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; } - .table-responsive-md > .table-bordered { - border: 0; } } - -@media (max-width: 2.98px) { - .table-responsive-lg { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; } - .table-responsive-lg > .table-bordered { - border: 0; } } - -@media (max-width: 3.98px) { - .table-responsive-xl { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; } - .table-responsive-xl > .table-bordered { - border: 0; } } - -.table-responsive { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; } - .table-responsive > .table-bordered { - border: 0; } - -.form-control { - display: block; - width: 100%; - height: calc(1.5em + 0.75rem + 2px); - padding: 0.375rem 0.75rem; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #495057; - background-color: #fbfbfb; - background-clip: padding-box; - border: 1px solid #ced4da; - border-radius: 0.25rem; - transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .form-control { - transition: none; } } - .form-control::-ms-expand { - background-color: transparent; - border: 0; } - .form-control:focus { - color: #495057; - background-color: #ffffff; - border-color: #81a9f2; - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); } - .form-control::placeholder { - color: #b4b4b4; - opacity: 1; } - .form-control:disabled, .form-control[readonly] { - background-color: #e0e0e0; - opacity: 1; } - -select.form-control:focus::-ms-value { - color: #495057; - background-color: #fbfbfb; } - -.form-control-file, -.form-control-range { - display: block; - width: 100%; } - -.col-form-label { - padding-top: calc(0.375rem + 1px); - padding-bottom: calc(0.375rem + 1px); - margin-bottom: 0; - font-size: inherit; - line-height: 1.5; } - -.col-form-label-lg { - padding-top: calc(0.5rem + 1px); - padding-bottom: calc(0.5rem + 1px); - font-size: 1.15rem; - line-height: 1.5; } - -.col-form-label-sm { - padding-top: calc(0.25rem + 1px); - padding-bottom: calc(0.25rem + 1px); - font-size: 0.875rem; - line-height: 1.5; } - -.form-control-plaintext { - display: block; - width: 100%; - padding-top: 0.375rem; - padding-bottom: 0.375rem; - margin-bottom: 0; - line-height: 1.5; - color: #333333; - background-color: transparent; - border: solid transparent; - border-width: 1px 0; } - .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { - padding-right: 0; - padding-left: 0; } - -.form-control-sm { - height: calc(1.5em + 0.5rem + 2px); - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; - border-radius: 0.2rem; } - -.form-control-lg { - height: calc(1.5em + 1rem + 2px); - padding: 0.5rem 1rem; - font-size: 1.15rem; - line-height: 1.5; - border-radius: 0.3rem; } - -select.form-control[size], select.form-control[multiple] { - height: auto; } - -textarea.form-control { - height: auto; } - -.form-group { - margin-bottom: 1rem; } - -.form-text { - display: block; - margin-top: 0.25rem; } - -.form-row { - display: flex; - flex-wrap: wrap; - margin-right: -5px; - margin-left: -5px; } - .form-row > .col, - .form-row > [class*="col-"] { - padding-right: 5px; - padding-left: 5px; } - -.form-check { - position: relative; - display: block; - padding-left: 1.25rem; } - -.form-check-input { - position: absolute; - margin-top: 0.3rem; - margin-left: -1.25rem; } - .form-check-input:disabled ~ .form-check-label { - color: #6c757d; } - -.form-check-label { - margin-bottom: 0; } - -.form-check-inline { - display: inline-flex; - align-items: center; - padding-left: 0; - margin-right: 0.75rem; } - .form-check-inline .form-check-input { - position: static; - margin-top: 0; - margin-right: 0.3125rem; - margin-left: 0; } - -.valid-feedback { - display: none; - width: 100%; - margin-top: 0.25rem; - font-size: 90%; - color: #00a65a; } - -.valid-tooltip { - position: absolute; - top: 100%; - z-index: 5; - display: none; - max-width: 100%; - padding: 0.25rem 0.5rem; - margin-top: .1rem; - font-size: 0.875rem; - line-height: 1.5; - color: #fff; - background-color: rgba(0, 166, 90, 0.9); - border-radius: 0.25rem; } - -.was-validated .form-control:valid, .form-control.is-valid { - border-color: #00a65a; - padding-right: calc(1.5em + 0.75rem); - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300a65a' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); - background-repeat: no-repeat; - background-position: center right calc(0.375em + 0.1875rem); - background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } - .was-validated .form-control:valid:focus, .form-control.is-valid:focus { - border-color: #00a65a; - box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.25); } - .was-validated .form-control:valid ~ .valid-feedback, - .was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback, - .form-control.is-valid ~ .valid-tooltip { - display: block; } - -.was-validated textarea.form-control:valid, textarea.form-control.is-valid { - padding-right: calc(1.5em + 0.75rem); - background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); } - -.was-validated .custom-select:valid, .custom-select.is-valid { - border-color: #00a65a; - padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem); - background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300a65a' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fbfbfb no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } - .was-validated .custom-select:valid:focus, .custom-select.is-valid:focus { - border-color: #00a65a; - box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.25); } - .was-validated .custom-select:valid ~ .valid-feedback, - .was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback, - .custom-select.is-valid ~ .valid-tooltip { - display: block; } - -.was-validated .form-control-file:valid ~ .valid-feedback, -.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback, -.form-control-file.is-valid ~ .valid-tooltip { - display: block; } - -.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { - color: #00a65a; } - -.was-validated .form-check-input:valid ~ .valid-feedback, -.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, -.form-check-input.is-valid ~ .valid-tooltip { - display: block; } - -.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { - color: #00a65a; } - .was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { - border-color: #00a65a; } - -.was-validated .custom-control-input:valid ~ .valid-feedback, -.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback, -.custom-control-input.is-valid ~ .valid-tooltip { - display: block; } - -.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { - border-color: #00d976; - background-color: #00d976; } - -.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { - box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.25); } - -.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before { - border-color: #00a65a; } - -.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { - border-color: #00a65a; } - -.was-validated .custom-file-input:valid ~ .valid-feedback, -.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback, -.custom-file-input.is-valid ~ .valid-tooltip { - display: block; } - -.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { - border-color: #00a65a; - box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.25); } - -.invalid-feedback { - display: none; - width: 100%; - margin-top: 0.25rem; - font-size: 90%; - color: #dd4b39; } - -.invalid-tooltip { - position: absolute; - top: 100%; - z-index: 5; - display: none; - max-width: 100%; - padding: 0.25rem 0.5rem; - margin-top: .1rem; - font-size: 0.875rem; - line-height: 1.5; - color: #fff; - background-color: rgba(221, 75, 57, 0.9); - border-radius: 0.25rem; } - -.was-validated .form-control:invalid, .form-control.is-invalid { - border-color: #dd4b39; - padding-right: calc(1.5em + 0.75rem); - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dd4b39' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dd4b39' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E"); - background-repeat: no-repeat; - background-position: center right calc(0.375em + 0.1875rem); - background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } - .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { - border-color: #dd4b39; - box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.25); } - .was-validated .form-control:invalid ~ .invalid-feedback, - .was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback, - .form-control.is-invalid ~ .invalid-tooltip { - display: block; } - -.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { - padding-right: calc(1.5em + 0.75rem); - background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); } - -.was-validated .custom-select:invalid, .custom-select.is-invalid { - border-color: #dd4b39; - padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem); - background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dd4b39' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dd4b39' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") #fbfbfb no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); } - .was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus { - border-color: #dd4b39; - box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.25); } - .was-validated .custom-select:invalid ~ .invalid-feedback, - .was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback, - .custom-select.is-invalid ~ .invalid-tooltip { - display: block; } - -.was-validated .form-control-file:invalid ~ .invalid-feedback, -.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback, -.form-control-file.is-invalid ~ .invalid-tooltip { - display: block; } - -.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { - color: #dd4b39; } - -.was-validated .form-check-input:invalid ~ .invalid-feedback, -.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, -.form-check-input.is-invalid ~ .invalid-tooltip { - display: block; } - -.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { - color: #dd4b39; } - .was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { - border-color: #dd4b39; } - -.was-validated .custom-control-input:invalid ~ .invalid-feedback, -.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback, -.custom-control-input.is-invalid ~ .invalid-tooltip { - display: block; } - -.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { - border-color: #e47365; - background-color: #e47365; } - -.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { - box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.25); } - -.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before { - border-color: #dd4b39; } - -.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { - border-color: #dd4b39; } - -.was-validated .custom-file-input:invalid ~ .invalid-feedback, -.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback, -.custom-file-input.is-invalid ~ .invalid-tooltip { - display: block; } - -.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { - border-color: #dd4b39; - box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.25); } - -.form-inline { - display: flex; - flex-flow: row wrap; - align-items: center; } - .form-inline .form-check { - width: 100%; } - @media (min-width: 1px) { - .form-inline label { - display: flex; - align-items: center; - justify-content: center; - margin-bottom: 0; } - .form-inline .form-group { - display: flex; - flex: 0 0 auto; - flex-flow: row wrap; - align-items: center; - margin-bottom: 0; } - .form-inline .form-control { - display: inline-block; - width: auto; - vertical-align: middle; } - .form-inline .form-control-plaintext { - display: inline-block; } - .form-inline .input-group, - .form-inline .custom-select { - width: auto; } - .form-inline .form-check { - display: flex; - align-items: center; - justify-content: center; - width: auto; - padding-left: 0; } - .form-inline .form-check-input { - position: relative; - flex-shrink: 0; - margin-top: 0; - margin-right: 0.25rem; - margin-left: 0; } - .form-inline .custom-control { - align-items: center; - justify-content: center; } - .form-inline .custom-control-label { - margin-bottom: 0; } } - -.btn, .swal2-popup .swal2-actions button { - display: inline-block; - font-weight: 600; - color: #333333; - text-align: center; - vertical-align: middle; - user-select: none; - background-color: transparent; - border: 1px solid transparent; - padding: 0.375rem 0.75rem; - font-size: 1rem; - line-height: 1.5; - border-radius: 0.25rem; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .btn, .swal2-popup .swal2-actions button { - transition: none; } } - .btn:hover, .swal2-popup .swal2-actions button:hover { - color: #333333; - text-decoration: none; } - .btn:focus, .swal2-popup .swal2-actions button:focus, .btn.focus, .swal2-popup .swal2-actions button.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); } - .btn.disabled, .swal2-popup .swal2-actions button.disabled, .btn:disabled, .swal2-popup .swal2-actions button:disabled { - opacity: 0.65; } - -a.btn.disabled, -fieldset:disabled a.btn { - pointer-events: none; } - -.btn-primary, .swal2-popup .swal2-actions button.swal2-confirm { - color: #fff; - background-color: #175DDC; - border-color: #175DDC; } - .btn-primary:hover, .swal2-popup .swal2-actions button.swal2-confirm:hover { - color: #fff; - background-color: #134eb9; - border-color: #1249ae; } - .btn-primary:focus, .swal2-popup .swal2-actions button.swal2-confirm:focus, .btn-primary.focus, .swal2-popup .swal2-actions button.focus.swal2-confirm { - box-shadow: 0 0 0 0.2rem rgba(58, 117, 225, 0.5); } - .btn-primary.disabled, .swal2-popup .swal2-actions button.disabled.swal2-confirm, .btn-primary:disabled, .swal2-popup .swal2-actions button.swal2-confirm:disabled { - color: #fff; - background-color: #175DDC; - border-color: #175DDC; } - .btn-primary:not(:disabled):not(.disabled):active, .swal2-popup .swal2-actions button.swal2-confirm:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .swal2-popup .swal2-actions button.swal2-confirm:not(:disabled):not(.disabled).active, - .show > .btn-primary.dropdown-toggle, - .swal2-popup .swal2-actions .show > button.dropdown-toggle.swal2-confirm { - color: #fff; - background-color: #1249ae; - border-color: #1145a2; } - .btn-primary:not(:disabled):not(.disabled):active:focus, .swal2-popup .swal2-actions button.swal2-confirm:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .swal2-popup .swal2-actions button.swal2-confirm:not(:disabled):not(.disabled).active:focus, - .show > .btn-primary.dropdown-toggle:focus, - .swal2-popup .swal2-actions .show > button.dropdown-toggle.swal2-confirm:focus { - box-shadow: 0 0 0 0.2rem rgba(58, 117, 225, 0.5); } - -.btn-secondary { - color: #212529; - background-color: #ced4da; - border-color: #ced4da; } - .btn-secondary:hover { - color: #212529; - background-color: #b8c1ca; - border-color: #b1bbc4; } - .btn-secondary:focus, .btn-secondary.focus { - box-shadow: 0 0 0 0.2rem rgba(180, 186, 191, 0.5); } - .btn-secondary.disabled, .btn-secondary:disabled { - color: #212529; - background-color: #ced4da; - border-color: #ced4da; } - .btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, - .show > .btn-secondary.dropdown-toggle { - color: #212529; - background-color: #b1bbc4; - border-color: #aab4bf; } - .btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, - .show > .btn-secondary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(180, 186, 191, 0.5); } - -.btn-success { - color: #fff; - background-color: #00a65a; - border-color: #00a65a; } - .btn-success:hover { - color: #fff; - background-color: #008045; - border-color: #00733e; } - .btn-success:focus, .btn-success.focus { - box-shadow: 0 0 0 0.2rem rgba(38, 179, 115, 0.5); } - .btn-success.disabled, .btn-success:disabled { - color: #fff; - background-color: #00a65a; - border-color: #00a65a; } - .btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, - .show > .btn-success.dropdown-toggle { - color: #fff; - background-color: #00733e; - border-color: #006637; } - .btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, - .show > .btn-success.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(38, 179, 115, 0.5); } - -.btn-info { - color: #fff; - background-color: #555555; - border-color: #555555; } - .btn-info:hover { - color: #fff; - background-color: #424242; - border-color: #3c3c3c; } - .btn-info:focus, .btn-info.focus { - box-shadow: 0 0 0 0.2rem rgba(111, 111, 111, 0.5); } - .btn-info.disabled, .btn-info:disabled { - color: #fff; - background-color: #555555; - border-color: #555555; } - .btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, - .show > .btn-info.dropdown-toggle { - color: #fff; - background-color: #3c3c3c; - border-color: #353535; } - .btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, - .show > .btn-info.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(111, 111, 111, 0.5); } - -.btn-warning { - color: #fff; - background-color: #bf7e16; - border-color: #bf7e16; } - .btn-warning:hover { - color: #fff; - background-color: #9d6712; - border-color: #916011; } - .btn-warning:focus, .btn-warning.focus { - box-shadow: 0 0 0 0.2rem rgba(201, 145, 57, 0.5); } - .btn-warning.disabled, .btn-warning:disabled { - color: #fff; - background-color: #bf7e16; - border-color: #bf7e16; } - .btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, - .show > .btn-warning.dropdown-toggle { - color: #fff; - background-color: #916011; - border-color: #86580f; } - .btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, - .show > .btn-warning.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(201, 145, 57, 0.5); } - -.btn-danger { - color: #fff; - background-color: #dd4b39; - border-color: #dd4b39; } - .btn-danger:hover { - color: #fff; - background-color: #cd3623; - border-color: #c23321; } - .btn-danger:focus, .btn-danger.focus { - box-shadow: 0 0 0 0.2rem rgba(226, 102, 87, 0.5); } - .btn-danger.disabled, .btn-danger:disabled { - color: #fff; - background-color: #dd4b39; - border-color: #dd4b39; } - .btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, - .show > .btn-danger.dropdown-toggle { - color: #fff; - background-color: #c23321; - border-color: #b7301f; } - .btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, - .show > .btn-danger.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(226, 102, 87, 0.5); } - -.btn-light { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; } - .btn-light:hover { - color: #212529; - background-color: #e2e6ea; - border-color: #dae0e5; } - .btn-light:focus, .btn-light.focus { - box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); } - .btn-light.disabled, .btn-light:disabled { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; } - .btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, - .show > .btn-light.dropdown-toggle { - color: #212529; - background-color: #dae0e5; - border-color: #d3d9df; } - .btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, - .show > .btn-light.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); } - -.btn-dark { - color: #fff; - background-color: #343a40; - border-color: #343a40; } - .btn-dark:hover { - color: #fff; - background-color: #23272b; - border-color: #1d2124; } - .btn-dark:focus, .btn-dark.focus { - box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); } - .btn-dark.disabled, .btn-dark:disabled { - color: #fff; - background-color: #343a40; - border-color: #343a40; } - .btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, - .show > .btn-dark.dropdown-toggle { - color: #fff; - background-color: #1d2124; - border-color: #171a1d; } - .btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, - .show > .btn-dark.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); } - -.btn-primary-accent { - color: #fff; - background-color: #1252A3; - border-color: #1252A3; } - .btn-primary-accent:hover { - color: #fff; - background-color: #0e4181; - border-color: #0d3b75; } - .btn-primary-accent:focus, .btn-primary-accent.focus { - box-shadow: 0 0 0 0.2rem rgba(54, 108, 177, 0.5); } - .btn-primary-accent.disabled, .btn-primary-accent:disabled { - color: #fff; - background-color: #1252A3; - border-color: #1252A3; } - .btn-primary-accent:not(:disabled):not(.disabled):active, .btn-primary-accent:not(:disabled):not(.disabled).active, - .show > .btn-primary-accent.dropdown-toggle { - color: #fff; - background-color: #0d3b75; - border-color: #0c356a; } - .btn-primary-accent:not(:disabled):not(.disabled):active:focus, .btn-primary-accent:not(:disabled):not(.disabled).active:focus, - .show > .btn-primary-accent.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(54, 108, 177, 0.5); } - -.btn-secondary-alt { - color: #fff; - background-color: #1A3B66; - border-color: #1A3B66; } - .btn-secondary-alt:hover { - color: #fff; - background-color: #122948; - border-color: #10233d; } - .btn-secondary-alt:focus, .btn-secondary-alt.focus { - box-shadow: 0 0 0 0.2rem rgba(60, 88, 125, 0.5); } - .btn-secondary-alt.disabled, .btn-secondary-alt:disabled { - color: #fff; - background-color: #1A3B66; - border-color: #1A3B66; } - .btn-secondary-alt:not(:disabled):not(.disabled):active, .btn-secondary-alt:not(:disabled):not(.disabled).active, - .show > .btn-secondary-alt.dropdown-toggle { - color: #fff; - background-color: #10233d; - border-color: #0d1e33; } - .btn-secondary-alt:not(:disabled):not(.disabled):active:focus, .btn-secondary-alt:not(:disabled):not(.disabled).active:focus, - .show > .btn-secondary-alt.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(60, 88, 125, 0.5); } - -.btn-outline-primary { - color: #175DDC; - border-color: #175DDC; } - .btn-outline-primary:hover { - color: #fff; - background-color: #175DDC; - border-color: #175DDC; } - .btn-outline-primary:focus, .btn-outline-primary.focus { - box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.5); } - .btn-outline-primary.disabled, .btn-outline-primary:disabled { - color: #175DDC; - background-color: transparent; } - .btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, - .show > .btn-outline-primary.dropdown-toggle { - color: #fff; - background-color: #175DDC; - border-color: #175DDC; } - .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, - .show > .btn-outline-primary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.5); } - -.btn-outline-secondary, .swal2-popup .swal2-actions button.swal2-cancel { - color: #ced4da; - border-color: #ced4da; } - .btn-outline-secondary:hover, .swal2-popup .swal2-actions button.swal2-cancel:hover { - color: #212529; - background-color: #ced4da; - border-color: #ced4da; } - .btn-outline-secondary:focus, .swal2-popup .swal2-actions button.swal2-cancel:focus, .btn-outline-secondary.focus, .swal2-popup .swal2-actions button.focus.swal2-cancel { - box-shadow: 0 0 0 0.2rem rgba(206, 212, 218, 0.5); } - .btn-outline-secondary.disabled, .swal2-popup .swal2-actions button.disabled.swal2-cancel, .btn-outline-secondary:disabled, .swal2-popup .swal2-actions button.swal2-cancel:disabled { - color: #ced4da; - background-color: transparent; } - .btn-outline-secondary:not(:disabled):not(.disabled):active, .swal2-popup .swal2-actions button.swal2-cancel:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, .swal2-popup .swal2-actions button.swal2-cancel:not(:disabled):not(.disabled).active, - .show > .btn-outline-secondary.dropdown-toggle, - .swal2-popup .swal2-actions .show > button.dropdown-toggle.swal2-cancel { - color: #212529; - background-color: #ced4da; - border-color: #ced4da; } - .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .swal2-popup .swal2-actions button.swal2-cancel:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .swal2-popup .swal2-actions button.swal2-cancel:not(:disabled):not(.disabled).active:focus, - .show > .btn-outline-secondary.dropdown-toggle:focus, - .swal2-popup .swal2-actions .show > button.dropdown-toggle.swal2-cancel:focus { - box-shadow: 0 0 0 0.2rem rgba(206, 212, 218, 0.5); } - -.btn-outline-success { - color: #00a65a; - border-color: #00a65a; } - .btn-outline-success:hover { - color: #fff; - background-color: #00a65a; - border-color: #00a65a; } - .btn-outline-success:focus, .btn-outline-success.focus { - box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.5); } - .btn-outline-success.disabled, .btn-outline-success:disabled { - color: #00a65a; - background-color: transparent; } - .btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, - .show > .btn-outline-success.dropdown-toggle { - color: #fff; - background-color: #00a65a; - border-color: #00a65a; } - .btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, - .show > .btn-outline-success.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.5); } - -.btn-outline-info { - color: #555555; - border-color: #555555; } - .btn-outline-info:hover { - color: #fff; - background-color: #555555; - border-color: #555555; } - .btn-outline-info:focus, .btn-outline-info.focus { - box-shadow: 0 0 0 0.2rem rgba(85, 85, 85, 0.5); } - .btn-outline-info.disabled, .btn-outline-info:disabled { - color: #555555; - background-color: transparent; } - .btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, - .show > .btn-outline-info.dropdown-toggle { - color: #fff; - background-color: #555555; - border-color: #555555; } - .btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, - .show > .btn-outline-info.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(85, 85, 85, 0.5); } - -.btn-outline-warning { - color: #bf7e16; - border-color: #bf7e16; } - .btn-outline-warning:hover { - color: #fff; - background-color: #bf7e16; - border-color: #bf7e16; } - .btn-outline-warning:focus, .btn-outline-warning.focus { - box-shadow: 0 0 0 0.2rem rgba(191, 126, 22, 0.5); } - .btn-outline-warning.disabled, .btn-outline-warning:disabled { - color: #bf7e16; - background-color: transparent; } - .btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, - .show > .btn-outline-warning.dropdown-toggle { - color: #fff; - background-color: #bf7e16; - border-color: #bf7e16; } - .btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, - .show > .btn-outline-warning.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(191, 126, 22, 0.5); } - -.btn-outline-danger { - color: #dd4b39; - border-color: #dd4b39; } - .btn-outline-danger:hover { - color: #fff; - background-color: #dd4b39; - border-color: #dd4b39; } - .btn-outline-danger:focus, .btn-outline-danger.focus { - box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.5); } - .btn-outline-danger.disabled, .btn-outline-danger:disabled { - color: #dd4b39; - background-color: transparent; } - .btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, - .show > .btn-outline-danger.dropdown-toggle { - color: #fff; - background-color: #dd4b39; - border-color: #dd4b39; } - .btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, - .show > .btn-outline-danger.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.5); } - -.btn-outline-light { - color: #f8f9fa; - border-color: #f8f9fa; } - .btn-outline-light:hover { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; } - .btn-outline-light:focus, .btn-outline-light.focus { - box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); } - .btn-outline-light.disabled, .btn-outline-light:disabled { - color: #f8f9fa; - background-color: transparent; } - .btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, - .show > .btn-outline-light.dropdown-toggle { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; } - .btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, - .show > .btn-outline-light.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); } - -.btn-outline-dark { - color: #343a40; - border-color: #343a40; } - .btn-outline-dark:hover { - color: #fff; - background-color: #343a40; - border-color: #343a40; } - .btn-outline-dark:focus, .btn-outline-dark.focus { - box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); } - .btn-outline-dark.disabled, .btn-outline-dark:disabled { - color: #343a40; - background-color: transparent; } - .btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, - .show > .btn-outline-dark.dropdown-toggle { - color: #fff; - background-color: #343a40; - border-color: #343a40; } - .btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, - .show > .btn-outline-dark.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); } - -.btn-outline-primary-accent { - color: #1252A3; - border-color: #1252A3; } - .btn-outline-primary-accent:hover { - color: #fff; - background-color: #1252A3; - border-color: #1252A3; } - .btn-outline-primary-accent:focus, .btn-outline-primary-accent.focus { - box-shadow: 0 0 0 0.2rem rgba(18, 82, 163, 0.5); } - .btn-outline-primary-accent.disabled, .btn-outline-primary-accent:disabled { - color: #1252A3; - background-color: transparent; } - .btn-outline-primary-accent:not(:disabled):not(.disabled):active, .btn-outline-primary-accent:not(:disabled):not(.disabled).active, - .show > .btn-outline-primary-accent.dropdown-toggle { - color: #fff; - background-color: #1252A3; - border-color: #1252A3; } - .btn-outline-primary-accent:not(:disabled):not(.disabled):active:focus, .btn-outline-primary-accent:not(:disabled):not(.disabled).active:focus, - .show > .btn-outline-primary-accent.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(18, 82, 163, 0.5); } - -.btn-outline-secondary-alt { - color: #1A3B66; - border-color: #1A3B66; } - .btn-outline-secondary-alt:hover { - color: #fff; - background-color: #1A3B66; - border-color: #1A3B66; } - .btn-outline-secondary-alt:focus, .btn-outline-secondary-alt.focus { - box-shadow: 0 0 0 0.2rem rgba(26, 59, 102, 0.5); } - .btn-outline-secondary-alt.disabled, .btn-outline-secondary-alt:disabled { - color: #1A3B66; - background-color: transparent; } - .btn-outline-secondary-alt:not(:disabled):not(.disabled):active, .btn-outline-secondary-alt:not(:disabled):not(.disabled).active, - .show > .btn-outline-secondary-alt.dropdown-toggle { - color: #fff; - background-color: #1A3B66; - border-color: #1A3B66; } - .btn-outline-secondary-alt:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary-alt:not(:disabled):not(.disabled).active:focus, - .show > .btn-outline-secondary-alt.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(26, 59, 102, 0.5); } - -.btn-link { - font-weight: 400; - color: #175DDC; - text-decoration: none; } - .btn-link:hover { - color: #104097; - text-decoration: underline; } - .btn-link:focus, .btn-link.focus { - text-decoration: underline; - box-shadow: none; } - .btn-link:disabled, .btn-link.disabled { - color: #6c757d; - pointer-events: none; } - -.btn-lg, .btn-group-lg > .btn, .swal2-popup .swal2-actions .btn-group-lg > button { - padding: 0.5rem 1rem; - font-size: 1.15rem; - line-height: 1.5; - border-radius: 0.3rem; } - -.btn-sm, .btn-group-sm > .btn, .swal2-popup .swal2-actions .btn-group-sm > button { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; - border-radius: 0.2rem; } - -.btn-block { - display: block; - width: 100%; } - .btn-block + .btn-block { - margin-top: 0.5rem; } - -input[type="submit"].btn-block, -input[type="reset"].btn-block, -input[type="button"].btn-block { - width: 100%; } - -.fade { - transition: opacity 0.15s linear; } - @media (prefers-reduced-motion: reduce) { - .fade { - transition: none; } } - .fade:not(.show) { - opacity: 0; } - -.collapse:not(.show) { - display: none; } - -.collapsing { - position: relative; - height: 0; - overflow: hidden; - transition: height 0.35s ease; } - @media (prefers-reduced-motion: reduce) { - .collapsing { - transition: none; } } - -.dropup, -.dropright, -.dropdown, -.dropleft { - position: relative; } - -.dropdown-toggle { - white-space: nowrap; } - .dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid; - border-right: 0.3em solid transparent; - border-bottom: 0; - border-left: 0.3em solid transparent; } - .dropdown-toggle:empty::after { - margin-left: 0; } - -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 10rem; - padding: 0.5rem 0; - margin: 0.125rem 0 0; - font-size: 1rem; - color: #333333; - text-align: left; - list-style: none; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 0.25rem; } - -.dropdown-menu-left { - right: auto; - left: 0; } - -.dropdown-menu-right { - right: 0; - left: auto; } - -@media (min-width: 1px) { - .dropdown-menu-sm-left { - right: auto; - left: 0; } - .dropdown-menu-sm-right { - right: 0; - left: auto; } } - -@media (min-width: 2px) { - .dropdown-menu-md-left { - right: auto; - left: 0; } - .dropdown-menu-md-right { - right: 0; - left: auto; } } - -@media (min-width: 3px) { - .dropdown-menu-lg-left { - right: auto; - left: 0; } - .dropdown-menu-lg-right { - right: 0; - left: auto; } } - -@media (min-width: 4px) { - .dropdown-menu-xl-left { - right: auto; - left: 0; } - .dropdown-menu-xl-right { - right: 0; - left: auto; } } - -.dropup .dropdown-menu { - top: auto; - bottom: 100%; - margin-top: 0; - margin-bottom: 0.125rem; } - -.dropup .dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0; - border-right: 0.3em solid transparent; - border-bottom: 0.3em solid; - border-left: 0.3em solid transparent; } - -.dropup .dropdown-toggle:empty::after { - margin-left: 0; } - -.dropright .dropdown-menu { - top: 0; - right: auto; - left: 100%; - margin-top: 0; - margin-left: 0.125rem; } - -.dropright .dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid transparent; - border-right: 0; - border-bottom: 0.3em solid transparent; - border-left: 0.3em solid; } - -.dropright .dropdown-toggle:empty::after { - margin-left: 0; } - -.dropright .dropdown-toggle::after { - vertical-align: 0; } - -.dropleft .dropdown-menu { - top: 0; - right: 100%; - left: auto; - margin-top: 0; - margin-right: 0.125rem; } - -.dropleft .dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; } - -.dropleft .dropdown-toggle::after { - display: none; } - -.dropleft .dropdown-toggle::before { - display: inline-block; - margin-right: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid transparent; - border-right: 0.3em solid; - border-bottom: 0.3em solid transparent; } - -.dropleft .dropdown-toggle:empty::after { - margin-left: 0; } - -.dropleft .dropdown-toggle::before { - vertical-align: 0; } - -.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] { - right: auto; - bottom: auto; } - -.dropdown-divider { - height: 0; - margin: 0.5rem 0; - overflow: hidden; - border-top: 1px solid #e9ecef; } - -.dropdown-item { - display: block; - width: 100%; - padding: 0.25rem 1rem; - clear: both; - font-weight: 400; - color: #333333; - text-align: inherit; - white-space: nowrap; - background-color: transparent; - border: 0; } - .dropdown-item:hover, .dropdown-item:focus { - color: #16181b; - text-decoration: none; - background-color: rgba(0, 0, 0, 0.06); } - .dropdown-item.active, .dropdown-item:active { - color: #333333; - text-decoration: none; - background-color: rgba(0, 0, 0, 0.1); } - .dropdown-item.disabled, .dropdown-item:disabled { - color: #6c757d; - pointer-events: none; - background-color: transparent; } - -.dropdown-menu.show { - display: block; } - -.dropdown-header { - display: block; - padding: 0.5rem 1rem; - margin-bottom: 0; - font-size: 0.875rem; - color: #6c757d; - white-space: nowrap; } - -.dropdown-item-text { - display: block; - padding: 0.25rem 1rem; - color: #333333; } - -.btn-group, -.btn-group-vertical { - position: relative; - display: inline-flex; - vertical-align: middle; } - .btn-group > .btn, .swal2-popup .swal2-actions .btn-group > button, - .btn-group-vertical > .btn, - .swal2-popup .swal2-actions .btn-group-vertical > button { - position: relative; - flex: 1 1 auto; } - .btn-group > .btn:hover, .swal2-popup .swal2-actions .btn-group > button:hover, - .btn-group-vertical > .btn:hover, - .swal2-popup .swal2-actions .btn-group-vertical > button:hover { - z-index: 1; } - .btn-group > .btn:focus, .swal2-popup .swal2-actions .btn-group > button:focus, .btn-group > .btn:active, .swal2-popup .swal2-actions .btn-group > button:active, .btn-group > .btn.active, .swal2-popup .swal2-actions .btn-group > button.active, - .btn-group-vertical > .btn:focus, - .swal2-popup .swal2-actions .btn-group-vertical > button:focus, - .btn-group-vertical > .btn:active, - .swal2-popup .swal2-actions .btn-group-vertical > button:active, - .btn-group-vertical > .btn.active, - .swal2-popup .swal2-actions .btn-group-vertical > button.active { - z-index: 1; } - -.btn-toolbar { - display: flex; - flex-wrap: wrap; - justify-content: flex-start; } - .btn-toolbar .input-group { - width: auto; } - -.btn-group > .btn:not(:first-child), .swal2-popup .swal2-actions .btn-group > button:not(:first-child), -.btn-group > .btn-group:not(:first-child) { - margin-left: -1px; } - -.btn-group > .btn:not(:last-child):not(.dropdown-toggle), .swal2-popup .swal2-actions .btn-group > button:not(:last-child):not(.dropdown-toggle), -.btn-group > .btn-group:not(:last-child) > .btn, -.swal2-popup .swal2-actions .btn-group > .btn-group:not(:last-child) > button { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - -.btn-group > .btn:not(:first-child), .swal2-popup .swal2-actions .btn-group > button:not(:first-child), -.btn-group > .btn-group:not(:first-child) > .btn, -.swal2-popup .swal2-actions .btn-group > .btn-group:not(:first-child) > button { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - -.dropdown-toggle-split { - padding-right: 0.5625rem; - padding-left: 0.5625rem; } - .dropdown-toggle-split::after, - .dropup .dropdown-toggle-split::after, - .dropright .dropdown-toggle-split::after { - margin-left: 0; } - .dropleft .dropdown-toggle-split::before { - margin-right: 0; } - -.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split, .swal2-popup .swal2-actions .btn-group-sm > button + .dropdown-toggle-split { - padding-right: 0.375rem; - padding-left: 0.375rem; } - -.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split, .swal2-popup .swal2-actions .btn-group-lg > button + .dropdown-toggle-split { - padding-right: 0.75rem; - padding-left: 0.75rem; } - -.btn-group-vertical { - flex-direction: column; - align-items: flex-start; - justify-content: center; } - - .btn-group-vertical > .btn, - .swal2-popup .swal2-actions .btn-group-vertical > button, - .btn-group-vertical > .btn-group { - width: 100%; } - .btn-group-vertical > .btn:not(:first-child), .swal2-popup .swal2-actions .btn-group-vertical > button:not(:first-child), - .btn-group-vertical > .btn-group:not(:first-child) { - margin-top: -1px; } - .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), .swal2-popup .swal2-actions .btn-group-vertical > button:not(:last-child):not(.dropdown-toggle), - .btn-group-vertical > .btn-group:not(:last-child) > .btn, - .swal2-popup .swal2-actions .btn-group-vertical > .btn-group:not(:last-child) > button { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; } - .btn-group-vertical > .btn:not(:first-child), .swal2-popup .swal2-actions .btn-group-vertical > button:not(:first-child), - .btn-group-vertical > .btn-group:not(:first-child) > .btn, - .swal2-popup .swal2-actions .btn-group-vertical > .btn-group:not(:first-child) > button { - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.btn-group-toggle > .btn, .swal2-popup .swal2-actions .btn-group-toggle > button, -.btn-group-toggle > .btn-group > .btn, -.swal2-popup .swal2-actions .btn-group-toggle > .btn-group > button { - margin-bottom: 0; } - .btn-group-toggle > .btn input[type="radio"], .swal2-popup .swal2-actions .btn-group-toggle > button input[type="radio"], - .btn-group-toggle > .btn input[type="checkbox"], - .swal2-popup .swal2-actions .btn-group-toggle > button input[type="checkbox"], - .btn-group-toggle > .btn-group > .btn input[type="radio"], - .swal2-popup .swal2-actions .btn-group-toggle > .btn-group > button input[type="radio"], - .btn-group-toggle > .btn-group > .btn input[type="checkbox"], - .swal2-popup .swal2-actions .btn-group-toggle > .btn-group > button input[type="checkbox"] { - position: absolute; - clip: rect(0, 0, 0, 0); - pointer-events: none; } - -.input-group { - position: relative; - display: flex; - flex-wrap: wrap; - align-items: stretch; - width: 100%; } - .input-group > .form-control, - .input-group > .form-control-plaintext, - .input-group > .custom-select, - .input-group > .custom-file { - position: relative; - flex: 1 1 auto; - width: 1%; - margin-bottom: 0; } - .input-group > .form-control + .form-control, - .input-group > .form-control + .custom-select, - .input-group > .form-control + .custom-file, - .input-group > .form-control-plaintext + .form-control, - .input-group > .form-control-plaintext + .custom-select, - .input-group > .form-control-plaintext + .custom-file, - .input-group > .custom-select + .form-control, - .input-group > .custom-select + .custom-select, - .input-group > .custom-select + .custom-file, - .input-group > .custom-file + .form-control, - .input-group > .custom-file + .custom-select, - .input-group > .custom-file + .custom-file { - margin-left: -1px; } - .input-group > .form-control:focus, - .input-group > .custom-select:focus, - .input-group > .custom-file .custom-file-input:focus ~ .custom-file-label { - z-index: 3; } - .input-group > .custom-file .custom-file-input:focus { - z-index: 4; } - .input-group > .form-control:not(:last-child), - .input-group > .custom-select:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .input-group > .form-control:not(:first-child), - .input-group > .custom-select:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .input-group > .custom-file { - display: flex; - align-items: center; } - .input-group > .custom-file:not(:last-child) .custom-file-label, - .input-group > .custom-file:not(:last-child) .custom-file-label::after { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .input-group > .custom-file:not(:first-child) .custom-file-label { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - -.input-group-prepend, -.input-group-append { - display: flex; } - .input-group-prepend .btn, .input-group-prepend .swal2-popup .swal2-actions button, .swal2-popup .swal2-actions .input-group-prepend button, - .input-group-append .btn, - .input-group-append .swal2-popup .swal2-actions button, - .swal2-popup .swal2-actions .input-group-append button { - position: relative; - z-index: 2; } - .input-group-prepend .btn:focus, .input-group-prepend .swal2-popup .swal2-actions button:focus, .swal2-popup .swal2-actions .input-group-prepend button:focus, - .input-group-append .btn:focus, - .input-group-append .swal2-popup .swal2-actions button:focus, - .swal2-popup .swal2-actions .input-group-append button:focus { - z-index: 3; } - .input-group-prepend .btn + .btn, .input-group-prepend .swal2-popup .swal2-actions button + .btn, .swal2-popup .swal2-actions .input-group-prepend button + .btn, .input-group-prepend .swal2-popup .swal2-actions .btn + button, .swal2-popup .swal2-actions .input-group-prepend .btn + button, .input-group-prepend .swal2-popup .swal2-actions button + button, .swal2-popup .swal2-actions .input-group-prepend button + button, - .input-group-prepend .btn + .input-group-text, - .input-group-prepend .swal2-popup .swal2-actions button + .input-group-text, - .swal2-popup .swal2-actions .input-group-prepend button + .input-group-text, - .input-group-prepend .input-group-text + .input-group-text, - .input-group-prepend .input-group-text + .btn, - .input-group-prepend .swal2-popup .swal2-actions .input-group-text + button, - .swal2-popup .swal2-actions .input-group-prepend .input-group-text + button, - .input-group-append .btn + .btn, - .input-group-append .swal2-popup .swal2-actions button + .btn, - .swal2-popup .swal2-actions .input-group-append button + .btn, - .input-group-append .swal2-popup .swal2-actions .btn + button, - .swal2-popup .swal2-actions .input-group-append .btn + button, - .input-group-append .swal2-popup .swal2-actions button + button, - .swal2-popup .swal2-actions .input-group-append button + button, - .input-group-append .btn + .input-group-text, - .input-group-append .swal2-popup .swal2-actions button + .input-group-text, - .swal2-popup .swal2-actions .input-group-append button + .input-group-text, - .input-group-append .input-group-text + .input-group-text, - .input-group-append .input-group-text + .btn, - .input-group-append .swal2-popup .swal2-actions .input-group-text + button, - .swal2-popup .swal2-actions .input-group-append .input-group-text + button { - margin-left: -1px; } - -.input-group-prepend { - margin-right: -1px; } - -.input-group-append { - margin-left: -1px; } - -.input-group-text { - display: flex; - align-items: center; - padding: 0.375rem 0.75rem; - margin-bottom: 0; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #495057; - text-align: center; - white-space: nowrap; - background-color: #e9ecef; - border: 1px solid #ced4da; - border-radius: 0.25rem; } - .input-group-text input[type="radio"], - .input-group-text input[type="checkbox"] { - margin-top: 0; } - -.input-group-lg > .form-control:not(textarea), -.input-group-lg > .custom-select { - height: calc(1.5em + 1rem + 2px); } - -.input-group-lg > .form-control, -.input-group-lg > .custom-select, -.input-group-lg > .input-group-prepend > .input-group-text, -.input-group-lg > .input-group-append > .input-group-text, -.input-group-lg > .input-group-prepend > .btn, -.swal2-popup .swal2-actions .input-group-lg > .input-group-prepend > button, -.input-group-lg > .input-group-append > .btn, -.swal2-popup .swal2-actions .input-group-lg > .input-group-append > button { - padding: 0.5rem 1rem; - font-size: 1.15rem; - line-height: 1.5; - border-radius: 0.3rem; } - -.input-group-sm > .form-control:not(textarea), -.input-group-sm > .custom-select { - height: calc(1.5em + 0.5rem + 2px); } - -.input-group-sm > .form-control, -.input-group-sm > .custom-select, -.input-group-sm > .input-group-prepend > .input-group-text, -.input-group-sm > .input-group-append > .input-group-text, -.input-group-sm > .input-group-prepend > .btn, -.swal2-popup .swal2-actions .input-group-sm > .input-group-prepend > button, -.input-group-sm > .input-group-append > .btn, -.swal2-popup .swal2-actions .input-group-sm > .input-group-append > button { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; - border-radius: 0.2rem; } - -.input-group-lg > .custom-select, -.input-group-sm > .custom-select { - padding-right: 1.75rem; } - -.input-group > .input-group-prepend > .btn, .swal2-popup .swal2-actions .input-group > .input-group-prepend > button, -.input-group > .input-group-prepend > .input-group-text, -.input-group > .input-group-append:not(:last-child) > .btn, -.swal2-popup .swal2-actions .input-group > .input-group-append:not(:last-child) > button, -.input-group > .input-group-append:not(:last-child) > .input-group-text, -.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), -.swal2-popup .swal2-actions .input-group > .input-group-append:last-child > button:not(:last-child):not(.dropdown-toggle), -.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - -.input-group > .input-group-append > .btn, .swal2-popup .swal2-actions .input-group > .input-group-append > button, -.input-group > .input-group-append > .input-group-text, -.input-group > .input-group-prepend:not(:first-child) > .btn, -.swal2-popup .swal2-actions .input-group > .input-group-prepend:not(:first-child) > button, -.input-group > .input-group-prepend:not(:first-child) > .input-group-text, -.input-group > .input-group-prepend:first-child > .btn:not(:first-child), -.swal2-popup .swal2-actions .input-group > .input-group-prepend:first-child > button:not(:first-child), -.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - -.custom-control { - position: relative; - display: block; - min-height: 1.5rem; - padding-left: 1.5rem; } - -.custom-control-inline { - display: inline-flex; - margin-right: 1rem; } - -.custom-control-input { - position: absolute; - z-index: -1; - opacity: 0; } - .custom-control-input:checked ~ .custom-control-label::before { - color: #fff; - border-color: #175DDC; - background-color: #175DDC; } - .custom-control-input:focus ~ .custom-control-label::before { - box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); } - .custom-control-input:focus:not(:checked) ~ .custom-control-label::before { - border-color: #81a9f2; } - .custom-control-input:not(:disabled):active ~ .custom-control-label::before { - color: #fff; - background-color: #afc8f7; - border-color: #afc8f7; } - .custom-control-input:disabled ~ .custom-control-label { - color: #6c757d; } - .custom-control-input:disabled ~ .custom-control-label::before { - background-color: #e0e0e0; } - -.custom-control-label { - position: relative; - margin-bottom: 0; - vertical-align: top; } - .custom-control-label::before { - position: absolute; - top: 0.25rem; - left: -1.5rem; - display: block; - width: 1rem; - height: 1rem; - pointer-events: none; - content: ""; - background-color: #fbfbfb; - border: #adb5bd solid 1px; } - .custom-control-label::after { - position: absolute; - top: 0.25rem; - left: -1.5rem; - display: block; - width: 1rem; - height: 1rem; - content: ""; - background: no-repeat 50% / 50% 50%; } - -.custom-checkbox .custom-control-label::before { - border-radius: 0.25rem; } - -.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e"); } - -.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { - border-color: #175DDC; - background-color: #175DDC; } - -.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); } - -.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { - background-color: rgba(23, 93, 220, 0.5); } - -.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { - background-color: rgba(23, 93, 220, 0.5); } - -.custom-radio .custom-control-label::before { - border-radius: 50%; } - -.custom-radio .custom-control-input:checked ~ .custom-control-label::after { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); } - -.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { - background-color: rgba(23, 93, 220, 0.5); } - -.custom-switch { - padding-left: 2.25rem; } - .custom-switch .custom-control-label::before { - left: -2.25rem; - width: 1.75rem; - pointer-events: all; - border-radius: 0.5rem; } - .custom-switch .custom-control-label::after { - top: calc(0.25rem + 2px); - left: calc(-2.25rem + 2px); - width: calc(1rem - 4px); - height: calc(1rem - 4px); - background-color: #adb5bd; - border-radius: 0.5rem; - transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .custom-switch .custom-control-label::after { - transition: none; } } - .custom-switch .custom-control-input:checked ~ .custom-control-label::after { - background-color: #fbfbfb; - transform: translateX(0.75rem); } - .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before { - background-color: rgba(23, 93, 220, 0.5); } - -.custom-select { - display: inline-block; - width: 100%; - height: calc(1.5em + 0.75rem + 2px); - padding: 0.375rem 1.75rem 0.375rem 0.75rem; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #495057; - vertical-align: middle; - background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px; - background-color: #fbfbfb; - border: 1px solid #ced4da; - border-radius: 0.25rem; - appearance: none; } - .custom-select:focus { - border-color: #81a9f2; - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); } - .custom-select:focus::-ms-value { - color: #495057; - background-color: #fbfbfb; } - .custom-select[multiple], .custom-select[size]:not([size="1"]) { - height: auto; - padding-right: 0.75rem; - background-image: none; } - .custom-select:disabled { - color: #6c757d; - background-color: #e9ecef; } - .custom-select::-ms-expand { - display: none; } - -.custom-select-sm { - height: calc(1.5em + 0.5rem + 2px); - padding-top: 0.25rem; - padding-bottom: 0.25rem; - padding-left: 0.5rem; - font-size: 0.875rem; } - -.custom-select-lg { - height: calc(1.5em + 1rem + 2px); - padding-top: 0.5rem; - padding-bottom: 0.5rem; - padding-left: 1rem; - font-size: 1.15rem; } - -.custom-file { - position: relative; - display: inline-block; - width: 100%; - height: calc(1.5em + 0.75rem + 2px); - margin-bottom: 0; } - -.custom-file-input { - position: relative; - z-index: 2; - width: 100%; - height: calc(1.5em + 0.75rem + 2px); - margin: 0; - opacity: 0; } - .custom-file-input:focus ~ .custom-file-label { - border-color: #81a9f2; - box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); } - .custom-file-input:disabled ~ .custom-file-label { - background-color: #e0e0e0; } - .custom-file-input:lang(en) ~ .custom-file-label::after { - content: "Browse"; } - .custom-file-input ~ .custom-file-label[data-browse]::after { - content: attr(data-browse); } - -.custom-file-label { - position: absolute; - top: 0; - right: 0; - left: 0; - z-index: 1; - height: calc(1.5em + 0.75rem + 2px); - padding: 0.375rem 0.75rem; - font-weight: 400; - line-height: 1.5; - color: #495057; - background-color: #fbfbfb; - border: 1px solid #ced4da; - border-radius: 0.25rem; } - .custom-file-label::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - z-index: 3; - display: block; - height: calc(1.5em + 0.75rem); - padding: 0.375rem 0.75rem; - line-height: 1.5; - color: #495057; - content: "Browse"; - background-color: #e9ecef; - border-left: inherit; - border-radius: 0 0.25rem 0.25rem 0; } - -.custom-range { - width: 100%; - height: calc(1rem + 0.4rem); - padding: 0; - background-color: transparent; - appearance: none; } - .custom-range:focus { - outline: none; } - .custom-range:focus::-webkit-slider-thumb { - box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.2rem rgba(23, 93, 220, 0.25); } - .custom-range:focus::-moz-range-thumb { - box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.2rem rgba(23, 93, 220, 0.25); } - .custom-range:focus::-ms-thumb { - box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.2rem rgba(23, 93, 220, 0.25); } - .custom-range::-moz-focus-outer { - border: 0; } - .custom-range::-webkit-slider-thumb { - width: 1rem; - height: 1rem; - margin-top: -0.25rem; - background-color: #175DDC; - border: 0; - border-radius: 1rem; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - appearance: none; } - @media (prefers-reduced-motion: reduce) { - .custom-range::-webkit-slider-thumb { - transition: none; } } - .custom-range::-webkit-slider-thumb:active { - background-color: #afc8f7; } - .custom-range::-webkit-slider-runnable-track { - width: 100%; - height: 0.5rem; - color: transparent; - cursor: pointer; - background-color: #dee2e6; - border-color: transparent; - border-radius: 1rem; } - .custom-range::-moz-range-thumb { - width: 1rem; - height: 1rem; - background-color: #175DDC; - border: 0; - border-radius: 1rem; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - appearance: none; } - @media (prefers-reduced-motion: reduce) { - .custom-range::-moz-range-thumb { - transition: none; } } - .custom-range::-moz-range-thumb:active { - background-color: #afc8f7; } - .custom-range::-moz-range-track { - width: 100%; - height: 0.5rem; - color: transparent; - cursor: pointer; - background-color: #dee2e6; - border-color: transparent; - border-radius: 1rem; } - .custom-range::-ms-thumb { - width: 1rem; - height: 1rem; - margin-top: 0; - margin-right: 0.2rem; - margin-left: 0.2rem; - background-color: #175DDC; - border: 0; - border-radius: 1rem; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - appearance: none; } - @media (prefers-reduced-motion: reduce) { - .custom-range::-ms-thumb { - transition: none; } } - .custom-range::-ms-thumb:active { - background-color: #afc8f7; } - .custom-range::-ms-track { - width: 100%; - height: 0.5rem; - color: transparent; - cursor: pointer; - background-color: transparent; - border-color: transparent; - border-width: 0.5rem; } - .custom-range::-ms-fill-lower { - background-color: #dee2e6; - border-radius: 1rem; } - .custom-range::-ms-fill-upper { - margin-right: 15px; - background-color: #dee2e6; - border-radius: 1rem; } - .custom-range:disabled::-webkit-slider-thumb { - background-color: #adb5bd; } - .custom-range:disabled::-webkit-slider-runnable-track { - cursor: default; } - .custom-range:disabled::-moz-range-thumb { - background-color: #adb5bd; } - .custom-range:disabled::-moz-range-track { - cursor: default; } - .custom-range:disabled::-ms-thumb { - background-color: #adb5bd; } - -.custom-control-label::before, -.custom-file-label, -.custom-select { - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .custom-control-label::before, - .custom-file-label, - .custom-select { - transition: none; } } - -.nav { - display: flex; - flex-wrap: wrap; - padding-left: 0; - margin-bottom: 0; - list-style: none; } - -.nav-link { - display: block; - padding: 0.5rem 1rem; } - .nav-link:hover, .nav-link:focus { - text-decoration: none; } - .nav-link.disabled { - color: #6c757d; - pointer-events: none; - cursor: default; } - -.nav-tabs { - border-bottom: 1px solid #dee2e6; } - .nav-tabs .nav-item { - margin-bottom: -1px; } - .nav-tabs .nav-link { - border: 1px solid transparent; - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; } - .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { - border-color: #e9ecef #e9ecef #dee2e6; } - .nav-tabs .nav-link.disabled { - color: #6c757d; - background-color: transparent; - border-color: transparent; } - .nav-tabs .nav-link.active, - .nav-tabs .nav-item.show .nav-link { - color: #495057; - background-color: #ffffff; - border-color: #dee2e6 #dee2e6 #ffffff; } - .nav-tabs .dropdown-menu { - margin-top: -1px; - border-top-left-radius: 0; - border-top-right-radius: 0; } - -.nav-pills .nav-link { - border-radius: 0.25rem; } - -.nav-pills .nav-link.active, -.nav-pills .show > .nav-link { - color: #fff; - background-color: #175DDC; } - -.nav-fill .nav-item { - flex: 1 1 auto; - text-align: center; } - -.nav-justified .nav-item { - flex-basis: 0; - flex-grow: 1; - text-align: center; } - -.tab-content > .tab-pane { - display: none; } - -.tab-content > .active { - display: block; } - -.navbar { - position: relative; - display: flex; - flex-wrap: wrap; - align-items: center; - justify-content: space-between; - padding: 0.75rem 1rem; } - .navbar > .container, - .navbar > .container-fluid { - display: flex; - flex-wrap: wrap; - align-items: center; - justify-content: space-between; } - -.navbar-brand { - display: inline-block; - padding-top: 0; - padding-bottom: 0; - margin-right: 1rem; - font-size: 2.1875rem; - line-height: inherit; - white-space: nowrap; } - .navbar-brand:hover, .navbar-brand:focus { - text-decoration: none; } - -.navbar-nav { - display: flex; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; - list-style: none; } - .navbar-nav .nav-link { - padding-right: 0; - padding-left: 0; } - .navbar-nav .dropdown-menu { - position: static; - float: none; } - -.navbar-text { - display: inline-block; - padding-top: 0.5rem; - padding-bottom: 0.5rem; } - -.navbar-collapse { - flex-basis: 100%; - flex-grow: 1; - align-items: center; } - -.navbar-toggler { - padding: 0.25rem 0.75rem; - font-size: 1.15rem; - line-height: 1; - background-color: transparent; - border: 1px solid transparent; - border-radius: 0.25rem; } - .navbar-toggler:hover, .navbar-toggler:focus { - text-decoration: none; } - -.navbar-toggler-icon { - display: inline-block; - width: 1.5em; - height: 1.5em; - vertical-align: middle; - content: ""; - background: no-repeat center center; - background-size: 100% 100%; } - -@media (max-width: 0.98px) { - .navbar-expand-sm > .container, - .navbar-expand-sm > .container-fluid { - padding-right: 0; - padding-left: 0; } } - -@media (min-width: 1px) { - .navbar-expand-sm { - flex-flow: row nowrap; - justify-content: flex-start; } - .navbar-expand-sm .navbar-nav { - flex-direction: row; } - .navbar-expand-sm .navbar-nav .dropdown-menu { - position: absolute; } - .navbar-expand-sm .navbar-nav .nav-link { - padding-right: 0.8rem; - padding-left: 0.8rem; } - .navbar-expand-sm > .container, - .navbar-expand-sm > .container-fluid { - flex-wrap: nowrap; } - .navbar-expand-sm .navbar-collapse { - display: flex !important; - flex-basis: auto; } - .navbar-expand-sm .navbar-toggler { - display: none; } } - -@media (max-width: 1.98px) { - .navbar-expand-md > .container, - .navbar-expand-md > .container-fluid { - padding-right: 0; - padding-left: 0; } } - -@media (min-width: 2px) { - .navbar-expand-md { - flex-flow: row nowrap; - justify-content: flex-start; } - .navbar-expand-md .navbar-nav { - flex-direction: row; } - .navbar-expand-md .navbar-nav .dropdown-menu { - position: absolute; } - .navbar-expand-md .navbar-nav .nav-link { - padding-right: 0.8rem; - padding-left: 0.8rem; } - .navbar-expand-md > .container, - .navbar-expand-md > .container-fluid { - flex-wrap: nowrap; } - .navbar-expand-md .navbar-collapse { - display: flex !important; - flex-basis: auto; } - .navbar-expand-md .navbar-toggler { - display: none; } } - -@media (max-width: 2.98px) { - .navbar-expand-lg > .container, - .navbar-expand-lg > .container-fluid { - padding-right: 0; - padding-left: 0; } } - -@media (min-width: 3px) { - .navbar-expand-lg { - flex-flow: row nowrap; - justify-content: flex-start; } - .navbar-expand-lg .navbar-nav { - flex-direction: row; } - .navbar-expand-lg .navbar-nav .dropdown-menu { - position: absolute; } - .navbar-expand-lg .navbar-nav .nav-link { - padding-right: 0.8rem; - padding-left: 0.8rem; } - .navbar-expand-lg > .container, - .navbar-expand-lg > .container-fluid { - flex-wrap: nowrap; } - .navbar-expand-lg .navbar-collapse { - display: flex !important; - flex-basis: auto; } - .navbar-expand-lg .navbar-toggler { - display: none; } } - -@media (max-width: 3.98px) { - .navbar-expand-xl > .container, - .navbar-expand-xl > .container-fluid { - padding-right: 0; - padding-left: 0; } } - -@media (min-width: 4px) { - .navbar-expand-xl { - flex-flow: row nowrap; - justify-content: flex-start; } - .navbar-expand-xl .navbar-nav { - flex-direction: row; } - .navbar-expand-xl .navbar-nav .dropdown-menu { - position: absolute; } - .navbar-expand-xl .navbar-nav .nav-link { - padding-right: 0.8rem; - padding-left: 0.8rem; } - .navbar-expand-xl > .container, - .navbar-expand-xl > .container-fluid { - flex-wrap: nowrap; } - .navbar-expand-xl .navbar-collapse { - display: flex !important; - flex-basis: auto; } - .navbar-expand-xl .navbar-toggler { - display: none; } } - -.navbar-expand { - flex-flow: row nowrap; - justify-content: flex-start; } - .navbar-expand > .container, - .navbar-expand > .container-fluid { - padding-right: 0; - padding-left: 0; } - .navbar-expand .navbar-nav { - flex-direction: row; } - .navbar-expand .navbar-nav .dropdown-menu { - position: absolute; } - .navbar-expand .navbar-nav .nav-link { - padding-right: 0.8rem; - padding-left: 0.8rem; } - .navbar-expand > .container, - .navbar-expand > .container-fluid { - flex-wrap: nowrap; } - .navbar-expand .navbar-collapse { - display: flex !important; - flex-basis: auto; } - .navbar-expand .navbar-toggler { - display: none; } - -.navbar-light .navbar-brand { - color: rgba(0, 0, 0, 0.9); } - .navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { - color: rgba(0, 0, 0, 0.9); } - -.navbar-light .navbar-nav .nav-link { - color: rgba(0, 0, 0, 0.5); } - .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { - color: rgba(0, 0, 0, 0.7); } - .navbar-light .navbar-nav .nav-link.disabled { - color: rgba(0, 0, 0, 0.3); } - -.navbar-light .navbar-nav .show > .nav-link, -.navbar-light .navbar-nav .active > .nav-link, -.navbar-light .navbar-nav .nav-link.show, -.navbar-light .navbar-nav .nav-link.active { - color: rgba(0, 0, 0, 0.9); } - -.navbar-light .navbar-toggler { - color: rgba(0, 0, 0, 0.5); - border-color: rgba(0, 0, 0, 0.1); } - -.navbar-light .navbar-toggler-icon { - background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); } - -.navbar-light .navbar-text { - color: rgba(0, 0, 0, 0.5); } - .navbar-light .navbar-text a { - color: rgba(0, 0, 0, 0.9); } - .navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus { - color: rgba(0, 0, 0, 0.9); } - -.navbar-dark .navbar-brand { - color: #fff; } - .navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { - color: #fff; } - -.navbar-dark .navbar-nav .nav-link { - color: rgba(255, 255, 255, 0.7); } - .navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { - color: rgba(255, 255, 255, 0.9); } - .navbar-dark .navbar-nav .nav-link.disabled { - color: rgba(255, 255, 255, 0.25); } - -.navbar-dark .navbar-nav .show > .nav-link, -.navbar-dark .navbar-nav .active > .nav-link, -.navbar-dark .navbar-nav .nav-link.show, -.navbar-dark .navbar-nav .nav-link.active { - color: #fff; } - -.navbar-dark .navbar-toggler { - color: rgba(255, 255, 255, 0.7); - border-color: rgba(255, 255, 255, 0.1); } - -.navbar-dark .navbar-toggler-icon { - background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.7)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); } - -.navbar-dark .navbar-text { - color: rgba(255, 255, 255, 0.7); } - .navbar-dark .navbar-text a { - color: #fff; } - .navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { - color: #fff; } - -.card { - position: relative; - display: flex; - flex-direction: column; - min-width: 0; - word-wrap: break-word; - background-color: #fff; - background-clip: border-box; - border: 1px solid rgba(0, 0, 0, 0.125); - border-radius: 0.25rem; } - .card > hr { - margin-right: 0; - margin-left: 0; } - .card > .list-group:first-child .list-group-item:first-child { - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; } - .card > .list-group:last-child .list-group-item:last-child { - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; } - -.card-body { - flex: 1 1 auto; - padding: 1.25rem; } - -.card-title { - margin-bottom: 0.6rem; } - -.card-subtitle { - margin-top: -0.3rem; - margin-bottom: 0; } - -.card-text:last-child { - margin-bottom: 0; } - -.card-link:hover { - text-decoration: none; } - -.card-link + .card-link { - margin-left: 1.25rem; } - -.card-header { - padding: 0.6rem 1.25rem; - margin-bottom: 0; - background-color: rgba(0, 0, 0, 0.03); - border-bottom: 1px solid rgba(0, 0, 0, 0.125); } - .card-header:first-child { - border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; } - .card-header + .list-group .list-group-item:first-child { - border-top: 0; } - -.card-footer { - padding: 0.6rem 1.25rem; - background-color: rgba(0, 0, 0, 0.03); - border-top: 1px solid rgba(0, 0, 0, 0.125); } - .card-footer:last-child { - border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); } - -.card-header-tabs { - margin-right: -0.625rem; - margin-bottom: -0.6rem; - margin-left: -0.625rem; - border-bottom: 0; } - -.card-header-pills { - margin-right: -0.625rem; - margin-left: -0.625rem; } - -.card-img-overlay { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - padding: 1.25rem; } - -.card-img { - width: 100%; - border-radius: calc(0.25rem - 1px); } - -.card-img-top { - width: 100%; - border-top-left-radius: calc(0.25rem - 1px); - border-top-right-radius: calc(0.25rem - 1px); } - -.card-img-bottom { - width: 100%; - border-bottom-right-radius: calc(0.25rem - 1px); - border-bottom-left-radius: calc(0.25rem - 1px); } - -.card-deck { - display: flex; - flex-direction: column; } - .card-deck .card { - margin-bottom: 10px; } - @media (min-width: 1px) { - .card-deck { - flex-flow: row wrap; - margin-right: -10px; - margin-left: -10px; } - .card-deck .card { - display: flex; - flex: 1 0 0%; - flex-direction: column; - margin-right: 10px; - margin-bottom: 0; - margin-left: 10px; } } - -.card-group { - display: flex; - flex-direction: column; } - .card-group > .card { - margin-bottom: 10px; } - @media (min-width: 1px) { - .card-group { - flex-flow: row wrap; } - .card-group > .card { - flex: 1 0 0%; - margin-bottom: 0; } - .card-group > .card + .card { - margin-left: 0; - border-left: 0; } - .card-group > .card:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; } - .card-group > .card:not(:last-child) .card-img-top, - .card-group > .card:not(:last-child) .card-header { - border-top-right-radius: 0; } - .card-group > .card:not(:last-child) .card-img-bottom, - .card-group > .card:not(:last-child) .card-footer { - border-bottom-right-radius: 0; } - .card-group > .card:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; } - .card-group > .card:not(:first-child) .card-img-top, - .card-group > .card:not(:first-child) .card-header { - border-top-left-radius: 0; } - .card-group > .card:not(:first-child) .card-img-bottom, - .card-group > .card:not(:first-child) .card-footer { - border-bottom-left-radius: 0; } } - -.card-columns .card { - margin-bottom: 0.6rem; } - -@media (min-width: 1px) { - .card-columns { - column-count: 3; - column-gap: 1.25rem; - orphans: 1; - widows: 1; } - .card-columns .card { - display: inline-block; - width: 100%; } } - -.accordion > .card { - overflow: hidden; } - .accordion > .card:not(:first-of-type) .card-header:first-child { - border-radius: 0; } - .accordion > .card:not(:first-of-type):not(:last-of-type) { - border-bottom: 0; - border-radius: 0; } - .accordion > .card:first-of-type { - border-bottom: 0; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; } - .accordion > .card:last-of-type { - border-top-left-radius: 0; - border-top-right-radius: 0; } - .accordion > .card .card-header { - margin-bottom: -1px; } - -.breadcrumb { - display: flex; - flex-wrap: wrap; - padding: 0.75rem 1rem; - margin-bottom: 1rem; - list-style: none; - background-color: #e9ecef; - border-radius: 0.25rem; } - -.breadcrumb-item + .breadcrumb-item { - padding-left: 0.5rem; } - .breadcrumb-item + .breadcrumb-item::before { - display: inline-block; - padding-right: 0.5rem; - color: #6c757d; - content: "/"; } - -.breadcrumb-item + .breadcrumb-item:hover::before { - text-decoration: underline; } - -.breadcrumb-item + .breadcrumb-item:hover::before { - text-decoration: none; } - -.breadcrumb-item.active { - color: #6c757d; } - -.pagination { - display: flex; - padding-left: 0; - list-style: none; - border-radius: 0.25rem; } - -.page-link { - position: relative; - display: block; - padding: 0.5rem 0.75rem; - margin-left: -1px; - line-height: 1.25; - color: #175DDC; - background-color: #fff; - border: 1px solid #dee2e6; } - .page-link:hover { - z-index: 2; - color: #104097; - text-decoration: none; - background-color: #e9ecef; - border-color: #dee2e6; } - .page-link:focus { - z-index: 2; - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); } - -.page-item:first-child .page-link { - margin-left: 0; - border-top-left-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; } - -.page-item:last-child .page-link { - border-top-right-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; } - -.page-item.active .page-link { - z-index: 1; - color: #fff; - background-color: #175DDC; - border-color: #175DDC; } - -.page-item.disabled .page-link { - color: #6c757d; - pointer-events: none; - cursor: auto; - background-color: #fff; - border-color: #dee2e6; } - -.pagination-lg .page-link { - padding: 0.75rem 1.5rem; - font-size: 1.15rem; - line-height: 1.5; } - -.pagination-lg .page-item:first-child .page-link { - border-top-left-radius: 0.3rem; - border-bottom-left-radius: 0.3rem; } - -.pagination-lg .page-item:last-child .page-link { - border-top-right-radius: 0.3rem; - border-bottom-right-radius: 0.3rem; } - -.pagination-sm .page-link { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; } - -.pagination-sm .page-item:first-child .page-link { - border-top-left-radius: 0.2rem; - border-bottom-left-radius: 0.2rem; } - -.pagination-sm .page-item:last-child .page-link { - border-top-right-radius: 0.2rem; - border-bottom-right-radius: 0.2rem; } - -.badge { - display: inline-block; - padding: 0.25em 0.4em; - font-size: 75%; - font-weight: 700; - line-height: 1; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: 0.25rem; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .badge { - transition: none; } } - a.badge:hover, a.badge:focus { - text-decoration: none; } - .badge:empty { - display: none; } - -.btn .badge, .swal2-popup .swal2-actions button .badge { - position: relative; - top: -1px; } - -.badge-pill { - padding-right: 0.6em; - padding-left: 0.6em; - border-radius: 10rem; } - -.badge-primary { - color: #fff; - background-color: #175DDC; } - a.badge-primary:hover, a.badge-primary:focus { - color: #fff; - background-color: #1249ae; } - a.badge-primary:focus, a.badge-primary.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.5); } - -.badge-secondary { - color: #212529; - background-color: #ced4da; } - a.badge-secondary:hover, a.badge-secondary:focus { - color: #212529; - background-color: #b1bbc4; } - a.badge-secondary:focus, a.badge-secondary.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(206, 212, 218, 0.5); } - -.badge-success { - color: #fff; - background-color: #00a65a; } - a.badge-success:hover, a.badge-success:focus { - color: #fff; - background-color: #00733e; } - a.badge-success:focus, a.badge-success.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.5); } - -.badge-info { - color: #fff; - background-color: #555555; } - a.badge-info:hover, a.badge-info:focus { - color: #fff; - background-color: #3c3c3c; } - a.badge-info:focus, a.badge-info.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(85, 85, 85, 0.5); } - -.badge-warning { - color: #fff; - background-color: #bf7e16; } - a.badge-warning:hover, a.badge-warning:focus { - color: #fff; - background-color: #916011; } - a.badge-warning:focus, a.badge-warning.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(191, 126, 22, 0.5); } - -.badge-danger { - color: #fff; - background-color: #dd4b39; } - a.badge-danger:hover, a.badge-danger:focus { - color: #fff; - background-color: #c23321; } - a.badge-danger:focus, a.badge-danger.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.5); } - -.badge-light { - color: #212529; - background-color: #f8f9fa; } - a.badge-light:hover, a.badge-light:focus { - color: #212529; - background-color: #dae0e5; } - a.badge-light:focus, a.badge-light.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); } - -.badge-dark { - color: #fff; - background-color: #343a40; } - a.badge-dark:hover, a.badge-dark:focus { - color: #fff; - background-color: #1d2124; } - a.badge-dark:focus, a.badge-dark.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); } - -.badge-primary-accent { - color: #fff; - background-color: #1252A3; } - a.badge-primary-accent:hover, a.badge-primary-accent:focus { - color: #fff; - background-color: #0d3b75; } - a.badge-primary-accent:focus, a.badge-primary-accent.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(18, 82, 163, 0.5); } - -.badge-secondary-alt { - color: #fff; - background-color: #1A3B66; } - a.badge-secondary-alt:hover, a.badge-secondary-alt:focus { - color: #fff; - background-color: #10233d; } - a.badge-secondary-alt:focus, a.badge-secondary-alt.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(26, 59, 102, 0.5); } - -.jumbotron { - padding: 2rem 1rem; - margin-bottom: 2rem; - background-color: #e9ecef; - border-radius: 0.3rem; } - @media (min-width: 1px) { - .jumbotron { - padding: 4rem 2rem; } } - -.jumbotron-fluid { - padding-right: 0; - padding-left: 0; - border-radius: 0; } - -.alert { - position: relative; - padding: 0.75rem 1.25rem; - margin-bottom: 1rem; - border: 1px solid transparent; - border-radius: 0.25rem; } - -.alert-heading { - color: inherit; } - -.alert-link { - font-weight: 700; } - -.alert-dismissible { - padding-right: 4rem; } - .alert-dismissible .close { - position: absolute; - top: 0; - right: 0; - padding: 0.75rem 1.25rem; - color: inherit; } - -.alert-primary { - color: #0c3072; - background-color: #d1dff8; - border-color: #bed2f5; } - .alert-primary hr { - border-top-color: #a8c3f2; } - .alert-primary .alert-link { - color: #071d44; } - -.alert-secondary { - color: #6b6e71; - background-color: #f5f6f8; - border-color: #f1f3f5; } - .alert-secondary hr { - border-top-color: #e2e6ea; } - .alert-secondary .alert-link { - color: #525557; } - -.alert-success { - color: #00562f; - background-color: #ccedde; - border-color: #b8e6d1; } - .alert-success hr { - border-top-color: #a5dfc5; } - .alert-success .alert-link { - color: #002313; } - -.alert-info { - color: #2c2c2c; - background-color: #dddddd; - border-color: #cfcfcf; } - .alert-info hr { - border-top-color: #c2c2c2; } - .alert-info .alert-link { - color: #131313; } - -.alert-warning { - color: #63420b; - background-color: #f2e5d0; - border-color: #eddbbe; } - .alert-warning hr { - border-top-color: #e7d0aa; } - .alert-warning .alert-link { - color: #352306; } - -.alert-danger { - color: #73271e; - background-color: #f8dbd7; - border-color: #f5cdc8; } - .alert-danger hr { - border-top-color: #f1b9b2; } - .alert-danger .alert-link { - color: #4b1913; } - -.alert-light { - color: #818182; - background-color: #fefefe; - border-color: #fdfdfe; } - .alert-light hr { - border-top-color: #ececf6; } - .alert-light .alert-link { - color: #686868; } - -.alert-dark { - color: #1b1e21; - background-color: #d6d8d9; - border-color: #c6c8ca; } - .alert-dark hr { - border-top-color: #b9bbbe; } - .alert-dark .alert-link { - color: #040505; } - -.alert-primary-accent { - color: #092b55; - background-color: #d0dced; - border-color: #bdcfe5; } - .alert-primary-accent hr { - border-top-color: #abc2de; } - .alert-primary-accent .alert-link { - color: #041427; } - -.alert-secondary-alt { - color: #0e1f35; - background-color: #d1d8e0; - border-color: #bfc8d4; } - .alert-secondary-alt hr { - border-top-color: #b0bbca; } - .alert-secondary-alt .alert-link { - color: #03070d; } - -@keyframes progress-bar-stripes { - from { - background-position: 1rem 0; } - to { - background-position: 0 0; } } - -.progress { - display: flex; - height: 1rem; - overflow: hidden; - font-size: 0.75rem; - background-color: #e9ecef; - border-radius: 0.25rem; } - -.progress-bar { - display: flex; - flex-direction: column; - justify-content: center; - color: #fff; - text-align: center; - white-space: nowrap; - background-color: #175DDC; - transition: width 0.6s ease; } - @media (prefers-reduced-motion: reduce) { - .progress-bar { - transition: none; } } - -.progress-bar-striped { - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-size: 1rem 1rem; } - -.progress-bar-animated { - animation: progress-bar-stripes 1s linear infinite; } - @media (prefers-reduced-motion: reduce) { - .progress-bar-animated { - animation: none; } } - -.media { - display: flex; - align-items: flex-start; } - -.media-body { - flex: 1; } - -.list-group { - display: flex; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; } - -.list-group-item-action { - width: 100%; - color: #495057; - text-align: inherit; } - .list-group-item-action:hover, .list-group-item-action:focus { - z-index: 1; - color: #495057; - text-decoration: none; - background-color: #f8f9fa; } - .list-group-item-action:active { - color: #333333; - background-color: #e9ecef; } - -.list-group-item { - position: relative; - display: block; - padding: 0.6rem 1.25rem; - margin-bottom: -1px; - background-color: #fff; - border: 1px solid rgba(0, 0, 0, 0.125); } - .list-group-item:first-child { - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; } - .list-group-item:last-child { - margin-bottom: 0; - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; } - .list-group-item.disabled, .list-group-item:disabled { - color: #6c757d; - pointer-events: none; - background-color: #fff; } - .list-group-item.active { - z-index: 2; - color: #333333; - background-color: #ffffff; - border-color: rgba(0, 0, 0, 0.125); } - -.list-group-horizontal { - flex-direction: row; } - .list-group-horizontal .list-group-item { - margin-right: -1px; - margin-bottom: 0; } - .list-group-horizontal .list-group-item:first-child { - border-top-left-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; - border-top-right-radius: 0; } - .list-group-horizontal .list-group-item:last-child { - margin-right: 0; - border-top-right-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0; } - -@media (min-width: 1px) { - .list-group-horizontal-sm { - flex-direction: row; } - .list-group-horizontal-sm .list-group-item { - margin-right: -1px; - margin-bottom: 0; } - .list-group-horizontal-sm .list-group-item:first-child { - border-top-left-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; - border-top-right-radius: 0; } - .list-group-horizontal-sm .list-group-item:last-child { - margin-right: 0; - border-top-right-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0; } } - -@media (min-width: 2px) { - .list-group-horizontal-md { - flex-direction: row; } - .list-group-horizontal-md .list-group-item { - margin-right: -1px; - margin-bottom: 0; } - .list-group-horizontal-md .list-group-item:first-child { - border-top-left-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; - border-top-right-radius: 0; } - .list-group-horizontal-md .list-group-item:last-child { - margin-right: 0; - border-top-right-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0; } } - -@media (min-width: 3px) { - .list-group-horizontal-lg { - flex-direction: row; } - .list-group-horizontal-lg .list-group-item { - margin-right: -1px; - margin-bottom: 0; } - .list-group-horizontal-lg .list-group-item:first-child { - border-top-left-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; - border-top-right-radius: 0; } - .list-group-horizontal-lg .list-group-item:last-child { - margin-right: 0; - border-top-right-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0; } } - -@media (min-width: 4px) { - .list-group-horizontal-xl { - flex-direction: row; } - .list-group-horizontal-xl .list-group-item { - margin-right: -1px; - margin-bottom: 0; } - .list-group-horizontal-xl .list-group-item:first-child { - border-top-left-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; - border-top-right-radius: 0; } - .list-group-horizontal-xl .list-group-item:last-child { - margin-right: 0; - border-top-right-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0; } } - -.list-group-flush .list-group-item { - border-right: 0; - border-left: 0; - border-radius: 0; } - .list-group-flush .list-group-item:last-child { - margin-bottom: -1px; } - -.list-group-flush:first-child .list-group-item:first-child { - border-top: 0; } - -.list-group-flush:last-child .list-group-item:last-child { - margin-bottom: 0; - border-bottom: 0; } - -.list-group-item-primary { - color: #0c3072; - background-color: #bed2f5; } - .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { - color: #0c3072; - background-color: #a8c3f2; } - .list-group-item-primary.list-group-item-action.active { - color: #fff; - background-color: #0c3072; - border-color: #0c3072; } - -.list-group-item-secondary { - color: #6b6e71; - background-color: #f1f3f5; } - .list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { - color: #6b6e71; - background-color: #e2e6ea; } - .list-group-item-secondary.list-group-item-action.active { - color: #fff; - background-color: #6b6e71; - border-color: #6b6e71; } - -.list-group-item-success { - color: #00562f; - background-color: #b8e6d1; } - .list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { - color: #00562f; - background-color: #a5dfc5; } - .list-group-item-success.list-group-item-action.active { - color: #fff; - background-color: #00562f; - border-color: #00562f; } - -.list-group-item-info { - color: #2c2c2c; - background-color: #cfcfcf; } - .list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { - color: #2c2c2c; - background-color: #c2c2c2; } - .list-group-item-info.list-group-item-action.active { - color: #fff; - background-color: #2c2c2c; - border-color: #2c2c2c; } - -.list-group-item-warning { - color: #63420b; - background-color: #eddbbe; } - .list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { - color: #63420b; - background-color: #e7d0aa; } - .list-group-item-warning.list-group-item-action.active { - color: #fff; - background-color: #63420b; - border-color: #63420b; } - -.list-group-item-danger { - color: #73271e; - background-color: #f5cdc8; } - .list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { - color: #73271e; - background-color: #f1b9b2; } - .list-group-item-danger.list-group-item-action.active { - color: #fff; - background-color: #73271e; - border-color: #73271e; } - -.list-group-item-light { - color: #818182; - background-color: #fdfdfe; } - .list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { - color: #818182; - background-color: #ececf6; } - .list-group-item-light.list-group-item-action.active { - color: #fff; - background-color: #818182; - border-color: #818182; } - -.list-group-item-dark { - color: #1b1e21; - background-color: #c6c8ca; } - .list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { - color: #1b1e21; - background-color: #b9bbbe; } - .list-group-item-dark.list-group-item-action.active { - color: #fff; - background-color: #1b1e21; - border-color: #1b1e21; } - -.list-group-item-primary-accent { - color: #092b55; - background-color: #bdcfe5; } - .list-group-item-primary-accent.list-group-item-action:hover, .list-group-item-primary-accent.list-group-item-action:focus { - color: #092b55; - background-color: #abc2de; } - .list-group-item-primary-accent.list-group-item-action.active { - color: #fff; - background-color: #092b55; - border-color: #092b55; } - -.list-group-item-secondary-alt { - color: #0e1f35; - background-color: #bfc8d4; } - .list-group-item-secondary-alt.list-group-item-action:hover, .list-group-item-secondary-alt.list-group-item-action:focus { - color: #0e1f35; - background-color: #b0bbca; } - .list-group-item-secondary-alt.list-group-item-action.active { - color: #fff; - background-color: #0e1f35; - border-color: #0e1f35; } - -.close { - float: right; - font-size: 1.5rem; - font-weight: 700; - line-height: 1; - color: #000; - text-shadow: 0 1px 0 #fff; - opacity: .5; } - .close:hover { - color: #000; - text-decoration: none; } - .close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { - opacity: .75; } - -button.close { - padding: 0; - background-color: transparent; - border: 0; - appearance: none; } - -a.close.disabled { - pointer-events: none; } - -.modal-open { - overflow: hidden; } - .modal-open .modal { - overflow-x: hidden; - overflow-y: auto; } - -.modal { - position: fixed; - top: 0; - left: 0; - z-index: 1050; - display: none; - width: 100%; - height: 100%; - overflow: hidden; - outline: 0; } - -.modal-dialog { - position: relative; - width: auto; - margin: 0.5rem; - pointer-events: none; } - .modal.fade .modal-dialog { - transition: transform 0.3s ease-out; - transform: translate(0, -50px); } - @media (prefers-reduced-motion: reduce) { - .modal.fade .modal-dialog { - transition: none; } } - .modal.show .modal-dialog { - transform: none; } - -.modal-dialog-scrollable { - display: flex; - max-height: calc(100% - 1rem); } - .modal-dialog-scrollable .modal-content { - max-height: calc(100vh - 1rem); - overflow: hidden; } - .modal-dialog-scrollable .modal-header, - .modal-dialog-scrollable .modal-footer { - flex-shrink: 0; } - .modal-dialog-scrollable .modal-body { - overflow-y: auto; } - -.modal-dialog-centered { - display: flex; - align-items: center; - min-height: calc(100% - 1rem); } - .modal-dialog-centered::before { - display: block; - height: calc(100vh - 1rem); - content: ""; } - .modal-dialog-centered.modal-dialog-scrollable { - flex-direction: column; - justify-content: center; - height: 100%; } - .modal-dialog-centered.modal-dialog-scrollable .modal-content { - max-height: none; } - .modal-dialog-centered.modal-dialog-scrollable::before { - content: none; } - -.modal-content { - position: relative; - display: flex; - flex-direction: column; - width: 100%; - pointer-events: auto; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 0.3rem; - outline: 0; } - -.modal-backdrop { - position: fixed; - top: 0; - left: 0; - z-index: 1040; - width: 100vw; - height: 100vh; - background-color: #000; } - .modal-backdrop.fade { - opacity: 0; } - .modal-backdrop.show { - opacity: 0.3; } - -.modal-header { - display: flex; - align-items: flex-start; - justify-content: space-between; - padding: 1rem 1rem; - border-bottom: 1px solid #dee2e6; - border-top-left-radius: 0.3rem; - border-top-right-radius: 0.3rem; } - .modal-header .close { - padding: 1rem 1rem; - margin: -1rem -1rem -1rem auto; } - -.modal-title { - margin-bottom: 0; - line-height: 1.5; } - -.modal-body { - position: relative; - flex: 1 1 auto; - padding: 1rem; } - -.modal-footer { - display: flex; - align-items: center; - justify-content: flex-end; - padding: 1rem; - border-top: 1px solid #dee2e6; - border-bottom-right-radius: 0.3rem; - border-bottom-left-radius: 0.3rem; } - .modal-footer > :not(:first-child) { - margin-left: .25rem; } - .modal-footer > :not(:last-child) { - margin-right: .25rem; } - -.modal-scrollbar-measure { - position: absolute; - top: -9999px; - width: 50px; - height: 50px; - overflow: scroll; } - -@media (min-width: 1px) { - .modal-dialog { - max-width: 500px; - margin: 1.75rem auto; } - .modal-dialog-scrollable { - max-height: calc(100% - 3.5rem); } - .modal-dialog-scrollable .modal-content { - max-height: calc(100vh - 3.5rem); } - .modal-dialog-centered { - min-height: calc(100% - 3.5rem); } - .modal-dialog-centered::before { - height: calc(100vh - 3.5rem); } - .modal-sm { - max-width: 300px; } } - -@media (min-width: 3px) { - .modal-lg, - .modal-xl { - max-width: 800px; } } - -@media (min-width: 4px) { - .modal-xl { - max-width: 1140px; } } - -.tooltip { - position: absolute; - z-index: 1070; - display: block; - margin: 0; - font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - font-style: normal; - font-weight: 400; - line-height: 1.5; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - word-spacing: normal; - white-space: normal; - line-break: auto; - font-size: 0.875rem; - word-wrap: break-word; - opacity: 0; } - .tooltip.show { - opacity: 0.9; } - .tooltip .arrow { - position: absolute; - display: block; - width: 0.8rem; - height: 0.4rem; } - .tooltip .arrow::before { - position: absolute; - content: ""; - border-color: transparent; - border-style: solid; } - -.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] { - padding: 0.4rem 0; } - .bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow { - bottom: 0; } - .bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before { - top: 0; - border-width: 0.4rem 0.4rem 0; - border-top-color: #000; } - -.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] { - padding: 0 0.4rem; } - .bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow { - left: 0; - width: 0.4rem; - height: 0.8rem; } - .bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before { - right: 0; - border-width: 0.4rem 0.4rem 0.4rem 0; - border-right-color: #000; } - -.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] { - padding: 0.4rem 0; } - .bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow { - top: 0; } - .bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { - bottom: 0; - border-width: 0 0.4rem 0.4rem; - border-bottom-color: #000; } - -.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] { - padding: 0 0.4rem; } - .bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow { - right: 0; - width: 0.4rem; - height: 0.8rem; } - .bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before { - left: 0; - border-width: 0.4rem 0 0.4rem 0.4rem; - border-left-color: #000; } - -.tooltip-inner { - max-width: 200px; - padding: 0.25rem 0.5rem; - color: #fff; - text-align: center; - background-color: #000; - border-radius: 0.25rem; } - -.popover { - position: absolute; - top: 0; - left: 0; - z-index: 1060; - display: block; - max-width: 276px; - font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - font-style: normal; - font-weight: 400; - line-height: 1.5; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - word-spacing: normal; - white-space: normal; - line-break: auto; - font-size: 0.875rem; - word-wrap: break-word; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 0.3rem; } - .popover .arrow { - position: absolute; - display: block; - width: 1rem; - height: 0.5rem; - margin: 0 0.3rem; } - .popover .arrow::before, .popover .arrow::after { - position: absolute; - display: block; - content: ""; - border-color: transparent; - border-style: solid; } - -.bs-popover-top, .bs-popover-auto[x-placement^="top"] { - margin-bottom: 0.5rem; } - .bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow { - bottom: calc((0.5rem + 1px) * -1); } - .bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before { - bottom: 0; - border-width: 0.5rem 0.5rem 0; - border-top-color: rgba(0, 0, 0, 0.25); } - .bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after { - bottom: 1px; - border-width: 0.5rem 0.5rem 0; - border-top-color: #fff; } - -.bs-popover-right, .bs-popover-auto[x-placement^="right"] { - margin-left: 0.5rem; } - .bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow { - left: calc((0.5rem + 1px) * -1); - width: 0.5rem; - height: 1rem; - margin: 0.3rem 0; } - .bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before { - left: 0; - border-width: 0.5rem 0.5rem 0.5rem 0; - border-right-color: rgba(0, 0, 0, 0.25); } - .bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after { - left: 1px; - border-width: 0.5rem 0.5rem 0.5rem 0; - border-right-color: #fff; } - -.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] { - margin-top: 0.5rem; } - .bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow { - top: calc((0.5rem + 1px) * -1); } - .bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before { - top: 0; - border-width: 0 0.5rem 0.5rem 0.5rem; - border-bottom-color: rgba(0, 0, 0, 0.25); } - .bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after { - top: 1px; - border-width: 0 0.5rem 0.5rem 0.5rem; - border-bottom-color: #fff; } - .bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { - position: absolute; - top: 0; - left: 50%; - display: block; - width: 1rem; - margin-left: -0.5rem; - content: ""; - border-bottom: 1px solid #f7f7f7; } - -.bs-popover-left, .bs-popover-auto[x-placement^="left"] { - margin-right: 0.5rem; } - .bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow { - right: calc((0.5rem + 1px) * -1); - width: 0.5rem; - height: 1rem; - margin: 0.3rem 0; } - .bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before { - right: 0; - border-width: 0.5rem 0 0.5rem 0.5rem; - border-left-color: rgba(0, 0, 0, 0.25); } - .bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after { - right: 1px; - border-width: 0.5rem 0 0.5rem 0.5rem; - border-left-color: #fff; } - -.popover-header { - padding: 0.5rem 0.75rem; - margin-bottom: 0; - font-size: 1rem; - background-color: #f7f7f7; - border-bottom: 1px solid #ebebeb; - border-top-left-radius: calc(0.3rem - 1px); - border-top-right-radius: calc(0.3rem - 1px); } - .popover-header:empty { - display: none; } - -.popover-body { - padding: 0.5rem 0.75rem; - color: #333333; } - -.carousel { - position: relative; } - -.carousel.pointer-event { - touch-action: pan-y; } - -.carousel-inner { - position: relative; - width: 100%; - overflow: hidden; } - .carousel-inner::after { - display: block; - clear: both; - content: ""; } - -.carousel-item { - position: relative; - display: none; - float: left; - width: 100%; - margin-right: -100%; - backface-visibility: hidden; - transition: transform 0.6s ease-in-out; } - @media (prefers-reduced-motion: reduce) { - .carousel-item { - transition: none; } } - -.carousel-item.active, -.carousel-item-next, -.carousel-item-prev { - display: block; } - -.carousel-item-next:not(.carousel-item-left), -.active.carousel-item-right { - transform: translateX(100%); } - -.carousel-item-prev:not(.carousel-item-right), -.active.carousel-item-left { - transform: translateX(-100%); } - -.carousel-fade .carousel-item { - opacity: 0; - transition-property: opacity; - transform: none; } - -.carousel-fade .carousel-item.active, -.carousel-fade .carousel-item-next.carousel-item-left, -.carousel-fade .carousel-item-prev.carousel-item-right { - z-index: 1; - opacity: 1; } - -.carousel-fade .active.carousel-item-left, -.carousel-fade .active.carousel-item-right { - z-index: 0; - opacity: 0; - transition: 0s 0.6s opacity; } - @media (prefers-reduced-motion: reduce) { - .carousel-fade .active.carousel-item-left, - .carousel-fade .active.carousel-item-right { - transition: none; } } - -.carousel-control-prev, -.carousel-control-next { - position: absolute; - top: 0; - bottom: 0; - z-index: 1; - display: flex; - align-items: center; - justify-content: center; - width: 15%; - color: #fff; - text-align: center; - opacity: 0.5; - transition: opacity 0.15s ease; } - @media (prefers-reduced-motion: reduce) { - .carousel-control-prev, - .carousel-control-next { - transition: none; } } - .carousel-control-prev:hover, .carousel-control-prev:focus, - .carousel-control-next:hover, - .carousel-control-next:focus { - color: #fff; - text-decoration: none; - outline: 0; - opacity: 0.9; } - -.carousel-control-prev { - left: 0; } - -.carousel-control-next { - right: 0; } - -.carousel-control-prev-icon, -.carousel-control-next-icon { - display: inline-block; - width: 20px; - height: 20px; - background: no-repeat 50% / 100% 100%; } - -.carousel-control-prev-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e"); } - -.carousel-control-next-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e"); } - -.carousel-indicators { - position: absolute; - right: 0; - bottom: 0; - left: 0; - z-index: 15; - display: flex; - justify-content: center; - padding-left: 0; - margin-right: 15%; - margin-left: 15%; - list-style: none; } - .carousel-indicators li { - box-sizing: content-box; - flex: 0 1 auto; - width: 30px; - height: 3px; - margin-right: 3px; - margin-left: 3px; - text-indent: -999px; - cursor: pointer; - background-color: #fff; - background-clip: padding-box; - border-top: 10px solid transparent; - border-bottom: 10px solid transparent; - opacity: .5; - transition: opacity 0.6s ease; } - @media (prefers-reduced-motion: reduce) { - .carousel-indicators li { - transition: none; } } - .carousel-indicators .active { - opacity: 1; } - -.carousel-caption { - position: absolute; - right: 15%; - bottom: 20px; - left: 15%; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: #fff; - text-align: center; } - -@keyframes spinner-border { - to { - transform: rotate(360deg); } } - -.spinner-border { - display: inline-block; - width: 2rem; - height: 2rem; - vertical-align: text-bottom; - border: 0.25em solid currentColor; - border-right-color: transparent; - border-radius: 50%; - animation: spinner-border .75s linear infinite; } - -.spinner-border-sm { - width: 1rem; - height: 1rem; - border-width: 0.2em; } - -@keyframes spinner-grow { - 0% { - transform: scale(0); } - 50% { - opacity: 1; } } - -.spinner-grow { - display: inline-block; - width: 2rem; - height: 2rem; - vertical-align: text-bottom; - background-color: currentColor; - border-radius: 50%; - opacity: 0; - animation: spinner-grow .75s linear infinite; } - -.spinner-grow-sm { - width: 1rem; - height: 1rem; } - -.align-baseline { - vertical-align: baseline !important; } - -.align-top { - vertical-align: top !important; } - -.align-middle { - vertical-align: middle !important; } - -.align-bottom { - vertical-align: bottom !important; } - -.align-text-bottom { - vertical-align: text-bottom !important; } - -.align-text-top { - vertical-align: text-top !important; } - -.bg-primary { - background-color: #175DDC !important; } - -a.bg-primary:hover, a.bg-primary:focus, -button.bg-primary:hover, -button.bg-primary:focus { - background-color: #1249ae !important; } - -.bg-secondary { - background-color: #ced4da !important; } - -a.bg-secondary:hover, a.bg-secondary:focus, -button.bg-secondary:hover, -button.bg-secondary:focus { - background-color: #b1bbc4 !important; } - -.bg-success { - background-color: #00a65a !important; } - -a.bg-success:hover, a.bg-success:focus, -button.bg-success:hover, -button.bg-success:focus { - background-color: #00733e !important; } - -.bg-info { - background-color: #555555 !important; } - -a.bg-info:hover, a.bg-info:focus, -button.bg-info:hover, -button.bg-info:focus { - background-color: #3c3c3c !important; } - -.bg-warning { - background-color: #bf7e16 !important; } - -a.bg-warning:hover, a.bg-warning:focus, -button.bg-warning:hover, -button.bg-warning:focus { - background-color: #916011 !important; } - -.bg-danger { - background-color: #dd4b39 !important; } - -a.bg-danger:hover, a.bg-danger:focus, -button.bg-danger:hover, -button.bg-danger:focus { - background-color: #c23321 !important; } - -.bg-light { - background-color: #f8f9fa !important; } - -a.bg-light:hover, a.bg-light:focus, -button.bg-light:hover, -button.bg-light:focus { - background-color: #dae0e5 !important; } - -.bg-dark { - background-color: #343a40 !important; } - -a.bg-dark:hover, a.bg-dark:focus, -button.bg-dark:hover, -button.bg-dark:focus { - background-color: #1d2124 !important; } - -.bg-primary-accent { - background-color: #1252A3 !important; } - -a.bg-primary-accent:hover, a.bg-primary-accent:focus, -button.bg-primary-accent:hover, -button.bg-primary-accent:focus { - background-color: #0d3b75 !important; } - -.bg-secondary-alt { - background-color: #1A3B66 !important; } - -a.bg-secondary-alt:hover, a.bg-secondary-alt:focus, -button.bg-secondary-alt:hover, -button.bg-secondary-alt:focus { - background-color: #10233d !important; } - -.bg-white { - background-color: #fff !important; } - -.bg-transparent { - background-color: transparent !important; } - -.border { - border: 1px solid #dee2e6 !important; } - -.border-top { - border-top: 1px solid #dee2e6 !important; } - -.border-right { - border-right: 1px solid #dee2e6 !important; } - -.border-bottom { - border-bottom: 1px solid #dee2e6 !important; } - -.border-left { - border-left: 1px solid #dee2e6 !important; } - -.border-0 { - border: 0 !important; } - -.border-top-0 { - border-top: 0 !important; } - -.border-right-0 { - border-right: 0 !important; } - -.border-bottom-0 { - border-bottom: 0 !important; } - -.border-left-0 { - border-left: 0 !important; } - -.border-primary { - border-color: #175DDC !important; } - -.border-secondary { - border-color: #ced4da !important; } - -.border-success { - border-color: #00a65a !important; } - -.border-info { - border-color: #555555 !important; } - -.border-warning { - border-color: #bf7e16 !important; } - -.border-danger { - border-color: #dd4b39 !important; } - -.border-light { - border-color: #f8f9fa !important; } - -.border-dark { - border-color: #343a40 !important; } - -.border-primary-accent { - border-color: #1252A3 !important; } - -.border-secondary-alt { - border-color: #1A3B66 !important; } - -.border-white { - border-color: #fff !important; } - -.rounded-sm { - border-radius: 0.2rem !important; } - -.rounded, .table.table-list td.table-list-icon img, app-avatar img { - border-radius: 0.25rem !important; } - -.rounded-top { - border-top-left-radius: 0.25rem !important; - border-top-right-radius: 0.25rem !important; } - -.rounded-right { - border-top-right-radius: 0.25rem !important; - border-bottom-right-radius: 0.25rem !important; } - -.rounded-bottom { - border-bottom-right-radius: 0.25rem !important; - border-bottom-left-radius: 0.25rem !important; } - -.rounded-left { - border-top-left-radius: 0.25rem !important; - border-bottom-left-radius: 0.25rem !important; } - -.rounded-lg { - border-radius: 0.3rem !important; } - -.rounded-circle { - border-radius: 50% !important; } - -.rounded-pill { - border-radius: 50rem !important; } - -.rounded-0 { - border-radius: 0 !important; } - -.clearfix::after { - display: block; - clear: both; - content: ""; } - -.d-none { - display: none !important; } - -.d-inline { - display: inline !important; } - -.d-inline-block { - display: inline-block !important; } - -.d-block { - display: block !important; } - -.d-table { - display: table !important; } - -.d-table-row { - display: table-row !important; } - -.d-table-cell { - display: table-cell !important; } - -.d-flex { - display: flex !important; } - -.d-inline-flex { - display: inline-flex !important; } - -@media (min-width: 1px) { - .d-sm-none { - display: none !important; } - .d-sm-inline { - display: inline !important; } - .d-sm-inline-block { - display: inline-block !important; } - .d-sm-block { - display: block !important; } - .d-sm-table { - display: table !important; } - .d-sm-table-row { - display: table-row !important; } - .d-sm-table-cell { - display: table-cell !important; } - .d-sm-flex { - display: flex !important; } - .d-sm-inline-flex { - display: inline-flex !important; } } - -@media (min-width: 2px) { - .d-md-none { - display: none !important; } - .d-md-inline { - display: inline !important; } - .d-md-inline-block { - display: inline-block !important; } - .d-md-block { - display: block !important; } - .d-md-table { - display: table !important; } - .d-md-table-row { - display: table-row !important; } - .d-md-table-cell { - display: table-cell !important; } - .d-md-flex { - display: flex !important; } - .d-md-inline-flex { - display: inline-flex !important; } } - -@media (min-width: 3px) { - .d-lg-none { - display: none !important; } - .d-lg-inline { - display: inline !important; } - .d-lg-inline-block { - display: inline-block !important; } - .d-lg-block { - display: block !important; } - .d-lg-table { - display: table !important; } - .d-lg-table-row { - display: table-row !important; } - .d-lg-table-cell { - display: table-cell !important; } - .d-lg-flex { - display: flex !important; } - .d-lg-inline-flex { - display: inline-flex !important; } } - -@media (min-width: 4px) { - .d-xl-none { - display: none !important; } - .d-xl-inline { - display: inline !important; } - .d-xl-inline-block { - display: inline-block !important; } - .d-xl-block { - display: block !important; } - .d-xl-table { - display: table !important; } - .d-xl-table-row { - display: table-row !important; } - .d-xl-table-cell { - display: table-cell !important; } - .d-xl-flex { - display: flex !important; } - .d-xl-inline-flex { - display: inline-flex !important; } } - -@media print { - .d-print-none { - display: none !important; } - .d-print-inline { - display: inline !important; } - .d-print-inline-block { - display: inline-block !important; } - .d-print-block { - display: block !important; } - .d-print-table { - display: table !important; } - .d-print-table-row { - display: table-row !important; } - .d-print-table-cell { - display: table-cell !important; } - .d-print-flex { - display: flex !important; } - .d-print-inline-flex { - display: inline-flex !important; } } - -.embed-responsive { - position: relative; - display: block; - width: 100%; - padding: 0; - overflow: hidden; } - .embed-responsive::before { - display: block; - content: ""; } - .embed-responsive .embed-responsive-item, - .embed-responsive iframe, - .embed-responsive embed, - .embed-responsive object, - .embed-responsive video { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - border: 0; } - -.embed-responsive-21by9::before { - padding-top: 42.85714%; } - -.embed-responsive-16by9::before { - padding-top: 56.25%; } - -.embed-responsive-4by3::before { - padding-top: 75%; } - -.embed-responsive-1by1::before { - padding-top: 100%; } - -.flex-row { - flex-direction: row !important; } - -.flex-column { - flex-direction: column !important; } - -.flex-row-reverse { - flex-direction: row-reverse !important; } - -.flex-column-reverse { - flex-direction: column-reverse !important; } - -.flex-wrap { - flex-wrap: wrap !important; } - -.flex-nowrap { - flex-wrap: nowrap !important; } - -.flex-wrap-reverse { - flex-wrap: wrap-reverse !important; } - -.flex-fill { - flex: 1 1 auto !important; } - -.flex-grow-0 { - flex-grow: 0 !important; } - -.flex-grow-1 { - flex-grow: 1 !important; } - -.flex-shrink-0 { - flex-shrink: 0 !important; } - -.flex-shrink-1 { - flex-shrink: 1 !important; } - -.justify-content-start { - justify-content: flex-start !important; } - -.justify-content-end { - justify-content: flex-end !important; } - -.justify-content-center { - justify-content: center !important; } - -.justify-content-between { - justify-content: space-between !important; } - -.justify-content-around { - justify-content: space-around !important; } - -.align-items-start { - align-items: flex-start !important; } - -.align-items-end { - align-items: flex-end !important; } - -.align-items-center { - align-items: center !important; } - -.align-items-baseline { - align-items: baseline !important; } - -.align-items-stretch { - align-items: stretch !important; } - -.align-content-start { - align-content: flex-start !important; } - -.align-content-end { - align-content: flex-end !important; } - -.align-content-center { - align-content: center !important; } - -.align-content-between { - align-content: space-between !important; } - -.align-content-around { - align-content: space-around !important; } - -.align-content-stretch { - align-content: stretch !important; } - -.align-self-auto { - align-self: auto !important; } - -.align-self-start { - align-self: flex-start !important; } - -.align-self-end { - align-self: flex-end !important; } - -.align-self-center { - align-self: center !important; } - -.align-self-baseline { - align-self: baseline !important; } - -.align-self-stretch { - align-self: stretch !important; } - -@media (min-width: 1px) { - .flex-sm-row { - flex-direction: row !important; } - .flex-sm-column { - flex-direction: column !important; } - .flex-sm-row-reverse { - flex-direction: row-reverse !important; } - .flex-sm-column-reverse { - flex-direction: column-reverse !important; } - .flex-sm-wrap { - flex-wrap: wrap !important; } - .flex-sm-nowrap { - flex-wrap: nowrap !important; } - .flex-sm-wrap-reverse { - flex-wrap: wrap-reverse !important; } - .flex-sm-fill { - flex: 1 1 auto !important; } - .flex-sm-grow-0 { - flex-grow: 0 !important; } - .flex-sm-grow-1 { - flex-grow: 1 !important; } - .flex-sm-shrink-0 { - flex-shrink: 0 !important; } - .flex-sm-shrink-1 { - flex-shrink: 1 !important; } - .justify-content-sm-start { - justify-content: flex-start !important; } - .justify-content-sm-end { - justify-content: flex-end !important; } - .justify-content-sm-center { - justify-content: center !important; } - .justify-content-sm-between { - justify-content: space-between !important; } - .justify-content-sm-around { - justify-content: space-around !important; } - .align-items-sm-start { - align-items: flex-start !important; } - .align-items-sm-end { - align-items: flex-end !important; } - .align-items-sm-center { - align-items: center !important; } - .align-items-sm-baseline { - align-items: baseline !important; } - .align-items-sm-stretch { - align-items: stretch !important; } - .align-content-sm-start { - align-content: flex-start !important; } - .align-content-sm-end { - align-content: flex-end !important; } - .align-content-sm-center { - align-content: center !important; } - .align-content-sm-between { - align-content: space-between !important; } - .align-content-sm-around { - align-content: space-around !important; } - .align-content-sm-stretch { - align-content: stretch !important; } - .align-self-sm-auto { - align-self: auto !important; } - .align-self-sm-start { - align-self: flex-start !important; } - .align-self-sm-end { - align-self: flex-end !important; } - .align-self-sm-center { - align-self: center !important; } - .align-self-sm-baseline { - align-self: baseline !important; } - .align-self-sm-stretch { - align-self: stretch !important; } } - -@media (min-width: 2px) { - .flex-md-row { - flex-direction: row !important; } - .flex-md-column { - flex-direction: column !important; } - .flex-md-row-reverse { - flex-direction: row-reverse !important; } - .flex-md-column-reverse { - flex-direction: column-reverse !important; } - .flex-md-wrap { - flex-wrap: wrap !important; } - .flex-md-nowrap { - flex-wrap: nowrap !important; } - .flex-md-wrap-reverse { - flex-wrap: wrap-reverse !important; } - .flex-md-fill { - flex: 1 1 auto !important; } - .flex-md-grow-0 { - flex-grow: 0 !important; } - .flex-md-grow-1 { - flex-grow: 1 !important; } - .flex-md-shrink-0 { - flex-shrink: 0 !important; } - .flex-md-shrink-1 { - flex-shrink: 1 !important; } - .justify-content-md-start { - justify-content: flex-start !important; } - .justify-content-md-end { - justify-content: flex-end !important; } - .justify-content-md-center { - justify-content: center !important; } - .justify-content-md-between { - justify-content: space-between !important; } - .justify-content-md-around { - justify-content: space-around !important; } - .align-items-md-start { - align-items: flex-start !important; } - .align-items-md-end { - align-items: flex-end !important; } - .align-items-md-center { - align-items: center !important; } - .align-items-md-baseline { - align-items: baseline !important; } - .align-items-md-stretch { - align-items: stretch !important; } - .align-content-md-start { - align-content: flex-start !important; } - .align-content-md-end { - align-content: flex-end !important; } - .align-content-md-center { - align-content: center !important; } - .align-content-md-between { - align-content: space-between !important; } - .align-content-md-around { - align-content: space-around !important; } - .align-content-md-stretch { - align-content: stretch !important; } - .align-self-md-auto { - align-self: auto !important; } - .align-self-md-start { - align-self: flex-start !important; } - .align-self-md-end { - align-self: flex-end !important; } - .align-self-md-center { - align-self: center !important; } - .align-self-md-baseline { - align-self: baseline !important; } - .align-self-md-stretch { - align-self: stretch !important; } } - -@media (min-width: 3px) { - .flex-lg-row { - flex-direction: row !important; } - .flex-lg-column { - flex-direction: column !important; } - .flex-lg-row-reverse { - flex-direction: row-reverse !important; } - .flex-lg-column-reverse { - flex-direction: column-reverse !important; } - .flex-lg-wrap { - flex-wrap: wrap !important; } - .flex-lg-nowrap { - flex-wrap: nowrap !important; } - .flex-lg-wrap-reverse { - flex-wrap: wrap-reverse !important; } - .flex-lg-fill { - flex: 1 1 auto !important; } - .flex-lg-grow-0 { - flex-grow: 0 !important; } - .flex-lg-grow-1 { - flex-grow: 1 !important; } - .flex-lg-shrink-0 { - flex-shrink: 0 !important; } - .flex-lg-shrink-1 { - flex-shrink: 1 !important; } - .justify-content-lg-start { - justify-content: flex-start !important; } - .justify-content-lg-end { - justify-content: flex-end !important; } - .justify-content-lg-center { - justify-content: center !important; } - .justify-content-lg-between { - justify-content: space-between !important; } - .justify-content-lg-around { - justify-content: space-around !important; } - .align-items-lg-start { - align-items: flex-start !important; } - .align-items-lg-end { - align-items: flex-end !important; } - .align-items-lg-center { - align-items: center !important; } - .align-items-lg-baseline { - align-items: baseline !important; } - .align-items-lg-stretch { - align-items: stretch !important; } - .align-content-lg-start { - align-content: flex-start !important; } - .align-content-lg-end { - align-content: flex-end !important; } - .align-content-lg-center { - align-content: center !important; } - .align-content-lg-between { - align-content: space-between !important; } - .align-content-lg-around { - align-content: space-around !important; } - .align-content-lg-stretch { - align-content: stretch !important; } - .align-self-lg-auto { - align-self: auto !important; } - .align-self-lg-start { - align-self: flex-start !important; } - .align-self-lg-end { - align-self: flex-end !important; } - .align-self-lg-center { - align-self: center !important; } - .align-self-lg-baseline { - align-self: baseline !important; } - .align-self-lg-stretch { - align-self: stretch !important; } } - -@media (min-width: 4px) { - .flex-xl-row { - flex-direction: row !important; } - .flex-xl-column { - flex-direction: column !important; } - .flex-xl-row-reverse { - flex-direction: row-reverse !important; } - .flex-xl-column-reverse { - flex-direction: column-reverse !important; } - .flex-xl-wrap { - flex-wrap: wrap !important; } - .flex-xl-nowrap { - flex-wrap: nowrap !important; } - .flex-xl-wrap-reverse { - flex-wrap: wrap-reverse !important; } - .flex-xl-fill { - flex: 1 1 auto !important; } - .flex-xl-grow-0 { - flex-grow: 0 !important; } - .flex-xl-grow-1 { - flex-grow: 1 !important; } - .flex-xl-shrink-0 { - flex-shrink: 0 !important; } - .flex-xl-shrink-1 { - flex-shrink: 1 !important; } - .justify-content-xl-start { - justify-content: flex-start !important; } - .justify-content-xl-end { - justify-content: flex-end !important; } - .justify-content-xl-center { - justify-content: center !important; } - .justify-content-xl-between { - justify-content: space-between !important; } - .justify-content-xl-around { - justify-content: space-around !important; } - .align-items-xl-start { - align-items: flex-start !important; } - .align-items-xl-end { - align-items: flex-end !important; } - .align-items-xl-center { - align-items: center !important; } - .align-items-xl-baseline { - align-items: baseline !important; } - .align-items-xl-stretch { - align-items: stretch !important; } - .align-content-xl-start { - align-content: flex-start !important; } - .align-content-xl-end { - align-content: flex-end !important; } - .align-content-xl-center { - align-content: center !important; } - .align-content-xl-between { - align-content: space-between !important; } - .align-content-xl-around { - align-content: space-around !important; } - .align-content-xl-stretch { - align-content: stretch !important; } - .align-self-xl-auto { - align-self: auto !important; } - .align-self-xl-start { - align-self: flex-start !important; } - .align-self-xl-end { - align-self: flex-end !important; } - .align-self-xl-center { - align-self: center !important; } - .align-self-xl-baseline { - align-self: baseline !important; } - .align-self-xl-stretch { - align-self: stretch !important; } } - -.float-left { - float: left !important; } - -.float-right { - float: right !important; } - -.float-none { - float: none !important; } - -@media (min-width: 1px) { - .float-sm-left { - float: left !important; } - .float-sm-right { - float: right !important; } - .float-sm-none { - float: none !important; } } - -@media (min-width: 2px) { - .float-md-left { - float: left !important; } - .float-md-right { - float: right !important; } - .float-md-none { - float: none !important; } } - -@media (min-width: 3px) { - .float-lg-left { - float: left !important; } - .float-lg-right { - float: right !important; } - .float-lg-none { - float: none !important; } } - -@media (min-width: 4px) { - .float-xl-left { - float: left !important; } - .float-xl-right { - float: right !important; } - .float-xl-none { - float: none !important; } } - -.overflow-auto { - overflow: auto !important; } - -.overflow-hidden { - overflow: hidden !important; } - -.position-static { - position: static !important; } - -.position-relative { - position: relative !important; } - -.position-absolute { - position: absolute !important; } - -.position-fixed { - position: fixed !important; } - -.position-sticky { - position: sticky !important; } - -.fixed-top { - position: fixed; - top: 0; - right: 0; - left: 0; - z-index: 1030; } - -.fixed-bottom { - position: fixed; - right: 0; - bottom: 0; - left: 0; - z-index: 1030; } - -@supports (position: sticky) { - .sticky-top { - position: sticky; - top: 0; - z-index: 1020; } } - -.sr-only, .table.table-list tr:not(:hover) td.table-list-options > .dropdown:not(.show) button:not(:focus):not(:active), .table.table-list tr:not(:hover) td.table-list-options > button:not(:focus):not(:active) { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border: 0; } - -.sr-only-focusable:active, .sr-only-focusable:focus { - position: static; - width: auto; - height: auto; - overflow: visible; - clip: auto; - white-space: normal; } - -.shadow-sm { - box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; } - -.shadow { - box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; } - -.shadow-lg { - box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; } - -.shadow-none { - box-shadow: none !important; } - -.w-25 { - width: 25% !important; } - -.w-50 { - width: 50% !important; } - -.w-75 { - width: 75% !important; } - -.w-100 { - width: 100% !important; } - -.w-auto { - width: auto !important; } - -.h-25 { - height: 25% !important; } - -.h-50 { - height: 50% !important; } - -.h-75 { - height: 75% !important; } - -.h-100 { - height: 100% !important; } - -.h-auto { - height: auto !important; } - -.mw-100 { - max-width: 100% !important; } - -.mh-100 { - max-height: 100% !important; } - -.min-vw-100 { - min-width: 100vw !important; } - -.min-vh-100 { - min-height: 100vh !important; } - -.vw-100 { - width: 100vw !important; } - -.vh-100 { - height: 100vh !important; } - -.stretched-link::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1; - pointer-events: auto; - content: ""; - background-color: rgba(0, 0, 0, 0); } - -.m-0 { - margin: 0 !important; } - -.mt-0, -.my-0 { - margin-top: 0 !important; } - -.mr-0, -.mx-0 { - margin-right: 0 !important; } - -.mb-0, -.my-0 { - margin-bottom: 0 !important; } - -.ml-0, -.mx-0 { - margin-left: 0 !important; } - -.m-1 { - margin: 0.25rem !important; } - -.mt-1, -.my-1 { - margin-top: 0.25rem !important; } - -.mr-1, -.mx-1 { - margin-right: 0.25rem !important; } - -.mb-1, -.my-1 { - margin-bottom: 0.25rem !important; } - -.ml-1, -.mx-1 { - margin-left: 0.25rem !important; } - -.m-2 { - margin: 0.5rem !important; } - -.mt-2, .form-check-block .form-check-label > span, -.my-2 { - margin-top: 0.5rem !important; } - -.mr-2, -.mx-2 { - margin-right: 0.5rem !important; } - -.mb-2, -.my-2 { - margin-bottom: 0.5rem !important; } - -.ml-2, -.mx-2 { - margin-left: 0.5rem !important; } - -.m-3 { - margin: 1rem !important; } - -.mt-3, .form-check-block + .form-check-block:not(.mt-2), -.my-3 { - margin-top: 1rem !important; } - -.mr-3, -.mx-3 { - margin-right: 1rem !important; } - -.mb-3, -.my-3 { - margin-bottom: 1rem !important; } - -.ml-3, -.mx-3 { - margin-left: 1rem !important; } - -.m-4 { - margin: 1.5rem !important; } - -.mt-4, -.my-4 { - margin-top: 1.5rem !important; } - -.mr-4, -.mx-4 { - margin-right: 1.5rem !important; } - -.mb-4, .card-body-header, -.my-4 { - margin-bottom: 1.5rem !important; } - -.ml-4, -.mx-4 { - margin-left: 1.5rem !important; } - -.m-5 { - margin: 3rem !important; } - -.mt-5, -.my-5 { - margin-top: 3rem !important; } - -.mr-5, -.mx-5 { - margin-right: 3rem !important; } - -.mb-5, -.my-5 { - margin-bottom: 3rem !important; } - -.ml-5, -.mx-5 { - margin-left: 3rem !important; } - -.p-0 { - padding: 0 !important; } - -.pt-0, -.py-0 { - padding-top: 0 !important; } - -.pr-0, -.px-0 { - padding-right: 0 !important; } - -.pb-0, -.py-0 { - padding-bottom: 0 !important; } - -.pl-0, -.px-0 { - padding-left: 0 !important; } - -.p-1 { - padding: 0.25rem !important; } - -.pt-1, -.py-1 { - padding-top: 0.25rem !important; } - -.pr-1, -.px-1 { - padding-right: 0.25rem !important; } - -.pb-1, -.py-1 { - padding-bottom: 0.25rem !important; } - -.pl-1, -.px-1 { - padding-left: 0.25rem !important; } - -.p-2 { - padding: 0.5rem !important; } - -.pt-2, -.py-2 { - padding-top: 0.5rem !important; } - -.pr-2, -.px-2 { - padding-right: 0.5rem !important; } - -.pb-2, -.py-2 { - padding-bottom: 0.5rem !important; } - -.pl-2, -.px-2 { - padding-left: 0.5rem !important; } - -.p-3 { - padding: 1rem !important; } - -.pt-3, -.py-3 { - padding-top: 1rem !important; } - -.pr-3, -.px-3 { - padding-right: 1rem !important; } - -.pb-3, -.py-3 { - padding-bottom: 1rem !important; } - -.pl-3, -.px-3 { - padding-left: 1rem !important; } - -.p-4 { - padding: 1.5rem !important; } - -.pt-4, -.py-4 { - padding-top: 1.5rem !important; } - -.pr-4, -.px-4 { - padding-right: 1.5rem !important; } - -.pb-4, -.py-4 { - padding-bottom: 1.5rem !important; } - -.pl-4, -.px-4 { - padding-left: 1.5rem !important; } - -.p-5 { - padding: 3rem !important; } - -.pt-5, -.py-5 { - padding-top: 3rem !important; } - -.pr-5, -.px-5 { - padding-right: 3rem !important; } - -.pb-5, -.py-5 { - padding-bottom: 3rem !important; } - -.pl-5, -.px-5 { - padding-left: 3rem !important; } - -.m-n1 { - margin: -0.25rem !important; } - -.mt-n1, -.my-n1 { - margin-top: -0.25rem !important; } - -.mr-n1, -.mx-n1 { - margin-right: -0.25rem !important; } - -.mb-n1, -.my-n1 { - margin-bottom: -0.25rem !important; } - -.ml-n1, -.mx-n1 { - margin-left: -0.25rem !important; } - -.m-n2 { - margin: -0.5rem !important; } - -.mt-n2, -.my-n2 { - margin-top: -0.5rem !important; } - -.mr-n2, -.mx-n2 { - margin-right: -0.5rem !important; } - -.mb-n2, -.my-n2 { - margin-bottom: -0.5rem !important; } - -.ml-n2, -.mx-n2 { - margin-left: -0.5rem !important; } - -.m-n3 { - margin: -1rem !important; } - -.mt-n3, -.my-n3 { - margin-top: -1rem !important; } - -.mr-n3, -.mx-n3 { - margin-right: -1rem !important; } - -.mb-n3, -.my-n3 { - margin-bottom: -1rem !important; } - -.ml-n3, -.mx-n3 { - margin-left: -1rem !important; } - -.m-n4 { - margin: -1.5rem !important; } - -.mt-n4, -.my-n4 { - margin-top: -1.5rem !important; } - -.mr-n4, -.mx-n4 { - margin-right: -1.5rem !important; } - -.mb-n4, -.my-n4 { - margin-bottom: -1.5rem !important; } - -.ml-n4, -.mx-n4 { - margin-left: -1.5rem !important; } - -.m-n5 { - margin: -3rem !important; } - -.mt-n5, -.my-n5 { - margin-top: -3rem !important; } - -.mr-n5, -.mx-n5 { - margin-right: -3rem !important; } - -.mb-n5, -.my-n5 { - margin-bottom: -3rem !important; } - -.ml-n5, -.mx-n5 { - margin-left: -3rem !important; } - -.m-auto { - margin: auto !important; } - -.mt-auto, -.my-auto { - margin-top: auto !important; } - -.mr-auto, -.mx-auto { - margin-right: auto !important; } - -.mb-auto, -.my-auto { - margin-bottom: auto !important; } - -.ml-auto, -.mx-auto { - margin-left: auto !important; } - -@media (min-width: 1px) { - .m-sm-0 { - margin: 0 !important; } - .mt-sm-0, - .my-sm-0 { - margin-top: 0 !important; } - .mr-sm-0, - .mx-sm-0 { - margin-right: 0 !important; } - .mb-sm-0, - .my-sm-0 { - margin-bottom: 0 !important; } - .ml-sm-0, - .mx-sm-0 { - margin-left: 0 !important; } - .m-sm-1 { - margin: 0.25rem !important; } - .mt-sm-1, - .my-sm-1 { - margin-top: 0.25rem !important; } - .mr-sm-1, - .mx-sm-1 { - margin-right: 0.25rem !important; } - .mb-sm-1, - .my-sm-1 { - margin-bottom: 0.25rem !important; } - .ml-sm-1, - .mx-sm-1 { - margin-left: 0.25rem !important; } - .m-sm-2 { - margin: 0.5rem !important; } - .mt-sm-2, - .my-sm-2 { - margin-top: 0.5rem !important; } - .mr-sm-2, - .mx-sm-2 { - margin-right: 0.5rem !important; } - .mb-sm-2, - .my-sm-2 { - margin-bottom: 0.5rem !important; } - .ml-sm-2, - .mx-sm-2 { - margin-left: 0.5rem !important; } - .m-sm-3 { - margin: 1rem !important; } - .mt-sm-3, - .my-sm-3 { - margin-top: 1rem !important; } - .mr-sm-3, - .mx-sm-3 { - margin-right: 1rem !important; } - .mb-sm-3, - .my-sm-3 { - margin-bottom: 1rem !important; } - .ml-sm-3, - .mx-sm-3 { - margin-left: 1rem !important; } - .m-sm-4 { - margin: 1.5rem !important; } - .mt-sm-4, - .my-sm-4 { - margin-top: 1.5rem !important; } - .mr-sm-4, - .mx-sm-4 { - margin-right: 1.5rem !important; } - .mb-sm-4, - .my-sm-4 { - margin-bottom: 1.5rem !important; } - .ml-sm-4, - .mx-sm-4 { - margin-left: 1.5rem !important; } - .m-sm-5 { - margin: 3rem !important; } - .mt-sm-5, - .my-sm-5 { - margin-top: 3rem !important; } - .mr-sm-5, - .mx-sm-5 { - margin-right: 3rem !important; } - .mb-sm-5, - .my-sm-5 { - margin-bottom: 3rem !important; } - .ml-sm-5, - .mx-sm-5 { - margin-left: 3rem !important; } - .p-sm-0 { - padding: 0 !important; } - .pt-sm-0, - .py-sm-0 { - padding-top: 0 !important; } - .pr-sm-0, - .px-sm-0 { - padding-right: 0 !important; } - .pb-sm-0, - .py-sm-0 { - padding-bottom: 0 !important; } - .pl-sm-0, - .px-sm-0 { - padding-left: 0 !important; } - .p-sm-1 { - padding: 0.25rem !important; } - .pt-sm-1, - .py-sm-1 { - padding-top: 0.25rem !important; } - .pr-sm-1, - .px-sm-1 { - padding-right: 0.25rem !important; } - .pb-sm-1, - .py-sm-1 { - padding-bottom: 0.25rem !important; } - .pl-sm-1, - .px-sm-1 { - padding-left: 0.25rem !important; } - .p-sm-2 { - padding: 0.5rem !important; } - .pt-sm-2, - .py-sm-2 { - padding-top: 0.5rem !important; } - .pr-sm-2, - .px-sm-2 { - padding-right: 0.5rem !important; } - .pb-sm-2, - .py-sm-2 { - padding-bottom: 0.5rem !important; } - .pl-sm-2, - .px-sm-2 { - padding-left: 0.5rem !important; } - .p-sm-3 { - padding: 1rem !important; } - .pt-sm-3, - .py-sm-3 { - padding-top: 1rem !important; } - .pr-sm-3, - .px-sm-3 { - padding-right: 1rem !important; } - .pb-sm-3, - .py-sm-3 { - padding-bottom: 1rem !important; } - .pl-sm-3, - .px-sm-3 { - padding-left: 1rem !important; } - .p-sm-4 { - padding: 1.5rem !important; } - .pt-sm-4, - .py-sm-4 { - padding-top: 1.5rem !important; } - .pr-sm-4, - .px-sm-4 { - padding-right: 1.5rem !important; } - .pb-sm-4, - .py-sm-4 { - padding-bottom: 1.5rem !important; } - .pl-sm-4, - .px-sm-4 { - padding-left: 1.5rem !important; } - .p-sm-5 { - padding: 3rem !important; } - .pt-sm-5, - .py-sm-5 { - padding-top: 3rem !important; } - .pr-sm-5, - .px-sm-5 { - padding-right: 3rem !important; } - .pb-sm-5, - .py-sm-5 { - padding-bottom: 3rem !important; } - .pl-sm-5, - .px-sm-5 { - padding-left: 3rem !important; } - .m-sm-n1 { - margin: -0.25rem !important; } - .mt-sm-n1, - .my-sm-n1 { - margin-top: -0.25rem !important; } - .mr-sm-n1, - .mx-sm-n1 { - margin-right: -0.25rem !important; } - .mb-sm-n1, - .my-sm-n1 { - margin-bottom: -0.25rem !important; } - .ml-sm-n1, - .mx-sm-n1 { - margin-left: -0.25rem !important; } - .m-sm-n2 { - margin: -0.5rem !important; } - .mt-sm-n2, - .my-sm-n2 { - margin-top: -0.5rem !important; } - .mr-sm-n2, - .mx-sm-n2 { - margin-right: -0.5rem !important; } - .mb-sm-n2, - .my-sm-n2 { - margin-bottom: -0.5rem !important; } - .ml-sm-n2, - .mx-sm-n2 { - margin-left: -0.5rem !important; } - .m-sm-n3 { - margin: -1rem !important; } - .mt-sm-n3, - .my-sm-n3 { - margin-top: -1rem !important; } - .mr-sm-n3, - .mx-sm-n3 { - margin-right: -1rem !important; } - .mb-sm-n3, - .my-sm-n3 { - margin-bottom: -1rem !important; } - .ml-sm-n3, - .mx-sm-n3 { - margin-left: -1rem !important; } - .m-sm-n4 { - margin: -1.5rem !important; } - .mt-sm-n4, - .my-sm-n4 { - margin-top: -1.5rem !important; } - .mr-sm-n4, - .mx-sm-n4 { - margin-right: -1.5rem !important; } - .mb-sm-n4, - .my-sm-n4 { - margin-bottom: -1.5rem !important; } - .ml-sm-n4, - .mx-sm-n4 { - margin-left: -1.5rem !important; } - .m-sm-n5 { - margin: -3rem !important; } - .mt-sm-n5, - .my-sm-n5 { - margin-top: -3rem !important; } - .mr-sm-n5, - .mx-sm-n5 { - margin-right: -3rem !important; } - .mb-sm-n5, - .my-sm-n5 { - margin-bottom: -3rem !important; } - .ml-sm-n5, - .mx-sm-n5 { - margin-left: -3rem !important; } - .m-sm-auto { - margin: auto !important; } - .mt-sm-auto, - .my-sm-auto { - margin-top: auto !important; } - .mr-sm-auto, - .mx-sm-auto { - margin-right: auto !important; } - .mb-sm-auto, - .my-sm-auto { - margin-bottom: auto !important; } - .ml-sm-auto, - .mx-sm-auto { - margin-left: auto !important; } } - -@media (min-width: 2px) { - .m-md-0 { - margin: 0 !important; } - .mt-md-0, - .my-md-0 { - margin-top: 0 !important; } - .mr-md-0, - .mx-md-0 { - margin-right: 0 !important; } - .mb-md-0, - .my-md-0 { - margin-bottom: 0 !important; } - .ml-md-0, - .mx-md-0 { - margin-left: 0 !important; } - .m-md-1 { - margin: 0.25rem !important; } - .mt-md-1, - .my-md-1 { - margin-top: 0.25rem !important; } - .mr-md-1, - .mx-md-1 { - margin-right: 0.25rem !important; } - .mb-md-1, - .my-md-1 { - margin-bottom: 0.25rem !important; } - .ml-md-1, - .mx-md-1 { - margin-left: 0.25rem !important; } - .m-md-2 { - margin: 0.5rem !important; } - .mt-md-2, - .my-md-2 { - margin-top: 0.5rem !important; } - .mr-md-2, - .mx-md-2 { - margin-right: 0.5rem !important; } - .mb-md-2, - .my-md-2 { - margin-bottom: 0.5rem !important; } - .ml-md-2, - .mx-md-2 { - margin-left: 0.5rem !important; } - .m-md-3 { - margin: 1rem !important; } - .mt-md-3, - .my-md-3 { - margin-top: 1rem !important; } - .mr-md-3, - .mx-md-3 { - margin-right: 1rem !important; } - .mb-md-3, - .my-md-3 { - margin-bottom: 1rem !important; } - .ml-md-3, - .mx-md-3 { - margin-left: 1rem !important; } - .m-md-4 { - margin: 1.5rem !important; } - .mt-md-4, - .my-md-4 { - margin-top: 1.5rem !important; } - .mr-md-4, - .mx-md-4 { - margin-right: 1.5rem !important; } - .mb-md-4, - .my-md-4 { - margin-bottom: 1.5rem !important; } - .ml-md-4, - .mx-md-4 { - margin-left: 1.5rem !important; } - .m-md-5 { - margin: 3rem !important; } - .mt-md-5, - .my-md-5 { - margin-top: 3rem !important; } - .mr-md-5, - .mx-md-5 { - margin-right: 3rem !important; } - .mb-md-5, - .my-md-5 { - margin-bottom: 3rem !important; } - .ml-md-5, - .mx-md-5 { - margin-left: 3rem !important; } - .p-md-0 { - padding: 0 !important; } - .pt-md-0, - .py-md-0 { - padding-top: 0 !important; } - .pr-md-0, - .px-md-0 { - padding-right: 0 !important; } - .pb-md-0, - .py-md-0 { - padding-bottom: 0 !important; } - .pl-md-0, - .px-md-0 { - padding-left: 0 !important; } - .p-md-1 { - padding: 0.25rem !important; } - .pt-md-1, - .py-md-1 { - padding-top: 0.25rem !important; } - .pr-md-1, - .px-md-1 { - padding-right: 0.25rem !important; } - .pb-md-1, - .py-md-1 { - padding-bottom: 0.25rem !important; } - .pl-md-1, - .px-md-1 { - padding-left: 0.25rem !important; } - .p-md-2 { - padding: 0.5rem !important; } - .pt-md-2, - .py-md-2 { - padding-top: 0.5rem !important; } - .pr-md-2, - .px-md-2 { - padding-right: 0.5rem !important; } - .pb-md-2, - .py-md-2 { - padding-bottom: 0.5rem !important; } - .pl-md-2, - .px-md-2 { - padding-left: 0.5rem !important; } - .p-md-3 { - padding: 1rem !important; } - .pt-md-3, - .py-md-3 { - padding-top: 1rem !important; } - .pr-md-3, - .px-md-3 { - padding-right: 1rem !important; } - .pb-md-3, - .py-md-3 { - padding-bottom: 1rem !important; } - .pl-md-3, - .px-md-3 { - padding-left: 1rem !important; } - .p-md-4 { - padding: 1.5rem !important; } - .pt-md-4, - .py-md-4 { - padding-top: 1.5rem !important; } - .pr-md-4, - .px-md-4 { - padding-right: 1.5rem !important; } - .pb-md-4, - .py-md-4 { - padding-bottom: 1.5rem !important; } - .pl-md-4, - .px-md-4 { - padding-left: 1.5rem !important; } - .p-md-5 { - padding: 3rem !important; } - .pt-md-5, - .py-md-5 { - padding-top: 3rem !important; } - .pr-md-5, - .px-md-5 { - padding-right: 3rem !important; } - .pb-md-5, - .py-md-5 { - padding-bottom: 3rem !important; } - .pl-md-5, - .px-md-5 { - padding-left: 3rem !important; } - .m-md-n1 { - margin: -0.25rem !important; } - .mt-md-n1, - .my-md-n1 { - margin-top: -0.25rem !important; } - .mr-md-n1, - .mx-md-n1 { - margin-right: -0.25rem !important; } - .mb-md-n1, - .my-md-n1 { - margin-bottom: -0.25rem !important; } - .ml-md-n1, - .mx-md-n1 { - margin-left: -0.25rem !important; } - .m-md-n2 { - margin: -0.5rem !important; } - .mt-md-n2, - .my-md-n2 { - margin-top: -0.5rem !important; } - .mr-md-n2, - .mx-md-n2 { - margin-right: -0.5rem !important; } - .mb-md-n2, - .my-md-n2 { - margin-bottom: -0.5rem !important; } - .ml-md-n2, - .mx-md-n2 { - margin-left: -0.5rem !important; } - .m-md-n3 { - margin: -1rem !important; } - .mt-md-n3, - .my-md-n3 { - margin-top: -1rem !important; } - .mr-md-n3, - .mx-md-n3 { - margin-right: -1rem !important; } - .mb-md-n3, - .my-md-n3 { - margin-bottom: -1rem !important; } - .ml-md-n3, - .mx-md-n3 { - margin-left: -1rem !important; } - .m-md-n4 { - margin: -1.5rem !important; } - .mt-md-n4, - .my-md-n4 { - margin-top: -1.5rem !important; } - .mr-md-n4, - .mx-md-n4 { - margin-right: -1.5rem !important; } - .mb-md-n4, - .my-md-n4 { - margin-bottom: -1.5rem !important; } - .ml-md-n4, - .mx-md-n4 { - margin-left: -1.5rem !important; } - .m-md-n5 { - margin: -3rem !important; } - .mt-md-n5, - .my-md-n5 { - margin-top: -3rem !important; } - .mr-md-n5, - .mx-md-n5 { - margin-right: -3rem !important; } - .mb-md-n5, - .my-md-n5 { - margin-bottom: -3rem !important; } - .ml-md-n5, - .mx-md-n5 { - margin-left: -3rem !important; } - .m-md-auto { - margin: auto !important; } - .mt-md-auto, - .my-md-auto { - margin-top: auto !important; } - .mr-md-auto, - .mx-md-auto { - margin-right: auto !important; } - .mb-md-auto, - .my-md-auto { - margin-bottom: auto !important; } - .ml-md-auto, - .mx-md-auto { - margin-left: auto !important; } } - -@media (min-width: 3px) { - .m-lg-0 { - margin: 0 !important; } - .mt-lg-0, - .my-lg-0 { - margin-top: 0 !important; } - .mr-lg-0, - .mx-lg-0 { - margin-right: 0 !important; } - .mb-lg-0, - .my-lg-0 { - margin-bottom: 0 !important; } - .ml-lg-0, - .mx-lg-0 { - margin-left: 0 !important; } - .m-lg-1 { - margin: 0.25rem !important; } - .mt-lg-1, - .my-lg-1 { - margin-top: 0.25rem !important; } - .mr-lg-1, - .mx-lg-1 { - margin-right: 0.25rem !important; } - .mb-lg-1, - .my-lg-1 { - margin-bottom: 0.25rem !important; } - .ml-lg-1, - .mx-lg-1 { - margin-left: 0.25rem !important; } - .m-lg-2 { - margin: 0.5rem !important; } - .mt-lg-2, - .my-lg-2 { - margin-top: 0.5rem !important; } - .mr-lg-2, - .mx-lg-2 { - margin-right: 0.5rem !important; } - .mb-lg-2, - .my-lg-2 { - margin-bottom: 0.5rem !important; } - .ml-lg-2, - .mx-lg-2 { - margin-left: 0.5rem !important; } - .m-lg-3 { - margin: 1rem !important; } - .mt-lg-3, - .my-lg-3 { - margin-top: 1rem !important; } - .mr-lg-3, - .mx-lg-3 { - margin-right: 1rem !important; } - .mb-lg-3, - .my-lg-3 { - margin-bottom: 1rem !important; } - .ml-lg-3, - .mx-lg-3 { - margin-left: 1rem !important; } - .m-lg-4 { - margin: 1.5rem !important; } - .mt-lg-4, - .my-lg-4 { - margin-top: 1.5rem !important; } - .mr-lg-4, - .mx-lg-4 { - margin-right: 1.5rem !important; } - .mb-lg-4, - .my-lg-4 { - margin-bottom: 1.5rem !important; } - .ml-lg-4, - .mx-lg-4 { - margin-left: 1.5rem !important; } - .m-lg-5 { - margin: 3rem !important; } - .mt-lg-5, - .my-lg-5 { - margin-top: 3rem !important; } - .mr-lg-5, - .mx-lg-5 { - margin-right: 3rem !important; } - .mb-lg-5, - .my-lg-5 { - margin-bottom: 3rem !important; } - .ml-lg-5, - .mx-lg-5 { - margin-left: 3rem !important; } - .p-lg-0 { - padding: 0 !important; } - .pt-lg-0, - .py-lg-0 { - padding-top: 0 !important; } - .pr-lg-0, - .px-lg-0 { - padding-right: 0 !important; } - .pb-lg-0, - .py-lg-0 { - padding-bottom: 0 !important; } - .pl-lg-0, - .px-lg-0 { - padding-left: 0 !important; } - .p-lg-1 { - padding: 0.25rem !important; } - .pt-lg-1, - .py-lg-1 { - padding-top: 0.25rem !important; } - .pr-lg-1, - .px-lg-1 { - padding-right: 0.25rem !important; } - .pb-lg-1, - .py-lg-1 { - padding-bottom: 0.25rem !important; } - .pl-lg-1, - .px-lg-1 { - padding-left: 0.25rem !important; } - .p-lg-2 { - padding: 0.5rem !important; } - .pt-lg-2, - .py-lg-2 { - padding-top: 0.5rem !important; } - .pr-lg-2, - .px-lg-2 { - padding-right: 0.5rem !important; } - .pb-lg-2, - .py-lg-2 { - padding-bottom: 0.5rem !important; } - .pl-lg-2, - .px-lg-2 { - padding-left: 0.5rem !important; } - .p-lg-3 { - padding: 1rem !important; } - .pt-lg-3, - .py-lg-3 { - padding-top: 1rem !important; } - .pr-lg-3, - .px-lg-3 { - padding-right: 1rem !important; } - .pb-lg-3, - .py-lg-3 { - padding-bottom: 1rem !important; } - .pl-lg-3, - .px-lg-3 { - padding-left: 1rem !important; } - .p-lg-4 { - padding: 1.5rem !important; } - .pt-lg-4, - .py-lg-4 { - padding-top: 1.5rem !important; } - .pr-lg-4, - .px-lg-4 { - padding-right: 1.5rem !important; } - .pb-lg-4, - .py-lg-4 { - padding-bottom: 1.5rem !important; } - .pl-lg-4, - .px-lg-4 { - padding-left: 1.5rem !important; } - .p-lg-5 { - padding: 3rem !important; } - .pt-lg-5, - .py-lg-5 { - padding-top: 3rem !important; } - .pr-lg-5, - .px-lg-5 { - padding-right: 3rem !important; } - .pb-lg-5, - .py-lg-5 { - padding-bottom: 3rem !important; } - .pl-lg-5, - .px-lg-5 { - padding-left: 3rem !important; } - .m-lg-n1 { - margin: -0.25rem !important; } - .mt-lg-n1, - .my-lg-n1 { - margin-top: -0.25rem !important; } - .mr-lg-n1, - .mx-lg-n1 { - margin-right: -0.25rem !important; } - .mb-lg-n1, - .my-lg-n1 { - margin-bottom: -0.25rem !important; } - .ml-lg-n1, - .mx-lg-n1 { - margin-left: -0.25rem !important; } - .m-lg-n2 { - margin: -0.5rem !important; } - .mt-lg-n2, - .my-lg-n2 { - margin-top: -0.5rem !important; } - .mr-lg-n2, - .mx-lg-n2 { - margin-right: -0.5rem !important; } - .mb-lg-n2, - .my-lg-n2 { - margin-bottom: -0.5rem !important; } - .ml-lg-n2, - .mx-lg-n2 { - margin-left: -0.5rem !important; } - .m-lg-n3 { - margin: -1rem !important; } - .mt-lg-n3, - .my-lg-n3 { - margin-top: -1rem !important; } - .mr-lg-n3, - .mx-lg-n3 { - margin-right: -1rem !important; } - .mb-lg-n3, - .my-lg-n3 { - margin-bottom: -1rem !important; } - .ml-lg-n3, - .mx-lg-n3 { - margin-left: -1rem !important; } - .m-lg-n4 { - margin: -1.5rem !important; } - .mt-lg-n4, - .my-lg-n4 { - margin-top: -1.5rem !important; } - .mr-lg-n4, - .mx-lg-n4 { - margin-right: -1.5rem !important; } - .mb-lg-n4, - .my-lg-n4 { - margin-bottom: -1.5rem !important; } - .ml-lg-n4, - .mx-lg-n4 { - margin-left: -1.5rem !important; } - .m-lg-n5 { - margin: -3rem !important; } - .mt-lg-n5, - .my-lg-n5 { - margin-top: -3rem !important; } - .mr-lg-n5, - .mx-lg-n5 { - margin-right: -3rem !important; } - .mb-lg-n5, - .my-lg-n5 { - margin-bottom: -3rem !important; } - .ml-lg-n5, - .mx-lg-n5 { - margin-left: -3rem !important; } - .m-lg-auto { - margin: auto !important; } - .mt-lg-auto, - .my-lg-auto { - margin-top: auto !important; } - .mr-lg-auto, - .mx-lg-auto { - margin-right: auto !important; } - .mb-lg-auto, - .my-lg-auto { - margin-bottom: auto !important; } - .ml-lg-auto, - .mx-lg-auto { - margin-left: auto !important; } } - -@media (min-width: 4px) { - .m-xl-0 { - margin: 0 !important; } - .mt-xl-0, - .my-xl-0 { - margin-top: 0 !important; } - .mr-xl-0, - .mx-xl-0 { - margin-right: 0 !important; } - .mb-xl-0, - .my-xl-0 { - margin-bottom: 0 !important; } - .ml-xl-0, - .mx-xl-0 { - margin-left: 0 !important; } - .m-xl-1 { - margin: 0.25rem !important; } - .mt-xl-1, - .my-xl-1 { - margin-top: 0.25rem !important; } - .mr-xl-1, - .mx-xl-1 { - margin-right: 0.25rem !important; } - .mb-xl-1, - .my-xl-1 { - margin-bottom: 0.25rem !important; } - .ml-xl-1, - .mx-xl-1 { - margin-left: 0.25rem !important; } - .m-xl-2 { - margin: 0.5rem !important; } - .mt-xl-2, - .my-xl-2 { - margin-top: 0.5rem !important; } - .mr-xl-2, - .mx-xl-2 { - margin-right: 0.5rem !important; } - .mb-xl-2, - .my-xl-2 { - margin-bottom: 0.5rem !important; } - .ml-xl-2, - .mx-xl-2 { - margin-left: 0.5rem !important; } - .m-xl-3 { - margin: 1rem !important; } - .mt-xl-3, - .my-xl-3 { - margin-top: 1rem !important; } - .mr-xl-3, - .mx-xl-3 { - margin-right: 1rem !important; } - .mb-xl-3, - .my-xl-3 { - margin-bottom: 1rem !important; } - .ml-xl-3, - .mx-xl-3 { - margin-left: 1rem !important; } - .m-xl-4 { - margin: 1.5rem !important; } - .mt-xl-4, - .my-xl-4 { - margin-top: 1.5rem !important; } - .mr-xl-4, - .mx-xl-4 { - margin-right: 1.5rem !important; } - .mb-xl-4, - .my-xl-4 { - margin-bottom: 1.5rem !important; } - .ml-xl-4, - .mx-xl-4 { - margin-left: 1.5rem !important; } - .m-xl-5 { - margin: 3rem !important; } - .mt-xl-5, - .my-xl-5 { - margin-top: 3rem !important; } - .mr-xl-5, - .mx-xl-5 { - margin-right: 3rem !important; } - .mb-xl-5, - .my-xl-5 { - margin-bottom: 3rem !important; } - .ml-xl-5, - .mx-xl-5 { - margin-left: 3rem !important; } - .p-xl-0 { - padding: 0 !important; } - .pt-xl-0, - .py-xl-0 { - padding-top: 0 !important; } - .pr-xl-0, - .px-xl-0 { - padding-right: 0 !important; } - .pb-xl-0, - .py-xl-0 { - padding-bottom: 0 !important; } - .pl-xl-0, - .px-xl-0 { - padding-left: 0 !important; } - .p-xl-1 { - padding: 0.25rem !important; } - .pt-xl-1, - .py-xl-1 { - padding-top: 0.25rem !important; } - .pr-xl-1, - .px-xl-1 { - padding-right: 0.25rem !important; } - .pb-xl-1, - .py-xl-1 { - padding-bottom: 0.25rem !important; } - .pl-xl-1, - .px-xl-1 { - padding-left: 0.25rem !important; } - .p-xl-2 { - padding: 0.5rem !important; } - .pt-xl-2, - .py-xl-2 { - padding-top: 0.5rem !important; } - .pr-xl-2, - .px-xl-2 { - padding-right: 0.5rem !important; } - .pb-xl-2, - .py-xl-2 { - padding-bottom: 0.5rem !important; } - .pl-xl-2, - .px-xl-2 { - padding-left: 0.5rem !important; } - .p-xl-3 { - padding: 1rem !important; } - .pt-xl-3, - .py-xl-3 { - padding-top: 1rem !important; } - .pr-xl-3, - .px-xl-3 { - padding-right: 1rem !important; } - .pb-xl-3, - .py-xl-3 { - padding-bottom: 1rem !important; } - .pl-xl-3, - .px-xl-3 { - padding-left: 1rem !important; } - .p-xl-4 { - padding: 1.5rem !important; } - .pt-xl-4, - .py-xl-4 { - padding-top: 1.5rem !important; } - .pr-xl-4, - .px-xl-4 { - padding-right: 1.5rem !important; } - .pb-xl-4, - .py-xl-4 { - padding-bottom: 1.5rem !important; } - .pl-xl-4, - .px-xl-4 { - padding-left: 1.5rem !important; } - .p-xl-5 { - padding: 3rem !important; } - .pt-xl-5, - .py-xl-5 { - padding-top: 3rem !important; } - .pr-xl-5, - .px-xl-5 { - padding-right: 3rem !important; } - .pb-xl-5, - .py-xl-5 { - padding-bottom: 3rem !important; } - .pl-xl-5, - .px-xl-5 { - padding-left: 3rem !important; } - .m-xl-n1 { - margin: -0.25rem !important; } - .mt-xl-n1, - .my-xl-n1 { - margin-top: -0.25rem !important; } - .mr-xl-n1, - .mx-xl-n1 { - margin-right: -0.25rem !important; } - .mb-xl-n1, - .my-xl-n1 { - margin-bottom: -0.25rem !important; } - .ml-xl-n1, - .mx-xl-n1 { - margin-left: -0.25rem !important; } - .m-xl-n2 { - margin: -0.5rem !important; } - .mt-xl-n2, - .my-xl-n2 { - margin-top: -0.5rem !important; } - .mr-xl-n2, - .mx-xl-n2 { - margin-right: -0.5rem !important; } - .mb-xl-n2, - .my-xl-n2 { - margin-bottom: -0.5rem !important; } - .ml-xl-n2, - .mx-xl-n2 { - margin-left: -0.5rem !important; } - .m-xl-n3 { - margin: -1rem !important; } - .mt-xl-n3, - .my-xl-n3 { - margin-top: -1rem !important; } - .mr-xl-n3, - .mx-xl-n3 { - margin-right: -1rem !important; } - .mb-xl-n3, - .my-xl-n3 { - margin-bottom: -1rem !important; } - .ml-xl-n3, - .mx-xl-n3 { - margin-left: -1rem !important; } - .m-xl-n4 { - margin: -1.5rem !important; } - .mt-xl-n4, - .my-xl-n4 { - margin-top: -1.5rem !important; } - .mr-xl-n4, - .mx-xl-n4 { - margin-right: -1.5rem !important; } - .mb-xl-n4, - .my-xl-n4 { - margin-bottom: -1.5rem !important; } - .ml-xl-n4, - .mx-xl-n4 { - margin-left: -1.5rem !important; } - .m-xl-n5 { - margin: -3rem !important; } - .mt-xl-n5, - .my-xl-n5 { - margin-top: -3rem !important; } - .mr-xl-n5, - .mx-xl-n5 { - margin-right: -3rem !important; } - .mb-xl-n5, - .my-xl-n5 { - margin-bottom: -3rem !important; } - .ml-xl-n5, - .mx-xl-n5 { - margin-left: -3rem !important; } - .m-xl-auto { - margin: auto !important; } - .mt-xl-auto, - .my-xl-auto { - margin-top: auto !important; } - .mr-xl-auto, - .mx-xl-auto { - margin-right: auto !important; } - .mb-xl-auto, - .my-xl-auto { - margin-bottom: auto !important; } - .ml-xl-auto, - .mx-xl-auto { - margin-left: auto !important; } } - -.text-monospace, .totp .totp-code { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; } - -.text-justify { - text-align: justify !important; } - -.text-wrap { - white-space: normal !important; } - -.text-nowrap { - white-space: nowrap !important; } - -.text-truncate { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; } - -.text-left { - text-align: left !important; } - -.text-right { - text-align: right !important; } - -.text-center { - text-align: center !important; } - -@media (min-width: 1px) { - .text-sm-left { - text-align: left !important; } - .text-sm-right { - text-align: right !important; } - .text-sm-center { - text-align: center !important; } } - -@media (min-width: 2px) { - .text-md-left { - text-align: left !important; } - .text-md-right { - text-align: right !important; } - .text-md-center { - text-align: center !important; } } - -@media (min-width: 3px) { - .text-lg-left { - text-align: left !important; } - .text-lg-right { - text-align: right !important; } - .text-lg-center { - text-align: center !important; } } - -@media (min-width: 4px) { - .text-xl-left { - text-align: left !important; } - .text-xl-right { - text-align: right !important; } - .text-xl-center { - text-align: center !important; } } - -.text-lowercase { - text-transform: lowercase !important; } - -.text-uppercase { - text-transform: uppercase !important; } - -.text-capitalize { - text-transform: capitalize !important; } - -.font-weight-light { - font-weight: 300 !important; } - -.font-weight-lighter { - font-weight: lighter !important; } - -.font-weight-normal { - font-weight: 400 !important; } - -.font-weight-bold { - font-weight: 700 !important; } - -.font-weight-bolder { - font-weight: bolder !important; } - -.font-italic { - font-style: italic !important; } - -.text-white { - color: #fff !important; } - -.text-primary { - color: #175DDC !important; } - -a.text-primary:hover, a.text-primary:focus { - color: #104097 !important; } - -.text-secondary { - color: #ced4da !important; } - -a.text-secondary:hover, a.text-secondary:focus { - color: #a2aeb9 !important; } - -.text-success { - color: #00a65a !important; } - -a.text-success:hover, a.text-success:focus { - color: #005a31 !important; } - -.text-info { - color: #555555 !important; } - -a.text-info:hover, a.text-info:focus { - color: #2f2f2f !important; } - -.text-warning { - color: #bf7e16 !important; } - -a.text-warning:hover, a.text-warning:focus { - color: #7a510e !important; } - -.text-danger { - color: #dd4b39 !important; } - -a.text-danger:hover, a.text-danger:focus { - color: #ac2d1e !important; } - -.text-light { - color: #f8f9fa !important; } - -a.text-light:hover, a.text-light:focus { - color: #cbd3da !important; } - -.text-dark { - color: #343a40 !important; } - -a.text-dark:hover, a.text-dark:focus { - color: #121416 !important; } - -.text-primary-accent { - color: #1252A3 !important; } - -a.text-primary-accent:hover, a.text-primary-accent:focus { - color: #0a2f5e !important; } - -.text-secondary-alt { - color: #1A3B66 !important; } - -a.text-secondary-alt:hover, a.text-secondary-alt:focus { - color: #0a1829 !important; } - -.text-body { - color: #333333 !important; } - -.text-muted, .card-header small, .modal-header small { - color: #6c757d !important; } - -.text-black-50 { - color: rgba(0, 0, 0, 0.5) !important; } - -.text-white-50 { - color: rgba(255, 255, 255, 0.5) !important; } - -.text-hide { - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0; } - -.text-decoration-none { - text-decoration: none !important; } - -.text-break { - word-break: break-word !important; - overflow-wrap: break-word !important; } - -.text-reset { - color: inherit !important; } - -.visible { - visibility: visible !important; } - -.invisible { - visibility: hidden !important; } - -@media print { - *, - *::before, - *::after { - text-shadow: none !important; - box-shadow: none !important; } - a:not(.btn) { - text-decoration: underline; } - abbr[title]::after { - content: " (" attr(title) ")"; } - pre { - white-space: pre-wrap !important; } - pre, - blockquote { - border: 1px solid #adb5bd; - page-break-inside: avoid; } - thead { - display: table-header-group; } - tr, - img { - page-break-inside: avoid; } - p, - h2, - h3 { - orphans: 3; - widows: 3; } - h2, - h3 { - page-break-after: avoid; } - @page { - size: a3; } - body { - min-width: 3px !important; } - .container { - min-width: 3px !important; } - .navbar { - display: none; } - .badge { - border: 1px solid #000; } - .table { - border-collapse: collapse !important; } - .table td, - .table th { - background-color: #fff !important; } - .table-bordered th, - .table-bordered td { - border: 1px solid #dee2e6 !important; } - .table-dark { - color: inherit; } - .table-dark th, - .table-dark td, - .table-dark thead th, - .table-dark tbody + tbody { - border-color: #dee2e6; } - .table .thead-dark th { - color: inherit; - border-color: #dee2e6; } } - -/*! - * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */ -/* FONT PATH - * -------------------------- */ -@font-face { - font-family: 'FontAwesome'; - src: url(../fonts/fontawesome-webfont.eot); - src: url(../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0) format("embedded-opentype"), url(../fonts/fontawesome-webfont.woff2) format("woff2"), url(../fonts/fontawesome-webfont.woff) format("woff"), url(../fonts/fontawesome-webfont.ttf) format("truetype"), url(../fonts/fontawesome-webfont.svg#fontawesomeregular) format("svg"); - font-weight: normal; - font-style: normal; } - -.fa { - display: inline-block; - font: normal normal normal 14px/1 FontAwesome; - font-size: inherit; - text-rendering: auto; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; } - -/* makes the font 33% larger relative to the icon container */ -.fa-lg { - font-size: 1.33333em; - line-height: 0.75em; - vertical-align: -15%; } - -.fa-2x { - font-size: 2em; } - -.fa-3x { - font-size: 3em; } - -.fa-4x { - font-size: 4em; } - -.fa-5x { - font-size: 5em; } - -.fa-fw { - width: 1.28571em; - text-align: center; } - -.fa-ul { - padding-left: 0; - margin-left: 2.14286em; - list-style-type: none; } - .fa-ul > li { - position: relative; } - -.fa-li { - position: absolute; - left: -2.14286em; - width: 2.14286em; - top: 0.14286em; - text-align: center; } - .fa-li.fa-lg { - left: -1.85714em; } - -.fa-border { - padding: .2em .25em .15em; - border: solid 0.08em #eee; - border-radius: .1em; } - -.fa-pull-left { - float: left; } - -.fa-pull-right { - float: right; } - -.fa.fa-pull-left { - margin-right: .3em; } - -.fa.fa-pull-right { - margin-left: .3em; } - -/* Deprecated as of 4.4.0 */ -.pull-right { - float: right; } - -.pull-left { - float: left; } - -.fa.pull-left { - margin-right: .3em; } - -.fa.pull-right { - margin-left: .3em; } - -.fa-spin { - -webkit-animation: fa-spin 2s infinite linear; - animation: fa-spin 2s infinite linear; } - -.fa-pulse { - -webkit-animation: fa-spin 1s infinite steps(8); - animation: fa-spin 1s infinite steps(8); } - -@-webkit-keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); } } - -@keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); } - 100% { - -webkit-transform: rotate(359deg); - transform: rotate(359deg); } } - -.fa-rotate-90 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; - -webkit-transform: rotate(90deg); - -ms-transform: rotate(90deg); - transform: rotate(90deg); } - -.fa-rotate-180 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; - -webkit-transform: rotate(180deg); - -ms-transform: rotate(180deg); - transform: rotate(180deg); } - -.fa-rotate-270 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; - -webkit-transform: rotate(270deg); - -ms-transform: rotate(270deg); - transform: rotate(270deg); } - -.fa-flip-horizontal { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; - -webkit-transform: scale(-1, 1); - -ms-transform: scale(-1, 1); - transform: scale(-1, 1); } - -.fa-flip-vertical { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; - -webkit-transform: scale(1, -1); - -ms-transform: scale(1, -1); - transform: scale(1, -1); } - -:root .fa-rotate-90, -:root .fa-rotate-180, -:root .fa-rotate-270, -:root .fa-flip-horizontal, -:root .fa-flip-vertical { - filter: none; } - -.fa-stack { - position: relative; - display: inline-block; - width: 2em; - height: 2em; - line-height: 2em; - vertical-align: middle; } - -.fa-stack-1x, .fa-stack-2x { - position: absolute; - left: 0; - width: 100%; - text-align: center; } - -.fa-stack-1x { - line-height: inherit; } - -.fa-stack-2x { - font-size: 2em; } - -.fa-inverse { - color: #fff; } - -/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen - readers do not read off random characters that represent icons */ -.fa-glass:before { - content: "\F000"; } - -.fa-music:before { - content: "\F001"; } - -.fa-search:before { - content: "\F002"; } - -.fa-envelope-o:before { - content: "\F003"; } - -.fa-heart:before { - content: "\F004"; } - -.fa-star:before { - content: "\F005"; } - -.fa-star-o:before { - content: "\F006"; } - -.fa-user:before { - content: "\F007"; } - -.fa-film:before { - content: "\F008"; } - -.fa-th-large:before { - content: "\F009"; } - -.fa-th:before { - content: "\F00A"; } - -.fa-th-list:before { - content: "\F00B"; } - -.fa-check:before { - content: "\F00C"; } - -.fa-remove:before, -.fa-close:before, -.fa-times:before { - content: "\F00D"; } - -.fa-search-plus:before { - content: "\F00E"; } - -.fa-search-minus:before { - content: "\F010"; } - -.fa-power-off:before { - content: "\F011"; } - -.fa-signal:before { - content: "\F012"; } - -.fa-gear:before, -.fa-cog:before { - content: "\F013"; } - -.fa-trash-o:before { - content: "\F014"; } - -.fa-home:before { - content: "\F015"; } - -.fa-file-o:before { - content: "\F016"; } - -.fa-clock-o:before { - content: "\F017"; } - -.fa-road:before { - content: "\F018"; } - -.fa-download:before { - content: "\F019"; } - -.fa-arrow-circle-o-down:before { - content: "\F01A"; } - -.fa-arrow-circle-o-up:before { - content: "\F01B"; } - -.fa-inbox:before { - content: "\F01C"; } - -.fa-play-circle-o:before { - content: "\F01D"; } - -.fa-rotate-right:before, -.fa-repeat:before { - content: "\F01E"; } - -.fa-refresh:before { - content: "\F021"; } - -.fa-list-alt:before { - content: "\F022"; } - -.fa-lock:before { - content: "\F023"; } - -.fa-flag:before { - content: "\F024"; } - -.fa-headphones:before { - content: "\F025"; } - -.fa-volume-off:before { - content: "\F026"; } - -.fa-volume-down:before { - content: "\F027"; } - -.fa-volume-up:before { - content: "\F028"; } - -.fa-qrcode:before { - content: "\F029"; } - -.fa-barcode:before { - content: "\F02A"; } - -.fa-tag:before { - content: "\F02B"; } - -.fa-tags:before { - content: "\F02C"; } - -.fa-book:before { - content: "\F02D"; } - -.fa-bookmark:before { - content: "\F02E"; } - -.fa-print:before { - content: "\F02F"; } - -.fa-camera:before { - content: "\F030"; } - -.fa-font:before { - content: "\F031"; } - -.fa-bold:before { - content: "\F032"; } - -.fa-italic:before { - content: "\F033"; } - -.fa-text-height:before { - content: "\F034"; } - -.fa-text-width:before { - content: "\F035"; } - -.fa-align-left:before { - content: "\F036"; } - -.fa-align-center:before { - content: "\F037"; } - -.fa-align-right:before { - content: "\F038"; } - -.fa-align-justify:before { - content: "\F039"; } - -.fa-list:before { - content: "\F03A"; } - -.fa-dedent:before, -.fa-outdent:before { - content: "\F03B"; } - -.fa-indent:before { - content: "\F03C"; } - -.fa-video-camera:before { - content: "\F03D"; } - -.fa-photo:before, -.fa-image:before, -.fa-picture-o:before { - content: "\F03E"; } - -.fa-pencil:before { - content: "\F040"; } - -.fa-map-marker:before { - content: "\F041"; } - -.fa-adjust:before { - content: "\F042"; } - -.fa-tint:before { - content: "\F043"; } - -.fa-edit:before, -.fa-pencil-square-o:before { - content: "\F044"; } - -.fa-share-square-o:before { - content: "\F045"; } - -.fa-check-square-o:before { - content: "\F046"; } - -.fa-arrows:before { - content: "\F047"; } - -.fa-step-backward:before { - content: "\F048"; } - -.fa-fast-backward:before { - content: "\F049"; } - -.fa-backward:before { - content: "\F04A"; } - -.fa-play:before { - content: "\F04B"; } - -.fa-pause:before { - content: "\F04C"; } - -.fa-stop:before { - content: "\F04D"; } - -.fa-forward:before { - content: "\F04E"; } - -.fa-fast-forward:before { - content: "\F050"; } - -.fa-step-forward:before { - content: "\F051"; } - -.fa-eject:before { - content: "\F052"; } - -.fa-chevron-left:before { - content: "\F053"; } - -.fa-chevron-right:before { - content: "\F054"; } - -.fa-plus-circle:before { - content: "\F055"; } - -.fa-minus-circle:before { - content: "\F056"; } - -.fa-times-circle:before { - content: "\F057"; } - -.fa-check-circle:before { - content: "\F058"; } - -.fa-question-circle:before { - content: "\F059"; } - -.fa-info-circle:before { - content: "\F05A"; } - -.fa-crosshairs:before { - content: "\F05B"; } - -.fa-times-circle-o:before { - content: "\F05C"; } - -.fa-check-circle-o:before { - content: "\F05D"; } - -.fa-ban:before { - content: "\F05E"; } - -.fa-arrow-left:before { - content: "\F060"; } - -.fa-arrow-right:before { - content: "\F061"; } - -.fa-arrow-up:before { - content: "\F062"; } - -.fa-arrow-down:before { - content: "\F063"; } - -.fa-mail-forward:before, -.fa-share:before { - content: "\F064"; } - -.fa-expand:before { - content: "\F065"; } - -.fa-compress:before { - content: "\F066"; } - -.fa-plus:before { - content: "\F067"; } - -.fa-minus:before { - content: "\F068"; } - -.fa-asterisk:before { - content: "\F069"; } - -.fa-exclamation-circle:before { - content: "\F06A"; } - -.fa-gift:before { - content: "\F06B"; } - -.fa-leaf:before { - content: "\F06C"; } - -.fa-fire:before { - content: "\F06D"; } - -.fa-eye:before { - content: "\F06E"; } - -.fa-eye-slash:before { - content: "\F070"; } - -.fa-warning:before, -.fa-exclamation-triangle:before { - content: "\F071"; } - -.fa-plane:before { - content: "\F072"; } - -.fa-calendar:before { - content: "\F073"; } - -.fa-random:before { - content: "\F074"; } - -.fa-comment:before { - content: "\F075"; } - -.fa-magnet:before { - content: "\F076"; } - -.fa-chevron-up:before { - content: "\F077"; } - -.fa-chevron-down:before { - content: "\F078"; } - -.fa-retweet:before { - content: "\F079"; } - -.fa-shopping-cart:before { - content: "\F07A"; } - -.fa-folder:before { - content: "\F07B"; } - -.fa-folder-open:before { - content: "\F07C"; } - -.fa-arrows-v:before { - content: "\F07D"; } - -.fa-arrows-h:before { - content: "\F07E"; } - -.fa-bar-chart-o:before, -.fa-bar-chart:before { - content: "\F080"; } - -.fa-twitter-square:before { - content: "\F081"; } - -.fa-facebook-square:before { - content: "\F082"; } - -.fa-camera-retro:before { - content: "\F083"; } - -.fa-key:before { - content: "\F084"; } - -.fa-gears:before, -.fa-cogs:before { - content: "\F085"; } - -.fa-comments:before { - content: "\F086"; } - -.fa-thumbs-o-up:before { - content: "\F087"; } - -.fa-thumbs-o-down:before { - content: "\F088"; } - -.fa-star-half:before { - content: "\F089"; } - -.fa-heart-o:before { - content: "\F08A"; } - -.fa-sign-out:before { - content: "\F08B"; } - -.fa-linkedin-square:before { - content: "\F08C"; } - -.fa-thumb-tack:before { - content: "\F08D"; } - -.fa-external-link:before { - content: "\F08E"; } - -.fa-sign-in:before { - content: "\F090"; } - -.fa-trophy:before { - content: "\F091"; } - -.fa-github-square:before { - content: "\F092"; } - -.fa-upload:before { - content: "\F093"; } - -.fa-lemon-o:before { - content: "\F094"; } - -.fa-phone:before { - content: "\F095"; } - -.fa-square-o:before { - content: "\F096"; } - -.fa-bookmark-o:before { - content: "\F097"; } - -.fa-phone-square:before { - content: "\F098"; } - -.fa-twitter:before { - content: "\F099"; } - -.fa-facebook-f:before, -.fa-facebook:before { - content: "\F09A"; } - -.fa-github:before { - content: "\F09B"; } - -.fa-unlock:before { - content: "\F09C"; } - -.fa-credit-card:before { - content: "\F09D"; } - -.fa-feed:before, -.fa-rss:before { - content: "\F09E"; } - -.fa-hdd-o:before { - content: "\F0A0"; } - -.fa-bullhorn:before { - content: "\F0A1"; } - -.fa-bell:before { - content: "\F0F3"; } - -.fa-certificate:before { - content: "\F0A3"; } - -.fa-hand-o-right:before { - content: "\F0A4"; } - -.fa-hand-o-left:before { - content: "\F0A5"; } - -.fa-hand-o-up:before { - content: "\F0A6"; } - -.fa-hand-o-down:before { - content: "\F0A7"; } - -.fa-arrow-circle-left:before { - content: "\F0A8"; } - -.fa-arrow-circle-right:before { - content: "\F0A9"; } - -.fa-arrow-circle-up:before { - content: "\F0AA"; } - -.fa-arrow-circle-down:before { - content: "\F0AB"; } - -.fa-globe:before { - content: "\F0AC"; } - -.fa-wrench:before { - content: "\F0AD"; } - -.fa-tasks:before { - content: "\F0AE"; } - -.fa-filter:before { - content: "\F0B0"; } - -.fa-briefcase:before { - content: "\F0B1"; } - -.fa-arrows-alt:before { - content: "\F0B2"; } - -.fa-group:before, -.fa-users:before { - content: "\F0C0"; } - -.fa-chain:before, -.fa-link:before { - content: "\F0C1"; } - -.fa-cloud:before { - content: "\F0C2"; } - -.fa-flask:before { - content: "\F0C3"; } - -.fa-cut:before, -.fa-scissors:before { - content: "\F0C4"; } - -.fa-copy:before, -.fa-files-o:before { - content: "\F0C5"; } - -.fa-paperclip:before { - content: "\F0C6"; } - -.fa-save:before, -.fa-floppy-o:before { - content: "\F0C7"; } - -.fa-square:before { - content: "\F0C8"; } - -.fa-navicon:before, -.fa-reorder:before, -.fa-bars:before { - content: "\F0C9"; } - -.fa-list-ul:before { - content: "\F0CA"; } - -.fa-list-ol:before { - content: "\F0CB"; } - -.fa-strikethrough:before { - content: "\F0CC"; } - -.fa-underline:before { - content: "\F0CD"; } - -.fa-table:before { - content: "\F0CE"; } - -.fa-magic:before { - content: "\F0D0"; } - -.fa-truck:before { - content: "\F0D1"; } - -.fa-pinterest:before { - content: "\F0D2"; } - -.fa-pinterest-square:before { - content: "\F0D3"; } - -.fa-google-plus-square:before { - content: "\F0D4"; } - -.fa-google-plus:before { - content: "\F0D5"; } - -.fa-money:before { - content: "\F0D6"; } - -.fa-caret-down:before { - content: "\F0D7"; } - -.fa-caret-up:before { - content: "\F0D8"; } - -.fa-caret-left:before { - content: "\F0D9"; } - -.fa-caret-right:before { - content: "\F0DA"; } - -.fa-columns:before { - content: "\F0DB"; } - -.fa-unsorted:before, -.fa-sort:before { - content: "\F0DC"; } - -.fa-sort-down:before, -.fa-sort-desc:before { - content: "\F0DD"; } - -.fa-sort-up:before, -.fa-sort-asc:before { - content: "\F0DE"; } - -.fa-envelope:before { - content: "\F0E0"; } - -.fa-linkedin:before { - content: "\F0E1"; } - -.fa-rotate-left:before, -.fa-undo:before { - content: "\F0E2"; } - -.fa-legal:before, -.fa-gavel:before { - content: "\F0E3"; } - -.fa-dashboard:before, -.fa-tachometer:before { - content: "\F0E4"; } - -.fa-comment-o:before { - content: "\F0E5"; } - -.fa-comments-o:before { - content: "\F0E6"; } - -.fa-flash:before, -.fa-bolt:before { - content: "\F0E7"; } - -.fa-sitemap:before { - content: "\F0E8"; } - -.fa-umbrella:before { - content: "\F0E9"; } - -.fa-paste:before, -.fa-clipboard:before { - content: "\F0EA"; } - -.fa-lightbulb-o:before { - content: "\F0EB"; } - -.fa-exchange:before { - content: "\F0EC"; } - -.fa-cloud-download:before { - content: "\F0ED"; } - -.fa-cloud-upload:before { - content: "\F0EE"; } - -.fa-user-md:before { - content: "\F0F0"; } - -.fa-stethoscope:before { - content: "\F0F1"; } - -.fa-suitcase:before { - content: "\F0F2"; } - -.fa-bell-o:before { - content: "\F0A2"; } - -.fa-coffee:before { - content: "\F0F4"; } - -.fa-cutlery:before { - content: "\F0F5"; } - -.fa-file-text-o:before { - content: "\F0F6"; } - -.fa-building-o:before { - content: "\F0F7"; } - -.fa-hospital-o:before { - content: "\F0F8"; } - -.fa-ambulance:before { - content: "\F0F9"; } - -.fa-medkit:before { - content: "\F0FA"; } - -.fa-fighter-jet:before { - content: "\F0FB"; } - -.fa-beer:before { - content: "\F0FC"; } - -.fa-h-square:before { - content: "\F0FD"; } - -.fa-plus-square:before { - content: "\F0FE"; } - -.fa-angle-double-left:before { - content: "\F100"; } - -.fa-angle-double-right:before { - content: "\F101"; } - -.fa-angle-double-up:before { - content: "\F102"; } - -.fa-angle-double-down:before { - content: "\F103"; } - -.fa-angle-left:before { - content: "\F104"; } - -.fa-angle-right:before { - content: "\F105"; } - -.fa-angle-up:before { - content: "\F106"; } - -.fa-angle-down:before { - content: "\F107"; } - -.fa-desktop:before { - content: "\F108"; } - -.fa-laptop:before { - content: "\F109"; } - -.fa-tablet:before { - content: "\F10A"; } - -.fa-mobile-phone:before, -.fa-mobile:before { - content: "\F10B"; } - -.fa-circle-o:before { - content: "\F10C"; } - -.fa-quote-left:before { - content: "\F10D"; } - -.fa-quote-right:before { - content: "\F10E"; } - -.fa-spinner:before { - content: "\F110"; } - -.fa-circle:before { - content: "\F111"; } - -.fa-mail-reply:before, -.fa-reply:before { - content: "\F112"; } - -.fa-github-alt:before { - content: "\F113"; } - -.fa-folder-o:before { - content: "\F114"; } - -.fa-folder-open-o:before { - content: "\F115"; } - -.fa-smile-o:before { - content: "\F118"; } - -.fa-frown-o:before { - content: "\F119"; } - -.fa-meh-o:before { - content: "\F11A"; } - -.fa-gamepad:before { - content: "\F11B"; } - -.fa-keyboard-o:before { - content: "\F11C"; } - -.fa-flag-o:before { - content: "\F11D"; } - -.fa-flag-checkered:before { - content: "\F11E"; } - -.fa-terminal:before { - content: "\F120"; } - -.fa-code:before { - content: "\F121"; } - -.fa-mail-reply-all:before, -.fa-reply-all:before { - content: "\F122"; } - -.fa-star-half-empty:before, -.fa-star-half-full:before, -.fa-star-half-o:before { - content: "\F123"; } - -.fa-location-arrow:before { - content: "\F124"; } - -.fa-crop:before { - content: "\F125"; } - -.fa-code-fork:before { - content: "\F126"; } - -.fa-unlink:before, -.fa-chain-broken:before { - content: "\F127"; } - -.fa-question:before { - content: "\F128"; } - -.fa-info:before { - content: "\F129"; } - -.fa-exclamation:before { - content: "\F12A"; } - -.fa-superscript:before { - content: "\F12B"; } - -.fa-subscript:before { - content: "\F12C"; } - -.fa-eraser:before { - content: "\F12D"; } - -.fa-puzzle-piece:before { - content: "\F12E"; } - -.fa-microphone:before { - content: "\F130"; } - -.fa-microphone-slash:before { - content: "\F131"; } - -.fa-shield:before { - content: "\F132"; } - -.fa-calendar-o:before { - content: "\F133"; } - -.fa-fire-extinguisher:before { - content: "\F134"; } - -.fa-rocket:before { - content: "\F135"; } - -.fa-maxcdn:before { - content: "\F136"; } - -.fa-chevron-circle-left:before { - content: "\F137"; } - -.fa-chevron-circle-right:before { - content: "\F138"; } - -.fa-chevron-circle-up:before { - content: "\F139"; } - -.fa-chevron-circle-down:before { - content: "\F13A"; } - -.fa-html5:before { - content: "\F13B"; } - -.fa-css3:before { - content: "\F13C"; } - -.fa-anchor:before { - content: "\F13D"; } - -.fa-unlock-alt:before { - content: "\F13E"; } - -.fa-bullseye:before { - content: "\F140"; } - -.fa-ellipsis-h:before { - content: "\F141"; } - -.fa-ellipsis-v:before { - content: "\F142"; } - -.fa-rss-square:before { - content: "\F143"; } - -.fa-play-circle:before { - content: "\F144"; } - -.fa-ticket:before { - content: "\F145"; } - -.fa-minus-square:before { - content: "\F146"; } - -.fa-minus-square-o:before { - content: "\F147"; } - -.fa-level-up:before { - content: "\F148"; } - -.fa-level-down:before { - content: "\F149"; } - -.fa-check-square:before { - content: "\F14A"; } - -.fa-pencil-square:before { - content: "\F14B"; } - -.fa-external-link-square:before { - content: "\F14C"; } - -.fa-share-square:before { - content: "\F14D"; } - -.fa-compass:before { - content: "\F14E"; } - -.fa-toggle-down:before, -.fa-caret-square-o-down:before { - content: "\F150"; } - -.fa-toggle-up:before, -.fa-caret-square-o-up:before { - content: "\F151"; } - -.fa-toggle-right:before, -.fa-caret-square-o-right:before { - content: "\F152"; } - -.fa-euro:before, -.fa-eur:before { - content: "\F153"; } - -.fa-gbp:before { - content: "\F154"; } - -.fa-dollar:before, -.fa-usd:before { - content: "\F155"; } - -.fa-rupee:before, -.fa-inr:before { - content: "\F156"; } - -.fa-cny:before, -.fa-rmb:before, -.fa-yen:before, -.fa-jpy:before { - content: "\F157"; } - -.fa-ruble:before, -.fa-rouble:before, -.fa-rub:before { - content: "\F158"; } - -.fa-won:before, -.fa-krw:before { - content: "\F159"; } - -.fa-bitcoin:before, -.fa-btc:before { - content: "\F15A"; } - -.fa-file:before { - content: "\F15B"; } - -.fa-file-text:before { - content: "\F15C"; } - -.fa-sort-alpha-asc:before { - content: "\F15D"; } - -.fa-sort-alpha-desc:before { - content: "\F15E"; } - -.fa-sort-amount-asc:before { - content: "\F160"; } - -.fa-sort-amount-desc:before { - content: "\F161"; } - -.fa-sort-numeric-asc:before { - content: "\F162"; } - -.fa-sort-numeric-desc:before { - content: "\F163"; } - -.fa-thumbs-up:before { - content: "\F164"; } - -.fa-thumbs-down:before { - content: "\F165"; } - -.fa-youtube-square:before { - content: "\F166"; } - -.fa-youtube:before { - content: "\F167"; } - -.fa-xing:before { - content: "\F168"; } - -.fa-xing-square:before { - content: "\F169"; } - -.fa-youtube-play:before { - content: "\F16A"; } - -.fa-dropbox:before { - content: "\F16B"; } - -.fa-stack-overflow:before { - content: "\F16C"; } - -.fa-instagram:before { - content: "\F16D"; } - -.fa-flickr:before { - content: "\F16E"; } - -.fa-adn:before { - content: "\F170"; } - -.fa-bitbucket:before { - content: "\F171"; } - -.fa-bitbucket-square:before { - content: "\F172"; } - -.fa-tumblr:before { - content: "\F173"; } - -.fa-tumblr-square:before { - content: "\F174"; } - -.fa-long-arrow-down:before { - content: "\F175"; } - -.fa-long-arrow-up:before { - content: "\F176"; } - -.fa-long-arrow-left:before { - content: "\F177"; } - -.fa-long-arrow-right:before { - content: "\F178"; } - -.fa-apple:before { - content: "\F179"; } - -.fa-windows:before { - content: "\F17A"; } - -.fa-android:before { - content: "\F17B"; } - -.fa-linux:before { - content: "\F17C"; } - -.fa-dribbble:before { - content: "\F17D"; } - -.fa-skype:before { - content: "\F17E"; } - -.fa-foursquare:before { - content: "\F180"; } - -.fa-trello:before { - content: "\F181"; } - -.fa-female:before { - content: "\F182"; } - -.fa-male:before { - content: "\F183"; } - -.fa-gittip:before, -.fa-gratipay:before { - content: "\F184"; } - -.fa-sun-o:before { - content: "\F185"; } - -.fa-moon-o:before { - content: "\F186"; } - -.fa-archive:before { - content: "\F187"; } - -.fa-bug:before { - content: "\F188"; } - -.fa-vk:before { - content: "\F189"; } - -.fa-weibo:before { - content: "\F18A"; } - -.fa-renren:before { - content: "\F18B"; } - -.fa-pagelines:before { - content: "\F18C"; } - -.fa-stack-exchange:before { - content: "\F18D"; } - -.fa-arrow-circle-o-right:before { - content: "\F18E"; } - -.fa-arrow-circle-o-left:before { - content: "\F190"; } - -.fa-toggle-left:before, -.fa-caret-square-o-left:before { - content: "\F191"; } - -.fa-dot-circle-o:before { - content: "\F192"; } - -.fa-wheelchair:before { - content: "\F193"; } - -.fa-vimeo-square:before { - content: "\F194"; } - -.fa-turkish-lira:before, -.fa-try:before { - content: "\F195"; } - -.fa-plus-square-o:before { - content: "\F196"; } - -.fa-space-shuttle:before { - content: "\F197"; } - -.fa-slack:before { - content: "\F198"; } - -.fa-envelope-square:before { - content: "\F199"; } - -.fa-wordpress:before { - content: "\F19A"; } - -.fa-openid:before { - content: "\F19B"; } - -.fa-institution:before, -.fa-bank:before, -.fa-university:before { - content: "\F19C"; } - -.fa-mortar-board:before, -.fa-graduation-cap:before { - content: "\F19D"; } - -.fa-yahoo:before { - content: "\F19E"; } - -.fa-google:before { - content: "\F1A0"; } - -.fa-reddit:before { - content: "\F1A1"; } - -.fa-reddit-square:before { - content: "\F1A2"; } - -.fa-stumbleupon-circle:before { - content: "\F1A3"; } - -.fa-stumbleupon:before { - content: "\F1A4"; } - -.fa-delicious:before { - content: "\F1A5"; } - -.fa-digg:before { - content: "\F1A6"; } - -.fa-pied-piper-pp:before { - content: "\F1A7"; } - -.fa-pied-piper-alt:before { - content: "\F1A8"; } - -.fa-drupal:before { - content: "\F1A9"; } - -.fa-joomla:before { - content: "\F1AA"; } - -.fa-language:before { - content: "\F1AB"; } - -.fa-fax:before { - content: "\F1AC"; } - -.fa-building:before { - content: "\F1AD"; } - -.fa-child:before { - content: "\F1AE"; } - -.fa-paw:before { - content: "\F1B0"; } - -.fa-spoon:before { - content: "\F1B1"; } - -.fa-cube:before { - content: "\F1B2"; } - -.fa-cubes:before { - content: "\F1B3"; } - -.fa-behance:before { - content: "\F1B4"; } - -.fa-behance-square:before { - content: "\F1B5"; } - -.fa-steam:before { - content: "\F1B6"; } - -.fa-steam-square:before { - content: "\F1B7"; } - -.fa-recycle:before { - content: "\F1B8"; } - -.fa-automobile:before, -.fa-car:before { - content: "\F1B9"; } - -.fa-cab:before, -.fa-taxi:before { - content: "\F1BA"; } - -.fa-tree:before { - content: "\F1BB"; } - -.fa-spotify:before { - content: "\F1BC"; } - -.fa-deviantart:before { - content: "\F1BD"; } - -.fa-soundcloud:before { - content: "\F1BE"; } - -.fa-database:before { - content: "\F1C0"; } - -.fa-file-pdf-o:before { - content: "\F1C1"; } - -.fa-file-word-o:before { - content: "\F1C2"; } - -.fa-file-excel-o:before { - content: "\F1C3"; } - -.fa-file-powerpoint-o:before { - content: "\F1C4"; } - -.fa-file-photo-o:before, -.fa-file-picture-o:before, -.fa-file-image-o:before { - content: "\F1C5"; } - -.fa-file-zip-o:before, -.fa-file-archive-o:before { - content: "\F1C6"; } - -.fa-file-sound-o:before, -.fa-file-audio-o:before { - content: "\F1C7"; } - -.fa-file-movie-o:before, -.fa-file-video-o:before { - content: "\F1C8"; } - -.fa-file-code-o:before { - content: "\F1C9"; } - -.fa-vine:before { - content: "\F1CA"; } - -.fa-codepen:before { - content: "\F1CB"; } - -.fa-jsfiddle:before { - content: "\F1CC"; } - -.fa-life-bouy:before, -.fa-life-buoy:before, -.fa-life-saver:before, -.fa-support:before, -.fa-life-ring:before { - content: "\F1CD"; } - -.fa-circle-o-notch:before { - content: "\F1CE"; } - -.fa-ra:before, -.fa-resistance:before, -.fa-rebel:before { - content: "\F1D0"; } - -.fa-ge:before, -.fa-empire:before { - content: "\F1D1"; } - -.fa-git-square:before { - content: "\F1D2"; } - -.fa-git:before { - content: "\F1D3"; } - -.fa-y-combinator-square:before, -.fa-yc-square:before, -.fa-hacker-news:before { - content: "\F1D4"; } - -.fa-tencent-weibo:before { - content: "\F1D5"; } - -.fa-qq:before { - content: "\F1D6"; } - -.fa-wechat:before, -.fa-weixin:before { - content: "\F1D7"; } - -.fa-send:before, -.fa-paper-plane:before { - content: "\F1D8"; } - -.fa-send-o:before, -.fa-paper-plane-o:before { - content: "\F1D9"; } - -.fa-history:before { - content: "\F1DA"; } - -.fa-circle-thin:before { - content: "\F1DB"; } - -.fa-header:before { - content: "\F1DC"; } - -.fa-paragraph:before { - content: "\F1DD"; } - -.fa-sliders:before { - content: "\F1DE"; } - -.fa-share-alt:before { - content: "\F1E0"; } - -.fa-share-alt-square:before { - content: "\F1E1"; } - -.fa-bomb:before { - content: "\F1E2"; } - -.fa-soccer-ball-o:before, -.fa-futbol-o:before { - content: "\F1E3"; } - -.fa-tty:before { - content: "\F1E4"; } - -.fa-binoculars:before { - content: "\F1E5"; } - -.fa-plug:before { - content: "\F1E6"; } - -.fa-slideshare:before { - content: "\F1E7"; } - -.fa-twitch:before { - content: "\F1E8"; } - -.fa-yelp:before { - content: "\F1E9"; } - -.fa-newspaper-o:before { - content: "\F1EA"; } - -.fa-wifi:before { - content: "\F1EB"; } - -.fa-calculator:before { - content: "\F1EC"; } - -.fa-paypal:before { - content: "\F1ED"; } - -.fa-google-wallet:before { - content: "\F1EE"; } - -.fa-cc-visa:before { - content: "\F1F0"; } - -.fa-cc-mastercard:before { - content: "\F1F1"; } - -.fa-cc-discover:before { - content: "\F1F2"; } - -.fa-cc-amex:before { - content: "\F1F3"; } - -.fa-cc-paypal:before { - content: "\F1F4"; } - -.fa-cc-stripe:before { - content: "\F1F5"; } - -.fa-bell-slash:before { - content: "\F1F6"; } - -.fa-bell-slash-o:before { - content: "\F1F7"; } - -.fa-trash:before { - content: "\F1F8"; } - -.fa-copyright:before { - content: "\F1F9"; } - -.fa-at:before { - content: "\F1FA"; } - -.fa-eyedropper:before { - content: "\F1FB"; } - -.fa-paint-brush:before { - content: "\F1FC"; } - -.fa-birthday-cake:before { - content: "\F1FD"; } - -.fa-area-chart:before { - content: "\F1FE"; } - -.fa-pie-chart:before { - content: "\F200"; } - -.fa-line-chart:before { - content: "\F201"; } - -.fa-lastfm:before { - content: "\F202"; } - -.fa-lastfm-square:before { - content: "\F203"; } - -.fa-toggle-off:before { - content: "\F204"; } - -.fa-toggle-on:before { - content: "\F205"; } - -.fa-bicycle:before { - content: "\F206"; } - -.fa-bus:before { - content: "\F207"; } - -.fa-ioxhost:before { - content: "\F208"; } - -.fa-angellist:before { - content: "\F209"; } - -.fa-cc:before { - content: "\F20A"; } - -.fa-shekel:before, -.fa-sheqel:before, -.fa-ils:before { - content: "\F20B"; } - -.fa-meanpath:before { - content: "\F20C"; } - -.fa-buysellads:before { - content: "\F20D"; } - -.fa-connectdevelop:before { - content: "\F20E"; } - -.fa-dashcube:before { - content: "\F210"; } - -.fa-forumbee:before { - content: "\F211"; } - -.fa-leanpub:before { - content: "\F212"; } - -.fa-sellsy:before { - content: "\F213"; } - -.fa-shirtsinbulk:before { - content: "\F214"; } - -.fa-simplybuilt:before { - content: "\F215"; } - -.fa-skyatlas:before { - content: "\F216"; } - -.fa-cart-plus:before { - content: "\F217"; } - -.fa-cart-arrow-down:before { - content: "\F218"; } - -.fa-diamond:before { - content: "\F219"; } - -.fa-ship:before { - content: "\F21A"; } - -.fa-user-secret:before { - content: "\F21B"; } - -.fa-motorcycle:before { - content: "\F21C"; } - -.fa-street-view:before { - content: "\F21D"; } - -.fa-heartbeat:before { - content: "\F21E"; } - -.fa-venus:before { - content: "\F221"; } - -.fa-mars:before { - content: "\F222"; } - -.fa-mercury:before { - content: "\F223"; } - -.fa-intersex:before, -.fa-transgender:before { - content: "\F224"; } - -.fa-transgender-alt:before { - content: "\F225"; } - -.fa-venus-double:before { - content: "\F226"; } - -.fa-mars-double:before { - content: "\F227"; } - -.fa-venus-mars:before { - content: "\F228"; } - -.fa-mars-stroke:before { - content: "\F229"; } - -.fa-mars-stroke-v:before { - content: "\F22A"; } - -.fa-mars-stroke-h:before { - content: "\F22B"; } - -.fa-neuter:before { - content: "\F22C"; } - -.fa-genderless:before { - content: "\F22D"; } - -.fa-facebook-official:before { - content: "\F230"; } - -.fa-pinterest-p:before { - content: "\F231"; } - -.fa-whatsapp:before { - content: "\F232"; } - -.fa-server:before { - content: "\F233"; } - -.fa-user-plus:before { - content: "\F234"; } - -.fa-user-times:before { - content: "\F235"; } - -.fa-hotel:before, -.fa-bed:before { - content: "\F236"; } - -.fa-viacoin:before { - content: "\F237"; } - -.fa-train:before { - content: "\F238"; } - -.fa-subway:before { - content: "\F239"; } - -.fa-medium:before { - content: "\F23A"; } - -.fa-yc:before, -.fa-y-combinator:before { - content: "\F23B"; } - -.fa-optin-monster:before { - content: "\F23C"; } - -.fa-opencart:before { - content: "\F23D"; } - -.fa-expeditedssl:before { - content: "\F23E"; } - -.fa-battery-4:before, -.fa-battery:before, -.fa-battery-full:before { - content: "\F240"; } - -.fa-battery-3:before, -.fa-battery-three-quarters:before { - content: "\F241"; } - -.fa-battery-2:before, -.fa-battery-half:before { - content: "\F242"; } - -.fa-battery-1:before, -.fa-battery-quarter:before { - content: "\F243"; } - -.fa-battery-0:before, -.fa-battery-empty:before { - content: "\F244"; } - -.fa-mouse-pointer:before { - content: "\F245"; } - -.fa-i-cursor:before { - content: "\F246"; } - -.fa-object-group:before { - content: "\F247"; } - -.fa-object-ungroup:before { - content: "\F248"; } - -.fa-sticky-note:before { - content: "\F249"; } - -.fa-sticky-note-o:before { - content: "\F24A"; } - -.fa-cc-jcb:before { - content: "\F24B"; } - -.fa-cc-diners-club:before { - content: "\F24C"; } - -.fa-clone:before { - content: "\F24D"; } - -.fa-balance-scale:before { - content: "\F24E"; } - -.fa-hourglass-o:before { - content: "\F250"; } - -.fa-hourglass-1:before, -.fa-hourglass-start:before { - content: "\F251"; } - -.fa-hourglass-2:before, -.fa-hourglass-half:before { - content: "\F252"; } - -.fa-hourglass-3:before, -.fa-hourglass-end:before { - content: "\F253"; } - -.fa-hourglass:before { - content: "\F254"; } - -.fa-hand-grab-o:before, -.fa-hand-rock-o:before { - content: "\F255"; } - -.fa-hand-stop-o:before, -.fa-hand-paper-o:before { - content: "\F256"; } - -.fa-hand-scissors-o:before { - content: "\F257"; } - -.fa-hand-lizard-o:before { - content: "\F258"; } - -.fa-hand-spock-o:before { - content: "\F259"; } - -.fa-hand-pointer-o:before { - content: "\F25A"; } - -.fa-hand-peace-o:before { - content: "\F25B"; } - -.fa-trademark:before { - content: "\F25C"; } - -.fa-registered:before { - content: "\F25D"; } - -.fa-creative-commons:before { - content: "\F25E"; } - -.fa-gg:before { - content: "\F260"; } - -.fa-gg-circle:before { - content: "\F261"; } - -.fa-tripadvisor:before { - content: "\F262"; } - -.fa-odnoklassniki:before { - content: "\F263"; } - -.fa-odnoklassniki-square:before { - content: "\F264"; } - -.fa-get-pocket:before { - content: "\F265"; } - -.fa-wikipedia-w:before { - content: "\F266"; } - -.fa-safari:before { - content: "\F267"; } - -.fa-chrome:before { - content: "\F268"; } - -.fa-firefox:before { - content: "\F269"; } - -.fa-opera:before { - content: "\F26A"; } - -.fa-internet-explorer:before { - content: "\F26B"; } - -.fa-tv:before, -.fa-television:before { - content: "\F26C"; } - -.fa-contao:before { - content: "\F26D"; } - -.fa-500px:before { - content: "\F26E"; } - -.fa-amazon:before { - content: "\F270"; } - -.fa-calendar-plus-o:before { - content: "\F271"; } - -.fa-calendar-minus-o:before { - content: "\F272"; } - -.fa-calendar-times-o:before { - content: "\F273"; } - -.fa-calendar-check-o:before { - content: "\F274"; } - -.fa-industry:before { - content: "\F275"; } - -.fa-map-pin:before { - content: "\F276"; } - -.fa-map-signs:before { - content: "\F277"; } - -.fa-map-o:before { - content: "\F278"; } - -.fa-map:before { - content: "\F279"; } - -.fa-commenting:before { - content: "\F27A"; } - -.fa-commenting-o:before { - content: "\F27B"; } - -.fa-houzz:before { - content: "\F27C"; } - -.fa-vimeo:before { - content: "\F27D"; } - -.fa-black-tie:before { - content: "\F27E"; } - -.fa-fonticons:before { - content: "\F280"; } - -.fa-reddit-alien:before { - content: "\F281"; } - -.fa-edge:before { - content: "\F282"; } - -.fa-credit-card-alt:before { - content: "\F283"; } - -.fa-codiepie:before { - content: "\F284"; } - -.fa-modx:before { - content: "\F285"; } - -.fa-fort-awesome:before { - content: "\F286"; } - -.fa-usb:before { - content: "\F287"; } - -.fa-product-hunt:before { - content: "\F288"; } - -.fa-mixcloud:before { - content: "\F289"; } - -.fa-scribd:before { - content: "\F28A"; } - -.fa-pause-circle:before { - content: "\F28B"; } - -.fa-pause-circle-o:before { - content: "\F28C"; } - -.fa-stop-circle:before { - content: "\F28D"; } - -.fa-stop-circle-o:before { - content: "\F28E"; } - -.fa-shopping-bag:before { - content: "\F290"; } - -.fa-shopping-basket:before { - content: "\F291"; } - -.fa-hashtag:before { - content: "\F292"; } - -.fa-bluetooth:before { - content: "\F293"; } - -.fa-bluetooth-b:before { - content: "\F294"; } - -.fa-percent:before { - content: "\F295"; } - -.fa-gitlab:before { - content: "\F296"; } - -.fa-wpbeginner:before { - content: "\F297"; } - -.fa-wpforms:before { - content: "\F298"; } - -.fa-envira:before { - content: "\F299"; } - -.fa-universal-access:before { - content: "\F29A"; } - -.fa-wheelchair-alt:before { - content: "\F29B"; } - -.fa-question-circle-o:before { - content: "\F29C"; } - -.fa-blind:before { - content: "\F29D"; } - -.fa-audio-description:before { - content: "\F29E"; } - -.fa-volume-control-phone:before { - content: "\F2A0"; } - -.fa-braille:before { - content: "\F2A1"; } - -.fa-assistive-listening-systems:before { - content: "\F2A2"; } - -.fa-asl-interpreting:before, -.fa-american-sign-language-interpreting:before { - content: "\F2A3"; } - -.fa-deafness:before, -.fa-hard-of-hearing:before, -.fa-deaf:before { - content: "\F2A4"; } - -.fa-glide:before { - content: "\F2A5"; } - -.fa-glide-g:before { - content: "\F2A6"; } - -.fa-signing:before, -.fa-sign-language:before { - content: "\F2A7"; } - -.fa-low-vision:before { - content: "\F2A8"; } - -.fa-viadeo:before { - content: "\F2A9"; } - -.fa-viadeo-square:before { - content: "\F2AA"; } - -.fa-snapchat:before { - content: "\F2AB"; } - -.fa-snapchat-ghost:before { - content: "\F2AC"; } - -.fa-snapchat-square:before { - content: "\F2AD"; } - -.fa-pied-piper:before { - content: "\F2AE"; } - -.fa-first-order:before { - content: "\F2B0"; } - -.fa-yoast:before { - content: "\F2B1"; } - -.fa-themeisle:before { - content: "\F2B2"; } - -.fa-google-plus-circle:before, -.fa-google-plus-official:before { - content: "\F2B3"; } - -.fa-fa:before, -.fa-font-awesome:before { - content: "\F2B4"; } - -.fa-handshake-o:before { - content: "\F2B5"; } - -.fa-envelope-open:before { - content: "\F2B6"; } - -.fa-envelope-open-o:before { - content: "\F2B7"; } - -.fa-linode:before { - content: "\F2B8"; } - -.fa-address-book:before { - content: "\F2B9"; } - -.fa-address-book-o:before { - content: "\F2BA"; } - -.fa-vcard:before, -.fa-address-card:before { - content: "\F2BB"; } - -.fa-vcard-o:before, -.fa-address-card-o:before { - content: "\F2BC"; } - -.fa-user-circle:before { - content: "\F2BD"; } - -.fa-user-circle-o:before { - content: "\F2BE"; } - -.fa-user-o:before { - content: "\F2C0"; } - -.fa-id-badge:before { - content: "\F2C1"; } - -.fa-drivers-license:before, -.fa-id-card:before { - content: "\F2C2"; } - -.fa-drivers-license-o:before, -.fa-id-card-o:before { - content: "\F2C3"; } - -.fa-quora:before { - content: "\F2C4"; } - -.fa-free-code-camp:before { - content: "\F2C5"; } - -.fa-telegram:before { - content: "\F2C6"; } - -.fa-thermometer-4:before, -.fa-thermometer:before, -.fa-thermometer-full:before { - content: "\F2C7"; } - -.fa-thermometer-3:before, -.fa-thermometer-three-quarters:before { - content: "\F2C8"; } - -.fa-thermometer-2:before, -.fa-thermometer-half:before { - content: "\F2C9"; } - -.fa-thermometer-1:before, -.fa-thermometer-quarter:before { - content: "\F2CA"; } - -.fa-thermometer-0:before, -.fa-thermometer-empty:before { - content: "\F2CB"; } - -.fa-shower:before { - content: "\F2CC"; } - -.fa-bathtub:before, -.fa-s15:before, -.fa-bath:before { - content: "\F2CD"; } - -.fa-podcast:before { - content: "\F2CE"; } - -.fa-window-maximize:before { - content: "\F2D0"; } - -.fa-window-minimize:before { - content: "\F2D1"; } - -.fa-window-restore:before { - content: "\F2D2"; } - -.fa-times-rectangle:before, -.fa-window-close:before { - content: "\F2D3"; } - -.fa-times-rectangle-o:before, -.fa-window-close-o:before { - content: "\F2D4"; } - -.fa-bandcamp:before { - content: "\F2D5"; } - -.fa-grav:before { - content: "\F2D6"; } - -.fa-etsy:before { - content: "\F2D7"; } - -.fa-imdb:before { - content: "\F2D8"; } - -.fa-ravelry:before { - content: "\F2D9"; } - -.fa-eercast:before { - content: "\F2DA"; } - -.fa-microchip:before { - content: "\F2DB"; } - -.fa-snowflake-o:before { - content: "\F2DC"; } - -.fa-superpowers:before { - content: "\F2DD"; } - -.fa-wpexplorer:before { - content: "\F2DE"; } - -.fa-meetup:before { - content: "\F2E0"; } - -.sr-only, .table.table-list tr:not(:hover) td.table-list-options > .dropdown:not(.show) button:not(:focus):not(:active), .table.table-list tr:not(:hover) td.table-list-options > button:not(:focus):not(:active) { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - border: 0; } - -.sr-only-focusable:active, .sr-only-focusable:focus { - position: static; - width: auto; - height: auto; - margin: 0; - overflow: visible; - clip: auto; } - -.toaster-icon { - position: absolute; - left: 0.0em; - top: 0.0em; - font-weight: normal; - color: #ffffff; } - -.toast-title { - font-weight: bold; } - -.toast-message { - -ms-word-wrap: break-word; - word-wrap: break-word; } - -.toast-message a, -.toast-message label { - color: #ffffff; } - -.toast-message a:hover { - color: #cccccc; - text-decoration: none; } - -.toast-close-button { - position: relative; - right: -0.3em; - top: -0.3em; - float: right; - font-size: 20px; - font-weight: bold; - color: #ffffff; - -webkit-text-shadow: 0 1px 0 #ffffff; - text-shadow: 0 1px 0 #ffffff; - opacity: 0.8; - -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80); - filter: alpha(opacity=80); - z-index: 999; } - -.toast-close-button:hover, .toast-close-button:focus { - color: #000000; - text-decoration: none; - cursor: pointer; - opacity: 0.4; - -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40); - filter: alpha(opacity=40); } - -/*Additional properties for button version - iOS requires the button element instead of an anchor tag. - If you want the anchor version, it requires `href="#"`.*/ -button.toast-close-button { - padding: 0; - cursor: pointer; - background: transparent; - border: 0; - -webkit-appearance: none; } - -.toast-content { - display: inline-block; - width: 95%; } - -.toast-top-full-width { - top: 0; - right: 0; - width: 100%; } - -.toast-bottom-full-width { - bottom: 0; - right: 0; - width: 100%; } - -.toast-top-left { - top: 12px; - left: 12px; } - -.toast-top-center { - top: 12px; } - -.toast-top-right { - top: 12px; - right: 12px; } - -.toast-bottom-right { - right: 12px; - bottom: 12px; } - -.toast-bottom-center { - bottom: 12px; } - -.toast-bottom-left { - bottom: 12px; - left: 12px; } - -.toast-center { - top: 45%; } - -#toast-container { - position: fixed; - z-index: 999999; - /*overrides*/ - pointer-events: auto; } - -#toast-container.toast-center, -#toast-container.toast-top-center, -#toast-container.toast-bottom-center { - width: 100%; - pointer-events: none; - left: 0; - right: 0; } - -#toast-container.toast-center > div, -#toast-container.toast-top-center > div, -#toast-container.toast-bottom-center > div { - margin: 6px auto; - pointer-events: auto; } - -#toast-container.toast-center > button, -#toast-container.toast-top-center > button, -#toast-container.toast-bottom-center > button { - pointer-events: auto; } - -#toast-container * { - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - box-sizing: border-box; } - -#toast-container > div { - margin: 0 0 6px; - padding: 15px 15px 15px 50px; - width: 300px; - -moz-border-radius: 3px 3px 3px 3px; - -webkit-border-radius: 3px 3px 3px 3px; - border-radius: 3px 3px 3px 3px; - background-position: 15px center; - background-repeat: no-repeat; - -moz-box-shadow: 0 0 12px #999999; - -webkit-box-shadow: 0 0 12px #999999; - box-shadow: 0 0 12px #999999; - color: #ffffff; - opacity: 0.8; - -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80); - filter: alpha(opacity=80); } - -#toast-container > :hover { - -moz-box-shadow: 0 0 12px #000000; - -webkit-box-shadow: 0 0 12px #000000; - box-shadow: 0 0 12px #000000; - opacity: 1; - -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); - filter: alpha(opacity=100); - cursor: pointer; } - -.icon-success { - width: 35px; - height: 100%; - display: inline-block; - background-repeat: no-repeat; - background-position: 100% 50%; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==") !important; } - -.icon-error { - width: 35px; - height: 100%; - display: inline-block; - background-repeat: no-repeat; - background-position: 100% 50%; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=") !important; } - -.icon-info { - width: 35px; - height: 100%; - display: inline-block; - background-repeat: no-repeat; - background-position: 100% 50%; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=") !important; } - -.icon-wait { - width: 35px; - height: 100%; - display: inline-block; - background-repeat: no-repeat; - background-position: 100% 50%; - background-image: url("data:image/gif;base64,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") !important; } - -.icon-warning { - width: 35px; - height: 100%; - display: inline-block; - background-repeat: no-repeat; - background-position: 100% 50%; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=") !important; } - -#toast-container.toast-top-full-width > div, -#toast-container.toast-bottom-full-width > div { - width: 96%; - margin: auto; } - -.toast { - position: relative; - background-color: #030303; } - -.toast-success { - background-color: #51a351; } - -.toast-error { - background-color: #bd362f; } - -.toast-info { - background-color: #2f96b4; } - -.toast-wait { - background-color: #2f96b4; } - -.toast-warning { - background-color: #f89406; } - -/*Responsive Design*/ -@media all and (max-width: 240px) { - #toast-container > div { - padding: 8px 8px 8px 50px; - width: 11em; } - #toast-container .toast-close-button { - right: -0.1em; - top: -0.2em; } - .toast-content { - width: 94%; } } - -@media all and (min-width: 241px) and (max-width: 480px) { - #toast-container > div { - padding: 8px 8px 8px 50px; - width: 18em; } - #toast-container .toast-close-button { - right: -0.1em; - top: -0.2em; } - .toast-content { - width: 94%; } } - -@media all and (min-width: 481px) and (max-width: 768px) { - #toast-container > div { - padding: 15px 15px 15px 50px; - width: 25em; } } - -.swal2-popup.swal2-toast { - flex-direction: row; - align-items: center; - width: auto; - padding: 0.625em; - overflow-y: hidden; - background: #fff; - box-shadow: 0 0 0.625em #d9d9d9; } - .swal2-popup.swal2-toast .swal2-header { - flex-direction: row; } - .swal2-popup.swal2-toast .swal2-title { - flex-grow: 1; - justify-content: flex-start; - margin: 0 0.6em; - font-size: 1em; } - .swal2-popup.swal2-toast .swal2-footer { - margin: 0.5em 0 0; - padding: 0.5em 0 0; - font-size: 0.8em; } - .swal2-popup.swal2-toast .swal2-close { - position: static; - width: 0.8em; - height: 0.8em; - line-height: 0.8; } - .swal2-popup.swal2-toast .swal2-content { - justify-content: flex-start; - font-size: 1em; } - .swal2-popup.swal2-toast .swal2-icon { - width: 2em; - min-width: 2em; - height: 2em; - margin: 0; } - .swal2-popup.swal2-toast .swal2-icon .swal2-icon-content { - display: flex; - align-items: center; - font-size: 1.8em; - font-weight: bold; } - @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { - .swal2-popup.swal2-toast .swal2-icon .swal2-icon-content { - font-size: .25em; } } - .swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring { - width: 2em; - height: 2em; } - .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'] { - top: .875em; - width: 1.375em; } - .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='left'] { - left: .3125em; } - .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='right'] { - right: .3125em; } - .swal2-popup.swal2-toast .swal2-actions { - flex-basis: auto !important; - width: auto; - height: auto; - margin: 0 .3125em; } - .swal2-popup.swal2-toast .swal2-styled { - margin: 0 .3125em; - padding: .3125em .625em; - font-size: 1em; } - .swal2-popup.swal2-toast .swal2-styled:focus { - box-shadow: 0 0 0 1px #fff, 0 0 0 3px rgba(50, 100, 150, 0.4); } - .swal2-popup.swal2-toast .swal2-success { - border-color: #a5dc86; } - .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'] { - position: absolute; - width: 1.6em; - height: 3em; - transform: rotate(45deg); - border-radius: 50%; } - .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'][class$='left'] { - top: -.8em; - left: -.5em; - transform: rotate(-45deg); - transform-origin: 2em 2em; - border-radius: 4em 0 0 4em; } - .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'][class$='right'] { - top: -.25em; - left: .9375em; - transform-origin: 0 1.5em; - border-radius: 0 4em 4em 0; } - .swal2-popup.swal2-toast .swal2-success .swal2-success-ring { - width: 2em; - height: 2em; } - .swal2-popup.swal2-toast .swal2-success .swal2-success-fix { - top: 0; - left: .4375em; - width: .4375em; - height: 2.6875em; } - .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'] { - height: .3125em; } - .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'][class$='tip'] { - top: 1.125em; - left: .1875em; - width: .75em; } - .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'][class$='long'] { - top: .9375em; - right: .1875em; - width: 1.375em; } - .swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip { - animation: swal2-toast-animate-success-line-tip .75s; } - .swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long { - animation: swal2-toast-animate-success-line-long .75s; } - .swal2-popup.swal2-toast.swal2-show { - animation: swal2-toast-show 0.5s; } - .swal2-popup.swal2-toast.swal2-hide { - animation: swal2-toast-hide 0.1s forwards; } - -.swal2-container { - display: flex; - position: fixed; - z-index: 1060; - top: 0; - right: 0; - bottom: 0; - left: 0; - flex-direction: row; - align-items: center; - justify-content: center; - padding: 0.625em; - overflow-x: hidden; - transition: background-color 0.1s; - -webkit-overflow-scrolling: touch; } - .swal2-container.swal2-backdrop-show { - background: rgba(0, 0, 0, 0.4); } - .swal2-container.swal2-backdrop-hide { - background: transparent !important; } - .swal2-container.swal2-top { - align-items: flex-start; } - .swal2-container.swal2-top-start, .swal2-container.swal2-top-left { - align-items: flex-start; - justify-content: flex-start; } - .swal2-container.swal2-top-end, .swal2-container.swal2-top-right { - align-items: flex-start; - justify-content: flex-end; } - .swal2-container.swal2-center { - align-items: center; } - .swal2-container.swal2-center-start, .swal2-container.swal2-center-left { - align-items: center; - justify-content: flex-start; } - .swal2-container.swal2-center-end, .swal2-container.swal2-center-right { - align-items: center; - justify-content: flex-end; } - .swal2-container.swal2-bottom { - align-items: flex-end; } - .swal2-container.swal2-bottom-start, .swal2-container.swal2-bottom-left { - align-items: flex-end; - justify-content: flex-start; } - .swal2-container.swal2-bottom-end, .swal2-container.swal2-bottom-right { - align-items: flex-end; - justify-content: flex-end; } - .swal2-container.swal2-bottom > :first-child, - .swal2-container.swal2-bottom-start > :first-child, - .swal2-container.swal2-bottom-left > :first-child, - .swal2-container.swal2-bottom-end > :first-child, - .swal2-container.swal2-bottom-right > :first-child { - margin-top: auto; } - .swal2-container.swal2-grow-fullscreen > .swal2-modal { - display: flex !important; - flex: 1; - align-self: stretch; - justify-content: center; } - .swal2-container.swal2-grow-row > .swal2-modal { - display: flex !important; - flex: 1; - align-content: center; - justify-content: center; } - .swal2-container.swal2-grow-column { - flex: 1; - flex-direction: column; } - .swal2-container.swal2-grow-column.swal2-top, .swal2-container.swal2-grow-column.swal2-center, .swal2-container.swal2-grow-column.swal2-bottom { - align-items: center; } - .swal2-container.swal2-grow-column.swal2-top-start, .swal2-container.swal2-grow-column.swal2-center-start, .swal2-container.swal2-grow-column.swal2-bottom-start, .swal2-container.swal2-grow-column.swal2-top-left, .swal2-container.swal2-grow-column.swal2-center-left, .swal2-container.swal2-grow-column.swal2-bottom-left { - align-items: flex-start; } - .swal2-container.swal2-grow-column.swal2-top-end, .swal2-container.swal2-grow-column.swal2-center-end, .swal2-container.swal2-grow-column.swal2-bottom-end, .swal2-container.swal2-grow-column.swal2-top-right, .swal2-container.swal2-grow-column.swal2-center-right, .swal2-container.swal2-grow-column.swal2-bottom-right { - align-items: flex-end; } - .swal2-container.swal2-grow-column > .swal2-modal { - display: flex !important; - flex: 1; - align-content: center; - justify-content: center; } - .swal2-container:not(.swal2-top):not(.swal2-top-start):not(.swal2-top-end):not(.swal2-top-left):not(.swal2-top-right):not(.swal2-center-start):not(.swal2-center-end):not(.swal2-center-left):not(.swal2-center-right):not(.swal2-bottom):not(.swal2-bottom-start):not(.swal2-bottom-end):not(.swal2-bottom-left):not(.swal2-bottom-right):not(.swal2-grow-fullscreen) > .swal2-modal { - margin: auto; } - @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { - .swal2-container .swal2-modal { - margin: 0 !important; } } - -.swal2-popup { - display: none; - position: relative; - box-sizing: border-box; - flex-direction: column; - justify-content: center; - width: 32em; - max-width: 100%; - padding: 1.25em; - border: none; - border-radius: 0.3125em; - background: #fff; - font-family: inherit; - font-size: 1rem; } - .swal2-popup:focus { - outline: none; } - .swal2-popup.swal2-loading { - overflow-y: hidden; } - -.swal2-header { - display: flex; - flex-direction: column; - align-items: center; } - -.swal2-title { - position: relative; - max-width: 100%; - margin: 0 0 0.4em; - padding: 0; - color: #595959; - font-size: 1.875em; - font-weight: 600; - text-align: center; - text-transform: none; - word-wrap: break-word; } - -.swal2-actions { - display: flex; - z-index: 1; - flex-wrap: wrap; - align-items: center; - justify-content: center; - width: 100%; - margin: 1.25em auto 0; } - .swal2-actions:not(.swal2-loading) .swal2-styled[disabled] { - opacity: .4; } - .swal2-actions:not(.swal2-loading) .swal2-styled:hover { - background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1)); } - .swal2-actions:not(.swal2-loading) .swal2-styled:active { - background-image: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)); } - .swal2-actions.swal2-loading .swal2-styled.swal2-confirm { - box-sizing: border-box; - width: 2.5em; - height: 2.5em; - margin: .46875em; - padding: 0; - animation: swal2-rotate-loading 1.5s linear 0s infinite normal; - border: .25em solid transparent; - border-radius: 100%; - border-color: transparent; - background-color: transparent !important; - color: transparent; - cursor: default; - user-select: none; } - .swal2-actions.swal2-loading .swal2-styled.swal2-cancel { - margin-right: 30px; - margin-left: 30px; } - .swal2-actions.swal2-loading :not(.swal2-styled).swal2-confirm::after { - content: ''; - display: inline-block; - width: 15px; - height: 15px; - margin-left: 5px; - animation: swal2-rotate-loading 1.5s linear 0s infinite normal; - border: 3px solid #999999; - border-radius: 50%; - border-right-color: transparent; - box-shadow: 1px 1px 1px #fff; } - -.swal2-styled { - margin: .3125em; - padding: .625em 2em; - box-shadow: none; - font-weight: 500; } - .swal2-styled:not([disabled]) { - cursor: pointer; } - .swal2-styled.swal2-confirm { - border: 0; - border-radius: 0.25em; - background: initial; - background-color: #3085d6; - color: #fff; - font-size: 1.0625em; } - .swal2-styled.swal2-cancel { - border: 0; - border-radius: 0.25em; - background: initial; - background-color: #aaa; - color: #fff; - font-size: 1.0625em; } - .swal2-styled:focus { - outline: none; - box-shadow: 0 0 0 1px #fff, 0 0 0 3px rgba(50, 100, 150, 0.4); } - .swal2-styled::-moz-focus-inner { - border: 0; } - -.swal2-footer { - justify-content: center; - margin: 1.25em 0 0; - padding: 1em 0 0; - border-top: 1px solid #eee; - color: #545454; - font-size: 1em; } - -.swal2-timer-progress-bar { - position: absolute; - bottom: 0; - left: 0; - width: 100%; - height: 0.25em; - background: rgba(0, 0, 0, 0.2); } - -.swal2-image { - max-width: 100%; - margin: 1.25em auto; } - -.swal2-close { - position: absolute; - z-index: 2; - /* 1617 */ - top: 0; - right: 0; - justify-content: center; - width: 1.2em; - height: 1.2em; - padding: 0; - overflow: hidden; - transition: color 0.1s ease-out; - border: none; - border-radius: 0; - outline: initial; - background: transparent; - color: #cccccc; - font-family: serif; - font-size: 2.5em; - line-height: 1.2; - cursor: pointer; } - .swal2-close:hover { - transform: none; - background: transparent; - color: #f27474; } - .swal2-close::-moz-focus-inner { - border: 0; } - -.swal2-content { - z-index: 1; - justify-content: center; - margin: 0; - padding: 0; - color: #545454; - font-size: 1.125em; - font-weight: normal; - line-height: normal; - text-align: center; - word-wrap: break-word; } - -.swal2-input, -.swal2-file, -.swal2-textarea, -.swal2-select, -.swal2-radio, -.swal2-checkbox { - margin: 1em auto; } - -.swal2-input, -.swal2-file, -.swal2-textarea { - box-sizing: border-box; - width: 100%; - transition: border-color 0.3s, box-shadow 0.3s; - border: 1px solid #d9d9d9; - border-radius: 0.1875em; - background: inherit; - box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06); - color: inherit; - font-size: 1.125em; } - .swal2-input.swal2-inputerror, - .swal2-file.swal2-inputerror, - .swal2-textarea.swal2-inputerror { - border-color: #f27474 !important; - box-shadow: 0 0 2px #f27474 !important; } - .swal2-input:focus, - .swal2-file:focus, - .swal2-textarea:focus { - border: 1px solid #b4dbed; - outline: none; - box-shadow: 0 0 3px #c4e6f5; } - .swal2-input::placeholder, - .swal2-file::placeholder, - .swal2-textarea::placeholder { - color: #cccccc; } - -.swal2-range { - margin: 1em auto; - background: #fff; } - .swal2-range input { - width: 80%; } - .swal2-range output { - width: 20%; - color: inherit; - font-weight: 600; - text-align: center; } - .swal2-range input, - .swal2-range output { - height: 2.625em; - padding: 0; - font-size: 1.125em; - line-height: 2.625em; } - -.swal2-input { - height: 2.625em; - padding: 0 0.75em; } - .swal2-input[type='number'] { - max-width: 10em; } - -.swal2-file { - background: inherit; - font-size: 1.125em; } - -.swal2-textarea { - height: 6.75em; - padding: 0.75em; } - -.swal2-select { - min-width: 50%; - max-width: 100%; - padding: .375em .625em; - background: inherit; - color: inherit; - font-size: 1.125em; } - -.swal2-radio, -.swal2-checkbox { - align-items: center; - justify-content: center; - background: #fff; - color: inherit; } - .swal2-radio label, - .swal2-checkbox label { - margin: 0 .6em; - font-size: 1.125em; } - .swal2-radio input, - .swal2-checkbox input { - margin: 0 .4em; } - -.swal2-validation-message { - display: none; - align-items: center; - justify-content: center; - padding: 0.625em; - overflow: hidden; - background: #f0f0f0; - color: #666666; - font-size: 1em; - font-weight: 300; } - .swal2-validation-message::before { - content: '!'; - display: inline-block; - width: 1.5em; - min-width: 1.5em; - height: 1.5em; - margin: 0 .625em; - border-radius: 50%; - background-color: #f27474; - color: #fff; - font-weight: 600; - line-height: 1.5em; - text-align: center; } - -.swal2-icon { - position: relative; - box-sizing: content-box; - justify-content: center; - width: 5em; - height: 5em; - margin: 1.25em auto 1.875em; - border: .25em solid transparent; - border-radius: 50%; - font-family: inherit; - line-height: 5em; - cursor: default; - user-select: none; } - .swal2-icon .swal2-icon-content { - display: flex; - align-items: center; - font-size: 3.75em; } - .swal2-icon.swal2-error { - border-color: #f27474; - color: #f27474; } - .swal2-icon.swal2-error .swal2-x-mark { - position: relative; - flex-grow: 1; } - .swal2-icon.swal2-error [class^='swal2-x-mark-line'] { - display: block; - position: absolute; - top: 2.3125em; - width: 2.9375em; - height: .3125em; - border-radius: .125em; - background-color: #f27474; } - .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='left'] { - left: 1.0625em; - transform: rotate(45deg); } - .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='right'] { - right: 1em; - transform: rotate(-45deg); } - .swal2-icon.swal2-error.swal2-icon-show { - animation: swal2-animate-error-icon .5s; } - .swal2-icon.swal2-error.swal2-icon-show .swal2-x-mark { - animation: swal2-animate-error-x-mark .5s; } - .swal2-icon.swal2-warning { - border-color: #facea8; - color: #f8bb86; } - .swal2-icon.swal2-info { - border-color: #9de0f6; - color: #3fc3ee; } - .swal2-icon.swal2-question { - border-color: #c9dae1; - color: #87adbd; } - .swal2-icon.swal2-success { - border-color: #a5dc86; - color: #a5dc86; } - .swal2-icon.swal2-success [class^='swal2-success-circular-line'] { - position: absolute; - width: 3.75em; - height: 7.5em; - transform: rotate(45deg); - border-radius: 50%; } - .swal2-icon.swal2-success [class^='swal2-success-circular-line'][class$='left'] { - top: -.4375em; - left: -2.0635em; - transform: rotate(-45deg); - transform-origin: 3.75em 3.75em; - border-radius: 7.5em 0 0 7.5em; } - .swal2-icon.swal2-success [class^='swal2-success-circular-line'][class$='right'] { - top: -.6875em; - left: 1.875em; - transform: rotate(-45deg); - transform-origin: 0 3.75em; - border-radius: 0 7.5em 7.5em 0; } - .swal2-icon.swal2-success .swal2-success-ring { - position: absolute; - z-index: 2; - top: -.25em; - left: -.25em; - box-sizing: content-box; - width: 100%; - height: 100%; - border: 0.25em solid rgba(165, 220, 134, 0.3); - border-radius: 50%; } - .swal2-icon.swal2-success .swal2-success-fix { - position: absolute; - z-index: 1; - top: .5em; - left: 1.625em; - width: .4375em; - height: 5.625em; - transform: rotate(-45deg); } - .swal2-icon.swal2-success [class^='swal2-success-line'] { - display: block; - position: absolute; - z-index: 2; - height: .3125em; - border-radius: .125em; - background-color: #a5dc86; } - .swal2-icon.swal2-success [class^='swal2-success-line'][class$='tip'] { - top: 2.875em; - left: .8125em; - width: 1.5625em; - transform: rotate(45deg); } - .swal2-icon.swal2-success [class^='swal2-success-line'][class$='long'] { - top: 2.375em; - right: .5em; - width: 2.9375em; - transform: rotate(-45deg); } - .swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-tip { - animation: swal2-animate-success-line-tip .75s; } - .swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-long { - animation: swal2-animate-success-line-long .75s; } - .swal2-icon.swal2-success.swal2-icon-show .swal2-success-circular-line-right { - animation: swal2-rotate-success-circular-line 4.25s ease-in; } - -.swal2-progress-steps { - align-items: center; - margin: 0 0 1.25em; - padding: 0; - background: inherit; - font-weight: 600; } - .swal2-progress-steps li { - display: inline-block; - position: relative; } - .swal2-progress-steps .swal2-progress-step { - z-index: 20; - width: 2em; - height: 2em; - border-radius: 2em; - background: #3085d6; - color: #fff; - line-height: 2em; - text-align: center; } - .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step { - background: #3085d6; } - .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step { - background: #add8e6; - color: #fff; } - .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step-line { - background: #add8e6; } - .swal2-progress-steps .swal2-progress-step-line { - z-index: 10; - width: 2.5em; - height: .4em; - margin: 0 -1px; - background: #3085d6; } - -[class^='swal2'] { - -webkit-tap-highlight-color: transparent; } - -.swal2-show { - animation: swal2-show 0.3s; } - -.swal2-hide { - animation: swal2-hide 0.15s forwards; } - -.swal2-noanimation { - transition: none; } - -.swal2-scrollbar-measure { - position: absolute; - top: -9999px; - width: 50px; - height: 50px; - overflow: scroll; } - -.swal2-rtl .swal2-close { - right: auto; - left: 0; } - -.swal2-rtl .swal2-timer-progress-bar { - right: 0; - left: auto; } - -@supports (-ms-accelerator: true) { - .swal2-range input { - width: 100% !important; } - .swal2-range output { - display: none; } } - -@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { - .swal2-range input { - width: 100% !important; } - .swal2-range output { - display: none; } } - -@-moz-document url-prefix() { - .swal2-close:focus { - outline: 2px solid rgba(50, 100, 150, 0.4); } } - -@keyframes swal2-toast-show { - 0% { - transform: translateY(-0.625em) rotateZ(2deg); } - 33% { - transform: translateY(0) rotateZ(-2deg); } - 66% { - transform: translateY(0.3125em) rotateZ(2deg); } - 100% { - transform: translateY(0) rotateZ(0deg); } } - -@keyframes swal2-toast-hide { - 100% { - transform: rotateZ(1deg); - opacity: 0; } } - -@keyframes swal2-toast-animate-success-line-tip { - 0% { - top: .5625em; - left: .0625em; - width: 0; } - 54% { - top: .125em; - left: .125em; - width: 0; } - 70% { - top: .625em; - left: -.25em; - width: 1.625em; } - 84% { - top: 1.0625em; - left: .75em; - width: .5em; } - 100% { - top: 1.125em; - left: .1875em; - width: .75em; } } - -@keyframes swal2-toast-animate-success-line-long { - 0% { - top: 1.625em; - right: 1.375em; - width: 0; } - 65% { - top: 1.25em; - right: .9375em; - width: 0; } - 84% { - top: .9375em; - right: 0; - width: 1.125em; } - 100% { - top: .9375em; - right: .1875em; - width: 1.375em; } } - -@keyframes swal2-show { - 0% { - transform: scale(0.7); } - 45% { - transform: scale(1.05); } - 80% { - transform: scale(0.95); } - 100% { - transform: scale(1); } } - -@keyframes swal2-hide { - 0% { - transform: scale(1); - opacity: 1; } - 100% { - transform: scale(0.5); - opacity: 0; } } - -@keyframes swal2-animate-success-line-tip { - 0% { - top: 1.1875em; - left: .0625em; - width: 0; } - 54% { - top: 1.0625em; - left: .125em; - width: 0; } - 70% { - top: 2.1875em; - left: -.375em; - width: 3.125em; } - 84% { - top: 3em; - left: 1.3125em; - width: 1.0625em; } - 100% { - top: 2.8125em; - left: .8125em; - width: 1.5625em; } } - -@keyframes swal2-animate-success-line-long { - 0% { - top: 3.375em; - right: 2.875em; - width: 0; } - 65% { - top: 3.375em; - right: 2.875em; - width: 0; } - 84% { - top: 2.1875em; - right: 0; - width: 3.4375em; } - 100% { - top: 2.375em; - right: .5em; - width: 2.9375em; } } - -@keyframes swal2-rotate-success-circular-line { - 0% { - transform: rotate(-45deg); } - 5% { - transform: rotate(-45deg); } - 12% { - transform: rotate(-405deg); } - 100% { - transform: rotate(-405deg); } } - -@keyframes swal2-animate-error-x-mark { - 0% { - margin-top: 1.625em; - transform: scale(0.4); - opacity: 0; } - 50% { - margin-top: 1.625em; - transform: scale(0.4); - opacity: 0; } - 80% { - margin-top: -.375em; - transform: scale(1.15); } - 100% { - margin-top: 0; - transform: scale(1); - opacity: 1; } } - -@keyframes swal2-animate-error-icon { - 0% { - transform: rotateX(100deg); - opacity: 0; } - 100% { - transform: rotateX(0deg); - opacity: 1; } } - -@keyframes swal2-rotate-loading { - 0% { - transform: rotate(0deg); } - 100% { - transform: rotate(360deg); } } - -body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) { - overflow: hidden; } - -body.swal2-height-auto { - height: auto !important; } - -body.swal2-no-backdrop .swal2-container { - top: auto; - right: auto; - bottom: auto; - left: auto; - max-width: calc(100% - 0.625em * 2); - background-color: transparent !important; } - body.swal2-no-backdrop .swal2-container > .swal2-modal { - box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); } - body.swal2-no-backdrop .swal2-container.swal2-top { - top: 0; - left: 50%; - transform: translateX(-50%); } - body.swal2-no-backdrop .swal2-container.swal2-top-start, body.swal2-no-backdrop .swal2-container.swal2-top-left { - top: 0; - left: 0; } - body.swal2-no-backdrop .swal2-container.swal2-top-end, body.swal2-no-backdrop .swal2-container.swal2-top-right { - top: 0; - right: 0; } - body.swal2-no-backdrop .swal2-container.swal2-center { - top: 50%; - left: 50%; - transform: translate(-50%, -50%); } - body.swal2-no-backdrop .swal2-container.swal2-center-start, body.swal2-no-backdrop .swal2-container.swal2-center-left { - top: 50%; - left: 0; - transform: translateY(-50%); } - body.swal2-no-backdrop .swal2-container.swal2-center-end, body.swal2-no-backdrop .swal2-container.swal2-center-right { - top: 50%; - right: 0; - transform: translateY(-50%); } - body.swal2-no-backdrop .swal2-container.swal2-bottom { - bottom: 0; - left: 50%; - transform: translateX(-50%); } - body.swal2-no-backdrop .swal2-container.swal2-bottom-start, body.swal2-no-backdrop .swal2-container.swal2-bottom-left { - bottom: 0; - left: 0; } - body.swal2-no-backdrop .swal2-container.swal2-bottom-end, body.swal2-no-backdrop .swal2-container.swal2-bottom-right { - right: 0; - bottom: 0; } - -@media print { - body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) { - overflow-y: scroll !important; } - body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) > [aria-hidden='true'] { - display: none; } - body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) .swal2-container { - position: static !important; } } - -body.swal2-toast-shown .swal2-container { - background-color: transparent; } - body.swal2-toast-shown .swal2-container.swal2-top { - top: 0; - right: auto; - bottom: auto; - left: 50%; - transform: translateX(-50%); } - body.swal2-toast-shown .swal2-container.swal2-top-end, body.swal2-toast-shown .swal2-container.swal2-top-right { - top: 0; - right: 0; - bottom: auto; - left: auto; } - body.swal2-toast-shown .swal2-container.swal2-top-start, body.swal2-toast-shown .swal2-container.swal2-top-left { - top: 0; - right: auto; - bottom: auto; - left: 0; } - body.swal2-toast-shown .swal2-container.swal2-center-start, body.swal2-toast-shown .swal2-container.swal2-center-left { - top: 50%; - right: auto; - bottom: auto; - left: 0; - transform: translateY(-50%); } - body.swal2-toast-shown .swal2-container.swal2-center { - top: 50%; - right: auto; - bottom: auto; - left: 50%; - transform: translate(-50%, -50%); } - body.swal2-toast-shown .swal2-container.swal2-center-end, body.swal2-toast-shown .swal2-container.swal2-center-right { - top: 50%; - right: 0; - bottom: auto; - left: auto; - transform: translateY(-50%); } - body.swal2-toast-shown .swal2-container.swal2-bottom-start, body.swal2-toast-shown .swal2-container.swal2-bottom-left { - top: auto; - right: auto; - bottom: 0; - left: 0; } - body.swal2-toast-shown .swal2-container.swal2-bottom { - top: auto; - right: auto; - bottom: 0; - left: 50%; - transform: translateX(-50%); } - body.swal2-toast-shown .swal2-container.swal2-bottom-end, body.swal2-toast-shown .swal2-container.swal2-bottom-right { - top: auto; - right: 0; - bottom: 0; - left: auto; } - -body.swal2-toast-column .swal2-toast { - flex-direction: column; - align-items: stretch; } - body.swal2-toast-column .swal2-toast .swal2-actions { - flex: 1; - align-self: stretch; - height: 2.2em; - margin-top: .3125em; } - body.swal2-toast-column .swal2-toast .swal2-loading { - justify-content: center; } - body.swal2-toast-column .swal2-toast .swal2-input { - height: 2em; - margin: .3125em auto; - font-size: 1em; } - body.swal2-toast-column .swal2-toast .swal2-validation-message { - font-size: 1em; } - -#toast-container.toast-top-right { - top: 76px; } - -#toast-container .toast-close-button { - right: -0.15em; } - -#toast-container .toast { - opacity: 1 !important; - background-image: none !important; - border-radius: 0.25rem; - box-shadow: 0 0 8px rgba(0, 0, 0, 0.35); - display: flex; - align-items: center; } - #toast-container .toast:hover { - box-shadow: 0 0 10px rgba(0, 0, 0, 0.6); } - #toast-container .toast:before { - font-family: FontAwesome; - font-size: 25px; - line-height: 20px; - float: left; - color: #ffffff; - padding-right: 10px; - margin: auto 0 auto -36px; } - #toast-container .toast .toaster-icon { - display: none; } - #toast-container .toast .toast-message p { - margin-bottom: 0.5rem; } - #toast-container .toast .toast-message p:last-child { - margin-bottom: 0; } - #toast-container .toast.toast-danger, #toast-container .toast.toast-error { - background-image: none !important; - background-color: #dd4b39; } - #toast-container .toast.toast-danger:before, #toast-container .toast.toast-error:before { - content: "\F0E7"; - margin-left: -30px; } - #toast-container .toast.toast-warning { - background-image: none !important; - background-color: #bf7e16; } - #toast-container .toast.toast-warning:before { - content: "\F071"; } - #toast-container .toast.toast-info { - background-image: none !important; - background-color: #555555; } - #toast-container .toast.toast-info:before { - content: "\F05A"; } - #toast-container .toast.toast-success { - background-image: none !important; - background-color: #00a65a; } - #toast-container .toast.toast-success:before { - content: "\F00C"; } - -.swal2-container { - background-color: rgba(0, 0, 0, 0.3); } - -.swal2-popup { - padding: 15px 0 0; - background-color: #fff; - color: #333333; - border: 1px solid #9a9a9a; - border-radius: 0.3rem; - width: 34em; } - .swal2-popup .swal2-header { - padding: 0 15px; } - .swal2-popup .swal2-icon { - margin: 0 auto; - width: auto; - height: auto; - border: none; } - .swal2-popup .swal2-content { - padding-bottom: 15px; - font-size: 1rem; - border-bottom: 1px solid #dee2e6; } - .swal2-popup i.swal-custom-icon { - display: block; - margin: 0 auto; - font-size: 35px; } - .swal2-popup .swal2-title { - padding: 10px 0 15px; - margin: 0; - font-size: 1.15rem; - color: #333333; } - .swal2-popup .swal2-content { - font-size: 1rem; - color: #333333; - padding: 0 15px 15px; } - .swal2-popup .swal2-actions { - padding: 15px; - margin: 0; - background-color: #fbfbfb; - border-radius: 0.3rem; - display: flex; - flex-direction: row; - justify-content: flex-start; - font-size: 1rem; } - .swal2-popup .swal2-actions button { - margin-right: 10px; } - .swal2-popup .swal2-actions button.swal2-confirm { - font-weight: bold; } - .swal2-popup .swal2-actions button.swal2-cancel { - background-color: #ffffff; } - -html { - font-size: 14px; } - -body { - min-width: 1010px; } - body.layout_frontend { - background-color: #ecf0f5; } - body.full-width:not(.layout_frontend) .container { - min-width: 980px; - width: 90%; } - -.page-header, .secondary-header { - border-bottom: 1px solid #dee2e6; - padding-bottom: 0.6rem; - margin-bottom: 0.5rem; } - .page-header h1, .page-header h2, .page-header h3, .page-header h4, .secondary-header h1, .secondary-header h2, .secondary-header h3, .secondary-header h4 { - margin: 0; } - -h1 small, h2 small, h3 small, h4 small, h5 small { - font-size: 80%; } - -input:required, select:required, textarea:required { - box-shadow: none; } - -.secondary-header, .spaced-header { - margin-top: 4rem; } - -.navbar { - padding-left: 0; - padding-right: 0; } - .navbar .dropdown-menu { - min-width: 200px; - max-width: 300px; } - .navbar .dropdown-menu .dropdown-item-text { - line-height: 1.3; } - .navbar .dropdown-menu .dropdown-item-text span, .navbar .dropdown-menu .dropdown-item-text small { - display: block; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; } - .navbar .nav-link { - font-weight: 600; } - -.navbar-brand { - margin-top: -20px; - margin-bottom: -20px; } - -.dropdown-menu button { - cursor: pointer; } - -.container { - width: 980px; - max-width: none !important; - margin: 0 auto; - padding: 0; } - -.page-content { - margin-top: 20px; } - -.footer { - margin-top: 40px; - padding: 40px 0 40px 0; - border-top: 1px solid #dee2e6; } - -.list-group-item.active { - border-left: 3px solid #175DDC; - font-weight: bold; - padding-left: calc(1.25rem - 3px); } - -.card-header, .modal-header { - font-weight: bold; - text-transform: uppercase; } - .card-header small, .modal-header small { - font-weight: normal; - text-transform: none; } - -.card-body-header { - font-size: 1.15rem; } - -.card ul.fa-ul.card-ul { - margin-left: 1.9em; } - .card ul.fa-ul.card-ul li { - word-break: break-all; } - .card ul.fa-ul.card-ul .fa-li { - top: 4px; } - .card ul.fa-ul.card-ul.carets { - margin-left: 1.1em; } - .card ul.fa-ul.card-ul.carets .fa-li { - left: -17px; - width: 1.1em; } - .card ul.fa-ul.card-ul ul.carets { - margin-left: 0.85em; } - -.card-org-plans h2 { - font-size: 1.15rem; } - -.modal-dialog { - width: 500px; } - -.modal-sm { - width: 300px; } - -.modal-lg { - width: 800px; } - -.modal-body h3 { - font-weight: normal; - text-transform: uppercase; - color: #6c757d; } - -.modal .list-group-flush :first-child { - border-top: none; } - -.modal .list-group-flush :last-child { - border-bottom: none; } - -.modal-footer { - justify-content: flex-start; - background-color: #fbfbfb; - border-radius: 0.3rem; } - -label:not(.form-check-label):not(.btn), label.bold { - font-weight: 600; } - -input[type="search"]::-webkit-search-cancel-button { - -webkit-appearance: searchfield-cancel-button; } - -.btn[class*="btn-outline-"]:not(:hover), .swal2-popup .swal2-actions button[class*="btn-outline-"]:not(:hover) { - border-color: #ced4da; - background-color: #fbfbfb; } - -.btn-outline-secondary, .swal2-popup .swal2-actions button.swal2-cancel { - color: #6c757d; } - .btn-outline-secondary:hover:not(:disabled), .swal2-popup .swal2-actions button.swal2-cancel:hover:not(:disabled) { - color: #333333; } - .btn-outline-secondary:disabled, .swal2-popup .swal2-actions button.swal2-cancel:disabled { - opacity: 1; } - -.btn-submit { - position: relative; } - .btn-submit .fa-spinner { - position: absolute; - display: none; - align-items: center; - justify-content: center; - bottom: 0; - top: 0; - left: 0; - right: 0; } - .btn-submit:disabled:not(.manual) .fa-spinner, .btn-submit.loading .fa-spinner { - display: flex; } - .btn-submit:disabled:not(.manual) span, .btn-submit.loading span { - visibility: hidden; } - -.table.table-list thead th { - border-top: none; } - -.table.table-list tr:first-child td { - border: none; } - -.table.table-list td { - vertical-align: middle; } - .table.table-list td.reduced-lh { - line-height: 1; } - .table.table-list td.reduced-lh small { - font-size: 80%; } - .table.table-list td small, .table.table-list td > .fa, .table.table-list td .icon { - color: #6c757d; } - -.table.table-list td.wrap { - word-break: break-all; } - -.table.table-list td.table-list-options { - width: 76px; - max-width: 76px; - text-align: right; - height: 50px; } - .table.table-list td.table-list-options.wider { - width: 100px; - max-width: 100px; } - .table.table-list td.table-list-options .btn, .table.table-list td.table-list-options .swal2-popup .swal2-actions button, .swal2-popup .swal2-actions .table.table-list td.table-list-options button { - line-height: 1; - transition: initial; } - .table.table-list td.table-list-options .dropdown-menu { - line-height: 1.5; } - -.table.table-list td.table-list-icon { - width: 45px; - max-width: 45px; - text-align: center; } - .table.table-list td.table-list-icon img { - max-height: 24px; } - -.table.table-list td.table-list-checkbox { - width: 35px; - max-width: 35px; } - -.table.table-list td.table-list-strike { - color: #6c757d; - text-decoration: line-through; } - -.text-lg { - font-size: 1.15rem; } - -.text-strike { - text-decoration: line-through; } - -.font-weight-semibold { - font-weight: 600; } - -.password-wrapper { - word-break: break-all; - white-space: pre-wrap; - min-width: 0; } - -.password-row { - min-width: 0; } - -.password-number { - color: #007fde; } - -.password-special { - color: #c40800; } - -app-vault-groupings .card #search, app-org-vault-groupings .card #search, .groupings .card #search { - margin-bottom: 1rem; } - -app-vault-groupings .card h3, app-org-vault-groupings .card h3, .groupings .card h3 { - font-weight: normal; - text-transform: uppercase; - color: #6c757d; } - -app-vault-groupings .card ul:last-child, app-org-vault-groupings .card ul:last-child, .groupings .card ul:last-child { - margin-bottom: 0; } - -app-vault-groupings .card .card-body a, app-org-vault-groupings .card .card-body a, .groupings .card .card-body a { - color: #333333; } - app-vault-groupings .card .card-body a:hover.text-muted, app-org-vault-groupings .card .card-body a:hover.text-muted, .groupings .card .card-body a:hover.text-muted { - color: #333333 !important; } - -app-vault-groupings .card .show-active, app-org-vault-groupings .card .show-active, .groupings .card .show-active { - display: none; } - -app-vault-groupings .card li > .fa, app-vault-groupings .card li > div > .fa, app-org-vault-groupings .card li > .fa, app-org-vault-groupings .card li > div > .fa, .groupings .card li > .fa, .groupings .card li > div > .fa { - cursor: pointer; } - -app-vault-groupings .card li.active > .show-active, app-vault-groupings .card li.active > div .show-active, app-org-vault-groupings .card li.active > .show-active, app-org-vault-groupings .card li.active > div .show-active, .groupings .card li.active > .show-active, .groupings .card li.active > div .show-active { - display: inline; } - -app-vault-groupings .card li.active > a:first-of-type, app-vault-groupings .card li.active > div a:first-of-type, app-org-vault-groupings .card li.active > a:first-of-type, app-org-vault-groupings .card li.active > div a:first-of-type, .groupings .card li.active > a:first-of-type, .groupings .card li.active > div a:first-of-type { - font-weight: bold; - color: #175DDC; } - -app-vault-groupings .card li.active > .fa, app-vault-groupings .card li.active > div > .fa, app-org-vault-groupings .card li.active > .fa, app-org-vault-groupings .card li.active > div > .fa, .groupings .card li.active > .fa, .groupings .card li.active > div > .fa { - color: #175DDC; } - -app-password-generator #lengthRange { - width: 100%; } - -app-password-generator .card-password .card-body { - display: flex; - flex-wrap: wrap; - align-items: center; - justify-content: center; - text-align: center; - font-size: 1.15rem; - font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; } - -app-password-generator-history .list-group-item { - line-height: 1; } - app-password-generator-history .list-group-item .password { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; } - -app-import textarea { - height: 150px; } - -app-user-billing .progress { - height: 20px; } - app-user-billing .progress .progress-bar { - min-width: 50px; } - -#duo-frame { - background: url(../images/loading.svg) 0 0 no-repeat; - height: 330px; } - #duo-frame iframe { - width: 100%; - height: 100%; - border: none; } - -#bt-dropin-container { - background: url(../images/loading.svg) 0 0 no-repeat; - min-height: 50px; } - -.braintree-placeholder, .braintree-sheet__header { - display: none; } - -.braintree-sheet__content--button { - text-align: left; - padding: 0; - min-height: 0; } - -.braintree-sheet__container { - margin-bottom: 0; } - -.braintree-sheet { - border: none; } - -.totp .totp-code { - font-size: 1.2rem; } - -.totp .totp-countdown { - margin: 3px 3px 0 0; - display: block; - user-select: none; } - .totp .totp-countdown .totp-sec { - font-size: 0.85em; - position: absolute; - line-height: 32px; - width: 32px; - text-align: center; } - .totp .totp-countdown svg { - width: 32px; - height: 32px; - transform: rotate(-90deg); } - .totp .totp-countdown .totp-circle { - fill: none; - stroke: #175DDC; } - .totp .totp-countdown .totp-circle.inner { - stroke-width: 3; - stroke-dasharray: 78.6; - stroke-dashoffset: 0; } - .totp .totp-countdown .totp-circle.outer { - stroke-width: 2; - stroke-dasharray: 88; - stroke-dashoffset: 0; } - -.totp > .align-items-center { - margin-bottom: -5px; } - -.totp.low .totp-sec, .totp.low .totp-code { - color: #dd4b39; } - -.totp.low .totp-circle { - stroke: #dd4b39; } - -.callout { - padding: 0.75rem 1.25rem; - margin-bottom: 1rem; - border: 1px solid rgba(0, 0, 0, 0.125); - border-left-width: 5px; - border-radius: calc(0.25rem - 1px); - background-color: #fafafa; } - .callout .callout-heading { - margin-top: 0; } - .callout h3.callout-heading { - font-weight: bold; - text-transform: uppercase; } - .callout.callout-primary { - border-left-color: #175DDC; } - .callout.callout-primary .callout-heading { - color: #175DDC; } - .callout.callout-info { - border-left-color: #343a40; } - .callout.callout-info .callout-heading { - color: #343a40; } - .callout.callout-danger { - border-left-color: #dd4b39; } - .callout.callout-danger .callout-heading { - color: #dd4b39; } - .callout.callout-success { - border-left-color: #00a65a; } - .callout.callout-success .callout-heading { - color: #00a65a; } - .callout.callout-warning { - border-left-color: #bf7e16; } - .callout.callout-warning .callout-heading { - color: #bf7e16; } - -.list-group-2fa .logo-2fa { - min-width: 100px; } - -.form-check-block .form-check-label { - font-weight: 600; } - .form-check-block .form-check-label > small { - display: block; - color: #6c757d; - font-weight: normal; } - .form-check-block .form-check-label > span { - display: block; - font-weight: normal; } - -.form-inline input[type='datetime-local'] { - width: 200px; } - -.form-control.stripe-form-control { - padding-top: 0.55rem; } - .form-control.stripe-form-control.is-focused { - color: #495057; - background-color: #ffffff; - border-color: #81a9f2; - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); } - .form-control.stripe-form-control.is-focused.is-invalid { - box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.25); } - .form-control.stripe-form-control.is-invalid { - border-color: #dd4b39; } - -.org-nav { - background-color: #fbfbfb; - border-bottom: 1px solid #dee2e6; - height: 100px; - min-height: 100px; } - .org-nav .container { - height: 100%; } - .org-nav .nav-tabs { - border-bottom: none; } - .org-nav .nav-tabs a { - color: #333333; } - .org-nav .nav-tabs a:not(.active) { - border-color: transparent; } - .org-nav .nav-tabs a.active { - border-top: 3px solid #175DDC; - font-weight: bold; - padding-top: calc(0.5rem - 2px); } - .org-nav .nav-tabs a.disabled { - color: #b4b4b4; } - .org-nav .org-name { - line-height: 1; } - .org-nav .org-name span { - font-size: 1.15rem; - display: block; } - -img.logo { - width: 284px; - height: 43px; - margin: 0 auto; - display: block; } - -.min-height-fix { - min-height: 1px; } - -.overflow-hidden { - overflow: hidden; } - -.cdk-drag-preview { - z-index: 1070 !important; - opacity: 0.8; - background-color: #fff; - border-radius: 0.25rem; } - -.cursor-move { - cursor: move !important; } - -.layout.enterprise2 header { - color: #ced4da; - background-color: #175DDC; } - .layout.enterprise2 header:before { - content: ""; - position: absolute; - z-index: -1; - width: 100%; - height: 340px; - left: 0; - transform: skewY(-3deg); - background: #175DDC; } - .layout.enterprise2 header img.logo { - margin: 12px 0 0; - width: 284px; - max-width: 284px; - height: auto; } - -.layout.enterprise2 h2 { - color: #ffffff; - font-size: 1.8rem; - margin: 100px 0 150px 0; } - -.layout.enterprise2 p { - margin: 20px 0 40px 0; - font-size: 1.4rem; } - .layout.enterprise2 p:before { - content: "/"; - padding-right: 12px; } - .layout.enterprise2 p:not(.highlight):before { - color: #1252A3; } - .layout.enterprise2 p b:after { - content: "\27F6"; - font-size: 2rem; - padding-left: 6px; } - -.layout.enterprise2 blockquote { - margin: 20px 0 0 0; - font-size: 1.4rem; - padding-right: 40px; } - - -/*# sourceMappingURL=main.5767a6ed9bc20ebddf79.css.map*/ \ No newline at end of file diff --git a/app/main.5767a6ed9bc20ebddf79.css.map b/app/main.5767a6ed9bc20ebddf79.css.map deleted file mode 100644 index d9cd6d72..00000000 --- a/app/main.5767a6ed9bc20ebddf79.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./src/css/webfonts.css","webpack:///./src/scss/styles.scss"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gHAAgH;;AAEhH;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA,gDAAgD;;AAEhD;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA,wBAAwB;;AAExB;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,iBAAiB;;AAEjB;AACA,mBAAmB;;AAEnB;AACA;AACA,sBAAsB;;AAEtB;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA,iBAAiB;;AAEjB;AACA,aAAa;;AAEb;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA,wBAAwB;AACxB;AACA;AACA,0BAA0B;AAC1B;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,mBAAmB;;AAEnB;AACA;AACA,qBAAqB;;AAErB;AACA;AACA,yBAAyB;;AAEzB;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA,sBAAsB;;AAEtB;AACA;AACA,wBAAwB;;AAExB;AACA,mBAAmB;;AAEnB;AACA;AACA,6CAA6C;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA,uBAAuB;;AAEvB;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA,2BAA2B;;AAE3B;AACA;AACA,eAAe;;AAEf;AACA;AACA,2BAA2B;;AAE3B;AACA,2BAA2B;;AAE3B;AACA;AACA,6BAA6B;;AAE7B;AACA,wBAAwB;;AAExB;AACA;AACA,kBAAkB;;AAElB;AACA,gBAAgB;;AAEhB;AACA,2BAA2B;;AAE3B;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,oBAAoB;;AAEpB;AACA,oBAAoB;;AAEpB;AACA,kBAAkB;;AAElB;AACA,kBAAkB;;AAElB;AACA,kBAAkB;;AAElB;AACA,kBAAkB;;AAElB;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,2CAA2C;;AAE3C;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,wBAAwB;AACxB;AACA,yBAAyB;;AAEzB;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,iBAAiB;AACjB;AACA,wBAAwB;;AAExB;AACA;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;;AAEf;AACA,wBAAwB;;AAExB;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,yBAAyB;AACzB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,wBAAwB,EAAE;;AAE1B;AACA;AACA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,kBAAkB;;AAElB;AACA,YAAY;;AAEZ;AACA,YAAY;;AAEZ;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,YAAY;;AAEZ;AACA,YAAY;;AAEZ;AACA,YAAY;;AAEZ;AACA,wBAAwB;;AAExB;AACA,yBAAyB;;AAEzB;AACA,mBAAmB;;AAEnB;AACA,yBAAyB;;AAEzB;AACA,yBAAyB;;AAEzB;AACA,mBAAmB;;AAEnB;AACA,yBAAyB;;AAEzB;AACA,yBAAyB;;AAEzB;AACA,mBAAmB;;AAEnB;AACA,yBAAyB;;AAEzB;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,wBAAwB;AACxB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,oBAAoB;AACpB;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,mBAAmB;AACnB;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B,EAAE;;AAE7B;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,wBAAwB;AACxB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,oBAAoB;AACpB;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,mBAAmB;AACnB;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B,EAAE;;AAE7B;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,wBAAwB;AACxB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,oBAAoB;AACpB;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,mBAAmB;AACnB;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B,EAAE;;AAE7B;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,wBAAwB;AACxB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,oBAAoB;AACpB;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,mBAAmB;AACnB;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B,EAAE;;AAE7B;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA,qCAAqC;AACrC;AACA,kCAAkC;;AAElC;AACA;AACA,kBAAkB;;AAElB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,6BAA6B;;AAE7B;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA,wCAAwC;;AAExC;AACA;AACA,wCAAwC;;AAExC;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,wCAAwC;;AAExC;AACA,wCAAwC;AACxC;AACA;AACA,0CAA0C;;AAE1C;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,cAAc;AACd;AACA,gDAAgD;AAChD;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,gBAAgB,EAAE;;AAElB;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,gBAAgB,EAAE;;AAElB;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,gBAAgB,EAAE;;AAElB;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,gBAAgB,EAAE;;AAElB;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E;AAC3E;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA,eAAe;AACf;AACA;AACA,eAAe;;AAEf;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,eAAe;;AAEf;AACA,eAAe;;AAEf;AACA,sBAAsB;;AAEtB;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,qFAAqF;;AAErF;AACA;AACA;AACA,mhBAAmhB;AACnhB;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;AACjB;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,4BAA4B;;AAE5B;AACA,kDAAkD;;AAElD;AACA,wBAAwB;;AAExB;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,kDAAkD;;AAElD;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,qFAAqF;;AAErF;AACA;AACA;AACA,6jBAA6jB;AAC7jB;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;AACjB;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,4BAA4B;;AAE5B;AACA,mDAAmD;;AAEnD;AACA,wBAAwB;;AAExB;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,mDAAmD;;AAEnD;AACA;AACA;AACA,sBAAsB;AACtB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,4BAA4B;AAC5B;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,8BAA8B;AAC9B;AACA,uBAAuB,EAAE;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wIAAwI;AACxI;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,qDAAqD;AACrD;AACA,kBAAkB;;AAElB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,qDAAqD;AACrD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,sDAAsD;AACtD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,wDAAwD;;AAExD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,qDAAqD;AACrD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,sDAAsD;AACtD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,wDAAwD;;AAExD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,qDAAqD;AACrD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,qDAAqD;AACrD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,sDAAsD;AACtD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,wDAAwD;;AAExD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,mDAAmD;AACnD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,qDAAqD;;AAErD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,qDAAqD;AACrD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,oDAAoD;AACpD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,oDAAoD;AACpD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,sDAAsD;AACtD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,wDAAwD;;AAExD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,mDAAmD;AACnD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,qDAAqD;;AAErD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,mDAAmD;AACnD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,qDAAqD;;AAErD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,qDAAqD;AACrD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,oDAAoD;AACpD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,sDAAsD;AACtD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,wDAAwD;;AAExD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,mDAAmD;AACnD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,qDAAqD;;AAErD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,oDAAoD;AACpD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,oDAAoD;AACpD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA,cAAc;AACd;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA,cAAc;;AAEd;AACA,mCAAmC;AACnC;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,eAAe;;AAEf;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,uBAAuB,EAAE;;AAEzB;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA,UAAU;;AAEV;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA,iBAAiB;;AAEjB;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA,cAAc;;AAEd;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;;AAEzC;AACA,iBAAiB;;AAEjB;AACA,oBAAoB;;AAEpB;AACA;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA,kCAAkC;;AAElC;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,gBAAgB;;AAEhB;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,mBAAmB;AACnB;AACA,oBAAoB;;AAEpB;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,eAAe;AACf;AACA,eAAe;AACf;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA,qBAAqB;;AAErB;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,kBAAkB;;AAElB;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,qDAAqD;AACrD;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,mBAAmB;AACnB;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;;AAExC;AACA,yBAAyB;;AAEzB;AACA,gNAAgN;;AAEhN;AACA;AACA,4BAA4B;;AAE5B;AACA,6JAA6J;;AAE7J;AACA,2CAA2C;;AAE3C;AACA,2CAA2C;;AAE3C;AACA,qBAAqB;;AAErB;AACA,0JAA0J;;AAE1J;AACA,2CAA2C;;AAE3C;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8IAA8I;AAC9I;AACA;AACA,yBAAyB,EAAE;AAC3B;AACA;AACA,mCAAmC;AACnC;AACA,6CAA6C;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA,8BAA8B;AAC9B;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,qDAAqD;AACrD;AACA,8BAA8B;AAC9B;AACA,sBAAsB;AACtB;AACA,+BAA+B;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,kBAAkB;AAClB;AACA,0EAA0E;AAC1E;AACA,0EAA0E;AAC1E;AACA,0EAA0E;AAC1E;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB,EAAE;AAC3B;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB,EAAE;AAC3B;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB,EAAE;AAC3B;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,oBAAoB;AACpB;AACA,8BAA8B;AAC9B;AACA,oBAAoB;AACpB;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,+GAA+G;AAC/G;AACA;AACA;AACA;AACA,uBAAuB,EAAE;;AAEzB;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,uBAAuB;AACvB;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA,mCAAmC;AACnC;AACA,wBAAwB;AACxB;AACA;AACA;AACA,qCAAqC;AACrC;AACA,4CAA4C;AAC5C;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,qBAAqB;;AAErB;AACA,gBAAgB;;AAEhB;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA,oBAAoB;AACpB;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA;AACA;AACA;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA,gCAAgC;AAChC;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA,gCAAgC;AAChC;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA,gCAAgC;AAChC;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA,gCAAgC;AAChC;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,oBAAoB;AACpB;AACA,wBAAwB;AACxB;AACA,yBAAyB;AACzB;AACA;AACA,2BAA2B;AAC3B;AACA;AACA,sBAAsB;AACtB;AACA;AACA,qBAAqB;AACrB;AACA,kBAAkB;;AAElB;AACA,4BAA4B;AAC5B;AACA,8BAA8B;;AAE9B;AACA,4BAA4B;AAC5B;AACA,8BAA8B;AAC9B;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA,mCAAmC;;AAEnC;AACA,2PAA2P;;AAE3P;AACA,4BAA4B;AAC5B;AACA,8BAA8B;AAC9B;AACA,gCAAgC;;AAEhC;AACA,cAAc;AACd;AACA,gBAAgB;;AAEhB;AACA,kCAAkC;AAClC;AACA,oCAAoC;AACpC;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA,cAAc;;AAEd;AACA;AACA,yCAAyC;;AAEzC;AACA,iQAAiQ;;AAEjQ;AACA,kCAAkC;AAClC;AACA,gBAAgB;AAChB;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,qCAAqC;AACrC;AACA;AACA,uCAAuC;;AAEvC;AACA;AACA,mBAAmB;;AAEnB;AACA,wBAAwB;;AAExB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,wBAAwB;;AAExB;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA,+DAA+D;AAC/D;AACA,kBAAkB;;AAElB;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,+DAA+D;;AAE/D;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA,+CAA+C;;AAE/C;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA,yBAAyB;AACzB;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,EAAE;;AAE5B;AACA;AACA,yBAAyB;AACzB;AACA,wBAAwB;AACxB;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,wCAAwC;AACxC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,0CAA0C;AAC1C;AACA;AACA,uCAAuC;AACvC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,yCAAyC,EAAE;;AAE3C;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,kBAAkB,EAAE;;AAEpB;AACA,mBAAmB;AACnB;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,+BAA+B;AAC/B;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,6BAA6B;;AAE7B;AACA,wBAAwB;;AAExB;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,qDAAqD;;AAErD;AACA;AACA;AACA,qCAAqC;;AAErC;AACA;AACA,sCAAsC;;AAEtC;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wIAAwI;AACxI;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,0BAA0B;AAC1B;AACA,kBAAkB;;AAElB;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,oDAAoD;;AAEpD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,mDAAmD;;AAEnD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,mDAAmD;;AAEnD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,qDAAqD;;AAErD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,oDAAoD;;AAEpD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,mDAAmD;;AAEnD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,oDAAoD;;AAEpD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,oDAAoD;;AAEpD;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,yBAAyB,EAAE;;AAE3B;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA,iBAAiB;;AAEjB;AACA,mBAAmB;;AAEnB;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA,gCAAgC;AAChC;AACA,6BAA6B,EAAE;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,uBAAuB,EAAE;;AAEzB;AACA;AACA,6BAA6B;;AAE7B;AACA,qDAAqD;AACrD;AACA;AACA,sBAAsB,EAAE;;AAExB;AACA;AACA,0BAA0B;;AAE1B;AACA,UAAU;;AAEV;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC;AACA,sBAAsB;AACtB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA,qCAAqC,EAAE;;AAEvC;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA,qCAAqC,EAAE;;AAEvC;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA,qCAAqC,EAAE;;AAEvC;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA,qCAAqC,EAAE;;AAEvC;AACA;AACA;AACA,mBAAmB;AACnB;AACA,wBAAwB;;AAExB;AACA,gBAAgB;;AAEhB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,0BAA0B;AAC1B;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,uBAAuB;;AAEvB;AACA,mBAAmB;AACnB;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA,mCAAmC;AACnC;AACA;AACA,yBAAyB,EAAE;AAC3B;AACA,oBAAoB;;AAEpB;AACA;AACA,gCAAgC;AAChC;AACA;AACA,qBAAqB;AACrB;AACA;AACA,mBAAmB;AACnB;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,iBAAiB;AACjB;AACA,uBAAuB;AACvB;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,eAAe;AACf;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA,wBAAwB;AACxB;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,yBAAyB;AACzB;AACA,oCAAoC;AACpC;AACA,uCAAuC;AACvC;AACA,oCAAoC;AACpC;AACA,mCAAmC;AACnC;AACA,qBAAqB,EAAE;;AAEvB;AACA;AACA;AACA,qBAAqB,EAAE;;AAEvB;AACA;AACA,sBAAsB,EAAE;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA,oBAAoB;AACpB;AACA,cAAc;AACd;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA,oBAAoB;AACpB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA,oBAAoB;AACpB;AACA,WAAW;AACX;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA,oBAAoB;AACpB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA,wBAAwB;AACxB;AACA,sCAAsC;AACtC;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA,qBAAqB;AACrB;AACA,mCAAmC;AACnC;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;;AAErC;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA,kBAAkB;;AAElB;AACA;AACA,iBAAiB;;AAEjB;AACA,qBAAqB;;AAErB;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,uBAAuB,EAAE;;AAEzB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,uBAAuB,EAAE;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,UAAU;;AAEV;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA,wCAAwC;;AAExC;AACA,sMAAsM;;AAEtM;AACA,sMAAsM;;AAEtM;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA,yBAAyB,EAAE;AAC3B;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA,8BAA8B,EAAE;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA,wBAAwB;AACxB;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;;AAE/C;AACA;AACA,eAAe;;AAEf;AACA,sCAAsC;;AAEtC;AACA,iC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;AACA,kCAAkC;;AAElC;AACA;AACA,gCAAgC;;AAEhC;AACA,6BAA6B;;AAE7B;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA,kCAAkC;;AAElC;AACA,2BAA2B;;AAE3B;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA,kCAAkC;;AAElC;AACA;AACA,gCAAgC;;AAEhC;AACA,0BAA0B;;AAE1B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA,yBAAyB;AACzB;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,8BAA8B;AAC9B;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,0BAA0B;AAC1B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,iCAAiC;AACjC;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC,EAAE;;AAEnC;AACA;AACA,yBAAyB;AACzB;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,8BAA8B;AAC9B;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,0BAA0B;AAC1B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,iCAAiC;AACjC;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC,EAAE;;AAEnC;AACA;AACA,yBAAyB;AACzB;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,8BAA8B;AAC9B;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,0BAA0B;AAC1B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,iCAAiC;AACjC;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC,EAAE;;AAEnC;AACA;AACA,yBAAyB;AACzB;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,8BAA8B;AAC9B;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,0BAA0B;AAC1B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,iCAAiC;AACjC;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC,EAAE;;AAEnC;AACA,+GAA+G;;AAE/G;AACA,iCAAiC;;AAEjC;AACA,iCAAiC;;AAEjC;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA,8BAA8B;;AAE9B;AACA,+BAA+B;;AAE/B;AACA,gCAAgC;;AAEhC;AACA;AACA,gCAAgC;AAChC;AACA,iCAAiC;AACjC;AACA,kCAAkC,EAAE;;AAEpC;AACA;AACA,gCAAgC;AAChC;AACA,iCAAiC;AACjC;AACA,kCAAkC,EAAE;;AAEpC;AACA;AACA,gCAAgC;AAChC;AACA,iCAAiC;AACjC;AACA,kCAAkC,EAAE;;AAEpC;AACA;AACA,gCAAgC;AAChC;AACA,iCAAiC;AACjC;AACA,kCAAkC,EAAE;;AAEpC;AACA,uCAAuC;;AAEvC;AACA,uCAAuC;;AAEvC;AACA,wCAAwC;;AAExC;AACA,8BAA8B;;AAE9B;AACA,kCAAkC;;AAElC;AACA,8BAA8B;;AAE9B;AACA,8BAA8B;;AAE9B;AACA,iCAAiC;;AAEjC;AACA,gCAAgC;;AAEhC;AACA,yBAAyB;;AAEzB;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,uCAAuC;;AAEvC;AACA,6CAA6C;;AAE7C;AACA;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA,mCAAmC;;AAEnC;AACA;AACA,uCAAuC;;AAEvC;AACA,4BAA4B;;AAE5B;AACA,iCAAiC;;AAEjC;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA,+BAA+B;AAC/B;AACA,kCAAkC;AAClC;AACA,qCAAqC;AACrC;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,gCAAgC;AAChC;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,4BAA4B;AAC5B;AACA,aAAa;AACb;AACA,8BAA8B;AAC9B;AACA,8BAA8B;AAC9B;AACA,kBAAkB;AAClB;AACA,2BAA2B;AAC3B;AACA,yCAAyC;AACzC;AACA;AACA,wCAAwC;AACxC;AACA;AACA,yCAAyC;AACzC;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,0BAA0B,EAAE;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;;AAEjB;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA,cAAc;;AAEd;AACA,eAAe;;AAEf;AACA,qBAAqB;;AAErB;AACA,oBAAoB;;AAEpB;AACA;AACA,eAAe;;AAEf;AACA,cAAc;;AAEd;AACA,qBAAqB;;AAErB;AACA,oBAAoB;;AAEpB;AACA;AACA,wCAAwC;;AAExC;AACA;AACA,0CAA0C;;AAE1C;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B,EAAE;;AAEhC;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B,EAAE;;AAEhC;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA,uBAAuB;;AAEvB;AACA,iBAAiB;;AAEjB;AACA,cAAc;;AAEd;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,oBAAoB;;AAEpB;AACA;AACA,wBAAwB;;AAExB;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA,cAAc;;AAEd;AACA;AACA;AACA,cAAc;;AAEd;AACA;AACA,aAAa;;AAEb;AACA,YAAY;;AAEZ;AACA;AACA,cAAc;;AAEd;AACA;AACA,eAAe;;AAEf;AACA,eAAe;;AAEf;AACA;AACA,aAAa;;AAEb;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,ieAAie;;AAEzgB;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,6wBAA6wB;;AAErzB;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,quBAAquB;;AAE7wB;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,qyHAAqyH;;AAE70H;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,qsBAAqsB;;AAE7uB;AACA;AACA;AACA,eAAe;;AAEf;AACA;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA,gBAAgB,EAAE;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA,kBAAkB;AAClB;AACA;AACA,qBAAqB;AACrB;AACA,sBAAsB;AACtB;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,mBAAmB;AACnB;AACA,oEAAoE;AACpE;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,sBAAsB;AACtB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,uBAAuB;AACvB;AACA,2DAA2D;AAC3D;AACA,4DAA4D;AAC5D;AACA,qCAAqC;AACrC;AACA,8CAA8C;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA,mCAAmC;AACnC;AACA,uCAAuC;AACvC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,8BAA8B;AAC9B;AACA,wBAAwB;AACxB;AACA;AACA,gCAAgC;AAChC;AACA;AACA,8BAA8B;AAC9B;AACA,0BAA0B;AAC1B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,2BAA2B;AAC3B;AACA,0BAA0B;AAC1B;AACA,8BAA8B;AAC9B;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,iBAAiB;AACjB;AACA;AACA,2BAA2B,EAAE;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,kBAAkB;AAClB;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA,gBAAgB;AAChB;AACA,8EAA8E;AAC9E;AACA,8EAA8E;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,kEAAkE;AAClE;AACA,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA,mBAAmB;AACnB;AACA,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;AACnB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA,oBAAoB;AACpB;AACA,oBAAoB;;AAEpB;AACA;AACA,qBAAqB;;AAErB;AACA;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,iCAAiC;AACjC;AACA;AACA,kCAAkC;AAClC;AACA,8CAA8C;AAC9C;AACA,kDAAkD;AAClD;AACA;AACA,mBAAmB;AACnB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA,qDAAqD;AACrD;AACA,sDAAsD;AACtD;AACA,kEAAkE;;AAElE;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,0BAA0B;AAC1B;AACA;AACA,oBAAoB;AACpB;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,2CAA2C;;AAE3C;AACA,6BAA6B;;AAE7B;AACA,uCAAuC;;AAEvC;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,UAAU;;AAEV;AACA;AACA,aAAa;;AAEb;AACA;AACA,2BAA2B;AAC3B;AACA,kBAAkB,EAAE;;AAEpB;AACA;AACA,2BAA2B;AAC3B;AACA,kBAAkB,EAAE;;AAEpB;AACA;AACA,+CAA+C,EAAE;;AAEjD;AACA;AACA,kDAAkD;AAClD;AACA,4CAA4C;AAC5C;AACA,kDAAkD;AAClD;AACA,2CAA2C,EAAE;;AAE7C;AACA;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,iBAAiB,EAAE;;AAEnB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,mBAAmB,EAAE;;AAErB;AACA;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,wBAAwB,EAAE;;AAE1B;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA,8BAA8B;AAC9B;AACA,8BAA8B;AAC9B;AACA,+BAA+B;AAC/B;AACA,+BAA+B,EAAE;;AAEjC;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA,4BAA4B;AAC5B;AACA,8BAA8B,EAAE;;AAEhC;AACA,mBAAmB;;AAEnB;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA,4CAA4C;AAC5C;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,YAAY;AACZ;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,YAAY;AACZ;AACA;AACA,cAAc;;AAEd;AACA;AACA,kCAAkC;AAClC;AACA,oBAAoB;AACpB;AACA,kCAAkC,EAAE;;AAEpC;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA,eAAe;;AAEf;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA,4BAA4B;AAC5B;AACA;AACA;AACA,mBAAmB;AACnB;AACA,mBAAmB;;AAEnB;AACA,YAAY;;AAEZ;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,kBAAkB;AAClB;AACA,0BAA0B;AAC1B;AACA,uBAAuB;AACvB;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,yBAAyB;AACzB;AACA;AACA,8BAA8B;AAC9B;AACA,uBAAuB;AACvB;AACA;AACA,8BAA8B;AAC9B;AACA,uBAAuB;AACvB;AACA;AACA,8BAA8B;AAC9B;AACA,uBAAuB;;AAEvB;AACA,uCAAuC;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,yBAAyB;AACzB;AACA,0BAA0B;AAC1B;AACA,kCAAkC;;AAElC;AACA,kBAAkB;;AAElB;AACA,oBAAoB;AACpB;AACA,8BAA8B;AAC9B;AACA;AACA,eAAe;;AAEf;AACA;AACA;AACA,wBAAwB;AACxB;AACA,cAAc;;AAEd;AACA,iBAAiB;;AAEjB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,qBAAqB;AACrB;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA,qBAAqB;;AAErB;AACA;AACA,uBAAuB;;AAEvB;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,yBAAyB;;AAEzB;AACA,qBAAqB;;AAErB;AACA,qBAAqB;AACrB;AACA,0BAA0B;AAC1B;AACA,aAAa;AACb;AACA,uBAAuB;AACvB;AACA;AACA,mBAAmB;AACnB;AACA,wBAAwB;;AAExB;AACA,qBAAqB;;AAErB;AACA,eAAe;;AAEf;AACA,eAAe;;AAEf;AACA,eAAe;;AAEf;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,mBAAmB;;AAEnB;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,mBAAmB;;AAEnB;AACA,gDAAgD;;AAEhD;AACA;AACA,4BAA4B;;AAE5B;AACA,iBAAiB;AACjB;AACA,mBAAmB;AACnB;AACA,eAAe;;AAEf;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,kBAAkB;AAClB;AACA,uBAAuB;;AAEvB;AACA,mBAAmB;;AAEnB;AACA,eAAe;;AAEf;AACA,yBAAyB;AACzB;AACA,mBAAmB;AACnB;AACA,qBAAqB;AACrB;AACA,mBAAmB;;AAEnB;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,qBAAqB;AACrB;AACA;AACA,wBAAwB;AACxB;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,qBAAqB;AACrB;AACA,qBAAqB;;AAErB;AACA;AACA,kBAAkB;;AAElB;AACA;AACA,gCAAgC;;AAEhC;AACA,qBAAqB;;AAErB;AACA,gCAAgC;;AAEhC;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,eAAe;;AAEf;AACA,eAAe;;AAEf;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;;AAEjB;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,mBAAmB;;AAEnB;AACA,iBAAiB;AACjB;AACA,8BAA8B;;AAE9B;AACA,gBAAgB;;AAEhB;AACA,kBAAkB;;AAElB;AACA,kBAAkB;;AAElB;AACA;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;;AAEjB;AACA,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oGAAoG;;AAEpG;AACA,iBAAiB;AACjB;AACA,sGAAsG;;AAEtG;AACA,gBAAgB;;AAEhB;AACA,eAAe;AACf;AACA,oBAAoB;;AAEpB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,mBAAmB;;AAEnB;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA,mBAAmB;;AAEnB;AACA,eAAe;;AAEf;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA,sBAAsB;;AAEtB;AACA,iBAAiB;;AAEjB;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA,kBAAkB;AAClB;AACA;AACA,8BAA8B;AAC9B;AACA,+BAA+B;AAC/B;AACA,qBAAqB;AACrB;AACA,+BAA+B;AAC/B;AACA,qBAAqB;AACrB;AACA,+BAA+B;AAC/B;AACA,qBAAqB;AACrB;AACA,+BAA+B;AAC/B;AACA,qBAAqB;AACrB;AACA,+BAA+B;AAC/B;AACA,qBAAqB;;AAErB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;AACnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,wBAAwB;;AAExB;AACA,eAAe;;AAEf;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA,uDAAuD;AACvD;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,iBAAiB;AACjB;AACA,wBAAwB;AACxB;AACA,qBAAqB;AACrB;AACA,kCAAkC;AAClC;AACA;AACA;AACA,wCAAwC;AACxC;AACA,uBAAuB;AACvB;AACA,mBAAmB;AACnB;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,kBAAkB;;AAElB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,oBAAoB;AACpB;AACA;AACA,wBAAwB;AACxB;AACA,mBAAmB;AACnB;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,sBAAsB","file":"app/main.5767a6ed9bc20ebddf79.css","sourcesContent":["@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: italic;\n\tfont-weight: 300;\n\tsrc: url(../fonts/Open_Sans-italic-300.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: italic;\n\tfont-weight: 400;\n\tsrc: url(../fonts/Open_Sans-italic-400.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: italic;\n\tfont-weight: 600;\n\tsrc: url(../fonts/Open_Sans-italic-600.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: italic;\n\tfont-weight: 700;\n\tsrc: url(../fonts/Open_Sans-italic-700.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: italic;\n\tfont-weight: 800;\n\tsrc: url(../fonts/Open_Sans-italic-800.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: normal;\n\tfont-weight: 300;\n\tsrc: url(../fonts/Open_Sans-normal-300.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: normal;\n\tfont-weight: 400;\n\tsrc: url(../fonts/Open_Sans-normal-400.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: normal;\n\tfont-weight: 600;\n\tsrc: url(../fonts/Open_Sans-normal-600.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: normal;\n\tfont-weight: 700;\n\tsrc: url(../fonts/Open_Sans-normal-700.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: normal;\n\tfont-weight: 800;\n\tsrc: url(../fonts/Open_Sans-normal-800.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n","@charset \"UTF-8\";\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #175DDC;\n --secondary: #ced4da;\n --success: #00a65a;\n --info: #555555;\n --warning: #bf7e16;\n --danger: #dd4b39;\n --light: #f8f9fa;\n --dark: #343a40;\n --primary-accent: #1252A3;\n --secondary-alt: #1A3B66;\n --breakpoint-xs: 0;\n --breakpoint-sm: 1px;\n --breakpoint-md: 2px;\n --breakpoint-lg: 3px;\n --breakpoint-xl: 4px;\n --font-family-sans-serif: \"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; }\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; }\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block; }\n\nbody {\n margin: 0;\n font-family: \"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #333333;\n text-align: left;\n background-color: #ffffff; }\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important; }\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible; }\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem; }\n\np {\n margin-top: 0;\n margin-bottom: 1rem; }\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none; }\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit; }\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem; }\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0; }\n\ndt {\n font-weight: 700; }\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; }\n\nblockquote {\n margin: 0 0 1rem; }\n\nb,\nstrong {\n font-weight: bolder; }\n\nsmall {\n font-size: 80%; }\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline; }\n\nsub {\n bottom: -.25em; }\n\nsup {\n top: -.5em; }\n\na {\n color: #175DDC;\n text-decoration: none;\n background-color: transparent; }\n a:hover {\n color: #104097;\n text-decoration: underline; }\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none; }\n a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none; }\n a:not([href]):not([tabindex]):focus {\n outline: 0; }\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em; }\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto; }\n\nfigure {\n margin: 0 0 1rem; }\n\nimg {\n vertical-align: middle;\n border-style: none; }\n\nsvg {\n overflow: hidden;\n vertical-align: middle; }\n\ntable {\n border-collapse: collapse; }\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom; }\n\nth {\n text-align: inherit; }\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem; }\n\nbutton {\n border-radius: 0; }\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color; }\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit; }\n\nbutton,\ninput {\n overflow: visible; }\n\nbutton,\nselect {\n text-transform: none; }\n\nselect {\n word-wrap: normal; }\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; }\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer; }\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none; }\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0; }\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox; }\n\ntextarea {\n overflow: auto;\n resize: vertical; }\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0; }\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal; }\n\nprogress {\n vertical-align: baseline; }\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto; }\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none; }\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none; }\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button; }\n\noutput {\n display: inline-block; }\n\nsummary {\n display: list-item;\n cursor: pointer; }\n\ntemplate {\n display: none; }\n\n[hidden] {\n display: none !important; }\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2; }\n\nh1, .h1 {\n font-size: 1.7rem; }\n\nh2, .h2 {\n font-size: 1.3rem; }\n\nh3, .h3 {\n font-size: 1rem; }\n\nh4, .h4 {\n font-size: 1rem; }\n\nh5, .h5 {\n font-size: 1rem; }\n\nh6, .h6 {\n font-size: 1rem; }\n\n.lead {\n font-size: 1.25rem;\n font-weight: normal; }\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2; }\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2; }\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2; }\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2; }\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1); }\n\nsmall,\n.small {\n font-size: 90%;\n font-weight: 400; }\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3; }\n\n.list-unstyled {\n padding-left: 0;\n list-style: none; }\n\n.list-inline {\n padding-left: 0;\n list-style: none; }\n\n.list-inline-item {\n display: inline-block; }\n .list-inline-item:not(:last-child) {\n margin-right: 0.5rem; }\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase; }\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem; }\n\n.blockquote-footer {\n display: block;\n font-size: 90%;\n color: #6c757d; }\n .blockquote-footer::before {\n content: \"\\2014\\A0\"; }\n\n.img-fluid, .table.table-list td.table-list-icon img {\n max-width: 100%;\n height: auto; }\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #ffffff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto; }\n\n.figure {\n display: inline-block; }\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1; }\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d; }\n\ncode {\n font-size: 100%;\n color: #e83e8c;\n word-break: break-word; }\n a > code {\n color: inherit; }\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 100%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem; }\n kbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700; }\n\npre {\n display: block;\n font-size: 100%;\n color: #212529; }\n pre code {\n font-size: inherit;\n color: inherit;\n word-break: normal; }\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll; }\n\n.container {\n width: 100%;\n padding-right: 10px;\n padding-left: 10px;\n margin-right: auto;\n margin-left: auto; }\n @media (min-width: 1px) {\n .container {\n max-width: 540px; } }\n @media (min-width: 2px) {\n .container {\n max-width: 720px; } }\n @media (min-width: 3px) {\n .container {\n max-width: 960px; } }\n @media (min-width: 4px) {\n .container {\n max-width: 1140px; } }\n\n.container-fluid {\n width: 100%;\n padding-right: 10px;\n padding-left: 10px;\n margin-right: auto;\n margin-left: auto; }\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -10px;\n margin-left: -10px; }\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0; }\n .no-gutters > .col,\n .no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0; }\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 10px;\n padding-left: 10px; }\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%; }\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; }\n\n.col-1 {\n flex: 0 0 8.33333%;\n max-width: 8.33333%; }\n\n.col-2 {\n flex: 0 0 16.66667%;\n max-width: 16.66667%; }\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%; }\n\n.col-4 {\n flex: 0 0 33.33333%;\n max-width: 33.33333%; }\n\n.col-5 {\n flex: 0 0 41.66667%;\n max-width: 41.66667%; }\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%; }\n\n.col-7 {\n flex: 0 0 58.33333%;\n max-width: 58.33333%; }\n\n.col-8 {\n flex: 0 0 66.66667%;\n max-width: 66.66667%; }\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%; }\n\n.col-10 {\n flex: 0 0 83.33333%;\n max-width: 83.33333%; }\n\n.col-11 {\n flex: 0 0 91.66667%;\n max-width: 91.66667%; }\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%; }\n\n.order-first {\n order: -1; }\n\n.order-last {\n order: 13; }\n\n.order-0 {\n order: 0; }\n\n.order-1 {\n order: 1; }\n\n.order-2 {\n order: 2; }\n\n.order-3 {\n order: 3; }\n\n.order-4 {\n order: 4; }\n\n.order-5 {\n order: 5; }\n\n.order-6 {\n order: 6; }\n\n.order-7 {\n order: 7; }\n\n.order-8 {\n order: 8; }\n\n.order-9 {\n order: 9; }\n\n.order-10 {\n order: 10; }\n\n.order-11 {\n order: 11; }\n\n.order-12 {\n order: 12; }\n\n.offset-1 {\n margin-left: 8.33333%; }\n\n.offset-2 {\n margin-left: 16.66667%; }\n\n.offset-3 {\n margin-left: 25%; }\n\n.offset-4 {\n margin-left: 33.33333%; }\n\n.offset-5 {\n margin-left: 41.66667%; }\n\n.offset-6 {\n margin-left: 50%; }\n\n.offset-7 {\n margin-left: 58.33333%; }\n\n.offset-8 {\n margin-left: 66.66667%; }\n\n.offset-9 {\n margin-left: 75%; }\n\n.offset-10 {\n margin-left: 83.33333%; }\n\n.offset-11 {\n margin-left: 91.66667%; }\n\n@media (min-width: 1px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%; }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; }\n .col-sm-1 {\n flex: 0 0 8.33333%;\n max-width: 8.33333%; }\n .col-sm-2 {\n flex: 0 0 16.66667%;\n max-width: 16.66667%; }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%; }\n .col-sm-4 {\n flex: 0 0 33.33333%;\n max-width: 33.33333%; }\n .col-sm-5 {\n flex: 0 0 41.66667%;\n max-width: 41.66667%; }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%; }\n .col-sm-7 {\n flex: 0 0 58.33333%;\n max-width: 58.33333%; }\n .col-sm-8 {\n flex: 0 0 66.66667%;\n max-width: 66.66667%; }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%; }\n .col-sm-10 {\n flex: 0 0 83.33333%;\n max-width: 83.33333%; }\n .col-sm-11 {\n flex: 0 0 91.66667%;\n max-width: 91.66667%; }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%; }\n .order-sm-first {\n order: -1; }\n .order-sm-last {\n order: 13; }\n .order-sm-0 {\n order: 0; }\n .order-sm-1 {\n order: 1; }\n .order-sm-2 {\n order: 2; }\n .order-sm-3 {\n order: 3; }\n .order-sm-4 {\n order: 4; }\n .order-sm-5 {\n order: 5; }\n .order-sm-6 {\n order: 6; }\n .order-sm-7 {\n order: 7; }\n .order-sm-8 {\n order: 8; }\n .order-sm-9 {\n order: 9; }\n .order-sm-10 {\n order: 10; }\n .order-sm-11 {\n order: 11; }\n .order-sm-12 {\n order: 12; }\n .offset-sm-0 {\n margin-left: 0; }\n .offset-sm-1 {\n margin-left: 8.33333%; }\n .offset-sm-2 {\n margin-left: 16.66667%; }\n .offset-sm-3 {\n margin-left: 25%; }\n .offset-sm-4 {\n margin-left: 33.33333%; }\n .offset-sm-5 {\n margin-left: 41.66667%; }\n .offset-sm-6 {\n margin-left: 50%; }\n .offset-sm-7 {\n margin-left: 58.33333%; }\n .offset-sm-8 {\n margin-left: 66.66667%; }\n .offset-sm-9 {\n margin-left: 75%; }\n .offset-sm-10 {\n margin-left: 83.33333%; }\n .offset-sm-11 {\n margin-left: 91.66667%; } }\n\n@media (min-width: 2px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%; }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; }\n .col-md-1 {\n flex: 0 0 8.33333%;\n max-width: 8.33333%; }\n .col-md-2 {\n flex: 0 0 16.66667%;\n max-width: 16.66667%; }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%; }\n .col-md-4 {\n flex: 0 0 33.33333%;\n max-width: 33.33333%; }\n .col-md-5 {\n flex: 0 0 41.66667%;\n max-width: 41.66667%; }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%; }\n .col-md-7 {\n flex: 0 0 58.33333%;\n max-width: 58.33333%; }\n .col-md-8 {\n flex: 0 0 66.66667%;\n max-width: 66.66667%; }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%; }\n .col-md-10 {\n flex: 0 0 83.33333%;\n max-width: 83.33333%; }\n .col-md-11 {\n flex: 0 0 91.66667%;\n max-width: 91.66667%; }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%; }\n .order-md-first {\n order: -1; }\n .order-md-last {\n order: 13; }\n .order-md-0 {\n order: 0; }\n .order-md-1 {\n order: 1; }\n .order-md-2 {\n order: 2; }\n .order-md-3 {\n order: 3; }\n .order-md-4 {\n order: 4; }\n .order-md-5 {\n order: 5; }\n .order-md-6 {\n order: 6; }\n .order-md-7 {\n order: 7; }\n .order-md-8 {\n order: 8; }\n .order-md-9 {\n order: 9; }\n .order-md-10 {\n order: 10; }\n .order-md-11 {\n order: 11; }\n .order-md-12 {\n order: 12; }\n .offset-md-0 {\n margin-left: 0; }\n .offset-md-1 {\n margin-left: 8.33333%; }\n .offset-md-2 {\n margin-left: 16.66667%; }\n .offset-md-3 {\n margin-left: 25%; }\n .offset-md-4 {\n margin-left: 33.33333%; }\n .offset-md-5 {\n margin-left: 41.66667%; }\n .offset-md-6 {\n margin-left: 50%; }\n .offset-md-7 {\n margin-left: 58.33333%; }\n .offset-md-8 {\n margin-left: 66.66667%; }\n .offset-md-9 {\n margin-left: 75%; }\n .offset-md-10 {\n margin-left: 83.33333%; }\n .offset-md-11 {\n margin-left: 91.66667%; } }\n\n@media (min-width: 3px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%; }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; }\n .col-lg-1 {\n flex: 0 0 8.33333%;\n max-width: 8.33333%; }\n .col-lg-2 {\n flex: 0 0 16.66667%;\n max-width: 16.66667%; }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%; }\n .col-lg-4 {\n flex: 0 0 33.33333%;\n max-width: 33.33333%; }\n .col-lg-5 {\n flex: 0 0 41.66667%;\n max-width: 41.66667%; }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%; }\n .col-lg-7 {\n flex: 0 0 58.33333%;\n max-width: 58.33333%; }\n .col-lg-8 {\n flex: 0 0 66.66667%;\n max-width: 66.66667%; }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%; }\n .col-lg-10 {\n flex: 0 0 83.33333%;\n max-width: 83.33333%; }\n .col-lg-11 {\n flex: 0 0 91.66667%;\n max-width: 91.66667%; }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%; }\n .order-lg-first {\n order: -1; }\n .order-lg-last {\n order: 13; }\n .order-lg-0 {\n order: 0; }\n .order-lg-1 {\n order: 1; }\n .order-lg-2 {\n order: 2; }\n .order-lg-3 {\n order: 3; }\n .order-lg-4 {\n order: 4; }\n .order-lg-5 {\n order: 5; }\n .order-lg-6 {\n order: 6; }\n .order-lg-7 {\n order: 7; }\n .order-lg-8 {\n order: 8; }\n .order-lg-9 {\n order: 9; }\n .order-lg-10 {\n order: 10; }\n .order-lg-11 {\n order: 11; }\n .order-lg-12 {\n order: 12; }\n .offset-lg-0 {\n margin-left: 0; }\n .offset-lg-1 {\n margin-left: 8.33333%; }\n .offset-lg-2 {\n margin-left: 16.66667%; }\n .offset-lg-3 {\n margin-left: 25%; }\n .offset-lg-4 {\n margin-left: 33.33333%; }\n .offset-lg-5 {\n margin-left: 41.66667%; }\n .offset-lg-6 {\n margin-left: 50%; }\n .offset-lg-7 {\n margin-left: 58.33333%; }\n .offset-lg-8 {\n margin-left: 66.66667%; }\n .offset-lg-9 {\n margin-left: 75%; }\n .offset-lg-10 {\n margin-left: 83.33333%; }\n .offset-lg-11 {\n margin-left: 91.66667%; } }\n\n@media (min-width: 4px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%; }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; }\n .col-xl-1 {\n flex: 0 0 8.33333%;\n max-width: 8.33333%; }\n .col-xl-2 {\n flex: 0 0 16.66667%;\n max-width: 16.66667%; }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%; }\n .col-xl-4 {\n flex: 0 0 33.33333%;\n max-width: 33.33333%; }\n .col-xl-5 {\n flex: 0 0 41.66667%;\n max-width: 41.66667%; }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%; }\n .col-xl-7 {\n flex: 0 0 58.33333%;\n max-width: 58.33333%; }\n .col-xl-8 {\n flex: 0 0 66.66667%;\n max-width: 66.66667%; }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%; }\n .col-xl-10 {\n flex: 0 0 83.33333%;\n max-width: 83.33333%; }\n .col-xl-11 {\n flex: 0 0 91.66667%;\n max-width: 91.66667%; }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%; }\n .order-xl-first {\n order: -1; }\n .order-xl-last {\n order: 13; }\n .order-xl-0 {\n order: 0; }\n .order-xl-1 {\n order: 1; }\n .order-xl-2 {\n order: 2; }\n .order-xl-3 {\n order: 3; }\n .order-xl-4 {\n order: 4; }\n .order-xl-5 {\n order: 5; }\n .order-xl-6 {\n order: 6; }\n .order-xl-7 {\n order: 7; }\n .order-xl-8 {\n order: 8; }\n .order-xl-9 {\n order: 9; }\n .order-xl-10 {\n order: 10; }\n .order-xl-11 {\n order: 11; }\n .order-xl-12 {\n order: 12; }\n .offset-xl-0 {\n margin-left: 0; }\n .offset-xl-1 {\n margin-left: 8.33333%; }\n .offset-xl-2 {\n margin-left: 16.66667%; }\n .offset-xl-3 {\n margin-left: 25%; }\n .offset-xl-4 {\n margin-left: 33.33333%; }\n .offset-xl-5 {\n margin-left: 41.66667%; }\n .offset-xl-6 {\n margin-left: 50%; }\n .offset-xl-7 {\n margin-left: 58.33333%; }\n .offset-xl-8 {\n margin-left: 66.66667%; }\n .offset-xl-9 {\n margin-left: 75%; }\n .offset-xl-10 {\n margin-left: 83.33333%; }\n .offset-xl-11 {\n margin-left: 91.66667%; } }\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #333333; }\n .table th,\n .table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6; }\n .table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6; }\n .table tbody + tbody {\n border-top: 2px solid #dee2e6; }\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem; }\n\n.table-bordered {\n border: 1px solid #dee2e6; }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6; }\n .table-bordered thead th,\n .table-bordered thead td {\n border-bottom-width: 2px; }\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0; }\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.02); }\n\n.table-hover tbody tr:hover {\n color: #333333;\n background-color: rgba(0, 0, 0, 0.03); }\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #bed2f5; }\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #86abed; }\n\n.table-hover .table-primary:hover {\n background-color: #a8c3f2; }\n .table-hover .table-primary:hover > td,\n .table-hover .table-primary:hover > th {\n background-color: #a8c3f2; }\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #f1f3f5; }\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #e6e9ec; }\n\n.table-hover .table-secondary:hover {\n background-color: #e2e6ea; }\n .table-hover .table-secondary:hover > td,\n .table-hover .table-secondary:hover > th {\n background-color: #e2e6ea; }\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #b8e6d1; }\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #7ad1a9; }\n\n.table-hover .table-success:hover {\n background-color: #a5dfc5; }\n .table-hover .table-success:hover > td,\n .table-hover .table-success:hover > th {\n background-color: #a5dfc5; }\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #cfcfcf; }\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #a7a7a7; }\n\n.table-hover .table-info:hover {\n background-color: #c2c2c2; }\n .table-hover .table-info:hover > td,\n .table-hover .table-info:hover > th {\n background-color: #c2c2c2; }\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #eddbbe; }\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #debc86; }\n\n.table-hover .table-warning:hover {\n background-color: #e7d0aa; }\n .table-hover .table-warning:hover > td,\n .table-hover .table-warning:hover > th {\n background-color: #e7d0aa; }\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5cdc8; }\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #eda198; }\n\n.table-hover .table-danger:hover {\n background-color: #f1b9b2; }\n .table-hover .table-danger:hover > td,\n .table-hover .table-danger:hover > th {\n background-color: #f1b9b2; }\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe; }\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc; }\n\n.table-hover .table-light:hover {\n background-color: #ececf6; }\n .table-hover .table-light:hover > td,\n .table-hover .table-light:hover > th {\n background-color: #ececf6; }\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca; }\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c; }\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe; }\n .table-hover .table-dark:hover > td,\n .table-hover .table-dark:hover > th {\n background-color: #b9bbbe; }\n\n.table-primary-accent,\n.table-primary-accent > th,\n.table-primary-accent > td {\n background-color: #bdcfe5; }\n\n.table-primary-accent th,\n.table-primary-accent td,\n.table-primary-accent thead th,\n.table-primary-accent tbody + tbody {\n border-color: #84a5cf; }\n\n.table-hover .table-primary-accent:hover {\n background-color: #abc2de; }\n .table-hover .table-primary-accent:hover > td,\n .table-hover .table-primary-accent:hover > th {\n background-color: #abc2de; }\n\n.table-secondary-alt,\n.table-secondary-alt > th,\n.table-secondary-alt > td {\n background-color: #bfc8d4; }\n\n.table-secondary-alt th,\n.table-secondary-alt td,\n.table-secondary-alt thead th,\n.table-secondary-alt tbody + tbody {\n border-color: #8899af; }\n\n.table-hover .table-secondary-alt:hover {\n background-color: #b0bbca; }\n .table-hover .table-secondary-alt:hover > td,\n .table-hover .table-secondary-alt:hover > th {\n background-color: #b0bbca; }\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.03); }\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.03); }\n .table-hover .table-active:hover > td,\n .table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.03); }\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55; }\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6; }\n\n.table-dark {\n color: #fff;\n background-color: #343a40; }\n .table-dark th,\n .table-dark td,\n .table-dark thead th {\n border-color: #454d55; }\n .table-dark.table-bordered {\n border: 0; }\n .table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05); }\n .table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075); }\n\n@media (max-width: 0.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch; }\n .table-responsive-sm > .table-bordered {\n border: 0; } }\n\n@media (max-width: 1.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch; }\n .table-responsive-md > .table-bordered {\n border: 0; } }\n\n@media (max-width: 2.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch; }\n .table-responsive-lg > .table-bordered {\n border: 0; } }\n\n@media (max-width: 3.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch; }\n .table-responsive-xl > .table-bordered {\n border: 0; } }\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch; }\n .table-responsive > .table-bordered {\n border: 0; }\n\n.form-control {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fbfbfb;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }\n @media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none; } }\n .form-control::-ms-expand {\n background-color: transparent;\n border: 0; }\n .form-control:focus {\n color: #495057;\n background-color: #ffffff;\n border-color: #81a9f2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .form-control::placeholder {\n color: #b4b4b4;\n opacity: 1; }\n .form-control:disabled, .form-control[readonly] {\n background-color: #e0e0e0;\n opacity: 1; }\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fbfbfb; }\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%; }\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5; }\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.15rem;\n line-height: 1.5; }\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5; }\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n margin-bottom: 0;\n line-height: 1.5;\n color: #333333;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0; }\n .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0; }\n\n.form-control-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem; }\n\n.form-control-lg {\n height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.15rem;\n line-height: 1.5;\n border-radius: 0.3rem; }\n\nselect.form-control[size], select.form-control[multiple] {\n height: auto; }\n\ntextarea.form-control {\n height: auto; }\n\n.form-group {\n margin-bottom: 1rem; }\n\n.form-text {\n display: block;\n margin-top: 0.25rem; }\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px; }\n .form-row > .col,\n .form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px; }\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem; }\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem; }\n .form-check-input:disabled ~ .form-check-label {\n color: #6c757d; }\n\n.form-check-label {\n margin-bottom: 0; }\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem; }\n .form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0; }\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 90%;\n color: #00a65a; }\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(0, 166, 90, 0.9);\n border-radius: 0.25rem; }\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #00a65a;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300a65a' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: center right calc(0.375em + 0.1875rem);\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }\n .was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #00a65a;\n box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.25); }\n .was-validated .form-control:valid ~ .valid-feedback,\n .was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n .form-control.is-valid ~ .valid-tooltip {\n display: block; }\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); }\n\n.was-validated .custom-select:valid, .custom-select.is-valid {\n border-color: #00a65a;\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300a65a' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fbfbfb no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }\n .was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\n border-color: #00a65a;\n box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.25); }\n .was-validated .custom-select:valid ~ .valid-feedback,\n .was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback,\n .custom-select.is-valid ~ .valid-tooltip {\n display: block; }\n\n.was-validated .form-control-file:valid ~ .valid-feedback,\n.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback,\n.form-control-file.is-valid ~ .valid-tooltip {\n display: block; }\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #00a65a; }\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block; }\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #00a65a; }\n .was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n border-color: #00a65a; }\n\n.was-validated .custom-control-input:valid ~ .valid-feedback,\n.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,\n.custom-control-input.is-valid ~ .valid-tooltip {\n display: block; }\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n border-color: #00d976;\n background-color: #00d976; }\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.25); }\n\n.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #00a65a; }\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #00a65a; }\n\n.was-validated .custom-file-input:valid ~ .valid-feedback,\n.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,\n.custom-file-input.is-valid ~ .valid-tooltip {\n display: block; }\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n border-color: #00a65a;\n box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.25); }\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 90%;\n color: #dd4b39; }\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(221, 75, 57, 0.9);\n border-radius: 0.25rem; }\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dd4b39;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dd4b39' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dd4b39' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\");\n background-repeat: no-repeat;\n background-position: center right calc(0.375em + 0.1875rem);\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }\n .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dd4b39;\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.25); }\n .was-validated .form-control:invalid ~ .invalid-feedback,\n .was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n .form-control.is-invalid ~ .invalid-tooltip {\n display: block; }\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); }\n\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\n border-color: #dd4b39;\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dd4b39' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dd4b39' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\") #fbfbfb no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }\n .was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\n border-color: #dd4b39;\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.25); }\n .was-validated .custom-select:invalid ~ .invalid-feedback,\n .was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback,\n .custom-select.is-invalid ~ .invalid-tooltip {\n display: block; }\n\n.was-validated .form-control-file:invalid ~ .invalid-feedback,\n.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback,\n.form-control-file.is-invalid ~ .invalid-tooltip {\n display: block; }\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dd4b39; }\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block; }\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dd4b39; }\n .was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n border-color: #dd4b39; }\n\n.was-validated .custom-control-input:invalid ~ .invalid-feedback,\n.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,\n.custom-control-input.is-invalid ~ .invalid-tooltip {\n display: block; }\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n border-color: #e47365;\n background-color: #e47365; }\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.25); }\n\n.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #dd4b39; }\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dd4b39; }\n\n.was-validated .custom-file-input:invalid ~ .invalid-feedback,\n.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,\n.custom-file-input.is-invalid ~ .invalid-tooltip {\n display: block; }\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n border-color: #dd4b39;\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.25); }\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center; }\n .form-inline .form-check {\n width: 100%; }\n @media (min-width: 1px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0; }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0; }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle; }\n .form-inline .form-control-plaintext {\n display: inline-block; }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto; }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0; }\n .form-inline .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0; }\n .form-inline .custom-control {\n align-items: center;\n justify-content: center; }\n .form-inline .custom-control-label {\n margin-bottom: 0; } }\n\n.btn, .swal2-popup .swal2-actions button {\n display: inline-block;\n font-weight: 600;\n color: #333333;\n text-align: center;\n vertical-align: middle;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }\n @media (prefers-reduced-motion: reduce) {\n .btn, .swal2-popup .swal2-actions button {\n transition: none; } }\n .btn:hover, .swal2-popup .swal2-actions button:hover {\n color: #333333;\n text-decoration: none; }\n .btn:focus, .swal2-popup .swal2-actions button:focus, .btn.focus, .swal2-popup .swal2-actions button.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .btn.disabled, .swal2-popup .swal2-actions button.disabled, .btn:disabled, .swal2-popup .swal2-actions button:disabled {\n opacity: 0.65; }\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none; }\n\n.btn-primary, .swal2-popup .swal2-actions button.swal2-confirm {\n color: #fff;\n background-color: #175DDC;\n border-color: #175DDC; }\n .btn-primary:hover, .swal2-popup .swal2-actions button.swal2-confirm:hover {\n color: #fff;\n background-color: #134eb9;\n border-color: #1249ae; }\n .btn-primary:focus, .swal2-popup .swal2-actions button.swal2-confirm:focus, .btn-primary.focus, .swal2-popup .swal2-actions button.focus.swal2-confirm {\n box-shadow: 0 0 0 0.2rem rgba(58, 117, 225, 0.5); }\n .btn-primary.disabled, .swal2-popup .swal2-actions button.disabled.swal2-confirm, .btn-primary:disabled, .swal2-popup .swal2-actions button.swal2-confirm:disabled {\n color: #fff;\n background-color: #175DDC;\n border-color: #175DDC; }\n .btn-primary:not(:disabled):not(.disabled):active, .swal2-popup .swal2-actions button.swal2-confirm:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .swal2-popup .swal2-actions button.swal2-confirm:not(:disabled):not(.disabled).active,\n .show > .btn-primary.dropdown-toggle,\n .swal2-popup .swal2-actions .show > button.dropdown-toggle.swal2-confirm {\n color: #fff;\n background-color: #1249ae;\n border-color: #1145a2; }\n .btn-primary:not(:disabled):not(.disabled):active:focus, .swal2-popup .swal2-actions button.swal2-confirm:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .swal2-popup .swal2-actions button.swal2-confirm:not(:disabled):not(.disabled).active:focus,\n .show > .btn-primary.dropdown-toggle:focus,\n .swal2-popup .swal2-actions .show > button.dropdown-toggle.swal2-confirm:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 117, 225, 0.5); }\n\n.btn-secondary {\n color: #212529;\n background-color: #ced4da;\n border-color: #ced4da; }\n .btn-secondary:hover {\n color: #212529;\n background-color: #b8c1ca;\n border-color: #b1bbc4; }\n .btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(180, 186, 191, 0.5); }\n .btn-secondary.disabled, .btn-secondary:disabled {\n color: #212529;\n background-color: #ced4da;\n border-color: #ced4da; }\n .btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n .show > .btn-secondary.dropdown-toggle {\n color: #212529;\n background-color: #b1bbc4;\n border-color: #aab4bf; }\n .btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n .show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(180, 186, 191, 0.5); }\n\n.btn-success {\n color: #fff;\n background-color: #00a65a;\n border-color: #00a65a; }\n .btn-success:hover {\n color: #fff;\n background-color: #008045;\n border-color: #00733e; }\n .btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 179, 115, 0.5); }\n .btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #00a65a;\n border-color: #00a65a; }\n .btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n .show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #00733e;\n border-color: #006637; }\n .btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n .show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 179, 115, 0.5); }\n\n.btn-info {\n color: #fff;\n background-color: #555555;\n border-color: #555555; }\n .btn-info:hover {\n color: #fff;\n background-color: #424242;\n border-color: #3c3c3c; }\n .btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(111, 111, 111, 0.5); }\n .btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #555555;\n border-color: #555555; }\n .btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n .show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #3c3c3c;\n border-color: #353535; }\n .btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n .show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(111, 111, 111, 0.5); }\n\n.btn-warning {\n color: #fff;\n background-color: #bf7e16;\n border-color: #bf7e16; }\n .btn-warning:hover {\n color: #fff;\n background-color: #9d6712;\n border-color: #916011; }\n .btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(201, 145, 57, 0.5); }\n .btn-warning.disabled, .btn-warning:disabled {\n color: #fff;\n background-color: #bf7e16;\n border-color: #bf7e16; }\n .btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n .show > .btn-warning.dropdown-toggle {\n color: #fff;\n background-color: #916011;\n border-color: #86580f; }\n .btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n .show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(201, 145, 57, 0.5); }\n\n.btn-danger {\n color: #fff;\n background-color: #dd4b39;\n border-color: #dd4b39; }\n .btn-danger:hover {\n color: #fff;\n background-color: #cd3623;\n border-color: #c23321; }\n .btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(226, 102, 87, 0.5); }\n .btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dd4b39;\n border-color: #dd4b39; }\n .btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n .show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #c23321;\n border-color: #b7301f; }\n .btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n .show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(226, 102, 87, 0.5); }\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa; }\n .btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5; }\n .btn-light:focus, .btn-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }\n .btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa; }\n .btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n .show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df; }\n .btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n .show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40; }\n .btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124; }\n .btn-dark:focus, .btn-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }\n .btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40; }\n .btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n .show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d; }\n .btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n .show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }\n\n.btn-primary-accent {\n color: #fff;\n background-color: #1252A3;\n border-color: #1252A3; }\n .btn-primary-accent:hover {\n color: #fff;\n background-color: #0e4181;\n border-color: #0d3b75; }\n .btn-primary-accent:focus, .btn-primary-accent.focus {\n box-shadow: 0 0 0 0.2rem rgba(54, 108, 177, 0.5); }\n .btn-primary-accent.disabled, .btn-primary-accent:disabled {\n color: #fff;\n background-color: #1252A3;\n border-color: #1252A3; }\n .btn-primary-accent:not(:disabled):not(.disabled):active, .btn-primary-accent:not(:disabled):not(.disabled).active,\n .show > .btn-primary-accent.dropdown-toggle {\n color: #fff;\n background-color: #0d3b75;\n border-color: #0c356a; }\n .btn-primary-accent:not(:disabled):not(.disabled):active:focus, .btn-primary-accent:not(:disabled):not(.disabled).active:focus,\n .show > .btn-primary-accent.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(54, 108, 177, 0.5); }\n\n.btn-secondary-alt {\n color: #fff;\n background-color: #1A3B66;\n border-color: #1A3B66; }\n .btn-secondary-alt:hover {\n color: #fff;\n background-color: #122948;\n border-color: #10233d; }\n .btn-secondary-alt:focus, .btn-secondary-alt.focus {\n box-shadow: 0 0 0 0.2rem rgba(60, 88, 125, 0.5); }\n .btn-secondary-alt.disabled, .btn-secondary-alt:disabled {\n color: #fff;\n background-color: #1A3B66;\n border-color: #1A3B66; }\n .btn-secondary-alt:not(:disabled):not(.disabled):active, .btn-secondary-alt:not(:disabled):not(.disabled).active,\n .show > .btn-secondary-alt.dropdown-toggle {\n color: #fff;\n background-color: #10233d;\n border-color: #0d1e33; }\n .btn-secondary-alt:not(:disabled):not(.disabled):active:focus, .btn-secondary-alt:not(:disabled):not(.disabled).active:focus,\n .show > .btn-secondary-alt.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(60, 88, 125, 0.5); }\n\n.btn-outline-primary {\n color: #175DDC;\n border-color: #175DDC; }\n .btn-outline-primary:hover {\n color: #fff;\n background-color: #175DDC;\n border-color: #175DDC; }\n .btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.5); }\n .btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #175DDC;\n background-color: transparent; }\n .btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n .show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #175DDC;\n border-color: #175DDC; }\n .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.5); }\n\n.btn-outline-secondary, .swal2-popup .swal2-actions button.swal2-cancel {\n color: #ced4da;\n border-color: #ced4da; }\n .btn-outline-secondary:hover, .swal2-popup .swal2-actions button.swal2-cancel:hover {\n color: #212529;\n background-color: #ced4da;\n border-color: #ced4da; }\n .btn-outline-secondary:focus, .swal2-popup .swal2-actions button.swal2-cancel:focus, .btn-outline-secondary.focus, .swal2-popup .swal2-actions button.focus.swal2-cancel {\n box-shadow: 0 0 0 0.2rem rgba(206, 212, 218, 0.5); }\n .btn-outline-secondary.disabled, .swal2-popup .swal2-actions button.disabled.swal2-cancel, .btn-outline-secondary:disabled, .swal2-popup .swal2-actions button.swal2-cancel:disabled {\n color: #ced4da;\n background-color: transparent; }\n .btn-outline-secondary:not(:disabled):not(.disabled):active, .swal2-popup .swal2-actions button.swal2-cancel:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, .swal2-popup .swal2-actions button.swal2-cancel:not(:disabled):not(.disabled).active,\n .show > .btn-outline-secondary.dropdown-toggle,\n .swal2-popup .swal2-actions .show > button.dropdown-toggle.swal2-cancel {\n color: #212529;\n background-color: #ced4da;\n border-color: #ced4da; }\n .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .swal2-popup .swal2-actions button.swal2-cancel:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .swal2-popup .swal2-actions button.swal2-cancel:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-secondary.dropdown-toggle:focus,\n .swal2-popup .swal2-actions .show > button.dropdown-toggle.swal2-cancel:focus {\n box-shadow: 0 0 0 0.2rem rgba(206, 212, 218, 0.5); }\n\n.btn-outline-success {\n color: #00a65a;\n border-color: #00a65a; }\n .btn-outline-success:hover {\n color: #fff;\n background-color: #00a65a;\n border-color: #00a65a; }\n .btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.5); }\n .btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #00a65a;\n background-color: transparent; }\n .btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n .show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #00a65a;\n border-color: #00a65a; }\n .btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.5); }\n\n.btn-outline-info {\n color: #555555;\n border-color: #555555; }\n .btn-outline-info:hover {\n color: #fff;\n background-color: #555555;\n border-color: #555555; }\n .btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(85, 85, 85, 0.5); }\n .btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #555555;\n background-color: transparent; }\n .btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n .show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #555555;\n border-color: #555555; }\n .btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(85, 85, 85, 0.5); }\n\n.btn-outline-warning {\n color: #bf7e16;\n border-color: #bf7e16; }\n .btn-outline-warning:hover {\n color: #fff;\n background-color: #bf7e16;\n border-color: #bf7e16; }\n .btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(191, 126, 22, 0.5); }\n .btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #bf7e16;\n background-color: transparent; }\n .btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n .show > .btn-outline-warning.dropdown-toggle {\n color: #fff;\n background-color: #bf7e16;\n border-color: #bf7e16; }\n .btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(191, 126, 22, 0.5); }\n\n.btn-outline-danger {\n color: #dd4b39;\n border-color: #dd4b39; }\n .btn-outline-danger:hover {\n color: #fff;\n background-color: #dd4b39;\n border-color: #dd4b39; }\n .btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.5); }\n .btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dd4b39;\n background-color: transparent; }\n .btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n .show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dd4b39;\n border-color: #dd4b39; }\n .btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.5); }\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa; }\n .btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa; }\n .btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }\n .btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent; }\n .btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n .show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa; }\n .btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40; }\n .btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40; }\n .btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }\n .btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent; }\n .btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n .show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40; }\n .btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }\n\n.btn-outline-primary-accent {\n color: #1252A3;\n border-color: #1252A3; }\n .btn-outline-primary-accent:hover {\n color: #fff;\n background-color: #1252A3;\n border-color: #1252A3; }\n .btn-outline-primary-accent:focus, .btn-outline-primary-accent.focus {\n box-shadow: 0 0 0 0.2rem rgba(18, 82, 163, 0.5); }\n .btn-outline-primary-accent.disabled, .btn-outline-primary-accent:disabled {\n color: #1252A3;\n background-color: transparent; }\n .btn-outline-primary-accent:not(:disabled):not(.disabled):active, .btn-outline-primary-accent:not(:disabled):not(.disabled).active,\n .show > .btn-outline-primary-accent.dropdown-toggle {\n color: #fff;\n background-color: #1252A3;\n border-color: #1252A3; }\n .btn-outline-primary-accent:not(:disabled):not(.disabled):active:focus, .btn-outline-primary-accent:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-primary-accent.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(18, 82, 163, 0.5); }\n\n.btn-outline-secondary-alt {\n color: #1A3B66;\n border-color: #1A3B66; }\n .btn-outline-secondary-alt:hover {\n color: #fff;\n background-color: #1A3B66;\n border-color: #1A3B66; }\n .btn-outline-secondary-alt:focus, .btn-outline-secondary-alt.focus {\n box-shadow: 0 0 0 0.2rem rgba(26, 59, 102, 0.5); }\n .btn-outline-secondary-alt.disabled, .btn-outline-secondary-alt:disabled {\n color: #1A3B66;\n background-color: transparent; }\n .btn-outline-secondary-alt:not(:disabled):not(.disabled):active, .btn-outline-secondary-alt:not(:disabled):not(.disabled).active,\n .show > .btn-outline-secondary-alt.dropdown-toggle {\n color: #fff;\n background-color: #1A3B66;\n border-color: #1A3B66; }\n .btn-outline-secondary-alt:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary-alt:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-secondary-alt.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(26, 59, 102, 0.5); }\n\n.btn-link {\n font-weight: 400;\n color: #175DDC;\n text-decoration: none; }\n .btn-link:hover {\n color: #104097;\n text-decoration: underline; }\n .btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n box-shadow: none; }\n .btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none; }\n\n.btn-lg, .btn-group-lg > .btn, .swal2-popup .swal2-actions .btn-group-lg > button {\n padding: 0.5rem 1rem;\n font-size: 1.15rem;\n line-height: 1.5;\n border-radius: 0.3rem; }\n\n.btn-sm, .btn-group-sm > .btn, .swal2-popup .swal2-actions .btn-group-sm > button {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem; }\n\n.btn-block {\n display: block;\n width: 100%; }\n .btn-block + .btn-block {\n margin-top: 0.5rem; }\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%; }\n\n.fade {\n transition: opacity 0.15s linear; }\n @media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none; } }\n .fade:not(.show) {\n opacity: 0; }\n\n.collapse:not(.show) {\n display: none; }\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease; }\n @media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none; } }\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative; }\n\n.dropdown-toggle {\n white-space: nowrap; }\n .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent; }\n .dropdown-toggle:empty::after {\n margin-left: 0; }\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #333333;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem; }\n\n.dropdown-menu-left {\n right: auto;\n left: 0; }\n\n.dropdown-menu-right {\n right: 0;\n left: auto; }\n\n@media (min-width: 1px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0; }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto; } }\n\n@media (min-width: 2px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0; }\n .dropdown-menu-md-right {\n right: 0;\n left: auto; } }\n\n@media (min-width: 3px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0; }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto; } }\n\n@media (min-width: 4px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0; }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto; } }\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem; }\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent; }\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0; }\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem; }\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid; }\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0; }\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0; }\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem; }\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\"; }\n\n.dropleft .dropdown-toggle::after {\n display: none; }\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent; }\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0; }\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0; }\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto; }\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef; }\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1rem;\n clear: both;\n font-weight: 400;\n color: #333333;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0; }\n .dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: rgba(0, 0, 0, 0.06); }\n .dropdown-item.active, .dropdown-item:active {\n color: #333333;\n text-decoration: none;\n background-color: rgba(0, 0, 0, 0.1); }\n .dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent; }\n\n.dropdown-menu.show {\n display: block; }\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap; }\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1rem;\n color: #333333; }\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; }\n .btn-group > .btn, .swal2-popup .swal2-actions .btn-group > button,\n .btn-group-vertical > .btn,\n .swal2-popup .swal2-actions .btn-group-vertical > button {\n position: relative;\n flex: 1 1 auto; }\n .btn-group > .btn:hover, .swal2-popup .swal2-actions .btn-group > button:hover,\n .btn-group-vertical > .btn:hover,\n .swal2-popup .swal2-actions .btn-group-vertical > button:hover {\n z-index: 1; }\n .btn-group > .btn:focus, .swal2-popup .swal2-actions .btn-group > button:focus, .btn-group > .btn:active, .swal2-popup .swal2-actions .btn-group > button:active, .btn-group > .btn.active, .swal2-popup .swal2-actions .btn-group > button.active,\n .btn-group-vertical > .btn:focus,\n .swal2-popup .swal2-actions .btn-group-vertical > button:focus,\n .btn-group-vertical > .btn:active,\n .swal2-popup .swal2-actions .btn-group-vertical > button:active,\n .btn-group-vertical > .btn.active,\n .swal2-popup .swal2-actions .btn-group-vertical > button.active {\n z-index: 1; }\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start; }\n .btn-toolbar .input-group {\n width: auto; }\n\n.btn-group > .btn:not(:first-child), .swal2-popup .swal2-actions .btn-group > button:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px; }\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle), .swal2-popup .swal2-actions .btn-group > button:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn,\n.swal2-popup .swal2-actions .btn-group > .btn-group:not(:last-child) > button {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n\n.btn-group > .btn:not(:first-child), .swal2-popup .swal2-actions .btn-group > button:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn,\n.swal2-popup .swal2-actions .btn-group > .btn-group:not(:first-child) > button {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0; }\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem; }\n .dropdown-toggle-split::after,\n .dropup .dropdown-toggle-split::after,\n .dropright .dropdown-toggle-split::after {\n margin-left: 0; }\n .dropleft .dropdown-toggle-split::before {\n margin-right: 0; }\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split, .swal2-popup .swal2-actions .btn-group-sm > button + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem; }\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split, .swal2-popup .swal2-actions .btn-group-lg > button + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem; }\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center; }\n \n .btn-group-vertical > .btn,\n .swal2-popup .swal2-actions .btn-group-vertical > button,\n .btn-group-vertical > .btn-group {\n width: 100%; }\n .btn-group-vertical > .btn:not(:first-child), .swal2-popup .swal2-actions .btn-group-vertical > button:not(:first-child),\n .btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px; }\n .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), .swal2-popup .swal2-actions .btn-group-vertical > button:not(:last-child):not(.dropdown-toggle),\n .btn-group-vertical > .btn-group:not(:last-child) > .btn,\n .swal2-popup .swal2-actions .btn-group-vertical > .btn-group:not(:last-child) > button {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0; }\n .btn-group-vertical > .btn:not(:first-child), .swal2-popup .swal2-actions .btn-group-vertical > button:not(:first-child),\n .btn-group-vertical > .btn-group:not(:first-child) > .btn,\n .swal2-popup .swal2-actions .btn-group-vertical > .btn-group:not(:first-child) > button {\n border-top-left-radius: 0;\n border-top-right-radius: 0; }\n\n.btn-group-toggle > .btn, .swal2-popup .swal2-actions .btn-group-toggle > button,\n.btn-group-toggle > .btn-group > .btn,\n.swal2-popup .swal2-actions .btn-group-toggle > .btn-group > button {\n margin-bottom: 0; }\n .btn-group-toggle > .btn input[type=\"radio\"], .swal2-popup .swal2-actions .btn-group-toggle > button input[type=\"radio\"],\n .btn-group-toggle > .btn input[type=\"checkbox\"],\n .swal2-popup .swal2-actions .btn-group-toggle > button input[type=\"checkbox\"],\n .btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n .swal2-popup .swal2-actions .btn-group-toggle > .btn-group > button input[type=\"radio\"],\n .btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"],\n .swal2-popup .swal2-actions .btn-group-toggle > .btn-group > button input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none; }\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%; }\n .input-group > .form-control,\n .input-group > .form-control-plaintext,\n .input-group > .custom-select,\n .input-group > .custom-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0; }\n .input-group > .form-control + .form-control,\n .input-group > .form-control + .custom-select,\n .input-group > .form-control + .custom-file,\n .input-group > .form-control-plaintext + .form-control,\n .input-group > .form-control-plaintext + .custom-select,\n .input-group > .form-control-plaintext + .custom-file,\n .input-group > .custom-select + .form-control,\n .input-group > .custom-select + .custom-select,\n .input-group > .custom-select + .custom-file,\n .input-group > .custom-file + .form-control,\n .input-group > .custom-file + .custom-select,\n .input-group > .custom-file + .custom-file {\n margin-left: -1px; }\n .input-group > .form-control:focus,\n .input-group > .custom-select:focus,\n .input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3; }\n .input-group > .custom-file .custom-file-input:focus {\n z-index: 4; }\n .input-group > .form-control:not(:last-child),\n .input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n .input-group > .form-control:not(:first-child),\n .input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0; }\n .input-group > .custom-file {\n display: flex;\n align-items: center; }\n .input-group > .custom-file:not(:last-child) .custom-file-label,\n .input-group > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n .input-group > .custom-file:not(:first-child) .custom-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0; }\n\n.input-group-prepend,\n.input-group-append {\n display: flex; }\n .input-group-prepend .btn, .input-group-prepend .swal2-popup .swal2-actions button, .swal2-popup .swal2-actions .input-group-prepend button,\n .input-group-append .btn,\n .input-group-append .swal2-popup .swal2-actions button,\n .swal2-popup .swal2-actions .input-group-append button {\n position: relative;\n z-index: 2; }\n .input-group-prepend .btn:focus, .input-group-prepend .swal2-popup .swal2-actions button:focus, .swal2-popup .swal2-actions .input-group-prepend button:focus,\n .input-group-append .btn:focus,\n .input-group-append .swal2-popup .swal2-actions button:focus,\n .swal2-popup .swal2-actions .input-group-append button:focus {\n z-index: 3; }\n .input-group-prepend .btn + .btn, .input-group-prepend .swal2-popup .swal2-actions button + .btn, .swal2-popup .swal2-actions .input-group-prepend button + .btn, .input-group-prepend .swal2-popup .swal2-actions .btn + button, .swal2-popup .swal2-actions .input-group-prepend .btn + button, .input-group-prepend .swal2-popup .swal2-actions button + button, .swal2-popup .swal2-actions .input-group-prepend button + button,\n .input-group-prepend .btn + .input-group-text,\n .input-group-prepend .swal2-popup .swal2-actions button + .input-group-text,\n .swal2-popup .swal2-actions .input-group-prepend button + .input-group-text,\n .input-group-prepend .input-group-text + .input-group-text,\n .input-group-prepend .input-group-text + .btn,\n .input-group-prepend .swal2-popup .swal2-actions .input-group-text + button,\n .swal2-popup .swal2-actions .input-group-prepend .input-group-text + button,\n .input-group-append .btn + .btn,\n .input-group-append .swal2-popup .swal2-actions button + .btn,\n .swal2-popup .swal2-actions .input-group-append button + .btn,\n .input-group-append .swal2-popup .swal2-actions .btn + button,\n .swal2-popup .swal2-actions .input-group-append .btn + button,\n .input-group-append .swal2-popup .swal2-actions button + button,\n .swal2-popup .swal2-actions .input-group-append button + button,\n .input-group-append .btn + .input-group-text,\n .input-group-append .swal2-popup .swal2-actions button + .input-group-text,\n .swal2-popup .swal2-actions .input-group-append button + .input-group-text,\n .input-group-append .input-group-text + .input-group-text,\n .input-group-append .input-group-text + .btn,\n .input-group-append .swal2-popup .swal2-actions .input-group-text + button,\n .swal2-popup .swal2-actions .input-group-append .input-group-text + button {\n margin-left: -1px; }\n\n.input-group-prepend {\n margin-right: -1px; }\n\n.input-group-append {\n margin-left: -1px; }\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem; }\n .input-group-text input[type=\"radio\"],\n .input-group-text input[type=\"checkbox\"] {\n margin-top: 0; }\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: calc(1.5em + 1rem + 2px); }\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.swal2-popup .swal2-actions .input-group-lg > .input-group-prepend > button,\n.input-group-lg > .input-group-append > .btn,\n.swal2-popup .swal2-actions .input-group-lg > .input-group-append > button {\n padding: 0.5rem 1rem;\n font-size: 1.15rem;\n line-height: 1.5;\n border-radius: 0.3rem; }\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: calc(1.5em + 0.5rem + 2px); }\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.swal2-popup .swal2-actions .input-group-sm > .input-group-prepend > button,\n.input-group-sm > .input-group-append > .btn,\n.swal2-popup .swal2-actions .input-group-sm > .input-group-append > button {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem; }\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: 1.75rem; }\n\n.input-group > .input-group-prepend > .btn, .swal2-popup .swal2-actions .input-group > .input-group-prepend > button,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.swal2-popup .swal2-actions .input-group > .input-group-append:not(:last-child) > button,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.swal2-popup .swal2-actions .input-group > .input-group-append:last-child > button:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n\n.input-group > .input-group-append > .btn, .swal2-popup .swal2-actions .input-group > .input-group-append > button,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.swal2-popup .swal2-actions .input-group > .input-group-prepend:not(:first-child) > button,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.swal2-popup .swal2-actions .input-group > .input-group-prepend:first-child > button:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0; }\n\n.custom-control {\n position: relative;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem; }\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: 1rem; }\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0; }\n .custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n border-color: #175DDC;\n background-color: #175DDC; }\n .custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #81a9f2; }\n .custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n color: #fff;\n background-color: #afc8f7;\n border-color: #afc8f7; }\n .custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d; }\n .custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e0e0e0; }\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n vertical-align: top; }\n .custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n background-color: #fbfbfb;\n border: #adb5bd solid 1px; }\n .custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background: no-repeat 50% / 50% 50%; }\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem; }\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e\"); }\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n border-color: #175DDC;\n background-color: #175DDC; }\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\"); }\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(23, 93, 220, 0.5); }\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(23, 93, 220, 0.5); }\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%; }\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\"); }\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(23, 93, 220, 0.5); }\n\n.custom-switch {\n padding-left: 2.25rem; }\n .custom-switch .custom-control-label::before {\n left: -2.25rem;\n width: 1.75rem;\n pointer-events: all;\n border-radius: 0.5rem; }\n .custom-switch .custom-control-label::after {\n top: calc(0.25rem + 2px);\n left: calc(-2.25rem + 2px);\n width: calc(1rem - 4px);\n height: calc(1rem - 4px);\n background-color: #adb5bd;\n border-radius: 0.5rem;\n transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }\n @media (prefers-reduced-motion: reduce) {\n .custom-switch .custom-control-label::after {\n transition: none; } }\n .custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n background-color: #fbfbfb;\n transform: translateX(0.75rem); }\n .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(23, 93, 220, 0.5); }\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px;\n background-color: #fbfbfb;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none; }\n .custom-select:focus {\n border-color: #81a9f2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fbfbfb; }\n .custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none; }\n .custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef; }\n .custom-select::-ms-expand {\n display: none; }\n\n.custom-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem; }\n\n.custom-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.15rem; }\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0; }\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0; }\n .custom-file-input:focus ~ .custom-file-label {\n border-color: #81a9f2;\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .custom-file-input:disabled ~ .custom-file-label {\n background-color: #e0e0e0; }\n .custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\"; }\n .custom-file-input ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse); }\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fbfbfb;\n border: 1px solid #ced4da;\n border-radius: 0.25rem; }\n .custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(1.5em + 0.75rem);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: inherit;\n border-radius: 0 0.25rem 0.25rem 0; }\n\n.custom-range {\n width: 100%;\n height: calc(1rem + 0.4rem);\n padding: 0;\n background-color: transparent;\n appearance: none; }\n .custom-range:focus {\n outline: none; }\n .custom-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .custom-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .custom-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .custom-range::-moz-focus-outer {\n border: 0; }\n .custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #175DDC;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none; }\n @media (prefers-reduced-motion: reduce) {\n .custom-range::-webkit-slider-thumb {\n transition: none; } }\n .custom-range::-webkit-slider-thumb:active {\n background-color: #afc8f7; }\n .custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem; }\n .custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #175DDC;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none; }\n @media (prefers-reduced-motion: reduce) {\n .custom-range::-moz-range-thumb {\n transition: none; } }\n .custom-range::-moz-range-thumb:active {\n background-color: #afc8f7; }\n .custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem; }\n .custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #175DDC;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none; }\n @media (prefers-reduced-motion: reduce) {\n .custom-range::-ms-thumb {\n transition: none; } }\n .custom-range::-ms-thumb:active {\n background-color: #afc8f7; }\n .custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem; }\n .custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem; }\n .custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem; }\n .custom-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd; }\n .custom-range:disabled::-webkit-slider-runnable-track {\n cursor: default; }\n .custom-range:disabled::-moz-range-thumb {\n background-color: #adb5bd; }\n .custom-range:disabled::-moz-range-track {\n cursor: default; }\n .custom-range:disabled::-ms-thumb {\n background-color: #adb5bd; }\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }\n @media (prefers-reduced-motion: reduce) {\n .custom-control-label::before,\n .custom-file-label,\n .custom-select {\n transition: none; } }\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none; }\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem; }\n .nav-link:hover, .nav-link:focus {\n text-decoration: none; }\n .nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default; }\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6; }\n .nav-tabs .nav-item {\n margin-bottom: -1px; }\n .nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem; }\n .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6; }\n .nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent; }\n .nav-tabs .nav-link.active,\n .nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #ffffff;\n border-color: #dee2e6 #dee2e6 #ffffff; }\n .nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0; }\n\n.nav-pills .nav-link {\n border-radius: 0.25rem; }\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #175DDC; }\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center; }\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center; }\n\n.tab-content > .tab-pane {\n display: none; }\n\n.tab-content > .active {\n display: block; }\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.75rem 1rem; }\n .navbar > .container,\n .navbar > .container-fluid {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between; }\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0;\n padding-bottom: 0;\n margin-right: 1rem;\n font-size: 2.1875rem;\n line-height: inherit;\n white-space: nowrap; }\n .navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none; }\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none; }\n .navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0; }\n .navbar-nav .dropdown-menu {\n position: static;\n float: none; }\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem; }\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center; }\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.15rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem; }\n .navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none; }\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%; }\n\n@media (max-width: 0.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n padding-right: 0;\n padding-left: 0; } }\n\n@media (min-width: 1px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start; }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row; }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute; }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.8rem;\n padding-left: 0.8rem; }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n flex-wrap: nowrap; }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto; }\n .navbar-expand-sm .navbar-toggler {\n display: none; } }\n\n@media (max-width: 1.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n padding-right: 0;\n padding-left: 0; } }\n\n@media (min-width: 2px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start; }\n .navbar-expand-md .navbar-nav {\n flex-direction: row; }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute; }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.8rem;\n padding-left: 0.8rem; }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n flex-wrap: nowrap; }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto; }\n .navbar-expand-md .navbar-toggler {\n display: none; } }\n\n@media (max-width: 2.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n padding-right: 0;\n padding-left: 0; } }\n\n@media (min-width: 3px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start; }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row; }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute; }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.8rem;\n padding-left: 0.8rem; }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n flex-wrap: nowrap; }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto; }\n .navbar-expand-lg .navbar-toggler {\n display: none; } }\n\n@media (max-width: 3.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n padding-right: 0;\n padding-left: 0; } }\n\n@media (min-width: 4px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start; }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row; }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute; }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.8rem;\n padding-left: 0.8rem; }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n flex-wrap: nowrap; }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto; }\n .navbar-expand-xl .navbar-toggler {\n display: none; } }\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start; }\n .navbar-expand > .container,\n .navbar-expand > .container-fluid {\n padding-right: 0;\n padding-left: 0; }\n .navbar-expand .navbar-nav {\n flex-direction: row; }\n .navbar-expand .navbar-nav .dropdown-menu {\n position: absolute; }\n .navbar-expand .navbar-nav .nav-link {\n padding-right: 0.8rem;\n padding-left: 0.8rem; }\n .navbar-expand > .container,\n .navbar-expand > .container-fluid {\n flex-wrap: nowrap; }\n .navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto; }\n .navbar-expand .navbar-toggler {\n display: none; }\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9); }\n .navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9); }\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5); }\n .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7); }\n .navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3); }\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9); }\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1); }\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"); }\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5); }\n .navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9); }\n .navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9); }\n\n.navbar-dark .navbar-brand {\n color: #fff; }\n .navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff; }\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.7); }\n .navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.9); }\n .navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25); }\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff; }\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.7);\n border-color: rgba(255, 255, 255, 0.1); }\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.7)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"); }\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.7); }\n .navbar-dark .navbar-text a {\n color: #fff; }\n .navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff; }\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem; }\n .card > hr {\n margin-right: 0;\n margin-left: 0; }\n .card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem; }\n .card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem; }\n\n.card-body {\n flex: 1 1 auto;\n padding: 1.25rem; }\n\n.card-title {\n margin-bottom: 0.6rem; }\n\n.card-subtitle {\n margin-top: -0.3rem;\n margin-bottom: 0; }\n\n.card-text:last-child {\n margin-bottom: 0; }\n\n.card-link:hover {\n text-decoration: none; }\n\n.card-link + .card-link {\n margin-left: 1.25rem; }\n\n.card-header {\n padding: 0.6rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125); }\n .card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; }\n .card-header + .list-group .list-group-item:first-child {\n border-top: 0; }\n\n.card-footer {\n padding: 0.6rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125); }\n .card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); }\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.6rem;\n margin-left: -0.625rem;\n border-bottom: 0; }\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem; }\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem; }\n\n.card-img {\n width: 100%;\n border-radius: calc(0.25rem - 1px); }\n\n.card-img-top {\n width: 100%;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px); }\n\n.card-img-bottom {\n width: 100%;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px); }\n\n.card-deck {\n display: flex;\n flex-direction: column; }\n .card-deck .card {\n margin-bottom: 10px; }\n @media (min-width: 1px) {\n .card-deck {\n flex-flow: row wrap;\n margin-right: -10px;\n margin-left: -10px; }\n .card-deck .card {\n display: flex;\n flex: 1 0 0%;\n flex-direction: column;\n margin-right: 10px;\n margin-bottom: 0;\n margin-left: 10px; } }\n\n.card-group {\n display: flex;\n flex-direction: column; }\n .card-group > .card {\n margin-bottom: 10px; }\n @media (min-width: 1px) {\n .card-group {\n flex-flow: row wrap; }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0; }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0; }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0; }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0; }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0; }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0; }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0; } }\n\n.card-columns .card {\n margin-bottom: 0.6rem; }\n\n@media (min-width: 1px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1; }\n .card-columns .card {\n display: inline-block;\n width: 100%; } }\n\n.accordion > .card {\n overflow: hidden; }\n .accordion > .card:not(:first-of-type) .card-header:first-child {\n border-radius: 0; }\n .accordion > .card:not(:first-of-type):not(:last-of-type) {\n border-bottom: 0;\n border-radius: 0; }\n .accordion > .card:first-of-type {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0; }\n .accordion > .card:last-of-type {\n border-top-left-radius: 0;\n border-top-right-radius: 0; }\n .accordion > .card .card-header {\n margin-bottom: -1px; }\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem; }\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem; }\n .breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\"; }\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline; }\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none; }\n\n.breadcrumb-item.active {\n color: #6c757d; }\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem; }\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #175DDC;\n background-color: #fff;\n border: 1px solid #dee2e6; }\n .page-link:hover {\n z-index: 2;\n color: #104097;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6; }\n .page-link:focus {\n z-index: 2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem; }\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem; }\n\n.page-item.active .page-link {\n z-index: 1;\n color: #fff;\n background-color: #175DDC;\n border-color: #175DDC; }\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6; }\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.15rem;\n line-height: 1.5; }\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem; }\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem; }\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5; }\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem; }\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem; }\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }\n @media (prefers-reduced-motion: reduce) {\n .badge {\n transition: none; } }\n a.badge:hover, a.badge:focus {\n text-decoration: none; }\n .badge:empty {\n display: none; }\n\n.btn .badge, .swal2-popup .swal2-actions button .badge {\n position: relative;\n top: -1px; }\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem; }\n\n.badge-primary {\n color: #fff;\n background-color: #175DDC; }\n a.badge-primary:hover, a.badge-primary:focus {\n color: #fff;\n background-color: #1249ae; }\n a.badge-primary:focus, a.badge-primary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.5); }\n\n.badge-secondary {\n color: #212529;\n background-color: #ced4da; }\n a.badge-secondary:hover, a.badge-secondary:focus {\n color: #212529;\n background-color: #b1bbc4; }\n a.badge-secondary:focus, a.badge-secondary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(206, 212, 218, 0.5); }\n\n.badge-success {\n color: #fff;\n background-color: #00a65a; }\n a.badge-success:hover, a.badge-success:focus {\n color: #fff;\n background-color: #00733e; }\n a.badge-success:focus, a.badge-success.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.5); }\n\n.badge-info {\n color: #fff;\n background-color: #555555; }\n a.badge-info:hover, a.badge-info:focus {\n color: #fff;\n background-color: #3c3c3c; }\n a.badge-info:focus, a.badge-info.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(85, 85, 85, 0.5); }\n\n.badge-warning {\n color: #fff;\n background-color: #bf7e16; }\n a.badge-warning:hover, a.badge-warning:focus {\n color: #fff;\n background-color: #916011; }\n a.badge-warning:focus, a.badge-warning.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(191, 126, 22, 0.5); }\n\n.badge-danger {\n color: #fff;\n background-color: #dd4b39; }\n a.badge-danger:hover, a.badge-danger:focus {\n color: #fff;\n background-color: #c23321; }\n a.badge-danger:focus, a.badge-danger.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.5); }\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa; }\n a.badge-light:hover, a.badge-light:focus {\n color: #212529;\n background-color: #dae0e5; }\n a.badge-light:focus, a.badge-light.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }\n\n.badge-dark {\n color: #fff;\n background-color: #343a40; }\n a.badge-dark:hover, a.badge-dark:focus {\n color: #fff;\n background-color: #1d2124; }\n a.badge-dark:focus, a.badge-dark.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }\n\n.badge-primary-accent {\n color: #fff;\n background-color: #1252A3; }\n a.badge-primary-accent:hover, a.badge-primary-accent:focus {\n color: #fff;\n background-color: #0d3b75; }\n a.badge-primary-accent:focus, a.badge-primary-accent.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(18, 82, 163, 0.5); }\n\n.badge-secondary-alt {\n color: #fff;\n background-color: #1A3B66; }\n a.badge-secondary-alt:hover, a.badge-secondary-alt:focus {\n color: #fff;\n background-color: #10233d; }\n a.badge-secondary-alt:focus, a.badge-secondary-alt.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(26, 59, 102, 0.5); }\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem; }\n @media (min-width: 1px) {\n .jumbotron {\n padding: 4rem 2rem; } }\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0; }\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem; }\n\n.alert-heading {\n color: inherit; }\n\n.alert-link {\n font-weight: 700; }\n\n.alert-dismissible {\n padding-right: 4rem; }\n .alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit; }\n\n.alert-primary {\n color: #0c3072;\n background-color: #d1dff8;\n border-color: #bed2f5; }\n .alert-primary hr {\n border-top-color: #a8c3f2; }\n .alert-primary .alert-link {\n color: #071d44; }\n\n.alert-secondary {\n color: #6b6e71;\n background-color: #f5f6f8;\n border-color: #f1f3f5; }\n .alert-secondary hr {\n border-top-color: #e2e6ea; }\n .alert-secondary .alert-link {\n color: #525557; }\n\n.alert-success {\n color: #00562f;\n background-color: #ccedde;\n border-color: #b8e6d1; }\n .alert-success hr {\n border-top-color: #a5dfc5; }\n .alert-success .alert-link {\n color: #002313; }\n\n.alert-info {\n color: #2c2c2c;\n background-color: #dddddd;\n border-color: #cfcfcf; }\n .alert-info hr {\n border-top-color: #c2c2c2; }\n .alert-info .alert-link {\n color: #131313; }\n\n.alert-warning {\n color: #63420b;\n background-color: #f2e5d0;\n border-color: #eddbbe; }\n .alert-warning hr {\n border-top-color: #e7d0aa; }\n .alert-warning .alert-link {\n color: #352306; }\n\n.alert-danger {\n color: #73271e;\n background-color: #f8dbd7;\n border-color: #f5cdc8; }\n .alert-danger hr {\n border-top-color: #f1b9b2; }\n .alert-danger .alert-link {\n color: #4b1913; }\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe; }\n .alert-light hr {\n border-top-color: #ececf6; }\n .alert-light .alert-link {\n color: #686868; }\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca; }\n .alert-dark hr {\n border-top-color: #b9bbbe; }\n .alert-dark .alert-link {\n color: #040505; }\n\n.alert-primary-accent {\n color: #092b55;\n background-color: #d0dced;\n border-color: #bdcfe5; }\n .alert-primary-accent hr {\n border-top-color: #abc2de; }\n .alert-primary-accent .alert-link {\n color: #041427; }\n\n.alert-secondary-alt {\n color: #0e1f35;\n background-color: #d1d8e0;\n border-color: #bfc8d4; }\n .alert-secondary-alt hr {\n border-top-color: #b0bbca; }\n .alert-secondary-alt .alert-link {\n color: #03070d; }\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0; }\n to {\n background-position: 0 0; } }\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem; }\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #175DDC;\n transition: width 0.6s ease; }\n @media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none; } }\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem; }\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite; }\n @media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none; } }\n\n.media {\n display: flex;\n align-items: flex-start; }\n\n.media-body {\n flex: 1; }\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0; }\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit; }\n .list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa; }\n .list-group-item-action:active {\n color: #333333;\n background-color: #e9ecef; }\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.6rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125); }\n .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem; }\n .list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem; }\n .list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff; }\n .list-group-item.active {\n z-index: 2;\n color: #333333;\n background-color: #ffffff;\n border-color: rgba(0, 0, 0, 0.125); }\n\n.list-group-horizontal {\n flex-direction: row; }\n .list-group-horizontal .list-group-item {\n margin-right: -1px;\n margin-bottom: 0; }\n .list-group-horizontal .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0; }\n .list-group-horizontal .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0; }\n\n@media (min-width: 1px) {\n .list-group-horizontal-sm {\n flex-direction: row; }\n .list-group-horizontal-sm .list-group-item {\n margin-right: -1px;\n margin-bottom: 0; }\n .list-group-horizontal-sm .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0; }\n .list-group-horizontal-sm .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0; } }\n\n@media (min-width: 2px) {\n .list-group-horizontal-md {\n flex-direction: row; }\n .list-group-horizontal-md .list-group-item {\n margin-right: -1px;\n margin-bottom: 0; }\n .list-group-horizontal-md .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0; }\n .list-group-horizontal-md .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0; } }\n\n@media (min-width: 3px) {\n .list-group-horizontal-lg {\n flex-direction: row; }\n .list-group-horizontal-lg .list-group-item {\n margin-right: -1px;\n margin-bottom: 0; }\n .list-group-horizontal-lg .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0; }\n .list-group-horizontal-lg .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0; } }\n\n@media (min-width: 4px) {\n .list-group-horizontal-xl {\n flex-direction: row; }\n .list-group-horizontal-xl .list-group-item {\n margin-right: -1px;\n margin-bottom: 0; }\n .list-group-horizontal-xl .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0; }\n .list-group-horizontal-xl .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0; } }\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0; }\n .list-group-flush .list-group-item:last-child {\n margin-bottom: -1px; }\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0; }\n\n.list-group-flush:last-child .list-group-item:last-child {\n margin-bottom: 0;\n border-bottom: 0; }\n\n.list-group-item-primary {\n color: #0c3072;\n background-color: #bed2f5; }\n .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #0c3072;\n background-color: #a8c3f2; }\n .list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #0c3072;\n border-color: #0c3072; }\n\n.list-group-item-secondary {\n color: #6b6e71;\n background-color: #f1f3f5; }\n .list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #6b6e71;\n background-color: #e2e6ea; }\n .list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #6b6e71;\n border-color: #6b6e71; }\n\n.list-group-item-success {\n color: #00562f;\n background-color: #b8e6d1; }\n .list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #00562f;\n background-color: #a5dfc5; }\n .list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #00562f;\n border-color: #00562f; }\n\n.list-group-item-info {\n color: #2c2c2c;\n background-color: #cfcfcf; }\n .list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #2c2c2c;\n background-color: #c2c2c2; }\n .list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #2c2c2c;\n border-color: #2c2c2c; }\n\n.list-group-item-warning {\n color: #63420b;\n background-color: #eddbbe; }\n .list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #63420b;\n background-color: #e7d0aa; }\n .list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #63420b;\n border-color: #63420b; }\n\n.list-group-item-danger {\n color: #73271e;\n background-color: #f5cdc8; }\n .list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #73271e;\n background-color: #f1b9b2; }\n .list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #73271e;\n border-color: #73271e; }\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe; }\n .list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6; }\n .list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182; }\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca; }\n .list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe; }\n .list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21; }\n\n.list-group-item-primary-accent {\n color: #092b55;\n background-color: #bdcfe5; }\n .list-group-item-primary-accent.list-group-item-action:hover, .list-group-item-primary-accent.list-group-item-action:focus {\n color: #092b55;\n background-color: #abc2de; }\n .list-group-item-primary-accent.list-group-item-action.active {\n color: #fff;\n background-color: #092b55;\n border-color: #092b55; }\n\n.list-group-item-secondary-alt {\n color: #0e1f35;\n background-color: #bfc8d4; }\n .list-group-item-secondary-alt.list-group-item-action:hover, .list-group-item-secondary-alt.list-group-item-action:focus {\n color: #0e1f35;\n background-color: #b0bbca; }\n .list-group-item-secondary-alt.list-group-item-action.active {\n color: #fff;\n background-color: #0e1f35;\n border-color: #0e1f35; }\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5; }\n .close:hover {\n color: #000;\n text-decoration: none; }\n .close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75; }\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none; }\n\na.close.disabled {\n pointer-events: none; }\n\n.modal-open {\n overflow: hidden; }\n .modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto; }\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0; }\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none; }\n .modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px); }\n @media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none; } }\n .modal.show .modal-dialog {\n transform: none; }\n\n.modal-dialog-scrollable {\n display: flex;\n max-height: calc(100% - 1rem); }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden; }\n .modal-dialog-scrollable .modal-header,\n .modal-dialog-scrollable .modal-footer {\n flex-shrink: 0; }\n .modal-dialog-scrollable .modal-body {\n overflow-y: auto; }\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem); }\n .modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n content: \"\"; }\n .modal-dialog-centered.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%; }\n .modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none; }\n .modal-dialog-centered.modal-dialog-scrollable::before {\n content: none; }\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0; }\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000; }\n .modal-backdrop.fade {\n opacity: 0; }\n .modal-backdrop.show {\n opacity: 0.3; }\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: 0.3rem;\n border-top-right-radius: 0.3rem; }\n .modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto; }\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5; }\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem; }\n\n.modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 1rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem; }\n .modal-footer > :not(:first-child) {\n margin-left: .25rem; }\n .modal-footer > :not(:last-child) {\n margin-right: .25rem; }\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll; }\n\n@media (min-width: 1px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto; }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem); }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem); }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem); }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem); }\n .modal-sm {\n max-width: 300px; } }\n\n@media (min-width: 3px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px; } }\n\n@media (min-width: 4px) {\n .modal-xl {\n max-width: 1140px; } }\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: \"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0; }\n .tooltip.show {\n opacity: 0.9; }\n .tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem; }\n .tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid; }\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0; }\n .bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0; }\n .bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000; }\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem; }\n .bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem; }\n .bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000; }\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0; }\n .bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0; }\n .bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000; }\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem; }\n .bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem; }\n .bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000; }\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem; }\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: \"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem; }\n .popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem; }\n .popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid; }\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem; }\n .bs-popover-top > .arrow, .bs-popover-auto[x-placement^=\"top\"] > .arrow {\n bottom: calc((0.5rem + 1px) * -1); }\n .bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25); }\n .bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff; }\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem; }\n .bs-popover-right > .arrow, .bs-popover-auto[x-placement^=\"right\"] > .arrow {\n left: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0; }\n .bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25); }\n .bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff; }\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem; }\n .bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow {\n top: calc((0.5rem + 1px) * -1); }\n .bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25); }\n .bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff; }\n .bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7; }\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem; }\n .bs-popover-left > .arrow, .bs-popover-auto[x-placement^=\"left\"] > .arrow {\n right: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0; }\n .bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25); }\n .bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff; }\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px); }\n .popover-header:empty {\n display: none; }\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #333333; }\n\n.carousel {\n position: relative; }\n\n.carousel.pointer-event {\n touch-action: pan-y; }\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden; }\n .carousel-inner::after {\n display: block;\n clear: both;\n content: \"\"; }\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out; }\n @media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none; } }\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block; }\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%); }\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%); }\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none; }\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1; }\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: 0s 0.6s opacity; }\n @media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none; } }\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease; }\n @media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none; } }\n .carousel-control-prev:hover, .carousel-control-prev:focus,\n .carousel-control-next:hover,\n .carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9; }\n\n.carousel-control-prev {\n left: 0; }\n\n.carousel-control-next {\n right: 0; }\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%; }\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e\"); }\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e\"); }\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none; }\n .carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: .5;\n transition: opacity 0.6s ease; }\n @media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none; } }\n .carousel-indicators .active {\n opacity: 1; }\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center; }\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg); } }\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: spinner-border .75s linear infinite; }\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em; }\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0); }\n 50% {\n opacity: 1; } }\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite; }\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem; }\n\n.align-baseline {\n vertical-align: baseline !important; }\n\n.align-top {\n vertical-align: top !important; }\n\n.align-middle {\n vertical-align: middle !important; }\n\n.align-bottom {\n vertical-align: bottom !important; }\n\n.align-text-bottom {\n vertical-align: text-bottom !important; }\n\n.align-text-top {\n vertical-align: text-top !important; }\n\n.bg-primary {\n background-color: #175DDC !important; }\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #1249ae !important; }\n\n.bg-secondary {\n background-color: #ced4da !important; }\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #b1bbc4 !important; }\n\n.bg-success {\n background-color: #00a65a !important; }\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #00733e !important; }\n\n.bg-info {\n background-color: #555555 !important; }\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #3c3c3c !important; }\n\n.bg-warning {\n background-color: #bf7e16 !important; }\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #916011 !important; }\n\n.bg-danger {\n background-color: #dd4b39 !important; }\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #c23321 !important; }\n\n.bg-light {\n background-color: #f8f9fa !important; }\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important; }\n\n.bg-dark {\n background-color: #343a40 !important; }\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important; }\n\n.bg-primary-accent {\n background-color: #1252A3 !important; }\n\na.bg-primary-accent:hover, a.bg-primary-accent:focus,\nbutton.bg-primary-accent:hover,\nbutton.bg-primary-accent:focus {\n background-color: #0d3b75 !important; }\n\n.bg-secondary-alt {\n background-color: #1A3B66 !important; }\n\na.bg-secondary-alt:hover, a.bg-secondary-alt:focus,\nbutton.bg-secondary-alt:hover,\nbutton.bg-secondary-alt:focus {\n background-color: #10233d !important; }\n\n.bg-white {\n background-color: #fff !important; }\n\n.bg-transparent {\n background-color: transparent !important; }\n\n.border {\n border: 1px solid #dee2e6 !important; }\n\n.border-top {\n border-top: 1px solid #dee2e6 !important; }\n\n.border-right {\n border-right: 1px solid #dee2e6 !important; }\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important; }\n\n.border-left {\n border-left: 1px solid #dee2e6 !important; }\n\n.border-0 {\n border: 0 !important; }\n\n.border-top-0 {\n border-top: 0 !important; }\n\n.border-right-0 {\n border-right: 0 !important; }\n\n.border-bottom-0 {\n border-bottom: 0 !important; }\n\n.border-left-0 {\n border-left: 0 !important; }\n\n.border-primary {\n border-color: #175DDC !important; }\n\n.border-secondary {\n border-color: #ced4da !important; }\n\n.border-success {\n border-color: #00a65a !important; }\n\n.border-info {\n border-color: #555555 !important; }\n\n.border-warning {\n border-color: #bf7e16 !important; }\n\n.border-danger {\n border-color: #dd4b39 !important; }\n\n.border-light {\n border-color: #f8f9fa !important; }\n\n.border-dark {\n border-color: #343a40 !important; }\n\n.border-primary-accent {\n border-color: #1252A3 !important; }\n\n.border-secondary-alt {\n border-color: #1A3B66 !important; }\n\n.border-white {\n border-color: #fff !important; }\n\n.rounded-sm {\n border-radius: 0.2rem !important; }\n\n.rounded, .table.table-list td.table-list-icon img, app-avatar img {\n border-radius: 0.25rem !important; }\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important; }\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important; }\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important; }\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important; }\n\n.rounded-lg {\n border-radius: 0.3rem !important; }\n\n.rounded-circle {\n border-radius: 50% !important; }\n\n.rounded-pill {\n border-radius: 50rem !important; }\n\n.rounded-0 {\n border-radius: 0 !important; }\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\"; }\n\n.d-none {\n display: none !important; }\n\n.d-inline {\n display: inline !important; }\n\n.d-inline-block {\n display: inline-block !important; }\n\n.d-block {\n display: block !important; }\n\n.d-table {\n display: table !important; }\n\n.d-table-row {\n display: table-row !important; }\n\n.d-table-cell {\n display: table-cell !important; }\n\n.d-flex {\n display: flex !important; }\n\n.d-inline-flex {\n display: inline-flex !important; }\n\n@media (min-width: 1px) {\n .d-sm-none {\n display: none !important; }\n .d-sm-inline {\n display: inline !important; }\n .d-sm-inline-block {\n display: inline-block !important; }\n .d-sm-block {\n display: block !important; }\n .d-sm-table {\n display: table !important; }\n .d-sm-table-row {\n display: table-row !important; }\n .d-sm-table-cell {\n display: table-cell !important; }\n .d-sm-flex {\n display: flex !important; }\n .d-sm-inline-flex {\n display: inline-flex !important; } }\n\n@media (min-width: 2px) {\n .d-md-none {\n display: none !important; }\n .d-md-inline {\n display: inline !important; }\n .d-md-inline-block {\n display: inline-block !important; }\n .d-md-block {\n display: block !important; }\n .d-md-table {\n display: table !important; }\n .d-md-table-row {\n display: table-row !important; }\n .d-md-table-cell {\n display: table-cell !important; }\n .d-md-flex {\n display: flex !important; }\n .d-md-inline-flex {\n display: inline-flex !important; } }\n\n@media (min-width: 3px) {\n .d-lg-none {\n display: none !important; }\n .d-lg-inline {\n display: inline !important; }\n .d-lg-inline-block {\n display: inline-block !important; }\n .d-lg-block {\n display: block !important; }\n .d-lg-table {\n display: table !important; }\n .d-lg-table-row {\n display: table-row !important; }\n .d-lg-table-cell {\n display: table-cell !important; }\n .d-lg-flex {\n display: flex !important; }\n .d-lg-inline-flex {\n display: inline-flex !important; } }\n\n@media (min-width: 4px) {\n .d-xl-none {\n display: none !important; }\n .d-xl-inline {\n display: inline !important; }\n .d-xl-inline-block {\n display: inline-block !important; }\n .d-xl-block {\n display: block !important; }\n .d-xl-table {\n display: table !important; }\n .d-xl-table-row {\n display: table-row !important; }\n .d-xl-table-cell {\n display: table-cell !important; }\n .d-xl-flex {\n display: flex !important; }\n .d-xl-inline-flex {\n display: inline-flex !important; } }\n\n@media print {\n .d-print-none {\n display: none !important; }\n .d-print-inline {\n display: inline !important; }\n .d-print-inline-block {\n display: inline-block !important; }\n .d-print-block {\n display: block !important; }\n .d-print-table {\n display: table !important; }\n .d-print-table-row {\n display: table-row !important; }\n .d-print-table-cell {\n display: table-cell !important; }\n .d-print-flex {\n display: flex !important; }\n .d-print-inline-flex {\n display: inline-flex !important; } }\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden; }\n .embed-responsive::before {\n display: block;\n content: \"\"; }\n .embed-responsive .embed-responsive-item,\n .embed-responsive iframe,\n .embed-responsive embed,\n .embed-responsive object,\n .embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0; }\n\n.embed-responsive-21by9::before {\n padding-top: 42.85714%; }\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%; }\n\n.embed-responsive-4by3::before {\n padding-top: 75%; }\n\n.embed-responsive-1by1::before {\n padding-top: 100%; }\n\n.flex-row {\n flex-direction: row !important; }\n\n.flex-column {\n flex-direction: column !important; }\n\n.flex-row-reverse {\n flex-direction: row-reverse !important; }\n\n.flex-column-reverse {\n flex-direction: column-reverse !important; }\n\n.flex-wrap {\n flex-wrap: wrap !important; }\n\n.flex-nowrap {\n flex-wrap: nowrap !important; }\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important; }\n\n.flex-fill {\n flex: 1 1 auto !important; }\n\n.flex-grow-0 {\n flex-grow: 0 !important; }\n\n.flex-grow-1 {\n flex-grow: 1 !important; }\n\n.flex-shrink-0 {\n flex-shrink: 0 !important; }\n\n.flex-shrink-1 {\n flex-shrink: 1 !important; }\n\n.justify-content-start {\n justify-content: flex-start !important; }\n\n.justify-content-end {\n justify-content: flex-end !important; }\n\n.justify-content-center {\n justify-content: center !important; }\n\n.justify-content-between {\n justify-content: space-between !important; }\n\n.justify-content-around {\n justify-content: space-around !important; }\n\n.align-items-start {\n align-items: flex-start !important; }\n\n.align-items-end {\n align-items: flex-end !important; }\n\n.align-items-center {\n align-items: center !important; }\n\n.align-items-baseline {\n align-items: baseline !important; }\n\n.align-items-stretch {\n align-items: stretch !important; }\n\n.align-content-start {\n align-content: flex-start !important; }\n\n.align-content-end {\n align-content: flex-end !important; }\n\n.align-content-center {\n align-content: center !important; }\n\n.align-content-between {\n align-content: space-between !important; }\n\n.align-content-around {\n align-content: space-around !important; }\n\n.align-content-stretch {\n align-content: stretch !important; }\n\n.align-self-auto {\n align-self: auto !important; }\n\n.align-self-start {\n align-self: flex-start !important; }\n\n.align-self-end {\n align-self: flex-end !important; }\n\n.align-self-center {\n align-self: center !important; }\n\n.align-self-baseline {\n align-self: baseline !important; }\n\n.align-self-stretch {\n align-self: stretch !important; }\n\n@media (min-width: 1px) {\n .flex-sm-row {\n flex-direction: row !important; }\n .flex-sm-column {\n flex-direction: column !important; }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important; }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important; }\n .flex-sm-wrap {\n flex-wrap: wrap !important; }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important; }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important; }\n .flex-sm-fill {\n flex: 1 1 auto !important; }\n .flex-sm-grow-0 {\n flex-grow: 0 !important; }\n .flex-sm-grow-1 {\n flex-grow: 1 !important; }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important; }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important; }\n .justify-content-sm-start {\n justify-content: flex-start !important; }\n .justify-content-sm-end {\n justify-content: flex-end !important; }\n .justify-content-sm-center {\n justify-content: center !important; }\n .justify-content-sm-between {\n justify-content: space-between !important; }\n .justify-content-sm-around {\n justify-content: space-around !important; }\n .align-items-sm-start {\n align-items: flex-start !important; }\n .align-items-sm-end {\n align-items: flex-end !important; }\n .align-items-sm-center {\n align-items: center !important; }\n .align-items-sm-baseline {\n align-items: baseline !important; }\n .align-items-sm-stretch {\n align-items: stretch !important; }\n .align-content-sm-start {\n align-content: flex-start !important; }\n .align-content-sm-end {\n align-content: flex-end !important; }\n .align-content-sm-center {\n align-content: center !important; }\n .align-content-sm-between {\n align-content: space-between !important; }\n .align-content-sm-around {\n align-content: space-around !important; }\n .align-content-sm-stretch {\n align-content: stretch !important; }\n .align-self-sm-auto {\n align-self: auto !important; }\n .align-self-sm-start {\n align-self: flex-start !important; }\n .align-self-sm-end {\n align-self: flex-end !important; }\n .align-self-sm-center {\n align-self: center !important; }\n .align-self-sm-baseline {\n align-self: baseline !important; }\n .align-self-sm-stretch {\n align-self: stretch !important; } }\n\n@media (min-width: 2px) {\n .flex-md-row {\n flex-direction: row !important; }\n .flex-md-column {\n flex-direction: column !important; }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important; }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important; }\n .flex-md-wrap {\n flex-wrap: wrap !important; }\n .flex-md-nowrap {\n flex-wrap: nowrap !important; }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important; }\n .flex-md-fill {\n flex: 1 1 auto !important; }\n .flex-md-grow-0 {\n flex-grow: 0 !important; }\n .flex-md-grow-1 {\n flex-grow: 1 !important; }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important; }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important; }\n .justify-content-md-start {\n justify-content: flex-start !important; }\n .justify-content-md-end {\n justify-content: flex-end !important; }\n .justify-content-md-center {\n justify-content: center !important; }\n .justify-content-md-between {\n justify-content: space-between !important; }\n .justify-content-md-around {\n justify-content: space-around !important; }\n .align-items-md-start {\n align-items: flex-start !important; }\n .align-items-md-end {\n align-items: flex-end !important; }\n .align-items-md-center {\n align-items: center !important; }\n .align-items-md-baseline {\n align-items: baseline !important; }\n .align-items-md-stretch {\n align-items: stretch !important; }\n .align-content-md-start {\n align-content: flex-start !important; }\n .align-content-md-end {\n align-content: flex-end !important; }\n .align-content-md-center {\n align-content: center !important; }\n .align-content-md-between {\n align-content: space-between !important; }\n .align-content-md-around {\n align-content: space-around !important; }\n .align-content-md-stretch {\n align-content: stretch !important; }\n .align-self-md-auto {\n align-self: auto !important; }\n .align-self-md-start {\n align-self: flex-start !important; }\n .align-self-md-end {\n align-self: flex-end !important; }\n .align-self-md-center {\n align-self: center !important; }\n .align-self-md-baseline {\n align-self: baseline !important; }\n .align-self-md-stretch {\n align-self: stretch !important; } }\n\n@media (min-width: 3px) {\n .flex-lg-row {\n flex-direction: row !important; }\n .flex-lg-column {\n flex-direction: column !important; }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important; }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important; }\n .flex-lg-wrap {\n flex-wrap: wrap !important; }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important; }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important; }\n .flex-lg-fill {\n flex: 1 1 auto !important; }\n .flex-lg-grow-0 {\n flex-grow: 0 !important; }\n .flex-lg-grow-1 {\n flex-grow: 1 !important; }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important; }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important; }\n .justify-content-lg-start {\n justify-content: flex-start !important; }\n .justify-content-lg-end {\n justify-content: flex-end !important; }\n .justify-content-lg-center {\n justify-content: center !important; }\n .justify-content-lg-between {\n justify-content: space-between !important; }\n .justify-content-lg-around {\n justify-content: space-around !important; }\n .align-items-lg-start {\n align-items: flex-start !important; }\n .align-items-lg-end {\n align-items: flex-end !important; }\n .align-items-lg-center {\n align-items: center !important; }\n .align-items-lg-baseline {\n align-items: baseline !important; }\n .align-items-lg-stretch {\n align-items: stretch !important; }\n .align-content-lg-start {\n align-content: flex-start !important; }\n .align-content-lg-end {\n align-content: flex-end !important; }\n .align-content-lg-center {\n align-content: center !important; }\n .align-content-lg-between {\n align-content: space-between !important; }\n .align-content-lg-around {\n align-content: space-around !important; }\n .align-content-lg-stretch {\n align-content: stretch !important; }\n .align-self-lg-auto {\n align-self: auto !important; }\n .align-self-lg-start {\n align-self: flex-start !important; }\n .align-self-lg-end {\n align-self: flex-end !important; }\n .align-self-lg-center {\n align-self: center !important; }\n .align-self-lg-baseline {\n align-self: baseline !important; }\n .align-self-lg-stretch {\n align-self: stretch !important; } }\n\n@media (min-width: 4px) {\n .flex-xl-row {\n flex-direction: row !important; }\n .flex-xl-column {\n flex-direction: column !important; }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important; }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important; }\n .flex-xl-wrap {\n flex-wrap: wrap !important; }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important; }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important; }\n .flex-xl-fill {\n flex: 1 1 auto !important; }\n .flex-xl-grow-0 {\n flex-grow: 0 !important; }\n .flex-xl-grow-1 {\n flex-grow: 1 !important; }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important; }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important; }\n .justify-content-xl-start {\n justify-content: flex-start !important; }\n .justify-content-xl-end {\n justify-content: flex-end !important; }\n .justify-content-xl-center {\n justify-content: center !important; }\n .justify-content-xl-between {\n justify-content: space-between !important; }\n .justify-content-xl-around {\n justify-content: space-around !important; }\n .align-items-xl-start {\n align-items: flex-start !important; }\n .align-items-xl-end {\n align-items: flex-end !important; }\n .align-items-xl-center {\n align-items: center !important; }\n .align-items-xl-baseline {\n align-items: baseline !important; }\n .align-items-xl-stretch {\n align-items: stretch !important; }\n .align-content-xl-start {\n align-content: flex-start !important; }\n .align-content-xl-end {\n align-content: flex-end !important; }\n .align-content-xl-center {\n align-content: center !important; }\n .align-content-xl-between {\n align-content: space-between !important; }\n .align-content-xl-around {\n align-content: space-around !important; }\n .align-content-xl-stretch {\n align-content: stretch !important; }\n .align-self-xl-auto {\n align-self: auto !important; }\n .align-self-xl-start {\n align-self: flex-start !important; }\n .align-self-xl-end {\n align-self: flex-end !important; }\n .align-self-xl-center {\n align-self: center !important; }\n .align-self-xl-baseline {\n align-self: baseline !important; }\n .align-self-xl-stretch {\n align-self: stretch !important; } }\n\n.float-left {\n float: left !important; }\n\n.float-right {\n float: right !important; }\n\n.float-none {\n float: none !important; }\n\n@media (min-width: 1px) {\n .float-sm-left {\n float: left !important; }\n .float-sm-right {\n float: right !important; }\n .float-sm-none {\n float: none !important; } }\n\n@media (min-width: 2px) {\n .float-md-left {\n float: left !important; }\n .float-md-right {\n float: right !important; }\n .float-md-none {\n float: none !important; } }\n\n@media (min-width: 3px) {\n .float-lg-left {\n float: left !important; }\n .float-lg-right {\n float: right !important; }\n .float-lg-none {\n float: none !important; } }\n\n@media (min-width: 4px) {\n .float-xl-left {\n float: left !important; }\n .float-xl-right {\n float: right !important; }\n .float-xl-none {\n float: none !important; } }\n\n.overflow-auto {\n overflow: auto !important; }\n\n.overflow-hidden {\n overflow: hidden !important; }\n\n.position-static {\n position: static !important; }\n\n.position-relative {\n position: relative !important; }\n\n.position-absolute {\n position: absolute !important; }\n\n.position-fixed {\n position: fixed !important; }\n\n.position-sticky {\n position: sticky !important; }\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030; }\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030; }\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020; } }\n\n.sr-only, .table.table-list tr:not(:hover) td.table-list-options > .dropdown:not(.show) button:not(:focus):not(:active), .table.table-list tr:not(:hover) td.table-list-options > button:not(:focus):not(:active) {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0; }\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal; }\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; }\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; }\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; }\n\n.shadow-none {\n box-shadow: none !important; }\n\n.w-25 {\n width: 25% !important; }\n\n.w-50 {\n width: 50% !important; }\n\n.w-75 {\n width: 75% !important; }\n\n.w-100 {\n width: 100% !important; }\n\n.w-auto {\n width: auto !important; }\n\n.h-25 {\n height: 25% !important; }\n\n.h-50 {\n height: 50% !important; }\n\n.h-75 {\n height: 75% !important; }\n\n.h-100 {\n height: 100% !important; }\n\n.h-auto {\n height: auto !important; }\n\n.mw-100 {\n max-width: 100% !important; }\n\n.mh-100 {\n max-height: 100% !important; }\n\n.min-vw-100 {\n min-width: 100vw !important; }\n\n.min-vh-100 {\n min-height: 100vh !important; }\n\n.vw-100 {\n width: 100vw !important; }\n\n.vh-100 {\n height: 100vh !important; }\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n pointer-events: auto;\n content: \"\";\n background-color: rgba(0, 0, 0, 0); }\n\n.m-0 {\n margin: 0 !important; }\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important; }\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important; }\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important; }\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important; }\n\n.m-1 {\n margin: 0.25rem !important; }\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important; }\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important; }\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important; }\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important; }\n\n.m-2 {\n margin: 0.5rem !important; }\n\n.mt-2, .form-check-block .form-check-label > span,\n.my-2 {\n margin-top: 0.5rem !important; }\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important; }\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important; }\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important; }\n\n.m-3 {\n margin: 1rem !important; }\n\n.mt-3, .form-check-block + .form-check-block:not(.mt-2),\n.my-3 {\n margin-top: 1rem !important; }\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important; }\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important; }\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important; }\n\n.m-4 {\n margin: 1.5rem !important; }\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important; }\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important; }\n\n.mb-4, .card-body-header,\n.my-4 {\n margin-bottom: 1.5rem !important; }\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important; }\n\n.m-5 {\n margin: 3rem !important; }\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important; }\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important; }\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important; }\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important; }\n\n.p-0 {\n padding: 0 !important; }\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important; }\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important; }\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important; }\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important; }\n\n.p-1 {\n padding: 0.25rem !important; }\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important; }\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important; }\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important; }\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important; }\n\n.p-2 {\n padding: 0.5rem !important; }\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important; }\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important; }\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important; }\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important; }\n\n.p-3 {\n padding: 1rem !important; }\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important; }\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important; }\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important; }\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important; }\n\n.p-4 {\n padding: 1.5rem !important; }\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important; }\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important; }\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important; }\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important; }\n\n.p-5 {\n padding: 3rem !important; }\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important; }\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important; }\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important; }\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important; }\n\n.m-n1 {\n margin: -0.25rem !important; }\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important; }\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important; }\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important; }\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important; }\n\n.m-n2 {\n margin: -0.5rem !important; }\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important; }\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important; }\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important; }\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important; }\n\n.m-n3 {\n margin: -1rem !important; }\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important; }\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important; }\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important; }\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important; }\n\n.m-n4 {\n margin: -1.5rem !important; }\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important; }\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important; }\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important; }\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important; }\n\n.m-n5 {\n margin: -3rem !important; }\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important; }\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important; }\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important; }\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important; }\n\n.m-auto {\n margin: auto !important; }\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important; }\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important; }\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important; }\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important; }\n\n@media (min-width: 1px) {\n .m-sm-0 {\n margin: 0 !important; }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important; }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important; }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important; }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important; }\n .m-sm-1 {\n margin: 0.25rem !important; }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important; }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important; }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important; }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important; }\n .m-sm-2 {\n margin: 0.5rem !important; }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important; }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important; }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important; }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important; }\n .m-sm-3 {\n margin: 1rem !important; }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important; }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important; }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important; }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important; }\n .m-sm-4 {\n margin: 1.5rem !important; }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important; }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important; }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important; }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important; }\n .m-sm-5 {\n margin: 3rem !important; }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important; }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important; }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important; }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important; }\n .p-sm-0 {\n padding: 0 !important; }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important; }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important; }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important; }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important; }\n .p-sm-1 {\n padding: 0.25rem !important; }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important; }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important; }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important; }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important; }\n .p-sm-2 {\n padding: 0.5rem !important; }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important; }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important; }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important; }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important; }\n .p-sm-3 {\n padding: 1rem !important; }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important; }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important; }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important; }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important; }\n .p-sm-4 {\n padding: 1.5rem !important; }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important; }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important; }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important; }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important; }\n .p-sm-5 {\n padding: 3rem !important; }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important; }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important; }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important; }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important; }\n .m-sm-n1 {\n margin: -0.25rem !important; }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important; }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important; }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important; }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important; }\n .m-sm-n2 {\n margin: -0.5rem !important; }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important; }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important; }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important; }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important; }\n .m-sm-n3 {\n margin: -1rem !important; }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important; }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important; }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important; }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important; }\n .m-sm-n4 {\n margin: -1.5rem !important; }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important; }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important; }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important; }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important; }\n .m-sm-n5 {\n margin: -3rem !important; }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important; }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important; }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important; }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important; }\n .m-sm-auto {\n margin: auto !important; }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important; }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important; }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important; }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important; } }\n\n@media (min-width: 2px) {\n .m-md-0 {\n margin: 0 !important; }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important; }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important; }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important; }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important; }\n .m-md-1 {\n margin: 0.25rem !important; }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important; }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important; }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important; }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important; }\n .m-md-2 {\n margin: 0.5rem !important; }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important; }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important; }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important; }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important; }\n .m-md-3 {\n margin: 1rem !important; }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important; }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important; }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important; }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important; }\n .m-md-4 {\n margin: 1.5rem !important; }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important; }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important; }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important; }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important; }\n .m-md-5 {\n margin: 3rem !important; }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important; }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important; }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important; }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important; }\n .p-md-0 {\n padding: 0 !important; }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important; }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important; }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important; }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important; }\n .p-md-1 {\n padding: 0.25rem !important; }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important; }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important; }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important; }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important; }\n .p-md-2 {\n padding: 0.5rem !important; }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important; }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important; }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important; }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important; }\n .p-md-3 {\n padding: 1rem !important; }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important; }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important; }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important; }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important; }\n .p-md-4 {\n padding: 1.5rem !important; }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important; }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important; }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important; }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important; }\n .p-md-5 {\n padding: 3rem !important; }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important; }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important; }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important; }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important; }\n .m-md-n1 {\n margin: -0.25rem !important; }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important; }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important; }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important; }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important; }\n .m-md-n2 {\n margin: -0.5rem !important; }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important; }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important; }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important; }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important; }\n .m-md-n3 {\n margin: -1rem !important; }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important; }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important; }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important; }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important; }\n .m-md-n4 {\n margin: -1.5rem !important; }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important; }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important; }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important; }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important; }\n .m-md-n5 {\n margin: -3rem !important; }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important; }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important; }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important; }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important; }\n .m-md-auto {\n margin: auto !important; }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important; }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important; }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important; }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important; } }\n\n@media (min-width: 3px) {\n .m-lg-0 {\n margin: 0 !important; }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important; }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important; }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important; }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important; }\n .m-lg-1 {\n margin: 0.25rem !important; }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important; }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important; }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important; }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important; }\n .m-lg-2 {\n margin: 0.5rem !important; }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important; }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important; }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important; }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important; }\n .m-lg-3 {\n margin: 1rem !important; }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important; }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important; }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important; }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important; }\n .m-lg-4 {\n margin: 1.5rem !important; }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important; }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important; }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important; }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important; }\n .m-lg-5 {\n margin: 3rem !important; }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important; }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important; }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important; }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important; }\n .p-lg-0 {\n padding: 0 !important; }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important; }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important; }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important; }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important; }\n .p-lg-1 {\n padding: 0.25rem !important; }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important; }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important; }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important; }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important; }\n .p-lg-2 {\n padding: 0.5rem !important; }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important; }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important; }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important; }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important; }\n .p-lg-3 {\n padding: 1rem !important; }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important; }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important; }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important; }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important; }\n .p-lg-4 {\n padding: 1.5rem !important; }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important; }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important; }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important; }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important; }\n .p-lg-5 {\n padding: 3rem !important; }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important; }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important; }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important; }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important; }\n .m-lg-n1 {\n margin: -0.25rem !important; }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important; }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important; }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important; }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important; }\n .m-lg-n2 {\n margin: -0.5rem !important; }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important; }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important; }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important; }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important; }\n .m-lg-n3 {\n margin: -1rem !important; }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important; }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important; }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important; }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important; }\n .m-lg-n4 {\n margin: -1.5rem !important; }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important; }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important; }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important; }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important; }\n .m-lg-n5 {\n margin: -3rem !important; }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important; }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important; }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important; }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important; }\n .m-lg-auto {\n margin: auto !important; }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important; }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important; }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important; }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important; } }\n\n@media (min-width: 4px) {\n .m-xl-0 {\n margin: 0 !important; }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important; }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important; }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important; }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important; }\n .m-xl-1 {\n margin: 0.25rem !important; }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important; }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important; }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important; }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important; }\n .m-xl-2 {\n margin: 0.5rem !important; }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important; }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important; }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important; }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important; }\n .m-xl-3 {\n margin: 1rem !important; }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important; }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important; }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important; }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important; }\n .m-xl-4 {\n margin: 1.5rem !important; }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important; }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important; }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important; }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important; }\n .m-xl-5 {\n margin: 3rem !important; }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important; }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important; }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important; }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important; }\n .p-xl-0 {\n padding: 0 !important; }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important; }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important; }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important; }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important; }\n .p-xl-1 {\n padding: 0.25rem !important; }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important; }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important; }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important; }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important; }\n .p-xl-2 {\n padding: 0.5rem !important; }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important; }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important; }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important; }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important; }\n .p-xl-3 {\n padding: 1rem !important; }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important; }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important; }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important; }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important; }\n .p-xl-4 {\n padding: 1.5rem !important; }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important; }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important; }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important; }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important; }\n .p-xl-5 {\n padding: 3rem !important; }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important; }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important; }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important; }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important; }\n .m-xl-n1 {\n margin: -0.25rem !important; }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important; }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important; }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important; }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important; }\n .m-xl-n2 {\n margin: -0.5rem !important; }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important; }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important; }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important; }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important; }\n .m-xl-n3 {\n margin: -1rem !important; }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important; }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important; }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important; }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important; }\n .m-xl-n4 {\n margin: -1.5rem !important; }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important; }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important; }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important; }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important; }\n .m-xl-n5 {\n margin: -3rem !important; }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important; }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important; }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important; }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important; }\n .m-xl-auto {\n margin: auto !important; }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important; }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important; }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important; }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important; } }\n\n.text-monospace, .totp .totp-code {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important; }\n\n.text-justify {\n text-align: justify !important; }\n\n.text-wrap {\n white-space: normal !important; }\n\n.text-nowrap {\n white-space: nowrap !important; }\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap; }\n\n.text-left {\n text-align: left !important; }\n\n.text-right {\n text-align: right !important; }\n\n.text-center {\n text-align: center !important; }\n\n@media (min-width: 1px) {\n .text-sm-left {\n text-align: left !important; }\n .text-sm-right {\n text-align: right !important; }\n .text-sm-center {\n text-align: center !important; } }\n\n@media (min-width: 2px) {\n .text-md-left {\n text-align: left !important; }\n .text-md-right {\n text-align: right !important; }\n .text-md-center {\n text-align: center !important; } }\n\n@media (min-width: 3px) {\n .text-lg-left {\n text-align: left !important; }\n .text-lg-right {\n text-align: right !important; }\n .text-lg-center {\n text-align: center !important; } }\n\n@media (min-width: 4px) {\n .text-xl-left {\n text-align: left !important; }\n .text-xl-right {\n text-align: right !important; }\n .text-xl-center {\n text-align: center !important; } }\n\n.text-lowercase {\n text-transform: lowercase !important; }\n\n.text-uppercase {\n text-transform: uppercase !important; }\n\n.text-capitalize {\n text-transform: capitalize !important; }\n\n.font-weight-light {\n font-weight: 300 !important; }\n\n.font-weight-lighter {\n font-weight: lighter !important; }\n\n.font-weight-normal {\n font-weight: 400 !important; }\n\n.font-weight-bold {\n font-weight: 700 !important; }\n\n.font-weight-bolder {\n font-weight: bolder !important; }\n\n.font-italic {\n font-style: italic !important; }\n\n.text-white {\n color: #fff !important; }\n\n.text-primary {\n color: #175DDC !important; }\n\na.text-primary:hover, a.text-primary:focus {\n color: #104097 !important; }\n\n.text-secondary {\n color: #ced4da !important; }\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #a2aeb9 !important; }\n\n.text-success {\n color: #00a65a !important; }\n\na.text-success:hover, a.text-success:focus {\n color: #005a31 !important; }\n\n.text-info {\n color: #555555 !important; }\n\na.text-info:hover, a.text-info:focus {\n color: #2f2f2f !important; }\n\n.text-warning {\n color: #bf7e16 !important; }\n\na.text-warning:hover, a.text-warning:focus {\n color: #7a510e !important; }\n\n.text-danger {\n color: #dd4b39 !important; }\n\na.text-danger:hover, a.text-danger:focus {\n color: #ac2d1e !important; }\n\n.text-light {\n color: #f8f9fa !important; }\n\na.text-light:hover, a.text-light:focus {\n color: #cbd3da !important; }\n\n.text-dark {\n color: #343a40 !important; }\n\na.text-dark:hover, a.text-dark:focus {\n color: #121416 !important; }\n\n.text-primary-accent {\n color: #1252A3 !important; }\n\na.text-primary-accent:hover, a.text-primary-accent:focus {\n color: #0a2f5e !important; }\n\n.text-secondary-alt {\n color: #1A3B66 !important; }\n\na.text-secondary-alt:hover, a.text-secondary-alt:focus {\n color: #0a1829 !important; }\n\n.text-body {\n color: #333333 !important; }\n\n.text-muted, .card-header small, .modal-header small {\n color: #6c757d !important; }\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important; }\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important; }\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0; }\n\n.text-decoration-none {\n text-decoration: none !important; }\n\n.text-break {\n word-break: break-word !important;\n overflow-wrap: break-word !important; }\n\n.text-reset {\n color: inherit !important; }\n\n.visible {\n visibility: visible !important; }\n\n.invisible {\n visibility: hidden !important; }\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important; }\n a:not(.btn) {\n text-decoration: underline; }\n abbr[title]::after {\n content: \" (\" attr(title) \")\"; }\n pre {\n white-space: pre-wrap !important; }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid; }\n thead {\n display: table-header-group; }\n tr,\n img {\n page-break-inside: avoid; }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3; }\n h2,\n h3 {\n page-break-after: avoid; }\n @page {\n size: a3; }\n body {\n min-width: 3px !important; }\n .container {\n min-width: 3px !important; }\n .navbar {\n display: none; }\n .badge {\n border: 1px solid #000; }\n .table {\n border-collapse: collapse !important; }\n .table td,\n .table th {\n background-color: #fff !important; }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important; }\n .table-dark {\n color: inherit; }\n .table-dark th,\n .table-dark td,\n .table-dark thead th,\n .table-dark tbody + tbody {\n border-color: #dee2e6; }\n .table .thead-dark th {\n color: inherit;\n border-color: #dee2e6; } }\n\n/*!\n * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n font-family: 'FontAwesome';\n src: url(../fonts/fontawesome-webfont.eot);\n src: url(../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0) format(\"embedded-opentype\"), url(../fonts/fontawesome-webfont.woff2) format(\"woff2\"), url(../fonts/fontawesome-webfont.woff) format(\"woff\"), url(../fonts/fontawesome-webfont.ttf) format(\"truetype\"), url(../fonts/fontawesome-webfont.svg#fontawesomeregular) format(\"svg\");\n font-weight: normal;\n font-style: normal; }\n\n.fa {\n display: inline-block;\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale; }\n\n/* makes the font 33% larger relative to the icon container */\n.fa-lg {\n font-size: 1.33333em;\n line-height: 0.75em;\n vertical-align: -15%; }\n\n.fa-2x {\n font-size: 2em; }\n\n.fa-3x {\n font-size: 3em; }\n\n.fa-4x {\n font-size: 4em; }\n\n.fa-5x {\n font-size: 5em; }\n\n.fa-fw {\n width: 1.28571em;\n text-align: center; }\n\n.fa-ul {\n padding-left: 0;\n margin-left: 2.14286em;\n list-style-type: none; }\n .fa-ul > li {\n position: relative; }\n\n.fa-li {\n position: absolute;\n left: -2.14286em;\n width: 2.14286em;\n top: 0.14286em;\n text-align: center; }\n .fa-li.fa-lg {\n left: -1.85714em; }\n\n.fa-border {\n padding: .2em .25em .15em;\n border: solid 0.08em #eee;\n border-radius: .1em; }\n\n.fa-pull-left {\n float: left; }\n\n.fa-pull-right {\n float: right; }\n\n.fa.fa-pull-left {\n margin-right: .3em; }\n\n.fa.fa-pull-right {\n margin-left: .3em; }\n\n/* Deprecated as of 4.4.0 */\n.pull-right {\n float: right; }\n\n.pull-left {\n float: left; }\n\n.fa.pull-left {\n margin-right: .3em; }\n\n.fa.pull-right {\n margin-left: .3em; }\n\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear; }\n\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8); }\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg); } }\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg); } }\n\n.fa-rotate-90 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\";\n -webkit-transform: rotate(90deg);\n -ms-transform: rotate(90deg);\n transform: rotate(90deg); }\n\n.fa-rotate-180 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\";\n -webkit-transform: rotate(180deg);\n -ms-transform: rotate(180deg);\n transform: rotate(180deg); }\n\n.fa-rotate-270 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\";\n -webkit-transform: rotate(270deg);\n -ms-transform: rotate(270deg);\n transform: rotate(270deg); }\n\n.fa-flip-horizontal {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\";\n -webkit-transform: scale(-1, 1);\n -ms-transform: scale(-1, 1);\n transform: scale(-1, 1); }\n\n.fa-flip-vertical {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";\n -webkit-transform: scale(1, -1);\n -ms-transform: scale(1, -1);\n transform: scale(1, -1); }\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical {\n filter: none; }\n\n.fa-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle; }\n\n.fa-stack-1x, .fa-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center; }\n\n.fa-stack-1x {\n line-height: inherit; }\n\n.fa-stack-2x {\n font-size: 2em; }\n\n.fa-inverse {\n color: #fff; }\n\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n.fa-glass:before {\n content: \"\\F000\"; }\n\n.fa-music:before {\n content: \"\\F001\"; }\n\n.fa-search:before {\n content: \"\\F002\"; }\n\n.fa-envelope-o:before {\n content: \"\\F003\"; }\n\n.fa-heart:before {\n content: \"\\F004\"; }\n\n.fa-star:before {\n content: \"\\F005\"; }\n\n.fa-star-o:before {\n content: \"\\F006\"; }\n\n.fa-user:before {\n content: \"\\F007\"; }\n\n.fa-film:before {\n content: \"\\F008\"; }\n\n.fa-th-large:before {\n content: \"\\F009\"; }\n\n.fa-th:before {\n content: \"\\F00A\"; }\n\n.fa-th-list:before {\n content: \"\\F00B\"; }\n\n.fa-check:before {\n content: \"\\F00C\"; }\n\n.fa-remove:before,\n.fa-close:before,\n.fa-times:before {\n content: \"\\F00D\"; }\n\n.fa-search-plus:before {\n content: \"\\F00E\"; }\n\n.fa-search-minus:before {\n content: \"\\F010\"; }\n\n.fa-power-off:before {\n content: \"\\F011\"; }\n\n.fa-signal:before {\n content: \"\\F012\"; }\n\n.fa-gear:before,\n.fa-cog:before {\n content: \"\\F013\"; }\n\n.fa-trash-o:before {\n content: \"\\F014\"; }\n\n.fa-home:before {\n content: \"\\F015\"; }\n\n.fa-file-o:before {\n content: \"\\F016\"; }\n\n.fa-clock-o:before {\n content: \"\\F017\"; }\n\n.fa-road:before {\n content: \"\\F018\"; }\n\n.fa-download:before {\n content: \"\\F019\"; }\n\n.fa-arrow-circle-o-down:before {\n content: \"\\F01A\"; }\n\n.fa-arrow-circle-o-up:before {\n content: \"\\F01B\"; }\n\n.fa-inbox:before {\n content: \"\\F01C\"; }\n\n.fa-play-circle-o:before {\n content: \"\\F01D\"; }\n\n.fa-rotate-right:before,\n.fa-repeat:before {\n content: \"\\F01E\"; }\n\n.fa-refresh:before {\n content: \"\\F021\"; }\n\n.fa-list-alt:before {\n content: \"\\F022\"; }\n\n.fa-lock:before {\n content: \"\\F023\"; }\n\n.fa-flag:before {\n content: \"\\F024\"; }\n\n.fa-headphones:before {\n content: \"\\F025\"; }\n\n.fa-volume-off:before {\n content: \"\\F026\"; }\n\n.fa-volume-down:before {\n content: \"\\F027\"; }\n\n.fa-volume-up:before {\n content: \"\\F028\"; }\n\n.fa-qrcode:before {\n content: \"\\F029\"; }\n\n.fa-barcode:before {\n content: \"\\F02A\"; }\n\n.fa-tag:before {\n content: \"\\F02B\"; }\n\n.fa-tags:before {\n content: \"\\F02C\"; }\n\n.fa-book:before {\n content: \"\\F02D\"; }\n\n.fa-bookmark:before {\n content: \"\\F02E\"; }\n\n.fa-print:before {\n content: \"\\F02F\"; }\n\n.fa-camera:before {\n content: \"\\F030\"; }\n\n.fa-font:before {\n content: \"\\F031\"; }\n\n.fa-bold:before {\n content: \"\\F032\"; }\n\n.fa-italic:before {\n content: \"\\F033\"; }\n\n.fa-text-height:before {\n content: \"\\F034\"; }\n\n.fa-text-width:before {\n content: \"\\F035\"; }\n\n.fa-align-left:before {\n content: \"\\F036\"; }\n\n.fa-align-center:before {\n content: \"\\F037\"; }\n\n.fa-align-right:before {\n content: \"\\F038\"; }\n\n.fa-align-justify:before {\n content: \"\\F039\"; }\n\n.fa-list:before {\n content: \"\\F03A\"; }\n\n.fa-dedent:before,\n.fa-outdent:before {\n content: \"\\F03B\"; }\n\n.fa-indent:before {\n content: \"\\F03C\"; }\n\n.fa-video-camera:before {\n content: \"\\F03D\"; }\n\n.fa-photo:before,\n.fa-image:before,\n.fa-picture-o:before {\n content: \"\\F03E\"; }\n\n.fa-pencil:before {\n content: \"\\F040\"; }\n\n.fa-map-marker:before {\n content: \"\\F041\"; }\n\n.fa-adjust:before {\n content: \"\\F042\"; }\n\n.fa-tint:before {\n content: \"\\F043\"; }\n\n.fa-edit:before,\n.fa-pencil-square-o:before {\n content: \"\\F044\"; }\n\n.fa-share-square-o:before {\n content: \"\\F045\"; }\n\n.fa-check-square-o:before {\n content: \"\\F046\"; }\n\n.fa-arrows:before {\n content: \"\\F047\"; }\n\n.fa-step-backward:before {\n content: \"\\F048\"; }\n\n.fa-fast-backward:before {\n content: \"\\F049\"; }\n\n.fa-backward:before {\n content: \"\\F04A\"; }\n\n.fa-play:before {\n content: \"\\F04B\"; }\n\n.fa-pause:before {\n content: \"\\F04C\"; }\n\n.fa-stop:before {\n content: \"\\F04D\"; }\n\n.fa-forward:before {\n content: \"\\F04E\"; }\n\n.fa-fast-forward:before {\n content: \"\\F050\"; }\n\n.fa-step-forward:before {\n content: \"\\F051\"; }\n\n.fa-eject:before {\n content: \"\\F052\"; }\n\n.fa-chevron-left:before {\n content: \"\\F053\"; }\n\n.fa-chevron-right:before {\n content: \"\\F054\"; }\n\n.fa-plus-circle:before {\n content: \"\\F055\"; }\n\n.fa-minus-circle:before {\n content: \"\\F056\"; }\n\n.fa-times-circle:before {\n content: \"\\F057\"; }\n\n.fa-check-circle:before {\n content: \"\\F058\"; }\n\n.fa-question-circle:before {\n content: \"\\F059\"; }\n\n.fa-info-circle:before {\n content: \"\\F05A\"; }\n\n.fa-crosshairs:before {\n content: \"\\F05B\"; }\n\n.fa-times-circle-o:before {\n content: \"\\F05C\"; }\n\n.fa-check-circle-o:before {\n content: \"\\F05D\"; }\n\n.fa-ban:before {\n content: \"\\F05E\"; }\n\n.fa-arrow-left:before {\n content: \"\\F060\"; }\n\n.fa-arrow-right:before {\n content: \"\\F061\"; }\n\n.fa-arrow-up:before {\n content: \"\\F062\"; }\n\n.fa-arrow-down:before {\n content: \"\\F063\"; }\n\n.fa-mail-forward:before,\n.fa-share:before {\n content: \"\\F064\"; }\n\n.fa-expand:before {\n content: \"\\F065\"; }\n\n.fa-compress:before {\n content: \"\\F066\"; }\n\n.fa-plus:before {\n content: \"\\F067\"; }\n\n.fa-minus:before {\n content: \"\\F068\"; }\n\n.fa-asterisk:before {\n content: \"\\F069\"; }\n\n.fa-exclamation-circle:before {\n content: \"\\F06A\"; }\n\n.fa-gift:before {\n content: \"\\F06B\"; }\n\n.fa-leaf:before {\n content: \"\\F06C\"; }\n\n.fa-fire:before {\n content: \"\\F06D\"; }\n\n.fa-eye:before {\n content: \"\\F06E\"; }\n\n.fa-eye-slash:before {\n content: \"\\F070\"; }\n\n.fa-warning:before,\n.fa-exclamation-triangle:before {\n content: \"\\F071\"; }\n\n.fa-plane:before {\n content: \"\\F072\"; }\n\n.fa-calendar:before {\n content: \"\\F073\"; }\n\n.fa-random:before {\n content: \"\\F074\"; }\n\n.fa-comment:before {\n content: \"\\F075\"; }\n\n.fa-magnet:before {\n content: \"\\F076\"; }\n\n.fa-chevron-up:before {\n content: \"\\F077\"; }\n\n.fa-chevron-down:before {\n content: \"\\F078\"; }\n\n.fa-retweet:before {\n content: \"\\F079\"; }\n\n.fa-shopping-cart:before {\n content: \"\\F07A\"; }\n\n.fa-folder:before {\n content: \"\\F07B\"; }\n\n.fa-folder-open:before {\n content: \"\\F07C\"; }\n\n.fa-arrows-v:before {\n content: \"\\F07D\"; }\n\n.fa-arrows-h:before {\n content: \"\\F07E\"; }\n\n.fa-bar-chart-o:before,\n.fa-bar-chart:before {\n content: \"\\F080\"; }\n\n.fa-twitter-square:before {\n content: \"\\F081\"; }\n\n.fa-facebook-square:before {\n content: \"\\F082\"; }\n\n.fa-camera-retro:before {\n content: \"\\F083\"; }\n\n.fa-key:before {\n content: \"\\F084\"; }\n\n.fa-gears:before,\n.fa-cogs:before {\n content: \"\\F085\"; }\n\n.fa-comments:before {\n content: \"\\F086\"; }\n\n.fa-thumbs-o-up:before {\n content: \"\\F087\"; }\n\n.fa-thumbs-o-down:before {\n content: \"\\F088\"; }\n\n.fa-star-half:before {\n content: \"\\F089\"; }\n\n.fa-heart-o:before {\n content: \"\\F08A\"; }\n\n.fa-sign-out:before {\n content: \"\\F08B\"; }\n\n.fa-linkedin-square:before {\n content: \"\\F08C\"; }\n\n.fa-thumb-tack:before {\n content: \"\\F08D\"; }\n\n.fa-external-link:before {\n content: \"\\F08E\"; }\n\n.fa-sign-in:before {\n content: \"\\F090\"; }\n\n.fa-trophy:before {\n content: \"\\F091\"; }\n\n.fa-github-square:before {\n content: \"\\F092\"; }\n\n.fa-upload:before {\n content: \"\\F093\"; }\n\n.fa-lemon-o:before {\n content: \"\\F094\"; }\n\n.fa-phone:before {\n content: \"\\F095\"; }\n\n.fa-square-o:before {\n content: \"\\F096\"; }\n\n.fa-bookmark-o:before {\n content: \"\\F097\"; }\n\n.fa-phone-square:before {\n content: \"\\F098\"; }\n\n.fa-twitter:before {\n content: \"\\F099\"; }\n\n.fa-facebook-f:before,\n.fa-facebook:before {\n content: \"\\F09A\"; }\n\n.fa-github:before {\n content: \"\\F09B\"; }\n\n.fa-unlock:before {\n content: \"\\F09C\"; }\n\n.fa-credit-card:before {\n content: \"\\F09D\"; }\n\n.fa-feed:before,\n.fa-rss:before {\n content: \"\\F09E\"; }\n\n.fa-hdd-o:before {\n content: \"\\F0A0\"; }\n\n.fa-bullhorn:before {\n content: \"\\F0A1\"; }\n\n.fa-bell:before {\n content: \"\\F0F3\"; }\n\n.fa-certificate:before {\n content: \"\\F0A3\"; }\n\n.fa-hand-o-right:before {\n content: \"\\F0A4\"; }\n\n.fa-hand-o-left:before {\n content: \"\\F0A5\"; }\n\n.fa-hand-o-up:before {\n content: \"\\F0A6\"; }\n\n.fa-hand-o-down:before {\n content: \"\\F0A7\"; }\n\n.fa-arrow-circle-left:before {\n content: \"\\F0A8\"; }\n\n.fa-arrow-circle-right:before {\n content: \"\\F0A9\"; }\n\n.fa-arrow-circle-up:before {\n content: \"\\F0AA\"; }\n\n.fa-arrow-circle-down:before {\n content: \"\\F0AB\"; }\n\n.fa-globe:before {\n content: \"\\F0AC\"; }\n\n.fa-wrench:before {\n content: \"\\F0AD\"; }\n\n.fa-tasks:before {\n content: \"\\F0AE\"; }\n\n.fa-filter:before {\n content: \"\\F0B0\"; }\n\n.fa-briefcase:before {\n content: \"\\F0B1\"; }\n\n.fa-arrows-alt:before {\n content: \"\\F0B2\"; }\n\n.fa-group:before,\n.fa-users:before {\n content: \"\\F0C0\"; }\n\n.fa-chain:before,\n.fa-link:before {\n content: \"\\F0C1\"; }\n\n.fa-cloud:before {\n content: \"\\F0C2\"; }\n\n.fa-flask:before {\n content: \"\\F0C3\"; }\n\n.fa-cut:before,\n.fa-scissors:before {\n content: \"\\F0C4\"; }\n\n.fa-copy:before,\n.fa-files-o:before {\n content: \"\\F0C5\"; }\n\n.fa-paperclip:before {\n content: \"\\F0C6\"; }\n\n.fa-save:before,\n.fa-floppy-o:before {\n content: \"\\F0C7\"; }\n\n.fa-square:before {\n content: \"\\F0C8\"; }\n\n.fa-navicon:before,\n.fa-reorder:before,\n.fa-bars:before {\n content: \"\\F0C9\"; }\n\n.fa-list-ul:before {\n content: \"\\F0CA\"; }\n\n.fa-list-ol:before {\n content: \"\\F0CB\"; }\n\n.fa-strikethrough:before {\n content: \"\\F0CC\"; }\n\n.fa-underline:before {\n content: \"\\F0CD\"; }\n\n.fa-table:before {\n content: \"\\F0CE\"; }\n\n.fa-magic:before {\n content: \"\\F0D0\"; }\n\n.fa-truck:before {\n content: \"\\F0D1\"; }\n\n.fa-pinterest:before {\n content: \"\\F0D2\"; }\n\n.fa-pinterest-square:before {\n content: \"\\F0D3\"; }\n\n.fa-google-plus-square:before {\n content: \"\\F0D4\"; }\n\n.fa-google-plus:before {\n content: \"\\F0D5\"; }\n\n.fa-money:before {\n content: \"\\F0D6\"; }\n\n.fa-caret-down:before {\n content: \"\\F0D7\"; }\n\n.fa-caret-up:before {\n content: \"\\F0D8\"; }\n\n.fa-caret-left:before {\n content: \"\\F0D9\"; }\n\n.fa-caret-right:before {\n content: \"\\F0DA\"; }\n\n.fa-columns:before {\n content: \"\\F0DB\"; }\n\n.fa-unsorted:before,\n.fa-sort:before {\n content: \"\\F0DC\"; }\n\n.fa-sort-down:before,\n.fa-sort-desc:before {\n content: \"\\F0DD\"; }\n\n.fa-sort-up:before,\n.fa-sort-asc:before {\n content: \"\\F0DE\"; }\n\n.fa-envelope:before {\n content: \"\\F0E0\"; }\n\n.fa-linkedin:before {\n content: \"\\F0E1\"; }\n\n.fa-rotate-left:before,\n.fa-undo:before {\n content: \"\\F0E2\"; }\n\n.fa-legal:before,\n.fa-gavel:before {\n content: \"\\F0E3\"; }\n\n.fa-dashboard:before,\n.fa-tachometer:before {\n content: \"\\F0E4\"; }\n\n.fa-comment-o:before {\n content: \"\\F0E5\"; }\n\n.fa-comments-o:before {\n content: \"\\F0E6\"; }\n\n.fa-flash:before,\n.fa-bolt:before {\n content: \"\\F0E7\"; }\n\n.fa-sitemap:before {\n content: \"\\F0E8\"; }\n\n.fa-umbrella:before {\n content: \"\\F0E9\"; }\n\n.fa-paste:before,\n.fa-clipboard:before {\n content: \"\\F0EA\"; }\n\n.fa-lightbulb-o:before {\n content: \"\\F0EB\"; }\n\n.fa-exchange:before {\n content: \"\\F0EC\"; }\n\n.fa-cloud-download:before {\n content: \"\\F0ED\"; }\n\n.fa-cloud-upload:before {\n content: \"\\F0EE\"; }\n\n.fa-user-md:before {\n content: \"\\F0F0\"; }\n\n.fa-stethoscope:before {\n content: \"\\F0F1\"; }\n\n.fa-suitcase:before {\n content: \"\\F0F2\"; }\n\n.fa-bell-o:before {\n content: \"\\F0A2\"; }\n\n.fa-coffee:before {\n content: \"\\F0F4\"; }\n\n.fa-cutlery:before {\n content: \"\\F0F5\"; }\n\n.fa-file-text-o:before {\n content: \"\\F0F6\"; }\n\n.fa-building-o:before {\n content: \"\\F0F7\"; }\n\n.fa-hospital-o:before {\n content: \"\\F0F8\"; }\n\n.fa-ambulance:before {\n content: \"\\F0F9\"; }\n\n.fa-medkit:before {\n content: \"\\F0FA\"; }\n\n.fa-fighter-jet:before {\n content: \"\\F0FB\"; }\n\n.fa-beer:before {\n content: \"\\F0FC\"; }\n\n.fa-h-square:before {\n content: \"\\F0FD\"; }\n\n.fa-plus-square:before {\n content: \"\\F0FE\"; }\n\n.fa-angle-double-left:before {\n content: \"\\F100\"; }\n\n.fa-angle-double-right:before {\n content: \"\\F101\"; }\n\n.fa-angle-double-up:before {\n content: \"\\F102\"; }\n\n.fa-angle-double-down:before {\n content: \"\\F103\"; }\n\n.fa-angle-left:before {\n content: \"\\F104\"; }\n\n.fa-angle-right:before {\n content: \"\\F105\"; }\n\n.fa-angle-up:before {\n content: \"\\F106\"; }\n\n.fa-angle-down:before {\n content: \"\\F107\"; }\n\n.fa-desktop:before {\n content: \"\\F108\"; }\n\n.fa-laptop:before {\n content: \"\\F109\"; }\n\n.fa-tablet:before {\n content: \"\\F10A\"; }\n\n.fa-mobile-phone:before,\n.fa-mobile:before {\n content: \"\\F10B\"; }\n\n.fa-circle-o:before {\n content: \"\\F10C\"; }\n\n.fa-quote-left:before {\n content: \"\\F10D\"; }\n\n.fa-quote-right:before {\n content: \"\\F10E\"; }\n\n.fa-spinner:before {\n content: \"\\F110\"; }\n\n.fa-circle:before {\n content: \"\\F111\"; }\n\n.fa-mail-reply:before,\n.fa-reply:before {\n content: \"\\F112\"; }\n\n.fa-github-alt:before {\n content: \"\\F113\"; }\n\n.fa-folder-o:before {\n content: \"\\F114\"; }\n\n.fa-folder-open-o:before {\n content: \"\\F115\"; }\n\n.fa-smile-o:before {\n content: \"\\F118\"; }\n\n.fa-frown-o:before {\n content: \"\\F119\"; }\n\n.fa-meh-o:before {\n content: \"\\F11A\"; }\n\n.fa-gamepad:before {\n content: \"\\F11B\"; }\n\n.fa-keyboard-o:before {\n content: \"\\F11C\"; }\n\n.fa-flag-o:before {\n content: \"\\F11D\"; }\n\n.fa-flag-checkered:before {\n content: \"\\F11E\"; }\n\n.fa-terminal:before {\n content: \"\\F120\"; }\n\n.fa-code:before {\n content: \"\\F121\"; }\n\n.fa-mail-reply-all:before,\n.fa-reply-all:before {\n content: \"\\F122\"; }\n\n.fa-star-half-empty:before,\n.fa-star-half-full:before,\n.fa-star-half-o:before {\n content: \"\\F123\"; }\n\n.fa-location-arrow:before {\n content: \"\\F124\"; }\n\n.fa-crop:before {\n content: \"\\F125\"; }\n\n.fa-code-fork:before {\n content: \"\\F126\"; }\n\n.fa-unlink:before,\n.fa-chain-broken:before {\n content: \"\\F127\"; }\n\n.fa-question:before {\n content: \"\\F128\"; }\n\n.fa-info:before {\n content: \"\\F129\"; }\n\n.fa-exclamation:before {\n content: \"\\F12A\"; }\n\n.fa-superscript:before {\n content: \"\\F12B\"; }\n\n.fa-subscript:before {\n content: \"\\F12C\"; }\n\n.fa-eraser:before {\n content: \"\\F12D\"; }\n\n.fa-puzzle-piece:before {\n content: \"\\F12E\"; }\n\n.fa-microphone:before {\n content: \"\\F130\"; }\n\n.fa-microphone-slash:before {\n content: \"\\F131\"; }\n\n.fa-shield:before {\n content: \"\\F132\"; }\n\n.fa-calendar-o:before {\n content: \"\\F133\"; }\n\n.fa-fire-extinguisher:before {\n content: \"\\F134\"; }\n\n.fa-rocket:before {\n content: \"\\F135\"; }\n\n.fa-maxcdn:before {\n content: \"\\F136\"; }\n\n.fa-chevron-circle-left:before {\n content: \"\\F137\"; }\n\n.fa-chevron-circle-right:before {\n content: \"\\F138\"; }\n\n.fa-chevron-circle-up:before {\n content: \"\\F139\"; }\n\n.fa-chevron-circle-down:before {\n content: \"\\F13A\"; }\n\n.fa-html5:before {\n content: \"\\F13B\"; }\n\n.fa-css3:before {\n content: \"\\F13C\"; }\n\n.fa-anchor:before {\n content: \"\\F13D\"; }\n\n.fa-unlock-alt:before {\n content: \"\\F13E\"; }\n\n.fa-bullseye:before {\n content: \"\\F140\"; }\n\n.fa-ellipsis-h:before {\n content: \"\\F141\"; }\n\n.fa-ellipsis-v:before {\n content: \"\\F142\"; }\n\n.fa-rss-square:before {\n content: \"\\F143\"; }\n\n.fa-play-circle:before {\n content: \"\\F144\"; }\n\n.fa-ticket:before {\n content: \"\\F145\"; }\n\n.fa-minus-square:before {\n content: \"\\F146\"; }\n\n.fa-minus-square-o:before {\n content: \"\\F147\"; }\n\n.fa-level-up:before {\n content: \"\\F148\"; }\n\n.fa-level-down:before {\n content: \"\\F149\"; }\n\n.fa-check-square:before {\n content: \"\\F14A\"; }\n\n.fa-pencil-square:before {\n content: \"\\F14B\"; }\n\n.fa-external-link-square:before {\n content: \"\\F14C\"; }\n\n.fa-share-square:before {\n content: \"\\F14D\"; }\n\n.fa-compass:before {\n content: \"\\F14E\"; }\n\n.fa-toggle-down:before,\n.fa-caret-square-o-down:before {\n content: \"\\F150\"; }\n\n.fa-toggle-up:before,\n.fa-caret-square-o-up:before {\n content: \"\\F151\"; }\n\n.fa-toggle-right:before,\n.fa-caret-square-o-right:before {\n content: \"\\F152\"; }\n\n.fa-euro:before,\n.fa-eur:before {\n content: \"\\F153\"; }\n\n.fa-gbp:before {\n content: \"\\F154\"; }\n\n.fa-dollar:before,\n.fa-usd:before {\n content: \"\\F155\"; }\n\n.fa-rupee:before,\n.fa-inr:before {\n content: \"\\F156\"; }\n\n.fa-cny:before,\n.fa-rmb:before,\n.fa-yen:before,\n.fa-jpy:before {\n content: \"\\F157\"; }\n\n.fa-ruble:before,\n.fa-rouble:before,\n.fa-rub:before {\n content: \"\\F158\"; }\n\n.fa-won:before,\n.fa-krw:before {\n content: \"\\F159\"; }\n\n.fa-bitcoin:before,\n.fa-btc:before {\n content: \"\\F15A\"; }\n\n.fa-file:before {\n content: \"\\F15B\"; }\n\n.fa-file-text:before {\n content: \"\\F15C\"; }\n\n.fa-sort-alpha-asc:before {\n content: \"\\F15D\"; }\n\n.fa-sort-alpha-desc:before {\n content: \"\\F15E\"; }\n\n.fa-sort-amount-asc:before {\n content: \"\\F160\"; }\n\n.fa-sort-amount-desc:before {\n content: \"\\F161\"; }\n\n.fa-sort-numeric-asc:before {\n content: \"\\F162\"; }\n\n.fa-sort-numeric-desc:before {\n content: \"\\F163\"; }\n\n.fa-thumbs-up:before {\n content: \"\\F164\"; }\n\n.fa-thumbs-down:before {\n content: \"\\F165\"; }\n\n.fa-youtube-square:before {\n content: \"\\F166\"; }\n\n.fa-youtube:before {\n content: \"\\F167\"; }\n\n.fa-xing:before {\n content: \"\\F168\"; }\n\n.fa-xing-square:before {\n content: \"\\F169\"; }\n\n.fa-youtube-play:before {\n content: \"\\F16A\"; }\n\n.fa-dropbox:before {\n content: \"\\F16B\"; }\n\n.fa-stack-overflow:before {\n content: \"\\F16C\"; }\n\n.fa-instagram:before {\n content: \"\\F16D\"; }\n\n.fa-flickr:before {\n content: \"\\F16E\"; }\n\n.fa-adn:before {\n content: \"\\F170\"; }\n\n.fa-bitbucket:before {\n content: \"\\F171\"; }\n\n.fa-bitbucket-square:before {\n content: \"\\F172\"; }\n\n.fa-tumblr:before {\n content: \"\\F173\"; }\n\n.fa-tumblr-square:before {\n content: \"\\F174\"; }\n\n.fa-long-arrow-down:before {\n content: \"\\F175\"; }\n\n.fa-long-arrow-up:before {\n content: \"\\F176\"; }\n\n.fa-long-arrow-left:before {\n content: \"\\F177\"; }\n\n.fa-long-arrow-right:before {\n content: \"\\F178\"; }\n\n.fa-apple:before {\n content: \"\\F179\"; }\n\n.fa-windows:before {\n content: \"\\F17A\"; }\n\n.fa-android:before {\n content: \"\\F17B\"; }\n\n.fa-linux:before {\n content: \"\\F17C\"; }\n\n.fa-dribbble:before {\n content: \"\\F17D\"; }\n\n.fa-skype:before {\n content: \"\\F17E\"; }\n\n.fa-foursquare:before {\n content: \"\\F180\"; }\n\n.fa-trello:before {\n content: \"\\F181\"; }\n\n.fa-female:before {\n content: \"\\F182\"; }\n\n.fa-male:before {\n content: \"\\F183\"; }\n\n.fa-gittip:before,\n.fa-gratipay:before {\n content: \"\\F184\"; }\n\n.fa-sun-o:before {\n content: \"\\F185\"; }\n\n.fa-moon-o:before {\n content: \"\\F186\"; }\n\n.fa-archive:before {\n content: \"\\F187\"; }\n\n.fa-bug:before {\n content: \"\\F188\"; }\n\n.fa-vk:before {\n content: \"\\F189\"; }\n\n.fa-weibo:before {\n content: \"\\F18A\"; }\n\n.fa-renren:before {\n content: \"\\F18B\"; }\n\n.fa-pagelines:before {\n content: \"\\F18C\"; }\n\n.fa-stack-exchange:before {\n content: \"\\F18D\"; }\n\n.fa-arrow-circle-o-right:before {\n content: \"\\F18E\"; }\n\n.fa-arrow-circle-o-left:before {\n content: \"\\F190\"; }\n\n.fa-toggle-left:before,\n.fa-caret-square-o-left:before {\n content: \"\\F191\"; }\n\n.fa-dot-circle-o:before {\n content: \"\\F192\"; }\n\n.fa-wheelchair:before {\n content: \"\\F193\"; }\n\n.fa-vimeo-square:before {\n content: \"\\F194\"; }\n\n.fa-turkish-lira:before,\n.fa-try:before {\n content: \"\\F195\"; }\n\n.fa-plus-square-o:before {\n content: \"\\F196\"; }\n\n.fa-space-shuttle:before {\n content: \"\\F197\"; }\n\n.fa-slack:before {\n content: \"\\F198\"; }\n\n.fa-envelope-square:before {\n content: \"\\F199\"; }\n\n.fa-wordpress:before {\n content: \"\\F19A\"; }\n\n.fa-openid:before {\n content: \"\\F19B\"; }\n\n.fa-institution:before,\n.fa-bank:before,\n.fa-university:before {\n content: \"\\F19C\"; }\n\n.fa-mortar-board:before,\n.fa-graduation-cap:before {\n content: \"\\F19D\"; }\n\n.fa-yahoo:before {\n content: \"\\F19E\"; }\n\n.fa-google:before {\n content: \"\\F1A0\"; }\n\n.fa-reddit:before {\n content: \"\\F1A1\"; }\n\n.fa-reddit-square:before {\n content: \"\\F1A2\"; }\n\n.fa-stumbleupon-circle:before {\n content: \"\\F1A3\"; }\n\n.fa-stumbleupon:before {\n content: \"\\F1A4\"; }\n\n.fa-delicious:before {\n content: \"\\F1A5\"; }\n\n.fa-digg:before {\n content: \"\\F1A6\"; }\n\n.fa-pied-piper-pp:before {\n content: \"\\F1A7\"; }\n\n.fa-pied-piper-alt:before {\n content: \"\\F1A8\"; }\n\n.fa-drupal:before {\n content: \"\\F1A9\"; }\n\n.fa-joomla:before {\n content: \"\\F1AA\"; }\n\n.fa-language:before {\n content: \"\\F1AB\"; }\n\n.fa-fax:before {\n content: \"\\F1AC\"; }\n\n.fa-building:before {\n content: \"\\F1AD\"; }\n\n.fa-child:before {\n content: \"\\F1AE\"; }\n\n.fa-paw:before {\n content: \"\\F1B0\"; }\n\n.fa-spoon:before {\n content: \"\\F1B1\"; }\n\n.fa-cube:before {\n content: \"\\F1B2\"; }\n\n.fa-cubes:before {\n content: \"\\F1B3\"; }\n\n.fa-behance:before {\n content: \"\\F1B4\"; }\n\n.fa-behance-square:before {\n content: \"\\F1B5\"; }\n\n.fa-steam:before {\n content: \"\\F1B6\"; }\n\n.fa-steam-square:before {\n content: \"\\F1B7\"; }\n\n.fa-recycle:before {\n content: \"\\F1B8\"; }\n\n.fa-automobile:before,\n.fa-car:before {\n content: \"\\F1B9\"; }\n\n.fa-cab:before,\n.fa-taxi:before {\n content: \"\\F1BA\"; }\n\n.fa-tree:before {\n content: \"\\F1BB\"; }\n\n.fa-spotify:before {\n content: \"\\F1BC\"; }\n\n.fa-deviantart:before {\n content: \"\\F1BD\"; }\n\n.fa-soundcloud:before {\n content: \"\\F1BE\"; }\n\n.fa-database:before {\n content: \"\\F1C0\"; }\n\n.fa-file-pdf-o:before {\n content: \"\\F1C1\"; }\n\n.fa-file-word-o:before {\n content: \"\\F1C2\"; }\n\n.fa-file-excel-o:before {\n content: \"\\F1C3\"; }\n\n.fa-file-powerpoint-o:before {\n content: \"\\F1C4\"; }\n\n.fa-file-photo-o:before,\n.fa-file-picture-o:before,\n.fa-file-image-o:before {\n content: \"\\F1C5\"; }\n\n.fa-file-zip-o:before,\n.fa-file-archive-o:before {\n content: \"\\F1C6\"; }\n\n.fa-file-sound-o:before,\n.fa-file-audio-o:before {\n content: \"\\F1C7\"; }\n\n.fa-file-movie-o:before,\n.fa-file-video-o:before {\n content: \"\\F1C8\"; }\n\n.fa-file-code-o:before {\n content: \"\\F1C9\"; }\n\n.fa-vine:before {\n content: \"\\F1CA\"; }\n\n.fa-codepen:before {\n content: \"\\F1CB\"; }\n\n.fa-jsfiddle:before {\n content: \"\\F1CC\"; }\n\n.fa-life-bouy:before,\n.fa-life-buoy:before,\n.fa-life-saver:before,\n.fa-support:before,\n.fa-life-ring:before {\n content: \"\\F1CD\"; }\n\n.fa-circle-o-notch:before {\n content: \"\\F1CE\"; }\n\n.fa-ra:before,\n.fa-resistance:before,\n.fa-rebel:before {\n content: \"\\F1D0\"; }\n\n.fa-ge:before,\n.fa-empire:before {\n content: \"\\F1D1\"; }\n\n.fa-git-square:before {\n content: \"\\F1D2\"; }\n\n.fa-git:before {\n content: \"\\F1D3\"; }\n\n.fa-y-combinator-square:before,\n.fa-yc-square:before,\n.fa-hacker-news:before {\n content: \"\\F1D4\"; }\n\n.fa-tencent-weibo:before {\n content: \"\\F1D5\"; }\n\n.fa-qq:before {\n content: \"\\F1D6\"; }\n\n.fa-wechat:before,\n.fa-weixin:before {\n content: \"\\F1D7\"; }\n\n.fa-send:before,\n.fa-paper-plane:before {\n content: \"\\F1D8\"; }\n\n.fa-send-o:before,\n.fa-paper-plane-o:before {\n content: \"\\F1D9\"; }\n\n.fa-history:before {\n content: \"\\F1DA\"; }\n\n.fa-circle-thin:before {\n content: \"\\F1DB\"; }\n\n.fa-header:before {\n content: \"\\F1DC\"; }\n\n.fa-paragraph:before {\n content: \"\\F1DD\"; }\n\n.fa-sliders:before {\n content: \"\\F1DE\"; }\n\n.fa-share-alt:before {\n content: \"\\F1E0\"; }\n\n.fa-share-alt-square:before {\n content: \"\\F1E1\"; }\n\n.fa-bomb:before {\n content: \"\\F1E2\"; }\n\n.fa-soccer-ball-o:before,\n.fa-futbol-o:before {\n content: \"\\F1E3\"; }\n\n.fa-tty:before {\n content: \"\\F1E4\"; }\n\n.fa-binoculars:before {\n content: \"\\F1E5\"; }\n\n.fa-plug:before {\n content: \"\\F1E6\"; }\n\n.fa-slideshare:before {\n content: \"\\F1E7\"; }\n\n.fa-twitch:before {\n content: \"\\F1E8\"; }\n\n.fa-yelp:before {\n content: \"\\F1E9\"; }\n\n.fa-newspaper-o:before {\n content: \"\\F1EA\"; }\n\n.fa-wifi:before {\n content: \"\\F1EB\"; }\n\n.fa-calculator:before {\n content: \"\\F1EC\"; }\n\n.fa-paypal:before {\n content: \"\\F1ED\"; }\n\n.fa-google-wallet:before {\n content: \"\\F1EE\"; }\n\n.fa-cc-visa:before {\n content: \"\\F1F0\"; }\n\n.fa-cc-mastercard:before {\n content: \"\\F1F1\"; }\n\n.fa-cc-discover:before {\n content: \"\\F1F2\"; }\n\n.fa-cc-amex:before {\n content: \"\\F1F3\"; }\n\n.fa-cc-paypal:before {\n content: \"\\F1F4\"; }\n\n.fa-cc-stripe:before {\n content: \"\\F1F5\"; }\n\n.fa-bell-slash:before {\n content: \"\\F1F6\"; }\n\n.fa-bell-slash-o:before {\n content: \"\\F1F7\"; }\n\n.fa-trash:before {\n content: \"\\F1F8\"; }\n\n.fa-copyright:before {\n content: \"\\F1F9\"; }\n\n.fa-at:before {\n content: \"\\F1FA\"; }\n\n.fa-eyedropper:before {\n content: \"\\F1FB\"; }\n\n.fa-paint-brush:before {\n content: \"\\F1FC\"; }\n\n.fa-birthday-cake:before {\n content: \"\\F1FD\"; }\n\n.fa-area-chart:before {\n content: \"\\F1FE\"; }\n\n.fa-pie-chart:before {\n content: \"\\F200\"; }\n\n.fa-line-chart:before {\n content: \"\\F201\"; }\n\n.fa-lastfm:before {\n content: \"\\F202\"; }\n\n.fa-lastfm-square:before {\n content: \"\\F203\"; }\n\n.fa-toggle-off:before {\n content: \"\\F204\"; }\n\n.fa-toggle-on:before {\n content: \"\\F205\"; }\n\n.fa-bicycle:before {\n content: \"\\F206\"; }\n\n.fa-bus:before {\n content: \"\\F207\"; }\n\n.fa-ioxhost:before {\n content: \"\\F208\"; }\n\n.fa-angellist:before {\n content: \"\\F209\"; }\n\n.fa-cc:before {\n content: \"\\F20A\"; }\n\n.fa-shekel:before,\n.fa-sheqel:before,\n.fa-ils:before {\n content: \"\\F20B\"; }\n\n.fa-meanpath:before {\n content: \"\\F20C\"; }\n\n.fa-buysellads:before {\n content: \"\\F20D\"; }\n\n.fa-connectdevelop:before {\n content: \"\\F20E\"; }\n\n.fa-dashcube:before {\n content: \"\\F210\"; }\n\n.fa-forumbee:before {\n content: \"\\F211\"; }\n\n.fa-leanpub:before {\n content: \"\\F212\"; }\n\n.fa-sellsy:before {\n content: \"\\F213\"; }\n\n.fa-shirtsinbulk:before {\n content: \"\\F214\"; }\n\n.fa-simplybuilt:before {\n content: \"\\F215\"; }\n\n.fa-skyatlas:before {\n content: \"\\F216\"; }\n\n.fa-cart-plus:before {\n content: \"\\F217\"; }\n\n.fa-cart-arrow-down:before {\n content: \"\\F218\"; }\n\n.fa-diamond:before {\n content: \"\\F219\"; }\n\n.fa-ship:before {\n content: \"\\F21A\"; }\n\n.fa-user-secret:before {\n content: \"\\F21B\"; }\n\n.fa-motorcycle:before {\n content: \"\\F21C\"; }\n\n.fa-street-view:before {\n content: \"\\F21D\"; }\n\n.fa-heartbeat:before {\n content: \"\\F21E\"; }\n\n.fa-venus:before {\n content: \"\\F221\"; }\n\n.fa-mars:before {\n content: \"\\F222\"; }\n\n.fa-mercury:before {\n content: \"\\F223\"; }\n\n.fa-intersex:before,\n.fa-transgender:before {\n content: \"\\F224\"; }\n\n.fa-transgender-alt:before {\n content: \"\\F225\"; }\n\n.fa-venus-double:before {\n content: \"\\F226\"; }\n\n.fa-mars-double:before {\n content: \"\\F227\"; }\n\n.fa-venus-mars:before {\n content: \"\\F228\"; }\n\n.fa-mars-stroke:before {\n content: \"\\F229\"; }\n\n.fa-mars-stroke-v:before {\n content: \"\\F22A\"; }\n\n.fa-mars-stroke-h:before {\n content: \"\\F22B\"; }\n\n.fa-neuter:before {\n content: \"\\F22C\"; }\n\n.fa-genderless:before {\n content: \"\\F22D\"; }\n\n.fa-facebook-official:before {\n content: \"\\F230\"; }\n\n.fa-pinterest-p:before {\n content: \"\\F231\"; }\n\n.fa-whatsapp:before {\n content: \"\\F232\"; }\n\n.fa-server:before {\n content: \"\\F233\"; }\n\n.fa-user-plus:before {\n content: \"\\F234\"; }\n\n.fa-user-times:before {\n content: \"\\F235\"; }\n\n.fa-hotel:before,\n.fa-bed:before {\n content: \"\\F236\"; }\n\n.fa-viacoin:before {\n content: \"\\F237\"; }\n\n.fa-train:before {\n content: \"\\F238\"; }\n\n.fa-subway:before {\n content: \"\\F239\"; }\n\n.fa-medium:before {\n content: \"\\F23A\"; }\n\n.fa-yc:before,\n.fa-y-combinator:before {\n content: \"\\F23B\"; }\n\n.fa-optin-monster:before {\n content: \"\\F23C\"; }\n\n.fa-opencart:before {\n content: \"\\F23D\"; }\n\n.fa-expeditedssl:before {\n content: \"\\F23E\"; }\n\n.fa-battery-4:before,\n.fa-battery:before,\n.fa-battery-full:before {\n content: \"\\F240\"; }\n\n.fa-battery-3:before,\n.fa-battery-three-quarters:before {\n content: \"\\F241\"; }\n\n.fa-battery-2:before,\n.fa-battery-half:before {\n content: \"\\F242\"; }\n\n.fa-battery-1:before,\n.fa-battery-quarter:before {\n content: \"\\F243\"; }\n\n.fa-battery-0:before,\n.fa-battery-empty:before {\n content: \"\\F244\"; }\n\n.fa-mouse-pointer:before {\n content: \"\\F245\"; }\n\n.fa-i-cursor:before {\n content: \"\\F246\"; }\n\n.fa-object-group:before {\n content: \"\\F247\"; }\n\n.fa-object-ungroup:before {\n content: \"\\F248\"; }\n\n.fa-sticky-note:before {\n content: \"\\F249\"; }\n\n.fa-sticky-note-o:before {\n content: \"\\F24A\"; }\n\n.fa-cc-jcb:before {\n content: \"\\F24B\"; }\n\n.fa-cc-diners-club:before {\n content: \"\\F24C\"; }\n\n.fa-clone:before {\n content: \"\\F24D\"; }\n\n.fa-balance-scale:before {\n content: \"\\F24E\"; }\n\n.fa-hourglass-o:before {\n content: \"\\F250\"; }\n\n.fa-hourglass-1:before,\n.fa-hourglass-start:before {\n content: \"\\F251\"; }\n\n.fa-hourglass-2:before,\n.fa-hourglass-half:before {\n content: \"\\F252\"; }\n\n.fa-hourglass-3:before,\n.fa-hourglass-end:before {\n content: \"\\F253\"; }\n\n.fa-hourglass:before {\n content: \"\\F254\"; }\n\n.fa-hand-grab-o:before,\n.fa-hand-rock-o:before {\n content: \"\\F255\"; }\n\n.fa-hand-stop-o:before,\n.fa-hand-paper-o:before {\n content: \"\\F256\"; }\n\n.fa-hand-scissors-o:before {\n content: \"\\F257\"; }\n\n.fa-hand-lizard-o:before {\n content: \"\\F258\"; }\n\n.fa-hand-spock-o:before {\n content: \"\\F259\"; }\n\n.fa-hand-pointer-o:before {\n content: \"\\F25A\"; }\n\n.fa-hand-peace-o:before {\n content: \"\\F25B\"; }\n\n.fa-trademark:before {\n content: \"\\F25C\"; }\n\n.fa-registered:before {\n content: \"\\F25D\"; }\n\n.fa-creative-commons:before {\n content: \"\\F25E\"; }\n\n.fa-gg:before {\n content: \"\\F260\"; }\n\n.fa-gg-circle:before {\n content: \"\\F261\"; }\n\n.fa-tripadvisor:before {\n content: \"\\F262\"; }\n\n.fa-odnoklassniki:before {\n content: \"\\F263\"; }\n\n.fa-odnoklassniki-square:before {\n content: \"\\F264\"; }\n\n.fa-get-pocket:before {\n content: \"\\F265\"; }\n\n.fa-wikipedia-w:before {\n content: \"\\F266\"; }\n\n.fa-safari:before {\n content: \"\\F267\"; }\n\n.fa-chrome:before {\n content: \"\\F268\"; }\n\n.fa-firefox:before {\n content: \"\\F269\"; }\n\n.fa-opera:before {\n content: \"\\F26A\"; }\n\n.fa-internet-explorer:before {\n content: \"\\F26B\"; }\n\n.fa-tv:before,\n.fa-television:before {\n content: \"\\F26C\"; }\n\n.fa-contao:before {\n content: \"\\F26D\"; }\n\n.fa-500px:before {\n content: \"\\F26E\"; }\n\n.fa-amazon:before {\n content: \"\\F270\"; }\n\n.fa-calendar-plus-o:before {\n content: \"\\F271\"; }\n\n.fa-calendar-minus-o:before {\n content: \"\\F272\"; }\n\n.fa-calendar-times-o:before {\n content: \"\\F273\"; }\n\n.fa-calendar-check-o:before {\n content: \"\\F274\"; }\n\n.fa-industry:before {\n content: \"\\F275\"; }\n\n.fa-map-pin:before {\n content: \"\\F276\"; }\n\n.fa-map-signs:before {\n content: \"\\F277\"; }\n\n.fa-map-o:before {\n content: \"\\F278\"; }\n\n.fa-map:before {\n content: \"\\F279\"; }\n\n.fa-commenting:before {\n content: \"\\F27A\"; }\n\n.fa-commenting-o:before {\n content: \"\\F27B\"; }\n\n.fa-houzz:before {\n content: \"\\F27C\"; }\n\n.fa-vimeo:before {\n content: \"\\F27D\"; }\n\n.fa-black-tie:before {\n content: \"\\F27E\"; }\n\n.fa-fonticons:before {\n content: \"\\F280\"; }\n\n.fa-reddit-alien:before {\n content: \"\\F281\"; }\n\n.fa-edge:before {\n content: \"\\F282\"; }\n\n.fa-credit-card-alt:before {\n content: \"\\F283\"; }\n\n.fa-codiepie:before {\n content: \"\\F284\"; }\n\n.fa-modx:before {\n content: \"\\F285\"; }\n\n.fa-fort-awesome:before {\n content: \"\\F286\"; }\n\n.fa-usb:before {\n content: \"\\F287\"; }\n\n.fa-product-hunt:before {\n content: \"\\F288\"; }\n\n.fa-mixcloud:before {\n content: \"\\F289\"; }\n\n.fa-scribd:before {\n content: \"\\F28A\"; }\n\n.fa-pause-circle:before {\n content: \"\\F28B\"; }\n\n.fa-pause-circle-o:before {\n content: \"\\F28C\"; }\n\n.fa-stop-circle:before {\n content: \"\\F28D\"; }\n\n.fa-stop-circle-o:before {\n content: \"\\F28E\"; }\n\n.fa-shopping-bag:before {\n content: \"\\F290\"; }\n\n.fa-shopping-basket:before {\n content: \"\\F291\"; }\n\n.fa-hashtag:before {\n content: \"\\F292\"; }\n\n.fa-bluetooth:before {\n content: \"\\F293\"; }\n\n.fa-bluetooth-b:before {\n content: \"\\F294\"; }\n\n.fa-percent:before {\n content: \"\\F295\"; }\n\n.fa-gitlab:before {\n content: \"\\F296\"; }\n\n.fa-wpbeginner:before {\n content: \"\\F297\"; }\n\n.fa-wpforms:before {\n content: \"\\F298\"; }\n\n.fa-envira:before {\n content: \"\\F299\"; }\n\n.fa-universal-access:before {\n content: \"\\F29A\"; }\n\n.fa-wheelchair-alt:before {\n content: \"\\F29B\"; }\n\n.fa-question-circle-o:before {\n content: \"\\F29C\"; }\n\n.fa-blind:before {\n content: \"\\F29D\"; }\n\n.fa-audio-description:before {\n content: \"\\F29E\"; }\n\n.fa-volume-control-phone:before {\n content: \"\\F2A0\"; }\n\n.fa-braille:before {\n content: \"\\F2A1\"; }\n\n.fa-assistive-listening-systems:before {\n content: \"\\F2A2\"; }\n\n.fa-asl-interpreting:before,\n.fa-american-sign-language-interpreting:before {\n content: \"\\F2A3\"; }\n\n.fa-deafness:before,\n.fa-hard-of-hearing:before,\n.fa-deaf:before {\n content: \"\\F2A4\"; }\n\n.fa-glide:before {\n content: \"\\F2A5\"; }\n\n.fa-glide-g:before {\n content: \"\\F2A6\"; }\n\n.fa-signing:before,\n.fa-sign-language:before {\n content: \"\\F2A7\"; }\n\n.fa-low-vision:before {\n content: \"\\F2A8\"; }\n\n.fa-viadeo:before {\n content: \"\\F2A9\"; }\n\n.fa-viadeo-square:before {\n content: \"\\F2AA\"; }\n\n.fa-snapchat:before {\n content: \"\\F2AB\"; }\n\n.fa-snapchat-ghost:before {\n content: \"\\F2AC\"; }\n\n.fa-snapchat-square:before {\n content: \"\\F2AD\"; }\n\n.fa-pied-piper:before {\n content: \"\\F2AE\"; }\n\n.fa-first-order:before {\n content: \"\\F2B0\"; }\n\n.fa-yoast:before {\n content: \"\\F2B1\"; }\n\n.fa-themeisle:before {\n content: \"\\F2B2\"; }\n\n.fa-google-plus-circle:before,\n.fa-google-plus-official:before {\n content: \"\\F2B3\"; }\n\n.fa-fa:before,\n.fa-font-awesome:before {\n content: \"\\F2B4\"; }\n\n.fa-handshake-o:before {\n content: \"\\F2B5\"; }\n\n.fa-envelope-open:before {\n content: \"\\F2B6\"; }\n\n.fa-envelope-open-o:before {\n content: \"\\F2B7\"; }\n\n.fa-linode:before {\n content: \"\\F2B8\"; }\n\n.fa-address-book:before {\n content: \"\\F2B9\"; }\n\n.fa-address-book-o:before {\n content: \"\\F2BA\"; }\n\n.fa-vcard:before,\n.fa-address-card:before {\n content: \"\\F2BB\"; }\n\n.fa-vcard-o:before,\n.fa-address-card-o:before {\n content: \"\\F2BC\"; }\n\n.fa-user-circle:before {\n content: \"\\F2BD\"; }\n\n.fa-user-circle-o:before {\n content: \"\\F2BE\"; }\n\n.fa-user-o:before {\n content: \"\\F2C0\"; }\n\n.fa-id-badge:before {\n content: \"\\F2C1\"; }\n\n.fa-drivers-license:before,\n.fa-id-card:before {\n content: \"\\F2C2\"; }\n\n.fa-drivers-license-o:before,\n.fa-id-card-o:before {\n content: \"\\F2C3\"; }\n\n.fa-quora:before {\n content: \"\\F2C4\"; }\n\n.fa-free-code-camp:before {\n content: \"\\F2C5\"; }\n\n.fa-telegram:before {\n content: \"\\F2C6\"; }\n\n.fa-thermometer-4:before,\n.fa-thermometer:before,\n.fa-thermometer-full:before {\n content: \"\\F2C7\"; }\n\n.fa-thermometer-3:before,\n.fa-thermometer-three-quarters:before {\n content: \"\\F2C8\"; }\n\n.fa-thermometer-2:before,\n.fa-thermometer-half:before {\n content: \"\\F2C9\"; }\n\n.fa-thermometer-1:before,\n.fa-thermometer-quarter:before {\n content: \"\\F2CA\"; }\n\n.fa-thermometer-0:before,\n.fa-thermometer-empty:before {\n content: \"\\F2CB\"; }\n\n.fa-shower:before {\n content: \"\\F2CC\"; }\n\n.fa-bathtub:before,\n.fa-s15:before,\n.fa-bath:before {\n content: \"\\F2CD\"; }\n\n.fa-podcast:before {\n content: \"\\F2CE\"; }\n\n.fa-window-maximize:before {\n content: \"\\F2D0\"; }\n\n.fa-window-minimize:before {\n content: \"\\F2D1\"; }\n\n.fa-window-restore:before {\n content: \"\\F2D2\"; }\n\n.fa-times-rectangle:before,\n.fa-window-close:before {\n content: \"\\F2D3\"; }\n\n.fa-times-rectangle-o:before,\n.fa-window-close-o:before {\n content: \"\\F2D4\"; }\n\n.fa-bandcamp:before {\n content: \"\\F2D5\"; }\n\n.fa-grav:before {\n content: \"\\F2D6\"; }\n\n.fa-etsy:before {\n content: \"\\F2D7\"; }\n\n.fa-imdb:before {\n content: \"\\F2D8\"; }\n\n.fa-ravelry:before {\n content: \"\\F2D9\"; }\n\n.fa-eercast:before {\n content: \"\\F2DA\"; }\n\n.fa-microchip:before {\n content: \"\\F2DB\"; }\n\n.fa-snowflake-o:before {\n content: \"\\F2DC\"; }\n\n.fa-superpowers:before {\n content: \"\\F2DD\"; }\n\n.fa-wpexplorer:before {\n content: \"\\F2DE\"; }\n\n.fa-meetup:before {\n content: \"\\F2E0\"; }\n\n.sr-only, .table.table-list tr:not(:hover) td.table-list-options > .dropdown:not(.show) button:not(:focus):not(:active), .table.table-list tr:not(:hover) td.table-list-options > button:not(:focus):not(:active) {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0; }\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto; }\n\n.toaster-icon {\n position: absolute;\n left: 0.0em;\n top: 0.0em;\n font-weight: normal;\n color: #ffffff; }\n\n.toast-title {\n font-weight: bold; }\n\n.toast-message {\n -ms-word-wrap: break-word;\n word-wrap: break-word; }\n\n.toast-message a,\n.toast-message label {\n color: #ffffff; }\n\n.toast-message a:hover {\n color: #cccccc;\n text-decoration: none; }\n\n.toast-close-button {\n position: relative;\n right: -0.3em;\n top: -0.3em;\n float: right;\n font-size: 20px;\n font-weight: bold;\n color: #ffffff;\n -webkit-text-shadow: 0 1px 0 #ffffff;\n text-shadow: 0 1px 0 #ffffff;\n opacity: 0.8;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);\n filter: alpha(opacity=80);\n z-index: 999; }\n\n.toast-close-button:hover, .toast-close-button:focus {\n color: #000000;\n text-decoration: none;\n cursor: pointer;\n opacity: 0.4;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);\n filter: alpha(opacity=40); }\n\n/*Additional properties for button version\n iOS requires the button element instead of an anchor tag.\n If you want the anchor version, it requires `href=\"#\"`.*/\nbutton.toast-close-button {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none; }\n\n.toast-content {\n display: inline-block;\n width: 95%; }\n\n.toast-top-full-width {\n top: 0;\n right: 0;\n width: 100%; }\n\n.toast-bottom-full-width {\n bottom: 0;\n right: 0;\n width: 100%; }\n\n.toast-top-left {\n top: 12px;\n left: 12px; }\n\n.toast-top-center {\n top: 12px; }\n\n.toast-top-right {\n top: 12px;\n right: 12px; }\n\n.toast-bottom-right {\n right: 12px;\n bottom: 12px; }\n\n.toast-bottom-center {\n bottom: 12px; }\n\n.toast-bottom-left {\n bottom: 12px;\n left: 12px; }\n\n.toast-center {\n top: 45%; }\n\n#toast-container {\n position: fixed;\n z-index: 999999;\n /*overrides*/\n pointer-events: auto; }\n\n#toast-container.toast-center,\n#toast-container.toast-top-center,\n#toast-container.toast-bottom-center {\n width: 100%;\n pointer-events: none;\n left: 0;\n right: 0; }\n\n#toast-container.toast-center > div,\n#toast-container.toast-top-center > div,\n#toast-container.toast-bottom-center > div {\n margin: 6px auto;\n pointer-events: auto; }\n\n#toast-container.toast-center > button,\n#toast-container.toast-top-center > button,\n#toast-container.toast-bottom-center > button {\n pointer-events: auto; }\n\n#toast-container * {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box; }\n\n#toast-container > div {\n margin: 0 0 6px;\n padding: 15px 15px 15px 50px;\n width: 300px;\n -moz-border-radius: 3px 3px 3px 3px;\n -webkit-border-radius: 3px 3px 3px 3px;\n border-radius: 3px 3px 3px 3px;\n background-position: 15px center;\n background-repeat: no-repeat;\n -moz-box-shadow: 0 0 12px #999999;\n -webkit-box-shadow: 0 0 12px #999999;\n box-shadow: 0 0 12px #999999;\n color: #ffffff;\n opacity: 0.8;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);\n filter: alpha(opacity=80); }\n\n#toast-container > :hover {\n -moz-box-shadow: 0 0 12px #000000;\n -webkit-box-shadow: 0 0 12px #000000;\n box-shadow: 0 0 12px #000000;\n opacity: 1;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);\n filter: alpha(opacity=100);\n cursor: pointer; }\n\n.icon-success {\n width: 35px;\n height: 100%;\n display: inline-block;\n background-repeat: no-repeat;\n background-position: 100% 50%;\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==\") !important; }\n\n.icon-error {\n width: 35px;\n height: 100%;\n display: inline-block;\n background-repeat: no-repeat;\n background-position: 100% 50%;\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=\") !important; }\n\n.icon-info {\n width: 35px;\n height: 100%;\n display: inline-block;\n background-repeat: no-repeat;\n background-position: 100% 50%;\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=\") !important; }\n\n.icon-wait {\n width: 35px;\n height: 100%;\n display: inline-block;\n background-repeat: no-repeat;\n background-position: 100% 50%;\n background-image: url(\"data:image/gif;base64,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\") !important; }\n\n.icon-warning {\n width: 35px;\n height: 100%;\n display: inline-block;\n background-repeat: no-repeat;\n background-position: 100% 50%;\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=\") !important; }\n\n#toast-container.toast-top-full-width > div,\n#toast-container.toast-bottom-full-width > div {\n width: 96%;\n margin: auto; }\n\n.toast {\n position: relative;\n background-color: #030303; }\n\n.toast-success {\n background-color: #51a351; }\n\n.toast-error {\n background-color: #bd362f; }\n\n.toast-info {\n background-color: #2f96b4; }\n\n.toast-wait {\n background-color: #2f96b4; }\n\n.toast-warning {\n background-color: #f89406; }\n\n/*Responsive Design*/\n@media all and (max-width: 240px) {\n #toast-container > div {\n padding: 8px 8px 8px 50px;\n width: 11em; }\n #toast-container .toast-close-button {\n right: -0.1em;\n top: -0.2em; }\n .toast-content {\n width: 94%; } }\n\n@media all and (min-width: 241px) and (max-width: 480px) {\n #toast-container > div {\n padding: 8px 8px 8px 50px;\n width: 18em; }\n #toast-container .toast-close-button {\n right: -0.1em;\n top: -0.2em; }\n .toast-content {\n width: 94%; } }\n\n@media all and (min-width: 481px) and (max-width: 768px) {\n #toast-container > div {\n padding: 15px 15px 15px 50px;\n width: 25em; } }\n\n.swal2-popup.swal2-toast {\n flex-direction: row;\n align-items: center;\n width: auto;\n padding: 0.625em;\n overflow-y: hidden;\n background: #fff;\n box-shadow: 0 0 0.625em #d9d9d9; }\n .swal2-popup.swal2-toast .swal2-header {\n flex-direction: row; }\n .swal2-popup.swal2-toast .swal2-title {\n flex-grow: 1;\n justify-content: flex-start;\n margin: 0 0.6em;\n font-size: 1em; }\n .swal2-popup.swal2-toast .swal2-footer {\n margin: 0.5em 0 0;\n padding: 0.5em 0 0;\n font-size: 0.8em; }\n .swal2-popup.swal2-toast .swal2-close {\n position: static;\n width: 0.8em;\n height: 0.8em;\n line-height: 0.8; }\n .swal2-popup.swal2-toast .swal2-content {\n justify-content: flex-start;\n font-size: 1em; }\n .swal2-popup.swal2-toast .swal2-icon {\n width: 2em;\n min-width: 2em;\n height: 2em;\n margin: 0; }\n .swal2-popup.swal2-toast .swal2-icon .swal2-icon-content {\n display: flex;\n align-items: center;\n font-size: 1.8em;\n font-weight: bold; }\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .swal2-popup.swal2-toast .swal2-icon .swal2-icon-content {\n font-size: .25em; } }\n .swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring {\n width: 2em;\n height: 2em; }\n .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'] {\n top: .875em;\n width: 1.375em; }\n .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='left'] {\n left: .3125em; }\n .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='right'] {\n right: .3125em; }\n .swal2-popup.swal2-toast .swal2-actions {\n flex-basis: auto !important;\n width: auto;\n height: auto;\n margin: 0 .3125em; }\n .swal2-popup.swal2-toast .swal2-styled {\n margin: 0 .3125em;\n padding: .3125em .625em;\n font-size: 1em; }\n .swal2-popup.swal2-toast .swal2-styled:focus {\n box-shadow: 0 0 0 1px #fff, 0 0 0 3px rgba(50, 100, 150, 0.4); }\n .swal2-popup.swal2-toast .swal2-success {\n border-color: #a5dc86; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'] {\n position: absolute;\n width: 1.6em;\n height: 3em;\n transform: rotate(45deg);\n border-radius: 50%; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'][class$='left'] {\n top: -.8em;\n left: -.5em;\n transform: rotate(-45deg);\n transform-origin: 2em 2em;\n border-radius: 4em 0 0 4em; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'][class$='right'] {\n top: -.25em;\n left: .9375em;\n transform-origin: 0 1.5em;\n border-radius: 0 4em 4em 0; }\n .swal2-popup.swal2-toast .swal2-success .swal2-success-ring {\n width: 2em;\n height: 2em; }\n .swal2-popup.swal2-toast .swal2-success .swal2-success-fix {\n top: 0;\n left: .4375em;\n width: .4375em;\n height: 2.6875em; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'] {\n height: .3125em; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'][class$='tip'] {\n top: 1.125em;\n left: .1875em;\n width: .75em; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'][class$='long'] {\n top: .9375em;\n right: .1875em;\n width: 1.375em; }\n .swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip {\n animation: swal2-toast-animate-success-line-tip .75s; }\n .swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long {\n animation: swal2-toast-animate-success-line-long .75s; }\n .swal2-popup.swal2-toast.swal2-show {\n animation: swal2-toast-show 0.5s; }\n .swal2-popup.swal2-toast.swal2-hide {\n animation: swal2-toast-hide 0.1s forwards; }\n\n.swal2-container {\n display: flex;\n position: fixed;\n z-index: 1060;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n padding: 0.625em;\n overflow-x: hidden;\n transition: background-color 0.1s;\n -webkit-overflow-scrolling: touch; }\n .swal2-container.swal2-backdrop-show {\n background: rgba(0, 0, 0, 0.4); }\n .swal2-container.swal2-backdrop-hide {\n background: transparent !important; }\n .swal2-container.swal2-top {\n align-items: flex-start; }\n .swal2-container.swal2-top-start, .swal2-container.swal2-top-left {\n align-items: flex-start;\n justify-content: flex-start; }\n .swal2-container.swal2-top-end, .swal2-container.swal2-top-right {\n align-items: flex-start;\n justify-content: flex-end; }\n .swal2-container.swal2-center {\n align-items: center; }\n .swal2-container.swal2-center-start, .swal2-container.swal2-center-left {\n align-items: center;\n justify-content: flex-start; }\n .swal2-container.swal2-center-end, .swal2-container.swal2-center-right {\n align-items: center;\n justify-content: flex-end; }\n .swal2-container.swal2-bottom {\n align-items: flex-end; }\n .swal2-container.swal2-bottom-start, .swal2-container.swal2-bottom-left {\n align-items: flex-end;\n justify-content: flex-start; }\n .swal2-container.swal2-bottom-end, .swal2-container.swal2-bottom-right {\n align-items: flex-end;\n justify-content: flex-end; }\n .swal2-container.swal2-bottom > :first-child,\n .swal2-container.swal2-bottom-start > :first-child,\n .swal2-container.swal2-bottom-left > :first-child,\n .swal2-container.swal2-bottom-end > :first-child,\n .swal2-container.swal2-bottom-right > :first-child {\n margin-top: auto; }\n .swal2-container.swal2-grow-fullscreen > .swal2-modal {\n display: flex !important;\n flex: 1;\n align-self: stretch;\n justify-content: center; }\n .swal2-container.swal2-grow-row > .swal2-modal {\n display: flex !important;\n flex: 1;\n align-content: center;\n justify-content: center; }\n .swal2-container.swal2-grow-column {\n flex: 1;\n flex-direction: column; }\n .swal2-container.swal2-grow-column.swal2-top, .swal2-container.swal2-grow-column.swal2-center, .swal2-container.swal2-grow-column.swal2-bottom {\n align-items: center; }\n .swal2-container.swal2-grow-column.swal2-top-start, .swal2-container.swal2-grow-column.swal2-center-start, .swal2-container.swal2-grow-column.swal2-bottom-start, .swal2-container.swal2-grow-column.swal2-top-left, .swal2-container.swal2-grow-column.swal2-center-left, .swal2-container.swal2-grow-column.swal2-bottom-left {\n align-items: flex-start; }\n .swal2-container.swal2-grow-column.swal2-top-end, .swal2-container.swal2-grow-column.swal2-center-end, .swal2-container.swal2-grow-column.swal2-bottom-end, .swal2-container.swal2-grow-column.swal2-top-right, .swal2-container.swal2-grow-column.swal2-center-right, .swal2-container.swal2-grow-column.swal2-bottom-right {\n align-items: flex-end; }\n .swal2-container.swal2-grow-column > .swal2-modal {\n display: flex !important;\n flex: 1;\n align-content: center;\n justify-content: center; }\n .swal2-container:not(.swal2-top):not(.swal2-top-start):not(.swal2-top-end):not(.swal2-top-left):not(.swal2-top-right):not(.swal2-center-start):not(.swal2-center-end):not(.swal2-center-left):not(.swal2-center-right):not(.swal2-bottom):not(.swal2-bottom-start):not(.swal2-bottom-end):not(.swal2-bottom-left):not(.swal2-bottom-right):not(.swal2-grow-fullscreen) > .swal2-modal {\n margin: auto; }\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .swal2-container .swal2-modal {\n margin: 0 !important; } }\n\n.swal2-popup {\n display: none;\n position: relative;\n box-sizing: border-box;\n flex-direction: column;\n justify-content: center;\n width: 32em;\n max-width: 100%;\n padding: 1.25em;\n border: none;\n border-radius: 0.3125em;\n background: #fff;\n font-family: inherit;\n font-size: 1rem; }\n .swal2-popup:focus {\n outline: none; }\n .swal2-popup.swal2-loading {\n overflow-y: hidden; }\n\n.swal2-header {\n display: flex;\n flex-direction: column;\n align-items: center; }\n\n.swal2-title {\n position: relative;\n max-width: 100%;\n margin: 0 0 0.4em;\n padding: 0;\n color: #595959;\n font-size: 1.875em;\n font-weight: 600;\n text-align: center;\n text-transform: none;\n word-wrap: break-word; }\n\n.swal2-actions {\n display: flex;\n z-index: 1;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n width: 100%;\n margin: 1.25em auto 0; }\n .swal2-actions:not(.swal2-loading) .swal2-styled[disabled] {\n opacity: .4; }\n .swal2-actions:not(.swal2-loading) .swal2-styled:hover {\n background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1)); }\n .swal2-actions:not(.swal2-loading) .swal2-styled:active {\n background-image: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)); }\n .swal2-actions.swal2-loading .swal2-styled.swal2-confirm {\n box-sizing: border-box;\n width: 2.5em;\n height: 2.5em;\n margin: .46875em;\n padding: 0;\n animation: swal2-rotate-loading 1.5s linear 0s infinite normal;\n border: .25em solid transparent;\n border-radius: 100%;\n border-color: transparent;\n background-color: transparent !important;\n color: transparent;\n cursor: default;\n user-select: none; }\n .swal2-actions.swal2-loading .swal2-styled.swal2-cancel {\n margin-right: 30px;\n margin-left: 30px; }\n .swal2-actions.swal2-loading :not(.swal2-styled).swal2-confirm::after {\n content: '';\n display: inline-block;\n width: 15px;\n height: 15px;\n margin-left: 5px;\n animation: swal2-rotate-loading 1.5s linear 0s infinite normal;\n border: 3px solid #999999;\n border-radius: 50%;\n border-right-color: transparent;\n box-shadow: 1px 1px 1px #fff; }\n\n.swal2-styled {\n margin: .3125em;\n padding: .625em 2em;\n box-shadow: none;\n font-weight: 500; }\n .swal2-styled:not([disabled]) {\n cursor: pointer; }\n .swal2-styled.swal2-confirm {\n border: 0;\n border-radius: 0.25em;\n background: initial;\n background-color: #3085d6;\n color: #fff;\n font-size: 1.0625em; }\n .swal2-styled.swal2-cancel {\n border: 0;\n border-radius: 0.25em;\n background: initial;\n background-color: #aaa;\n color: #fff;\n font-size: 1.0625em; }\n .swal2-styled:focus {\n outline: none;\n box-shadow: 0 0 0 1px #fff, 0 0 0 3px rgba(50, 100, 150, 0.4); }\n .swal2-styled::-moz-focus-inner {\n border: 0; }\n\n.swal2-footer {\n justify-content: center;\n margin: 1.25em 0 0;\n padding: 1em 0 0;\n border-top: 1px solid #eee;\n color: #545454;\n font-size: 1em; }\n\n.swal2-timer-progress-bar {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 0.25em;\n background: rgba(0, 0, 0, 0.2); }\n\n.swal2-image {\n max-width: 100%;\n margin: 1.25em auto; }\n\n.swal2-close {\n position: absolute;\n z-index: 2;\n /* 1617 */\n top: 0;\n right: 0;\n justify-content: center;\n width: 1.2em;\n height: 1.2em;\n padding: 0;\n overflow: hidden;\n transition: color 0.1s ease-out;\n border: none;\n border-radius: 0;\n outline: initial;\n background: transparent;\n color: #cccccc;\n font-family: serif;\n font-size: 2.5em;\n line-height: 1.2;\n cursor: pointer; }\n .swal2-close:hover {\n transform: none;\n background: transparent;\n color: #f27474; }\n .swal2-close::-moz-focus-inner {\n border: 0; }\n\n.swal2-content {\n z-index: 1;\n justify-content: center;\n margin: 0;\n padding: 0;\n color: #545454;\n font-size: 1.125em;\n font-weight: normal;\n line-height: normal;\n text-align: center;\n word-wrap: break-word; }\n\n.swal2-input,\n.swal2-file,\n.swal2-textarea,\n.swal2-select,\n.swal2-radio,\n.swal2-checkbox {\n margin: 1em auto; }\n\n.swal2-input,\n.swal2-file,\n.swal2-textarea {\n box-sizing: border-box;\n width: 100%;\n transition: border-color 0.3s, box-shadow 0.3s;\n border: 1px solid #d9d9d9;\n border-radius: 0.1875em;\n background: inherit;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06);\n color: inherit;\n font-size: 1.125em; }\n .swal2-input.swal2-inputerror,\n .swal2-file.swal2-inputerror,\n .swal2-textarea.swal2-inputerror {\n border-color: #f27474 !important;\n box-shadow: 0 0 2px #f27474 !important; }\n .swal2-input:focus,\n .swal2-file:focus,\n .swal2-textarea:focus {\n border: 1px solid #b4dbed;\n outline: none;\n box-shadow: 0 0 3px #c4e6f5; }\n .swal2-input::placeholder,\n .swal2-file::placeholder,\n .swal2-textarea::placeholder {\n color: #cccccc; }\n\n.swal2-range {\n margin: 1em auto;\n background: #fff; }\n .swal2-range input {\n width: 80%; }\n .swal2-range output {\n width: 20%;\n color: inherit;\n font-weight: 600;\n text-align: center; }\n .swal2-range input,\n .swal2-range output {\n height: 2.625em;\n padding: 0;\n font-size: 1.125em;\n line-height: 2.625em; }\n\n.swal2-input {\n height: 2.625em;\n padding: 0 0.75em; }\n .swal2-input[type='number'] {\n max-width: 10em; }\n\n.swal2-file {\n background: inherit;\n font-size: 1.125em; }\n\n.swal2-textarea {\n height: 6.75em;\n padding: 0.75em; }\n\n.swal2-select {\n min-width: 50%;\n max-width: 100%;\n padding: .375em .625em;\n background: inherit;\n color: inherit;\n font-size: 1.125em; }\n\n.swal2-radio,\n.swal2-checkbox {\n align-items: center;\n justify-content: center;\n background: #fff;\n color: inherit; }\n .swal2-radio label,\n .swal2-checkbox label {\n margin: 0 .6em;\n font-size: 1.125em; }\n .swal2-radio input,\n .swal2-checkbox input {\n margin: 0 .4em; }\n\n.swal2-validation-message {\n display: none;\n align-items: center;\n justify-content: center;\n padding: 0.625em;\n overflow: hidden;\n background: #f0f0f0;\n color: #666666;\n font-size: 1em;\n font-weight: 300; }\n .swal2-validation-message::before {\n content: '!';\n display: inline-block;\n width: 1.5em;\n min-width: 1.5em;\n height: 1.5em;\n margin: 0 .625em;\n border-radius: 50%;\n background-color: #f27474;\n color: #fff;\n font-weight: 600;\n line-height: 1.5em;\n text-align: center; }\n\n.swal2-icon {\n position: relative;\n box-sizing: content-box;\n justify-content: center;\n width: 5em;\n height: 5em;\n margin: 1.25em auto 1.875em;\n border: .25em solid transparent;\n border-radius: 50%;\n font-family: inherit;\n line-height: 5em;\n cursor: default;\n user-select: none; }\n .swal2-icon .swal2-icon-content {\n display: flex;\n align-items: center;\n font-size: 3.75em; }\n .swal2-icon.swal2-error {\n border-color: #f27474;\n color: #f27474; }\n .swal2-icon.swal2-error .swal2-x-mark {\n position: relative;\n flex-grow: 1; }\n .swal2-icon.swal2-error [class^='swal2-x-mark-line'] {\n display: block;\n position: absolute;\n top: 2.3125em;\n width: 2.9375em;\n height: .3125em;\n border-radius: .125em;\n background-color: #f27474; }\n .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='left'] {\n left: 1.0625em;\n transform: rotate(45deg); }\n .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='right'] {\n right: 1em;\n transform: rotate(-45deg); }\n .swal2-icon.swal2-error.swal2-icon-show {\n animation: swal2-animate-error-icon .5s; }\n .swal2-icon.swal2-error.swal2-icon-show .swal2-x-mark {\n animation: swal2-animate-error-x-mark .5s; }\n .swal2-icon.swal2-warning {\n border-color: #facea8;\n color: #f8bb86; }\n .swal2-icon.swal2-info {\n border-color: #9de0f6;\n color: #3fc3ee; }\n .swal2-icon.swal2-question {\n border-color: #c9dae1;\n color: #87adbd; }\n .swal2-icon.swal2-success {\n border-color: #a5dc86;\n color: #a5dc86; }\n .swal2-icon.swal2-success [class^='swal2-success-circular-line'] {\n position: absolute;\n width: 3.75em;\n height: 7.5em;\n transform: rotate(45deg);\n border-radius: 50%; }\n .swal2-icon.swal2-success [class^='swal2-success-circular-line'][class$='left'] {\n top: -.4375em;\n left: -2.0635em;\n transform: rotate(-45deg);\n transform-origin: 3.75em 3.75em;\n border-radius: 7.5em 0 0 7.5em; }\n .swal2-icon.swal2-success [class^='swal2-success-circular-line'][class$='right'] {\n top: -.6875em;\n left: 1.875em;\n transform: rotate(-45deg);\n transform-origin: 0 3.75em;\n border-radius: 0 7.5em 7.5em 0; }\n .swal2-icon.swal2-success .swal2-success-ring {\n position: absolute;\n z-index: 2;\n top: -.25em;\n left: -.25em;\n box-sizing: content-box;\n width: 100%;\n height: 100%;\n border: 0.25em solid rgba(165, 220, 134, 0.3);\n border-radius: 50%; }\n .swal2-icon.swal2-success .swal2-success-fix {\n position: absolute;\n z-index: 1;\n top: .5em;\n left: 1.625em;\n width: .4375em;\n height: 5.625em;\n transform: rotate(-45deg); }\n .swal2-icon.swal2-success [class^='swal2-success-line'] {\n display: block;\n position: absolute;\n z-index: 2;\n height: .3125em;\n border-radius: .125em;\n background-color: #a5dc86; }\n .swal2-icon.swal2-success [class^='swal2-success-line'][class$='tip'] {\n top: 2.875em;\n left: .8125em;\n width: 1.5625em;\n transform: rotate(45deg); }\n .swal2-icon.swal2-success [class^='swal2-success-line'][class$='long'] {\n top: 2.375em;\n right: .5em;\n width: 2.9375em;\n transform: rotate(-45deg); }\n .swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-tip {\n animation: swal2-animate-success-line-tip .75s; }\n .swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-long {\n animation: swal2-animate-success-line-long .75s; }\n .swal2-icon.swal2-success.swal2-icon-show .swal2-success-circular-line-right {\n animation: swal2-rotate-success-circular-line 4.25s ease-in; }\n\n.swal2-progress-steps {\n align-items: center;\n margin: 0 0 1.25em;\n padding: 0;\n background: inherit;\n font-weight: 600; }\n .swal2-progress-steps li {\n display: inline-block;\n position: relative; }\n .swal2-progress-steps .swal2-progress-step {\n z-index: 20;\n width: 2em;\n height: 2em;\n border-radius: 2em;\n background: #3085d6;\n color: #fff;\n line-height: 2em;\n text-align: center; }\n .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step {\n background: #3085d6; }\n .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step {\n background: #add8e6;\n color: #fff; }\n .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step-line {\n background: #add8e6; }\n .swal2-progress-steps .swal2-progress-step-line {\n z-index: 10;\n width: 2.5em;\n height: .4em;\n margin: 0 -1px;\n background: #3085d6; }\n\n[class^='swal2'] {\n -webkit-tap-highlight-color: transparent; }\n\n.swal2-show {\n animation: swal2-show 0.3s; }\n\n.swal2-hide {\n animation: swal2-hide 0.15s forwards; }\n\n.swal2-noanimation {\n transition: none; }\n\n.swal2-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll; }\n\n.swal2-rtl .swal2-close {\n right: auto;\n left: 0; }\n\n.swal2-rtl .swal2-timer-progress-bar {\n right: 0;\n left: auto; }\n\n@supports (-ms-accelerator: true) {\n .swal2-range input {\n width: 100% !important; }\n .swal2-range output {\n display: none; } }\n\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .swal2-range input {\n width: 100% !important; }\n .swal2-range output {\n display: none; } }\n\n@-moz-document url-prefix() {\n .swal2-close:focus {\n outline: 2px solid rgba(50, 100, 150, 0.4); } }\n\n@keyframes swal2-toast-show {\n 0% {\n transform: translateY(-0.625em) rotateZ(2deg); }\n 33% {\n transform: translateY(0) rotateZ(-2deg); }\n 66% {\n transform: translateY(0.3125em) rotateZ(2deg); }\n 100% {\n transform: translateY(0) rotateZ(0deg); } }\n\n@keyframes swal2-toast-hide {\n 100% {\n transform: rotateZ(1deg);\n opacity: 0; } }\n\n@keyframes swal2-toast-animate-success-line-tip {\n 0% {\n top: .5625em;\n left: .0625em;\n width: 0; }\n 54% {\n top: .125em;\n left: .125em;\n width: 0; }\n 70% {\n top: .625em;\n left: -.25em;\n width: 1.625em; }\n 84% {\n top: 1.0625em;\n left: .75em;\n width: .5em; }\n 100% {\n top: 1.125em;\n left: .1875em;\n width: .75em; } }\n\n@keyframes swal2-toast-animate-success-line-long {\n 0% {\n top: 1.625em;\n right: 1.375em;\n width: 0; }\n 65% {\n top: 1.25em;\n right: .9375em;\n width: 0; }\n 84% {\n top: .9375em;\n right: 0;\n width: 1.125em; }\n 100% {\n top: .9375em;\n right: .1875em;\n width: 1.375em; } }\n\n@keyframes swal2-show {\n 0% {\n transform: scale(0.7); }\n 45% {\n transform: scale(1.05); }\n 80% {\n transform: scale(0.95); }\n 100% {\n transform: scale(1); } }\n\n@keyframes swal2-hide {\n 0% {\n transform: scale(1);\n opacity: 1; }\n 100% {\n transform: scale(0.5);\n opacity: 0; } }\n\n@keyframes swal2-animate-success-line-tip {\n 0% {\n top: 1.1875em;\n left: .0625em;\n width: 0; }\n 54% {\n top: 1.0625em;\n left: .125em;\n width: 0; }\n 70% {\n top: 2.1875em;\n left: -.375em;\n width: 3.125em; }\n 84% {\n top: 3em;\n left: 1.3125em;\n width: 1.0625em; }\n 100% {\n top: 2.8125em;\n left: .8125em;\n width: 1.5625em; } }\n\n@keyframes swal2-animate-success-line-long {\n 0% {\n top: 3.375em;\n right: 2.875em;\n width: 0; }\n 65% {\n top: 3.375em;\n right: 2.875em;\n width: 0; }\n 84% {\n top: 2.1875em;\n right: 0;\n width: 3.4375em; }\n 100% {\n top: 2.375em;\n right: .5em;\n width: 2.9375em; } }\n\n@keyframes swal2-rotate-success-circular-line {\n 0% {\n transform: rotate(-45deg); }\n 5% {\n transform: rotate(-45deg); }\n 12% {\n transform: rotate(-405deg); }\n 100% {\n transform: rotate(-405deg); } }\n\n@keyframes swal2-animate-error-x-mark {\n 0% {\n margin-top: 1.625em;\n transform: scale(0.4);\n opacity: 0; }\n 50% {\n margin-top: 1.625em;\n transform: scale(0.4);\n opacity: 0; }\n 80% {\n margin-top: -.375em;\n transform: scale(1.15); }\n 100% {\n margin-top: 0;\n transform: scale(1);\n opacity: 1; } }\n\n@keyframes swal2-animate-error-icon {\n 0% {\n transform: rotateX(100deg);\n opacity: 0; }\n 100% {\n transform: rotateX(0deg);\n opacity: 1; } }\n\n@keyframes swal2-rotate-loading {\n 0% {\n transform: rotate(0deg); }\n 100% {\n transform: rotate(360deg); } }\n\nbody.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {\n overflow: hidden; }\n\nbody.swal2-height-auto {\n height: auto !important; }\n\nbody.swal2-no-backdrop .swal2-container {\n top: auto;\n right: auto;\n bottom: auto;\n left: auto;\n max-width: calc(100% - 0.625em * 2);\n background-color: transparent !important; }\n body.swal2-no-backdrop .swal2-container > .swal2-modal {\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); }\n body.swal2-no-backdrop .swal2-container.swal2-top {\n top: 0;\n left: 50%;\n transform: translateX(-50%); }\n body.swal2-no-backdrop .swal2-container.swal2-top-start, body.swal2-no-backdrop .swal2-container.swal2-top-left {\n top: 0;\n left: 0; }\n body.swal2-no-backdrop .swal2-container.swal2-top-end, body.swal2-no-backdrop .swal2-container.swal2-top-right {\n top: 0;\n right: 0; }\n body.swal2-no-backdrop .swal2-container.swal2-center {\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%); }\n body.swal2-no-backdrop .swal2-container.swal2-center-start, body.swal2-no-backdrop .swal2-container.swal2-center-left {\n top: 50%;\n left: 0;\n transform: translateY(-50%); }\n body.swal2-no-backdrop .swal2-container.swal2-center-end, body.swal2-no-backdrop .swal2-container.swal2-center-right {\n top: 50%;\n right: 0;\n transform: translateY(-50%); }\n body.swal2-no-backdrop .swal2-container.swal2-bottom {\n bottom: 0;\n left: 50%;\n transform: translateX(-50%); }\n body.swal2-no-backdrop .swal2-container.swal2-bottom-start, body.swal2-no-backdrop .swal2-container.swal2-bottom-left {\n bottom: 0;\n left: 0; }\n body.swal2-no-backdrop .swal2-container.swal2-bottom-end, body.swal2-no-backdrop .swal2-container.swal2-bottom-right {\n right: 0;\n bottom: 0; }\n\n@media print {\n body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {\n overflow-y: scroll !important; }\n body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) > [aria-hidden='true'] {\n display: none; }\n body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) .swal2-container {\n position: static !important; } }\n\nbody.swal2-toast-shown .swal2-container {\n background-color: transparent; }\n body.swal2-toast-shown .swal2-container.swal2-top {\n top: 0;\n right: auto;\n bottom: auto;\n left: 50%;\n transform: translateX(-50%); }\n body.swal2-toast-shown .swal2-container.swal2-top-end, body.swal2-toast-shown .swal2-container.swal2-top-right {\n top: 0;\n right: 0;\n bottom: auto;\n left: auto; }\n body.swal2-toast-shown .swal2-container.swal2-top-start, body.swal2-toast-shown .swal2-container.swal2-top-left {\n top: 0;\n right: auto;\n bottom: auto;\n left: 0; }\n body.swal2-toast-shown .swal2-container.swal2-center-start, body.swal2-toast-shown .swal2-container.swal2-center-left {\n top: 50%;\n right: auto;\n bottom: auto;\n left: 0;\n transform: translateY(-50%); }\n body.swal2-toast-shown .swal2-container.swal2-center {\n top: 50%;\n right: auto;\n bottom: auto;\n left: 50%;\n transform: translate(-50%, -50%); }\n body.swal2-toast-shown .swal2-container.swal2-center-end, body.swal2-toast-shown .swal2-container.swal2-center-right {\n top: 50%;\n right: 0;\n bottom: auto;\n left: auto;\n transform: translateY(-50%); }\n body.swal2-toast-shown .swal2-container.swal2-bottom-start, body.swal2-toast-shown .swal2-container.swal2-bottom-left {\n top: auto;\n right: auto;\n bottom: 0;\n left: 0; }\n body.swal2-toast-shown .swal2-container.swal2-bottom {\n top: auto;\n right: auto;\n bottom: 0;\n left: 50%;\n transform: translateX(-50%); }\n body.swal2-toast-shown .swal2-container.swal2-bottom-end, body.swal2-toast-shown .swal2-container.swal2-bottom-right {\n top: auto;\n right: 0;\n bottom: 0;\n left: auto; }\n\nbody.swal2-toast-column .swal2-toast {\n flex-direction: column;\n align-items: stretch; }\n body.swal2-toast-column .swal2-toast .swal2-actions {\n flex: 1;\n align-self: stretch;\n height: 2.2em;\n margin-top: .3125em; }\n body.swal2-toast-column .swal2-toast .swal2-loading {\n justify-content: center; }\n body.swal2-toast-column .swal2-toast .swal2-input {\n height: 2em;\n margin: .3125em auto;\n font-size: 1em; }\n body.swal2-toast-column .swal2-toast .swal2-validation-message {\n font-size: 1em; }\n\n#toast-container.toast-top-right {\n top: 76px; }\n\n#toast-container .toast-close-button {\n right: -0.15em; }\n\n#toast-container .toast {\n opacity: 1 !important;\n background-image: none !important;\n border-radius: 0.25rem;\n box-shadow: 0 0 8px rgba(0, 0, 0, 0.35);\n display: flex;\n align-items: center; }\n #toast-container .toast:hover {\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.6); }\n #toast-container .toast:before {\n font-family: FontAwesome;\n font-size: 25px;\n line-height: 20px;\n float: left;\n color: #ffffff;\n padding-right: 10px;\n margin: auto 0 auto -36px; }\n #toast-container .toast .toaster-icon {\n display: none; }\n #toast-container .toast .toast-message p {\n margin-bottom: 0.5rem; }\n #toast-container .toast .toast-message p:last-child {\n margin-bottom: 0; }\n #toast-container .toast.toast-danger, #toast-container .toast.toast-error {\n background-image: none !important;\n background-color: #dd4b39; }\n #toast-container .toast.toast-danger:before, #toast-container .toast.toast-error:before {\n content: \"\\F0E7\";\n margin-left: -30px; }\n #toast-container .toast.toast-warning {\n background-image: none !important;\n background-color: #bf7e16; }\n #toast-container .toast.toast-warning:before {\n content: \"\\F071\"; }\n #toast-container .toast.toast-info {\n background-image: none !important;\n background-color: #555555; }\n #toast-container .toast.toast-info:before {\n content: \"\\F05A\"; }\n #toast-container .toast.toast-success {\n background-image: none !important;\n background-color: #00a65a; }\n #toast-container .toast.toast-success:before {\n content: \"\\F00C\"; }\n\n.swal2-container {\n background-color: rgba(0, 0, 0, 0.3); }\n\n.swal2-popup {\n padding: 15px 0 0;\n background-color: #fff;\n color: #333333;\n border: 1px solid #9a9a9a;\n border-radius: 0.3rem;\n width: 34em; }\n .swal2-popup .swal2-header {\n padding: 0 15px; }\n .swal2-popup .swal2-icon {\n margin: 0 auto;\n width: auto;\n height: auto;\n border: none; }\n .swal2-popup .swal2-content {\n padding-bottom: 15px;\n font-size: 1rem;\n border-bottom: 1px solid #dee2e6; }\n .swal2-popup i.swal-custom-icon {\n display: block;\n margin: 0 auto;\n font-size: 35px; }\n .swal2-popup .swal2-title {\n padding: 10px 0 15px;\n margin: 0;\n font-size: 1.15rem;\n color: #333333; }\n .swal2-popup .swal2-content {\n font-size: 1rem;\n color: #333333;\n padding: 0 15px 15px; }\n .swal2-popup .swal2-actions {\n padding: 15px;\n margin: 0;\n background-color: #fbfbfb;\n border-radius: 0.3rem;\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n font-size: 1rem; }\n .swal2-popup .swal2-actions button {\n margin-right: 10px; }\n .swal2-popup .swal2-actions button.swal2-confirm {\n font-weight: bold; }\n .swal2-popup .swal2-actions button.swal2-cancel {\n background-color: #ffffff; }\n\nhtml {\n font-size: 14px; }\n\nbody {\n min-width: 1010px; }\n body.layout_frontend {\n background-color: #ecf0f5; }\n body.full-width:not(.layout_frontend) .container {\n min-width: 980px;\n width: 90%; }\n\n.page-header, .secondary-header {\n border-bottom: 1px solid #dee2e6;\n padding-bottom: 0.6rem;\n margin-bottom: 0.5rem; }\n .page-header h1, .page-header h2, .page-header h3, .page-header h4, .secondary-header h1, .secondary-header h2, .secondary-header h3, .secondary-header h4 {\n margin: 0; }\n\nh1 small, h2 small, h3 small, h4 small, h5 small {\n font-size: 80%; }\n\ninput:required, select:required, textarea:required {\n box-shadow: none; }\n\n.secondary-header, .spaced-header {\n margin-top: 4rem; }\n\n.navbar {\n padding-left: 0;\n padding-right: 0; }\n .navbar .dropdown-menu {\n min-width: 200px;\n max-width: 300px; }\n .navbar .dropdown-menu .dropdown-item-text {\n line-height: 1.3; }\n .navbar .dropdown-menu .dropdown-item-text span, .navbar .dropdown-menu .dropdown-item-text small {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis; }\n .navbar .nav-link {\n font-weight: 600; }\n\n.navbar-brand {\n margin-top: -20px;\n margin-bottom: -20px; }\n\n.dropdown-menu button {\n cursor: pointer; }\n\n.container {\n width: 980px;\n max-width: none !important;\n margin: 0 auto;\n padding: 0; }\n\n.page-content {\n margin-top: 20px; }\n\n.footer {\n margin-top: 40px;\n padding: 40px 0 40px 0;\n border-top: 1px solid #dee2e6; }\n\n.list-group-item.active {\n border-left: 3px solid #175DDC;\n font-weight: bold;\n padding-left: calc(1.25rem - 3px); }\n\n.card-header, .modal-header {\n font-weight: bold;\n text-transform: uppercase; }\n .card-header small, .modal-header small {\n font-weight: normal;\n text-transform: none; }\n\n.card-body-header {\n font-size: 1.15rem; }\n\n.card ul.fa-ul.card-ul {\n margin-left: 1.9em; }\n .card ul.fa-ul.card-ul li {\n word-break: break-all; }\n .card ul.fa-ul.card-ul .fa-li {\n top: 4px; }\n .card ul.fa-ul.card-ul.carets {\n margin-left: 1.1em; }\n .card ul.fa-ul.card-ul.carets .fa-li {\n left: -17px;\n width: 1.1em; }\n .card ul.fa-ul.card-ul ul.carets {\n margin-left: 0.85em; }\n\n.card-org-plans h2 {\n font-size: 1.15rem; }\n\n.modal-dialog {\n width: 500px; }\n\n.modal-sm {\n width: 300px; }\n\n.modal-lg {\n width: 800px; }\n\n.modal-body h3 {\n font-weight: normal;\n text-transform: uppercase;\n color: #6c757d; }\n\n.modal .list-group-flush :first-child {\n border-top: none; }\n\n.modal .list-group-flush :last-child {\n border-bottom: none; }\n\n.modal-footer {\n justify-content: flex-start;\n background-color: #fbfbfb;\n border-radius: 0.3rem; }\n\nlabel:not(.form-check-label):not(.btn), label.bold {\n font-weight: 600; }\n\ninput[type=\"search\"]::-webkit-search-cancel-button {\n -webkit-appearance: searchfield-cancel-button; }\n\n.btn[class*=\"btn-outline-\"]:not(:hover), .swal2-popup .swal2-actions button[class*=\"btn-outline-\"]:not(:hover) {\n border-color: #ced4da;\n background-color: #fbfbfb; }\n\n.btn-outline-secondary, .swal2-popup .swal2-actions button.swal2-cancel {\n color: #6c757d; }\n .btn-outline-secondary:hover:not(:disabled), .swal2-popup .swal2-actions button.swal2-cancel:hover:not(:disabled) {\n color: #333333; }\n .btn-outline-secondary:disabled, .swal2-popup .swal2-actions button.swal2-cancel:disabled {\n opacity: 1; }\n\n.btn-submit {\n position: relative; }\n .btn-submit .fa-spinner {\n position: absolute;\n display: none;\n align-items: center;\n justify-content: center;\n bottom: 0;\n top: 0;\n left: 0;\n right: 0; }\n .btn-submit:disabled:not(.manual) .fa-spinner, .btn-submit.loading .fa-spinner {\n display: flex; }\n .btn-submit:disabled:not(.manual) span, .btn-submit.loading span {\n visibility: hidden; }\n\n.table.table-list thead th {\n border-top: none; }\n\n.table.table-list tr:first-child td {\n border: none; }\n\n.table.table-list td {\n vertical-align: middle; }\n .table.table-list td.reduced-lh {\n line-height: 1; }\n .table.table-list td.reduced-lh small {\n font-size: 80%; }\n .table.table-list td small, .table.table-list td > .fa, .table.table-list td .icon {\n color: #6c757d; }\n\n.table.table-list td.wrap {\n word-break: break-all; }\n\n.table.table-list td.table-list-options {\n width: 76px;\n max-width: 76px;\n text-align: right;\n height: 50px; }\n .table.table-list td.table-list-options.wider {\n width: 100px;\n max-width: 100px; }\n .table.table-list td.table-list-options .btn, .table.table-list td.table-list-options .swal2-popup .swal2-actions button, .swal2-popup .swal2-actions .table.table-list td.table-list-options button {\n line-height: 1;\n transition: initial; }\n .table.table-list td.table-list-options .dropdown-menu {\n line-height: 1.5; }\n\n.table.table-list td.table-list-icon {\n width: 45px;\n max-width: 45px;\n text-align: center; }\n .table.table-list td.table-list-icon img {\n max-height: 24px; }\n\n.table.table-list td.table-list-checkbox {\n width: 35px;\n max-width: 35px; }\n\n.table.table-list td.table-list-strike {\n color: #6c757d;\n text-decoration: line-through; }\n\n.text-lg {\n font-size: 1.15rem; }\n\n.text-strike {\n text-decoration: line-through; }\n\n.font-weight-semibold {\n font-weight: 600; }\n\n.password-wrapper {\n word-break: break-all;\n white-space: pre-wrap;\n min-width: 0; }\n\n.password-row {\n min-width: 0; }\n\n.password-number {\n color: #007fde; }\n\n.password-special {\n color: #c40800; }\n\napp-vault-groupings .card #search, app-org-vault-groupings .card #search, .groupings .card #search {\n margin-bottom: 1rem; }\n\napp-vault-groupings .card h3, app-org-vault-groupings .card h3, .groupings .card h3 {\n font-weight: normal;\n text-transform: uppercase;\n color: #6c757d; }\n\napp-vault-groupings .card ul:last-child, app-org-vault-groupings .card ul:last-child, .groupings .card ul:last-child {\n margin-bottom: 0; }\n\napp-vault-groupings .card .card-body a, app-org-vault-groupings .card .card-body a, .groupings .card .card-body a {\n color: #333333; }\n app-vault-groupings .card .card-body a:hover.text-muted, app-org-vault-groupings .card .card-body a:hover.text-muted, .groupings .card .card-body a:hover.text-muted {\n color: #333333 !important; }\n\napp-vault-groupings .card .show-active, app-org-vault-groupings .card .show-active, .groupings .card .show-active {\n display: none; }\n\napp-vault-groupings .card li > .fa, app-vault-groupings .card li > div > .fa, app-org-vault-groupings .card li > .fa, app-org-vault-groupings .card li > div > .fa, .groupings .card li > .fa, .groupings .card li > div > .fa {\n cursor: pointer; }\n\napp-vault-groupings .card li.active > .show-active, app-vault-groupings .card li.active > div .show-active, app-org-vault-groupings .card li.active > .show-active, app-org-vault-groupings .card li.active > div .show-active, .groupings .card li.active > .show-active, .groupings .card li.active > div .show-active {\n display: inline; }\n\napp-vault-groupings .card li.active > a:first-of-type, app-vault-groupings .card li.active > div a:first-of-type, app-org-vault-groupings .card li.active > a:first-of-type, app-org-vault-groupings .card li.active > div a:first-of-type, .groupings .card li.active > a:first-of-type, .groupings .card li.active > div a:first-of-type {\n font-weight: bold;\n color: #175DDC; }\n\napp-vault-groupings .card li.active > .fa, app-vault-groupings .card li.active > div > .fa, app-org-vault-groupings .card li.active > .fa, app-org-vault-groupings .card li.active > div > .fa, .groupings .card li.active > .fa, .groupings .card li.active > div > .fa {\n color: #175DDC; }\n\napp-password-generator #lengthRange {\n width: 100%; }\n\napp-password-generator .card-password .card-body {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n text-align: center;\n font-size: 1.15rem;\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; }\n\napp-password-generator-history .list-group-item {\n line-height: 1; }\n app-password-generator-history .list-group-item .password {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; }\n\napp-import textarea {\n height: 150px; }\n\napp-user-billing .progress {\n height: 20px; }\n app-user-billing .progress .progress-bar {\n min-width: 50px; }\n\n#duo-frame {\n background: url(../images/loading.svg) 0 0 no-repeat;\n height: 330px; }\n #duo-frame iframe {\n width: 100%;\n height: 100%;\n border: none; }\n\n#bt-dropin-container {\n background: url(../images/loading.svg) 0 0 no-repeat;\n min-height: 50px; }\n\n.braintree-placeholder, .braintree-sheet__header {\n display: none; }\n\n.braintree-sheet__content--button {\n text-align: left;\n padding: 0;\n min-height: 0; }\n\n.braintree-sheet__container {\n margin-bottom: 0; }\n\n.braintree-sheet {\n border: none; }\n\n.totp .totp-code {\n font-size: 1.2rem; }\n\n.totp .totp-countdown {\n margin: 3px 3px 0 0;\n display: block;\n user-select: none; }\n .totp .totp-countdown .totp-sec {\n font-size: 0.85em;\n position: absolute;\n line-height: 32px;\n width: 32px;\n text-align: center; }\n .totp .totp-countdown svg {\n width: 32px;\n height: 32px;\n transform: rotate(-90deg); }\n .totp .totp-countdown .totp-circle {\n fill: none;\n stroke: #175DDC; }\n .totp .totp-countdown .totp-circle.inner {\n stroke-width: 3;\n stroke-dasharray: 78.6;\n stroke-dashoffset: 0; }\n .totp .totp-countdown .totp-circle.outer {\n stroke-width: 2;\n stroke-dasharray: 88;\n stroke-dashoffset: 0; }\n\n.totp > .align-items-center {\n margin-bottom: -5px; }\n\n.totp.low .totp-sec, .totp.low .totp-code {\n color: #dd4b39; }\n\n.totp.low .totp-circle {\n stroke: #dd4b39; }\n\n.callout {\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-left-width: 5px;\n border-radius: calc(0.25rem - 1px);\n background-color: #fafafa; }\n .callout .callout-heading {\n margin-top: 0; }\n .callout h3.callout-heading {\n font-weight: bold;\n text-transform: uppercase; }\n .callout.callout-primary {\n border-left-color: #175DDC; }\n .callout.callout-primary .callout-heading {\n color: #175DDC; }\n .callout.callout-info {\n border-left-color: #343a40; }\n .callout.callout-info .callout-heading {\n color: #343a40; }\n .callout.callout-danger {\n border-left-color: #dd4b39; }\n .callout.callout-danger .callout-heading {\n color: #dd4b39; }\n .callout.callout-success {\n border-left-color: #00a65a; }\n .callout.callout-success .callout-heading {\n color: #00a65a; }\n .callout.callout-warning {\n border-left-color: #bf7e16; }\n .callout.callout-warning .callout-heading {\n color: #bf7e16; }\n\n.list-group-2fa .logo-2fa {\n min-width: 100px; }\n\n.form-check-block .form-check-label {\n font-weight: 600; }\n .form-check-block .form-check-label > small {\n display: block;\n color: #6c757d;\n font-weight: normal; }\n .form-check-block .form-check-label > span {\n display: block;\n font-weight: normal; }\n\n.form-inline input[type='datetime-local'] {\n width: 200px; }\n\n.form-control.stripe-form-control {\n padding-top: 0.55rem; }\n .form-control.stripe-form-control.is-focused {\n color: #495057;\n background-color: #ffffff;\n border-color: #81a9f2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .form-control.stripe-form-control.is-focused.is-invalid {\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.25); }\n .form-control.stripe-form-control.is-invalid {\n border-color: #dd4b39; }\n\n.org-nav {\n background-color: #fbfbfb;\n border-bottom: 1px solid #dee2e6;\n height: 100px;\n min-height: 100px; }\n .org-nav .container {\n height: 100%; }\n .org-nav .nav-tabs {\n border-bottom: none; }\n .org-nav .nav-tabs a {\n color: #333333; }\n .org-nav .nav-tabs a:not(.active) {\n border-color: transparent; }\n .org-nav .nav-tabs a.active {\n border-top: 3px solid #175DDC;\n font-weight: bold;\n padding-top: calc(0.5rem - 2px); }\n .org-nav .nav-tabs a.disabled {\n color: #b4b4b4; }\n .org-nav .org-name {\n line-height: 1; }\n .org-nav .org-name span {\n font-size: 1.15rem;\n display: block; }\n\nimg.logo {\n width: 284px;\n height: 43px;\n margin: 0 auto;\n display: block; }\n\n.min-height-fix {\n min-height: 1px; }\n\n.overflow-hidden {\n overflow: hidden; }\n\n.cdk-drag-preview {\n z-index: 1070 !important;\n opacity: 0.8;\n background-color: #fff;\n border-radius: 0.25rem; }\n\n.cursor-move {\n cursor: move !important; }\n\n.layout.enterprise2 header {\n color: #ced4da;\n background-color: #175DDC; }\n .layout.enterprise2 header:before {\n content: \"\";\n position: absolute;\n z-index: -1;\n width: 100%;\n height: 340px;\n left: 0;\n transform: skewY(-3deg);\n background: #175DDC; }\n .layout.enterprise2 header img.logo {\n margin: 12px 0 0;\n width: 284px;\n max-width: 284px;\n height: auto; }\n\n.layout.enterprise2 h2 {\n color: #ffffff;\n font-size: 1.8rem;\n margin: 100px 0 150px 0; }\n\n.layout.enterprise2 p {\n margin: 20px 0 40px 0;\n font-size: 1.4rem; }\n .layout.enterprise2 p:before {\n content: \"/\";\n padding-right: 12px; }\n .layout.enterprise2 p:not(.highlight):before {\n color: #1252A3; }\n .layout.enterprise2 p b:after {\n content: \"\\27F6\";\n font-size: 2rem;\n padding-left: 6px; }\n\n.layout.enterprise2 blockquote {\n margin: 20px 0 0 0;\n font-size: 1.4rem;\n padding-right: 40px; }\n"],"sourceRoot":""} \ No newline at end of file diff --git a/app/main.5767a6ed9bc20ebddf79.js b/app/main.5767a6ed9bc20ebddf79.js deleted file mode 100644 index 81abf4c1..00000000 --- a/app/main.5767a6ed9bc20ebddf79.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(e){function t(t){for(var r,a,s=t[0],l=t[1],c=t[2],u=0,d=[];u1&&(r+=e.slice(1)),void 0===t[e=r]&&(e=e.toLowerCase()),void 0===t[e]&&(e=e.toUpperCase())}return t[e]},e}();t.BaseResponse=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(698),i=n(143),o=n(157),a=n(255),s=n(34),l=n(209),c=n(129),p=n(159),u=n(94),d=n(40),m=n(128),h=n(112),f=n(697),v=function(){function e(){this.organizationId=null,this.logService=new f.ConsoleLogService(!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"],this.parseCsvOptions={encoding:"UTF-8",skipEmptyLines:!1}}return Object.defineProperty(e.prototype,"organization",{get:function(){return null!=this.organizationId},enumerable:!0,configurable:!0}),e.prototype.parseXml=function(e){var t=(new DOMParser).parseFromString(e,"application/xml");return null!=t&&null==t.querySelector("parsererror")?t:null},e.prototype.parseCsv=function(e,t,n){var i=this;void 0===n&&(n={});var o=Object.assign({header:t},this.parseCsvOptions,n);e=this.splitNewLine(e).join("\n").trim();var a=r.parse(e,o);return null!=a.errors&&a.errors.length>0&&a.errors.forEach(function(e){null!=e.row&&i.logService.warning("Error parsing row "+e.row+": "+e.message)}),a.data&&a.data.length>0?a.data:null},e.prototype.parseSingleRowCsv=function(e){if(this.isNullOrWhitespace(e))return null;var t=this.parseCsv(e,!1);return null!=t&&t.length>0&&t[0].length>0?t[0]:null},e.prototype.makeUriArray=function(e){var t=this;if(null==e)return null;if("string"==typeof e){var n=new a.LoginUriView;return n.uri=this.fixUri(e),this.isNullOrWhitespace(n.uri)?null:(n.match=null,[n])}if(e.length>0){var r=[];return e.forEach(function(e){var n=new a.LoginUriView;n.uri=t.fixUri(e),t.isNullOrWhitespace(n.uri)||(n.match=null,r.push(n))}),0===r.length?null:r}return null},e.prototype.fixUri=function(e){return null==e?null:(-1===(e=e.trim()).indexOf("://")&&e.indexOf(".")>=0&&(e="http://"+e),e.length>1e3?e.substring(0,1e3):e)},e.prototype.nameFromUrl=function(e){var t=s.Utils.getHostname(e);return this.isNullOrWhitespace(t)?null:t.startsWith("www.")?t.replace("www.",""):t},e.prototype.isNullOrWhitespace=function(e){return s.Utils.isNullOrWhitespace(e)},e.prototype.getValueOrDefault=function(e,t){return void 0===t&&(t=null),this.isNullOrWhitespace(e)?t:e},e.prototype.splitNewLine=function(e){return e.split(this.newLineRegex)},e.prototype.getCardBrand=function(e){if(this.isNullOrWhitespace(e))return null;var t=new RegExp("^4");return null!=e.match(t)?"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(e)?"Mastercard":(t=new RegExp("^3[47]"),null!=e.match(t)?"Amex":(t=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!=e.match(t)?"Discover":(t=new RegExp("^36"),null!=e.match(t)?"Diners Club":(t=new RegExp("^30[0-5]"),null!=e.match(t)?"Diners Club":(t=new RegExp("^35(2[89]|[3-8][0-9])"),null!=e.match(t)?"JCB":(t=new RegExp("^(4026|417500|4508|4844|491(3|7))"),null!=e.match(t)?"Visa":null))))))},e.prototype.setCardExpiration=function(e,t){if(!this.isNullOrWhitespace(t)){var n=t.split("/");if(2===n.length){var r=null,i=null;if(1!==n[0].length&&2!==n[0].length||2===(r=n[0]).length&&"0"===r[0]&&(r=r.substr(1,1)),2!==n[1].length&&4!==n[1].length||(i=2===r.length?"20"+n[1]:n[1]),null!=r&&null!=i)return e.card.expMonth=r,e.card.expYear=i,!0}}return!1},e.prototype.moveFoldersToCollections=function(e){e.folderRelationships.forEach(function(t){return e.collectionRelationships.push(t)}),e.collections=e.folders.map(function(e){var t=new o.CollectionView;return t.name=e.name,t}),e.folderRelationships=[],e.folders=[]},e.prototype.querySelectorDirectChild=function(e,t){var n=this.querySelectorAllDirectChild(e,t);return 0===n.length?null:n[0]},e.prototype.querySelectorAllDirectChild=function(e,t){return Array.from(e.querySelectorAll(t)).filter(function(t){return t.parentNode===e})},e.prototype.initLoginCipher=function(){var e=new i.CipherView;return e.favorite=!1,e.notes="",e.fields=[],e.login=new p.LoginView,e.type=d.CipherType.Login,e},e.prototype.cleanupCipher=function(e){null!=e&&(e.type!==d.CipherType.Login&&(e.login=null),this.isNullOrWhitespace(e.name)&&(e.name="--"),this.isNullOrWhitespace(e.notes)?e.notes=null:e.notes=e.notes.trim(),null!=e.fields&&0===e.fields.length&&(e.fields=null))},e.prototype.processKvp=function(e,t,n,r){if(void 0===r&&(r=m.FieldType.Text),!this.isNullOrWhitespace(n))if(this.isNullOrWhitespace(t)&&(t=""),n.length>200||n.trim().search(this.newLineRegex)>-1)null==e.notes&&(e.notes=""),e.notes+=t+": "+this.splitNewLine(n).join("\n")+"\n";else{null==e.fields&&(e.fields=[]);var i=new l.FieldView;i.type=r,i.name=t,i.value=n,e.fields.push(i)}},e.prototype.processFolder=function(e,t){var n=e.folders.length,r=!this.isNullOrWhitespace(t),i=r;if(r)for(var o=0;o-1&&(n=t.getUrlObject("http://"+e)));return n},t.getUrlObject=function(e){try{if(null!=a)return a.URL?new a.URL(e):a.parse(e);if("function"==typeof URL)return new URL(e);if(null!=window){var t=e.indexOf("://")>-1;if(!t&&e.indexOf(".")>-1)e="http://"+e;else if(!t)return null;var n=window.document.createElement("a");return n.href=e,n}}catch(r){}return null},t.inited=!1,t.isNativeScript=!1,t.isNode=!1,t.isBrowser=!0,t.isMobileBrowser=!1,t.isAppleMobileBrowser=!1,t.global=null,t.tldEndingRegex=/.*\.(com|net|org|edu|uk|gov|ca|de|jp|fr|au|ru|ch|io|es|us|co|xyz|info|ly|mil)$/,t}();t.Utils=s,s.init()}).call(this,n(127),n(110),n(105).Buffer)},,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.PasswordGenerationService=r},,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.StateService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(){}return e.prototype.onClick=function(e){e.preventDefault()},e.ɵfac=function(t){return new(t||e)},e.ɵdir=r.ɵɵdefineDirective({type:e,selectors:[["","appStopClick",""]],hostBindings:function(e,t){1&e&&r.ɵɵlistener("click",function(e){return t.onClick(e)})}}),e}();t.StopClickDirective=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Login=1]="Login",e[e.SecureNote=2]="SecureNote",e[e.Card=3]="Card",e[e.Identity=4]="Identity"}(t.CipherType||(t.CipherType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.CollectionService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.StorageService=r},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(e,t){this.el=e,this.renderer=t}return Object.defineProperty(e.prototype,"appInputVerbatim",{set:function(e){this.disableComplete=""===e||!0===e},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this.disableComplete&&!this.el.nativeElement.hasAttribute("autocomplete")&&this.renderer.setAttribute(this.el.nativeElement,"autocomplete","off"),this.el.nativeElement.hasAttribute("autocapitalize")||this.renderer.setAttribute(this.el.nativeElement,"autocapitalize","none"),this.el.nativeElement.hasAttribute("autocorrect")||this.renderer.setAttribute(this.el.nativeElement,"autocorrect","none"),this.el.nativeElement.hasAttribute("spellcheck")||this.renderer.setAttribute(this.el.nativeElement,"spellcheck","false"),this.el.nativeElement.hasAttribute("inputmode")||this.renderer.setAttribute(this.el.nativeElement,"inputmode","verbatim")},e.ɵfac=function(t){return new(t||e)(r.ɵɵdirectiveInject(r.ElementRef),r.ɵɵdirectiveInject(r.Renderer2))},e.ɵdir=r.ɵɵdefineDirective({type:e,selectors:[["","appInputVerbatim",""]],inputs:{appInputVerbatim:"appInputVerbatim"}}),e}();t.InputVerbatimDirective=i},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.FolderService=r},,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.PolicyService=r},,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(){}return e.prototype.onClick=function(e){e.stopPropagation()},e.ɵfac=function(t){return new(t||e)},e.ɵdir=r.ɵɵdefineDirective({type:e,selectors:[["","appStopProp",""]],hostBindings:function(e,t){1&e&&r.ɵɵlistener("click",function(e){return t.onClick(e)})}}),e}();t.StopPropDirective=i},,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.AuthService=r},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(34),i=n(0),o=function(){function e(e){this.el=e}return Object.defineProperty(e.prototype,"appAutofocus",{set:function(e){this.autofocus=""===e||!0===e},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){!r.Utils.isMobileBrowser&&this.autofocus&&this.el.nativeElement.focus()},e.ɵfac=function(t){return new(t||e)(i.ɵɵdirectiveInject(i.ElementRef))},e.ɵdir=i.ɵɵdefineDirective({type:e,selectors:[["","appAutofocus",""]],inputs:{appAutofocus:"appAutofocus"}}),e}();t.AutofocusDirective=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.SyncService=r},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(){this.environmentUrlsKey=e.environmentUrlsKey,this.disableGaKey=e.disableGaKey,this.disableAddLoginNotificationKey=e.disableAddLoginNotificationKey,this.disableContextMenuItemKey=e.disableContextMenuItemKey,this.disableFaviconKey=e.disableFaviconKey,this.disableAutoTotpCopyKey=e.disableAutoTotpCopyKey,this.enableAutoFillOnPageLoadKey=e.enableAutoFillOnPageLoadKey,this.vaultTimeoutKey=e.vaultTimeoutKey,this.vaultTimeoutActionKey=e.vaultTimeoutActionKey,this.lastActiveKey=e.lastActiveKey,this.neverDomainsKey=e.neverDomainsKey,this.installedVersionKey=e.installedVersionKey,this.localeKey=e.localeKey,this.themeKey=e.themeKey,this.collapsedGroupingsKey=e.collapsedGroupingsKey,this.autoConfirmFingerprints=e.autoConfirmFingerprints,this.dontShowCardsCurrentTab=e.dontShowCardsCurrentTab,this.dontShowIdentitiesCurrentTab=e.dontShowIdentitiesCurrentTab,this.defaultUriMatch=e.defaultUriMatch,this.pinProtectedKey=e.pinProtectedKey,this.protectedPin=e.protectedPin,this.clearClipboardKey=e.clearClipboardKey,this.eventCollectionKey=e.eventCollectionKey,this.ssoCodeVerifierKey=e.ssoCodeVerifierKey,this.ssoStateKey=e.ssoStateKey,this.biometricUnlockKey=e.biometricUnlockKey,this.biometricText=e.biometricText,this.biometricAwaitingAcceptance=e.biometricAwaitingAcceptance,this.biometricFingerprintValidated=e.biometricFingerprintValidated}return e.environmentUrlsKey="environmentUrls",e.disableGaKey="disableGa",e.disableAddLoginNotificationKey="disableAddLoginNotification",e.disableChangedPasswordNotificationKey="disableChangedPasswordNotification",e.disableContextMenuItemKey="disableContextMenuItem",e.disableFaviconKey="disableFavicon",e.disableAutoTotpCopyKey="disableAutoTotpCopy",e.enableAutoFillOnPageLoadKey="enableAutoFillOnPageLoad",e.vaultTimeoutKey="lockOption",e.vaultTimeoutActionKey="vaultTimeoutAction",e.lastActiveKey="lastActive",e.neverDomainsKey="neverDomains",e.installedVersionKey="installedVersion",e.localeKey="locale",e.themeKey="theme",e.collapsedGroupingsKey="collapsedGroupings",e.autoConfirmFingerprints="autoConfirmFingerprints",e.dontShowCardsCurrentTab="dontShowCardsCurrentTab",e.dontShowIdentitiesCurrentTab="dontShowIdentitiesCurrentTab",e.defaultUriMatch="defaultUriMatch",e.pinProtectedKey="pinProtectedKey",e.protectedPin="protectedPin",e.clearClipboardKey="clearClipboardKey",e.eventCollectionKey="eventCollection",e.ssoCodeVerifierKey="ssoCodeVerifier",e.ssoStateKey="ssoState",e.biometricUnlockKey="biometric",e.biometricText="biometricText",e.biometricAwaitingAcceptance="biometricAwaitingAcceptance",e.biometricFingerprintValidated="biometricFingerprintValidated",e}();t.ConstantsService=r},,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.EventService=r},,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.EnvironmentService=r},,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.PasswordVerificationRequest=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1?e[a]=s||null:e[a]=s?new o.CipherString(s):null}},e.prototype.buildDataModel=function(e,t,n,r){for(var i in void 0===r&&(r=[]),n)if(n.hasOwnProperty(i)){var o=e[n[i]||i];r.indexOf(i)>-1?t[i]=null!=o?o:null:t[i]=null!=o?o.encryptedString:null}},e.prototype.decryptObj=function(e,t,n,o){return void 0===o&&(o=null),r(this,void 0,void 0,function(){var r,a,s;return i(this,function(i){switch(i.label){case 0:for(s in r=[],a=this,t)t.hasOwnProperty(s)&&function(i){var s=Promise.resolve().then(function(){var e=t[i]||i;return a[e]?a[e].decrypt(n,o):null}).then(function(t){e[i]=t});r.push(s)}(s);return[4,Promise.all(r)];case 1:return i.sent(),[2,e]}})})},e}();t.default=a},,,function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(270),a=(n(0),n(833)),s=n(34),l=(n(15),n(0)),c=n(15);function p(e,t){}var u=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.el=null,r}return i(t,e),t.prototype.ngOnDestroy=function(){},t.prototype.show=function(e,t,n,r){var i=this;void 0===n&&(n=!0),void 0===r&&(r=null),this.parentContainer=t,this.fade=n;var a=this.componentFactoryResolver.resolveComponentFactory(e),l=this.container.createComponent(a);null!=r&&r(l.instance);var c=Array.from(document.querySelectorAll(".modal"));return c.length>0&&(this.el=o(c[0]),this.el.modal("show"),this.el.on("show.bs.modal",function(){i.onShow.emit(),i.messagingService.send("modalShow")}),this.el.on("shown.bs.modal",function(){i.onShown.emit(),i.messagingService.send("modalShown"),s.Utils.isMobileBrowser||i.el.find("*[appAutoFocus]").focus()}),this.el.on("hide.bs.modal",function(){i.onClose.emit(),i.messagingService.send("modalClose")}),this.el.on("hidden.bs.modal",function(){i.onClosed.emit(),i.messagingService.send("modalClosed"),null!=i.parentContainer&&i.parentContainer.clear()})),l.instance},t.prototype.close=function(){null!=this.el&&this.el.modal("hide")},t.ɵfac=function(e){return new(e||t)(l.ɵɵdirectiveInject(l.ComponentFactoryResolver),l.ɵɵdirectiveInject(c.MessagingService))},t.ɵcmp=l.ɵɵdefineComponent({type:t,selectors:[["app-modal"]],features:[l.ɵɵInheritDefinitionFeature],decls:2,vars:0,consts:[["container",""]],template:function(e,t){1&e&&l.ɵɵtemplate(0,p,0,0,"ng-template",null,0,l.ɵɵtemplateRefExtractor)},encapsulation:2}),t}(a.ModalComponent);t.ModalComponent=u},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.SearchService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.AuditService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.cardholderName=null,this.expMonth=null,this.expYear=null,this.code=null,this._brand=null,this._number=null,this._subTitle=null}return Object.defineProperty(e.prototype,"maskedCode",{get:function(){return null!=this.code?"•".repeat(this.code.length):null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"brand",{get:function(){return this._brand},set:function(e){this._brand=e,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"number",{get:function(){return this._number},set:function(e){this._number=e,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"subTitle",{get:function(){if(null==this._subTitle&&(this._subTitle=this.brand,null!=this.number&&this.number.length>=4)){null!=this._subTitle&&""!==this._subTitle?this._subTitle+=", ":this._subTitle="";var e=this.number.length>=5&&null!=this.number.match(new RegExp("^3[47]"))?5:4;this._subTitle+="*"+this.number.substr(this.number.length-e)}return this._subTitle},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"expiration",{get:function(){if(!this.expMonth&&!this.expYear)return null;var e=null!=this.expMonth?("0"+this.expMonth).slice(-2):"__";return e+=" / "+(null!=this.expYear?this.formatYear(this.expYear):"____")},enumerable:!0,configurable:!0}),e.prototype.formatYear=function(e){return 2===e.length?"20"+e:e},e}();t.CardView=r},,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.type=null,e&&(this.type=e.type)}return Object.defineProperty(e.prototype,"subTitle",{get:function(){return null},enumerable:!0,configurable:!0}),e}();t.SecureNoteView=r},,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.TokenService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.CryptoFunctionService=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1?(e="http://"+e,t=!0):this.imageEnabled&&(t=0===e.indexOf("http")&&e.indexOf(".")>-1),this.imageEnabled&&t)try{this.image=this.iconsUrl+"/"+s.Utils.getHostname(e)+"/icon.png",this.fallbackImage="images/fa-globe.png"}catch(n){}}else this.image=null},e.ɵfac=function(t){return new(t||e)(l.ɵɵdirectiveInject(c.EnvironmentService),l.ɵɵdirectiveInject(p.StateService))},e.ɵcmp=l.ɵɵdefineComponent({type:e,selectors:[["app-vault-icon"]],inputs:{cipher:"cipher"},features:[l.ɵɵNgOnChangesFeature],decls:7,vars:2,consts:[["aria-hidden","true",1,"icon"],["alt","",3,"src","appFallbackSrc",4,"ngIf"],[3,"class",4,"ngIf"],["alt","",3,"src","appFallbackSrc"]],template:function(e,t){1&e&&(l.ɵɵelementStart(0,"div",0),l.ɵɵtext(1,"\n "),l.ɵɵtemplate(2,m,1,2,"img",1),l.ɵɵtext(3,"\n "),l.ɵɵtemplate(4,h,1,3,"i",2),l.ɵɵtext(5,"\n"),l.ɵɵelementEnd(),l.ɵɵtext(6,"\n")),2&e&&(l.ɵɵadvance(2),l.ɵɵproperty("ngIf",t.imageEnabled&&t.image),l.ɵɵadvance(2),l.ɵɵproperty("ngIf",!t.imageEnabled||!t.image))},directives:[u.NgIf,d.FallbackSrcDirective],encapsulation:2}),e}();t.IconComponent=v},,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.VaultTimeoutService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Generic=0]="Generic"}(t.SecureNoteType||(t.SecureNoteType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Authenticator=0]="Authenticator",e[e.Email=1]="Email",e[e.Duo=2]="Duo",e[e.Yubikey=3]="Yubikey",e[e.U2f=4]="U2f",e[e.Remember=5]="Remember",e[e.OrganizationDuo=6]="OrganizationDuo"}(t.TwoFactorProviderType||(t.TwoFactorProviderType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.TotpService=r},,,function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});n(0);var o=n(809),a=n(0),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.ɵfac=function(e){return l(e||t)},t.ɵprov=a.ɵɵdefineInjectable({token:t,factory:t.ɵfac}),t}(o.BroadcasterService);t.BroadcasterService=s;var l=a.ɵɵgetInheritedFactory(s)},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1)try{window.document.body.removeChild(e)}catch(t){}})},500),this.hidePaypal||(window.document.head.removeChild(this.btScript),window.setTimeout(function(){Array.from(window.document.head.querySelectorAll("script")).forEach(function(e){if(null!=e.src&&e.src.indexOf("paypal")>-1)try{window.document.head.removeChild(e)}catch(t){}});var e=window.document.head.querySelector("#braintree-dropin-stylesheet");if(null!=e)try{window.document.head.removeChild(e)}catch(t){}},500))},e.prototype.changeMethod=function(){var e=this;this.btInstance=null,this.method===o.PaymentMethodType.PayPal?window.setTimeout(function(){window.braintree.dropin.create({authorization:e.platformUtilsService.isDev()?a.WebConstants.btSandboxKey:a.WebConstants.btProductionKey,container:"#bt-dropin-container",paymentOptionPriority:["paypal"],paypal:{flow:"vault",buttonStyle:{label:"pay",size:"medium",shape:"pill",color:"blue"}}},function(t,n){null==t?e.btInstance=n:console.error(t)})},250):this.setStripeElement()},e.prototype.createPaymentToken=function(){var e=this;return new Promise(function(t,n){e.method===o.PaymentMethodType.Credit?t([null,e.method]):e.method===o.PaymentMethodType.PayPal?e.btInstance.requestPaymentMethod().then(function(n){t([n.nonce,e.method])}).catch(function(e){n(e.message)}):e.method!==o.PaymentMethodType.Card&&e.method!==o.PaymentMethodType.BankAccount||(e.method===o.PaymentMethodType.Card?e.apiService.postSetupPayment().then(function(t){return e.stripe.handleCardSetup(t,e.stripeCardNumberElement)}).then(function(r){r.error?n(r.error.message):r.setupIntent&&"succeeded"===r.setupIntent.status?t([r.setupIntent.payment_method,e.method]):n()}):e.stripe.createToken("bank_account",e.bank).then(function(r){r.error?n(r.error.message):r.token&&null!=r.token.id?t([r.token.id,e.method]):n()}))})},e.prototype.handleStripeCardPayment=function(e,t){var n=this;return new Promise(function(o,a){if(!n.showMethods||null!=n.stripeCardNumberElement){return(n.showMethods?n.stripe.handleCardSetup(e,n.stripeCardNumberElement):n.stripe.handleCardSetup(e)).then(function(e){return r(n,void 0,void 0,function(){return i(this,function(n){switch(n.label){case 0:return e.error?(a(e.error.message),[3,5]):[3,1];case 1:return e.paymentIntent&&"succeeded"===e.paymentIntent.status?null==t?[3,3]:[4,t()]:[3,4];case 2:n.sent(),n.label=3;case 3:return o(),[3,5];case 4:a(),n.label=5;case 5:return[2]}})})})}a()})},e.prototype.setStripeElement=function(){var e=this;window.setTimeout(function(){e.showMethods&&e.method===o.PaymentMethodType.Card&&(null==e.stripeCardNumberElement&&(e.stripeCardNumberElement=e.stripeElements.create("cardNumber",{style:I,classes:E,placeholder:""})),null==e.stripeCardExpiryElement&&(e.stripeCardExpiryElement=e.stripeElements.create("cardExpiry",{style:I,classes:E})),null==e.stripeCardCvcElement&&(e.stripeCardCvcElement=e.stripeElements.create("cardCvc",{style:I,classes:E,placeholder:""})),e.stripeCardNumberElement.mount("#stripe-card-number-element"),e.stripeCardExpiryElement.mount("#stripe-card-expiry-element"),e.stripeCardCvcElement.mount("#stripe-card-cvc-element"))},50)},e.ɵfac=function(t){return new(t||e)(s.ɵɵdirectiveInject(l.PlatformUtilsService),s.ɵɵdirectiveInject(c.ApiService))},e.ɵcmp=s.ɵɵdefineComponent({type:e,selectors:[["app-payment"]],inputs:{showMethods:"showMethods",showOptions:"showOptions",method:"method",hideBank:"hideBank",hidePaypal:"hidePaypal",hideCredit:"hideCredit"},decls:10,vars:5,consts:[["class","mb-4 text-lg",4,"ngIf"],[4,"ngIf"],[1,"mb-4","text-lg"],[1,"form-check","form-check-inline","mr-4"],["type","radio","name","Method","id","method-card",1,"form-check-input",3,"value","ngModel","ngModelChange","change"],["for","method-card",1,"form-check-label"],["aria-hidden","true",1,"fa","fa-fw","fa-credit-card"],["class","form-check form-check-inline mr-4",4,"ngIf"],["class","form-check form-check-inline",4,"ngIf"],["type","radio","name","Method","id","method-bank",1,"form-check-input",3,"value","ngModel","ngModelChange","change"],["for","method-bank",1,"form-check-label"],["aria-hidden","true",1,"fa","fa-fw","fa-university"],[1,"form-check","form-check-inline"],["type","radio","name","Method","id","method-paypal",1,"form-check-input",3,"value","ngModel","ngModelChange","change"],["for","method-paypal",1,"form-check-label"],["aria-hidden","true",1,"fa","fa-fw","fa-paypal"],["type","radio","name","Method","id","method-credit",1,"form-check-input",3,"value","ngModel","ngModelChange","change"],["for","method-credit",1,"form-check-label"],["aria-hidden","true",1,"fa","fa-fw","fa-dollar"],[1,"row"],[1,"form-group","col-4"],["for","stripe-card-number-element"],["id","stripe-card-number-element",1,"form-control","stripe-form-control"],[1,"form-group","col-8","d-flex","align-items-end"],["src","images/cards.png","alt","Visa, MasterCard, Discover, AmEx, JCB, Diners Club, UnionPay","width","323","height","32"],["for","stripe-card-expiry-element"],["id","stripe-card-expiry-element",1,"form-control","stripe-form-control"],[1,"d-flex"],["for","stripe-card-cvc-element"],["href","https://www.cvvnumber.com/cvv.html","tabindex","-1","target","_blank","rel","noopener noreferrer",1,"ml-auto",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],["id","stripe-card-cvc-element",1,"form-control","stripe-form-control"],["type","warning",3,"title"],[1,"form-group","col-6"],["for","routing_number"],["id","routing_number","type","text","name","routing_number","required","","appInputVerbatim","",1,"form-control",3,"ngModel","ngModelChange"],["for","account_number"],["id","account_number","type","text","name","account_number","required","","appInputVerbatim","",1,"form-control",3,"ngModel","ngModelChange"],["for","account_holder_name"],["id","account_holder_name","type","text","name","account_holder_name","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","account_holder_type"],["id","account_holder_type","name","account_holder_type","required","",1,"form-control",3,"ngModel","ngModelChange"],["value",""],["value","company"],["value","individual"],[1,"mb-3"],["id","bt-dropin-container",1,"mb-1"],[1,"text-muted"],["type","note"]],template:function(e,t){1&e&&(s.ɵɵtemplate(0,x,19,8,"div",0),s.ɵɵtext(1,"\n"),s.ɵɵtemplate(2,b,46,12,"ng-container",1),s.ɵɵtext(3,"\n"),s.ɵɵtemplate(4,S,60,34,"ng-container",1),s.ɵɵtext(5,"\n"),s.ɵɵtemplate(6,w,11,3,"ng-container",1),s.ɵɵtext(7,"\n"),s.ɵɵtemplate(8,C,6,3,"ng-container",1),s.ɵɵtext(9,"\n")),2&e&&(s.ɵɵproperty("ngIf",t.showOptions&&t.showMethods),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.showMethods&&t.method===t.paymentMethodType.Card),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.showMethods&&t.method===t.paymentMethodType.BankAccount),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.showMethods&&t.method===t.paymentMethodType.PayPal),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.showMethods&&t.method===t.paymentMethodType.Credit))},directives:[p.NgIf,u.RadioControlValueAccessor,u.DefaultValueAccessor,u.NgControlStatus,u.NgModel,d.A11yTitleDirective,m.CalloutComponent,u.RequiredValidator,h.InputVerbatimDirective,u.SelectControlValueAccessor,u.NgSelectOption,u.ɵangular_packages_forms_forms_x],pipes:[f.I18nPipe],encapsulation:2}),e}();t.PaymentComponent=P},,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Text=0]="Text",e[e.Hidden=1]="Hidden",e[e.Boolean=2]="Boolean"}(t.FieldType||(t.FieldType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.id=null,this.name=null,this.revisionDate=null,e&&(this.id=e.id,this.revisionDate=e.revisionDate)}}();t.FolderView=r},,,,,,,,,,,function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1&&(n=this.getFirstLetters(r,this.charCount)),null==n&&(n=r.substr(0,this.charCount)),a=this.getCharText(n),s=this.stringToColor(r),(l=this.getSvg(this.size,s)).appendChild(a),c=window.document.createElement("div").appendChild(l).outerHTML,p=window.btoa(unescape(encodeURIComponent(c))),this.src="data:image/svg+xml;base64,"+p,i.label=4;case 4:return[2]}})})},e.prototype.stringToColor=function(e){for(var t=0,n=0;n>8*n&255).toString(16)).substr(-2)}return r},e.prototype.getFirstLetters=function(e,t){var n=e.split(" ");if(n.length>1){for(var r="",i=0;i0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasAttachments",{get:function(){return this.attachments&&this.attachments.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasOldAttachments",{get:function(){if(this.hasAttachments)for(var e=0;e0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"passwordRevisionDisplayDate",{get:function(){return this.type!==r.CipherType.Login||null==this.login?null:null==this.login.password||""===this.login.password?null:this.login.passwordRevisionDate},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isDeleted",{get:function(){return null!=this.deletedDate},enumerable:!0,configurable:!0}),e}();t.CipherView=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(34),i=function(){function e(e){this.title=null,this.middleName=null,this.address1=null,this.address2=null,this.address3=null,this.city=null,this.state=null,this.postalCode=null,this.country=null,this.company=null,this.email=null,this.phone=null,this.ssn=null,this.username=null,this.passportNumber=null,this.licenseNumber=null,this._firstName=null,this._lastName=null,this._subTitle=null}return Object.defineProperty(e.prototype,"firstName",{get:function(){return this._firstName},set:function(e){this._firstName=e,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"lastName",{get:function(){return this._lastName},set:function(e){this._lastName=e,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(e.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(e.prototype,"fullName",{get:function(){if(null!=this.title||null!=this.firstName||null!=this.middleName||null!=this.lastName){var e="";return null!=this.title&&(e+=this.title+" "),null!=this.firstName&&(e+=this.firstName+" "),null!=this.middleName&&(e+=this.middleName+" "),null!=this.lastName&&(e+=this.lastName),e.trim()}return null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"fullAddress",{get:function(){var e=this.address1;return r.Utils.isNullOrWhitespace(this.address2)||(r.Utils.isNullOrWhitespace(e)||(e+=", "),e+=this.address2),r.Utils.isNullOrWhitespace(this.address3)||(r.Utils.isNullOrWhitespace(e)||(e+=", "),e+=this.address3),e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"fullAddressPart2",{get:function(){if(null==this.city&&null==this.state&&null==this.postalCode)return null;var e=this.city||"-",t=this.state,n=this.postalCode||"-",i=e;return r.Utils.isNullOrWhitespace(t)||(i+=", "+t),i+=", "+n},enumerable:!0,configurable:!0}),e}();t.IdentityView=i},,,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.id=e.id,this.organizationId=e.organizationId,this.name=e.name,this.externalId=e.externalId,this.readOnly=e.readOnly}}();t.CollectionData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(141),i=function(){return function(e){this.id=null,this.organizationId=null,this.name=null,this.externalId=null,this.readOnly=null,this.hidePasswords=null,e&&(this.id=e.id,this.organizationId=e.organizationId,this.externalId=e.externalId,e instanceof r.Collection&&(this.readOnly=e.readOnly,this.hidePasswords=e.hidePasswords))}}();t.CollectionView=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(40),i=n(479),o=n(480),a=n(481),s=n(482),l=n(483),c=n(590),p=n(485),u=function(){return function(e,t,n){if(null!=e){switch(this.id=e.id,this.organizationId=e.organizationId,this.folderId=e.folderId,this.userId=t,this.edit=e.edit,this.viewPassword=e.viewPassword,this.organizationUseTotp=e.organizationUseTotp,this.favorite=e.favorite,this.revisionDate=e.revisionDate,this.type=e.type,this.name=e.name,this.notes=e.notes,this.collectionIds=null!=n?n:e.collectionIds,this.deletedDate=e.deletedDate,this.type){case r.CipherType.Login:this.login=new l.LoginData(e.login);break;case r.CipherType.SecureNote:this.secureNote=new p.SecureNoteData(e.secureNote);break;case r.CipherType.Card:this.card=new o.CardData(e.card);break;case r.CipherType.Identity:this.identity=new s.IdentityData(e.identity)}null!=e.fields&&(this.fields=e.fields.map(function(e){return new a.FieldData(e)})),null!=e.attachments&&(this.attachments=e.attachments.map(function(e){return new i.AttachmentData(e)})),null!=e.passwordHistory&&(this.passwordHistory=e.passwordHistory.map(function(e){return new c.PasswordHistoryData(e)}))}}}();t.CipherData=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(34),i=function(){function e(e){this.username=null,this.password=null,this.passwordRevisionDate=null,this.totp=null,this.uris=null,e&&(this.passwordRevisionDate=e.passwordRevisionDate)}return Object.defineProperty(e.prototype,"uri",{get:function(){return this.hasUris?this.uris[0].uri:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"maskedPassword",{get:function(){return null!=this.password?"••••••••":null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"subTitle",{get:function(){return this.username},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canLaunch",{get:function(){return this.hasUris&&this.uris.some(function(e){return e.canLaunch})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasTotp",{get:function(){return!r.Utils.isNullOrWhitespace(this.totp)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"launchUri",{get:function(){if(this.hasUris){var e=this.uris.find(function(e){return e.canLaunch});if(null!=e)return e.launchUri}return null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasUris",{get:function(){return null!=this.uris&&this.uris.length>0},enumerable:!0,configurable:!0}),e}();t.LoginView=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Text=0]="Text",e[e.File=1]="File"}(t.SendType||(t.SendType={}))},,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.TwoFactorAuthentication=0]="TwoFactorAuthentication",e[e.MasterPassword=1]="MasterPassword",e[e.PasswordGenerator=2]="PasswordGenerator",e[e.SingleOrg=3]="SingleOrg",e[e.RequireSso=4]="RequireSso",e[e.PersonalOwnership=5]="PersonalOwnership"}(t.PolicyType||(t.PolicyType={}))},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?(p=[],[4,this.attachments.reduce(function(t,n){return t.then(function(){return n.decrypt(l,e)}).then(function(e){p.push(e)})},Promise.resolve())]):[3,13];case 12:a.sent(),t.attachments=p,a.label=13;case 13:return null!=this.fields&&this.fields.length>0?(u=[],[4,this.fields.reduce(function(t,n){return t.then(function(){return n.decrypt(l,e)}).then(function(e){u.push(e)})},Promise.resolve())]):[3,15];case 14:a.sent(),t.fields=u,a.label=15;case 15:return null!=this.passwordHistory&&this.passwordHistory.length>0?(d=[],[4,this.passwordHistory.reduce(function(t,n){return t.then(function(){return n.decrypt(l,e)}).then(function(e){d.push(e)})},Promise.resolve())]):[3,17];case 16:a.sent(),t.passwordHistory=d,a.label=17;case 17:return[2,t]}})})},t.prototype.toCipherData=function(e){var t=new l.CipherData;switch(t.id=this.id,t.organizationId=this.organizationId,t.folderId=this.folderId,t.userId=null!=this.organizationId?e:null,t.edit=this.edit,t.viewPassword=this.viewPassword,t.organizationUseTotp=this.organizationUseTotp,t.favorite=this.favorite,t.revisionDate=null!=this.revisionDate?this.revisionDate.toISOString():null,t.type=this.type,t.collectionIds=this.collectionIds,t.deletedDate=null!=this.deletedDate?this.deletedDate.toISOString():null,this.buildDataModel(this,t,{name:null,notes:null}),t.type){case s.CipherType.Login:t.login=this.login.toLoginData();break;case s.CipherType.SecureNote:t.secureNote=this.secureNote.toSecureNoteData();break;case s.CipherType.Card:t.card=this.card.toCardData();break;case s.CipherType.Identity:t.identity=this.identity.toIdentityData()}return null!=this.fields&&(t.fields=this.fields.map(function(e){return e.toFieldData()})),null!=this.attachments&&(t.attachments=this.attachments.map(function(e){return e.toAttachmentData()})),null!=this.passwordHistory&&(t.passwordHistory=this.passwordHistory.map(function(e){return e.toPasswordHistoryData()})),t},t}(d.default);t.Cipher=g},,,,,,,,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.name=null,this.value=null,this.type=null,this.newField=!1,this.showValue=!1,e&&(this.type=e.type)}return Object.defineProperty(e.prototype,"maskedValue",{get:function(){return null!=this.value?"••••••••":null},enumerable:!0,configurable:!0}),e}();t.FieldView=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(40),i=n(594),o=n(595),a=n(596),s=n(597),l=n(598),c=n(599),p=n(865),u=function(){return function(e){var t=this;switch(this.type=e.type,this.folderId=e.folderId,this.organizationId=e.organizationId,this.name=e.name?e.name.encryptedString:null,this.notes=e.notes?e.notes.encryptedString:null,this.favorite=e.favorite,this.lastKnownRevisionDate=e.revisionDate,this.type){case r.CipherType.Login:this.login=new s.LoginApi,this.login.uris=null,this.login.username=e.login.username?e.login.username.encryptedString:null,this.login.password=e.login.password?e.login.password.encryptedString:null,this.login.passwordRevisionDate=null!=e.login.passwordRevisionDate?e.login.passwordRevisionDate.toISOString():null,this.login.totp=e.login.totp?e.login.totp.encryptedString:null,null!=e.login.uris&&(this.login.uris=e.login.uris.map(function(e){var t=new l.LoginUriApi;return t.uri=null!=e.uri?e.uri.encryptedString:null,t.match=null!=e.match?e.match:null,t}));break;case r.CipherType.SecureNote:this.secureNote=new c.SecureNoteApi,this.secureNote.type=e.secureNote.type;break;case r.CipherType.Card:this.card=new i.CardApi,this.card.cardholderName=null!=e.card.cardholderName?e.card.cardholderName.encryptedString:null,this.card.brand=null!=e.card.brand?e.card.brand.encryptedString:null,this.card.number=null!=e.card.number?e.card.number.encryptedString:null,this.card.expMonth=null!=e.card.expMonth?e.card.expMonth.encryptedString:null,this.card.expYear=null!=e.card.expYear?e.card.expYear.encryptedString:null,this.card.code=null!=e.card.code?e.card.code.encryptedString:null;break;case r.CipherType.Identity:this.identity=new a.IdentityApi,this.identity.title=null!=e.identity.title?e.identity.title.encryptedString:null,this.identity.firstName=null!=e.identity.firstName?e.identity.firstName.encryptedString:null,this.identity.middleName=null!=e.identity.middleName?e.identity.middleName.encryptedString:null,this.identity.lastName=null!=e.identity.lastName?e.identity.lastName.encryptedString:null,this.identity.address1=null!=e.identity.address1?e.identity.address1.encryptedString:null,this.identity.address2=null!=e.identity.address2?e.identity.address2.encryptedString:null,this.identity.address3=null!=e.identity.address3?e.identity.address3.encryptedString:null,this.identity.city=null!=e.identity.city?e.identity.city.encryptedString:null,this.identity.state=null!=e.identity.state?e.identity.state.encryptedString:null,this.identity.postalCode=null!=e.identity.postalCode?e.identity.postalCode.encryptedString:null,this.identity.country=null!=e.identity.country?e.identity.country.encryptedString:null,this.identity.company=null!=e.identity.company?e.identity.company.encryptedString:null,this.identity.email=null!=e.identity.email?e.identity.email.encryptedString:null,this.identity.phone=null!=e.identity.phone?e.identity.phone.encryptedString:null,this.identity.ssn=null!=e.identity.ssn?e.identity.ssn.encryptedString:null,this.identity.username=null!=e.identity.username?e.identity.username.encryptedString:null,this.identity.passportNumber=null!=e.identity.passportNumber?e.identity.passportNumber.encryptedString:null,this.identity.licenseNumber=null!=e.identity.licenseNumber?e.identity.licenseNumber.encryptedString:null}null!=e.fields&&(this.fields=e.fields.map(function(e){var t=new o.FieldApi;return t.type=e.type,t.name=e.name?e.name.encryptedString:null,t.value=e.value?e.value.encryptedString:null,t})),null!=e.passwordHistory&&(this.passwordHistory=[],e.passwordHistory.forEach(function(e){t.passwordHistory.push({lastUsedDate:e.lastUsedDate,password:e.password?e.password.encryptedString:null})})),null!=e.attachments&&(this.attachments={},this.attachments2={},e.attachments.forEach(function(e){var n=e.fileName?e.fileName.encryptedString:null;t.attachments[e.id]=n;var r=new p.AttachmentRequest;r.fileName=n,null!=e.key&&(r.key=e.key.encryptedString),t.attachments2[e.id]=r}))}}();t.CipherRequest=u},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0),n(72);var r=n(8),i=(n(3),n(0)),o=n(8),a=n(72),s=n(3),l=function(){function e(e,t,n,i){var o=this;this.router=e,this.activatedRoute=t,this.titleService=n,this.previousUrl=void 0,this.currentUrl=void 0,this.currentUrl=this.router.url,e.events.subscribe(function(e){if(e instanceof r.NavigationEnd){o.previousUrl=o.currentUrl,o.currentUrl=e.url;for(var t=i.t("pageTitle","Bitwarden"),n=null,a=null,s=o.activatedRoute.firstChild;null!=s;){if(null==s.firstChild){if(null!=s.snapshot.data&&null!=s.snapshot.data.title){a=s.snapshot.data.title;break}if(null!=s.snapshot.data&&null!=s.snapshot.data.titleId){n=s.snapshot.data.titleId;break}n=null,a=null;break}s=s.firstChild}if(null!=n||null!=a){var l=null!=a?a:i.t(n);null!=l&&""!==l&&(t=l+" | "+t)}o.titleService.setTitle(t)}})}return e.prototype.getPreviousUrl=function(){return this.previousUrl},e.prototype.setPreviousUrl=function(e){this.previousUrl=e},e.ɵfac=function(t){return new(t||e)(i.ɵɵinject(o.Router),i.ɵɵinject(o.ActivatedRoute),i.ɵɵinject(a.Title),i.ɵɵinject(s.I18nService))},e.ɵprov=i.ɵɵdefineInjectable({token:e,factory:e.ɵfac}),e}();t.RouterService=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.PBKDF2_SHA256=0]="PBKDF2_SHA256"}(t.KdfType||(t.KdfType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0),n(3);var r=n(0),i=n(3),o=n(4);function a(e,t){if(1&e&&(r.ɵɵelementContainerStart(0),r.ɵɵtext(1),r.ɵɵelementContainerEnd()),2&e){var n=r.ɵɵnextContext();r.ɵɵadvance(1),r.ɵɵtextInterpolate1("\n ",n.text,"\n ")}}var s=function(e){return{width:e}},l=function(){function e(e){this.i18nService=e,this.showText=!1,this.scoreWidth=0,this.color="bg-danger"}return e.prototype.ngOnChanges=function(){switch(this.scoreWidth=null==this.score?0:20*(this.score+1),this.score){case 4:this.color="bg-success",this.text=this.i18nService.t("strong");break;case 3:this.color="bg-primary",this.text=this.i18nService.t("good");break;case 2:this.color="bg-warning",this.text=this.i18nService.t("weak");break;default:this.color="bg-danger",this.text=null!=this.score?this.i18nService.t("weak"):null}},e.ɵfac=function(t){return new(t||e)(r.ɵɵdirectiveInject(i.I18nService))},e.ɵcmp=r.ɵɵdefineComponent({type:e,selectors:[["app-password-strength"]],inputs:{score:"score",showText:"showText"},features:[r.ɵɵNgOnChangesFeature],decls:8,vars:8,consts:[[1,"progress"],["role","progressbar","aria-valuemin","0","aria-valuemax","100",3,"ngStyle"],[4,"ngIf"]],template:function(e,t){1&e&&(r.ɵɵelementStart(0,"div",0),r.ɵɵtext(1,"\n "),r.ɵɵelementStart(2,"div",1),r.ɵɵtext(3,"\n "),r.ɵɵtemplate(4,a,2,1,"ng-container",2),r.ɵɵtext(5,"\n "),r.ɵɵelementEnd(),r.ɵɵtext(6,"\n"),r.ɵɵelementEnd(),r.ɵɵtext(7,"\n")),2&e&&(r.ɵɵadvance(2),r.ɵɵclassMapInterpolate1("progress-bar ",t.color,""),r.ɵɵproperty("ngStyle",r.ɵɵpureFunction1(6,s,t.scoreWidth+"%")),r.ɵɵattribute("aria-valuenow",t.scoreWidth),r.ɵɵadvance(2),r.ɵɵproperty("ngIf",t.showText&&t.text))},directives:[o.NgStyle,o.NgIf],encapsulation:2}),e}();t.PasswordStrengthComponent=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Invited=0]="Invited",e[e.Accepted=1]="Accepted",e[e.Confirmed=2]="Confirmed"}(t.OrganizationUserStatusType||(t.OrganizationUserStatusType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(){}return e.prototype.transform=function(e,t,n,r,i){return null==e||0===e.length?[]:null==t||t.length<2?e:(t=t.trim().toLowerCase(),e.filter(function(e){return null!=n&&null!=e[n]&&e[n].toString().toLowerCase().indexOf(t)>-1||(null!=r&&null!=e[r]&&e[r].toString().toLowerCase().indexOf(t)>-1||null!=i&&null!=e[i]&&e[i].toString().toLowerCase().indexOf(t)>-1)}))},e.ɵfac=function(t){return new(t||e)},e.ɵpipe=r.ɵɵdefinePipe({name:"search",type:e,pure:!0}),e}();t.SearchPipe=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0),n(3);var r=n(277),i=n(251),o=n(0),a=n(3),s=function(){function e(e){this.i18nService=e}return e.prototype.getDefaultDateFilters=function(){var e=new Date,t=new Date(e.getFullYear(),e.getMonth(),e.getDate(),23,59);e.setDate(e.getDate()-30);var n=new Date(e.getFullYear(),e.getMonth(),e.getDate(),0,0);return[this.toDateTimeLocalString(n),this.toDateTimeLocalString(t)]},e.prototype.formatDateFilters=function(e,t){var n=new Date(e),r=new Date(t+":59.999");if(isNaN(n.getTime())||isNaN(r.getTime())||r"+n+"";var r=this.makeAnchor(n);return r.setAttribute("href","#/organizations/"+e.organizationId+"/vault?search="+n+"&viewEvents="+e.cipherId),r.outerHTML},e.prototype.formatGroupId=function(e){var t=this.getShortId(e.groupId),n=this.makeAnchor(t);return n.setAttribute("href","#/organizations/"+e.organizationId+"/manage/groups?search="+t),n.outerHTML},e.prototype.formatCollectionId=function(e){var t=this.getShortId(e.collectionId),n=this.makeAnchor(t);return n.setAttribute("href","#/organizations/"+e.organizationId+"/manage/collections?search="+t),n.outerHTML},e.prototype.formatOrgUserId=function(e){var t=this.getShortId(e.organizationUserId),n=this.makeAnchor(t);return n.setAttribute("href","#/organizations/"+e.organizationId+"/manage/people?search="+t+"&viewEvents="+e.organizationUserId),n.outerHTML},e.prototype.formatPolicyId=function(e){var t=this.getShortId(e.policyId),n=this.makeAnchor(t);return n.setAttribute("href","#/organizations/"+e.organizationId+"/manage/policies?policyId="+e.policyId),n.outerHTML},e.prototype.makeAnchor=function(e){var t=document.createElement("a");return t.title=this.i18nService.t("view"),t.innerHTML=""+e+"",t},e.prototype.getShortId=function(e){return e.substring(0,8)},e.prototype.toDateTimeLocalString=function(e){return e.getFullYear()+"-"+this.pad(e.getMonth()+1)+"-"+this.pad(e.getDate())+"T"+this.pad(e.getHours())+":"+this.pad(e.getMinutes())},e.prototype.pad=function(e){var t=Math.floor(Math.abs(e));return(t<10?"0":"")+t},e.ɵfac=function(t){return new(t||e)(o.ɵɵinject(a.I18nService))},e.ɵprov=o.ɵɵdefineInjectable({token:e,factory:e.ɵfac}),e}();t.EventService=s;var l=function(){return function(){}}();t.EventInfo=l;var c=function(){return function(){this.cipherInfo=!0}}();t.EventOptions=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.User_LoggedIn=1e3]="User_LoggedIn",e[e.User_ChangedPassword=1001]="User_ChangedPassword",e[e.User_Updated2fa=1002]="User_Updated2fa",e[e.User_Disabled2fa=1003]="User_Disabled2fa",e[e.User_Recovered2fa=1004]="User_Recovered2fa",e[e.User_FailedLogIn=1005]="User_FailedLogIn",e[e.User_FailedLogIn2fa=1006]="User_FailedLogIn2fa",e[e.User_ClientExportedVault=1007]="User_ClientExportedVault",e[e.Cipher_Created=1100]="Cipher_Created",e[e.Cipher_Updated=1101]="Cipher_Updated",e[e.Cipher_Deleted=1102]="Cipher_Deleted",e[e.Cipher_AttachmentCreated=1103]="Cipher_AttachmentCreated",e[e.Cipher_AttachmentDeleted=1104]="Cipher_AttachmentDeleted",e[e.Cipher_Shared=1105]="Cipher_Shared",e[e.Cipher_UpdatedCollections=1106]="Cipher_UpdatedCollections",e[e.Cipher_ClientViewed=1107]="Cipher_ClientViewed",e[e.Cipher_ClientToggledPasswordVisible=1108]="Cipher_ClientToggledPasswordVisible",e[e.Cipher_ClientToggledHiddenFieldVisible=1109]="Cipher_ClientToggledHiddenFieldVisible",e[e.Cipher_ClientToggledCardCodeVisible=1110]="Cipher_ClientToggledCardCodeVisible",e[e.Cipher_ClientCopiedPassword=1111]="Cipher_ClientCopiedPassword",e[e.Cipher_ClientCopiedHiddenField=1112]="Cipher_ClientCopiedHiddenField",e[e.Cipher_ClientCopiedCardCode=1113]="Cipher_ClientCopiedCardCode",e[e.Cipher_ClientAutofilled=1114]="Cipher_ClientAutofilled",e[e.Cipher_SoftDeleted=1115]="Cipher_SoftDeleted",e[e.Cipher_Restored=1116]="Cipher_Restored",e[e.Collection_Created=1300]="Collection_Created",e[e.Collection_Updated=1301]="Collection_Updated",e[e.Collection_Deleted=1302]="Collection_Deleted",e[e.Group_Created=1400]="Group_Created",e[e.Group_Updated=1401]="Group_Updated",e[e.Group_Deleted=1402]="Group_Deleted",e[e.OrganizationUser_Invited=1500]="OrganizationUser_Invited",e[e.OrganizationUser_Confirmed=1501]="OrganizationUser_Confirmed",e[e.OrganizationUser_Updated=1502]="OrganizationUser_Updated",e[e.OrganizationUser_Removed=1503]="OrganizationUser_Removed",e[e.OrganizationUser_UpdatedGroups=1504]="OrganizationUser_UpdatedGroups",e[e.OrganizationUser_UnlinkedSso=1505]="OrganizationUser_UnlinkedSso",e[e.Organization_Updated=1600]="Organization_Updated",e[e.Organization_PurgedVault=1601]="Organization_PurgedVault",e[e.Policy_Updated=1700]="Policy_Updated"}(t.EventType||(t.EventType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Card=0]="Card",e[e.BankAccount=1]="BankAccount",e[e.PayPal=2]="PayPal",e[e.BitPay=3]="BitPay",e[e.Credit=4]="Credit",e[e.WireTransfer=5]="WireTransfer",e[e.AppleInApp=6]="AppleInApp",e[e.GoogleInApp=7]="GoogleInApp",e[e.Check=8]="Check"}(t.PaymentMethodType||(t.PaymentMethodType={}))},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]4?(t=Math.floor(this.totpCode.length/2),this.totpCodeFormatted=this.totpCode.substring(0,t)+" "+this.totpCode.substring(t)):this.totpCodeFormatted=this.totpCode:(this.totpCodeFormatted=null,this.totpInterval&&window.clearInterval(this.totpInterval)),[2]}})})},t.prototype.allowOwnershipAssignment=function(){return(!this.editMode||this.cloneMode)&&null!=this.ownershipOptions&&(this.ownershipOptions.length>1||!this.allowPersonal)},t.prototype.totpTick=function(e){return o(this,void 0,void 0,function(){var t,n;return a(this,function(r){switch(r.label){case 0:return t=Math.round((new Date).getTime()/1e3),n=t%e,this.totpSec=e-n,this.totpDash=+(Math.round(78.6/e*n+"e+2")+"e-2"),this.totpLow=this.totpSec<=7,0!==n?[3,2]:[4,this.totpUpdateCode()];case 1:r.sent(),r.label=2;case 2:return[2]}})})},t.ɵfac=function(e){return new(e||t)(p.ɵɵdirectiveInject(u.CipherService),p.ɵɵdirectiveInject(d.FolderService),p.ɵɵdirectiveInject(m.I18nService),p.ɵɵdirectiveInject(h.PlatformUtilsService),p.ɵɵdirectiveInject(f.AuditService),p.ɵɵdirectiveInject(v.StateService),p.ɵɵdirectiveInject(y.UserService),p.ɵɵdirectiveInject(g.CollectionService),p.ɵɵdirectiveInject(x.TotpService),p.ɵɵdirectiveInject(b.PasswordGenerationService),p.ɵɵdirectiveInject(S.MessagingService),p.ɵɵdirectiveInject(w.EventService),p.ɵɵdirectiveInject(C.PolicyService))},t.ɵcmp=p.ɵɵdefineComponent({type:t,selectors:[["app-vault-add-edit"]],features:[p.ɵɵInheritDefinitionFeature],decls:36,vars:11,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","cipherAddEditTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],["ngNativeValidate","","autocomplete","off",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","cipherAddEditTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit","class","btn btn-primary btn-submit",3,"disabled",4,"ngIf"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],["class","ml-auto",4,"ngIf"],[1,"modal-body"],["type","info",4,"ngIf"],["class","row",4,"ngIf"],[1,"row"],[1,"col-6","form-group"],["for","name"],["id","name","type","text","name","Name","required","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["class","col-6 form-group",4,"ngIf"],[4,"ngIf"],[1,"form-group"],["for","notes"],["id","notes","name","Notes","rows","6",1,"form-control",3,"ngModel","disabled","ngModelChange"],[1,"mt-4"],["cdkDropList","",3,"cdkDropListDropped",4,"ngIf"],["href","#","appStopClick","","class","d-inline-block mb-2",3,"click",4,"ngIf"],["type","info"],["for","type"],["id","type","name","Type","appAutofocus","",1,"form-control",3,"ngModel","disabled","ngModelChange"],[3,"ngValue",4,"ngFor","ngForOf"],[3,"ngValue"],["for","folder"],["id","folder","name","FolderId",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","loginUsername"],[1,"input-group"],["id","loginUsername","type","text","name","Login.Username","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["class","input-group-append",4,"ngIf"],[1,"d-flex"],["for","loginPassword"],["class","ml-auto d-flex",4,"ngIf"],["id","loginPassword","name","Login.Password","appInputVerbatim","","autocomplete","new-password",1,"form-control","text-monospace",3,"type","ngModel","disabled","ngModelChange"],[1,"input-group-append"],["type","button","tabindex","-1",1,"btn","btn-outline-secondary",3,"appA11yTitle","disabled","click"],["aria-hidden","true",1,"fa","fa-lg",3,"ngClass"],["aria-hidden","true",1,"fa","fa-lg","fa-clone"],["for","loginTotp"],["id","loginTotp","name","Login.Totp","appInputVerbatim","",1,"form-control","text-monospace",3,"type","ngModel","disabled","ngModelChange"],[1,"col-6","form-group","totp","d-flex","align-items-end",3,"ngClass"],["class","d-flex align-items-center",4,"ngIf"],["href","#","appStopClick","","class","d-inline-block mb-3",3,"click",4,"ngIf"],["type","button","tabindex","-1",1,"btn","btn-outline-secondary",3,"appA11yTitle","click"],[1,"ml-auto","d-flex"],["href","#","class","d-block mr-2","appStopClick","",3,"appA11yTitle","click",4,"ngIf"],["href","#","appStopClick","",1,"d-block",3,"appA11yTitle","appApiAction","click"],["checkPasswordBtn",""],["aria-hidden","true",1,"fa","fa-lg","fa-fw","fa-check-circle",3,"hidden"],["aria-hidden","true",1,"fa","fa-lg","fa-fw","fa-spinner","fa-spin",3,"hidden","title"],["href","#","appStopClick","",1,"d-block","mr-2",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-lg","fa-fw","fa-refresh"],["src","images/totp-countdown.png",1,"ml-2",3,"title"],["href","#","appStopClick","","class","badge badge-primary ml-3",3,"click",4,"ngIf"],["href","#","appStopClick","",1,"badge","badge-primary","ml-3",3,"click"],[1,"d-flex","align-items-center"],[1,"totp-countdown","mr-3","ml-2"],[1,"totp-sec"],["r","12.6","cy","16","cx","16",1,"totp-circle","inner",3,"ngStyle"],["r","14","cy","16","cx","16",1,"totp-circle","outer"],[1,"totp-code","mr-2",3,"title"],["type","button",1,"btn","btn-link",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-clone"],["class","row",4,"ngFor","ngForOf","ngForTrackBy"],[1,"col-7","form-group"],[3,"for"],["type","text","appInputVerbatim","",1,"form-control",3,"id","name","ngModel","disabled","placeholder","ngModelChange"],["aria-hidden","true",1,"fa","fa-lg","fa-share"],[1,"col-5","form-group"],["href","https://help.bitwarden.com/article/uri-match-detection/","target","_blank","rel","noopener",1,"ml-auto",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],[1,"form-control","overflow-hidden",3,"id","name","ngModel","disabled","ngModelChange","change"],["type","button","class","btn btn-link text-danger ml-2",3,"appA11yTitle","click",4,"ngIf"],["type","button",1,"btn","btn-link","text-danger","ml-2",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-minus-circle","fa-lg"],["href","#","appStopClick","",1,"d-inline-block","mb-3",3,"click"],["aria-hidden","true",1,"fa","fa-plus-circle","fa-fw"],["for","cardCardholderName"],["id","cardCardholderName","type","text","name","Card.CardCardholderName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","cardBrand"],["id","cardBrand","name","Card.Brand",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","cardNumber"],["id","cardNumber","type","text","name","Card.Number","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],[1,"col","form-group"],["for","cardExpMonth"],["id","cardExpMonth","name","Card.ExpMonth",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","cardExpYear"],["id","cardExpYear","type","text","name","Card.ExpYear",1,"form-control",3,"ngModel","placeholder","disabled","ngModelChange"],["for","cardCode"],["id","cardCode","name","Card.Code","appInputVerbatim","","autocomplete","new-password",1,"form-control","text-monospace",3,"type","ngModel","disabled","ngModelChange"],[1,"col-4","form-group"],["for","idTitle"],["id","idTitle","name","Identity.Title",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idFirstName"],["id","idFirstName","type","text","name","Identity.FirstName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idMiddleName"],["id","idMiddleName","type","text","name","Identity.MiddleName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idLastName"],["id","idLastName","type","text","name","Identity.LastName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idUsername"],["id","idUsername","type","text","name","Identity.Username","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idCompany"],["id","idCompany","type","text","name","Identity.Company",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idSsn"],["id","idSsn","type","text","name","Identity.SSN","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idPassportNumber"],["id","idPassportNumber","type","text","name","Identity.PassportNumber","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idLicenseNumber"],["id","idLicenseNumber","type","text","name","Identity.LicenseNumber","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idEmail"],["id","idEmail","type","text","name","Identity.Email","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idPhone"],["id","idPhone","type","text","name","Identity.Phone",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idAddress1"],["id","idAddress1","type","text","name","Identity.Address1",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idAddress2"],["id","idAddress2","type","text","name","Identity.Address2",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idAddress3"],["id","idAddress3","type","text","name","Identity.Address3",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idCity"],["id","idCity","type","text","name","Identity.City",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idState"],["id","idState","type","text","name","Identity.State",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idPostalCode"],["id","idPostalCode","type","text","name","Identity.PostalCode",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idCountry"],["id","idCountry","type","text","name","Identity.Country",1,"form-control",3,"ngModel","disabled","ngModelChange"],["cdkDropList","",3,"cdkDropListDropped"],["class","row","cdkDrag","",4,"ngFor","ngForOf","ngForTrackBy"],["cdkDrag","",1,"row"],["href","https://help.bitwarden.com/article/custom-fields/","target","_blank","rel","noopener",1,"ml-auto",3,"appA11yTitle"],["type","text","appInputVerbatim","",1,"form-control",3,"id","name","ngModel","disabled","ngModelChange"],["class","input-group",4,"ngIf"],[1,"flex-fill"],["type","checkbox","appTrueFalseValue","","trueValue","true","falseValue","false",3,"id","name","ngModel","disabled","ngModelChange",4,"ngIf"],["type","button","class","btn btn-link text-muted cursor-move",3,"appA11yTitle",4,"ngIf"],["appInputVerbatim","","autocomplete","new-password",1,"form-control","text-monospace",3,"id","type","name","ngModel","disabled","ngModelChange"],["type","checkbox","appTrueFalseValue","","trueValue","true","falseValue","false",3,"id","name","ngModel","disabled","ngModelChange"],["type","button",1,"btn","btn-link","text-muted","cursor-move",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-bars","fa-lg"],["href","#","appStopClick","",1,"d-inline-block","mb-2",3,"click"],[1,"col-5"],["for","addFieldType",1,"sr-only"],["id","addFieldType","name","AddFieldType",1,"form-control",3,"ngModel","ngModelChange"],["for","organizationId"],["id","organizationId","name","OrganizationId",1,"form-control",3,"ngModel","disabled","ngModelChange","change"],["class","form-check",4,"ngFor","ngForOf"],[1,"form-check"],["type","checkbox",1,"form-check-input",3,"ngModel","id","name","disabled","ngModelChange"],[1,"form-check-label",3,"for"],[1,"small","text-muted","mt-4"],[1,"font-weight-semibold"],["class","ml-3",4,"ngIf"],["href","#","appStopClick","",3,"title","click"],[1,"ml-3"],[4,"ngFor","ngForOf"],[1,"password-wrapper","text-monospace","ml-2"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],[1,"ml-auto"],["type","button","class","btn btn-link",3,"appA11yTitle","click",4,"ngIf"],["type","button","class","btn btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click",4,"ngIf"],["type","button",1,"btn","btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click"],["deleteBtn",""],["aria-hidden","true",1,"fa","fa-trash-o","fa-lg","fa-fw",3,"hidden"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","fa-lg","fa-fw",3,"hidden","title"]],template:function(e,t){1&e&&(p.ɵɵelementStart(0,"div",0),p.ɵɵtext(1,"\n "),p.ɵɵelementStart(2,"div",1),p.ɵɵtext(3,"\n "),p.ɵɵelementStart(4,"form",2,3),p.ɵɵlistener("ngSubmit",function(){return t.submit()}),p.ɵɵtext(6,"\n "),p.ɵɵelementStart(7,"div",4),p.ɵɵtext(8,"\n "),p.ɵɵelementStart(9,"h2",5),p.ɵɵtext(10),p.ɵɵelementEnd(),p.ɵɵtext(11,"\n "),p.ɵɵelementStart(12,"button",6),p.ɵɵpipe(13,"i18n"),p.ɵɵtext(14,"\n "),p.ɵɵelementStart(15,"span",7),p.ɵɵtext(16,"×"),p.ɵɵelementEnd(),p.ɵɵtext(17,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(18,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(19,"\n "),p.ɵɵtemplate(20,_e,54,25,"div",8),p.ɵɵtext(21,"\n "),p.ɵɵelementStart(22,"div",9),p.ɵɵtext(23,"\n "),p.ɵɵtemplate(24,Ae,9,7,"button",10),p.ɵɵtext(25,"\n "),p.ɵɵelementStart(26,"button",11),p.ɵɵtext(27),p.ɵɵpipe(28,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(29,"\n "),p.ɵɵtemplate(30,Be,6,2,"div",12),p.ɵɵtext(31,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(32,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(33,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(34,"\n"),p.ɵɵelementEnd(),p.ɵɵtext(35,"\n")),2&e&&(p.ɵɵadvance(4),p.ɵɵproperty("appApiAction",t.formPromise),p.ɵɵadvance(6),p.ɵɵtextInterpolate(t.title),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("appA11yTitle",p.ɵɵpipeBind1(13,7,"close")),p.ɵɵadvance(8),p.ɵɵproperty("ngIf",t.cipher),p.ɵɵadvance(4),p.ɵɵproperty("ngIf",!t.viewOnly),p.ɵɵadvance(3),p.ɵɵtextInterpolate1("\n ",p.ɵɵpipeBind1(28,9,t.viewOnly?"close":"cancel"),"\n "),p.ɵɵadvance(3),p.ɵɵproperty("ngIf",t.cipher&&!t.viewOnly))},directives:[I.NgControlStatusGroup,I.NgForm,E.ApiActionDirective,P.A11yTitleDirective,k.NgIf,I.DefaultValueAccessor,I.RequiredValidator,I.NgControlStatus,I.NgModel,_.CalloutComponent,I.SelectControlValueAccessor,A.AutofocusDirective,k.NgForOf,I.NgSelectOption,I.ɵangular_packages_forms_forms_x,O.InputVerbatimDirective,k.NgClass,T.StopClickDirective,k.NgStyle,M.CdkDropList,M.CdkDrag,B.TrueFalseValueDirective,I.CheckboxControlValueAccessor],pipes:[D.I18nPipe,k.DatePipe],encapsulation:2}),t}(c.AddEditComponent);t.AddEditComponent=De},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.ImportService=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]500?500:this.ciphers.length,n=0;n0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]r){if(o===a.TwoFactorProviderType.U2f&&!e)return;n=o,r=s.priority}}),n},e.prototype.makePreloginKey=function(e,t){return i(this,void 0,void 0,function(){var n,r,i,a;return o(this,function(o){switch(o.label){case 0:t=t.trim().toLowerCase(),n=null,r=null,o.label=1;case 1:return o.trys.push([1,3,,4]),[4,this.apiService.postPrelogin(new p.PreloginRequest(t))];case 2:return null!=(i=o.sent())&&(n=i.kdf,r=i.kdfIterations),[3,4];case 3:if(null==(a=o.sent())||404!==a.statusCode)throw a;return[3,4];case 4:return[2,this.cryptoService.makeKey(e,t,n,r)]}})})},e.prototype.authingWithApiKey=function(){return null!=this.clientId&&null!=this.clientSecret},e.prototype.authingWithSso=function(){return null!=this.code&&null!=this.codeVerifier&&null!=this.ssoRedirectUrl},e.prototype.authingWithPassword=function(){return null!=this.email&&null!=this.masterPasswordHash},e.prototype.logInHelper=function(e,t,n,r,p,d,m,h,f,v,y){return i(this,void 0,void 0,function(){var i,g,x,b,S,w,C,I,E,P,k,_,A;return o(this,function(o){switch(o.label){case 0:return[4,this.tokenService.getTwoFactorToken(e)];case 1:return i=o.sent(),[4,this.appIdService.getAppId()];case 2:return g=o.sent(),x=new l.DeviceRequest(g,this.platformUtilsService),b=[],S=[],w=[],b=null!=e&&null!=t?[e,t]:null,S=null!=n&&null!=r&&null!=p?[n,r,p]:null,w=null!=d&&null!=m?[d,m]:null,C=null!=v&&null!=f?new u.TokenRequest(b,S,w,f,v,y,x):null!=i?new u.TokenRequest(b,S,w,a.TwoFactorProviderType.Remember,i,!1,x):new u.TokenRequest(b,S,w,null,null,!1,x),[4,this.apiService.postIdentityToken(C)];case 3:return I=o.sent(),this.clearState(),(E=new s.AuthResult).twoFactor=!I.accessToken,E.twoFactor?(P=I,this.email=e,this.masterPasswordHash=t,this.code=n,this.codeVerifier=r,this.ssoRedirectUrl=p,this.clientId=d,this.clientSecret=m,this.key=this.setCryptoKeys?h:null,this.twoFactorProvidersData=P.twoFactorProviders2,E.twoFactorProviders=P.twoFactorProviders2,[2,E]):(k=I,E.resetMasterPassword=k.resetMasterPassword,null==k.twoFactorToken?[3,5]:[4,this.tokenService.setTwoFactorToken(k.twoFactorToken,e)]);case 4:o.sent(),o.label=5;case 5:return[4,this.tokenService.setTokens(k.accessToken,k.refreshToken)];case 6:return o.sent(),[4,this.userService.setInformation(this.tokenService.getUserId(),this.tokenService.getEmail(),k.kdf,k.kdfIterations)];case 7:return o.sent(),this.setCryptoKeys?null==h?[3,9]:[4,this.cryptoService.setKey(h)]:[3,19];case 8:o.sent(),o.label=9;case 9:return null==t?[3,11]:[4,this.cryptoService.setKeyHash(t)];case 10:o.sent(),o.label=11;case 11:return null!=n&&null==k.key?[3,19]:[4,this.cryptoService.setEncKey(k.key)];case 12:if(o.sent(),null!=k.privateKey)return[3,17];o.label=13;case 13:return o.trys.push([13,16,,17]),[4,this.cryptoService.makeKeyPair()];case 14:return _=o.sent(),[4,this.apiService.postAccountKeys(new c.KeysRequest(_[0],_[1].encryptedString))];case 15:return o.sent(),k.privateKey=_[1].encryptedString,[3,17];case 16:return A=o.sent(),this.logService.error(A),[3,17];case 17:return[4,this.cryptoService.setEncPrivateKey(k.privateKey)];case 18:o.sent(),o.label=19;case 19:return null!=this.vaultTimeoutService&&(this.vaultTimeoutService.biometricLocked=!1),this.messagingService.send("loggedIn"),[2,E]}})})},e.prototype.clearState=function(){this.key=null,this.email=null,this.masterPasswordHash=null,this.code=null,this.codeVerifier=null,this.ssoRedirectUrl=null,this.clientId=null,this.clientSecret=null,this.twoFactorProvidersData=null,this.selectedTwoFactorProviderType=null},e}();t.AuthService=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t,n){this.id=e,this.readOnly=t,this.hidePasswords=n}}();t.SelectionReadOnlyRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Owner=0]="Owner",e[e.Admin=1]="Admin",e[e.User=2]="User",e[e.Manager=3]="Manager",e[e.Custom=4]="Custom"}(t.OrganizationUserType||(t.OrganizationUserType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Android=0]="Android",e[e.iOS=1]="iOS",e[e.ChromeExtension=2]="ChromeExtension",e[e.FirefoxExtension=3]="FirefoxExtension",e[e.OperaExtension=4]="OperaExtension",e[e.EdgeExtension=5]="EdgeExtension",e[e.WindowsDesktop=6]="WindowsDesktop",e[e.MacOsDesktop=7]="MacOsDesktop",e[e.LinuxDesktop=8]="LinuxDesktop",e[e.ChromeBrowser=9]="ChromeBrowser",e[e.FirefoxBrowser=10]="FirefoxBrowser",e[e.OperaBrowser=11]="OperaBrowser",e[e.EdgeBrowser=12]="EdgeBrowser",e[e.IEBrowser=13]="IEBrowser",e[e.UnknownBrowser=14]="UnknownBrowser",e[e.AndroidAmazon=15]="AndroidAmazon",e[e.UWP=16]="UWP",e[e.SafariBrowser=17]="SafariBrowser",e[e.VivaldiBrowser=18]="VivaldiBrowser",e[e.VivaldiExtension=19]="VivaldiExtension",e[e.SafariExtension=20]="SafariExtension"}(t.DeviceType||(t.DeviceType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.SettingsService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Free=0]="Free",e[e.FamiliesAnnually2019=1]="FamiliesAnnually2019",e[e.TeamsMonthly2019=2]="TeamsMonthly2019",e[e.TeamsAnnually2019=3]="TeamsAnnually2019",e[e.EnterpriseMonthly2019=4]="EnterpriseMonthly2019",e[e.EnterpriseAnnually2019=5]="EnterpriseAnnually2019",e[e.Custom=6]="Custom",e[e.FamiliesAnnually=7]="FamiliesAnnually",e[e.TeamsMonthly=8]="TeamsMonthly",e[e.TeamsAnnually=9]="TeamsAnnually",e[e.EnterpriseMonthly=10]="EnterpriseMonthly",e[e.EnterpriseAnnually=11]="EnterpriseAnnually"}(t.PlanType||(t.PlanType={}))},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(e.uris=[],this.uris.forEach(function(t){e.uris.push(t.toLoginUriData())})),e},t}(n(81).default);t.Login=p},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(484),a=n(255),s=function(e){function t(t,n){void 0===n&&(n=!1);var r=e.call(this)||this;return null==t?r:(r.match=t.match,r.buildDomainModel(r,t,{uri:null},n,[]),r)}return i(t,e),t.prototype.decrypt=function(e,t){return this.decryptObj(new a.LoginUriView(this),{uri:null},e,t)},t.prototype.toLoginUriData=function(){var e=new o.LoginUriData;return this.buildDataModel(this,e,{uri:null},["match"]),e},t}(n(81).default);t.LoginUri=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Domain=0]="Domain",e[e.Host=1]="Host",e[e.StartsWith=2]="StartsWith",e[e.Exact=3]="Exact",e[e.RegularExpression=4]="RegularExpression",e[e.Never=5]="Never"}(t.UriMatchType||(t.UriMatchType={}))},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(485),a=n(81),s=n(94),l=function(e){function t(t,n){void 0===n&&(n=!1);var r=e.call(this)||this;return null==t?r:(r.type=t.type,r)}return i(t,e),t.prototype.decrypt=function(e,t){return Promise.resolve(new s.SecureNoteView(this))},t.prototype.toSecureNoteData=function(){var e=new o.SecureNoteData;return e.type=this.type,e},t}(a.default);t.SecureNote=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),i=n(14),o=n(0),a=function(){function e(e,t){this.elementRef=e,this.renderer=t,this.trueValue=!0,this.falseValue=!1,this.propagateChange=function(e){}}return e.prototype.onHostChange=function(e){this.propagateChange(e.target.checked?this.trueValue:this.falseValue)},e.prototype.writeValue=function(e){e===this.trueValue?this.renderer.setProperty(this.elementRef.nativeElement,"checked",!0):this.renderer.setProperty(this.elementRef.nativeElement,"checked",!1)},e.prototype.registerOnChange=function(e){this.propagateChange=e},e.prototype.registerOnTouched=function(e){},e.prototype.setDisabledState=function(e){},e.ɵfac=function(t){return new(t||e)(o.ɵɵdirectiveInject(o.ElementRef),o.ɵɵdirectiveInject(o.Renderer2))},e.ɵdir=o.ɵɵdefineDirective({type:e,selectors:[["input","type","checkbox","appTrueFalseValue",""]],hostBindings:function(e,t){1&e&&o.ɵɵlistener("change",function(e){return t.onHostChange(e)})},inputs:{trueValue:"trueValue",falseValue:"falseValue"},features:[o.ɵɵProvidersFeature([{provide:i.NG_VALUE_ACCESSOR,useExisting:r.forwardRef(function(){return e}),multi:!0}])]}),e}();t.TrueFalseValueDirective=a},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(0),a=(n(41),n(48),n(42),n(7),n(870)),s=n(0),l=n(41),c=n(48),p=n(42),u=n(7),d=n(18),m=n(14),h=n(62),f=n(4),v=n(39),y=n(10),g=function(e){return{active:e}};function x(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"li",7),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"a",8),s.ɵɵlistener("click",function(){return s.ɵɵrestoreView(n),s.ɵɵnextContext().selectFavorites()}),s.ɵɵtext(3,"\n "),s.ɵɵelement(4,"i",17),s.ɵɵtext(5),s.ɵɵpipe(6,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(7,"\n "),s.ɵɵelementEnd()}if(2&e){var r=s.ɵɵnextContext();s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(4,g,r.selectedFavorites)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(6,2,"favorites"),"\n ")}}function b(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"li",7),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"a",8),s.ɵɵlistener("click",function(){return s.ɵɵrestoreView(n),s.ɵɵnextContext().selectTrash()}),s.ɵɵtext(3,"\n "),s.ɵɵelement(4,"i",18),s.ɵɵtext(5),s.ɵɵpipe(6,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(7,"\n "),s.ɵɵelementEnd()}if(2&e){var r=s.ɵɵnextContext();s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(4,g,r.selectedTrash)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(6,2,"trash"),"\n ")}}function S(e,t){1&e&&(s.ɵɵelementStart(0,"p",19),s.ɵɵtext(1,"\n "),s.ɵɵelement(2,"i",20),s.ɵɵpipe(3,"i18n"),s.ɵɵtext(4,"\n "),s.ɵɵelementStart(5,"span",21),s.ɵɵtext(6),s.ɵɵpipe(7,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(8,"\n "),s.ɵɵelementEnd()),2&e&&(s.ɵɵadvance(2),s.ɵɵpropertyInterpolate("title",s.ɵɵpipeBind1(3,2,"loading")),s.ɵɵadvance(4),s.ɵɵtextInterpolate(s.ɵɵpipeBind1(7,4,"loading")))}var w=function(e,t){return{"fa-caret-right":e,"fa-caret-down":t}};function C(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"i",32),s.ɵɵlistener("click",function(){s.ɵɵrestoreView(n);var e=s.ɵɵnextContext().$implicit;return s.ɵɵnextContext(4).collapse(e.node)}),s.ɵɵpipe(1,"i18n"),s.ɵɵelementEnd()}if(2&e){var r=s.ɵɵnextContext().$implicit,i=s.ɵɵnextContext(4);s.ɵɵpropertyInterpolate("title",s.ɵɵpipeBind1(1,2,"toggleCollapse")),s.ɵɵproperty("ngClass",s.ɵɵpureFunction2(4,w,i.isCollapsed(r.node),!i.isCollapsed(r.node)))}}function I(e,t){1&e&&s.ɵɵelement(0,"i",33)}function E(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"a",34),s.ɵɵlistener("click",function(){s.ɵɵrestoreView(n);var e=s.ɵɵnextContext().$implicit;return s.ɵɵnextContext(4).editFolder(e.node)}),s.ɵɵpipe(1,"i18n"),s.ɵɵtext(2,"\n "),s.ɵɵelement(3,"i",35),s.ɵɵtext(4,"\n "),s.ɵɵelementEnd()}2&e&&s.ɵɵpropertyInterpolate("appA11yTitle",s.ɵɵpipeBind1(1,1,"editFolder"))}function P(e,t){1&e&&(s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵelementContainerEnd())}var k=function(e){return{$implicit:e}};function _(e,t){if(1&e&&(s.ɵɵelementStart(0,"ul",36),s.ɵɵtext(1,"\n "),s.ɵɵtemplate(2,P,2,0,"ng-container",26),s.ɵɵtext(3,"\n "),s.ɵɵelementEnd()),2&e){var n=s.ɵɵnextContext().$implicit;s.ɵɵnextContext(2);var r=s.ɵɵreference(15);s.ɵɵadvance(2),s.ɵɵproperty("ngTemplateOutlet",r)("ngTemplateOutletContext",s.ɵɵpureFunction1(2,k,n.children))}}function A(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"li",7),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"div",22),s.ɵɵtext(3,"\n "),s.ɵɵtemplate(4,C,2,7,"i",28),s.ɵɵtext(5,"\n "),s.ɵɵelementStart(6,"a",8),s.ɵɵlistener("click",function(){s.ɵɵrestoreView(n);var e=t.$implicit;return s.ɵɵnextContext(4).selectFolder(e.node)}),s.ɵɵtext(7,"\n "),s.ɵɵtemplate(8,I,1,0,"i",29),s.ɵɵtext(9),s.ɵɵelementEnd(),s.ɵɵtext(10,"\n "),s.ɵɵtemplate(11,E,5,3,"a",30),s.ɵɵtext(12,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(13,"\n "),s.ɵɵtemplate(14,_,4,4,"ul",31),s.ɵɵtext(15,"\n "),s.ɵɵelementEnd()}if(2&e){var r=t.$implicit,i=s.ɵɵnextContext(4);s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(6,g,i.selectedFolder&&r.node.id===i.selectedFolderId)),s.ɵɵadvance(4),s.ɵɵproperty("ngIf",r.children.length),s.ɵɵadvance(4),s.ɵɵproperty("ngIf",0===r.children.length),s.ɵɵadvance(1),s.ɵɵtextInterpolate1("",r.node.name,"\n "),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",r.node.id),s.ɵɵadvance(3),s.ɵɵproperty("ngIf",r.children.length&&!i.isCollapsed(r.node))}}function O(e,t){if(1&e&&(s.ɵɵtext(0,"\n "),s.ɵɵtemplate(1,A,16,8,"li",27),s.ɵɵtext(2,"\n ")),2&e){var n=t.$implicit;s.ɵɵadvance(1),s.ɵɵproperty("ngForOf",n)}}function T(e,t){1&e&&(s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵelementContainerEnd())}function M(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"h3",22),s.ɵɵtext(3),s.ɵɵpipe(4,"i18n"),s.ɵɵelementStart(5,"a",23),s.ɵɵlistener("click",function(){return s.ɵɵrestoreView(n),s.ɵɵnextContext(2).addFolder()}),s.ɵɵpipe(6,"i18n"),s.ɵɵtext(7,"\n "),s.ɵɵelement(8,"i",24),s.ɵɵtext(9,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(10,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(11,"\n "),s.ɵɵelementStart(12,"ul",6),s.ɵɵtext(13,"\n "),s.ɵɵtemplate(14,O,3,1,"ng-template",null,25,s.ɵɵtemplateRefExtractor),s.ɵɵtext(16,"\n "),s.ɵɵtemplate(17,T,2,0,"ng-container",26),s.ɵɵtext(18,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(19,"\n "),s.ɵɵelementContainerEnd()}if(2&e){var r=s.ɵɵreference(15),i=s.ɵɵnextContext(2);s.ɵɵadvance(3),s.ɵɵtextInterpolate1("\n ",s.ɵɵpipeBind1(4,4,"folders"),"\n "),s.ɵɵadvance(2),s.ɵɵpropertyInterpolate("appA11yTitle",s.ɵɵpipeBind1(6,6,"addFolder")),s.ɵɵadvance(12),s.ɵɵproperty("ngTemplateOutlet",r)("ngTemplateOutletContext",s.ɵɵpureFunction1(8,k,i.nestedFolders))}}function B(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"i",32),s.ɵɵlistener("click",function(){s.ɵɵrestoreView(n);var e=s.ɵɵnextContext().$implicit;return s.ɵɵnextContext(4).collapse(e.node)}),s.ɵɵpipe(1,"i18n"),s.ɵɵelementEnd()}if(2&e){var r=s.ɵɵnextContext().$implicit,i=s.ɵɵnextContext(4);s.ɵɵpropertyInterpolate("title",s.ɵɵpipeBind1(1,2,"toggleCollapse")),s.ɵɵproperty("ngClass",s.ɵɵpureFunction2(4,w,i.isCollapsed(r.node),!i.isCollapsed(r.node)))}}function D(e,t){1&e&&s.ɵɵelement(0,"i",39)}function V(e,t){1&e&&(s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵelementContainerEnd())}function j(e,t){if(1&e&&(s.ɵɵelementStart(0,"ul",36),s.ɵɵtext(1,"\n "),s.ɵɵtemplate(2,V,2,0,"ng-container",26),s.ɵɵtext(3,"\n "),s.ɵɵelementEnd()),2&e){var n=s.ɵɵnextContext().$implicit;s.ɵɵnextContext(2);var r=s.ɵɵreference(9);s.ɵɵadvance(2),s.ɵɵproperty("ngTemplateOutlet",r)("ngTemplateOutletContext",s.ɵɵpureFunction1(2,k,n.children))}}function R(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"li",7),s.ɵɵtext(1,"\n "),s.ɵɵtemplate(2,B,2,7,"i",28),s.ɵɵtext(3,"\n "),s.ɵɵelementStart(4,"a",8),s.ɵɵlistener("click",function(){s.ɵɵrestoreView(n);var e=t.$implicit;return s.ɵɵnextContext(4).selectCollection(e.node)}),s.ɵɵtext(5,"\n "),s.ɵɵtemplate(6,D,1,0,"i",38),s.ɵɵtext(7),s.ɵɵelementEnd(),s.ɵɵtext(8,"\n "),s.ɵɵtemplate(9,j,4,4,"ul",31),s.ɵɵtext(10,"\n "),s.ɵɵelementEnd()}if(2&e){var r=t.$implicit,i=s.ɵɵnextContext(4);s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(5,g,r.node.id===i.selectedCollectionId)),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",r.children.length),s.ɵɵadvance(4),s.ɵɵproperty("ngIf",0===r.children.length),s.ɵɵadvance(1),s.ɵɵtextInterpolate1("",r.node.name,"\n "),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",r.children.length&&!i.isCollapsed(r.node))}}function U(e,t){if(1&e&&(s.ɵɵtext(0,"\n "),s.ɵɵtemplate(1,R,11,7,"li",27),s.ɵɵtext(2,"\n ")),2&e){var n=t.$implicit;s.ɵɵadvance(1),s.ɵɵproperty("ngForOf",n)}}function F(e,t){1&e&&(s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵelementContainerEnd())}function N(e,t){if(1&e&&(s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"h3"),s.ɵɵtext(3),s.ɵɵpipe(4,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(5,"\n "),s.ɵɵelementStart(6,"ul",6),s.ɵɵtext(7,"\n "),s.ɵɵtemplate(8,U,3,1,"ng-template",null,37,s.ɵɵtemplateRefExtractor),s.ɵɵtext(10,"\n "),s.ɵɵtemplate(11,F,2,0,"ng-container",26),s.ɵɵtext(12,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(13,"\n "),s.ɵɵelementContainerEnd()),2&e){var n=s.ɵɵreference(9),r=s.ɵɵnextContext(2);s.ɵɵadvance(3),s.ɵɵtextInterpolate(s.ɵɵpipeBind1(4,3,"collections")),s.ɵɵadvance(8),s.ɵɵproperty("ngTemplateOutlet",n)("ngTemplateOutletContext",s.ɵɵpureFunction1(5,k,r.nestedCollections))}}function z(e,t){if(1&e&&(s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵtemplate(2,M,20,10,"ng-container",16),s.ɵɵtext(3,"\n "),s.ɵɵtemplate(4,N,14,7,"ng-container",16),s.ɵɵtext(5,"\n "),s.ɵɵelementContainerEnd()),2&e){var n=s.ɵɵnextContext();s.ɵɵadvance(2),s.ɵɵproperty("ngIf",n.showFolders),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",n.showCollections&&n.collections&&n.collections.length)}}var L=function(e){function t(t,n,r,i){var a=e.call(this,t,n,r,i)||this;return a.onSearchTextChanged=new o.EventEmitter,a.searchText="",a.searchPlaceholder=null,a}return i(t,e),t.prototype.searchTextChanged=function(){this.onSearchTextChanged.emit(this.searchText)},t.ɵfac=function(e){return new(e||t)(s.ɵɵdirectiveInject(l.CollectionService),s.ɵɵdirectiveInject(c.FolderService),s.ɵɵdirectiveInject(p.StorageService),s.ɵɵdirectiveInject(u.UserService))},t.ɵcmp=s.ɵɵdefineComponent({type:t,selectors:[["app-vault-groupings"]],outputs:{onSearchTextChanged:"onSearchTextChanged"},features:[s.ɵɵInheritDefinitionFeature],decls:82,vars:47,consts:[[1,"card","vault-filters"],[1,"card-header","d-flex"],["href","https://help.bitwarden.com/article/searching-vault/","target","_blank","rel","noopener",1,"ml-auto",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],[1,"card-body"],["type","search","id","search","autocomplete","off","appAutofocus","",1,"form-control",3,"placeholder","ngModel","ngModelChange","input"],[1,"fa-ul","card-ul"],[3,"ngClass"],["href","#","appStopClick","",3,"click"],[1,"fa-li","fa","fa-fw","fa-th"],[3,"ngClass",4,"ngIf"],[1,"fa-li","fa","fa-fw","fa-globe"],[1,"fa-li","fa","fa-fw","fa-credit-card"],[1,"fa-li","fa","fa-fw","fa-id-card-o"],[1,"fa-li","fa","fa-fw","fa-sticky-note-o"],["class","text-muted",4,"ngIf"],[4,"ngIf"],[1,"fa-li","fa","fa-fw","fa-star"],[1,"fa-li","fa","fa-fw","fa-trash-o"],[1,"text-muted"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],[1,"sr-only"],[1,"d-flex"],["href","#","appStopClick","",1,"text-muted","ml-auto",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"],["recursiveFolders",""],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"ngClass",4,"ngFor","ngForOf"],["class","fa-li fa",3,"title","ngClass","click",4,"ngIf"],["class","fa-li fa fa-folder-o","aria-hidden","true",4,"ngIf"],["href","#","class","text-muted ml-auto show-active","appStopClick","",3,"appA11yTitle","click",4,"ngIf"],["class","fa-ul card-ul carets",4,"ngIf"],[1,"fa-li","fa",3,"title","ngClass","click"],["aria-hidden","true",1,"fa-li","fa","fa-folder-o"],["href","#","appStopClick","",1,"text-muted","ml-auto","show-active",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-pencil","fa-fw"],[1,"fa-ul","card-ul","carets"],["recursiveCollections",""],["class","fa-li fa fa-cube","aria-hidden","true",4,"ngIf"],["aria-hidden","true",1,"fa-li","fa","fa-cube"]],template:function(e,t){1&e&&(s.ɵɵelementStart(0,"div",0),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"div",1),s.ɵɵtext(3),s.ɵɵpipe(4,"i18n"),s.ɵɵelementStart(5,"a",2),s.ɵɵpipe(6,"i18n"),s.ɵɵtext(7,"\n "),s.ɵɵelement(8,"i",3),s.ɵɵtext(9,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(10,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(11,"\n "),s.ɵɵelementStart(12,"div",4),s.ɵɵtext(13,"\n "),s.ɵɵelementStart(14,"input",5),s.ɵɵlistener("ngModelChange",function(e){return t.searchText=e})("input",function(){return t.searchTextChanged()}),s.ɵɵpipe(15,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(16,"\n "),s.ɵɵelementStart(17,"ul",6),s.ɵɵtext(18,"\n "),s.ɵɵelementStart(19,"li",7),s.ɵɵtext(20,"\n "),s.ɵɵelementStart(21,"a",8),s.ɵɵlistener("click",function(){return t.selectAll()}),s.ɵɵtext(22,"\n "),s.ɵɵelement(23,"i",9),s.ɵɵtext(24),s.ɵɵpipe(25,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(26,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(27,"\n "),s.ɵɵtemplate(28,x,8,6,"li",10),s.ɵɵtext(29,"\n "),s.ɵɵtemplate(30,b,8,6,"li",10),s.ɵɵtext(31,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(32,"\n "),s.ɵɵelementStart(33,"h3"),s.ɵɵtext(34),s.ɵɵpipe(35,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(36,"\n "),s.ɵɵelementStart(37,"ul",6),s.ɵɵtext(38,"\n "),s.ɵɵelementStart(39,"li",7),s.ɵɵtext(40,"\n "),s.ɵɵelementStart(41,"a",8),s.ɵɵlistener("click",function(){return t.selectType(t.cipherType.Login)}),s.ɵɵtext(42,"\n "),s.ɵɵelement(43,"i",11),s.ɵɵtext(44),s.ɵɵpipe(45,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(46,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(47,"\n "),s.ɵɵelementStart(48,"li",7),s.ɵɵtext(49,"\n "),s.ɵɵelementStart(50,"a",8),s.ɵɵlistener("click",function(){return t.selectType(t.cipherType.Card)}),s.ɵɵtext(51,"\n "),s.ɵɵelement(52,"i",12),s.ɵɵtext(53),s.ɵɵpipe(54,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(55,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(56,"\n "),s.ɵɵelementStart(57,"li",7),s.ɵɵtext(58,"\n "),s.ɵɵelementStart(59,"a",8),s.ɵɵlistener("click",function(){return t.selectType(t.cipherType.Identity)}),s.ɵɵtext(60,"\n "),s.ɵɵelement(61,"i",13),s.ɵɵtext(62),s.ɵɵpipe(63,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(64,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(65,"\n "),s.ɵɵelementStart(66,"li",7),s.ɵɵtext(67,"\n "),s.ɵɵelementStart(68,"a",8),s.ɵɵlistener("click",function(){return t.selectType(t.cipherType.SecureNote)}),s.ɵɵtext(69,"\n "),s.ɵɵelement(70,"i",14),s.ɵɵtext(71),s.ɵɵpipe(72,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(73,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(74,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(75,"\n "),s.ɵɵtemplate(76,S,9,6,"p",15),s.ɵɵtext(77,"\n "),s.ɵɵtemplate(78,z,6,2,"ng-container",16),s.ɵɵtext(79,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(80,"\n"),s.ɵɵelementEnd(),s.ɵɵtext(81,"\n")),2&e&&(s.ɵɵadvance(3),s.ɵɵtextInterpolate1("\n ",s.ɵɵpipeBind1(4,19,"filters"),"\n "),s.ɵɵadvance(2),s.ɵɵpropertyInterpolate("appA11yTitle",s.ɵɵpipeBind1(6,21,"learnMore")),s.ɵɵadvance(9),s.ɵɵpropertyInterpolate("placeholder",t.searchPlaceholder||s.ɵɵpipeBind1(15,23,"searchVault")),s.ɵɵproperty("ngModel",t.searchText),s.ɵɵadvance(5),s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(37,g,t.selectedAll)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(25,25,"allItems"),"\n "),s.ɵɵadvance(4),s.ɵɵproperty("ngIf",t.showFavorites),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.showTrash),s.ɵɵadvance(4),s.ɵɵtextInterpolate(s.ɵɵpipeBind1(35,27,"types")),s.ɵɵadvance(5),s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(39,g,t.selectedType===t.cipherType.Login)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(45,29,"typeLogin"),"\n "),s.ɵɵadvance(4),s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(41,g,t.selectedType===t.cipherType.Card)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(54,31,"typeCard"),"\n "),s.ɵɵadvance(4),s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(43,g,t.selectedType===t.cipherType.Identity)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(63,33,"typeIdentity"),"\n "),s.ɵɵadvance(4),s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(45,g,t.selectedType===t.cipherType.SecureNote)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(72,35,"typeSecureNote"),"\n "),s.ɵɵadvance(5),s.ɵɵproperty("ngIf",!t.loaded),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.loaded))},directives:[d.A11yTitleDirective,m.DefaultValueAccessor,h.AutofocusDirective,m.NgControlStatus,m.NgModel,f.NgClass,v.StopClickDirective,f.NgIf,f.NgTemplateOutlet,f.NgForOf],pipes:[y.I18nPipe],encapsulation:2}),t}(a.GroupingsComponent);t.GroupingsComponent=L},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(248),i=n(276),o=function(){function e(e){null!=e&&(this.id=e.id,this.name=e.name,this.status=e.status,this.type=e.type,this.enabled=e.enabled,this.usePolicies=e.usePolicies,this.useGroups=e.useGroups,this.useDirectory=e.useDirectory,this.useEvents=e.useEvents,this.useTotp=e.useTotp,this.use2fa=e.use2fa,this.useApi=e.useApi,this.useBusinessPortal=e.useBusinessPortal,this.useSso=e.useSso,this.selfHost=e.selfHost,this.usersGetPremium=e.usersGetPremium,this.seats=e.seats,this.maxCollections=e.maxCollections,this.maxStorageGb=e.maxStorageGb,this.ssoBound=e.ssoBound,this.identifier=e.identifier,this.permissions=e.permissions)}return Object.defineProperty(e.prototype,"canAccess",{get:function(){return this.type===i.OrganizationUserType.Owner||this.enabled&&this.status===r.OrganizationUserStatusType.Confirmed},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isManager",{get:function(){return this.type===i.OrganizationUserType.Manager||this.type===i.OrganizationUserType.Owner||this.type===i.OrganizationUserType.Admin},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isAdmin",{get:function(){return this.type===i.OrganizationUserType.Owner||this.type===i.OrganizationUserType.Admin},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isOwner",{get:function(){return this.type===i.OrganizationUserType.Owner},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canAccessBusinessPortal",{get:function(){return this.isAdmin||this.permissions.accessBusinessPortal},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canAccessEventLogs",{get:function(){return this.isAdmin||this.permissions.accessEventLogs},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canAccessImportExport",{get:function(){return this.isAdmin||this.permissions.accessImportExport},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canAccessReports",{get:function(){return this.isAdmin||this.permissions.accessReports},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canManageAllCollections",{get:function(){return this.isAdmin||this.permissions.manageAllCollections},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canManageAssignedCollections",{get:function(){return this.isManager||this.permissions.manageAssignedCollections},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canManageGroups",{get:function(){return this.isAdmin||this.permissions.manageGroups},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canManageSso",{get:function(){return this.isAdmin||this.permissions.manageSso},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canManagePolicies",{get:function(){return this.isAdmin||this.permissions.managePolicies},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canManageUsers",{get:function(){return this.isAdmin||this.permissions.manageUsers},enumerable:!0,configurable:!0}),e}();t.Organization=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.id=null,this.url=null,this.size=null,this.sizeName=null,this.fileName=null,e&&(this.id=e.id,this.url=e.url,this.size=e.size,this.sizeName=e.sizeName)}return Object.defineProperty(e.prototype,"fileSize",{get:function(){try{if(null!=this.size)return parseInt(this.size,null)}catch(e){}return 0},enumerable:!0,configurable:!0}),e}();t.SendFileView=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.text=null,e&&(this.hidden=e.hidden)}return Object.defineProperty(e.prototype,"maskedText",{get:function(){return null!=this.text?"••••••••":null},enumerable:!0,configurable:!0}),e}();t.SendTextView=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1&&this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),n,{timeout:5e3*n.length}),n},e.ɵfac=function(t){return new(t||e)(r.ɵɵinject(i.I18nService),r.ɵɵinject(o.PlatformUtilsService))},e.ɵprov=r.ɵɵdefineInjectable({token:e,factory:e.ɵfac}),e}();t.ValidationService=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.AesCbc256_B64=0]="AesCbc256_B64",e[e.AesCbc128_HmacSha256_B64=1]="AesCbc128_HmacSha256_B64",e[e.AesCbc256_HmacSha256_B64=2]="AesCbc256_HmacSha256_B64",e[e.Rsa2048_OaepSha256_B64=3]="Rsa2048_OaepSha256_B64",e[e.Rsa2048_OaepSha1_B64=4]="Rsa2048_OaepSha1_B64",e[e.Rsa2048_OaepSha256_HmacSha256_B64=5]="Rsa2048_OaepSha256_HmacSha256_B64",e[e.Rsa2048_OaepSha1_HmacSha256_B64=6]="Rsa2048_OaepSha1_HmacSha256_B64"}(t.EncryptionType||(t.EncryptionType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.publicKey=e,this.encryptedPrivateKey=t}}();t.KeysRequest=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1&&(e=e.concat(this.email.substr(0,t).trim().toLowerCase().split(/[^A-Za-z0-9]/))),e},e.ɵfac=function(t){return new(t||e)(o.ɵɵdirectiveInject(a.I18nService),o.ɵɵdirectiveInject(s.CryptoService),o.ɵɵdirectiveInject(l.MessagingService),o.ɵɵdirectiveInject(c.UserService),o.ɵɵdirectiveInject(p.PasswordGenerationService),o.ɵɵdirectiveInject(u.PlatformUtilsService),o.ɵɵdirectiveInject(d.PolicyService))},e.ɵdir=o.ɵɵdefineDirective({type:e}),e}();t.ChangePasswordComponent=m},,function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&t.forEach(function(t){var n=e.data.filter(function(e){return e.id===t});null!=n&&n.length>0&&(n[0].checked=!0)}),[3,5];case 3:return"collection"!==this.entity?[3,5]:[4,this.apiService.getCollectionUsers(this.organizationId,this.entityId)];case 4:null!=(t=r.sent())&&e.data.length>0&&t.forEach(function(t){var n=e.data.filter(function(e){return!e.accessAll&&e.id===t.id});null!=n&&n.length>0&&(n[0].checked=!0,n[0].readOnly=t.readOnly,n[0].hidePasswords=t.hidePasswords)}),r.label=5;case 5:return this.allUsers.forEach(function(e){"collection"===n.entity&&e.accessAll&&(e.checked=!0),e.checked&&n.selectedCount++}),[2]}})})},e.prototype.check=function(e){"collection"===this.entity&&e.accessAll||(e.checked=!e.checked,this.selectedChanged(e))},e.prototype.selectedChanged=function(e){e.checked?this.selectedCount++:("collection"===this.entity&&(e.readOnly=!1,e.hidePasswords=!1),this.selectedCount--)},e.prototype.filterSelected=function(e){this.showSelected=e},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),"group"===this.entity?(e=this.users.filter(function(e){return e.checked}).map(function(e){return e.id}),this.formPromise=this.apiService.putGroupUsers(this.organizationId,this.entityId,e)):(e=this.users.filter(function(e){return e.checked&&!e.accessAll}).map(function(e){return new l.SelectionReadOnlyRequest(e.id,!!e.readOnly,!!e.hidePasswords)}),this.formPromise=this.apiService.putCollectionUsers(this.organizationId,this.entityId,e)),[4,this.formPromise];case 1:return t.sent(),this.analytics.eventTrack.next({action:"group"===this.entity?"Edited Group Users":"Edited Collection Users"}),this.toasterService.popAsync("success",null,this.i18nService.t("updatedUsers")),this.onEditedUsers.emit(),[3,3];case 2:return t.sent(),[3,3];case 3:return[2]}})})},e.ɵfac=function(t){return new(t||e)(p.ɵɵdirectiveInject(u.ApiService),p.ɵɵdirectiveInject(d.I18nService),p.ɵɵdirectiveInject(m.Angulartics2),p.ɵɵdirectiveInject(h.ToasterService))},e.ɵcmp=p.ɵɵdefineComponent({type:e,selectors:[["app-entity-users"]],inputs:{entity:"entity",entityId:"entityId",entityName:"entityName",organizationId:"organizationId"},outputs:{onEditedUsers:"onEditedUsers"},decls:49,vars:29,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","userAccessTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],["ngNativeValidate","",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","userAccessTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"modal-body"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"d-flex"],[1,"mr-3"],["for","search",1,"sr-only"],["type","search","id","search","name","SearchText",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],["role","group",1,"btn-group","btn-group-sm"],["type","button",1,"btn","btn-outline-secondary",3,"ngClass","click"],["class","badge badge-pill badge-info",4,"ngIf"],[4,"ngIf"],[1,"badge","badge-pill","badge-info"],[1,"table","table-hover","table-list","mb-0"],["width","100","class","text-center",4,"ngIf"],[4,"ngFor","ngForOf"],["width","100",1,"text-center"],[1,"table-list-checkbox",3,"click"],["type","checkbox","appStopProp","",3,"ngModel","name","disabled","ngModelChange","change"],["width","30",3,"click"],["size","25",3,"data","email","circle","fontSize"],["class","badge badge-secondary",4,"ngIf"],["class","badge badge-warning",4,"ngIf"],["class","text-muted d-block",4,"ngIf"],["class","text-center",4,"ngIf"],[1,"badge","badge-secondary"],[1,"badge","badge-warning"],[1,"text-muted","d-block"],["aria-hidden","true",1,"fa","fa-th",3,"title"],[1,"text-center"],["type","checkbox",3,"ngModel","name","disabled","ngModelChange"]],template:function(e,t){if(1&e&&(p.ɵɵelementStart(0,"div",0),p.ɵɵtext(1,"\n "),p.ɵɵelementStart(2,"div",1),p.ɵɵtext(3,"\n "),p.ɵɵelementStart(4,"form",2,3),p.ɵɵlistener("ngSubmit",function(){return t.submit()}),p.ɵɵtext(6,"\n "),p.ɵɵelementStart(7,"div",4),p.ɵɵtext(8,"\n "),p.ɵɵelementStart(9,"h2",5),p.ɵɵtext(10),p.ɵɵpipe(11,"i18n"),p.ɵɵelementStart(12,"small"),p.ɵɵtext(13),p.ɵɵelementEnd(),p.ɵɵtext(14,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(15,"\n "),p.ɵɵelementStart(16,"button",6),p.ɵɵpipe(17,"i18n"),p.ɵɵtext(18,"\n "),p.ɵɵelementStart(19,"span",7),p.ɵɵtext(20,"×"),p.ɵɵelementEnd(),p.ɵɵtext(21,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(22,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(23,"\n "),p.ɵɵtemplate(24,C,9,6,"div",8),p.ɵɵtext(25,"\n "),p.ɵɵtemplate(26,K,32,22,"div",8),p.ɵɵpipe(27,"search"),p.ɵɵtext(28,"\n "),p.ɵɵelementStart(29,"div",9),p.ɵɵtext(30,"\n "),p.ɵɵelementStart(31,"button",10),p.ɵɵtext(32,"\n "),p.ɵɵelement(33,"i",11),p.ɵɵpipe(34,"i18n"),p.ɵɵtext(35,"\n "),p.ɵɵelementStart(36,"span"),p.ɵɵtext(37),p.ɵɵpipe(38,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(39,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(40,"\n "),p.ɵɵelementStart(41,"button",12),p.ɵɵtext(42),p.ɵɵpipe(43,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(44,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(45,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(46,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(47,"\n"),p.ɵɵelementEnd(),p.ɵɵtext(48,"\n")),2&e){var n=p.ɵɵreference(5);p.ɵɵadvance(4),p.ɵɵproperty("appApiAction",t.formPromise),p.ɵɵadvance(6),p.ɵɵtextInterpolate1("\n ",p.ɵɵpipeBind1(11,10,"userAccess"),"\n "),p.ɵɵadvance(3),p.ɵɵtextInterpolate(t.entityName),p.ɵɵadvance(3),p.ɵɵpropertyInterpolate("appA11yTitle",p.ɵɵpipeBind1(17,12,"close")),p.ɵɵadvance(8),p.ɵɵproperty("ngIf",t.loading||!t.users),p.ɵɵadvance(2),p.ɵɵproperty("ngIf",!t.loading&&t.users&&p.ɵɵpipeBindV(27,14,p.ɵɵpureFunction2(26,q,t.users,t.searchText))),p.ɵɵadvance(5),p.ɵɵproperty("disabled",n.loading),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("title",p.ɵɵpipeBind1(34,20,"loading")),p.ɵɵadvance(4),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(38,22,"save")),p.ɵɵadvance(5),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(43,24,"close"))}},directives:[f.NgControlStatusGroup,f.NgForm,v.ApiActionDirective,y.A11yTitleDirective,g.NgIf,f.DefaultValueAccessor,f.NgControlStatus,f.NgModel,g.NgClass,g.NgForOf,f.CheckboxControlValueAccessor,x.StopPropDirective,b.AvatarComponent],pipes:[S.I18nPipe,w.SearchPipe],encapsulation:2}),e}();t.EntityUsersComponent=H},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?this.events=this.events.concat(o):this.events=o,this.loading=!1,this.morePromise=null,this.refreshPromise=null,[2]}})})},e.ɵfac=function(t){return new(t||e)(o.ɵɵdirectiveInject(a.ApiService),o.ɵɵdirectiveInject(s.I18nService),o.ɵɵdirectiveInject(l.EventService),o.ɵɵdirectiveInject(c.ToasterService))},e.ɵcmp=o.ɵɵdefineComponent({type:e,selectors:[["app-entity-events"]],inputs:{name:"name",entity:"entity",entityId:"entityId",organizationId:"organizationId",showUser:"showUser"},decls:36,vars:12,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","eventLogsTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],[1,"modal-content"],[1,"modal-header"],["id","eventLogsTitle",1,"modal-title"],["class","text-muted",4,"ngIf"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"text-muted"],[1,"modal-body"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"d-flex"],[1,"form-inline"],["for","start",1,"sr-only"],["type","datetime-local","id","start","placeholder","YYYY-MM-DDTHH:MM",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],[1,"mx-2"],["for","end",1,"sr-only"],["type","datetime-local","id","end","placeholder","YYYY-MM-DDTHH:MM",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],["type","button",1,"btn","btn-sm","btn-outline-primary","ml-3",3,"appApiAction","disabled","click"],["refreshBtn",""],["aria-hidden","true",1,"fa","fa-refresh","fa-fw",3,"ngClass"],[4,"ngIf"],["class","table table-hover mb-0",4,"ngIf"],["type","button","class","btn btn-block btn-link btn-submit",3,"appApiAction","disabled","click",4,"ngIf"],[1,"table","table-hover","mb-0"],["width","210",1,"border-top-0"],["width","40",1,"border-top-0"],["class","border-top-0","width","150",4,"ngIf"],[1,"border-top-0"],[4,"ngFor","ngForOf"],["width","150",1,"border-top-0"],["aria-hidden","true",3,"title"],[3,"innerHTML"],[3,"appA11yTitle"],["type","button",1,"btn","btn-block","btn-link","btn-submit",3,"appApiAction","disabled","click"],["moreBtn",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"]],template:function(e,t){1&e&&(o.ɵɵelementStart(0,"div",0),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"div",1),o.ɵɵtext(3,"\n "),o.ɵɵelementStart(4,"div",2),o.ɵɵtext(5,"\n "),o.ɵɵelementStart(6,"div",3),o.ɵɵtext(7,"\n "),o.ɵɵelementStart(8,"h2",4),o.ɵɵtext(9),o.ɵɵpipe(10,"i18n"),o.ɵɵtemplate(11,f,2,1,"small",5),o.ɵɵtext(12,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(13,"\n "),o.ɵɵelementStart(14,"button",6),o.ɵɵpipe(15,"i18n"),o.ɵɵtext(16,"\n "),o.ɵɵelementStart(17,"span",7),o.ɵɵtext(18,"×"),o.ɵɵelementEnd(),o.ɵɵtext(19,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(20,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(21,"\n "),o.ɵɵtemplate(22,v,9,6,"div",8),o.ɵɵtext(23,"\n "),o.ɵɵtemplate(24,I,40,25,"div",8),o.ɵɵtext(25,"\n "),o.ɵɵelementStart(26,"div",9),o.ɵɵtext(27,"\n "),o.ɵɵelementStart(28,"button",10),o.ɵɵtext(29),o.ɵɵpipe(30,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(31,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(32,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(33,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(34,"\n"),o.ɵɵelementEnd(),o.ɵɵtext(35,"\n")),2&e&&(o.ɵɵadvance(9),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(10,6,"eventLogs"),"\n "),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",t.name),o.ɵɵadvance(3),o.ɵɵpropertyInterpolate("appA11yTitle",o.ɵɵpipeBind1(15,8,"close")),o.ɵɵadvance(8),o.ɵɵproperty("ngIf",!t.loaded),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",t.loaded),o.ɵɵadvance(5),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(30,10,"close")))},directives:[p.NgIf,u.A11yTitleDirective,d.DefaultValueAccessor,d.NgControlStatus,d.NgModel,m.ApiActionDirective,p.NgClass,p.NgForOf],pipes:[h.I18nPipe,p.DatePipe],encapsulation:2}),e}();t.EntityEventsComponent=E},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){void 0===t&&(t=null);var n=e.call(this,t)||this;return null==t?n:(n.accessBusinessPortal=n.getResponseProperty("AccessBusinessPortal"),n.accessEventLogs=n.getResponseProperty("AccessEventLogs"),n.accessImportExport=n.getResponseProperty("AccessImportExport"),n.accessReports=n.getResponseProperty("AccessReports"),n.manageAllCollections=n.getResponseProperty("ManageAllCollections"),n.manageAssignedCollections=n.getResponseProperty("ManageAssignedCollections"),n.manageCiphers=n.getResponseProperty("ManageCiphers"),n.manageGroups=n.getResponseProperty("ManageGroups"),n.manageSso=n.getResponseProperty("ManageSso"),n.managePolicies=n.getResponseProperty("ManagePolicies"),n.manageUsers=n.getResponseProperty("ManageUsers"),n)}return i(t,e),t}(n(25).BaseResponse);t.PermissionsApi=o},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)return void(this.creditAmount=parseFloat((Math.round(100*e)/100).toString()).toFixed(2).toString())}}catch(t){}this.creditAmount=""},Object.defineProperty(e.prototype,"creditAmountNumber",{get:function(){if(null!=this.creditAmount&&""!==this.creditAmount)try{return parseFloat(this.creditAmount)}catch(e){}return null},enumerable:!0,configurable:!0}),e.ɵfac=function(t){return new(t||e)(c.ɵɵdirectiveInject(p.UserService),c.ɵɵdirectiveInject(u.ApiService),c.ɵɵdirectiveInject(d.Angulartics2),c.ɵɵdirectiveInject(m.ToasterService),c.ɵɵdirectiveInject(h.PlatformUtilsService))},e.ɵcmp=c.ɵɵdefineComponent({type:e,selectors:[["app-add-credit"]],viewQuery:function(e,t){var n;(1&e&&c.ɵɵstaticViewQuery(b,!0,o.ElementRef),2&e)&&(c.ɵɵqueryRefresh(n=c.ɵɵloadQuery())&&(t.ppButtonFormRef=n.first))},inputs:{creditAmount:"creditAmount",showOptions:"showOptions",method:"method",organizationId:"organizationId"},outputs:{onAdded:"onAdded",onCanceled:"onCanceled"},decls:92,vars:32,consts:[["ngNativeValidate","",1,"card",3,"appApiAction","ngSubmit"],["form",""],[1,"card-body"],["type","button",1,"close",3,"appA11yTitle","click"],["aria-hidden","true"],[1,"card-body-header"],["class","mb-4 text-lg",4,"ngIf"],[1,"form-group"],[1,"row"],[1,"col-4"],["for","creditAmount"],[1,"input-group"],[1,"input-group-prepend"],[1,"input-group-text"],["id","creditAmount","type","text","name","CreditAmount","required","",1,"form-control",3,"ngModel","ngModelChange","blur"],[1,"form-text","text-muted"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button",1,"btn","btn-outline-secondary",3,"click"],["method","post","target","_top",3,"action"],["ppButtonForm",""],["type","hidden","name","cmd","value","_xclick"],["type","hidden","name","business",3,"value"],["type","hidden","name","button_subtype","value","services"],["type","hidden","name","no_note","value","1"],["type","hidden","name","no_shipping","value","1"],["type","hidden","name","rm","value","1"],["type","hidden","name","return",3,"value"],["type","hidden","name","cancel_return",3,"value"],["type","hidden","name","currency_code","value","USD"],["type","hidden","name","image_url","value","https://bitwarden.com/images/paypal-banner.png"],["type","hidden","name","bn","value","PP-BuyNowBF:btn_buynow_LG.gif:NonHosted"],["type","hidden","name","amount",3,"value"],["type","hidden","name","custom",3,"value"],["type","hidden","name","item_name","value","Bitwarden Account Credit"],["type","hidden","name","item_number",3,"value"],[1,"mb-4","text-lg"],[1,"form-check","form-check-inline"],["type","radio","name","Method","id","credit-method-paypal",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","credit-method-paypal",1,"form-check-label"],["aria-hidden","true",1,"fa","fa-fw","fa-paypal"],["type","radio","name","Method","id","credit-method-bitcoin",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","credit-method-bitcoin",1,"form-check-label"],["aria-hidden","true",1,"fa","fa-fw","fa-bitcoin"]],template:function(e,t){if(1&e&&(c.ɵɵelementStart(0,"form",0,1),c.ɵɵlistener("ngSubmit",function(){return t.submit()}),c.ɵɵtext(2,"\n "),c.ɵɵelementStart(3,"div",2),c.ɵɵtext(4,"\n "),c.ɵɵelementStart(5,"button",3),c.ɵɵlistener("click",function(){return t.cancel()}),c.ɵɵpipe(6,"i18n"),c.ɵɵelementStart(7,"span",4),c.ɵɵtext(8,"×"),c.ɵɵelementEnd(),c.ɵɵelementEnd(),c.ɵɵtext(9,"\n "),c.ɵɵelementStart(10,"h3",5),c.ɵɵtext(11),c.ɵɵpipe(12,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(13,"\n "),c.ɵɵtemplate(14,S,22,4,"div",6),c.ɵɵtext(15,"\n "),c.ɵɵelementStart(16,"div",7),c.ɵɵtext(17,"\n "),c.ɵɵelementStart(18,"div",8),c.ɵɵtext(19,"\n "),c.ɵɵelementStart(20,"div",9),c.ɵɵtext(21,"\n "),c.ɵɵelementStart(22,"label",10),c.ɵɵtext(23),c.ɵɵpipe(24,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(25,"\n "),c.ɵɵelementStart(26,"div",11),c.ɵɵtext(27,"\n "),c.ɵɵelementStart(28,"div",12),c.ɵɵelementStart(29,"span",13),c.ɵɵtext(30,"$USD"),c.ɵɵelementEnd(),c.ɵɵelementEnd(),c.ɵɵtext(31,"\n "),c.ɵɵelementStart(32,"input",14),c.ɵɵlistener("ngModelChange",function(e){return t.creditAmount=e})("blur",function(){return t.formatAmount()}),c.ɵɵelementEnd(),c.ɵɵtext(33,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(34,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(35,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(36,"\n "),c.ɵɵelementStart(37,"small",15),c.ɵɵtext(38),c.ɵɵpipe(39,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(40,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(41,"\n "),c.ɵɵelementStart(42,"button",16),c.ɵɵtext(43,"\n "),c.ɵɵelement(44,"i",17),c.ɵɵpipe(45,"i18n"),c.ɵɵtext(46,"\n "),c.ɵɵelementStart(47,"span"),c.ɵɵtext(48),c.ɵɵpipe(49,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(50,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(51,"\n "),c.ɵɵelementStart(52,"button",18),c.ɵɵlistener("click",function(){return t.cancel()}),c.ɵɵtext(53),c.ɵɵpipe(54,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(55,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(56,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(57,"\n"),c.ɵɵelementStart(58,"form",19,20),c.ɵɵtext(60,"\n "),c.ɵɵelement(61,"input",21),c.ɵɵtext(62,"\n "),c.ɵɵelement(63,"input",22),c.ɵɵtext(64,"\n "),c.ɵɵelement(65,"input",23),c.ɵɵtext(66,"\n "),c.ɵɵelement(67,"input",24),c.ɵɵtext(68,"\n "),c.ɵɵelement(69,"input",25),c.ɵɵtext(70,"\n "),c.ɵɵelement(71,"input",26),c.ɵɵtext(72,"\n "),c.ɵɵelement(73,"input",27),c.ɵɵtext(74,"\n "),c.ɵɵelement(75,"input",28),c.ɵɵtext(76,"\n "),c.ɵɵelement(77,"input",29),c.ɵɵtext(78,"\n "),c.ɵɵelement(79,"input",30),c.ɵɵtext(80,"\n "),c.ɵɵelement(81,"input",31),c.ɵɵtext(82,"\n "),c.ɵɵelement(83,"input",32),c.ɵɵtext(84,"\n "),c.ɵɵelement(85,"input",33),c.ɵɵtext(86,"\n "),c.ɵɵelement(87,"input",34),c.ɵɵtext(88,"\n "),c.ɵɵelement(89,"input",35),c.ɵɵtext(90,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(91,"\n")),2&e){var n=c.ɵɵreference(1);c.ɵɵproperty("appApiAction",t.formPromise),c.ɵɵadvance(5),c.ɵɵpropertyInterpolate("appA11yTitle",c.ɵɵpipeBind1(6,18,"cancel")),c.ɵɵadvance(6),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(12,20,"addCredit")),c.ɵɵadvance(3),c.ɵɵproperty("ngIf",t.showOptions),c.ɵɵadvance(9),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(24,22,"amount")),c.ɵɵadvance(9),c.ɵɵproperty("ngModel",t.creditAmount),c.ɵɵadvance(6),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(39,24,"creditDelayed")),c.ɵɵadvance(4),c.ɵɵproperty("disabled",n.loading||t.ppLoading),c.ɵɵadvance(2),c.ɵɵpropertyInterpolate("title",c.ɵɵpipeBind1(45,26,"loading")),c.ɵɵadvance(4),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(49,28,"submit")),c.ɵɵadvance(5),c.ɵɵtextInterpolate1("\n ",c.ɵɵpipeBind1(54,30,"cancel"),"\n "),c.ɵɵadvance(5),c.ɵɵpropertyInterpolate("action",t.ppButtonFormAction,c.ɵɵsanitizeUrl),c.ɵɵadvance(5),c.ɵɵpropertyInterpolate("value",t.ppButtonBusinessId),c.ɵɵadvance(10),c.ɵɵpropertyInterpolate("value",t.returnUrl),c.ɵɵadvance(2),c.ɵɵpropertyInterpolate("value",t.returnUrl),c.ɵɵadvance(8),c.ɵɵpropertyInterpolate("value",t.creditAmount),c.ɵɵadvance(2),c.ɵɵpropertyInterpolate("value",t.ppButtonCustomField),c.ɵɵadvance(4),c.ɵɵpropertyInterpolate("value",t.subject)}},directives:[f.NgControlStatusGroup,f.NgForm,v.ApiActionDirective,y.A11yTitleDirective,g.NgIf,f.DefaultValueAccessor,f.RequiredValidator,f.NgControlStatus,f.NgModel,f.ɵangular_packages_forms_forms_y,f.RadioControlValueAccessor],pipes:[x.I18nPipe],encapsulation:2}),e}();t.AddCreditComponent=w},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(t.push(e),r.exposedPasswordMap.set(e.id,n))});n.push(i)}}),[4,Promise.all(n)];case 2:return i.sent(),this.ciphers=t,[2]}})})},t.prototype.getAllCiphers=function(){return this.cipherService.getAllDecrypted()},t.prototype.canManageCipher=function(e){return!0},t.ɵfac=function(e){return new(e||t)(c.ɵɵdirectiveInject(p.CipherService),c.ɵɵdirectiveInject(u.AuditService),c.ɵɵdirectiveInject(c.ComponentFactoryResolver),c.ɵɵdirectiveInject(d.MessagingService),c.ɵɵdirectiveInject(m.UserService))},t.ɵcmp=c.ɵɵdefineComponent({type:t,selectors:[["app-exposed-passwords-report"]],features:[c.ɵɵInheritDefinitionFeature],decls:26,vars:14,consts:[[1,"page-header"],["type","button",1,"btn","btn-primary","btn-submit",3,"disabled","click"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["class","mt-4",4,"ngIf"],["cipherAddEdit",""],[1,"mt-4"],["type","success",3,"title",4,"ngIf"],[4,"ngIf"],["type","success",3,"title"],["type","danger",3,"title"],[1,"table","table-hover","table-list","table-ciphers"],[4,"ngFor","ngForOf"],[1,"table-list-icon"],[3,"cipher"],[1,"reduced-lh","wrap"],[4,"ngIf","ngIfElse"],["cantManage",""],[1,"text-right"],[1,"badge","badge-warning"],["href","#","appStopClick","",3,"title","click"],["appStopProp","","aria-hidden","true",1,"fa","fa-share-alt",3,"title"],[1,"sr-only"],["appStopProp","","aria-hidden","true",1,"fa","fa-paperclip",3,"title"]],template:function(e,t){1&e&&(c.ɵɵelementStart(0,"div",0),c.ɵɵtext(1,"\n "),c.ɵɵelementStart(2,"h1"),c.ɵɵtext(3),c.ɵɵpipe(4,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(5,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(6,"\n"),c.ɵɵelementStart(7,"p"),c.ɵɵtext(8),c.ɵɵpipe(9,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(10,"\n"),c.ɵɵelementStart(11,"button",1),c.ɵɵlistener("click",function(){return t.load()}),c.ɵɵtext(12,"\n "),c.ɵɵelement(13,"i",2),c.ɵɵpipe(14,"i18n"),c.ɵɵtext(15,"\n "),c.ɵɵelementStart(16,"span"),c.ɵɵtext(17),c.ɵɵpipe(18,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(19,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(20,"\n"),c.ɵɵtemplate(21,k,6,2,"div",3),c.ɵɵtext(22,"\n"),c.ɵɵtemplate(23,_,0,0,"ng-template",null,4,c.ɵɵtemplateRefExtractor),c.ɵɵtext(25,"\n")),2&e&&(c.ɵɵadvance(3),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(4,6,"exposedPasswordsReport")),c.ɵɵadvance(5),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(9,8,"exposedPasswordsReportDesc")),c.ɵɵadvance(3),c.ɵɵproperty("disabled",t.loading),c.ɵɵadvance(2),c.ɵɵpropertyInterpolate("title",c.ɵɵpipeBind1(14,10,"loading")),c.ɵɵadvance(4),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(18,12,"checkExposedPasswords")),c.ɵɵadvance(4),c.ɵɵproperty("ngIf",t.hasLoaded))},directives:[h.NgIf,f.CalloutComponent,h.NgForOf,v.IconComponent,y.StopClickDirective,g.StopPropDirective],pipes:[x.I18nPipe,h.DecimalPipe],encapsulation:2}),t}(l.CipherReportComponent);t.ExposedPasswordsReportComponent=A},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1||!this.allowPersonal)&&(null!=this.organization?this.cloneMode&&this.organization.canManageAllCollections:!this.editMode||this.cloneMode)},t.prototype.loadCollections=function(){return this.organization.canManageAllCollections?Promise.resolve(this.collections):e.prototype.loadCollections.call(this)},t.prototype.loadCipher=function(){return o(this,void 0,void 0,function(){var t,n;return a(this,function(r){switch(r.label){case 0:return this.organization.canManageAllCollections?[3,2]:[4,e.prototype.loadCipher.call(this)];case 1:return[2,r.sent()];case 2:return[4,this.apiService.getCipherAdmin(this.cipherId)];case 3:return t=r.sent(),n=new s.CipherData(t),this.originalCipher=new l.Cipher(n),[2,new l.Cipher(n)]}})})},t.prototype.encryptCipher=function(){return this.organization.canManageAllCollections?this.cipherService.encrypt(this.cipher,null,this.originalCipher):e.prototype.encryptCipher.call(this)},t.prototype.saveCipher=function(t){return o(this,void 0,void 0,function(){var n;return a(this,function(r){return this.organization.canManageAllCollections&&null!=t.organizationId?this.editMode&&!this.cloneMode?(n=new p.CipherRequest(t),[2,this.apiService.putCipherAdmin(this.cipherId,n)]):(n=new c.CipherCreateRequest(t),[2,this.apiService.postCipherAdmin(n)]):[2,e.prototype.saveCipher.call(this,t)]})})},t.prototype.deleteCipher=function(){return o(this,void 0,void 0,function(){return a(this,function(t){return this.organization.canManageAllCollections?[2,this.cipher.isDeleted?this.apiService.deleteCipherAdmin(this.cipherId):this.apiService.putDeleteCipherAdmin(this.cipherId)]:[2,e.prototype.deleteCipher.call(this)]})})},t.ɵfac=function(e){return new(e||t)(d.ɵɵdirectiveInject(m.CipherService),d.ɵɵdirectiveInject(h.FolderService),d.ɵɵdirectiveInject(f.I18nService),d.ɵɵdirectiveInject(v.PlatformUtilsService),d.ɵɵdirectiveInject(y.AuditService),d.ɵɵdirectiveInject(g.StateService),d.ɵɵdirectiveInject(x.UserService),d.ɵɵdirectiveInject(b.CollectionService),d.ɵɵdirectiveInject(S.TotpService),d.ɵɵdirectiveInject(w.PasswordGenerationService),d.ɵɵdirectiveInject(C.ApiService),d.ɵɵdirectiveInject(I.MessagingService),d.ɵɵdirectiveInject(E.EventService),d.ɵɵdirectiveInject(P.PolicyService))},t.ɵcmp=d.ɵɵdefineComponent({type:t,selectors:[["app-org-vault-add-edit"]],features:[d.ɵɵInheritDefinitionFeature],decls:36,vars:11,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","cipherAddEditTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],["ngNativeValidate","","autocomplete","off",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","cipherAddEditTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit","class","btn btn-primary btn-submit",3,"disabled",4,"ngIf"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],["class","ml-auto",4,"ngIf"],[1,"modal-body"],["type","info",4,"ngIf"],["class","row",4,"ngIf"],[1,"row"],[1,"col-6","form-group"],["for","name"],["id","name","type","text","name","Name","required","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["class","col-6 form-group",4,"ngIf"],[4,"ngIf"],[1,"form-group"],["for","notes"],["id","notes","name","Notes","rows","6",1,"form-control",3,"ngModel","disabled","ngModelChange"],[1,"mt-4"],["cdkDropList","",3,"cdkDropListDropped",4,"ngIf"],["href","#","appStopClick","","class","d-inline-block mb-2",3,"click",4,"ngIf"],["type","info"],["for","type"],["id","type","name","Type","appAutofocus","",1,"form-control",3,"ngModel","disabled","ngModelChange"],[3,"ngValue",4,"ngFor","ngForOf"],[3,"ngValue"],["for","folder"],["id","folder","name","FolderId",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","loginUsername"],[1,"input-group"],["id","loginUsername","type","text","name","Login.Username","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["class","input-group-append",4,"ngIf"],[1,"d-flex"],["for","loginPassword"],["class","ml-auto d-flex",4,"ngIf"],["id","loginPassword","name","Login.Password","appInputVerbatim","","autocomplete","new-password",1,"form-control","text-monospace",3,"type","ngModel","disabled","ngModelChange"],[1,"input-group-append"],["type","button","tabindex","-1",1,"btn","btn-outline-secondary",3,"appA11yTitle","disabled","click"],["aria-hidden","true",1,"fa","fa-lg",3,"ngClass"],["aria-hidden","true",1,"fa","fa-lg","fa-clone"],["for","loginTotp"],["id","loginTotp","name","Login.Totp","appInputVerbatim","",1,"form-control","text-monospace",3,"type","ngModel","disabled","ngModelChange"],[1,"col-6","form-group","totp","d-flex","align-items-end",3,"ngClass"],["class","d-flex align-items-center",4,"ngIf"],["href","#","appStopClick","","class","d-inline-block mb-3",3,"click",4,"ngIf"],["type","button","tabindex","-1",1,"btn","btn-outline-secondary",3,"appA11yTitle","click"],[1,"ml-auto","d-flex"],["href","#","class","d-block mr-2","appStopClick","",3,"appA11yTitle","click",4,"ngIf"],["href","#","appStopClick","",1,"d-block",3,"appA11yTitle","appApiAction","click"],["checkPasswordBtn",""],["aria-hidden","true",1,"fa","fa-lg","fa-fw","fa-check-circle",3,"hidden"],["aria-hidden","true",1,"fa","fa-lg","fa-fw","fa-spinner","fa-spin",3,"hidden","title"],["href","#","appStopClick","",1,"d-block","mr-2",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-lg","fa-fw","fa-refresh"],["src","images/totp-countdown.png",1,"ml-2",3,"title"],["href","#","appStopClick","","class","badge badge-primary ml-3",3,"click",4,"ngIf"],["href","#","appStopClick","",1,"badge","badge-primary","ml-3",3,"click"],[1,"d-flex","align-items-center"],[1,"totp-countdown","mr-3","ml-2"],[1,"totp-sec"],["r","12.6","cy","16","cx","16",1,"totp-circle","inner",3,"ngStyle"],["r","14","cy","16","cx","16",1,"totp-circle","outer"],[1,"totp-code","mr-2",3,"title"],["type","button",1,"btn","btn-link",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-clone"],["class","row",4,"ngFor","ngForOf","ngForTrackBy"],[1,"col-7","form-group"],[3,"for"],["type","text","appInputVerbatim","",1,"form-control",3,"id","name","ngModel","disabled","placeholder","ngModelChange"],["aria-hidden","true",1,"fa","fa-lg","fa-share"],[1,"col-5","form-group"],["href","https://help.bitwarden.com/article/uri-match-detection/","target","_blank","rel","noopener",1,"ml-auto",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],[1,"form-control","overflow-hidden",3,"id","name","ngModel","disabled","ngModelChange","change"],["type","button","class","btn btn-link text-danger ml-2",3,"appA11yTitle","click",4,"ngIf"],["type","button",1,"btn","btn-link","text-danger","ml-2",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-minus-circle","fa-lg"],["href","#","appStopClick","",1,"d-inline-block","mb-3",3,"click"],["aria-hidden","true",1,"fa","fa-plus-circle","fa-fw"],["for","cardCardholderName"],["id","cardCardholderName","type","text","name","Card.CardCardholderName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","cardBrand"],["id","cardBrand","name","Card.Brand",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","cardNumber"],["id","cardNumber","type","text","name","Card.Number","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],[1,"col","form-group"],["for","cardExpMonth"],["id","cardExpMonth","name","Card.ExpMonth",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","cardExpYear"],["id","cardExpYear","type","text","name","Card.ExpYear",1,"form-control",3,"ngModel","placeholder","disabled","ngModelChange"],["for","cardCode"],["id","cardCode","name","Card.Code","appInputVerbatim","","autocomplete","new-password",1,"form-control","text-monospace",3,"type","ngModel","disabled","ngModelChange"],[1,"col-4","form-group"],["for","idTitle"],["id","idTitle","name","Identity.Title",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idFirstName"],["id","idFirstName","type","text","name","Identity.FirstName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idMiddleName"],["id","idMiddleName","type","text","name","Identity.MiddleName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idLastName"],["id","idLastName","type","text","name","Identity.LastName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idUsername"],["id","idUsername","type","text","name","Identity.Username","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idCompany"],["id","idCompany","type","text","name","Identity.Company",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idSsn"],["id","idSsn","type","text","name","Identity.SSN","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idPassportNumber"],["id","idPassportNumber","type","text","name","Identity.PassportNumber","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idLicenseNumber"],["id","idLicenseNumber","type","text","name","Identity.LicenseNumber","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idEmail"],["id","idEmail","type","text","name","Identity.Email","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idPhone"],["id","idPhone","type","text","name","Identity.Phone",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idAddress1"],["id","idAddress1","type","text","name","Identity.Address1",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idAddress2"],["id","idAddress2","type","text","name","Identity.Address2",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idAddress3"],["id","idAddress3","type","text","name","Identity.Address3",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idCity"],["id","idCity","type","text","name","Identity.City",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idState"],["id","idState","type","text","name","Identity.State",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idPostalCode"],["id","idPostalCode","type","text","name","Identity.PostalCode",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idCountry"],["id","idCountry","type","text","name","Identity.Country",1,"form-control",3,"ngModel","disabled","ngModelChange"],["cdkDropList","",3,"cdkDropListDropped"],["class","row","cdkDrag","",4,"ngFor","ngForOf","ngForTrackBy"],["cdkDrag","",1,"row"],["href","https://help.bitwarden.com/article/custom-fields/","target","_blank","rel","noopener",1,"ml-auto",3,"appA11yTitle"],["type","text","appInputVerbatim","",1,"form-control",3,"id","name","ngModel","disabled","ngModelChange"],["class","input-group",4,"ngIf"],[1,"flex-fill"],["type","checkbox","appTrueFalseValue","","trueValue","true","falseValue","false",3,"id","name","ngModel","disabled","ngModelChange",4,"ngIf"],["type","button","class","btn btn-link text-muted cursor-move",3,"appA11yTitle",4,"ngIf"],["appInputVerbatim","","autocomplete","new-password",1,"form-control","text-monospace",3,"id","type","name","ngModel","disabled","ngModelChange"],["type","checkbox","appTrueFalseValue","","trueValue","true","falseValue","false",3,"id","name","ngModel","disabled","ngModelChange"],["type","button",1,"btn","btn-link","text-muted","cursor-move",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-bars","fa-lg"],["href","#","appStopClick","",1,"d-inline-block","mb-2",3,"click"],[1,"col-5"],["for","addFieldType",1,"sr-only"],["id","addFieldType","name","AddFieldType",1,"form-control",3,"ngModel","ngModelChange"],["for","organizationId"],["id","organizationId","name","OrganizationId",1,"form-control",3,"ngModel","disabled","ngModelChange","change"],["class","form-check",4,"ngFor","ngForOf"],[1,"form-check"],["type","checkbox",1,"form-check-input",3,"ngModel","id","name","disabled","ngModelChange"],[1,"form-check-label",3,"for"],[1,"small","text-muted","mt-4"],[1,"font-weight-semibold"],["class","ml-3",4,"ngIf"],["href","#","appStopClick","",3,"title","click"],[1,"ml-3"],[4,"ngFor","ngForOf"],[1,"password-wrapper","text-monospace","ml-2"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],[1,"ml-auto"],["type","button","class","btn btn-link",3,"appA11yTitle","click",4,"ngIf"],["type","button","class","btn btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click",4,"ngIf"],["type","button",1,"btn","btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click"],["deleteBtn",""],["aria-hidden","true",1,"fa","fa-trash-o","fa-lg","fa-fw",3,"hidden"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","fa-lg","fa-fw",3,"hidden","title"]],template:function(e,t){1&e&&(d.ɵɵelementStart(0,"div",0),d.ɵɵtext(1,"\n "),d.ɵɵelementStart(2,"div",1),d.ɵɵtext(3,"\n "),d.ɵɵelementStart(4,"form",2,3),d.ɵɵlistener("ngSubmit",function(){return t.submit()}),d.ɵɵtext(6,"\n "),d.ɵɵelementStart(7,"div",4),d.ɵɵtext(8,"\n "),d.ɵɵelementStart(9,"h2",5),d.ɵɵtext(10),d.ɵɵelementEnd(),d.ɵɵtext(11,"\n "),d.ɵɵelementStart(12,"button",6),d.ɵɵpipe(13,"i18n"),d.ɵɵtext(14,"\n "),d.ɵɵelementStart(15,"span",7),d.ɵɵtext(16,"×"),d.ɵɵelementEnd(),d.ɵɵtext(17,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(18,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(19,"\n "),d.ɵɵtemplate(20,Te,54,25,"div",8),d.ɵɵtext(21,"\n "),d.ɵɵelementStart(22,"div",9),d.ɵɵtext(23,"\n "),d.ɵɵtemplate(24,Me,9,7,"button",10),d.ɵɵtext(25,"\n "),d.ɵɵelementStart(26,"button",11),d.ɵɵtext(27),d.ɵɵpipe(28,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(29,"\n "),d.ɵɵtemplate(30,je,6,2,"div",12),d.ɵɵtext(31,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(32,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(33,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(34,"\n"),d.ɵɵelementEnd(),d.ɵɵtext(35,"\n")),2&e&&(d.ɵɵadvance(4),d.ɵɵproperty("appApiAction",t.formPromise),d.ɵɵadvance(6),d.ɵɵtextInterpolate(t.title),d.ɵɵadvance(2),d.ɵɵpropertyInterpolate("appA11yTitle",d.ɵɵpipeBind1(13,7,"close")),d.ɵɵadvance(8),d.ɵɵproperty("ngIf",t.cipher),d.ɵɵadvance(4),d.ɵɵproperty("ngIf",!t.viewOnly),d.ɵɵadvance(3),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(28,9,t.viewOnly?"close":"cancel"),"\n "),d.ɵɵadvance(3),d.ɵɵproperty("ngIf",t.cipher&&!t.viewOnly))},directives:[k.NgControlStatusGroup,k.NgForm,_.ApiActionDirective,A.A11yTitleDirective,O.NgIf,k.DefaultValueAccessor,k.RequiredValidator,k.NgControlStatus,k.NgModel,T.CalloutComponent,k.SelectControlValueAccessor,M.AutofocusDirective,O.NgForOf,k.NgSelectOption,k.ɵangular_packages_forms_forms_x,B.InputVerbatimDirective,O.NgClass,D.StopClickDirective,O.NgStyle,V.CdkDropList,V.CdkDrag,j.TrueFalseValueDirective,k.CheckboxControlValueAccessor],pipes:[R.I18nPipe,O.DatePipe],encapsulation:2}),t}(u.AddEditComponent);t.AddEditComponent=Re},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){null!=e&&(this.id=e.id,this.url=e.url,this.fileName=e.fileName,this.key=e.key,this.size=e.size,this.sizeName=e.sizeName)}}();t.AttachmentData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){null!=e&&(this.cardholderName=e.cardholderName,this.brand=e.brand,this.number=e.number,this.expMonth=e.expMonth,this.expYear=e.expYear,this.code=e.code)}}();t.CardData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){null!=e&&(this.type=e.type,this.name=e.name,this.value=e.value)}}();t.FieldData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){null!=e&&(this.title=e.title,this.firstName=e.firstName,this.middleName=e.middleName,this.lastName=e.lastName,this.address1=e.address1,this.address2=e.address2,this.address3=e.address3,this.city=e.city,this.state=e.state,this.postalCode=e.postalCode,this.country=e.country,this.company=e.company,this.email=e.email,this.phone=e.phone,this.ssn=e.ssn,this.username=e.username,this.passportNumber=e.passportNumber,this.licenseNumber=e.licenseNumber)}}();t.IdentityData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(484),i=function(){return function(e){null!=e&&(this.username=e.username,this.password=e.password,this.passwordRevisionDate=e.passwordRevisionDate,this.totp=e.totp,e.uris&&(this.uris=e.uris.map(function(e){return new r.LoginUriData(e)})))}}();t.LoginData=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.match=null,null!=e&&(this.uri=e.uri,this.match=e.match)}}();t.LoginUriData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){null!=e&&(this.type=e.type)}}();t.SecureNoteData=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0))return[3,4];i.label=1;case 1:return i.trys.push([1,3,,4]),[4,this.getFileContents(n[0])];case 2:return null!=(o=i.sent())&&(r=o),[3,4];case 3:return i.sent(),[3,4];case 4:if(null==r||""===r)return this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("selectFile")),[2];i.label=5;case 5:return i.trys.push([5,7,,8]),this.formPromise=this.importService.import(e,r,this.organizationId),[4,this.formPromise];case 6:return null!=(a=i.sent())?(this.error(a),[2]):(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,8]);case 7:return i.sent(),[3,8];case 8:return[2]}})})},e.prototype.getFormatInstructionTitle=function(){var e=this;if(null==this.format)return null;var t=this.featuredImportOptions.concat(this.importOptions).filter(function(t){return t.id===e.format});return t.length>0?this.i18nService.t("instructionsFor",t[0].name):null},e.prototype.setImportOptions=function(){this.featuredImportOptions=o([{id:null,name:"-- "+this.i18nService.t("select")+" --"}],this.importService.featuredImportOptions),this.importOptions=this.importService.regularImportOptions},e.prototype.error=function(e){this.analytics.eventTrack.next({action:"Import Data Failed",properties:{label:this.format}}),this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),e.message)},e.prototype.getFileContents=function(e){var t=this;return new Promise(function(n,r){var i=new FileReader;i.readAsText(e,"utf-8"),i.onload=function(i){if("lastpasscsv"===t.format&&"text/html"===e.type){var o=(new DOMParser).parseFromString(i.target.result,"text/html").querySelector("pre");return null!=o?void n(o.textContent):void r()}n(i.target.result)},i.onerror=function(){r()}})},e.ɵfac=function(t){return new(t||e)(a.ɵɵdirectiveInject(s.I18nService),a.ɵɵdirectiveInject(l.Angulartics2),a.ɵɵdirectiveInject(c.ToasterService),a.ɵɵdirectiveInject(p.ImportService),a.ɵɵdirectiveInject(u.Router))},e.ɵcmp=a.ɵɵdefineComponent({type:e,selectors:[["app-import"]],decls:67,vars:25,consts:[[1,"page-header"],["ngNativeValidate","",3,"appApiAction","ngSubmit"],["form",""],[1,"row"],[1,"col-6"],[1,"form-group"],["for","type"],["id","type","name","Format","required","",1,"form-control",3,"ngModel","ngModelChange"],[3,"ngValue",4,"ngFor","ngForOf"],[4,"ngIf"],["type","info",3,"title",4,"ngIf"],["for","file"],["type","file","id","file","name","file",1,"form-control-file"],["for","fileContents"],["id","fileContents","name","FileContents",1,"form-control",3,"ngModel","ngModelChange"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],[3,"ngValue"],["value","-","disabled",""],["type","info",3,"title"],["target","_blank","rel","noopener","href","https://help.bitwarden.com/article/export-your-data/"],["target","_blank","rel","noopener","href","https://help.bitwarden.com/article/import-from-lastpass/"],["target","_blank","rel","noopener","href","https://help.bitwarden.com/article/import-from-chrome/"],["target","_blank","rel","noopener","href","https://bitwarden.com/help/article/import-from-firefox/"],["target","_blank","rel","noopener","href","https://help.bitwarden.com/article/import-from-1password/"],["target","_blank","rel","noopener","href","https://bit.ly/2GpOMTg"]],template:function(e,t){if(1&e&&(a.ɵɵelementStart(0,"div",0),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"h1"),a.ɵɵtext(3),a.ɵɵpipe(4,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(5,"\n"),a.ɵɵelementEnd(),a.ɵɵtext(6,"\n"),a.ɵɵelementStart(7,"form",1,2),a.ɵɵlistener("ngSubmit",function(){return t.submit()}),a.ɵɵtext(9,"\n "),a.ɵɵelementStart(10,"div",3),a.ɵɵtext(11,"\n "),a.ɵɵelementStart(12,"div",4),a.ɵɵtext(13,"\n "),a.ɵɵelementStart(14,"div",5),a.ɵɵtext(15,"\n "),a.ɵɵelementStart(16,"label",6),a.ɵɵtext(17),a.ɵɵpipe(18,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(19,"\n "),a.ɵɵelementStart(20,"select",7),a.ɵɵlistener("ngModelChange",function(e){return t.format=e}),a.ɵɵtext(21,"\n "),a.ɵɵtemplate(22,y,2,2,"option",8),a.ɵɵtext(23,"\n "),a.ɵɵtemplate(24,x,6,1,"ng-container",9),a.ɵɵtext(25,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(26,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(27,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(28,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(29,"\n "),a.ɵɵtemplate(30,ve,100,50,"app-callout",10),a.ɵɵtext(31,"\n "),a.ɵɵelementStart(32,"div",3),a.ɵɵtext(33,"\n "),a.ɵɵelementStart(34,"div",4),a.ɵɵtext(35,"\n "),a.ɵɵelementStart(36,"div",5),a.ɵɵtext(37,"\n "),a.ɵɵelementStart(38,"label",11),a.ɵɵtext(39),a.ɵɵpipe(40,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(41,"\n "),a.ɵɵelement(42,"input",12),a.ɵɵtext(43,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(44,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(45,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(46,"\n "),a.ɵɵelementStart(47,"div",5),a.ɵɵtext(48,"\n "),a.ɵɵelementStart(49,"label",13),a.ɵɵtext(50),a.ɵɵpipe(51,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(52,"\n "),a.ɵɵelementStart(53,"textarea",14),a.ɵɵlistener("ngModelChange",function(e){return t.fileContents=e}),a.ɵɵelementEnd(),a.ɵɵtext(54,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(55,"\n "),a.ɵɵelementStart(56,"button",15),a.ɵɵtext(57,"\n "),a.ɵɵelement(58,"i",16),a.ɵɵpipe(59,"i18n"),a.ɵɵtext(60,"\n "),a.ɵɵelementStart(61,"span"),a.ɵɵtext(62),a.ɵɵpipe(63,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(64,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(65,"\n"),a.ɵɵelementEnd(),a.ɵɵtext(66,"\n")),2&e){var n=a.ɵɵreference(8);a.ɵɵadvance(3),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(4,13,"importData")),a.ɵɵadvance(4),a.ɵɵproperty("appApiAction",t.formPromise),a.ɵɵadvance(10),a.ɵɵtextInterpolate1("1. ",a.ɵɵpipeBind1(18,15,"selectFormat"),""),a.ɵɵadvance(3),a.ɵɵproperty("ngModel",t.format),a.ɵɵadvance(2),a.ɵɵproperty("ngForOf",t.featuredImportOptions),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",t.importOptions&&t.importOptions.length),a.ɵɵadvance(6),a.ɵɵproperty("ngIf",t.format),a.ɵɵadvance(9),a.ɵɵtextInterpolate1("2. ",a.ɵɵpipeBind1(40,17,"selectImportFile"),""),a.ɵɵadvance(11),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(51,19,"orCopyPasteFileContents")),a.ɵɵadvance(3),a.ɵɵproperty("ngModel",t.fileContents),a.ɵɵadvance(3),a.ɵɵproperty("disabled",n.loading),a.ɵɵadvance(2),a.ɵɵpropertyInterpolate("title",a.ɵɵpipeBind1(59,21,"loading")),a.ɵɵadvance(4),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(63,23,"importData"))}},directives:[d.NgControlStatusGroup,d.NgForm,m.ApiActionDirective,d.SelectControlValueAccessor,d.RequiredValidator,d.NgControlStatus,d.NgModel,h.NgForOf,h.NgIf,d.DefaultValueAccessor,d.NgSelectOption,d.ɵangular_packages_forms_forms_x,f.CalloutComponent],pipes:[v.I18nPipe],encapsulation:2}),e}();t.ImportComponent=ye},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?[4,this.getAllCiphers()]:[3,6];case 4:return e=o.sent(),t=[],n=[],r=new Map,e.forEach(function(e){if(e.type===s.CipherType.Login&&(null==e.login.totp||""===e.login.totp)&&e.login.hasUris&&!e.isDeleted)for(var n=0;n0?[2]:[4,fetch(new Request("https://2fa.directory/api/v1/data.json"))];case 1:if(200!==(e=a.sent()).status)throw new Error;return[4,e.json()];case 2:for(n in t=a.sent())if(t.hasOwnProperty(n))for(i in r=t[n])r.hasOwnProperty(i)&&(o=r[i]).tfa&&o.software&&null!=o.url&&null!=(s=l.Utils.getHostname(o.url))&&this.services.set(s,o.doc);return[2]}})})},t.ɵfac=function(e){return new(e||t)(p.ɵɵdirectiveInject(u.CipherService),p.ɵɵdirectiveInject(p.ComponentFactoryResolver),p.ɵɵdirectiveInject(d.MessagingService),p.ɵɵdirectiveInject(m.UserService))},t.ɵcmp=p.ɵɵdefineComponent({type:t,selectors:[["app-inactive-two-factor-report"]],features:[p.ɵɵInheritDefinitionFeature],decls:20,vars:9,consts:[[1,"page-header"],[4,"ngIf"],["class","mt-4",4,"ngIf"],["cipherAddEdit",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"mt-4"],["type","success",3,"title",4,"ngIf"],["type","success",3,"title"],["type","danger",3,"title"],[1,"table","table-hover","table-list","table-ciphers"],[4,"ngFor","ngForOf"],[1,"table-list-icon"],[3,"cipher"],[1,"reduced-lh","wrap"],["href","#","appStopClick","",3,"title","click"],[1,"text-right"],["class","badge badge-primary","target","_blank","rel","noopener",3,"href",4,"ngIf"],["appStopProp","","aria-hidden","true",1,"fa","fa-share-alt",3,"title"],["appStopProp","","aria-hidden","true",1,"fa","fa-paperclip",3,"title"],["target","_blank","rel","noopener",1,"badge","badge-primary",3,"href"]],template:function(e,t){1&e&&(p.ɵɵelementStart(0,"div",0),p.ɵɵtext(1,"\n "),p.ɵɵelementStart(2,"h1"),p.ɵɵtext(3),p.ɵɵpipe(4,"i18n"),p.ɵɵtemplate(5,b,9,6,"small",1),p.ɵɵtext(6,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(7,"\n"),p.ɵɵelementEnd(),p.ɵɵtext(8,"\n"),p.ɵɵelementStart(9,"p"),p.ɵɵtext(10),p.ɵɵpipe(11,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(12,"\n"),p.ɵɵtemplate(13,S,9,6,"div",1),p.ɵɵtext(14,"\n"),p.ɵɵtemplate(15,_,6,2,"div",2),p.ɵɵtext(16,"\n"),p.ɵɵtemplate(17,A,0,0,"ng-template",null,3,p.ɵɵtemplateRefExtractor),p.ɵɵtext(19,"\n")),2&e&&(p.ɵɵadvance(3),p.ɵɵtextInterpolate1("\n ",p.ɵɵpipeBind1(4,5,"inactive2faReport"),"\n "),p.ɵɵadvance(2),p.ɵɵproperty("ngIf",t.hasLoaded&&t.loading),p.ɵɵadvance(5),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(11,7,"inactive2faReportDesc")),p.ɵɵadvance(3),p.ɵɵproperty("ngIf",!t.hasLoaded&&t.loading),p.ɵɵadvance(2),p.ɵɵproperty("ngIf",t.hasLoaded))},directives:[h.NgIf,f.CalloutComponent,h.NgForOf,v.IconComponent,y.StopClickDirective,g.StopPropDirective],pipes:[x.I18nPipe,h.DecimalPipe],encapsulation:2}),t}(c.CipherReportComponent);t.InactiveTwoFactorReportComponent=O},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1}),this.ciphers=n,[2]}})})},t.prototype.getAllCiphers=function(){return this.cipherService.getAllDecrypted()},t.prototype.canManageCipher=function(e){return!0},t.ɵfac=function(e){return new(e||t)(c.ɵɵdirectiveInject(p.CipherService),c.ɵɵdirectiveInject(c.ComponentFactoryResolver),c.ɵɵdirectiveInject(u.MessagingService),c.ɵɵdirectiveInject(d.UserService))},t.ɵcmp=c.ɵɵdefineComponent({type:t,selectors:[["app-reused-passwords-report"]],features:[c.ɵɵInheritDefinitionFeature],decls:20,vars:9,consts:[[1,"page-header"],[4,"ngIf"],["class","mt-4",4,"ngIf"],["cipherAddEdit",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"mt-4"],["type","success",3,"title",4,"ngIf"],["type","success",3,"title"],["type","danger",3,"title"],[1,"table","table-hover","table-list","table-ciphers"],[4,"ngFor","ngForOf"],[1,"table-list-icon"],[3,"cipher"],[1,"reduced-lh","wrap"],[4,"ngIf","ngIfElse"],["cantManage",""],[1,"text-right"],[1,"badge","badge-warning"],["href","#","appStopClick","",3,"title","click"],["appStopProp","","aria-hidden","true",1,"fa","fa-share-alt",3,"title"],["appStopProp","","aria-hidden","true",1,"fa","fa-paperclip",3,"title"]],template:function(e,t){1&e&&(c.ɵɵelementStart(0,"div",0),c.ɵɵtext(1,"\n "),c.ɵɵelementStart(2,"h1"),c.ɵɵtext(3),c.ɵɵpipe(4,"i18n"),c.ɵɵtemplate(5,x,9,6,"small",1),c.ɵɵtext(6,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(7,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(8,"\n"),c.ɵɵelementStart(9,"p"),c.ɵɵtext(10),c.ɵɵpipe(11,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(12,"\n"),c.ɵɵtemplate(13,b,9,6,"div",1),c.ɵɵtext(14,"\n"),c.ɵɵtemplate(15,_,6,2,"div",2),c.ɵɵtext(16,"\n"),c.ɵɵtemplate(17,A,0,0,"ng-template",null,3,c.ɵɵtemplateRefExtractor),c.ɵɵtext(19,"\n")),2&e&&(c.ɵɵadvance(3),c.ɵɵtextInterpolate1("\n ",c.ɵɵpipeBind1(4,5,"reusedPasswordsReport"),"\n "),c.ɵɵadvance(2),c.ɵɵproperty("ngIf",t.hasLoaded&&t.loading),c.ɵɵadvance(5),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(11,7,"reusedPasswordsReportDesc")),c.ɵɵadvance(3),c.ɵɵproperty("ngIf",!t.hasLoaded&&t.loading),c.ɵɵadvance(2),c.ɵɵproperty("ngIf",t.hasLoaded))},directives:[m.NgIf,h.CalloutComponent,m.NgForOf,f.IconComponent,v.StopClickDirective,y.StopPropDirective],pipes:[g.I18nPipe,m.DecimalPipe],encapsulation:2}),t}(l.CipherReportComponent);t.ReusedPasswordsReportComponent=O},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1?o.concat(e.login.username.substr(0,a).trim().toLowerCase().split(/[^A-Za-z0-9]/)).filter(function(e){return e.length>=3}):e.login.username.trim().toLowerCase().split(/[^A-Za-z0-9]/).filter(function(e){return e.length>=3})}var l=n.passwordGenerationService.passwordStrength(e.login.password,o.length>0?o:null);n.passwordStrengthCache.set(i,l.score)}var c=n.passwordStrengthCache.get(i);null!=c&&c<=2&&(n.passwordStrengthMap.set(e.id,n.scoreKey(c)),t.push(e))}}),this.ciphers=t,[2]}})})},t.prototype.getAllCiphers=function(){return this.cipherService.getAllDecrypted()},t.prototype.canManageCipher=function(e){return!0},t.prototype.scoreKey=function(e){switch(e){case 4:return["strong","success"];case 3:return["good","primary"];case 2:return["weak","warning"];default:return["veryWeak","danger"]}},t.ɵfac=function(e){return new(e||t)(c.ɵɵdirectiveInject(p.CipherService),c.ɵɵdirectiveInject(u.PasswordGenerationService),c.ɵɵdirectiveInject(c.ComponentFactoryResolver),c.ɵɵdirectiveInject(d.MessagingService),c.ɵɵdirectiveInject(m.UserService))},t.ɵcmp=c.ɵɵdefineComponent({type:t,selectors:[["app-weak-passwords-report"]],features:[c.ɵɵInheritDefinitionFeature],decls:20,vars:9,consts:[[1,"page-header"],[4,"ngIf"],["class","mt-4",4,"ngIf"],["cipherAddEdit",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"mt-4"],["type","success",3,"title",4,"ngIf"],["type","success",3,"title"],["type","danger",3,"title"],[1,"table","table-hover","table-list","table-ciphers"],[4,"ngFor","ngForOf"],[1,"table-list-icon"],[3,"cipher"],[1,"reduced-lh","wrap"],[4,"ngIf","ngIfElse"],["cantManage",""],[1,"text-right"],["href","#","appStopClick","",3,"title","click"],["appStopProp","","aria-hidden","true",1,"fa","fa-share-alt",3,"title"],["appStopProp","","aria-hidden","true",1,"fa","fa-paperclip",3,"title"]],template:function(e,t){1&e&&(c.ɵɵelementStart(0,"div",0),c.ɵɵtext(1,"\n "),c.ɵɵelementStart(2,"h1"),c.ɵɵtext(3),c.ɵɵpipe(4,"i18n"),c.ɵɵtemplate(5,b,9,6,"small",1),c.ɵɵtext(6,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(7,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(8,"\n"),c.ɵɵelementStart(9,"p"),c.ɵɵtext(10),c.ɵɵpipe(11,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(12,"\n"),c.ɵɵtemplate(13,S,9,6,"div",1),c.ɵɵtext(14,"\n"),c.ɵɵtemplate(15,A,6,2,"div",2),c.ɵɵtext(16,"\n"),c.ɵɵtemplate(17,O,0,0,"ng-template",null,3,c.ɵɵtemplateRefExtractor),c.ɵɵtext(19,"\n")),2&e&&(c.ɵɵadvance(3),c.ɵɵtextInterpolate1("\n ",c.ɵɵpipeBind1(4,5,"weakPasswordsReport"),"\n "),c.ɵɵadvance(2),c.ɵɵproperty("ngIf",t.hasLoaded&&t.loading),c.ɵɵadvance(5),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(11,7,"weakPasswordsReportDesc")),c.ɵɵadvance(3),c.ɵɵproperty("ngIf",!t.hasLoaded&&t.loading),c.ɵɵadvance(2),c.ɵɵproperty("ngIf",t.hasLoaded))},directives:[h.NgIf,f.CalloutComponent,h.NgForOf,v.IconComponent,y.StopClickDirective,g.StopPropDirective],pipes:[x.I18nPipe,h.DecimalPipe],encapsulation:2}),t}(l.CipherReportComponent);t.WeakPasswordsReportComponent=T},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1)""===r.substr(o).trim()&&(i=o);e+=r.substring(0,i)}this.platformUtilsService.copyToClipboard(e,{window:window})}},e.ɵfac=function(t){return new(t||e)(r.ɵɵdirectiveInject(r.ElementRef),r.ɵɵdirectiveInject(i.PlatformUtilsService))},e.ɵdir=r.ɵɵdefineDirective({type:e,selectors:[["","appSelectCopy",""]],hostBindings:function(e,t){1&e&&r.ɵɵlistener("copy",function(){return t.onCopy()})}}),e}();t.SelectCopyDirective=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(){}return e.prototype.transform=function(e){for(var t="",n=0;n":r=">",i=!0;break;case" ":r=" ",i=!0}var o="letter";i||r.match(/[^\w ]/)?o="special":r.match(/\d/)&&(o="number"),t+=''+r+""}return t},e.ɵfac=function(t){return new(t||e)},e.ɵpipe=r.ɵɵdefinePipe({name:"colorPassword",type:e,pure:!0}),e}();t.ColorPasswordPipe=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.userId=t,this.name=e.name,this.id=e.id,this.revisionDate=e.revisionDate}}();t.FolderData=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(129),a=function(e){function t(t,n){void 0===n&&(n=!1);var r=e.call(this)||this;return null==t?r:(r.buildDomainModel(r,t,{id:null,name:null},n,["id"]),r.revisionDate=null!=t.revisionDate?new Date(t.revisionDate):null,r)}return i(t,e),t.prototype.decrypt=function(){return this.decryptObj(new o.FolderView(this),{name:null},null)},t}(n(81).default);t.Folder=a},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(882),a=n(25),s=n(883),l=n(594),c=n(595),p=n(596),u=n(597),d=n(599),m=function(e){function t(t){var n=e.call(this,t)||this;n.id=n.getResponseProperty("Id"),n.organizationId=n.getResponseProperty("OrganizationId"),n.folderId=n.getResponseProperty("FolderId")||null,n.type=n.getResponseProperty("Type"),n.name=n.getResponseProperty("Name"),n.notes=n.getResponseProperty("Notes"),n.favorite=n.getResponseProperty("Favorite")||!1,n.edit=!!n.getResponseProperty("Edit"),null==n.getResponseProperty("ViewPassword")?n.viewPassword=!0:n.viewPassword=n.getResponseProperty("ViewPassword"),n.organizationUseTotp=n.getResponseProperty("OrganizationUseTotp"),n.revisionDate=n.getResponseProperty("RevisionDate"),n.collectionIds=n.getResponseProperty("CollectionIds"),n.deletedDate=n.getResponseProperty("DeletedDate");var r=n.getResponseProperty("Login");null!=r&&(n.login=new u.LoginApi(r));var i=n.getResponseProperty("Card");null!=i&&(n.card=new l.CardApi(i));var a=n.getResponseProperty("Identity");null!=a&&(n.identity=new p.IdentityApi(a));var m=n.getResponseProperty("SecureNote");null!=m&&(n.secureNote=new d.SecureNoteApi(m));var h=n.getResponseProperty("Fields");null!=h&&(n.fields=h.map(function(e){return new c.FieldApi(e)}));var f=n.getResponseProperty("Attachments");null!=f&&(n.attachments=f.map(function(e){return new o.AttachmentResponse(e)}));var v=n.getResponseProperty("PasswordHistory");return null!=v&&(n.passwordHistory=v.map(function(e){return new s.PasswordHistoryResponse(e)})),n}return i(t,e),t}(a.BaseResponse);t.CipherResponse=m},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(903),s=function(e){function t(t){var n=e.call(this,t)||this;n.organizations=[],n.id=n.getResponseProperty("Id"),n.name=n.getResponseProperty("Name"),n.email=n.getResponseProperty("Email"),n.emailVerified=n.getResponseProperty("EmailVerified"),n.masterPasswordHint=n.getResponseProperty("MasterPasswordHint"),n.premium=n.getResponseProperty("Premium"),n.culture=n.getResponseProperty("Culture"),n.twoFactorEnabled=n.getResponseProperty("TwoFactorEnabled"),n.key=n.getResponseProperty("Key"),n.privateKey=n.getResponseProperty("PrivateKey"),n.securityStamp=n.getResponseProperty("SecurityStamp");var r=n.getResponseProperty("Organizations");return null!=r&&(n.organizations=r.map(function(e){return new a.ProfileOrganizationResponse(e)})),n}return i(t,e),t}(o.BaseResponse);t.ProfileResponse=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){void 0===t&&(t=null);var n=e.call(this,t)||this;return null==t?n:(n.id=n.getResponseProperty("Id"),n.url=n.getResponseProperty("Url"),n.fileName=n.getResponseProperty("FileName"),n.key=n.getResponseProperty("Key"),n.size=n.getResponseProperty("Size"),n.sizeName=n.getResponseProperty("SizeName"),n)}return i(t,e),t}(n(25).BaseResponse);t.SendFileApi=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){void 0===t&&(t=null);var n=e.call(this,t)||this;return null==t?n:(n.text=n.getResponseProperty("Text"),n.hidden=n.getResponseProperty("Hidden")||!1,n)}return i(t,e),t}(n(25).BaseResponse);t.SendTextApi=o},,,,,function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1&&(this.email=r.email),null!=r.premium?this.stateService.save("loginRedirect",{route:"/settings/premium"}):null!=r.org&&this.stateService.save("loginRedirect",{route:"/settings/create-organization",qParams:{plan:r.org}}),[4,e.prototype.ngOnInit.call(this)];case 1:return n.sent(),null!=t&&t.unsubscribe(),[2]}})})}),[2]})})},t.prototype.goAfterLogIn=function(){return o(this,void 0,void 0,function(){var e,t,n;return a(this,function(r){switch(r.label){case 0:return[4,this.stateService.get("orgInvitation")];case 1:return e=r.sent(),[4,this.stateService.get("emergencyInvitation")];case 2:return t=r.sent(),null==e?[3,3]:(this.router.navigate(["accept-organization"],{queryParams:e}),[3,8]);case 3:return null==t?[3,4]:(this.router.navigate(["accept-emergency"],{queryParams:t}),[3,8]);case 4:return[4,this.stateService.get("loginRedirect")];case 5:return null==(n=r.sent())?[3,7]:(this.router.navigate([n.route],{queryParams:n.qParams}),[4,this.stateService.remove("loginRedirect")]);case 6:return r.sent(),[3,8];case 7:this.router.navigate([this.successRoute]),r.label=8;case 8:return[2]}})})},t.ɵfac=function(e){return new(e||t)(l.ɵɵdirectiveInject(c.AuthService),l.ɵɵdirectiveInject(p.Router),l.ɵɵdirectiveInject(u.I18nService),l.ɵɵdirectiveInject(p.ActivatedRoute),l.ɵɵdirectiveInject(d.StorageService),l.ɵɵdirectiveInject(m.StateService),l.ɵɵdirectiveInject(h.PlatformUtilsService),l.ɵɵdirectiveInject(f.EnvironmentService),l.ɵɵdirectiveInject(v.PasswordGenerationService),l.ɵɵdirectiveInject(y.CryptoFunctionService))},t.ɵcmp=l.ɵɵdefineComponent({type:t,selectors:[["app-login"]],features:[l.ɵɵInheritDefinitionFeature],decls:97,vars:43,consts:[["ngNativeValidate","",1,"container",3,"appApiAction","ngSubmit"],["form",""],[1,"row","justify-content-md-center","mt-5"],[1,"col-5"],["src","images/logo-dark@2x.png","alt","Bitwarden",1,"logo","mb-2"],[1,"lead","text-center","mx-4","mb-4"],[1,"card","d-block"],[1,"card-body"],[1,"form-group"],["for","email"],["id","email","type","text","name","Email","required","","inputmode","email","appInputVerbatim","false",1,"form-control",3,"ngModel","ngModelChange"],["for","masterPassword"],[1,"d-flex"],["id","masterPassword","name","MasterPassword","required","","appInputVerbatim","",1,"text-monospace","form-control",3,"type","ngModel","ngModelChange"],["type","button",1,"ml-1","btn","btn-link",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-lg",3,"ngClass"],[1,"form-text"],["routerLink","/hint"],[1,"form-check"],["type","checkbox","id","rememberEmail","name","RememberEmail",1,"form-check-input",3,"ngModel","ngModelChange"],["for","rememberEmail",1,"form-check-label"],["type","submit",1,"btn","btn-primary","btn-block","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-sign-in"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["routerLink","/register",1,"btn","btn-outline-secondary","btn-block","ml-2","mt-0",3,"queryParams"],["aria-hidden","true",1,"fa","fa-pencil-square-o"],["routerLink","/sso",1,"btn","btn-outline-secondary","btn-block","mt-2"],["aria-hidden","true",1,"fa","fa-bank"]],template:function(e,t){if(1&e&&(l.ɵɵelementStart(0,"form",0,1),l.ɵɵlistener("ngSubmit",function(){return t.submit()}),l.ɵɵtext(2,"\n "),l.ɵɵelementStart(3,"div",2),l.ɵɵtext(4,"\n "),l.ɵɵelementStart(5,"div",3),l.ɵɵtext(6,"\n "),l.ɵɵelement(7,"img",4),l.ɵɵtext(8,"\n "),l.ɵɵelementStart(9,"p",5),l.ɵɵtext(10),l.ɵɵpipe(11,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(12,"\n "),l.ɵɵelementStart(13,"div",6),l.ɵɵtext(14,"\n "),l.ɵɵelementStart(15,"div",7),l.ɵɵtext(16,"\n "),l.ɵɵelementStart(17,"div",8),l.ɵɵtext(18,"\n "),l.ɵɵelementStart(19,"label",9),l.ɵɵtext(20),l.ɵɵpipe(21,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(22,"\n "),l.ɵɵelementStart(23,"input",10),l.ɵɵlistener("ngModelChange",function(e){return t.email=e}),l.ɵɵelementEnd(),l.ɵɵtext(24,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(25,"\n "),l.ɵɵelementStart(26,"div",8),l.ɵɵtext(27,"\n "),l.ɵɵelementStart(28,"label",11),l.ɵɵtext(29),l.ɵɵpipe(30,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(31,"\n "),l.ɵɵelementStart(32,"div",12),l.ɵɵtext(33,"\n "),l.ɵɵelementStart(34,"input",13),l.ɵɵlistener("ngModelChange",function(e){return t.masterPassword=e}),l.ɵɵelementEnd(),l.ɵɵtext(35,"\n "),l.ɵɵelementStart(36,"button",14),l.ɵɵlistener("click",function(){return t.togglePassword()}),l.ɵɵpipe(37,"i18n"),l.ɵɵtext(38,"\n "),l.ɵɵelement(39,"i",15),l.ɵɵtext(40,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(41,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(42,"\n "),l.ɵɵelementStart(43,"small",16),l.ɵɵtext(44,"\n "),l.ɵɵelementStart(45,"a",17),l.ɵɵtext(46),l.ɵɵpipe(47,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(48,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(49,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(50,"\n "),l.ɵɵelementStart(51,"div",18),l.ɵɵtext(52,"\n "),l.ɵɵelementStart(53,"input",19),l.ɵɵlistener("ngModelChange",function(e){return t.rememberEmail=e}),l.ɵɵelementEnd(),l.ɵɵtext(54,"\n "),l.ɵɵelementStart(55,"label",20),l.ɵɵtext(56),l.ɵɵpipe(57,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(58,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(59,"\n "),l.ɵɵelement(60,"hr"),l.ɵɵtext(61,"\n "),l.ɵɵelementStart(62,"div",12),l.ɵɵtext(63,"\n "),l.ɵɵelementStart(64,"button",21),l.ɵɵtext(65,"\n "),l.ɵɵelementStart(66,"span"),l.ɵɵtext(67,"\n "),l.ɵɵelement(68,"i",22),l.ɵɵtext(69),l.ɵɵpipe(70,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(71,"\n "),l.ɵɵelement(72,"i",23),l.ɵɵpipe(73,"i18n"),l.ɵɵtext(74,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(75,"\n "),l.ɵɵelementStart(76,"a",24),l.ɵɵtext(77,"\n "),l.ɵɵelement(78,"i",25),l.ɵɵtext(79),l.ɵɵpipe(80,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(81,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(82,"\n "),l.ɵɵelementStart(83,"div",12),l.ɵɵtext(84,"\n "),l.ɵɵelementStart(85,"a",26),l.ɵɵtext(86,"\n "),l.ɵɵelement(87,"i",27),l.ɵɵtext(88),l.ɵɵpipe(89,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(90,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(91,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(92,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(93,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(94,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(95,"\n"),l.ɵɵelementEnd(),l.ɵɵtext(96,"\n")),2&e){var n=l.ɵɵreference(1);l.ɵɵproperty("appApiAction",t.formPromise),l.ɵɵadvance(10),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(11,18,"loginOrCreateNewAccount")),l.ɵɵadvance(10),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(21,20,"emailAddress")),l.ɵɵadvance(3),l.ɵɵproperty("ngModel",t.email),l.ɵɵadvance(6),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(30,22,"masterPass")),l.ɵɵadvance(5),l.ɵɵpropertyInterpolate("type",t.showPassword?"text":"password"),l.ɵɵproperty("ngModel",t.masterPassword),l.ɵɵadvance(2),l.ɵɵpropertyInterpolate("appA11yTitle",l.ɵɵpipeBind1(37,24,"toggleVisibility")),l.ɵɵadvance(3),l.ɵɵproperty("ngClass",l.ɵɵpureFunction2(38,I,!t.showPassword,t.showPassword)),l.ɵɵadvance(7),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(47,26,"getMasterPasswordHint")),l.ɵɵadvance(7),l.ɵɵproperty("ngModel",t.rememberEmail),l.ɵɵadvance(3),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(57,28,"rememberEmail")),l.ɵɵadvance(8),l.ɵɵproperty("disabled",n.loading),l.ɵɵadvance(5),l.ɵɵtextInterpolate1(" ",l.ɵɵpipeBind1(70,30,"logIn"),"\n "),l.ɵɵadvance(3),l.ɵɵpropertyInterpolate("title",l.ɵɵpipeBind1(73,32,"loading")),l.ɵɵadvance(4),l.ɵɵproperty("queryParams",l.ɵɵpureFunction1(41,E,t.email)),l.ɵɵadvance(3),l.ɵɵtextInterpolate1(" ",l.ɵɵpipeBind1(80,34,"createAccount"),"\n "),l.ɵɵadvance(9),l.ɵɵtextInterpolate1(" ",l.ɵɵpipeBind1(89,36,"enterpriseSingleSignOn"),"\n ")}},directives:[g.NgControlStatusGroup,g.NgForm,x.ApiActionDirective,g.DefaultValueAccessor,g.RequiredValidator,b.InputVerbatimDirective,g.NgControlStatus,g.NgModel,S.A11yTitleDirective,w.NgClass,p.RouterLinkWithHref,g.CheckboxControlValueAccessor],pipes:[C.I18nPipe],encapsulation:2}),t}(s.LoginComponent);t.LoginComponent=P},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",(null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.minLength)>0),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireUpper),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireLower),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireNumbers),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireSpecial)}}function K(e,t){if(1&e){var n=u.ɵɵgetCurrentView();u.ɵɵelementStart(0,"div",12),u.ɵɵtext(1,"\n "),u.ɵɵelementStart(2,"div",48),u.ɵɵtext(3,"\n "),u.ɵɵelementStart(4,"input",49),u.ɵɵlistener("ngModelChange",function(e){return u.ɵɵrestoreView(n),u.ɵɵnextContext().acceptPolicies=e}),u.ɵɵelementEnd(),u.ɵɵtext(5,"\n "),u.ɵɵelementStart(6,"label",50),u.ɵɵtext(7),u.ɵɵpipe(8,"i18n"),u.ɵɵelement(9,"br"),u.ɵɵtext(10,"\n "),u.ɵɵelementStart(11,"a",51),u.ɵɵtext(12),u.ɵɵpipe(13,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(14,",\n "),u.ɵɵelementStart(15,"a",52),u.ɵɵtext(16),u.ɵɵpipe(17,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(18,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(19,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(20,"\n "),u.ɵɵelementEnd()}if(2&e){var r=u.ɵɵnextContext();u.ɵɵadvance(4),u.ɵɵproperty("ngModel",r.acceptPolicies),u.ɵɵadvance(3),u.ɵɵtextInterpolate1("\n ",u.ɵɵpipeBind1(8,4,"acceptPolicies"),""),u.ɵɵadvance(5),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(13,6,"termsOfService")),u.ɵɵadvance(4),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(17,8,"privacyPolicy"))}}var q=function(e){return["layout",e]},H=function(e,t){return{"col-5":e,"col-12":t}},W=function(e,t){return{"fa-eye":e,"fa-eye-slash":t}},$=function(e){function t(t,n,r,i,o,a,s,l,c,p){var u=e.call(this,t,n,r,i,o,s,l,c)||this;return u.route=a,u.policyService=p,u.showCreateOrgMessage=!1,u.layout="",u}return i(t,e),t.prototype.getPasswordScoreAlertDisplay=function(){if(null==this.enforcedPolicyOptions)return"";var e;switch(this.enforcedPolicyOptions.minComplexity){case 4:e=this.i18nService.t("strong");break;case 3:e=this.i18nService.t("good");break;default:e=this.i18nService.t("weak")}return e+" ("+this.enforcedPolicyOptions.minComplexity+")"},t.prototype.ngOnInit=function(){return o(this,void 0,void 0,function(){var e,t,n,r,i,o=this;return a(this,function(a){switch(a.label){case 0:return e=this.route.queryParams.subscribe(function(t){o.referenceData=new p.ReferenceEventRequest,null!=t.email&&t.email.indexOf("@")>-1&&(o.email=t.email),null!=t.premium?o.stateService.save("loginRedirect",{route:"/settings/premium"}):null!=t.org&&(o.showCreateOrgMessage=!0,o.referenceData.flow=t.org,o.stateService.save("loginRedirect",{route:"/settings/create-organization",qParams:{plan:t.org}})),null!=t.layout&&(o.layout=o.referenceData.layout=t.layout),null!=t.reference?o.referenceData.id=t.reference:o.referenceData.id=("; "+document.cookie).split("; reference=").pop().split(";").shift(),""===o.referenceData.id&&(o.referenceData.id=null),null!=e&&e.unsubscribe()}),[4,this.stateService.get("orgInvitation")];case 1:if(null==(t=a.sent()))return[3,5];a.label=2;case 2:return a.trys.push([2,4,,5]),[4,this.apiService.getPoliciesByToken(t.organizationId,t.token,t.email,t.organizationUserId)];case 3:return null!=(n=a.sent()).data&&(r=n.data.map(function(e){return new c.PolicyData(e)}),this.policies=r.map(function(e){return new l.Policy(e)})),[3,5];case 4:return a.sent(),[3,5];case 5:return null==this.policies?[3,7]:(i=this,[4,this.policyService.getMasterPasswordPolicyOptions(this.policies)]);case 6:i.enforcedPolicyOptions=a.sent(),a.label=7;case 7:return[2]}})})},t.prototype.submit=function(){return o(this,void 0,void 0,function(){return a(this,function(t){switch(t.label){case 0:return null==this.enforcedPolicyOptions||this.policyService.evaluateMasterPassword(this.masterPasswordScore,this.masterPassword,this.enforcedPolicyOptions)?[4,e.prototype.submit.call(this)]:(this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("masterPasswordPolicyRequirementsNotMet")),[2]);case 1:return t.sent(),[2]}})})},t.ɵfac=function(e){return new(e||t)(u.ɵɵdirectiveInject(d.AuthService),u.ɵɵdirectiveInject(m.Router),u.ɵɵdirectiveInject(h.I18nService),u.ɵɵdirectiveInject(f.CryptoService),u.ɵɵdirectiveInject(v.ApiService),u.ɵɵdirectiveInject(m.ActivatedRoute),u.ɵɵdirectiveInject(y.StateService),u.ɵɵdirectiveInject(g.PlatformUtilsService),u.ɵɵdirectiveInject(x.PasswordGenerationService),u.ɵɵdirectiveInject(b.PolicyService))},t.ɵcmp=u.ɵɵdefineComponent({type:t,selectors:[["app-register"]],features:[u.ɵɵInheritDefinitionFeature],decls:146,vars:80,consts:[[1,"layout",3,"ngClass"],["class","header",4,"ngIf"],["ngNativeValidate","",1,"container",3,"appApiAction","ngSubmit"],["form",""],[1,"row"],["class","col-7",4,"ngIf"],[3,"ngClass"],[1,"row","justify-content-md-center","mt-5"],["class","lead text-center mb-4",4,"ngIf"],[1,"card","d-block"],[1,"card-body"],["type","info","icon","fa-thumb-tack",3,"title",4,"ngIf"],[1,"form-group"],["for","email"],["id","email","type","text","name","Email","required","","inputmode","email","appInputVerbatim","false",1,"form-control",3,"ngModel","appAutofocus","ngModelChange"],[1,"form-text","text-muted"],["for","name"],["id","name","type","text","name","Name",1,"form-control",3,"ngModel","appAutofocus","ngModelChange"],["type","info",4,"ngIf"],["for","masterPassword"],[1,"d-flex"],[1,"w-100"],["id","masterPassword","name","MasterPassword","required","","appInputVerbatim","",1,"text-monospace","form-control","mb-1",3,"type","ngModel","ngModelChange","input"],[3,"score","showText"],["type","button",1,"ml-1","btn","btn-link",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-lg",3,"ngClass"],[1,"progress-bar","invisible"],["for","masterPasswordRetype"],["id","masterPasswordRetype","name","MasterPasswordRetype","required","","appInputVerbatim","",1,"text-monospace","form-control",3,"type","ngModel","ngModelChange"],["for","hint"],["id","hint","type","text","name","Hint",1,"form-control",3,"ngModel","ngModelChange"],["class","form-group",4,"ngIf"],[1,"d-flex","mb-2"],["type","submit",1,"btn","btn-primary","btn-block","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["routerLink","/",1,"btn","btn-outline-secondary","btn-block","ml-2","mt-0"],[1,"header"],[1,"container"],[1,"col-7"],["alt","Bitwarden","src","images/logo-horizontal-white.png",1,"logo","mb-2"],[1,"mt-5"],[4,"ngIf"],[1,"highlight"],["src","images/wired-logo.png","alt","Wired"],[1,"lead","text-center","mb-4"],["type","info","icon","fa-thumb-tack",3,"title"],["type","info"],[1,"mb-0"],[1,"form-check"],["type","checkbox","id","acceptPolicies","name","AcceptPolicies",1,"form-check-input",3,"ngModel","ngModelChange"],["for","acceptPolicies",1,"form-check-label","small","text-muted"],["href","https://bitwarden.com/terms/","target","_blank","rel","noopener"],["href","https://bitwarden.com/privacy/","target","_blank","rel","noopener"]],template:function(e,t){if(1&e&&(u.ɵɵelementStart(0,"div",0),u.ɵɵtext(1,"\n "),u.ɵɵtemplate(2,O,13,0,"header",1),u.ɵɵtext(3,"\n "),u.ɵɵelementStart(4,"form",2,3),u.ɵɵlistener("ngSubmit",function(){return t.submit()}),u.ɵɵtext(6,"\n "),u.ɵɵelementStart(7,"div",4),u.ɵɵtext(8,"\n "),u.ɵɵtemplate(9,D,11,3,"div",5),u.ɵɵtext(10,"\n "),u.ɵɵelementStart(11,"div",6),u.ɵɵtext(12,"\n "),u.ɵɵelementStart(13,"div",7),u.ɵɵtext(14,"\n "),u.ɵɵelementStart(15,"div",6),u.ɵɵtext(16,"\n "),u.ɵɵtemplate(17,V,3,3,"p",8),u.ɵɵtext(18,"\n "),u.ɵɵelementStart(19,"div",9),u.ɵɵtext(20,"\n "),u.ɵɵelementStart(21,"div",10),u.ɵɵtext(22,"\n "),u.ɵɵtemplate(23,j,4,6,"app-callout",11),u.ɵɵtext(24,"\n "),u.ɵɵelementStart(25,"div",12),u.ɵɵtext(26,"\n "),u.ɵɵelementStart(27,"label",13),u.ɵɵtext(28),u.ɵɵpipe(29,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(30,"\n "),u.ɵɵelementStart(31,"input",14),u.ɵɵlistener("ngModelChange",function(e){return t.email=e}),u.ɵɵelementEnd(),u.ɵɵtext(32,"\n "),u.ɵɵelementStart(33,"small",15),u.ɵɵtext(34),u.ɵɵpipe(35,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(36,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(37,"\n "),u.ɵɵelementStart(38,"div",12),u.ɵɵtext(39,"\n "),u.ɵɵelementStart(40,"label",16),u.ɵɵtext(41),u.ɵɵpipe(42,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(43,"\n "),u.ɵɵelementStart(44,"input",17),u.ɵɵlistener("ngModelChange",function(e){return t.name=e}),u.ɵɵelementEnd(),u.ɵɵtext(45,"\n "),u.ɵɵelementStart(46,"small",15),u.ɵɵtext(47),u.ɵɵpipe(48,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(49,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(50,"\n "),u.ɵɵelementStart(51,"div",12),u.ɵɵtext(52,"\n "),u.ɵɵtemplate(53,G,18,9,"app-callout",18),u.ɵɵtext(54,"\n "),u.ɵɵelementStart(55,"label",19),u.ɵɵtext(56),u.ɵɵpipe(57,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(58,"\n "),u.ɵɵelementStart(59,"div",20),u.ɵɵtext(60,"\n "),u.ɵɵelementStart(61,"div",21),u.ɵɵtext(62,"\n "),u.ɵɵelementStart(63,"input",22),u.ɵɵlistener("ngModelChange",function(e){return t.masterPassword=e})("input",function(){return t.updatePasswordStrength()}),u.ɵɵelementEnd(),u.ɵɵtext(64,"\n "),u.ɵɵelementStart(65,"app-password-strength",23),u.ɵɵtext(66,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(67,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(68,"\n "),u.ɵɵelementStart(69,"div"),u.ɵɵtext(70,"\n "),u.ɵɵelementStart(71,"button",24),u.ɵɵlistener("click",function(){return t.togglePassword(!1)}),u.ɵɵpipe(72,"i18n"),u.ɵɵtext(73,"\n "),u.ɵɵelement(74,"i",25),u.ɵɵtext(75,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(76,"\n "),u.ɵɵelement(77,"div",26),u.ɵɵtext(78,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(79,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(80,"\n "),u.ɵɵelementStart(81,"small",15),u.ɵɵtext(82),u.ɵɵpipe(83,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(84,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(85,"\n "),u.ɵɵelementStart(86,"div",12),u.ɵɵtext(87,"\n "),u.ɵɵelementStart(88,"label",27),u.ɵɵtext(89),u.ɵɵpipe(90,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(91,"\n "),u.ɵɵelementStart(92,"div",20),u.ɵɵtext(93,"\n "),u.ɵɵelementStart(94,"input",28),u.ɵɵlistener("ngModelChange",function(e){return t.confirmMasterPassword=e}),u.ɵɵelementEnd(),u.ɵɵtext(95,"\n "),u.ɵɵelementStart(96,"button",24),u.ɵɵlistener("click",function(){return t.togglePassword(!0)}),u.ɵɵpipe(97,"i18n"),u.ɵɵtext(98,"\n "),u.ɵɵelement(99,"i",25),u.ɵɵtext(100,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(101,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(102,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(103,"\n "),u.ɵɵelementStart(104,"div",12),u.ɵɵtext(105,"\n "),u.ɵɵelementStart(106,"label",29),u.ɵɵtext(107),u.ɵɵpipe(108,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(109,"\n "),u.ɵɵelementStart(110,"input",30),u.ɵɵlistener("ngModelChange",function(e){return t.hint=e}),u.ɵɵelementEnd(),u.ɵɵtext(111,"\n "),u.ɵɵelementStart(112,"small",15),u.ɵɵtext(113),u.ɵɵpipe(114,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(115,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(116,"\n "),u.ɵɵtemplate(117,K,21,10,"div",31),u.ɵɵtext(118,"\n "),u.ɵɵelement(119,"hr"),u.ɵɵtext(120,"\n "),u.ɵɵelementStart(121,"div",32),u.ɵɵtext(122,"\n "),u.ɵɵelementStart(123,"button",33),u.ɵɵtext(124,"\n "),u.ɵɵelementStart(125,"span"),u.ɵɵtext(126),u.ɵɵpipe(127,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(128,"\n "),u.ɵɵelement(129,"i",34),u.ɵɵpipe(130,"i18n"),u.ɵɵtext(131,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(132,"\n "),u.ɵɵelementStart(133,"a",35),u.ɵɵtext(134),u.ɵɵpipe(135,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(136,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(137,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(138,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(139,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(140,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(141,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(142,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(143,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(144,"\n"),u.ɵɵelementEnd(),u.ɵɵtext(145,"\n")),2&e){var n=u.ɵɵreference(5);u.ɵɵproperty("ngClass",u.ɵɵpureFunction1(66,q,t.layout)),u.ɵɵadvance(2),u.ɵɵproperty("ngIf","enterprise2"===t.layout),u.ɵɵadvance(2),u.ɵɵproperty("appApiAction",t.formPromise),u.ɵɵadvance(5),u.ɵɵproperty("ngIf",t.layout),u.ɵɵadvance(2),u.ɵɵproperty("ngClass",u.ɵɵpureFunction2(68,H,t.layout,!t.layout)),u.ɵɵadvance(4),u.ɵɵproperty("ngClass",u.ɵɵpureFunction2(71,H,!t.layout,t.layout)),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",!t.layout),u.ɵɵadvance(6),u.ɵɵproperty("ngIf",t.showCreateOrgMessage),u.ɵɵadvance(5),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(29,38,"emailAddress")),u.ɵɵadvance(3),u.ɵɵproperty("ngModel",t.email)("appAutofocus",""===t.email),u.ɵɵadvance(3),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(35,40,"emailAddressDesc")),u.ɵɵadvance(7),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(42,42,"yourName")),u.ɵɵadvance(3),u.ɵɵproperty("ngModel",t.name)("appAutofocus",""!==t.email),u.ɵɵadvance(3),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(48,44,"yourNameDesc")),u.ɵɵadvance(6),u.ɵɵproperty("ngIf",t.enforcedPolicyOptions),u.ɵɵadvance(3),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(57,46,"masterPass")),u.ɵɵadvance(7),u.ɵɵpropertyInterpolate("type",t.showPassword?"text":"password"),u.ɵɵproperty("ngModel",t.masterPassword),u.ɵɵadvance(2),u.ɵɵproperty("score",t.masterPasswordScore)("showText",!0),u.ɵɵadvance(6),u.ɵɵpropertyInterpolate("appA11yTitle",u.ɵɵpipeBind1(72,48,"toggleVisibility")),u.ɵɵadvance(3),u.ɵɵproperty("ngClass",u.ɵɵpureFunction2(74,W,!t.showPassword,t.showPassword)),u.ɵɵadvance(8),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(83,50,"masterPassDesc")),u.ɵɵadvance(7),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(90,52,"reTypeMasterPass")),u.ɵɵadvance(5),u.ɵɵpropertyInterpolate("type",t.showPassword?"text":"password"),u.ɵɵproperty("ngModel",t.confirmMasterPassword),u.ɵɵadvance(2),u.ɵɵpropertyInterpolate("appA11yTitle",u.ɵɵpipeBind1(97,54,"toggleVisibility")),u.ɵɵadvance(3),u.ɵɵproperty("ngClass",u.ɵɵpureFunction2(77,W,!t.showPassword,t.showPassword)),u.ɵɵadvance(8),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(108,56,"masterPassHint")),u.ɵɵadvance(3),u.ɵɵproperty("ngModel",t.hint),u.ɵɵadvance(3),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(114,58,"masterPassHintDesc")),u.ɵɵadvance(4),u.ɵɵproperty("ngIf",t.showTerms),u.ɵɵadvance(6),u.ɵɵproperty("disabled",n.loading),u.ɵɵadvance(3),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(127,60,"submit")),u.ɵɵadvance(3),u.ɵɵpropertyInterpolate("title",u.ɵɵpipeBind1(130,62,"loading")),u.ɵɵadvance(5),u.ɵɵtextInterpolate1("\n ",u.ɵɵpipeBind1(135,64,"cancel"),"\n ")}},directives:[S.NgClass,S.NgIf,w.NgControlStatusGroup,w.NgForm,C.ApiActionDirective,w.DefaultValueAccessor,w.RequiredValidator,I.InputVerbatimDirective,w.NgControlStatus,w.NgModel,E.AutofocusDirective,P.PasswordStrengthComponent,k.A11yTitleDirective,m.RouterLinkWithHref,_.CalloutComponent,w.CheckboxControlValueAccessor],pipes:[A.I18nPipe],encapsulation:2}),t}(s.RegisterComponent);t.RegisterComponent=$},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){var n=e.call(this)||this;return null==t?n:(n.id=t.id,n.organizationId=t.organizationId,n.type=t.type,n.data=t.data,n.enabled=t.enabled,n)}return i(t,e),t}(n(81).default);t.Policy=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.id=e.id,this.organizationId=e.organizationId,this.type=e.type,this.data=e.data,this.enabled=e.enabled}}();t.PolicyData=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});n(0),n(8),n(5),n(19),n(3),n(15),n(36),n(6),n(50),n(63),n(7);var o=n(830),a=n(0),s=n(5),l=n(3),c=n(19),p=n(15),u=n(7),d=n(36),m=n(6),h=n(50),f=n(8),v=n(63),y=n(14),g=n(17),x=n(4),b=n(29),S=n(45),w=n(247),C=n(18),I=n(10);function E(e,t){1&e&&(a.ɵɵelementStart(0,"div",8),a.ɵɵtext(1,"\n "),a.ɵɵelement(2,"i",9),a.ɵɵpipe(3,"i18n"),a.ɵɵtext(4),a.ɵɵpipe(5,"i18n"),a.ɵɵelementEnd()),2&e&&(a.ɵɵadvance(2),a.ɵɵpropertyInterpolate("title",a.ɵɵpipeBind1(3,2,"loading")),a.ɵɵadvance(2),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(5,4,"loading"),"\n "))}function P(e,t){if(1&e&&(a.ɵɵelementStart(0,"li"),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()),2&e){var n=a.ɵɵnextContext(3);a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind2(2,1,"policyInEffectMinComplexity",n.getPasswordScoreAlertDisplay()),"\n ")}}function k(e,t){if(1&e&&(a.ɵɵelementStart(0,"li"),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()),2&e){var n=a.ɵɵnextContext(3);a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind2(2,1,"policyInEffectMinLength",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.minLength.toString()),"\n ")}}function _(e,t){1&e&&(a.ɵɵelementStart(0,"li"),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()),2&e&&(a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(2,1,"policyInEffectUppercase"),""))}function A(e,t){1&e&&(a.ɵɵelementStart(0,"li"),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()),2&e&&(a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(2,1,"policyInEffectLowercase"),""))}function O(e,t){1&e&&(a.ɵɵelementStart(0,"li"),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()),2&e&&(a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(2,1,"policyInEffectNumbers"),""))}function T(e,t){1&e&&(a.ɵɵelementStart(0,"li"),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()),2&e&&(a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind2(2,1,"policyInEffectSpecial","!@#$%^&*"),""))}function M(e,t){if(1&e&&(a.ɵɵelementStart(0,"app-callout",11),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementStart(3,"ul",29),a.ɵɵtext(4,"\n "),a.ɵɵtemplate(5,P,3,4,"li",30),a.ɵɵtext(6,"\n "),a.ɵɵtemplate(7,k,3,4,"li",30),a.ɵɵtext(8,"\n "),a.ɵɵtemplate(9,_,3,3,"li",30),a.ɵɵtext(10,"\n "),a.ɵɵtemplate(11,A,3,3,"li",30),a.ɵɵtext(12,"\n "),a.ɵɵtemplate(13,O,3,3,"li",30),a.ɵɵtext(14,"\n "),a.ɵɵtemplate(15,T,3,4,"li",30),a.ɵɵtext(16,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(17,"\n "),a.ɵɵelementEnd()),2&e){var n=a.ɵɵnextContext(2);a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(2,7,"masterPasswordPolicyInEffect"),"\n "),a.ɵɵadvance(4),a.ɵɵproperty("ngIf",(null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.minComplexity)>0),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",(null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.minLength)>0),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireUpper),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireLower),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireNumbers),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireSpecial)}}var B=function(e,t){return{"fa-eye":e,"fa-eye-slash":t}};function D(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"div",10),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"app-callout",11),a.ɵɵtext(3),a.ɵɵpipe(4,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(5,"\n "),a.ɵɵelementStart(6,"div",12),a.ɵɵtext(7,"\n "),a.ɵɵtemplate(8,M,18,9,"app-callout",13),a.ɵɵtext(9,"\n "),a.ɵɵelementStart(10,"label",14),a.ɵɵtext(11),a.ɵɵpipe(12,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(13,"\n "),a.ɵɵelementStart(14,"div",15),a.ɵɵtext(15,"\n "),a.ɵɵelementStart(16,"div",16),a.ɵɵtext(17,"\n "),a.ɵɵelementStart(18,"input",17),a.ɵɵlistener("ngModelChange",function(e){return a.ɵɵrestoreView(n),a.ɵɵnextContext().masterPassword=e})("input",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext().updatePasswordStrength()}),a.ɵɵelementEnd(),a.ɵɵtext(19,"\n "),a.ɵɵelementStart(20,"app-password-strength",18),a.ɵɵtext(21,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(22,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(23,"\n "),a.ɵɵelementStart(24,"div"),a.ɵɵtext(25,"\n "),a.ɵɵelementStart(26,"button",19),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext().togglePassword(!1)}),a.ɵɵpipe(27,"i18n"),a.ɵɵtext(28,"\n "),a.ɵɵelement(29,"i",20),a.ɵɵtext(30,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(31,"\n "),a.ɵɵelement(32,"div",21),a.ɵɵtext(33,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(34,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(35,"\n "),a.ɵɵelementStart(36,"small",22),a.ɵɵtext(37),a.ɵɵpipe(38,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(39,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(40,"\n "),a.ɵɵelementStart(41,"div",12),a.ɵɵtext(42,"\n "),a.ɵɵelementStart(43,"label",23),a.ɵɵtext(44),a.ɵɵpipe(45,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(46,"\n "),a.ɵɵelementStart(47,"div",15),a.ɵɵtext(48,"\n "),a.ɵɵelementStart(49,"input",24),a.ɵɵlistener("ngModelChange",function(e){return a.ɵɵrestoreView(n),a.ɵɵnextContext().masterPasswordRetype=e}),a.ɵɵelementEnd(),a.ɵɵtext(50,"\n "),a.ɵɵelementStart(51,"button",19),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext().togglePassword(!0)}),a.ɵɵpipe(52,"i18n"),a.ɵɵtext(53,"\n "),a.ɵɵelement(54,"i",20),a.ɵɵtext(55,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(56,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(57,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(58,"\n "),a.ɵɵelementStart(59,"div",12),a.ɵɵtext(60,"\n "),a.ɵɵelementStart(61,"label",25),a.ɵɵtext(62),a.ɵɵpipe(63,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(64,"\n "),a.ɵɵelementStart(65,"input",26),a.ɵɵlistener("ngModelChange",function(e){return a.ɵɵrestoreView(n),a.ɵɵnextContext().hint=e}),a.ɵɵelementEnd(),a.ɵɵtext(66,"\n "),a.ɵɵelementStart(67,"small",22),a.ɵɵtext(68),a.ɵɵpipe(69,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(70,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(71,"\n "),a.ɵɵelement(72,"hr"),a.ɵɵtext(73,"\n "),a.ɵɵelementStart(74,"div",15),a.ɵɵtext(75,"\n "),a.ɵɵelementStart(76,"button",27),a.ɵɵtext(77,"\n "),a.ɵɵelement(78,"i",9),a.ɵɵpipe(79,"i18n"),a.ɵɵtext(80,"\n "),a.ɵɵelementStart(81,"span"),a.ɵɵtext(82),a.ɵɵpipe(83,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(84,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(85,"\n "),a.ɵɵelementStart(86,"button",28),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext().logOut()}),a.ɵɵtext(87),a.ɵɵpipe(88,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(89,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(90,"\n "),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵnextContext(),i=a.ɵɵreference(1);a.ɵɵadvance(3),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(4,22,"ssoCompleteRegistration")),a.ɵɵadvance(5),a.ɵɵproperty("ngIf",r.enforcedPolicyOptions),a.ɵɵadvance(3),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(12,24,"masterPass")),a.ɵɵadvance(7),a.ɵɵpropertyInterpolate("type",r.showPassword?"text":"password"),a.ɵɵproperty("ngModel",r.masterPassword),a.ɵɵadvance(2),a.ɵɵproperty("score",r.masterPasswordScore)("showText",!0),a.ɵɵadvance(6),a.ɵɵpropertyInterpolate("appA11yTitle",a.ɵɵpipeBind1(27,26,"toggleVisibility")),a.ɵɵadvance(3),a.ɵɵproperty("ngClass",a.ɵɵpureFunction2(44,B,!r.showPassword,r.showPassword)),a.ɵɵadvance(8),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(38,28,"masterPassDesc")),a.ɵɵadvance(7),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(45,30,"reTypeMasterPass")),a.ɵɵadvance(5),a.ɵɵpropertyInterpolate("type",r.showPassword?"text":"password"),a.ɵɵproperty("ngModel",r.masterPasswordRetype),a.ɵɵadvance(2),a.ɵɵpropertyInterpolate("appA11yTitle",a.ɵɵpipeBind1(52,32,"toggleVisibility")),a.ɵɵadvance(3),a.ɵɵproperty("ngClass",a.ɵɵpureFunction2(47,B,!r.showPassword,r.showPassword)),a.ɵɵadvance(8),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(63,34,"masterPassHint")),a.ɵɵadvance(3),a.ɵɵproperty("ngModel",r.hint),a.ɵɵadvance(3),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(69,36,"masterPassHintDesc")),a.ɵɵadvance(8),a.ɵɵproperty("disabled",i.loading),a.ɵɵadvance(2),a.ɵɵpropertyInterpolate("title",a.ɵɵpipeBind1(79,38,"loading")),a.ɵɵadvance(4),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(83,40,"submit")),a.ɵɵadvance(5),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(88,42,"logOut"),"\n ")}}var V=function(e){function t(t,n,r,i,o,a,s,l,c,p,u){return e.call(this,n,r,i,o,a,s,l,c,t,p,u)||this}return i(t,e),t.ɵfac=function(e){return new(e||t)(a.ɵɵdirectiveInject(s.ApiService),a.ɵɵdirectiveInject(l.I18nService),a.ɵɵdirectiveInject(c.CryptoService),a.ɵɵdirectiveInject(p.MessagingService),a.ɵɵdirectiveInject(u.UserService),a.ɵɵdirectiveInject(d.PasswordGenerationService),a.ɵɵdirectiveInject(m.PlatformUtilsService),a.ɵɵdirectiveInject(h.PolicyService),a.ɵɵdirectiveInject(f.Router),a.ɵɵdirectiveInject(v.SyncService),a.ɵɵdirectiveInject(f.ActivatedRoute))},t.ɵcmp=a.ɵɵdefineComponent({type:t,selectors:[["app-set-password"]],features:[a.ɵɵInheritDefinitionFeature],decls:21,vars:6,consts:[["ngNativeValidate","","autocomplete","off",3,"appApiAction","ngSubmit"],["form",""],[1,"row","justify-content-md-center","mt-5"],[1,"col-5"],[1,"lead","text-center","mb-4"],[1,"card","d-block"],["class","card-body text-center",4,"ngIf"],["class","card-body",4,"ngIf"],[1,"card-body","text-center"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],[1,"card-body"],["type","info"],[1,"form-group"],["type","info",4,"ngIf"],["for","masterPassword"],[1,"d-flex"],[1,"w-100"],["id","masterPassword","name","MasterPasswordHash","required","","appInputVerbatim","",1,"text-monospace","form-control","mb-1",3,"type","ngModel","ngModelChange","input"],[3,"score","showText"],["type","button",1,"ml-1","btn","btn-link",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-lg",3,"ngClass"],[1,"progress-bar","invisible"],[1,"form-text","text-muted"],["for","masterPasswordRetype"],["id","masterPasswordRetype","name","MasterPasswordRetype","required","","appInputVerbatim","",1,"text-monospace","form-control",3,"type","ngModel","ngModelChange"],["for","hint"],["id","hint","type","text","name","Hint",1,"form-control",3,"ngModel","ngModelChange"],["type","submit",1,"btn","btn-primary","btn-block","btn-submit",3,"disabled"],["type","button",1,"btn","btn-outline-secondary","btn-block","ml-2","mt-0",3,"click"],[1,"mb-0"],[4,"ngIf"]],template:function(e,t){1&e&&(a.ɵɵelementStart(0,"form",0,1),a.ɵɵlistener("ngSubmit",function(){return t.submit()}),a.ɵɵtext(2,"\n "),a.ɵɵelementStart(3,"div",2),a.ɵɵtext(4,"\n "),a.ɵɵelementStart(5,"div",3),a.ɵɵtext(6,"\n "),a.ɵɵelementStart(7,"p",4),a.ɵɵtext(8),a.ɵɵpipe(9,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(10,"\n "),a.ɵɵelementStart(11,"div",5),a.ɵɵtext(12,"\n "),a.ɵɵtemplate(13,E,6,6,"div",6),a.ɵɵtext(14,"\n "),a.ɵɵtemplate(15,D,91,50,"div",7),a.ɵɵtext(16,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(17,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(18,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(19,"\n"),a.ɵɵelementEnd(),a.ɵɵtext(20,"\n")),2&e&&(a.ɵɵproperty("appApiAction",t.formPromise),a.ɵɵadvance(8),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(9,4,"setMasterPassword")),a.ɵɵadvance(5),a.ɵɵproperty("ngIf",t.syncLoading),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",!t.syncLoading))},directives:[y.NgControlStatusGroup,y.NgForm,g.ApiActionDirective,x.NgIf,b.CalloutComponent,y.DefaultValueAccessor,y.RequiredValidator,S.InputVerbatimDirective,y.NgControlStatus,y.NgModel,w.PasswordStrengthComponent,C.A11yTitleDirective,x.NgClass],pipes:[I.I18nPipe],encapsulation:2}),t}(o.SetPasswordComponent);t.SetPasswordComponent=V},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1?t[1]:null},e.prototype.checkState=function(e,t){if(null==e)return!1;if(null==t)return!1;var n=e.split("_identifier="),r=t.split("_identifier=");return n[0]===r[0]},e.ɵfac=function(t){return new(t||e)(s.ɵɵdirectiveInject(l.AuthService),s.ɵɵdirectiveInject(c.Router),s.ɵɵdirectiveInject(p.I18nService),s.ɵɵdirectiveInject(c.ActivatedRoute),s.ɵɵdirectiveInject(u.StorageService),s.ɵɵdirectiveInject(d.StateService),s.ɵɵdirectiveInject(m.PlatformUtilsService),s.ɵɵdirectiveInject(h.ApiService),s.ɵɵdirectiveInject(f.CryptoFunctionService),s.ɵɵdirectiveInject(v.PasswordGenerationService))},e.ɵdir=s.ɵɵdefineDirective({type:e}),e}();t.SsoComponent=y},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]this.pageSize&&(t=this.pagedCollectionsCount),this.collections.length>e&&(this.pagedCollections=this.pagedCollections.concat(this.collections.slice(e,e+t))),this.pagedCollectionsCount=this.pagedCollections.length,this.didScroll=this.pagedCollections.length>this.pageSize}},e.prototype.edit=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(l.ModalComponent);this.modal=this.addEditModalRef.createComponent(n).instance;var r=this.modal.show(c.CollectionAddEditComponent,this.addEditModalRef);r.organizationId=this.organizationId,r.collectionId=null!=e?e.id:null,r.onSavedCollection.subscribe(function(){t.modal.close(),t.load()}),r.onDeletedCollection.subscribe(function(){t.modal.close(),t.removeCollection(e)}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.add=function(){this.edit(null)},e.prototype.delete=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteCollectionConfirmation"),e.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!t.sent())return[2,!1];t.label=2;case 2:return t.trys.push([2,4,,5]),[4,this.apiService.deleteCollection(this.organizationId,e.id)];case 3:return t.sent(),this.analytics.eventTrack.next({action:"Deleted Collection"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedCollectionId",e.name)),this.removeCollection(e),[3,5];case 4:return t.sent(),[3,5];case 5:return[2]}})})},e.prototype.users=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(l.ModalComponent);this.modal=this.usersModalRef.createComponent(n).instance;var r=this.modal.show(p.EntityUsersComponent,this.usersModalRef);r.organizationId=this.organizationId,r.entity="collection",r.entityId=e.id,r.entityName=e.name,r.onEditedUsers.subscribe(function(){t.load(),t.modal.close()}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.resetPaging=function(){return r(this,void 0,void 0,function(){return i(this,function(e){return this.pagedCollections=[],this.loadMore(),[2]})})},e.prototype.isSearching=function(){return this.searchService.isSearchable(this.searchText)},e.prototype.isPaging=function(){var e=this.isSearching();return e&&this.didScroll&&this.resetPaging(),!e&&this.collections&&this.collections.length>this.pageSize},e.prototype.removeCollection=function(e){var t=this.collections.indexOf(e);t>-1&&(this.collections.splice(t,1),this.resetPaging())},e.ɵfac=function(t){return new(t||e)(u.ɵɵdirectiveInject(d.ApiService),u.ɵɵdirectiveInject(m.ActivatedRoute),u.ɵɵdirectiveInject(h.CollectionService),u.ɵɵdirectiveInject(u.ComponentFactoryResolver),u.ɵɵdirectiveInject(f.Angulartics2),u.ɵɵdirectiveInject(v.ToasterService),u.ɵɵdirectiveInject(y.I18nService),u.ɵɵdirectiveInject(g.PlatformUtilsService),u.ɵɵdirectiveInject(x.UserService),u.ɵɵdirectiveInject(b.SearchService))},e.ɵcmp=u.ɵɵdefineComponent({type:e,selectors:[["app-org-manage-collections"]],viewQuery:function(e,t){var n;(1&e&&(u.ɵɵstaticViewQuery(_,!0,o.ViewContainerRef),u.ɵɵstaticViewQuery(A,!0,o.ViewContainerRef)),2&e)&&(u.ɵɵqueryRefresh(n=u.ɵɵloadQuery())&&(t.addEditModalRef=n.first),u.ɵɵqueryRefresh(n=u.ɵɵloadQuery())&&(t.usersModalRef=n.first))},decls:37,vars:20,consts:[[1,"page-header","d-flex"],[1,"ml-auto","d-flex"],["for","search",1,"sr-only"],["type","search","id","search",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],["type","button",1,"btn","btn-sm","btn-outline-primary","ml-3",3,"click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"],[4,"ngIf"],["addEdit",""],["usersTemplate",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["class","table table-hover table-list","infiniteScroll","",3,"infiniteScrollDistance","infiniteScrollDisabled","scrolled",4,"ngIf"],["infiniteScroll","",1,"table","table-hover","table-list",3,"infiniteScrollDistance","infiniteScrollDisabled","scrolled"],[4,"ngFor","ngForOf"],["href","#","appStopClick","",3,"click"],[1,"table-list-options"],["appListDropdown","",1,"dropdown"],["type","button","data-toggle","dropdown","aria-haspopup","true","aria-expanded","false",1,"btn","btn-outline-secondary","dropdown-toggle",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-cog","fa-lg"],[1,"dropdown-menu","dropdown-menu-right"],["href","#","appStopClick","",1,"dropdown-item",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-users"],["href","#","appStopClick","",1,"dropdown-item","text-danger",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-trash-o"]],template:function(e,t){1&e&&(u.ɵɵelementStart(0,"div",0),u.ɵɵtext(1,"\n "),u.ɵɵelementStart(2,"h1"),u.ɵɵtext(3),u.ɵɵpipe(4,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(5,"\n "),u.ɵɵelementStart(6,"div",1),u.ɵɵtext(7,"\n "),u.ɵɵelementStart(8,"div"),u.ɵɵtext(9,"\n "),u.ɵɵelementStart(10,"label",2),u.ɵɵtext(11),u.ɵɵpipe(12,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(13,"\n "),u.ɵɵelementStart(14,"input",3),u.ɵɵlistener("ngModelChange",function(e){return t.searchText=e}),u.ɵɵpipe(15,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(16,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(17,"\n "),u.ɵɵelementStart(18,"button",4),u.ɵɵlistener("click",function(){return t.add()}),u.ɵɵtext(19,"\n "),u.ɵɵelement(20,"i",5),u.ɵɵtext(21),u.ɵɵpipe(22,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(23,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(24,"\n"),u.ɵɵelementEnd(),u.ɵɵtext(25,"\n"),u.ɵɵtemplate(26,O,9,6,"ng-container",6),u.ɵɵtext(27,"\n"),u.ɵɵtemplate(28,D,6,2,"ng-container",6),u.ɵɵpipe(29,"search"),u.ɵɵtext(30,"\n"),u.ɵɵtemplate(31,V,0,0,"ng-template",null,7,u.ɵɵtemplateRefExtractor),u.ɵɵtext(33,"\n"),u.ɵɵtemplate(34,j,0,0,"ng-template",null,8,u.ɵɵtemplateRefExtractor),u.ɵɵtext(36,"\n")),2&e&&(u.ɵɵadvance(3),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(4,7,"collections")),u.ɵɵadvance(8),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(12,9,"search")),u.ɵɵadvance(3),u.ɵɵpropertyInterpolate("placeholder",u.ɵɵpipeBind1(15,11,"search")),u.ɵɵproperty("ngModel",t.searchText),u.ɵɵadvance(7),u.ɵɵtextInterpolate1("\n ",u.ɵɵpipeBind1(22,13,"newCollection"),"\n "),u.ɵɵadvance(5),u.ɵɵproperty("ngIf",t.loading),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",!t.loading&&(t.isPaging()?t.pagedCollections:u.ɵɵpipeBind4(29,15,t.collections,t.searchText,"name","id"))))},directives:[S.DefaultValueAccessor,S.NgControlStatus,S.NgModel,w.NgIf,C.InfiniteScrollDirective,w.NgForOf,I.StopClickDirective,E.A11yTitleDirective],pipes:[P.I18nPipe,k.SearchPipe],encapsulation:2}),e}();t.CollectionsComponent=R},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&r.groups.forEach(function(e){var t=s.groups.filter(function(t){return!t.accessAll&&t.id===e.id});null!=t&&t.length>0&&(t[0].checked=!0,t[0].readOnly=e.readOnly,t[0].hidePasswords=e.hidePasswords)}),[3,9];case 8:return i.sent(),[3,9];case 9:return[3,11];case 10:this.title=this.i18nService.t("addCollection"),i.label=11;case 11:return this.groups.forEach(function(e){e.accessAll&&(e.checked=!0)}),this.loading=!1,[2]}})})},e.prototype.check=function(e,t){e.accessAll||(e.checked=null==t?!e.checked:t,e.checked||(e.readOnly=!1,e.hidePasswords=!1))},e.prototype.selectAll=function(e){var t=this;this.groups.forEach(function(n){return t.check(n,e)})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e,t;return i(this,function(n){switch(n.label){case 0:if(null==this.orgKey)throw new Error("No encryption key for this organization.");return e=new s.CollectionRequest,t=e,[4,this.cryptoService.encrypt(this.name,this.orgKey)];case 1:t.name=n.sent().encryptedString,e.externalId=this.externalId,e.groups=this.groups.filter(function(e){return e.checked&&!e.accessAll}).map(function(e){return new l.SelectionReadOnlyRequest(e.id,!!e.readOnly,!!e.hidePasswords)}),n.label=2;case 2:return n.trys.push([2,4,,5]),this.editMode?this.formPromise=this.apiService.putCollection(this.organizationId,this.collectionId,e):this.formPromise=this.apiService.postCollection(this.organizationId,e),[4,this.formPromise];case 3:return n.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 n.sent(),[3,5];case 5:return[2]}})})},e.prototype.delete=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.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(!e.sent())return[2,!1];e.label=2;case 2:return e.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteCollection(this.organizationId,this.collectionId),[4,this.deletePromise];case 3:return e.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 e.sent(),[3,5];case 5:return[2]}})})},e.ɵfac=function(t){return new(t||e)(p.ɵɵdirectiveInject(u.ApiService),p.ɵɵdirectiveInject(d.I18nService),p.ɵɵdirectiveInject(m.Angulartics2),p.ɵɵdirectiveInject(h.ToasterService),p.ɵɵdirectiveInject(f.PlatformUtilsService),p.ɵɵdirectiveInject(v.CryptoService),p.ɵɵdirectiveInject(y.UserService))},e.ɵcmp=p.ɵɵdefineComponent({type:e,selectors:[["app-collection-add-edit"]],inputs:{collectionId:"collectionId",organizationId:"organizationId"},outputs:{onSavedCollection:"onSavedCollection",onDeletedCollection:"onDeletedCollection"},decls:49,vars:18,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","collectionAddEditTitle",1,"modal","fade"],["role","document",1,"modal-dialog"],["ngNativeValidate","",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","collectionAddEditTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"ml-auto"],["type","button","class","btn btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click",4,"ngIf"],[1,"modal-body"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"form-group"],["for","name"],["id","name","type","text","name","Name","required","","appAutofocus","",1,"form-control",3,"ngModel","ngModelChange"],["for","externalId"],["id","externalId","type","text","name","ExternalId",1,"form-control",3,"ngModel","ngModelChange"],[1,"form-text","text-muted"],[4,"ngIf"],[1,"mt-4","d-flex","mb-0"],["class","ml-auto",4,"ngIf"],["class","table table-hover table-list mb-0",4,"ngIf"],["type","button",1,"btn","btn-link","btn-sm","py-0",3,"click"],[1,"table","table-hover","table-list","mb-0"],["width","100",1,"text-center"],[4,"ngFor","ngForOf"],[1,"table-list-checkbox",3,"click"],["type","checkbox","appStopProp","",3,"ngModel","name","disabled","ngModelChange"],[3,"click"],[1,"text-center"],["type","checkbox",3,"ngModel","name","disabled","ngModelChange"],["aria-hidden","true",1,"fa","fa-th","text-muted","fa-fw",3,"title"],["type","button",1,"btn","btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click"],["deleteBtn",""],["aria-hidden","true",1,"fa","fa-trash-o","fa-lg","fa-fw",3,"hidden"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","fa-lg","fa-fw",3,"hidden","title"]],template:function(e,t){if(1&e&&(p.ɵɵelementStart(0,"div",0),p.ɵɵtext(1,"\n "),p.ɵɵelementStart(2,"div",1),p.ɵɵtext(3,"\n "),p.ɵɵelementStart(4,"form",2,3),p.ɵɵlistener("ngSubmit",function(){return t.submit()}),p.ɵɵtext(6,"\n "),p.ɵɵelementStart(7,"div",4),p.ɵɵtext(8,"\n "),p.ɵɵelementStart(9,"h2",5),p.ɵɵtext(10),p.ɵɵelementEnd(),p.ɵɵtext(11,"\n "),p.ɵɵelementStart(12,"button",6),p.ɵɵpipe(13,"i18n"),p.ɵɵtext(14,"\n "),p.ɵɵelementStart(15,"span",7),p.ɵɵtext(16,"×"),p.ɵɵelementEnd(),p.ɵɵtext(17,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(18,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(19,"\n "),p.ɵɵtemplate(20,E,9,6,"div",8),p.ɵɵtext(21,"\n "),p.ɵɵtemplate(22,M,26,12,"div",8),p.ɵɵtext(23,"\n "),p.ɵɵelementStart(24,"div",9),p.ɵɵtext(25,"\n "),p.ɵɵelementStart(26,"button",10),p.ɵɵtext(27,"\n "),p.ɵɵelement(28,"i",11),p.ɵɵpipe(29,"i18n"),p.ɵɵtext(30,"\n "),p.ɵɵelementStart(31,"span"),p.ɵɵtext(32),p.ɵɵpipe(33,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(34,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(35,"\n "),p.ɵɵelementStart(36,"button",12),p.ɵɵtext(37),p.ɵɵpipe(38,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(39,"\n "),p.ɵɵelementStart(40,"div",13),p.ɵɵtext(41,"\n "),p.ɵɵtemplate(42,B,9,10,"button",14),p.ɵɵtext(43,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(44,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(45,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(46,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(47,"\n"),p.ɵɵelementEnd(),p.ɵɵtext(48,"\n")),2&e){var n=p.ɵɵreference(5);p.ɵɵadvance(4),p.ɵɵproperty("appApiAction",t.formPromise),p.ɵɵadvance(6),p.ɵɵtextInterpolate(t.title),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("appA11yTitle",p.ɵɵpipeBind1(13,10,"close")),p.ɵɵadvance(8),p.ɵɵproperty("ngIf",t.loading),p.ɵɵadvance(2),p.ɵɵproperty("ngIf",!t.loading),p.ɵɵadvance(4),p.ɵɵproperty("disabled",n.loading),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("title",p.ɵɵpipeBind1(29,12,"loading")),p.ɵɵadvance(4),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(33,14,"save")),p.ɵɵadvance(5),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(38,16,"cancel")),p.ɵɵadvance(5),p.ɵɵproperty("ngIf",t.editMode)}},directives:[g.NgControlStatusGroup,g.NgForm,x.ApiActionDirective,b.A11yTitleDirective,S.NgIf,g.DefaultValueAccessor,g.RequiredValidator,w.AutofocusDirective,g.NgControlStatus,g.NgModel,S.NgForOf,g.CheckboxControlValueAccessor,C.StopPropDirective],pipes:[I.I18nPipe],encapsulation:2}),e}();t.CollectionAddEditComponent=D},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.groups=[],null!=e&&(this.name=e.name?e.name.encryptedString:null,this.externalId=e.externalId)}}();t.CollectionRequest=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?this.events=this.events.concat(o):this.events=o,this.loading=!1,this.morePromise=null,this.refreshPromise=null,[2]}})})},e.ɵfac=function(t){return new(t||e)(o.ɵɵdirectiveInject(a.ApiService),o.ɵɵdirectiveInject(s.ActivatedRoute),o.ɵɵdirectiveInject(l.EventService),o.ɵɵdirectiveInject(c.I18nService),o.ɵɵdirectiveInject(p.ToasterService),o.ɵɵdirectiveInject(u.UserService),o.ɵɵdirectiveInject(s.Router))},e.ɵcmp=o.ɵɵdefineComponent({type:e,selectors:[["app-org-events"]],decls:41,vars:27,consts:[[1,"page-header","d-flex"],[1,"ml-auto","d-flex"],[1,"form-inline"],["for","start",1,"sr-only"],["type","datetime-local","id","start","placeholder","YYYY-MM-DDTHH:MM",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],[1,"mx-2"],["for","end",1,"sr-only"],["type","datetime-local","id","end","placeholder","YYYY-MM-DDTHH:MM",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],["type","button",1,"btn","btn-sm","btn-outline-primary","ml-3",3,"appApiAction","disabled","click"],["refreshBtn",""],["aria-hidden","true",1,"fa","fa-refresh","fa-fw",3,"ngClass"],[4,"ngIf"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["class","table table-hover",4,"ngIf"],["type","button","class","btn btn-block btn-link btn-submit",3,"appApiAction","disabled","click",4,"ngIf"],[1,"table","table-hover"],["width","210",1,"border-top-0"],["width","40",1,"border-top-0"],["width","150",1,"border-top-0"],[1,"border-top-0"],[4,"ngFor","ngForOf"],["aria-hidden","true",3,"title"],[3,"title"],[3,"innerHTML"],["type","button",1,"btn","btn-block","btn-link","btn-submit",3,"appApiAction","disabled","click"],["moreBtn",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"]],template:function(e,t){if(1&e&&(o.ɵɵelementStart(0,"div",0),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"h1"),o.ɵɵtext(3),o.ɵɵpipe(4,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(5,"\n "),o.ɵɵelementStart(6,"div",1),o.ɵɵtext(7,"\n "),o.ɵɵelementStart(8,"div",2),o.ɵɵtext(9,"\n "),o.ɵɵelementStart(10,"label",3),o.ɵɵtext(11),o.ɵɵpipe(12,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(13,"\n "),o.ɵɵelementStart(14,"input",4),o.ɵɵlistener("ngModelChange",function(e){return t.start=e}),o.ɵɵpipe(15,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(16,"\n "),o.ɵɵelementStart(17,"span",5),o.ɵɵtext(18,"-"),o.ɵɵelementEnd(),o.ɵɵtext(19,"\n "),o.ɵɵelementStart(20,"label",6),o.ɵɵtext(21),o.ɵɵpipe(22,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(23,"\n "),o.ɵɵelementStart(24,"input",7),o.ɵɵlistener("ngModelChange",function(e){return t.end=e}),o.ɵɵpipe(25,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(26,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(27,"\n "),o.ɵɵelementStart(28,"button",8,9),o.ɵɵlistener("click",function(){return t.loadEvents(!0)}),o.ɵɵtext(30,"\n "),o.ɵɵelement(31,"i",10),o.ɵɵtext(32),o.ɵɵpipe(33,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(34,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(35,"\n"),o.ɵɵelementEnd(),o.ɵɵtext(36,"\n"),o.ɵɵtemplate(37,v,9,6,"ng-container",11),o.ɵɵtext(38,"\n"),o.ɵɵtemplate(39,S,8,3,"ng-container",11),o.ɵɵtext(40,"\n")),2&e){var n=o.ɵɵreference(29);o.ɵɵadvance(3),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(4,13,"eventLogs")),o.ɵɵadvance(8),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(12,15,"startDate")),o.ɵɵadvance(3),o.ɵɵpropertyInterpolate("placeholder",o.ɵɵpipeBind1(15,17,"startDate")),o.ɵɵproperty("ngModel",t.start),o.ɵɵadvance(7),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(22,19,"endDate")),o.ɵɵadvance(3),o.ɵɵpropertyInterpolate("placeholder",o.ɵɵpipeBind1(25,21,"endDate")),o.ɵɵproperty("ngModel",t.end),o.ɵɵadvance(4),o.ɵɵproperty("appApiAction",t.refreshPromise)("disabled",t.loaded&&n.loading),o.ɵɵadvance(3),o.ɵɵproperty("ngClass",o.ɵɵpureFunction1(25,w,t.loaded&&n.loading)),o.ɵɵadvance(1),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(33,23,"refresh"),"\n "),o.ɵɵadvance(5),o.ɵɵproperty("ngIf",!t.loaded),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",t.loaded)}},directives:[d.DefaultValueAccessor,d.NgControlStatus,d.NgModel,m.ApiActionDirective,h.NgClass,h.NgIf,h.NgForOf],pipes:[f.I18nPipe,h.DatePipe],encapsulation:2}),e}();t.EventsComponent=C},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?e.data:[]).sort(a.Utils.getSortFunction(this.i18nService,"name")),this.groups=t,this.resetPaging(),this.loading=!1,[2]}})})},e.prototype.loadMore=function(){if(this.groups&&!(this.groups.length<=this.pageSize)){var e=this.pagedGroups.length,t=this.pageSize;0===e&&this.pagedGroupsCount>this.pageSize&&(t=this.pagedGroupsCount),this.groups.length>e&&(this.pagedGroups=this.pagedGroups.concat(this.groups.slice(e,e+t))),this.pagedGroupsCount=this.pagedGroups.length,this.didScroll=this.pagedGroups.length>this.pageSize}},e.prototype.edit=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent);this.modal=this.addEditModalRef.createComponent(n).instance;var r=this.modal.show(c.GroupAddEditComponent,this.addEditModalRef);r.organizationId=this.organizationId,r.groupId=null!=e?e.id:null,r.onSavedGroup.subscribe(function(){t.modal.close(),t.load()}),r.onDeletedGroup.subscribe(function(){t.modal.close(),t.removeGroup(e)}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.add=function(){this.edit(null)},e.prototype.delete=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteGroupConfirmation"),e.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!t.sent())return[2,!1];t.label=2;case 2:return t.trys.push([2,4,,5]),[4,this.apiService.deleteGroup(this.organizationId,e.id)];case 3:return t.sent(),this.analytics.eventTrack.next({action:"Deleted Group"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedGroupId",e.name)),this.removeGroup(e),[3,5];case 4:return t.sent(),[3,5];case 5:return[2]}})})},e.prototype.users=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent);this.modal=this.usersModalRef.createComponent(n).instance;var r=this.modal.show(l.EntityUsersComponent,this.usersModalRef);r.organizationId=this.organizationId,r.entity="group",r.entityId=e.id,r.entityName=e.name,r.onEditedUsers.subscribe(function(){t.modal.close()}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.resetPaging=function(){return r(this,void 0,void 0,function(){return i(this,function(e){return this.pagedGroups=[],this.loadMore(),[2]})})},e.prototype.isSearching=function(){return this.searchService.isSearchable(this.searchText)},e.prototype.isPaging=function(){var e=this.isSearching();return e&&this.didScroll&&this.resetPaging(),!e&&this.groups&&this.groups.length>this.pageSize},e.prototype.removeGroup=function(e){var t=this.groups.indexOf(e);t>-1&&(this.groups.splice(t,1),this.resetPaging())},e.ɵfac=function(t){return new(t||e)(p.ɵɵdirectiveInject(u.ApiService),p.ɵɵdirectiveInject(d.ActivatedRoute),p.ɵɵdirectiveInject(m.I18nService),p.ɵɵdirectiveInject(p.ComponentFactoryResolver),p.ɵɵdirectiveInject(h.Angulartics2),p.ɵɵdirectiveInject(f.ToasterService),p.ɵɵdirectiveInject(v.PlatformUtilsService),p.ɵɵdirectiveInject(y.UserService),p.ɵɵdirectiveInject(d.Router),p.ɵɵdirectiveInject(g.SearchService))},e.ɵcmp=p.ɵɵdefineComponent({type:e,selectors:[["app-org-groups"]],viewQuery:function(e,t){var n;(1&e&&(p.ɵɵstaticViewQuery(P,!0,o.ViewContainerRef),p.ɵɵstaticViewQuery(k,!0,o.ViewContainerRef)),2&e)&&(p.ɵɵqueryRefresh(n=p.ɵɵloadQuery())&&(t.addEditModalRef=n.first),p.ɵɵqueryRefresh(n=p.ɵɵloadQuery())&&(t.usersModalRef=n.first))},decls:37,vars:20,consts:[[1,"page-header","d-flex"],[1,"ml-auto","d-flex"],["for","search",1,"sr-only"],["type","search","id","search",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],["type","button",1,"btn","btn-sm","btn-outline-primary","ml-3",3,"click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"],[4,"ngIf"],["addEdit",""],["usersTemplate",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["class","table table-hover table-list","infiniteScroll","",3,"infiniteScrollDistance","infiniteScrollDisabled","scrolled",4,"ngIf"],["infiniteScroll","",1,"table","table-hover","table-list",3,"infiniteScrollDistance","infiniteScrollDisabled","scrolled"],[4,"ngFor","ngForOf"],["href","#","appStopClick","",3,"click"],[1,"table-list-options"],["appListDropdown","",1,"dropdown"],["type","button","data-toggle","dropdown","aria-haspopup","true","aria-expanded","false",1,"btn","btn-outline-secondary","dropdown-toggle",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-cog","fa-lg"],[1,"dropdown-menu","dropdown-menu-right"],["href","#","appStopClick","",1,"dropdown-item",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-users"],["href","#","appStopClick","",1,"dropdown-item","text-danger",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-trash-o"]],template:function(e,t){1&e&&(p.ɵɵelementStart(0,"div",0),p.ɵɵtext(1,"\n "),p.ɵɵelementStart(2,"h1"),p.ɵɵtext(3),p.ɵɵpipe(4,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(5,"\n "),p.ɵɵelementStart(6,"div",1),p.ɵɵtext(7,"\n "),p.ɵɵelementStart(8,"div"),p.ɵɵtext(9,"\n "),p.ɵɵelementStart(10,"label",2),p.ɵɵtext(11),p.ɵɵpipe(12,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(13,"\n "),p.ɵɵelementStart(14,"input",3),p.ɵɵlistener("ngModelChange",function(e){return t.searchText=e}),p.ɵɵpipe(15,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(16,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(17,"\n "),p.ɵɵelementStart(18,"button",4),p.ɵɵlistener("click",function(){return t.add()}),p.ɵɵtext(19,"\n "),p.ɵɵelement(20,"i",5),p.ɵɵtext(21),p.ɵɵpipe(22,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(23,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(24,"\n"),p.ɵɵelementEnd(),p.ɵɵtext(25,"\n"),p.ɵɵtemplate(26,_,9,6,"ng-container",6),p.ɵɵtext(27,"\n"),p.ɵɵtemplate(28,M,6,2,"ng-container",6),p.ɵɵpipe(29,"search"),p.ɵɵtext(30,"\n"),p.ɵɵtemplate(31,B,0,0,"ng-template",null,7,p.ɵɵtemplateRefExtractor),p.ɵɵtext(33,"\n"),p.ɵɵtemplate(34,D,0,0,"ng-template",null,8,p.ɵɵtemplateRefExtractor),p.ɵɵtext(36,"\n")),2&e&&(p.ɵɵadvance(3),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(4,7,"groups")),p.ɵɵadvance(8),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(12,9,"search")),p.ɵɵadvance(3),p.ɵɵpropertyInterpolate("placeholder",p.ɵɵpipeBind1(15,11,"search")),p.ɵɵproperty("ngModel",t.searchText),p.ɵɵadvance(7),p.ɵɵtextInterpolate1("\n ",p.ɵɵpipeBind1(22,13,"newGroup"),"\n "),p.ɵɵadvance(5),p.ɵɵproperty("ngIf",t.loading),p.ɵɵadvance(2),p.ɵɵproperty("ngIf",!t.loading&&(t.isPaging()?t.pagedGroups:p.ɵɵpipeBind4(29,15,t.groups,t.searchText,"name","id"))))},directives:[x.DefaultValueAccessor,x.NgControlStatus,x.NgModel,b.NgIf,S.InfiniteScrollDirective,b.NgForOf,w.StopClickDirective,C.A11yTitleDirective],pipes:[I.I18nPipe,E.SearchPipe],encapsulation:2}),e}();t.GroupsComponent=V},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(n[0].checked=!0,n[0].readOnly=e.readOnly,n[0].hidePasswords=e.hidePasswords)}),[3,5];case 4:return n.sent(),[3,5];case 5:return[3,7];case 6:this.title=this.i18nService.t("addGroup"),n.label=7;case 7:return this.loading=!1,[2]}})})},e.prototype.loadCollections=function(){return r(this,void 0,void 0,function(){var e,t,n;return i(this,function(r){switch(r.label){case 0:return[4,this.apiService.getCollections(this.organizationId)];case 1:return e=r.sent(),t=e.data.map(function(e){return new s.Collection(new a.CollectionData(e))}),n=this,[4,this.collectionService.decryptMany(t)];case 2:return n.collections=r.sent(),[2]}})})},e.prototype.check=function(e,t){e.checked=null==t?!e.checked:t,e.checked||(e.readOnly=!1)},e.prototype.selectAll=function(e){var t=this;this.collections.forEach(function(n){return t.check(n,e)})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:(e=new l.GroupRequest).name=this.name,e.externalId=this.externalId,e.accessAll="all"===this.access,e.accessAll||(e.collections=this.collections.filter(function(e){return e.checked}).map(function(e){return new c.SelectionReadOnlyRequest(e.id,!!e.readOnly,!!e.hidePasswords)})),t.label=1;case 1:return t.trys.push([1,3,,4]),this.editMode?this.formPromise=this.apiService.putGroup(this.organizationId,this.groupId,e):this.formPromise=this.apiService.postGroup(this.organizationId,e),[4,this.formPromise];case 2:return t.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 t.sent(),[3,4];case 4:return[2]}})})},e.prototype.delete=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.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(!e.sent())return[2,!1];e.label=2;case 2:return e.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteGroup(this.organizationId,this.groupId),[4,this.deletePromise];case 3:return e.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 e.sent(),[3,5];case 5:return[2]}})})},e.ɵfac=function(t){return new(t||e)(p.ɵɵdirectiveInject(u.ApiService),p.ɵɵdirectiveInject(d.I18nService),p.ɵɵdirectiveInject(m.Angulartics2),p.ɵɵdirectiveInject(h.ToasterService),p.ɵɵdirectiveInject(f.CollectionService),p.ɵɵdirectiveInject(v.PlatformUtilsService))},e.ɵcmp=p.ɵɵdefineComponent({type:e,selectors:[["app-group-add-edit"]],inputs:{groupId:"groupId",organizationId:"organizationId"},outputs:{onSavedGroup:"onSavedGroup",onDeletedGroup:"onDeletedGroup"},decls:49,vars:18,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","groupAddEditTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],["ngNativeValidate","",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","groupAddEditTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"ml-auto"],["type","button","class","btn btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click",4,"ngIf"],[1,"modal-body"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"form-group"],["for","name"],["id","name","type","text","name","Name","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","externalId"],["id","externalId","type","text","name","ExternalId",1,"form-control",3,"ngModel","ngModelChange"],[1,"form-text","text-muted"],[1,"mt-4","d-flex"],[1,"mb-2"],["target","_blank","rel","noopener","href","https://bitwarden.com/help/article/user-types-access-control/#access-control",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],["class","ml-auto",4,"ngIf"],[1,"form-group",3,"ngClass"],[1,"form-check"],["type","radio","name","access","id","accessAll","value","all",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessAll",1,"form-check-label"],["type","radio","name","access","id","accessSelected","value","selected",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessSelected",1,"form-check-label"],[4,"ngIf"],["type","button",1,"btn","btn-link","btn-sm","py-0",3,"click"],["class","table table-hover table-list mb-0",4,"ngIf"],[1,"table","table-hover","table-list","mb-0"],["width","100",1,"text-center"],[4,"ngFor","ngForOf"],[1,"table-list-checkbox",3,"click"],["type","checkbox","appStopProp","",3,"ngModel","name","ngModelChange"],[3,"click"],[1,"text-center"],["type","checkbox",3,"ngModel","name","disabled","ngModelChange"],["type","button",1,"btn","btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click"],["deleteBtn",""],["aria-hidden","true",1,"fa","fa-trash-o","fa-lg","fa-fw",3,"hidden"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","fa-lg","fa-fw",3,"hidden","title"]],template:function(e,t){if(1&e&&(p.ɵɵelementStart(0,"div",0),p.ɵɵtext(1,"\n "),p.ɵɵelementStart(2,"div",1),p.ɵɵtext(3,"\n "),p.ɵɵelementStart(4,"form",2,3),p.ɵɵlistener("ngSubmit",function(){return t.submit()}),p.ɵɵtext(6,"\n "),p.ɵɵelementStart(7,"div",4),p.ɵɵtext(8,"\n "),p.ɵɵelementStart(9,"h2",5),p.ɵɵtext(10),p.ɵɵelementEnd(),p.ɵɵtext(11,"\n "),p.ɵɵelementStart(12,"button",6),p.ɵɵpipe(13,"i18n"),p.ɵɵtext(14,"\n "),p.ɵɵelementStart(15,"span",7),p.ɵɵtext(16,"×"),p.ɵɵelementEnd(),p.ɵɵtext(17,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(18,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(19,"\n "),p.ɵɵtemplate(20,C,9,6,"div",8),p.ɵɵtext(21,"\n "),p.ɵɵtemplate(22,O,62,30,"div",8),p.ɵɵtext(23,"\n "),p.ɵɵelementStart(24,"div",9),p.ɵɵtext(25,"\n "),p.ɵɵelementStart(26,"button",10),p.ɵɵtext(27,"\n "),p.ɵɵelement(28,"i",11),p.ɵɵpipe(29,"i18n"),p.ɵɵtext(30,"\n "),p.ɵɵelementStart(31,"span"),p.ɵɵtext(32),p.ɵɵpipe(33,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(34,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(35,"\n "),p.ɵɵelementStart(36,"button",12),p.ɵɵtext(37),p.ɵɵpipe(38,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(39,"\n "),p.ɵɵelementStart(40,"div",13),p.ɵɵtext(41,"\n "),p.ɵɵtemplate(42,T,9,10,"button",14),p.ɵɵtext(43,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(44,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(45,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(46,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(47,"\n"),p.ɵɵelementEnd(),p.ɵɵtext(48,"\n")),2&e){var n=p.ɵɵreference(5);p.ɵɵadvance(4),p.ɵɵproperty("appApiAction",t.formPromise),p.ɵɵadvance(6),p.ɵɵtextInterpolate(t.title),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("appA11yTitle",p.ɵɵpipeBind1(13,10,"close")),p.ɵɵadvance(8),p.ɵɵproperty("ngIf",t.loading),p.ɵɵadvance(2),p.ɵɵproperty("ngIf",!t.loading),p.ɵɵadvance(4),p.ɵɵproperty("disabled",n.loading),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("title",p.ɵɵpipeBind1(29,12,"loading")),p.ɵɵadvance(4),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(33,14,"save")),p.ɵɵadvance(5),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(38,16,"cancel")),p.ɵɵadvance(5),p.ɵɵproperty("ngIf",t.editMode)}},directives:[y.NgControlStatusGroup,y.NgForm,g.ApiActionDirective,x.A11yTitleDirective,b.NgIf,y.DefaultValueAccessor,y.RequiredValidator,y.NgControlStatus,y.NgModel,b.NgClass,y.RadioControlValueAccessor,b.NgForOf,y.CheckboxControlValueAccessor,S.StopPropDirective],pipes:[w.I18nPipe],encapsulation:2}),e}();t.GroupAddEditComponent=M},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&t[0].status===l.OrganizationUserStatusType.Confirmed&&this.events(t[0]),null!=n&&n.unsubscribe(),[2]})})}),[2]}})})}),[2]})})},e.prototype.load=function(){return r(this,void 0,void 0,function(){var e,t=this;return i(this,function(n){switch(n.label){case 0:return[4,this.apiService.getOrganizationUsers(this.organizationId)];case 1:return e=n.sent(),this.statusMap.clear(),this.allUsers=null!=e.data&&e.data.length>0?e.data:[],this.allUsers.sort(p.Utils.getSortFunction(this.i18nService,"email")),this.allUsers.forEach(function(e){t.statusMap.has(e.status)?t.statusMap.get(e.status).push(e):t.statusMap.set(e.status,[e])}),this.filter(this.status),this.loading=!1,[2]}})})},e.prototype.filter=function(e){this.status=e,null!=this.status?this.users=this.statusMap.get(this.status):this.users=this.allUsers,this.resetPaging()},e.prototype.loadMore=function(){if(this.users&&!(this.users.length<=this.pageSize)){var e=this.pagedUsers.length,t=this.pageSize;0===e&&this.pagedUsersCount>this.pageSize&&(t=this.pagedUsersCount),this.users.length>e&&(this.pagedUsers=this.pagedUsers.concat(this.users.slice(e,e+t))),this.pagedUsersCount=this.pagedUsers.length,this.didScroll=this.pagedUsers.length>this.pageSize}},Object.defineProperty(e.prototype,"allCount",{get:function(){return null!=this.allUsers?this.allUsers.length:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"invitedCount",{get:function(){return this.statusMap.has(l.OrganizationUserStatusType.Invited)?this.statusMap.get(l.OrganizationUserStatusType.Invited).length:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"acceptedCount",{get:function(){return this.statusMap.has(l.OrganizationUserStatusType.Accepted)?this.statusMap.get(l.OrganizationUserStatusType.Accepted).length:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"confirmedCount",{get:function(){return this.statusMap.has(l.OrganizationUserStatusType.Confirmed)?this.statusMap.get(l.OrganizationUserStatusType.Confirmed).length:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"showConfirmUsers",{get:function(){return null!=this.allUsers&&null!=this.statusMap&&this.allUsers.length>1&&this.confirmedCount>0&&this.confirmedCount<3&&this.acceptedCount>0},enumerable:!0,configurable:!0}),e.prototype.edit=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(u.ModalComponent);this.modal=this.addEditModalRef.createComponent(n).instance;var r=this.modal.show(m.UserAddEditComponent,this.addEditModalRef);r.name=null!=e?e.name||e.email:null,r.organizationId=this.organizationId,r.organizationUserId=null!=e?e.id:null,r.onSavedUser.subscribe(function(){t.modal.close(),t.load()}),r.onDeletedUser.subscribe(function(){t.modal.close(),t.removeUser(e)}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.invite=function(){this.edit(null)},e.prototype.groups=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(u.ModalComponent);this.modal=this.groupsModalRef.createComponent(n).instance;var r=this.modal.show(f.UserGroupsComponent,this.groupsModalRef);r.name=null!=e?e.name||e.email:null,r.organizationId=this.organizationId,r.organizationUserId=null!=e?e.id:null,r.onSavedUser.subscribe(function(){t.modal.close()}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.remove=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("removeUserConfirmation"),e.name||e.email,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!t.sent())return[2,!1];t.label=2;case 2:return t.trys.push([2,4,,5]),[4,this.apiService.deleteOrganizationUser(this.organizationId,e.id)];case 3:return t.sent(),this.analytics.eventTrack.next({action:"Deleted User"}),this.toasterService.popAsync("success",null,this.i18nService.t("removedUserId",e.name||e.email)),this.removeUser(e),[3,5];case 4:return t.sent(),[3,5];case 5:return[2]}})})},e.prototype.reinvite=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return null!=this.actionPromise?[2]:(this.actionPromise=this.apiService.postOrganizationUserReinvite(this.organizationId,e.id),[4,this.actionPromise]);case 1:return t.sent(),this.analytics.eventTrack.next({action:"Reinvited User"}),this.toasterService.popAsync("success",null,this.i18nService.t("hasBeenReinvited",e.name||e.email)),this.actionPromise=null,[2]}})})},e.prototype.confirm=function(e){return r(this,void 0,void 0,function(){function t(t){e.status=l.OrganizationUserStatusType.Confirmed;var n=t.statusMap.get(l.OrganizationUserStatusType.Accepted).indexOf(e);n>-1&&(t.statusMap.get(l.OrganizationUserStatusType.Accepted).splice(n,1),t.statusMap.get(l.OrganizationUserStatusType.Confirmed).push(e))}var n,r,o,s=this;return i(this,function(i){switch(i.label){case 0:return null!=this.actionPromise?[2]:[4,this.storageService.get(a.ConstantsService.autoConfirmFingerprints)];case 1:return null!=(n=i.sent())&&n?(this.actionPromise=this.doConfirmation(e),[4,this.actionPromise]):(null!=this.modal&&this.modal.close(),r=this.componentFactoryResolver.resolveComponentFactory(u.ModalComponent),this.modal=this.confirmModalRef.createComponent(r).instance,(o=this.modal.show(h.UserConfirmComponent,this.confirmModalRef)).name=null!=e?e.name||e.email:null,o.organizationId=this.organizationId,o.organizationUserId=null!=e?e.id:null,o.userId=null!=e?e.userId:null,o.onConfirmedUser.subscribe(function(){s.modal.close(),t(s)}),this.modal.onClosed.subscribe(function(){s.modal=null}),[2]);case 2:return i.sent(),t(this),this.analytics.eventTrack.next({action:"Confirmed User"}),this.toasterService.popAsync("success",null,this.i18nService.t("hasBeenConfirmed",e.name||e.email)),this.actionPromise=null,[2]}})})},e.prototype.events=function(e){return r(this,void 0,void 0,function(){var t,n,r=this;return i(this,function(i){return null!=this.modal&&this.modal.close(),t=this.componentFactoryResolver.resolveComponentFactory(u.ModalComponent),this.modal=this.eventsModalRef.createComponent(t).instance,(n=this.modal.show(d.EntityEventsComponent,this.eventsModalRef)).name=e.name||e.email,n.organizationId=this.organizationId,n.entityId=e.id,n.showUser=!1,n.entity="user",this.modal.onClosed.subscribe(function(){r.modal=null}),[2]})})},e.prototype.resetPaging=function(){return r(this,void 0,void 0,function(){return i(this,function(e){return this.pagedUsers=[],this.loadMore(),[2]})})},e.prototype.isSearching=function(){return this.searchService.isSearchable(this.searchText)},e.prototype.isPaging=function(){var e=this.isSearching();return e&&this.didScroll&&this.resetPaging(),!e&&this.users&&this.users.length>this.pageSize},e.prototype.doConfirmation=function(e){return r(this,void 0,void 0,function(){var t,n,r,o,a,l,c,u;return i(this,function(i){switch(i.label){case 0:return[4,this.cryptoService.getOrgKey(this.organizationId)];case 1:return t=i.sent(),[4,this.apiService.getUserPublicKey(e.userId)];case 2:n=i.sent(),r=p.Utils.fromB64ToArray(n.publicKey),i.label=3;case 3:return i.trys.push([3,5,,6]),a=(o=console).log,l="User's fingerprint: ",[4,this.cryptoService.getFingerprint(e.userId,r.buffer)];case 4:return a.apply(o,[l+i.sent().join("-")]),[3,6];case 5:return i.sent(),[3,6];case 6:return[4,this.cryptoService.rsaEncrypt(t.key,r.buffer)];case 7:return c=i.sent(),(u=new s.OrganizationUserConfirmRequest).key=c.encryptedString,[4,this.apiService.postOrganizationUserConfirm(this.organizationId,e.id,u)];case 8:return i.sent(),[2]}})})},e.prototype.removeUser=function(e){var t=this.users.indexOf(e);t>-1&&(this.users.splice(t,1),this.resetPaging()),this.statusMap.has(l.OrganizationUserStatusType.Accepted)&&(t=this.statusMap.get(l.OrganizationUserStatusType.Accepted).indexOf(e))>-1&&this.statusMap.get(l.OrganizationUserStatusType.Accepted).splice(t,1),this.statusMap.has(l.OrganizationUserStatusType.Invited)&&(t=this.statusMap.get(l.OrganizationUserStatusType.Invited).indexOf(e))>-1&&this.statusMap.get(l.OrganizationUserStatusType.Invited).splice(t,1),this.statusMap.has(l.OrganizationUserStatusType.Confirmed)&&(t=this.statusMap.get(l.OrganizationUserStatusType.Confirmed).indexOf(e))>-1&&this.statusMap.get(l.OrganizationUserStatusType.Confirmed).splice(t,1)},e.ɵfac=function(t){return new(t||e)(v.ɵɵdirectiveInject(y.ApiService),v.ɵɵdirectiveInject(g.ActivatedRoute),v.ɵɵdirectiveInject(x.I18nService),v.ɵɵdirectiveInject(v.ComponentFactoryResolver),v.ɵɵdirectiveInject(b.PlatformUtilsService),v.ɵɵdirectiveInject(S.Angulartics2),v.ɵɵdirectiveInject(w.ToasterService),v.ɵɵdirectiveInject(C.CryptoService),v.ɵɵdirectiveInject(I.UserService),v.ɵɵdirectiveInject(g.Router),v.ɵɵdirectiveInject(E.StorageService),v.ɵɵdirectiveInject(P.SearchService))},e.ɵcmp=v.ɵɵdefineComponent({type:e,selectors:[["app-org-people"]],viewQuery:function(e,t){var n;(1&e&&(v.ɵɵstaticViewQuery(j,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(R,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(U,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(F,!0,o.ViewContainerRef)),2&e)&&(v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.addEditModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.groupsModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.eventsModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.confirmModalRef=n.first))},decls:64,vars:45,consts:[[1,"page-header","d-flex"],[1,"ml-auto","d-flex"],["role","group",1,"btn-group","btn-group-sm"],["type","button",1,"btn","btn-outline-secondary",3,"ngClass","click"],["class","badge badge-pill badge-info",4,"ngIf"],["class","badge badge-pill badge-warning",4,"ngIf"],[1,"ml-3"],["for","search",1,"sr-only"],["type","search","id","search",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],["type","button",1,"btn","btn-sm","btn-outline-primary","ml-3",3,"click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"],[4,"ngIf"],["addEdit",""],["groupsTemplate",""],["eventsTemplate",""],["confirmTemplate",""],[1,"badge","badge-pill","badge-info"],[1,"badge","badge-pill","badge-warning"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["type","info","icon","fa-check-circle",3,"title",4,"ngIf"],["infiniteScroll","",1,"table","table-hover","table-list",3,"infiniteScrollDistance","infiniteScrollDisabled","scrolled"],[4,"ngFor","ngForOf"],["type","info","icon","fa-check-circle",3,"title"],["width","30"],["size","25",3,"data","email","circle","fontSize"],["href","#","appStopClick","",3,"click"],["class","badge badge-secondary",4,"ngIf"],["class","badge badge-warning",4,"ngIf"],["class","text-muted d-block",4,"ngIf"],[1,"table-list-options"],["appListDropdown","",1,"dropdown"],["type","button","data-toggle","dropdown","aria-haspopup","true","aria-expanded","false",1,"btn","btn-outline-secondary","dropdown-toggle",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-cog","fa-lg"],[1,"dropdown-menu","dropdown-menu-right"],["class","dropdown-item","href","#","appStopClick","",3,"click",4,"ngIf"],["class","dropdown-item text-success","href","#","appStopClick","",3,"click",4,"ngIf"],["href","#","appStopClick","",1,"dropdown-item","text-danger",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-remove"],[1,"badge","badge-secondary"],[1,"badge","badge-warning"],[1,"text-muted","d-block"],["aria-hidden","true",1,"fa","fa-lock",3,"title"],["href","#","appStopClick","",1,"dropdown-item",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-envelope-o"],["href","#","appStopClick","",1,"dropdown-item","text-success",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-check"],["aria-hidden","true",1,"fa","fa-fw","fa-sitemap"],["aria-hidden","true",1,"fa","fa-fw","fa-file-text-o"]],template:function(e,t){1&e&&(v.ɵɵelementStart(0,"div",0),v.ɵɵtext(1,"\n "),v.ɵɵelementStart(2,"h1"),v.ɵɵtext(3),v.ɵɵpipe(4,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(5,"\n "),v.ɵɵelementStart(6,"div",1),v.ɵɵtext(7,"\n "),v.ɵɵelementStart(8,"div",2),v.ɵɵtext(9,"\n "),v.ɵɵelementStart(10,"button",3),v.ɵɵlistener("click",function(){return t.filter(null)}),v.ɵɵtext(11),v.ɵɵpipe(12,"i18n"),v.ɵɵtemplate(13,N,2,1,"span",4),v.ɵɵtext(14,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(15,"\n "),v.ɵɵelementStart(16,"button",3),v.ɵɵlistener("click",function(){return t.filter(t.organizationUserStatusType.Invited)}),v.ɵɵtext(17),v.ɵɵpipe(18,"i18n"),v.ɵɵtemplate(19,z,2,1,"span",4),v.ɵɵtext(20,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(21,"\n "),v.ɵɵelementStart(22,"button",3),v.ɵɵlistener("click",function(){return t.filter(t.organizationUserStatusType.Accepted)}),v.ɵɵtext(23),v.ɵɵpipe(24,"i18n"),v.ɵɵtemplate(25,L,2,1,"span",5),v.ɵɵtext(26,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(27,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(28,"\n "),v.ɵɵelementStart(29,"div",6),v.ɵɵtext(30,"\n "),v.ɵɵelementStart(31,"label",7),v.ɵɵtext(32),v.ɵɵpipe(33,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(34,"\n "),v.ɵɵelementStart(35,"input",8),v.ɵɵlistener("ngModelChange",function(e){return t.searchText=e}),v.ɵɵpipe(36,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(37,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(38,"\n "),v.ɵɵelementStart(39,"button",9),v.ɵɵlistener("click",function(){return t.invite()}),v.ɵɵtext(40,"\n "),v.ɵɵelement(41,"i",10),v.ɵɵtext(42),v.ɵɵpipe(43,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(44,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(45,"\n"),v.ɵɵelementEnd(),v.ɵɵtext(46,"\n"),v.ɵɵtemplate(47,G,9,6,"ng-container",11),v.ɵɵtext(48,"\n"),v.ɵɵtemplate(49,se,6,2,"ng-container",11),v.ɵɵpipe(50,"search"),v.ɵɵtext(51,"\n"),v.ɵɵtemplate(52,le,0,0,"ng-template",null,12,v.ɵɵtemplateRefExtractor),v.ɵɵtext(54,"\n"),v.ɵɵtemplate(55,ce,0,0,"ng-template",null,13,v.ɵɵtemplateRefExtractor),v.ɵɵtext(57,"\n"),v.ɵɵtemplate(58,pe,0,0,"ng-template",null,14,v.ɵɵtemplateRefExtractor),v.ɵɵtext(60,"\n"),v.ɵɵtemplate(61,ue,0,0,"ng-template",null,15,v.ɵɵtemplateRefExtractor),v.ɵɵtext(63,"\n")),2&e&&(v.ɵɵadvance(3),v.ɵɵtextInterpolate(v.ɵɵpipeBind1(4,16,"people")),v.ɵɵadvance(7),v.ɵɵproperty("ngClass",v.ɵɵpureFunction1(36,de,null==t.status)),v.ɵɵadvance(1),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(12,18,"all"),"\n "),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",t.allCount),v.ɵɵadvance(3),v.ɵɵproperty("ngClass",v.ɵɵpureFunction1(38,de,t.status==t.organizationUserStatusType.Invited)),v.ɵɵadvance(1),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(18,20,"invited"),"\n "),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",t.invitedCount),v.ɵɵadvance(3),v.ɵɵproperty("ngClass",v.ɵɵpureFunction1(40,de,t.status==t.organizationUserStatusType.Accepted)),v.ɵɵadvance(1),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(24,22,"accepted"),"\n "),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",t.acceptedCount),v.ɵɵadvance(7),v.ɵɵtextInterpolate(v.ɵɵpipeBind1(33,24,"search")),v.ɵɵadvance(3),v.ɵɵpropertyInterpolate("placeholder",v.ɵɵpipeBind1(36,26,"search")),v.ɵɵproperty("ngModel",t.searchText),v.ɵɵadvance(7),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(43,28,"inviteUser"),"\n "),v.ɵɵadvance(5),v.ɵɵproperty("ngIf",t.loading),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",!t.loading&&(t.isPaging()?t.pagedUsers:v.ɵɵpipeBindV(50,30,v.ɵɵpureFunction2(42,me,t.users,t.searchText)))))},directives:[k.NgClass,k.NgIf,_.DefaultValueAccessor,_.NgControlStatus,_.NgModel,A.InfiniteScrollDirective,k.NgForOf,O.CalloutComponent,T.AvatarComponent,M.StopClickDirective,B.A11yTitleDirective],pipes:[D.I18nPipe,V.SearchPipe],encapsulation:2}),e}();t.PeopleComponent=he},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.OrganizationUserConfirmRequest=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(n[0].checked=!0,n[0].readOnly=e.readOnly,n[0].hidePasswords=e.hidePasswords)}),[3,5];case 4:return n.sent(),[3,5];case 5:return[3,7];case 6:this.title=this.i18nService.t("inviteUser"),n.label=7;case 7:return this.loading=!1,[2]}})})},e.prototype.loadCollections=function(){return r(this,void 0,void 0,function(){var e,t,n;return i(this,function(r){switch(r.label){case 0:return[4,this.apiService.getCollections(this.organizationId)];case 1:return e=r.sent(),t=e.data.map(function(e){return new s.Collection(new a.CollectionData(e))}),n=this,[4,this.collectionService.decryptMany(t)];case 2:return n.collections=r.sent(),[2]}})})},e.prototype.check=function(e,t){e.checked=null==t?!e.checked:t,e.checked||(e.readOnly=!1)},e.prototype.selectAll=function(e){var t=this;this.collections.forEach(function(n){return t.check(n,e)})},e.prototype.setRequestPermissions=function(e,t){return e.accessBusinessPortal=!t&&this.permissions.accessBusinessPortal,e.accessEventLogs=this.permissions.accessEventLogs=!t&&this.permissions.accessEventLogs,e.accessImportExport=!t&&this.permissions.accessImportExport,e.accessReports=!t&&this.permissions.accessReports,e.manageAllCollections=!t&&this.permissions.manageAllCollections,e.manageAssignedCollections=!t&&this.permissions.manageAssignedCollections,e.manageGroups=!t&&this.permissions.manageGroups,e.manageSso=!t&&this.permissions.manageSso,e.managePolicies=!t&&this.permissions.managePolicies,e.manageUsers=!t&&this.permissions.manageUsers,e},e.prototype.submit=function(){var e,t;return r(this,void 0,void 0,function(){var n,r;return i(this,function(i){switch(i.label){case 0:n=null,"all"!==this.access&&(n=this.collections.filter(function(e){return e.checked}).map(function(e){return new p.SelectionReadOnlyRequest(e.id,!!e.readOnly,!!e.hidePasswords)})),i.label=1;case 1:return i.trys.push([1,3,,4]),this.editMode?((r=new c.OrganizationUserUpdateRequest).accessAll="all"===this.access,r.type=this.type,r.collections=n,r.permissions=this.setRequestPermissions(null!==(e=r.permissions)&&void 0!==e?e:new d.PermissionsApi,r.type!==u.OrganizationUserType.Custom),this.formPromise=this.apiService.putOrganizationUser(this.organizationId,this.organizationUserId,r)):((r=new l.OrganizationUserInviteRequest).emails=this.emails.trim().split(/\s*,\s*/),r.accessAll="all"===this.access,r.type=this.type,r.permissions=this.setRequestPermissions(null!==(t=r.permissions)&&void 0!==t?t:new d.PermissionsApi,r.type!==u.OrganizationUserType.Custom),r.collections=n,this.formPromise=this.apiService.postOrganizationUserInvite(this.organizationId,r)),[4,this.formPromise];case 2:return i.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 i.sent(),[3,4];case 4:return[2]}})})},e.prototype.delete=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.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(!e.sent())return[2,!1];e.label=2;case 2:return e.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteOrganizationUser(this.organizationId,this.organizationUserId),[4,this.deletePromise];case 3:return e.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 e.sent(),[3,5];case 5:return[2]}})})},e.ɵfac=function(t){return new(t||e)(m.ɵɵdirectiveInject(h.ApiService),m.ɵɵdirectiveInject(f.I18nService),m.ɵɵdirectiveInject(v.Angulartics2),m.ɵɵdirectiveInject(y.ToasterService),m.ɵɵdirectiveInject(g.CollectionService),m.ɵɵdirectiveInject(x.PlatformUtilsService))},e.ɵcmp=m.ɵɵdefineComponent({type:e,selectors:[["app-user-add-edit"]],inputs:{name:"name",organizationUserId:"organizationUserId",organizationId:"organizationId"},outputs:{onSavedUser:"onSavedUser",onDeletedUser:"onDeletedUser"},decls:51,vars:19,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","userAddEditTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],["ngNativeValidate","",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","userAddEditTitle",1,"modal-title"],["class","text-muted",4,"ngIf"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"ml-auto"],["type","button","class","btn btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click",4,"ngIf"],[1,"text-muted"],[1,"modal-body"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[4,"ngIf"],["target","_blank","rel","noopener","href","https://bitwarden.com/help/article/user-types-access-control/#user-types",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],[1,"form-check","mt-2","form-check-block"],["type","radio","name","userType","id","userTypeUser",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","userTypeUser",1,"form-check-label"],["type","radio","name","userType","id","userTypeManager",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","userTypeManager",1,"form-check-label"],["type","radio","name","userType","id","userTypeAdmin",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","userTypeAdmin",1,"form-check-label"],["type","radio","name","userType","id","userTypeOwner",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","userTypeOwner",1,"form-check-label"],["type","radio","name","userType","id","userTypeCustom",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","userTypeCustom",1,"form-check-label"],[1,"mt-4","d-flex"],[1,"mb-3"],["target","_blank","rel","noopener","href","https://bitwarden.com/help/article/user-types-access-control/#access-control",3,"appA11yTitle"],["class","ml-auto",4,"ngIf"],[1,"form-group",3,"ngClass"],[1,"form-check"],["type","radio","name","access","id","accessAll","value","all",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessAll",1,"form-check-label"],["type","radio","name","access","id","accessSelected","value","selected",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessSelected",1,"form-check-label"],[1,"form-group","mb-4"],["for","emails"],["id","emails","type","text","name","Emails","required","","appAutoFocus","",1,"form-control",3,"ngModel","ngModelChange"],[1,"row"],[1,"col-6"],[1,"font-weight-bold","mb-0"],[1,"my-0","mr-2"],[1,"form-group","mb-0"],[1,"form-check","mt-1","form-check-block"],["type","checkbox","name","manageAssignedCollections","id","manageAssignedCollections",1,"form-check-input",3,"ngModel","ngModelChange"],["for","manageAssignedCollections",1,"form-check-label","font-weight-normal"],["type","checkbox","name","accessBusinessPortal","id","accessBusinessPortal",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessBusinessPortal",1,"form-check-label","font-weight-normal"],["type","checkbox","name","accessEventLogs","id","accessEventLogs",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessEventLogs",1,"form-check-label","font-weight-normal"],["type","checkbox","name","accessImportExport","id","accessImportExport",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessImportExport",1,"form-check-label","font-weight-normal"],["type","checkbox","name","accessReports","id","accessReports",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessReports",1,"form-check-label","font-weight-normal"],["type","checkbox","name","manageAllCollections","id","manageAllCollections",1,"form-check-input",3,"ngModel","ngModelChange"],["for","manageAllCollections",1,"form-check-label","font-weight-normal"],["type","checkbox","name","manageGroups","id","manageGroups",1,"form-check-input",3,"ngModel","ngModelChange"],["for","manageGroups",1,"form-check-label","font-weight-normal"],["type","checkbox","name","manageSso","id","managePolicies",1,"form-check-input",3,"ngModel","ngModelChange"],["for","manageSso",1,"form-check-label","font-weight-normal"],["type","checkbox","name","managePolicies","id","managePolicies",1,"form-check-input",3,"ngModel","ngModelChange"],["for","managePolicies",1,"form-check-label","font-weight-normal"],["type","checkbox","name","manageUsers","id","manageUsers",1,"form-check-input",3,"ngModel","ngModelChange"],["for","manageUsers",1,"form-check-label","font-weight-normal"],["type","button",1,"btn","btn-link","btn-sm","py-0",3,"click"],["class","table table-hover table-list mb-0",4,"ngIf"],[1,"table","table-hover","table-list","mb-0"],["width","100",1,"text-center"],[4,"ngFor","ngForOf"],[1,"table-list-checkbox",3,"click"],["type","checkbox","appStopProp","",3,"ngModel","name","ngModelChange"],[3,"click"],[1,"text-center"],["type","checkbox",3,"ngModel","name","disabled","ngModelChange"],["type","button",1,"btn","btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click"],["deleteBtn",""],["aria-hidden","true",1,"fa","fa-trash-o","fa-lg","fa-fw",3,"hidden"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","fa-lg","fa-fw",3,"hidden","title"]],template:function(e,t){if(1&e&&(m.ɵɵelementStart(0,"div",0),m.ɵɵtext(1,"\n "),m.ɵɵelementStart(2,"div",1),m.ɵɵtext(3,"\n "),m.ɵɵelementStart(4,"form",2,3),m.ɵɵlistener("ngSubmit",function(){return t.submit()}),m.ɵɵtext(6,"\n "),m.ɵɵelementStart(7,"div",4),m.ɵɵtext(8,"\n "),m.ɵɵelementStart(9,"h2",5),m.ɵɵtext(10),m.ɵɵtemplate(11,P,2,1,"small",6),m.ɵɵtext(12,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(13,"\n "),m.ɵɵelementStart(14,"button",7),m.ɵɵpipe(15,"i18n"),m.ɵɵtext(16,"\n "),m.ɵɵelementStart(17,"span",8),m.ɵɵtext(18,"×"),m.ɵɵelementEnd(),m.ɵɵtext(19,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(20,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(21,"\n "),m.ɵɵtemplate(22,k,9,6,"div",9),m.ɵɵtext(23,"\n "),m.ɵɵtemplate(24,j,119,67,"div",9),m.ɵɵtext(25,"\n "),m.ɵɵelementStart(26,"div",10),m.ɵɵtext(27,"\n "),m.ɵɵelementStart(28,"button",11),m.ɵɵtext(29,"\n "),m.ɵɵelement(30,"i",12),m.ɵɵpipe(31,"i18n"),m.ɵɵtext(32,"\n "),m.ɵɵelementStart(33,"span"),m.ɵɵtext(34),m.ɵɵpipe(35,"i18n"),m.ɵɵelementEnd(),m.ɵɵtext(36,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(37,"\n "),m.ɵɵelementStart(38,"button",13),m.ɵɵtext(39),m.ɵɵpipe(40,"i18n"),m.ɵɵelementEnd(),m.ɵɵtext(41,"\n "),m.ɵɵelementStart(42,"div",14),m.ɵɵtext(43,"\n "),m.ɵɵtemplate(44,R,9,10,"button",15),m.ɵɵtext(45,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(46,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(47,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(48,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(49,"\n"),m.ɵɵelementEnd(),m.ɵɵtext(50,"\n")),2&e){var n=m.ɵɵreference(5);m.ɵɵadvance(4),m.ɵɵproperty("appApiAction",t.formPromise),m.ɵɵadvance(6),m.ɵɵtextInterpolate1("\n ",t.title,"\n "),m.ɵɵadvance(1),m.ɵɵproperty("ngIf",t.name),m.ɵɵadvance(3),m.ɵɵpropertyInterpolate("appA11yTitle",m.ɵɵpipeBind1(15,11,"close")),m.ɵɵadvance(8),m.ɵɵproperty("ngIf",t.loading),m.ɵɵadvance(2),m.ɵɵproperty("ngIf",!t.loading),m.ɵɵadvance(4),m.ɵɵproperty("disabled",n.loading),m.ɵɵadvance(2),m.ɵɵpropertyInterpolate("title",m.ɵɵpipeBind1(31,13,"loading")),m.ɵɵadvance(4),m.ɵɵtextInterpolate(m.ɵɵpipeBind1(35,15,"save")),m.ɵɵadvance(5),m.ɵɵtextInterpolate(m.ɵɵpipeBind1(40,17,"cancel")),m.ɵɵadvance(5),m.ɵɵproperty("ngIf",t.editMode)}},directives:[b.NgControlStatusGroup,b.NgForm,S.ApiActionDirective,w.NgIf,C.A11yTitleDirective,b.RadioControlValueAccessor,b.DefaultValueAccessor,b.NgControlStatus,b.NgModel,w.NgClass,b.RequiredValidator,b.CheckboxControlValueAccessor,w.NgForOf,I.StopPropDirective],pipes:[E.I18nPipe],encapsulation:2}),e}();t.UserAddEditComponent=U},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(t[0].checked=!0)}),[3,5];case 4:return i.sent(),[3,5];case 5:return this.loading=!1,[2]}})})},e.prototype.check=function(e,t){e.checked=null==t?!e.checked:t,e.checked||(e.readOnly=!1)},e.prototype.selectAll=function(e){var t=this;this.groups.forEach(function(n){return t.check(n,e)})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:(e=new a.OrganizationUserUpdateGroupsRequest).groupIds=this.groups.filter(function(e){return e.checked}).map(function(e){return e.id}),t.label=1;case 1:return t.trys.push([1,3,,4]),this.formPromise=this.apiService.putOrganizationUserGroups(this.organizationId,this.organizationUserId,e),[4,this.formPromise];case 2:return t.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 t.sent(),[3,4];case 4:return[2]}})})},e.ɵfac=function(t){return new(t||e)(l.ɵɵdirectiveInject(c.ApiService),l.ɵɵdirectiveInject(p.I18nService),l.ɵɵdirectiveInject(u.Angulartics2),l.ɵɵdirectiveInject(d.ToasterService))},e.ɵcmp=l.ɵɵdefineComponent({type:e,selectors:[["app-user-groups"]],inputs:{name:"name",organizationUserId:"organizationUserId",organizationId:"organizationId"},outputs:{onSavedUser:"onSavedUser"},decls:47,vars:20,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","groupAccessTitle",1,"modal","fade"],["role","document",1,"modal-dialog"],[1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","groupAccessTitle",1,"modal-title"],["class","text-muted",4,"ngIf"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"text-muted"],[1,"modal-body"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[4,"ngIf"],["class","table table-hover table-list mb-0",4,"ngIf"],[1,"table","table-hover","table-list","mb-0"],[4,"ngFor","ngForOf"],[1,"table-list-checkbox",3,"click"],["type","checkbox","appStopProp","",3,"ngModel","name","ngModelChange"],[3,"click"]],template:function(e,t){if(1&e&&(l.ɵɵelementStart(0,"div",0),l.ɵɵtext(1,"\n "),l.ɵɵelementStart(2,"div",1),l.ɵɵtext(3,"\n "),l.ɵɵelementStart(4,"form",2,3),l.ɵɵlistener("ngSubmit",function(){return t.submit()}),l.ɵɵtext(6,"\n "),l.ɵɵelementStart(7,"div",4),l.ɵɵtext(8,"\n "),l.ɵɵelementStart(9,"h2",5),l.ɵɵtext(10),l.ɵɵpipe(11,"i18n"),l.ɵɵtemplate(12,x,2,1,"small",6),l.ɵɵtext(13,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(14,"\n "),l.ɵɵelementStart(15,"button",7),l.ɵɵpipe(16,"i18n"),l.ɵɵtext(17,"\n "),l.ɵɵelementStart(18,"span",8),l.ɵɵtext(19,"×"),l.ɵɵelementEnd(),l.ɵɵtext(20,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(21,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(22,"\n "),l.ɵɵtemplate(23,b,9,6,"div",9),l.ɵɵtext(24,"\n "),l.ɵɵtemplate(25,I,10,5,"div",9),l.ɵɵtext(26,"\n "),l.ɵɵelementStart(27,"div",10),l.ɵɵtext(28,"\n "),l.ɵɵelementStart(29,"button",11),l.ɵɵtext(30,"\n "),l.ɵɵelement(31,"i",12),l.ɵɵpipe(32,"i18n"),l.ɵɵtext(33,"\n "),l.ɵɵelementStart(34,"span"),l.ɵɵtext(35),l.ɵɵpipe(36,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(37,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(38,"\n "),l.ɵɵelementStart(39,"button",13),l.ɵɵtext(40),l.ɵɵpipe(41,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(42,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(43,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(44,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(45,"\n"),l.ɵɵelementEnd(),l.ɵɵtext(46,"\n")),2&e){var n=l.ɵɵreference(5);l.ɵɵadvance(4),l.ɵɵproperty("appApiAction",t.formPromise),l.ɵɵadvance(6),l.ɵɵtextInterpolate1("\n ",l.ɵɵpipeBind1(11,10,"groupAccess"),"\n "),l.ɵɵadvance(2),l.ɵɵproperty("ngIf",t.name),l.ɵɵadvance(3),l.ɵɵpropertyInterpolate("appA11yTitle",l.ɵɵpipeBind1(16,12,"close")),l.ɵɵadvance(8),l.ɵɵproperty("ngIf",t.loading),l.ɵɵadvance(2),l.ɵɵproperty("ngIf",!t.loading),l.ɵɵadvance(4),l.ɵɵproperty("disabled",n.loading),l.ɵɵadvance(2),l.ɵɵpropertyInterpolate("title",l.ɵɵpipeBind1(32,14,"loading")),l.ɵɵadvance(4),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(36,16,"save")),l.ɵɵadvance(5),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(41,18,"cancel"))}},directives:[m.ɵangular_packages_forms_forms_y,m.NgControlStatusGroup,m.NgForm,h.ApiActionDirective,f.NgIf,v.A11yTitleDirective,f.NgForOf,m.CheckboxControlValueAccessor,y.StopPropDirective,m.NgControlStatus,m.NgModel],pipes:[g.I18nPipe],encapsulation:2}),e}();t.UserGroupsComponent=E},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?e.data:[],this.orgPolicies.forEach(function(e){t.policiesEnabledMap.set(e.type,e.enabled)}),this.policies.forEach(function(e){e.enabled=t.policiesEnabledMap.has(e.type)&&t.policiesEnabledMap.get(e.type)}),this.loading=!1,[2]}})})},e.prototype.edit=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent);this.modal=this.editModalRef.createComponent(n).instance;var r=this.modal.show(l.PolicyEditComponent,this.editModalRef);r.name=e.name,r.description=e.description,r.type=e.type,r.organizationId=this.organizationId,r.policiesEnabledMap=this.policiesEnabledMap,r.onSavedPolicy.subscribe(function(){t.modal.close(),t.load()}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.goToEnterprisePortal=function(){return r(this,void 0,void 0,function(){var e,t;return i(this,function(n){switch(n.label){case 0:if(null!=this.enterpriseTokenPromise)return[2];n.label=1;case 1:return n.trys.push([1,5,,6]),this.enterpriseTokenPromise=this.apiService.getEnterprisePortalSignInToken(),[4,this.enterpriseTokenPromise];case 2:return null==(e=n.sent())?[3,4]:[4,this.userService.getUserId()];case 3:t=n.sent(),this.platformUtilsService.launchUri(this.enterpriseUrl+"/login?userId="+t+"&token="+window.encodeURIComponent(e)+"&organizationId="+this.organizationId),n.label=4;case 4:return[3,6];case 5:return n.sent(),[3,6];case 6:return this.enterpriseTokenPromise=null,[2]}})})},e.ɵfac=function(t){return new(t||e)(c.ɵɵdirectiveInject(p.ApiService),c.ɵɵdirectiveInject(u.ActivatedRoute),c.ɵɵdirectiveInject(d.I18nService),c.ɵɵdirectiveInject(c.ComponentFactoryResolver),c.ɵɵdirectiveInject(m.PlatformUtilsService),c.ɵɵdirectiveInject(h.UserService),c.ɵɵdirectiveInject(u.Router),c.ɵɵdirectiveInject(f.EnvironmentService))},e.ɵcmp=c.ɵɵdefineComponent({type:e,selectors:[["app-org-policies"]],viewQuery:function(e,t){var n;(1&e&&c.ɵɵstaticViewQuery(b,!0,o.ViewContainerRef),2&e)&&(c.ɵɵqueryRefresh(n=c.ɵɵloadQuery())&&(t.editModalRef=n.first))},decls:16,vars:6,consts:[[3,"type",4,"ngIf"],[1,"page-header","d-flex"],[4,"ngIf"],["class","table table-hover table-list",4,"ngIf"],["editTemplate",""],[3,"type"],["type","button",1,"btn","btn-outline-secondary",3,"click"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"table","table-hover","table-list"],[4,"ngFor","ngForOf"],["href","#","appStopClick","",3,"click"],["class","badge badge-success",4,"ngIf"],[1,"text-muted","d-block"],[1,"badge","badge-success"]],template:function(e,t){1&e&&(c.ɵɵtemplate(0,S,10,7,"app-callout",0),c.ɵɵtext(1,"\n"),c.ɵɵelementStart(2,"div",1),c.ɵɵtext(3,"\n "),c.ɵɵelementStart(4,"h1"),c.ɵɵtext(5),c.ɵɵpipe(6,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(7,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(8,"\n"),c.ɵɵtemplate(9,w,9,6,"ng-container",2),c.ɵɵtext(10,"\n"),c.ɵɵtemplate(11,P,7,1,"table",3),c.ɵɵtext(12,"\n"),c.ɵɵtemplate(13,k,0,0,"ng-template",null,4,c.ɵɵtemplateRefExtractor),c.ɵɵtext(15,"\n")),2&e&&(c.ɵɵproperty("ngIf",t.userCanAccessBusinessPortal),c.ɵɵadvance(5),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(6,4,"policies")),c.ɵɵadvance(4),c.ɵɵproperty("ngIf",t.loading),c.ɵɵadvance(2),c.ɵɵproperty("ngIf",!t.loading))},directives:[v.NgIf,y.CalloutComponent,v.NgForOf,g.StopClickDirective],pipes:[x.I18nPipe],encapsulation:2}),e}();t.PoliciesComponent=_},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(5);t.ApiService=r.ApiService;var i=n(845);t.AppIdService=i.AppIdService;var o=n(88);t.AuditService=o.AuditService;var a=n(59);t.AuthService=a.AuthService;var s=n(20);t.CipherService=s.CipherService;var l=n(41);t.CollectionService=l.CollectionService;var c=n(19);t.CryptoService=c.CryptoService;var p=n(73);t.EnvironmentService=p.EnvironmentService;var u=n(48);t.FolderService=u.FolderService;var d=n(3);t.I18nService=d.I18nService;var m=n(846);t.LogService=m.LogService;var h=n(15);t.MessagingService=h.MessagingService;var f=n(36);t.PasswordGenerationService=f.PasswordGenerationService;var v=n(6);t.PlatformUtilsService=v.PlatformUtilsService;var y=n(87);t.SearchService=y.SearchService;var g=n(278);t.SettingsService=g.SettingsService;var x=n(42);t.StorageService=x.StorageService;var b=n(38);t.StateService=b.StateService;var S=n(63);t.SyncService=S.SyncService;var w=n(101);t.TokenService=w.TokenService;var C=n(114);t.TotpService=C.TotpService;var I=n(7);t.UserService=I.UserService;var E=n(111);t.VaultTimeoutService=E.VaultTimeoutService},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1?"×"+n.quantity:""," @ ",a.ɵɵpipeBind2(4,5,n.amount,"$"),"\n "),a.ɵɵadvance(4),a.ɵɵtextInterpolate2("\n ",a.ɵɵpipeBind2(8,8,n.quantity*n.amount,"$")," /",a.ɵɵpipeBind1(9,11,n.interval),"\n ")}}function V(e,t){if(1&e&&(a.ɵɵelementStart(0,"div",20),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"strong",21),a.ɵɵtext(3),a.ɵɵpipe(4,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(5,"\n "),a.ɵɵelementStart(6,"table",22),a.ɵɵtext(7,"\n "),a.ɵɵelementStart(8,"tbody"),a.ɵɵtext(9,"\n "),a.ɵɵtemplate(10,D,11,13,"tr",23),a.ɵɵtext(11,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(12,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(13,"\n "),a.ɵɵelementEnd()),2&e){var n=a.ɵɵnextContext(3);a.ɵɵadvance(3),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(4,2,"details")),a.ɵɵadvance(7),a.ɵɵproperty("ngForOf",n.subscription.items)}}function j(e,t){if(1&e&&(a.ɵɵelementStart(0,"div",14),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"div",15),a.ɵɵtext(3,"\n "),a.ɵɵelementStart(4,"dl"),a.ɵɵtext(5,"\n "),a.ɵɵelementStart(6,"dt"),a.ɵɵtext(7),a.ɵɵpipe(8,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(9,"\n "),a.ɵɵelementStart(10,"dd"),a.ɵɵtext(11),a.ɵɵelementEnd(),a.ɵɵtext(12,"\n "),a.ɵɵtemplate(13,B,23,15,"ng-container",1),a.ɵɵtext(14,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(15,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(16,"\n "),a.ɵɵtemplate(17,V,14,4,"div",16),a.ɵɵtext(18,"\n "),a.ɵɵelementEnd()),2&e){var n=a.ɵɵnextContext(2);a.ɵɵadvance(7),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(8,4,"billingPlan")),a.ɵɵadvance(4),a.ɵɵtextInterpolate(n.sub.plan.name),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.subscription),a.ɵɵadvance(4),a.ɵɵproperty("ngIf",n.subscription)}}function R(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"div",27),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"div",28),a.ɵɵtext(3,"\n "),a.ɵɵelementStart(4,"button",29),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeUpdateLicense(!1)}),a.ɵɵpipe(5,"i18n"),a.ɵɵelementStart(6,"span",30),a.ɵɵtext(7,"×"),a.ɵɵelementEnd(),a.ɵɵelementEnd(),a.ɵɵtext(8,"\n "),a.ɵɵelementStart(9,"h3",31),a.ɵɵtext(10),a.ɵɵpipe(11,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(12,"\n "),a.ɵɵelementStart(13,"app-update-license",32),a.ɵɵlistener("onUpdated",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeUpdateLicense(!0)})("onCanceled",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeUpdateLicense(!1)}),a.ɵɵelementEnd(),a.ɵɵtext(14,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(15,"\n "),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵnextContext(3);a.ɵɵadvance(4),a.ɵɵpropertyInterpolate("appA11yTitle",a.ɵɵpipeBind1(5,3,"cancel")),a.ɵɵadvance(6),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(11,5,"updateLicense")),a.ɵɵadvance(3),a.ɵɵproperty("organizationId",r.organizationId)}}function U(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementContainerStart(0),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"div"),a.ɵɵtext(3,"\n "),a.ɵɵelementStart(4,"button",24),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(2).updateLicense()}),a.ɵɵtext(5),a.ɵɵpipe(6,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(7,"\n "),a.ɵɵelementStart(8,"a",25),a.ɵɵtext(9),a.ɵɵpipe(10,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(11,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(12,"\n "),a.ɵɵtemplate(13,R,16,7,"div",26),a.ɵɵtext(14,"\n "),a.ɵɵelementContainerEnd()}if(2&e){var r=a.ɵɵnextContext(2);a.ɵɵadvance(5),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(6,3,"updateLicense"),"\n "),a.ɵɵadvance(4),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(10,5,"manageSubscription"),"\n "),a.ɵɵadvance(4),a.ɵɵproperty("ngIf",r.showUpdateLicense)}}function F(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"button",24),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).changePlan()}),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()}2&e&&(a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(2,1,"changeBillingPlan"),"\n "))}function N(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"button",42),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).downloadLicense()}),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵnextContext(3);a.ɵɵproperty("disabled",r.showDownloadLicense),a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(2,2,"downloadLicense"),"\n ")}}function z(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"button",43,44),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).cancel()}),a.ɵɵtext(2,"\n "),a.ɵɵelement(3,"i",10),a.ɵɵpipe(4,"i18n"),a.ɵɵtext(5,"\n "),a.ɵɵelementStart(6,"span"),a.ɵɵtext(7),a.ɵɵpipe(8,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(9,"\n "),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵreference(1),i=a.ɵɵnextContext(3);a.ɵɵproperty("appApiAction",i.cancelPromise)("disabled",r.loading),a.ɵɵadvance(3),a.ɵɵpropertyInterpolate("title",a.ɵɵpipeBind1(4,4,"loading")),a.ɵɵadvance(4),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(8,6,"cancelSubscription"))}}function L(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"app-change-plan",45),a.ɵɵlistener("onChanged",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeChangePlan(!0)})("onCanceled",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeChangePlan(!1)}),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵnextContext(3);a.ɵɵproperty("organizationId",r.organizationId)}}function G(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"div",46),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"app-download-license",47),a.ɵɵlistener("onDownloaded",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeDownloadLicense()})("onCanceled",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeDownloadLicense()}),a.ɵɵelementEnd(),a.ɵɵtext(3,"\n "),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵnextContext(3);a.ɵɵadvance(2),a.ɵɵproperty("organizationId",r.organizationId)}}function K(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"div",33),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"button",24),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).adjustSeats(!0)}),a.ɵɵtext(3),a.ɵɵpipe(4,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(5,"\n "),a.ɵɵelementStart(6,"button",50),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).adjustSeats(!1)}),a.ɵɵtext(7),a.ɵɵpipe(8,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(9,"\n "),a.ɵɵelementEnd()}2&e&&(a.ɵɵadvance(3),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(4,2,"addSeats"),"\n "),a.ɵɵadvance(4),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(8,4,"removeSeats"),"\n "))}function q(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"app-adjust-seats",51),a.ɵɵlistener("onAdjusted",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).closeSeats(!0)})("onCanceled",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).closeSeats(!1)}),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵnextContext(4);a.ɵɵproperty("seatPrice",r.seatPrice)("add",r.adjustSeatsAdd)("organizationId",r.organizationId)("interval",r.billingInterval)}}function H(e,t){if(1&e&&(a.ɵɵelementContainerStart(0),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"div",46),a.ɵɵtext(3,"\n "),a.ɵɵtemplate(4,K,10,6,"div",48),a.ɵɵtext(5,"\n "),a.ɵɵtemplate(6,q,1,4,"app-adjust-seats",49),a.ɵɵtext(7,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(8,"\n "),a.ɵɵelementContainerEnd()),2&e){var n=a.ɵɵnextContext(3);a.ɵɵadvance(4),a.ɵɵproperty("ngIf",!n.showAdjustSeats),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.showAdjustSeats)}}function W(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"div",33),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"button",24),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).adjustStorage(!0)}),a.ɵɵtext(3),a.ɵɵpipe(4,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(5,"\n "),a.ɵɵelementStart(6,"button",50),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).adjustStorage(!1)}),a.ɵɵtext(7),a.ɵɵpipe(8,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(9,"\n "),a.ɵɵelementEnd()}2&e&&(a.ɵɵadvance(3),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(4,2,"addStorage"),"\n "),a.ɵɵadvance(4),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(8,4,"removeStorage"),"\n "))}function $(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"app-adjust-storage",53),a.ɵɵlistener("onAdjusted",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).closeStorage(!0)})("onCanceled",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).closeStorage(!1)}),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵnextContext(4);a.ɵɵproperty("storageGbPrice",r.storageGbPrice)("add",r.adjustStorageAdd)("organizationId",r.organizationId)("interval",r.billingInterval)}}function Y(e,t){if(1&e&&(a.ɵɵelementContainerStart(0),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"div",46),a.ɵɵtext(3,"\n "),a.ɵɵtemplate(4,W,10,6,"div",48),a.ɵɵtext(5,"\n "),a.ɵɵtemplate(6,$,1,4,"app-adjust-storage",52),a.ɵɵtext(7,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(8,"\n "),a.ɵɵelementContainerEnd()),2&e){var n=a.ɵɵnextContext(3);a.ɵɵadvance(4),a.ɵɵproperty("ngIf",!n.showAdjustStorage),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.showAdjustStorage)}}var Q=function(e){return{width:e}};function J(e,t){if(1&e&&(a.ɵɵelementContainerStart(0),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"div",33),a.ɵɵtext(3,"\n "),a.ɵɵtemplate(4,F,3,3,"button",34),a.ɵɵtext(5,"\n "),a.ɵɵtemplate(6,N,3,4,"button",35),a.ɵɵtext(7,"\n "),a.ɵɵtemplate(8,z,10,8,"button",36),a.ɵɵtext(9,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(10,"\n "),a.ɵɵtemplate(11,L,1,1,"app-change-plan",37),a.ɵɵtext(12,"\n "),a.ɵɵtemplate(13,G,4,1,"div",38),a.ɵɵtext(14,"\n "),a.ɵɵelementStart(15,"h2",39),a.ɵɵtext(16),a.ɵɵpipe(17,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(18,"\n "),a.ɵɵelementStart(19,"p"),a.ɵɵtext(20),a.ɵɵpipe(21,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(22,"\n "),a.ɵɵtemplate(23,H,9,2,"ng-container",1),a.ɵɵtext(24,"\n "),a.ɵɵelementStart(25,"h2",39),a.ɵɵtext(26),a.ɵɵpipe(27,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(28,"\n "),a.ɵɵelementStart(29,"p"),a.ɵɵtext(30),a.ɵɵpipe(31,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(32,"\n "),a.ɵɵelementStart(33,"div",40),a.ɵɵtext(34,"\n "),a.ɵɵelementStart(35,"div",41),a.ɵɵtext(36),a.ɵɵpipe(37,"percent"),a.ɵɵelementEnd(),a.ɵɵtext(38,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(39,"\n "),a.ɵɵtemplate(40,Y,9,2,"ng-container",1),a.ɵɵtext(41,"\n "),a.ɵɵelementContainerEnd()),2&e){var n=a.ɵɵnextContext(2);a.ɵɵadvance(4),a.ɵɵproperty("ngIf",!n.showChangePlan),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.canDownloadLicense),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.subscription&&!n.subscription.cancelled&&!n.subscriptionMarkedForCancel),a.ɵɵadvance(3),a.ɵɵproperty("ngIf",n.showChangePlan),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.showDownloadLicense),a.ɵɵadvance(3),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(17,14,"userSeats")),a.ɵɵadvance(4),a.ɵɵtextInterpolate(a.ɵɵpipeBind2(21,16,"subscriptionUserSeats",n.sub.seats)),a.ɵɵadvance(3),a.ɵɵproperty("ngIf",n.subscription&&n.canAdjustSeats&&!n.subscription.cancelled&&!n.subscriptionMarkedForCancel),a.ɵɵadvance(3),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(27,19,"storage")),a.ɵɵadvance(4),a.ɵɵtextInterpolate(a.ɵɵpipeBind3(31,21,"subscriptionStorage",n.sub.maxStorageGb||0,n.sub.storageName||"0 MB")),a.ɵɵadvance(5),a.ɵɵproperty("ngStyle",a.ɵɵpureFunction1(27,Q,n.storageProgressWidth+"%")),a.ɵɵattribute("aria-valuenow",n.storagePercentage),a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(37,25,n.storagePercentage/100),""),a.ɵɵadvance(4),a.ɵɵproperty("ngIf",n.subscription&&!n.subscription.cancelled&&!n.subscriptionMarkedForCancel)}}function X(e,t){if(1&e&&(a.ɵɵelementContainerStart(0),a.ɵɵtext(1,"\n "),a.ɵɵtemplate(2,P,4,6,"app-callout",5),a.ɵɵtext(3,"\n "),a.ɵɵtemplate(4,k,18,14,"app-callout",5),a.ɵɵtext(5,"\n "),a.ɵɵtemplate(6,T,17,9,"dl",1),a.ɵɵtext(7,"\n "),a.ɵɵtemplate(8,j,19,6,"div",6),a.ɵɵtext(9,"\n "),a.ɵɵtemplate(10,U,15,7,"ng-container",1),a.ɵɵtext(11,"\n "),a.ɵɵtemplate(12,J,42,29,"ng-container",1),a.ɵɵtext(13,"\n"),a.ɵɵelementContainerEnd()),2&e){var n=a.ɵɵnextContext();a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.subscription&&n.subscription.cancelled),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.subscriptionMarkedForCancel),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.selfHosted),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",!n.selfHosted),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.selfHosted),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",!n.selfHosted)}}var Z=function(){function e(e,t,n,r,i,o,a){this.apiService=e,this.platformUtilsService=t,this.i18nService=n,this.analytics=r,this.toasterService=i,this.messagingService=o,this.route=a,this.loading=!1,this.firstLoaded=!1,this.adjustSeatsAdd=!0,this.showAdjustSeats=!1,this.adjustStorageAdd=!0,this.showAdjustStorage=!1,this.showUpdateLicense=!1,this.showDownloadLicense=!1,this.showChangePlan=!1,this.selfHosted=!1,this.selfHosted=t.isSelfHost()}return e.prototype.ngOnInit=function(){return r(this,void 0,void 0,function(){var e=this;return i(this,function(t){return this.route.parent.parent.params.subscribe(function(t){return r(e,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.organizationId=t.organizationId,[4,this.load()];case 1:return e.sent(),this.firstLoaded=!0,[2]}})})}),[2]})})},e.prototype.load=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return this.loading?[2]:(this.loading=!0,e=this,[4,this.apiService.getOrganizationSubscription(this.organizationId)]);case 1:return e.sub=t.sent(),this.loading=!1,[2]}})})},e.prototype.reinstate=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.loading?[2]:[4,this.platformUtilsService.showDialog(this.i18nService.t("reinstateConfirmation"),this.i18nService.t("reinstateSubscription"),this.i18nService.t("yes"),this.i18nService.t("cancel"))];case 1:if(!e.sent())return[2];e.label=2;case 2:return e.trys.push([2,4,,5]),this.reinstatePromise=this.apiService.postOrganizationReinstate(this.organizationId),[4,this.reinstatePromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Reinstated Plan"}),this.toasterService.popAsync("success",null,this.i18nService.t("reinstated")),this.load(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},e.prototype.cancel=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.loading?[2]:[4,this.platformUtilsService.showDialog(this.i18nService.t("cancelConfirmation"),this.i18nService.t("cancelSubscription"),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.cancelPromise=this.apiService.postOrganizationCancel(this.organizationId),[4,this.cancelPromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Canceled Plan"}),this.toasterService.popAsync("success",null,this.i18nService.t("canceledSubscription")),this.load(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},e.prototype.changePlan=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return null==this.subscription&&this.sub.planType===o.PlanType.Free?(this.showChangePlan=!this.showChangePlan,[2]):[4,this.platformUtilsService.showDialog(this.i18nService.t("changeBillingPlanDesc"),this.i18nService.t("changeBillingPlan"),this.i18nService.t("contactSupport"),this.i18nService.t("close"))];case 1:return e.sent()&&this.platformUtilsService.launchUri("https://bitwarden.com/contact"),[2]}})})},e.prototype.closeChangePlan=function(e){this.showChangePlan=!1},e.prototype.downloadLicense=function(){this.showDownloadLicense=!this.showDownloadLicense},e.prototype.closeDownloadLicense=function(){this.showDownloadLicense=!1},e.prototype.updateLicense=function(){this.loading||(this.showUpdateLicense=!0)},e.prototype.closeUpdateLicense=function(e){this.showUpdateLicense=!1,e&&(this.load(),this.messagingService.send("updatedOrgLicense"))},e.prototype.adjustSeats=function(e){this.adjustSeatsAdd=e,this.showAdjustSeats=!0},e.prototype.closeSeats=function(e){this.showAdjustSeats=!1,e&&this.load()},e.prototype.adjustStorage=function(e){this.adjustStorageAdd=e,this.showAdjustStorage=!0},e.prototype.closeStorage=function(e){this.showAdjustStorage=!1,e&&this.load()},Object.defineProperty(e.prototype,"isExpired",{get:function(){return null!=this.sub&&null!=this.sub.expiration&&new Date(this.sub.expiration)0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]

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

"+this.code+'

'+new Date+"

"),e.onafterprint=function(){return e.close()},e.print()},e.prototype.formatString=function(e){return null==e?null:e.replace(/(.{4})/g,"$1 ").trim().toUpperCase()},e.prototype.processResponse=function(e){this.code=this.formatString(e.code)},e.ɵfac=function(t){return new(t||e)(i.ɵɵdirectiveInject(o.I18nService))},e.ɵcmp=i.ɵɵdefineComponent({type:e,selectors:[["app-two-factor-recovery"]],decls:31,vars:11,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","2faRecoveryTitle",1,"modal","fade"],["role","document",1,"modal-dialog"],[1,"modal-content"],[1,"modal-header"],["id","2faRecoveryTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],[3,"organizationId","type","onAuthed",4,"ngIf"],[4,"ngIf"],[3,"organizationId","type","onAuthed"],[1,"modal-body","text-center"],[1,"modal-footer"],["type","button","class","btn btn-primary",3,"click",4,"ngIf"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"text-lg"],["type","button",1,"btn","btn-primary",3,"click"]],template:function(e,t){1&e&&(i.ɵɵelementStart(0,"div",0),i.ɵɵtext(1,"\n "),i.ɵɵelementStart(2,"div",1),i.ɵɵtext(3,"\n "),i.ɵɵelementStart(4,"div",2),i.ɵɵtext(5,"\n "),i.ɵɵelementStart(6,"div",3),i.ɵɵtext(7,"\n "),i.ɵɵelementStart(8,"h2",4),i.ɵɵtext(9),i.ɵɵpipe(10,"i18n"),i.ɵɵelementStart(11,"small"),i.ɵɵtext(12),i.ɵɵpipe(13,"i18n"),i.ɵɵelementEnd(),i.ɵɵtext(14,"\n "),i.ɵɵelementEnd(),i.ɵɵtext(15,"\n "),i.ɵɵelementStart(16,"button",5),i.ɵɵpipe(17,"i18n"),i.ɵɵtext(18,"\n "),i.ɵɵelementStart(19,"span",6),i.ɵɵtext(20,"×"),i.ɵɵelementEnd(),i.ɵɵtext(21,"\n "),i.ɵɵelementEnd(),i.ɵɵtext(22,"\n "),i.ɵɵelementEnd(),i.ɵɵtext(23,"\n "),i.ɵɵtemplate(24,p,2,2,"app-two-factor-verify",7),i.ɵɵtext(25,"\n "),i.ɵɵtemplate(26,h,18,6,"ng-container",8),i.ɵɵtext(27,"\n "),i.ɵɵelementEnd(),i.ɵɵtext(28,"\n "),i.ɵɵelementEnd(),i.ɵɵtext(29,"\n"),i.ɵɵelementEnd(),i.ɵɵtext(30,"\n")),2&e&&(i.ɵɵadvance(9),i.ɵɵtextInterpolate1("\n ",i.ɵɵpipeBind1(10,5,"twoStepLogin"),"\n "),i.ɵɵadvance(3),i.ɵɵtextInterpolate(i.ɵɵpipeBind1(13,7,"recoveryCodeTitle")),i.ɵɵadvance(4),i.ɵɵpropertyInterpolate("appA11yTitle",i.ɵɵpipeBind1(17,9,"close")),i.ɵɵadvance(8),i.ɵɵproperty("ngIf",!t.authed),i.ɵɵadvance(2),i.ɵɵproperty("ngIf",t.authed))},directives:[a.A11yTitleDirective,s.NgIf,l.TwoFactorVerifyComponent],pipes:[c.I18nPipe],encapsulation:2}),e}();t.TwoFactorRecoveryComponent=f},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1&&n.configured)}}function j(e,t){1&e&&(d.ɵɵelementContainerStart(0),d.ɵɵtext(1,"\n "),d.ɵɵelement(2,"i",41),d.ɵɵtext(3,"\n "),d.ɵɵelementContainerEnd())}function R(e,t){1&e&&(d.ɵɵelementContainerStart(0),d.ɵɵtext(1,"\n "),d.ɵɵelement(2,"i",41),d.ɵɵtext(3),d.ɵɵpipe(4,"i18n"),d.ɵɵelementContainerEnd()),2&e&&(d.ɵɵadvance(3),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(4,1,"twoFactorU2fWaiting"),"...\n "))}function U(e,t){1&e&&(d.ɵɵelementContainerStart(0),d.ɵɵtext(1,"\n "),d.ɵɵelement(2,"i",42),d.ɵɵtext(3),d.ɵɵpipe(4,"i18n"),d.ɵɵelementContainerEnd()),2&e&&(d.ɵɵadvance(3),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(4,1,"twoFactorU2fClickSave"),"\n "))}function F(e,t){1&e&&(d.ɵɵelementContainerStart(0),d.ɵɵtext(1,"\n "),d.ɵɵelement(2,"i",43),d.ɵɵtext(3),d.ɵɵpipe(4,"i18n"),d.ɵɵelementContainerEnd()),2&e&&(d.ɵɵadvance(3),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(4,1,"twoFactorU2fProblemReadingTryAgain"),"\n "))}function N(e,t){if(1&e&&(d.ɵɵelementContainerStart(0),d.ɵɵtext(1,"\n "),d.ɵɵtemplate(2,R,5,3,"ng-container",25),d.ɵɵtext(3,"\n "),d.ɵɵtemplate(4,U,5,3,"ng-container",25),d.ɵɵtext(5,"\n "),d.ɵɵtemplate(6,F,5,3,"ng-container",25),d.ɵɵtext(7,"\n "),d.ɵɵelementContainerEnd()),2&e){var n=d.ɵɵnextContext(2);d.ɵɵadvance(2),d.ɵɵproperty("ngIf",n.u2fListening),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",n.u2fResponse),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",n.u2fError)}}function z(e,t){1&e&&(d.ɵɵelement(0,"i",44),d.ɵɵpipe(1,"i18n")),2&e&&d.ɵɵpropertyInterpolate("title",d.ɵɵpipeBind1(1,1,"loading"))}function L(e,t){1&e&&(d.ɵɵelementStart(0,"span"),d.ɵɵtext(1),d.ɵɵpipe(2,"i18n"),d.ɵɵelementEnd()),2&e&&(d.ɵɵadvance(1),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(2,1,"save")))}function G(e,t){if(1&e){var n=d.ɵɵgetCurrentView();d.ɵɵelementStart(0,"button",45,46),d.ɵɵlistener("click",function(){return d.ɵɵrestoreView(n),d.ɵɵnextContext(2).disable()}),d.ɵɵtext(2,"\n "),d.ɵɵelement(3,"i",44),d.ɵɵpipe(4,"i18n"),d.ɵɵtext(5,"\n "),d.ɵɵelementStart(6,"span"),d.ɵɵtext(7),d.ɵɵpipe(8,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(9,"\n "),d.ɵɵelementEnd()}if(2&e){var r=d.ɵɵreference(1),i=d.ɵɵnextContext(2);d.ɵɵproperty("appApiAction",i.disablePromise)("disabled",r.loading),d.ɵɵadvance(3),d.ɵɵpropertyInterpolate("title",d.ɵɵpipeBind1(4,4,"loading")),d.ɵɵadvance(4),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(8,6,"disableAllKeys"))}}function K(e,t){if(1&e){var n=d.ɵɵgetCurrentView();d.ɵɵelementStart(0,"form",10,11),d.ɵɵlistener("ngSubmit",function(){return d.ɵɵrestoreView(n),d.ɵɵnextContext().submit()}),d.ɵɵtext(2,"\n "),d.ɵɵelementStart(3,"div",12),d.ɵɵtext(4,"\n "),d.ɵɵtemplate(5,k,4,6,"app-callout",13),d.ɵɵtext(6,"\n "),d.ɵɵelementStart(7,"app-callout",14),d.ɵɵtext(8,"\n "),d.ɵɵelementStart(9,"p"),d.ɵɵtext(10),d.ɵɵpipe(11,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(12,"\n "),d.ɵɵelementStart(13,"ul",15),d.ɵɵtext(14,"\n "),d.ɵɵelementStart(15,"li"),d.ɵɵtext(16),d.ɵɵpipe(17,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(18,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(19,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(20,"\n "),d.ɵɵelement(21,"img",16),d.ɵɵtext(22,"\n "),d.ɵɵelementStart(23,"ul",17),d.ɵɵtext(24,"\n "),d.ɵɵtemplate(25,V,13,5,"li",18),d.ɵɵtext(26,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(27,"\n "),d.ɵɵelement(28,"hr"),d.ɵɵtext(29,"\n "),d.ɵɵelementStart(30,"p"),d.ɵɵtext(31),d.ɵɵpipe(32,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(33,"\n "),d.ɵɵelementStart(34,"ol"),d.ɵɵtext(35,"\n "),d.ɵɵelementStart(36,"li"),d.ɵɵtext(37),d.ɵɵpipe(38,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(39,"\n "),d.ɵɵelementStart(40,"li"),d.ɵɵtext(41),d.ɵɵpipe(42,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(43,"\n "),d.ɵɵelementStart(44,"li"),d.ɵɵtext(45),d.ɵɵpipe(46,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(47,"\n "),d.ɵɵelementStart(48,"li"),d.ɵɵtext(49),d.ɵɵpipe(50,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(51,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(52,"\n "),d.ɵɵelementStart(53,"div",19),d.ɵɵtext(54,"\n "),d.ɵɵelementStart(55,"div",20),d.ɵɵtext(56,"\n "),d.ɵɵelementStart(57,"label",21),d.ɵɵtext(58),d.ɵɵpipe(59,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(60,"\n "),d.ɵɵelementStart(61,"input",22),d.ɵɵlistener("ngModelChange",function(e){return d.ɵɵrestoreView(n),d.ɵɵnextContext().name=e}),d.ɵɵelementEnd(),d.ɵɵtext(62,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(63,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(64,"\n "),d.ɵɵelementStart(65,"button",23,24),d.ɵɵlistener("click",function(){return d.ɵɵrestoreView(n),d.ɵɵnextContext().readKey()}),d.ɵɵtext(67),d.ɵɵpipe(68,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(69,"\n "),d.ɵɵtemplate(70,j,4,0,"ng-container",25),d.ɵɵtext(71,"\n "),d.ɵɵtemplate(72,N,8,3,"ng-container",25),d.ɵɵtext(73,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(74,"\n "),d.ɵɵelementStart(75,"div",26),d.ɵɵtext(76,"\n "),d.ɵɵelementStart(77,"button",27),d.ɵɵtext(78,"\n "),d.ɵɵtemplate(79,z,2,3,"i",28),d.ɵɵtext(80,"\n "),d.ɵɵtemplate(81,L,3,3,"span",25),d.ɵɵtext(82,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(83,"\n "),d.ɵɵtemplate(84,G,10,8,"button",29),d.ɵɵtext(85,"\n "),d.ɵɵelementStart(86,"button",30),d.ɵɵtext(87),d.ɵɵpipe(88,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(89,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(90,"\n "),d.ɵɵelementEnd()}if(2&e){var r=d.ɵɵreference(1),i=d.ɵɵreference(66),o=d.ɵɵnextContext();d.ɵɵproperty("appApiAction",o.formPromise),d.ɵɵadvance(5),d.ɵɵproperty("ngIf",o.enabled),d.ɵɵadvance(5),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(11,23,"twoFactorU2fWarning")),d.ɵɵadvance(6),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(17,25,"twoFactorU2fSupportWeb")),d.ɵɵadvance(9),d.ɵɵproperty("ngForOf",o.keys),d.ɵɵadvance(6),d.ɵɵtextInterpolate1("",d.ɵɵpipeBind1(32,27,"twoFactorU2fAdd"),":"),d.ɵɵadvance(6),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(38,29,"twoFactorU2fGiveName")),d.ɵɵadvance(4),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(42,31,"twoFactorU2fPlugInReadKey")),d.ɵɵadvance(4),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(46,33,"twoFactorU2fTouchButton")),d.ɵɵadvance(4),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(50,35,"twoFactorU2fSaveForm")),d.ɵɵadvance(9),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(59,37,"name")),d.ɵɵadvance(3),d.ɵɵproperty("ngModel",o.name)("disabled",!o.keyIdAvailable),d.ɵɵadvance(4),d.ɵɵproperty("disabled",i.loading||o.u2fListening||!o.keyIdAvailable)("appApiAction",o.challengePromise),d.ɵɵadvance(2),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(68,39,"readKey"),"\n "),d.ɵɵadvance(3),d.ɵɵproperty("ngIf",i.loading),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",!i.loading),d.ɵɵadvance(5),d.ɵɵproperty("disabled",r.loading||!o.u2fResponse),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",r.loading),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",!r.loading),d.ɵɵadvance(3),d.ɵɵproperty("ngIf",o.enabled),d.ɵɵadvance(3),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(88,41,"close"))}}var q=function(e){function t(t,n,r,i,o,a){var l=e.call(this,t,n,r,i,o)||this;return l.ngZone=a,l.type=s.TwoFactorProviderType.U2f,l.keyIdAvailable=null,l.keysConfiguredCount=0,l.u2fScript=window.document.createElement("script"),l.u2fScript.src="scripts/u2f.js",l.u2fScript.async=!0,l}return i(t,e),t.prototype.ngOnInit=function(){window.document.body.appendChild(this.u2fScript)},t.prototype.ngOnDestroy=function(){window.document.body.removeChild(this.u2fScript)},t.prototype.auth=function(t){e.prototype.auth.call(this,t),this.processResponse(t.response)},t.prototype.submit=function(){var t=this;if(null==this.u2fResponse||null==this.keyIdAvailable)return Promise.reject();var n=new p.UpdateTwoFactorU2fRequest;return n.masterPasswordHash=this.masterPasswordHash,n.deviceResponse=this.u2fResponse,n.id=this.keyIdAvailable,n.name=this.name,e.prototype.enable.call(this,function(){return o(t,void 0,void 0,function(){var e;return a(this,function(t){switch(t.label){case 0:return this.formPromise=this.apiService.putTwoFactorU2f(n),[4,this.formPromise];case 1:return e=t.sent(),[4,this.processResponse(e)];case 2:return t.sent(),[2]}})})})},t.prototype.disable=function(){return e.prototype.disable.call(this,this.formPromise)},t.prototype.remove=function(e){return o(this,void 0,void 0,function(){var t,n,r;return a(this,function(i){switch(i.label){case 0:return this.keysConfiguredCount<=1||null!=e.removePromise?[2]:(t=null!=e.name?e.name:this.i18nService.t("u2fkeyX",e.id),[4,this.platformUtilsService.showDialog(this.i18nService.t("removeU2fConfirmation"),t,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]);case 1:if(!i.sent())return[2];(n=new c.UpdateTwoFactorU2fDeleteRequest).id=e.id,n.masterPasswordHash=this.masterPasswordHash,i.label=2;case 2:return i.trys.push([2,5,,6]),e.removePromise=this.apiService.deleteTwoFactorU2f(n),[4,e.removePromise];case 3:return r=i.sent(),e.removePromise=null,[4,this.processResponse(r)];case 4:return i.sent(),[3,6];case 5:return i.sent(),[3,6];case 6:return[2]}})})},t.prototype.readKey=function(){return o(this,void 0,void 0,function(){var e,t;return a(this,function(n){switch(n.label){case 0:if(null==this.keyIdAvailable)return[2];(e=new l.PasswordVerificationRequest).masterPasswordHash=this.masterPasswordHash,n.label=1;case 1:return n.trys.push([1,3,,4]),this.challengePromise=this.apiService.getTwoFactorU2fChallenge(e),[4,this.challengePromise];case 2:return t=n.sent(),this.readDevice(t),[3,4];case 3:return n.sent(),[3,4];case 4:return[2]}})})},t.prototype.readDevice=function(e){var t=this;console.log("listening for key..."),this.resetU2f(!0),window.u2f.register(e.appId,[{version:e.version,challenge:e.challenge}],[],function(e){t.ngZone.run(function(){if(t.u2fListening=!1,e.errorCode)return t.u2fError=!0,void console.log("error: "+e.errorCode);t.u2fResponse=JSON.stringify(e)})},15)},t.prototype.resetU2f=function(e){void 0===e&&(e=!1),this.u2fResponse=null,this.u2fError=!1,this.u2fListening=e},t.prototype.processResponse=function(e){this.resetU2f(),this.keys=[],this.keyIdAvailable=null,this.name=null,this.keysConfiguredCount=0;for(var t=function(t){if(null!=e.keys){var r=e.keys.filter(function(e){return e.id===t});if(r.length>0)return n.keysConfiguredCount++,n.keys.push({id:t,name:r[0].name,configured:!0,compromised:r[0].compromised,removePromise:null}),"continue"}n.keys.push({id:t,name:null,configured:!1,compromised:!1,removePromise:null}),null==n.keyIdAvailable&&(n.keyIdAvailable=t)},n=this,r=1;r<=5;r++)t(r);this.enabled=e.enabled},t.ɵfac=function(e){return new(e||t)(d.ɵɵdirectiveInject(m.ApiService),d.ɵɵdirectiveInject(h.I18nService),d.ɵɵdirectiveInject(f.Angulartics2),d.ɵɵdirectiveInject(v.ToasterService),d.ɵɵdirectiveInject(y.PlatformUtilsService),d.ɵɵdirectiveInject(d.NgZone))},t.ɵcmp=d.ɵɵdefineComponent({type:t,selectors:[["app-two-factor-u2f"]],features:[d.ɵɵInheritDefinitionFeature],decls:30,vars:8,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","2faU2fTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],[1,"modal-content"],[1,"modal-header"],["id","2faU2fTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],[3,"organizationId","type","onAuthed",4,"ngIf"],["ngNativeValidate","",3,"appApiAction","ngSubmit",4,"ngIf"],[3,"organizationId","type","onAuthed"],["ngNativeValidate","",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-body"],["type","success","icon","fa-check-circle",3,"title",4,"ngIf"],["type","warning"],[1,"mb-0"],["src","images/4.png","alt","",1,"float-right","ml-5"],[1,"fa-ul"],[3,"appApiAction",4,"ngFor","ngForOf"],[1,"row"],[1,"form-group","col-6"],["for","name"],["id","name","type","text","name","Name",1,"form-control",3,"ngModel","disabled","ngModelChange"],["type","button",1,"btn","btn-outline-secondary","mr-2",3,"disabled","appApiAction","click"],["readKeyBtn",""],[4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary",3,"disabled"],["class","fa fa-spinner fa-spin","aria-hidden","true",3,"title",4,"ngIf"],["type","button","class","btn btn-outline-secondary btn-submit",3,"appApiAction","disabled","click",4,"ngIf"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],["type","success","icon","fa-check-circle",3,"title"],[3,"appApiAction"],["removeKeyBtn",""],[1,"fa-li","fa","fa-key"],["aria-hidden","true",1,"fa","fa-fw","fa-exclamation-triangle","text-warning",3,"title"],[1,"sr-only"],["aria-hidden","true",1,"fa","fa-fw","fa-check","text-success",3,"title"],["class","fa fa-spin fa-spinner text-muted fa-fw","aria-hidden","true",3,"title",4,"ngIf"],["href","#","appStopClick","",3,"click"],["aria-hidden","true",1,"fa","fa-spin","fa-spinner","text-muted","fa-fw",3,"title"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted"],["aria-hidden","true",1,"fa","fa-check-circle","text-success"],["aria-hidden","true",1,"fa","fa-warning","text-danger"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button",1,"btn","btn-outline-secondary","btn-submit",3,"appApiAction","disabled","click"],["disableBtn",""]],template:function(e,t){1&e&&(d.ɵɵelementStart(0,"div",0),d.ɵɵtext(1,"\n "),d.ɵɵelementStart(2,"div",1),d.ɵɵtext(3,"\n "),d.ɵɵelementStart(4,"div",2),d.ɵɵtext(5,"\n "),d.ɵɵelementStart(6,"div",3),d.ɵɵtext(7,"\n "),d.ɵɵelementStart(8,"h2",4),d.ɵɵtext(9),d.ɵɵpipe(10,"i18n"),d.ɵɵelementStart(11,"small"),d.ɵɵtext(12,"FIDO U2F"),d.ɵɵelementEnd(),d.ɵɵtext(13,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(14,"\n "),d.ɵɵelementStart(15,"button",5),d.ɵɵpipe(16,"i18n"),d.ɵɵtext(17,"\n "),d.ɵɵelementStart(18,"span",6),d.ɵɵtext(19,"×"),d.ɵɵelementEnd(),d.ɵɵtext(20,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(21,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(22,"\n "),d.ɵɵtemplate(23,P,2,2,"app-two-factor-verify",7),d.ɵɵtext(24,"\n "),d.ɵɵtemplate(25,K,91,43,"form",8),d.ɵɵtext(26,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(27,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(28,"\n"),d.ɵɵelementEnd(),d.ɵɵtext(29,"\n")),2&e&&(d.ɵɵadvance(9),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(10,4,"twoStepLogin"),"\n "),d.ɵɵadvance(6),d.ɵɵpropertyInterpolate("appA11yTitle",d.ɵɵpipeBind1(16,6,"close")),d.ɵɵadvance(8),d.ɵɵproperty("ngIf",!t.authed),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",t.authed))},directives:[g.A11yTitleDirective,x.NgIf,b.TwoFactorVerifyComponent,S.NgControlStatusGroup,S.NgForm,w.ApiActionDirective,C.CalloutComponent,x.NgForOf,S.DefaultValueAccessor,S.NgControlStatus,S.NgModel,I.StopClickDirective],pipes:[E.I18nPipe],encapsulation:2}),t}(u.TwoFactorBaseComponent);t.TwoFactorU2fComponent=q},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?this.keys[0].key:null,n.key2=null!=this.keys&&this.keys.length>1?this.keys[1].key:null,n.key3=null!=this.keys&&this.keys.length>2?this.keys[2].key:null,n.key4=null!=this.keys&&this.keys.length>3?this.keys[3].key:null,n.key5=null!=this.keys&&this.keys.length>4?this.keys[4].key:null,n.nfc=this.nfc,e.prototype.enable.call(this,function(){return o(t,void 0,void 0,function(){var e;return a(this,function(t){switch(t.label){case 0:return this.formPromise=this.apiService.putTwoFactorYubiKey(n),[4,this.formPromise];case 1:return e=t.sent(),[4,this.processResponse(e)];case 2:return t.sent(),this.toasterService.popAsync("success",null,this.i18nService.t("yubikeysUpdated")),[2]}})})})},t.prototype.disable=function(){return e.prototype.disable.call(this,this.disablePromise)},t.prototype.remove=function(e){e.existingKey=null,e.key=null},t.prototype.processResponse=function(e){this.enabled=e.enabled,this.keys=[{key:e.key1,existingKey:this.padRight(e.key1)},{key:e.key2,existingKey:this.padRight(e.key2)},{key:e.key3,existingKey:this.padRight(e.key3)},{key:e.key4,existingKey:this.padRight(e.key4)},{key:e.key5,existingKey:this.padRight(e.key5)}],this.nfc=e.nfc||!e.enabled},t.prototype.padRight=function(e,t,n){if(void 0===t&&(t="•"),void 0===n&&(n=44),null==e||null==t||e.length>=n)return e;for(var r=(n-e.length)/t.length,i=0;i0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&this.viewEvents(n[0]),null!=o&&o.unsubscribe(),[2]}})})}),null!=t&&t.unsubscribe(),[2]}})})})},e.prototype.ngOnDestroy=function(){this.broadcasterService.unsubscribe("OrgVaultComponent")},e.prototype.clearGroupingFilters=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.ciphersComponent.showAddNew=!0,this.ciphersComponent.deleted=!1,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchVault"),[4,this.ciphersComponent.applyFilter()];case 1:return e.sent(),this.clearFilters(),this.go(),[2]}})})},e.prototype.filterCipherType=function(e,t){return void 0===t&&(t=!1),r(this,void 0,void 0,function(){var n;return i(this,function(r){switch(r.label){case 0:return this.ciphersComponent.showAddNew=!0,this.ciphersComponent.deleted=!1,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchType"),n=function(t){return t.type===e},t?[4,this.ciphersComponent.reload(n)]:[3,2];case 1:return r.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(n)];case 3:r.sent(),r.label=4;case 4:return this.clearFilters(),this.type=e,this.go(),[2]}})})},e.prototype.filterCollection=function(e,t){return void 0===t&&(t=!1),r(this,void 0,void 0,function(){var n;return i(this,function(r){switch(r.label){case 0:return this.ciphersComponent.showAddNew=!0,this.ciphersComponent.deleted=!1,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchCollection"),n=function(t){return"unassigned"===e?null==t.collectionIds||0===t.collectionIds.length:null!=t.collectionIds&&t.collectionIds.indexOf(e)>-1},t?[4,this.ciphersComponent.reload(n)]:[3,2];case 1:return r.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(n)];case 3:r.sent(),r.label=4;case 4:return this.clearFilters(),this.collectionId=e,this.go(),[2]}})})},e.prototype.filterDeleted=function(e){return void 0===e&&(e=!1),r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return this.ciphersComponent.showAddNew=!1,this.ciphersComponent.deleted=!0,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchTrash"),e?[4,this.ciphersComponent.reload(null,!0)]:[3,2];case 1:return t.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(null)];case 3:t.sent(),t.label=4;case 4:return this.clearFilters(),this.deleted=!0,this.go(),[2]}})})},e.prototype.filterSearchText=function(e){this.ciphersComponent.searchText=e,this.ciphersComponent.search(200)},e.prototype.editCipherAttachments=function(e){var t=this;if(null!=this.organization.maxStorageGb&&0!==this.organization.maxStorageGb){null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent);this.modal=this.attachmentsModalRef.createComponent(n).instance;var o=this.modal.show(c.AttachmentsComponent,this.attachmentsModalRef);o.organization=this.organization,o.cipherId=e.id;var s=!1;o.onUploadedAttachment.subscribe(function(){return s=!0}),o.onDeletedAttachment.subscribe(function(){return s=!0}),this.modal.onClosed.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal=null,s?[4,this.ciphersComponent.refresh()]:[3,2];case 1:e.sent(),e.label=2;case 2:return s=!1,[2]}})})})}else this.messagingService.send("upgradeOrganization",{organizationId:e.organizationId})},e.prototype.editCipherCollections=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent);this.modal=this.collectionsModalRef.createComponent(n).instance;var o=this.modal.show(u.CollectionsComponent,this.collectionsModalRef);this.organization.canManageAllCollections&&(o.collectionIds=e.collectionIds,o.collections=this.groupingsComponent.collections.filter(function(e){return!e.readOnly})),o.organization=this.organization,o.cipherId=e.id,o.onSavedCollections.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){return this.modal=null,[2]})})})},e.prototype.addCipher=function(){var e=this.editCipher(null);e.organizationId=this.organization.id,e.type=this.type,this.organization.canManageAllCollections&&(e.collections=this.groupingsComponent.collections.filter(function(e){return!e.readOnly})),null!=this.collectionId&&(e.collectionIds=[this.collectionId])},e.prototype.editCipher=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent);this.modal=this.cipherAddEditModalRef.createComponent(n).instance;var o=this.modal.show(l.AddEditComponent,this.cipherAddEditModalRef);return o.organization=this.organization,o.cipherId=null==e?null:e.id,o.onSavedCipher.subscribe(function(e){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),o.onDeletedCipher.subscribe(function(e){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),o.onRestoredCipher.subscribe(function(e){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){t.modal=null}),o},e.prototype.cloneCipher=function(e){var t=this.editCipher(e);t.cloneMode=!0,t.organizationId=this.organization.id,this.organization.canManageAllCollections&&(t.collections=this.groupingsComponent.collections.filter(function(e){return!e.readOnly})),t.collectionIds=e.collectionIds},e.prototype.viewEvents=function(e){return r(this,void 0,void 0,function(){var t,n,r=this;return i(this,function(i){return null!=this.modal&&this.modal.close(),t=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent),this.modal=this.eventsModalRef.createComponent(t).instance,(n=this.modal.show(s.EntityEventsComponent,this.eventsModalRef)).name=e.name,n.organizationId=this.organization.id,n.entityId=e.id,n.showUser=!0,n.entity="cipher",this.modal.onClosed.subscribe(function(){r.modal=null}),[2]})})},e.prototype.clearFilters=function(){this.collectionId=null,this.type=null,this.deleted=!1},e.prototype.go=function(e){void 0===e&&(e=null),null==e&&(e={type:this.type,collectionId:this.collectionId,deleted:!!this.deleted||null}),this.router.navigate([],{relativeTo:this.route,queryParams:e,replaceUrl:!0})},e.ɵfac=function(t){return new(t||e)(m.ɵɵdirectiveInject(h.ActivatedRoute),m.ɵɵdirectiveInject(f.UserService),m.ɵɵdirectiveInject(h.Router),m.ɵɵdirectiveInject(m.ChangeDetectorRef),m.ɵɵdirectiveInject(v.SyncService),m.ɵɵdirectiveInject(y.I18nService),m.ɵɵdirectiveInject(m.ComponentFactoryResolver),m.ɵɵdirectiveInject(g.MessagingService),m.ɵɵdirectiveInject(x.BroadcasterService),m.ɵɵdirectiveInject(m.NgZone))},e.ɵcmp=m.ɵɵdefineComponent({type:e,selectors:[["app-org-vault"]],viewQuery:function(e,t){var n;(1&e&&(m.ɵɵstaticViewQuery(d.GroupingsComponent,!0),m.ɵɵstaticViewQuery(p.CiphersComponent,!0),m.ɵɵstaticViewQuery(P,!0,o.ViewContainerRef),m.ɵɵstaticViewQuery(k,!0,o.ViewContainerRef),m.ɵɵstaticViewQuery(_,!0,o.ViewContainerRef),m.ɵɵstaticViewQuery(A,!0,o.ViewContainerRef)),2&e)&&(m.ɵɵqueryRefresh(n=m.ɵɵloadQuery())&&(t.groupingsComponent=n.first),m.ɵɵqueryRefresh(n=m.ɵɵloadQuery())&&(t.ciphersComponent=n.first),m.ɵɵqueryRefresh(n=m.ɵɵloadQuery())&&(t.attachmentsModalRef=n.first),m.ɵɵqueryRefresh(n=m.ɵɵloadQuery())&&(t.cipherAddEditModalRef=n.first),m.ɵɵqueryRefresh(n=m.ɵɵloadQuery())&&(t.collectionsModalRef=n.first),m.ɵɵqueryRefresh(n=m.ɵɵloadQuery())&&(t.eventsModalRef=n.first))},decls:51,vars:13,consts:[[1,"container","page-content"],[1,"row"],[1,"col-3"],[3,"showFolders","showFavorites","showTrash","onAllClicked","onCipherTypeClicked","onCollectionClicked","onSearchTextChanged","onTrashClicked"],[1,"col-9"],[1,"page-header","d-flex"],[3,"appApiAction"],["actionSpinner",""],[4,"ngIf"],[1,"ml-auto","d-flex"],[3,"ciphersComponent","modal","deleted","organization"],["type","button","class","btn btn-outline-primary btn-sm ml-auto",3,"click",4,"ngIf"],[3,"onCipherClicked","onAttachmentsClicked","onAddCipher","onCollectionsClicked","onEventsClicked","onCloneClicked"],["attachments",""],["cipherAddEdit",""],["collections",""],["eventsTemplate",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["type","button",1,"btn","btn-outline-primary","btn-sm","ml-auto",3,"click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"]],template:function(e,t){if(1&e&&(m.ɵɵelementStart(0,"div",0),m.ɵɵtext(1,"\n "),m.ɵɵelementStart(2,"div",1),m.ɵɵtext(3,"\n "),m.ɵɵelementStart(4,"div",2),m.ɵɵtext(5,"\n "),m.ɵɵelementStart(6,"app-org-vault-groupings",3),m.ɵɵlistener("onAllClicked",function(){return t.clearGroupingFilters()})("onCipherTypeClicked",function(e){return t.filterCipherType(e)})("onCollectionClicked",function(e){return t.filterCollection(e.id)})("onSearchTextChanged",function(e){return t.filterSearchText(e)})("onTrashClicked",function(){return t.filterDeleted()}),m.ɵɵtext(7,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(8,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(9,"\n "),m.ɵɵelementStart(10,"div",4),m.ɵɵtext(11,"\n "),m.ɵɵelementStart(12,"div",5),m.ɵɵtext(13,"\n "),m.ɵɵelementStart(14,"h1"),m.ɵɵtext(15),m.ɵɵpipe(16,"i18n"),m.ɵɵelementStart(17,"small",6,7),m.ɵɵtext(19,"\n "),m.ɵɵtemplate(20,O,9,6,"ng-container",8),m.ɵɵtext(21,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(22,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(23,"\n "),m.ɵɵelementStart(24,"div",9),m.ɵɵtext(25,"\n "),m.ɵɵelementStart(26,"app-vault-bulk-actions",10),m.ɵɵtext(27,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(28,"\n "),m.ɵɵtemplate(29,T,5,3,"button",11),m.ɵɵtext(30,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(31,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(32,"\n "),m.ɵɵelementStart(33,"app-org-vault-ciphers",12),m.ɵɵlistener("onCipherClicked",function(e){return t.editCipher(e)})("onAttachmentsClicked",function(e){return t.editCipherAttachments(e)})("onAddCipher",function(){return t.addCipher()})("onCollectionsClicked",function(e){return t.editCipherCollections(e)})("onEventsClicked",function(e){return t.viewEvents(e)})("onCloneClicked",function(e){return t.cloneCipher(e)}),m.ɵɵtext(34,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(35,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(36,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(37,"\n"),m.ɵɵelementEnd(),m.ɵɵtext(38,"\n"),m.ɵɵtemplate(39,M,0,0,"ng-template",null,13,m.ɵɵtemplateRefExtractor),m.ɵɵtext(41,"\n"),m.ɵɵtemplate(42,B,0,0,"ng-template",null,14,m.ɵɵtemplateRefExtractor),m.ɵɵtext(44,"\n"),m.ɵɵtemplate(45,D,0,0,"ng-template",null,15,m.ɵɵtemplateRefExtractor),m.ɵɵtext(47,"\n"),m.ɵɵtemplate(48,V,0,0,"ng-template",null,16,m.ɵɵtemplateRefExtractor),m.ɵɵtext(50,"\n")),2&e){var n=m.ɵɵreference(18);m.ɵɵadvance(6),m.ɵɵproperty("showFolders",!1)("showFavorites",!1)("showTrash",!0),m.ɵɵadvance(9),m.ɵɵtextInterpolate1("\n ",m.ɵɵpipeBind1(16,11,"vault"),"\n "),m.ɵɵadvance(2),m.ɵɵproperty("appApiAction",t.ciphersComponent.actionPromise),m.ɵɵadvance(3),m.ɵɵproperty("ngIf",n.loading),m.ɵɵadvance(6),m.ɵɵproperty("ciphersComponent",t.ciphersComponent)("modal",t.modal)("deleted",t.deleted)("organization",t.organization),m.ɵɵadvance(3),m.ɵɵproperty("ngIf",!t.deleted)}},directives:[b.GroupingsComponent,S.ApiActionDirective,w.NgIf,C.BulkActionsComponent,I.CiphersComponent],pipes:[E.I18nPipe],encapsulation:2}),e}();t.VaultComponent=j},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(this.organizationId=this.organizations[0].id),this.filterCollections(),[2]}})})},e.prototype.ngOnDestroy=function(){this.selectAll(!1)},e.prototype.filterCollections=function(){var e=this;this.selectAll(!1),null==this.organizationId||0===this.writeableCollections.length?this.collections=[]:this.collections=this.writeableCollections.filter(function(t){return t.organizationId===e.organizationId})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:e=this.collections.filter(function(e){return e.checked}).map(function(e){return e.id}),t.label=1;case 1:return t.trys.push([1,3,,4]),this.formPromise=this.cipherService.shareManyWithServer(this.shareableCiphers,this.organizationId,e),[4,this.formPromise];case 2:return t.sent(),this.onShared.emit(),this.analytics.eventTrack.next({action:"Bulk Shared Items"}),this.toasterService.popAsync("success",null,this.i18nService.t("sharedItems")),[3,4];case 3:return t.sent(),[3,4];case 4:return[2]}})})},e.prototype.check=function(e,t){e.checked=null==t?!e.checked:t},e.prototype.selectAll=function(e){var t=this;(e?this.collections:this.writeableCollections).forEach(function(n){return t.check(n,e)})},Object.defineProperty(e.prototype,"canSave",{get:function(){if(null!=this.shareableCiphers&&this.shareableCiphers.length>0&&null!=this.collections)for(var e=0;e0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]104857600)return this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("maxFileSize")),[2]}return this.editMode||(r=new Date,this.deletionDateSelect>0&&((o=new Date).setHours(r.getHours()+this.deletionDateSelect),this.deletionDate=this.dateToString(o)),null!=this.expirationDateSelect&&this.expirationDateSelect>0&&((o=new Date).setHours(r.getHours()+this.expirationDateSelect),this.expirationDate=this.dateToString(o))),[4,this.encryptSend(e)];case 1:a=i.sent(),i.label=2;case 2:return i.trys.push([2,4,,5]),this.formPromise=this.sendService.saveWithServer(a),[4,this.formPromise];case 3:return i.sent(),this.send.id=a[0].id,this.platformUtilsService.showToast("success",null,this.i18nService.t(this.editMode?"editedSend":"createdSend")),this.onSavedSend.emit(this.send),[2,!0];case 4:return i.sent(),[3,5];case 5:return[2,!1]}})})},e.prototype.clearExpiration=function(){this.expirationDate=null},e.prototype.delete=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return null!=this.deletePromise?[2]:[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteSendConfirmation"),this.i18nService.t("deleteSend"),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,5,,6]),this.deletePromise=this.sendService.deleteWithServer(this.send.id),[4,this.deletePromise];case 3:return e.sent(),this.platformUtilsService.showToast("success",null,this.i18nService.t("deletedSend")),[4,this.load()];case 4:return e.sent(),this.onDeletedSend.emit(this.send),[3,6];case 5:return e.sent(),[3,6];case 6:return[2]}})})},e.prototype.typeChanged=function(){this.canAccessPremium||this.send.type!==s.SendType.File||this.premiumRequiredAlertShown||(this.premiumRequiredAlertShown=!0,this.messagingService.send("premiumRequired"))},e.prototype.loadSend=function(){return r(this,void 0,void 0,function(){return i(this,function(e){return[2,this.sendService.get(this.sendId)]})})},e.prototype.encryptSend=function(e){return r(this,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return[4,this.sendService.encrypt(this.send,e,this.password,null)];case 1:t=n.sent();try{t[0].deletionDate=null==this.deletionDate?null:new Date(this.deletionDate)}catch(r){t[0].deletionDate=null}try{t[0].expirationDate=null==this.expirationDate?null:new Date(this.expirationDate)}catch(i){t[0].expirationDate=null}return[2,t]}})})},e.prototype.dateToString=function(e){return null==e?null:this.datePipe.transform(e,"yyyy-MM-ddTHH:mm")},e.ɵfac=function(t){return new(t||e)(u.ɵɵdirectiveInject(d.I18nService),u.ɵɵdirectiveInject(m.PlatformUtilsService),u.ɵɵdirectiveInject(h.EnvironmentService),u.ɵɵdirectiveInject(f.DatePipe),u.ɵɵdirectiveInject(v.SendService),u.ɵɵdirectiveInject(y.UserService),u.ɵɵdirectiveInject(g.MessagingService))},e.ɵcmp=u.ɵɵdefineComponent({type:e,selectors:[["app-send-add-edit"]],inputs:{sendId:"sendId",type:"type"},outputs:{onSavedSend:"onSavedSend",onDeletedSend:"onDeletedSend",onCancelled:"onCancelled"},decls:44,vars:17,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","sendAddEditTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],["ngNativeValidate","","autocomplete","off",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","sendAddEditTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],["class","ml-auto",4,"ngIf"],[1,"modal-body"],["class","row",4,"ngIf"],[1,"row"],[1,"col-6","form-group"],["for","name"],["id","name","type","text","name","Name","required","",1,"form-control",3,"ngModel","ngModelChange"],[4,"ngIf"],[1,"mt-5"],["for","deletionDate"],[1,"form-text","text-muted","small"],[1,"d-flex"],["for","expirationDate"],["href","#","appStopClick","","class","ml-auto",3,"click",4,"ngIf"],["for","maxAccessCount"],["id","maxAccessCount","type","number","name","MaxAccessCount","min","1",1,"form-control",3,"ngModel","ngModelChange"],["class","col-6 form-group",4,"ngIf"],["for","password",4,"ngIf"],["id","password","type","password","name","Password",1,"form-control",3,"ngModel","ngModelChange"],[1,"form-group"],["for","notes"],["id","notes","name","Notes","rows","6",1,"form-control",3,"ngModel","ngModelChange"],[1,"form-check"],["type","checkbox","id","disabled","name","Disabled",1,"form-check-input",3,"ngModel","ngModelChange"],["for","disabled",1,"form-check-label"],["class","mt-5",4,"ngIf"],["class","form-group",4,"ngIf"],["for","type"],["id","type","name","Type","appAutofocus","",1,"form-control",3,"ngModel","ngModelChange","change"],[3,"ngValue",4,"ngFor","ngForOf"],[3,"ngValue"],["for","text"],["id","text","name","Text.Text","rows","6",1,"form-control",3,"ngModel","ngModelChange"],["type","checkbox","id","text-hidden","name","Text.Hidden",1,"form-check-input",3,"ngModel","ngModelChange"],["for","text-hidden",1,"form-check-label"],[1,"d-block"],["for","file"],["type","file","id","file","name","file","required","",1,"form-control-file"],[1,"form-text","text-muted"],["id","deletionDate","name","DeletionDateSelect","required","",1,"form-control",3,"ngModel","ngModelChange"],["id","deletionDateCustom","class","form-control mt-1","type","datetime-local","name","DeletionDate","required","","placeholder","MM/DD/YYYY HH:MM AM/PM",3,"ngModel","ngModelChange",4,"ngIf"],["id","deletionDateCustom","type","datetime-local","name","DeletionDate","required","","placeholder","MM/DD/YYYY HH:MM AM/PM",1,"form-control","mt-1",3,"ngModel","ngModelChange"],["id","deletionDate","type","datetime-local","name","DeletionDate","required","","placeholder","MM/DD/YYYY HH:MM AM/PM",1,"form-control",3,"ngModel","ngModelChange"],["href","#","appStopClick","",1,"ml-auto",3,"click"],["id","expirationDate","name","ExpirationDateSelect","required","",1,"form-control",3,"ngModel","ngModelChange"],["id","expirationDateCustom","class","form-control mt-1","type","datetime-local","name","ExpirationDate","required","","placeholder","MM/DD/YYYY HH:MM AM/PM",3,"ngModel","ngModelChange",4,"ngIf"],["id","expirationDateCustom","type","datetime-local","name","ExpirationDate","required","","placeholder","MM/DD/YYYY HH:MM AM/PM",1,"form-control","mt-1",3,"ngModel","ngModelChange"],["id","expirationDate","type","datetime-local","name","ExpirationDate","placeholder","MM/DD/YYYY HH:MM AM/PM",1,"form-control",3,"ngModel","ngModelChange"],["for","accessCount"],["id","accessCount","type","number","name","AccessCount","readonly","",1,"form-control",3,"ngModel","ngModelChange"],["for","password"],["for","link"],["type","text","readonly","","id","link","name","Link",1,"form-control",3,"ngModel","ngModelChange"],[1,"ml-auto"],["type","button","class","btn btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click",4,"ngIf"],["type","button",1,"btn","btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click"],["deleteBtn",""],["aria-hidden","true",1,"fa","fa-trash-o","fa-lg","fa-fw",3,"hidden"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","fa-lg","fa-fw",3,"hidden","title"]],template:function(e,t){if(1&e&&(u.ɵɵelementStart(0,"div",0),u.ɵɵtext(1,"\n "),u.ɵɵelementStart(2,"div",1),u.ɵɵtext(3,"\n "),u.ɵɵelementStart(4,"form",2,3),u.ɵɵlistener("ngSubmit",function(){return t.submit()}),u.ɵɵtext(6,"\n "),u.ɵɵelementStart(7,"div",4),u.ɵɵtext(8,"\n "),u.ɵɵelementStart(9,"h2",5),u.ɵɵtext(10),u.ɵɵelementEnd(),u.ɵɵtext(11,"\n "),u.ɵɵelementStart(12,"button",6),u.ɵɵpipe(13,"i18n"),u.ɵɵtext(14,"\n "),u.ɵɵelementStart(15,"span",7),u.ɵɵtext(16,"×"),u.ɵɵelementEnd(),u.ɵɵtext(17,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(18,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(19,"\n "),u.ɵɵtemplate(20,q,127,54,"div",8),u.ɵɵtext(21,"\n "),u.ɵɵelementStart(22,"div",9),u.ɵɵtext(23,"\n "),u.ɵɵelementStart(24,"button",10),u.ɵɵtext(25,"\n "),u.ɵɵelement(26,"i",11),u.ɵɵpipe(27,"i18n"),u.ɵɵtext(28,"\n "),u.ɵɵelementStart(29,"span"),u.ɵɵtext(30),u.ɵɵpipe(31,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(32,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(33,"\n "),u.ɵɵelementStart(34,"button",12),u.ɵɵtext(35),u.ɵɵpipe(36,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(37,"\n "),u.ɵɵtemplate(38,W,4,1,"div",13),u.ɵɵtext(39,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(40,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(41,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(42,"\n"),u.ɵɵelementEnd(),u.ɵɵtext(43,"\n")),2&e){var n=u.ɵɵreference(5);u.ɵɵadvance(4),u.ɵɵproperty("appApiAction",t.formPromise),u.ɵɵadvance(6),u.ɵɵtextInterpolate(t.title),u.ɵɵadvance(2),u.ɵɵpropertyInterpolate("appA11yTitle",u.ɵɵpipeBind1(13,9,"close")),u.ɵɵadvance(8),u.ɵɵproperty("ngIf",t.send),u.ɵɵadvance(4),u.ɵɵproperty("disabled",n.loading),u.ɵɵadvance(2),u.ɵɵpropertyInterpolate("title",u.ɵɵpipeBind1(27,11,"loading")),u.ɵɵadvance(4),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(31,13,"save")),u.ɵɵadvance(5),u.ɵɵtextInterpolate1("\n ",u.ɵɵpipeBind1(36,15,"cancel"),"\n "),u.ɵɵadvance(3),u.ɵɵproperty("ngIf",t.send)}},directives:[x.NgControlStatusGroup,x.NgForm,b.ApiActionDirective,S.A11yTitleDirective,f.NgIf,x.DefaultValueAccessor,x.RequiredValidator,x.NgControlStatus,x.NgModel,x.NumberValueAccessor,x.CheckboxControlValueAccessor,x.SelectControlValueAccessor,w.AutofocusDirective,f.NgForOf,x.NgSelectOption,x.ɵangular_packages_forms_forms_x,C.StopClickDirective],pipes:[I.I18nPipe],encapsulation:2}),e}();t.AddEditComponent=$},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(34),i=n(292),o=n(293),a=function(){function e(e){this.id=null,this.accessId=null,this.name=null,this.notes=null,this.type=null,this.text=new o.SendTextView,this.file=new i.SendFileView,this.maxAccessCount=null,this.accessCount=0,this.revisionDate=null,this.deletionDate=null,this.expirationDate=null,this.password=null,this.disabled=!1,e&&(this.id=e.id,this.accessId=e.accessId,this.type=e.type,this.maxAccessCount=e.maxAccessCount,this.accessCount=e.accessCount,this.revisionDate=e.revisionDate,this.deletionDate=e.deletionDate,this.expirationDate=e.expirationDate,this.disabled=e.disabled,this.password=e.password)}return Object.defineProperty(e.prototype,"urlB64Key",{get:function(){return r.Utils.fromBufferToUrlB64(this.key)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"maxAccessCountReached",{get:function(){return null!=this.maxAccessCount&&this.accessCount>=this.maxAccessCount},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"expired",{get:function(){return null!=this.expirationDate&&this.expirationDate<=new Date},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"pendingDelete",{get:function(){return this.deletionDate<=new Date},enumerable:!0,configurable:!0}),e}();t.SendView=a},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0),f.ɵɵadvance(2),f.ɵɵproperty("ngIf",(null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.minLength)>0),f.ɵɵadvance(2),f.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireUpper),f.ɵɵadvance(2),f.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireLower),f.ɵɵadvance(2),f.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireNumbers),f.ɵɵadvance(2),f.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireSpecial)}}var L=function(e){function t(t,n,r,i,o,a,s,l,c,p,u){var d=e.call(this,t,n,r,i,o,a,s)||this;return d.folderService=l,d.cipherService=c,d.syncService=p,d.apiService=u,d.rotateEncKey=!1,d}return i(t,e),t.prototype.rotateEncKeyClicked=function(){return o(this,void 0,void 0,function(){var e,t,n;return a(this,function(r){switch(r.label){case 0:return this.rotateEncKey?[4,this.cipherService.getAllDecrypted()]:[3,5];case 1:if(e=r.sent(),t=!1,null!=e)for(n=0;n0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0),a.ɵɵadvance(2),a.ɵɵproperty("disabled",n.loading),a.ɵɵadvance(2),a.ɵɵpropertyInterpolate("title",a.ɵɵpipeBind1(43,27,"loading")),a.ɵɵadvance(4),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(47,29,"save"))}},directives:[u.NgControlStatusGroup,u.NgForm,d.ApiActionDirective,m.NgIf,m.NgForOf,u.DefaultValueAccessor,u.RequiredValidator,u.NgControlStatus,u.NgModel,h.A11yTitleDirective,m.NgClass,f.StopClickDirective],pipes:[v.I18nPipe],encapsulation:2}),e}();t.DomainRulesComponent=P},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1?"×"+n.quantity:""," @ ",o.ɵɵpipeBind2(4,5,n.amount,"$"),"\n "),o.ɵɵadvance(4),o.ɵɵtextInterpolate2("\n ",o.ɵɵpipeBind2(8,8,n.quantity*n.amount,"$")," /",o.ɵɵpipeBind1(9,11,n.interval),"\n ")}}function A(e,t){if(1&e&&(o.ɵɵelementStart(0,"div",16),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"strong",17),o.ɵɵtext(3),o.ɵɵpipe(4,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(5,"\n "),o.ɵɵelementStart(6,"table",18),o.ɵɵtext(7,"\n "),o.ɵɵelementStart(8,"tbody"),o.ɵɵtext(9,"\n "),o.ɵɵtemplate(10,_,11,13,"tr",19),o.ɵɵtext(11,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(12,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(13,"\n "),o.ɵɵelementEnd()),2&e){var n=o.ɵɵnextContext(3);o.ɵɵadvance(3),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(4,2,"details")),o.ɵɵadvance(7),o.ɵɵproperty("ngForOf",n.subscription.items)}}function O(e,t){if(1&e&&(o.ɵɵelementStart(0,"div",10),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"div",11),o.ɵɵtext(3,"\n "),o.ɵɵelementStart(4,"dl"),o.ɵɵtext(5,"\n "),o.ɵɵelementStart(6,"dt"),o.ɵɵtext(7),o.ɵɵpipe(8,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(9,"\n "),o.ɵɵelementStart(10,"dd"),o.ɵɵtext(11,"\n "),o.ɵɵelementStart(12,"span",12),o.ɵɵtext(13),o.ɵɵelementEnd(),o.ɵɵtext(14,"\n "),o.ɵɵtemplate(15,k,3,3,"span",13),o.ɵɵtext(16,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(17,"\n "),o.ɵɵelementStart(18,"dt"),o.ɵɵtext(19),o.ɵɵpipe(20,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(21,"\n "),o.ɵɵelementStart(22,"dd"),o.ɵɵtext(23),o.ɵɵpipe(24,"date"),o.ɵɵpipe(25,"currency"),o.ɵɵelementEnd(),o.ɵɵtext(26,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(27,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(28,"\n "),o.ɵɵtemplate(29,A,14,4,"div",14),o.ɵɵtext(30,"\n "),o.ɵɵelementEnd()),2&e){var n=o.ɵɵnextContext(2);o.ɵɵadvance(7),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(8,6,"status")),o.ɵɵadvance(6),o.ɵɵtextInterpolate(n.subscription&&n.subscription.status||"-"),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.subscriptionMarkedForCancel),o.ɵɵadvance(4),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(20,8,"nextCharge")),o.ɵɵadvance(4),o.ɵɵtextInterpolate1("",n.nextInvoice?o.ɵɵpipeBind2(24,10,n.nextInvoice.date,"mediumDate")+", "+o.ɵɵpipeBind2(25,13,n.nextInvoice.amount,"$"):"-","\n "),o.ɵɵadvance(6),o.ɵɵproperty("ngIf",n.subscription)}}function T(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"div",23),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"div",24),o.ɵɵtext(3,"\n "),o.ɵɵelementStart(4,"button",25),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(3).closeUpdateLicense(!1)}),o.ɵɵpipe(5,"i18n"),o.ɵɵelementStart(6,"span",26),o.ɵɵtext(7,"×"),o.ɵɵelementEnd(),o.ɵɵelementEnd(),o.ɵɵtext(8,"\n "),o.ɵɵelementStart(9,"h3",27),o.ɵɵtext(10),o.ɵɵpipe(11,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(12,"\n "),o.ɵɵelementStart(13,"app-update-license",28),o.ɵɵlistener("onUpdated",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(3).closeUpdateLicense(!0)})("onCanceled",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(3).closeUpdateLicense(!1)}),o.ɵɵtext(14,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(15,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(16,"\n "),o.ɵɵelementEnd()}2&e&&(o.ɵɵadvance(4),o.ɵɵpropertyInterpolate("appA11yTitle",o.ɵɵpipeBind1(5,2,"cancel")),o.ɵɵadvance(6),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(11,4,"updateLicense")))}function M(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementContainerStart(0),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"div"),o.ɵɵtext(3,"\n "),o.ɵɵelementStart(4,"button",20),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(2).updateLicense()}),o.ɵɵtext(5),o.ɵɵpipe(6,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(7,"\n "),o.ɵɵelementStart(8,"a",21),o.ɵɵtext(9),o.ɵɵpipe(10,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(11,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(12,"\n "),o.ɵɵtemplate(13,T,17,6,"div",22),o.ɵɵtext(14,"\n "),o.ɵɵelementContainerEnd()}if(2&e){var r=o.ɵɵnextContext(2);o.ɵɵadvance(5),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(6,3,"updateLicense"),"\n "),o.ɵɵadvance(4),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(10,5,"manageSubscription"),"\n "),o.ɵɵadvance(4),o.ɵɵproperty("ngIf",r.showUpdateLicense)}}function B(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"button",20),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(3).downloadLicense()}),o.ɵɵtext(1),o.ɵɵpipe(2,"i18n"),o.ɵɵelementEnd()}2&e&&(o.ɵɵadvance(1),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(2,1,"downloadLicense"),"\n "))}function D(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"button",35,36),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(3).cancel()}),o.ɵɵtext(2,"\n "),o.ɵɵelement(3,"i",9),o.ɵɵpipe(4,"i18n"),o.ɵɵtext(5,"\n "),o.ɵɵelementStart(6,"span"),o.ɵɵtext(7),o.ɵɵpipe(8,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(9,"\n "),o.ɵɵelementEnd()}if(2&e){var r=o.ɵɵreference(1),i=o.ɵɵnextContext(3);o.ɵɵproperty("appApiAction",i.cancelPromise)("disabled",r.loading),o.ɵɵadvance(3),o.ɵɵpropertyInterpolate("title",o.ɵɵpipeBind1(4,4,"loading")),o.ɵɵadvance(4),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(8,6,"cancelSubscription"))}}function V(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"div",29),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"button",20),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(4).adjustStorage(!0)}),o.ɵɵtext(3),o.ɵɵpipe(4,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(5,"\n "),o.ɵɵelementStart(6,"button",40),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(4).adjustStorage(!1)}),o.ɵɵtext(7),o.ɵɵpipe(8,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(9,"\n "),o.ɵɵelementEnd()}2&e&&(o.ɵɵadvance(3),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(4,2,"addStorage"),"\n "),o.ɵɵadvance(4),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(8,4,"removeStorage"),"\n "))}function j(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"app-adjust-storage",41),o.ɵɵlistener("onAdjusted",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(4).closeStorage(!0)})("onCanceled",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(4).closeStorage(!1)}),o.ɵɵelementEnd()}if(2&e){var r=o.ɵɵnextContext(4);o.ɵɵproperty("storageGbPrice",4)("add",r.adjustStorageAdd)}}function R(e,t){if(1&e&&(o.ɵɵelementContainerStart(0),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"div",37),o.ɵɵtext(3,"\n "),o.ɵɵtemplate(4,V,10,6,"div",38),o.ɵɵtext(5,"\n "),o.ɵɵtemplate(6,j,1,2,"app-adjust-storage",39),o.ɵɵtext(7,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(8,"\n "),o.ɵɵelementContainerEnd()),2&e){var n=o.ɵɵnextContext(3);o.ɵɵadvance(4),o.ɵɵproperty("ngIf",!n.showAdjustStorage),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.showAdjustStorage)}}var U=function(e){return{width:e}};function F(e,t){if(1&e&&(o.ɵɵelementContainerStart(0),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"div",29),o.ɵɵtext(3,"\n "),o.ɵɵtemplate(4,B,3,3,"button",30),o.ɵɵtext(5,"\n "),o.ɵɵtemplate(6,D,10,8,"button",31),o.ɵɵtext(7,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(8,"\n "),o.ɵɵelementStart(9,"h2",32),o.ɵɵtext(10),o.ɵɵpipe(11,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(12,"\n "),o.ɵɵelementStart(13,"p"),o.ɵɵtext(14),o.ɵɵpipe(15,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(16,"\n "),o.ɵɵelementStart(17,"div",33),o.ɵɵtext(18,"\n "),o.ɵɵelementStart(19,"div",34),o.ɵɵtext(20),o.ɵɵpipe(21,"percent"),o.ɵɵelementEnd(),o.ɵɵtext(22,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(23,"\n "),o.ɵɵtemplate(24,R,9,2,"ng-container",1),o.ɵɵtext(25,"\n "),o.ɵɵelementContainerEnd()),2&e){var n=o.ɵɵnextContext(2);o.ɵɵadvance(4),o.ɵɵproperty("ngIf",!n.subscription||!n.subscription.cancelled),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.subscription&&!n.subscription.cancelled&&!n.subscriptionMarkedForCancel),o.ɵɵadvance(4),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(11,8,"storage")),o.ɵɵadvance(4),o.ɵɵtextInterpolate(o.ɵɵpipeBind3(15,10,"subscriptionStorage",n.sub.maxStorageGb||0,n.sub.storageName||"0 MB")),o.ɵɵadvance(5),o.ɵɵproperty("ngStyle",o.ɵɵpureFunction1(16,U,n.storageProgressWidth+"%")),o.ɵɵattribute("aria-valuenow",n.storagePercentage),o.ɵɵadvance(1),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(21,14,n.storagePercentage/100),""),o.ɵɵadvance(4),o.ɵɵproperty("ngIf",n.subscription&&!n.subscription.cancelled&&!n.subscriptionMarkedForCancel)}}function N(e,t){if(1&e&&(o.ɵɵelementContainerStart(0),o.ɵɵtext(1,"\n "),o.ɵɵtemplate(2,w,4,6,"app-callout",4),o.ɵɵtext(3,"\n "),o.ɵɵtemplate(4,C,18,14,"app-callout",4),o.ɵɵtext(5,"\n "),o.ɵɵtemplate(6,P,10,5,"dl",1),o.ɵɵtext(7,"\n "),o.ɵɵtemplate(8,O,31,16,"div",5),o.ɵɵtext(9,"\n "),o.ɵɵtemplate(10,M,15,7,"ng-container",1),o.ɵɵtext(11,"\n "),o.ɵɵtemplate(12,F,26,18,"ng-container",1),o.ɵɵtext(13,"\n"),o.ɵɵelementContainerEnd()),2&e){var n=o.ɵɵnextContext();o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.subscription&&n.subscription.cancelled),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.subscriptionMarkedForCancel),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.selfHosted),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",!n.selfHosted),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.selfHosted),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",!n.selfHosted)}}var z=function(){function e(e,t,n,r,i,o,a){this.tokenService=e,this.apiService=t,this.platformUtilsService=n,this.i18nService=r,this.analytics=i,this.toasterService=o,this.router=a,this.loading=!1,this.firstLoaded=!1,this.adjustStorageAdd=!0,this.showAdjustStorage=!1,this.showUpdateLicense=!1,this.selfHosted=!1,this.selfHosted=n.isSelfHost()}return e.prototype.ngOnInit=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.load()];case 1:return e.sent(),this.firstLoaded=!0,[2]}})})},e.prototype.load=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return this.loading?[2]:this.tokenService.getPremium()?(this.loading=!0,e=this,[4,this.apiService.getUserSubscription()]):[3,2];case 1:return e.sub=t.sent(),[3,3];case 2:return this.router.navigate(["/settings/premium"]),[2];case 3:return this.loading=!1,[2]}})})},e.prototype.reinstate=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.loading?[2]:this.usingInAppPurchase?(this.platformUtilsService.showDialog(this.i18nService.t("manageSubscriptionFromStore"),this.i18nService.t("cancelSubscription"),null,null,"warning"),[2]):[4,this.platformUtilsService.showDialog(this.i18nService.t("reinstateConfirmation"),this.i18nService.t("reinstateSubscription"),this.i18nService.t("yes"),this.i18nService.t("cancel"))];case 1:if(!e.sent())return[2];e.label=2;case 2:return e.trys.push([2,4,,5]),this.reinstatePromise=this.apiService.postReinstatePremium(),[4,this.reinstatePromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Reinstated Premium"}),this.toasterService.popAsync("success",null,this.i18nService.t("reinstated")),this.load(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},e.prototype.cancel=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.loading?[2]:this.usingInAppPurchase?(this.platformUtilsService.showDialog(this.i18nService.t("manageSubscriptionFromStore"),this.i18nService.t("cancelSubscription"),null,null,"warning"),[2]):[4,this.platformUtilsService.showDialog(this.i18nService.t("cancelConfirmation"),this.i18nService.t("cancelSubscription"),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.cancelPromise=this.apiService.postCancelPremium(),[4,this.cancelPromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Canceled Premium"}),this.toasterService.popAsync("success",null,this.i18nService.t("canceledSubscription")),this.load(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},e.prototype.downloadLicense=function(){if(!this.loading){var e=JSON.stringify(this.sub.license,null,2);this.platformUtilsService.saveFile(window,e,null,"bitwarden_premium_license.json")}},e.prototype.updateLicense=function(){this.loading||(this.showUpdateLicense=!0)},e.prototype.closeUpdateLicense=function(e){this.showUpdateLicense=!1,e&&this.load()},e.prototype.adjustStorage=function(e){this.usingInAppPurchase?this.platformUtilsService.showDialog(this.i18nService.t("cannotPerformInAppPurchase"),this.i18nService.t(e?"addStorage":"removeStorage"),null,null,"warning"):(this.adjustStorageAdd=e,this.showAdjustStorage=!0)},e.prototype.closeStorage=function(e){this.showAdjustStorage=!1,e&&this.load()},Object.defineProperty(e.prototype,"subscriptionMarkedForCancel",{get:function(){return null!=this.subscription&&!this.subscription.cancelled&&this.subscription.cancelAtEndDate},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"subscription",{get:function(){return null!=this.sub?this.sub.subscription:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"nextInvoice",{get:function(){return null!=this.sub?this.sub.upcomingInvoice:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"storagePercentage",{get:function(){return null!=this.sub&&this.sub.maxStorageGb?+(this.sub.storageGb/this.sub.maxStorageGb*100).toFixed(2):0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"storageProgressWidth",{get:function(){return this.storagePercentage<5?5:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"usingInAppPurchase",{get:function(){return null!=this.sub&&this.sub.usingInAppPurchase},enumerable:!0,configurable:!0}),e.ɵfac=function(t){return new(t||e)(o.ɵɵdirectiveInject(a.TokenService),o.ɵɵdirectiveInject(s.ApiService),o.ɵɵdirectiveInject(l.PlatformUtilsService),o.ɵɵdirectiveInject(c.I18nService),o.ɵɵdirectiveInject(p.Angulartics2),o.ɵɵdirectiveInject(u.ToasterService),o.ɵɵdirectiveInject(d.Router))},e.ɵcmp=o.ɵɵdefineComponent({type:e,selectors:[["app-user-subscription"]],decls:13,vars:6,consts:[[1,"page-header"],[4,"ngIf"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["type","warning",3,"title",4,"ngIf"],["class","row",4,"ngIf"],["type","warning",3,"title"],["type","button",1,"btn","btn-outline-secondary","btn-submit",3,"appApiAction","disabled","click"],["reinstateBtn",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],[1,"row"],[1,"col-4"],[1,"text-capitalize"],["class","badge badge-warning",4,"ngIf"],["class","col-8",4,"ngIf"],[1,"badge","badge-warning"],[1,"col-8"],[1,"d-block","mb-1"],[1,"table"],[4,"ngFor","ngForOf"],["type","button",1,"btn","btn-outline-secondary",3,"click"],["href","https://vault.bitwarden.com/#/settings/subscription","target","_blank","rel","noopener",1,"btn","btn-outline-secondary"],["class","card mt-3",4,"ngIf"],[1,"card","mt-3"],[1,"card-body"],["type","button",1,"close",3,"appA11yTitle","click"],["aria-hidden","true"],[1,"card-body-header"],[3,"onUpdated","onCanceled"],[1,"d-flex"],["type","button","class","btn btn-outline-secondary",3,"click",4,"ngIf"],["type","button","class","btn btn-outline-danger btn-submit ml-auto",3,"appApiAction","disabled","click",4,"ngIf"],[1,"spaced-header"],[1,"progress"],["role","progressbar","aria-valuemin","0","aria-valuemax","100",1,"progress-bar","bg-success",3,"ngStyle"],["type","button",1,"btn","btn-outline-danger","btn-submit","ml-auto",3,"appApiAction","disabled","click"],["cancelBtn",""],[1,"mt-3"],["class","d-flex",4,"ngIf"],[3,"storageGbPrice","add","onAdjusted","onCanceled",4,"ngIf"],["type","button",1,"ml-1","btn","btn-outline-secondary",3,"click"],[3,"storageGbPrice","add","onAdjusted","onCanceled"]],template:function(e,t){1&e&&(o.ɵɵelementStart(0,"div",0),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"h1"),o.ɵɵtext(3),o.ɵɵpipe(4,"i18n"),o.ɵɵtemplate(5,b,9,6,"small",1),o.ɵɵtext(6,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(7,"\n"),o.ɵɵelementEnd(),o.ɵɵtext(8,"\n"),o.ɵɵtemplate(9,S,9,6,"ng-container",1),o.ɵɵtext(10,"\n"),o.ɵɵtemplate(11,N,14,6,"ng-container",1),o.ɵɵtext(12,"\n")),2&e&&(o.ɵɵadvance(3),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(4,4,"premiumMembership"),"\n "),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",t.firstLoaded&&t.loading),o.ɵɵadvance(4),o.ɵɵproperty("ngIf",!t.firstLoaded&&t.loading),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",t.sub))},directives:[m.NgIf,h.CalloutComponent,f.ApiActionDirective,m.NgForOf,v.A11yTitleDirective,y.UpdateLicenseComponent,m.NgStyle,g.AdjustStorageComponent],pipes:[x.I18nPipe,m.DatePipe,m.CurrencyPipe,m.PercentPipe],encapsulation:2}),e}();t.UserSubscriptionComponent=z},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1})];case 1:return t.sent(),this.clearFilters(),this.collectionId=e,this.go(),[2]}})})},e.prototype.filterSearchText=function(e){this.ciphersComponent.searchText=e,this.ciphersComponent.search(200)},e.prototype.editCipherAttachments=function(e){return r(this,void 0,void 0,function(){var t,n,o,s,l,c=this;return i(this,function(u){switch(u.label){case 0:return[4,this.userService.canAccessPremium()];case 1:return t=u.sent(),null!=e.organizationId||t?[3,2]:(this.messagingService.send("premiumRequired"),[2]);case 2:return null==e.organizationId?[3,4]:[4,this.userService.getOrganization(e.organizationId)];case 3:if(null!=(n=u.sent())&&(null==n.maxStorageGb||0===n.maxStorageGb))return this.messagingService.send("upgradeOrganization",{organizationId:e.organizationId}),[2];u.label=4;case 4:return null!=this.modal&&this.modal.close(),o=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent),this.modal=this.attachmentsModalRef.createComponent(o).instance,(s=this.modal.show(p.AttachmentsComponent,this.attachmentsModalRef)).cipherId=e.id,l=!1,s.onUploadedAttachment.subscribe(function(){return l=!0}),s.onDeletedAttachment.subscribe(function(){return l=!0}),s.onReuploadedAttachment.subscribe(function(){return l=!0}),this.modal.onClosed.subscribe(function(){return r(c,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal=null,l?[4,this.ciphersComponent.refresh()]:[3,2];case 1:e.sent(),e.label=2;case 2:return l=!1,[2]}})})}),[2]}})})},e.prototype.shareCipher=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent);this.modal=this.shareModalRef.createComponent(n).instance;var o=this.modal.show(f.ShareComponent,this.shareModalRef);o.cipherId=e.id,o.onSharedCipher.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){return this.modal=null,[2]})})})},e.prototype.editCipherCollections=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent);this.modal=this.collectionsModalRef.createComponent(n).instance;var o=this.modal.show(d.CollectionsComponent,this.collectionsModalRef);o.cipherId=e.id,o.onSavedCollections.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){return this.modal=null,[2]})})})},e.prototype.addFolder=function(){return r(this,void 0,void 0,function(){var e,t,n=this;return i(this,function(o){return null!=this.modal&&this.modal.close(),e=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent),this.modal=this.folderAddEditModalRef.createComponent(e).instance,(t=this.modal.show(m.FolderAddEditComponent,this.folderAddEditModalRef)).folderId=null,t.onSavedFolder.subscribe(function(){return r(n,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return e.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){n.modal=null}),[2]})})},e.prototype.editFolder=function(e){return r(this,void 0,void 0,function(){var t,n,o=this;return i(this,function(s){return null!=this.modal&&this.modal.close(),t=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent),this.modal=this.folderAddEditModalRef.createComponent(t).instance,(n=this.modal.show(m.FolderAddEditComponent,this.folderAddEditModalRef)).folderId=e,n.onSavedFolder.subscribe(function(){return r(o,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return e.sent(),[2]}})})}),n.onDeletedFolder.subscribe(function(){return r(o,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return e.sent(),[4,this.filterFolder("none")];case 2:return e.sent(),this.groupingsComponent.selectedFolderId=null,[2]}})})}),this.modal.onClosed.subscribe(function(){o.modal=null}),[2]})})},e.prototype.addCipher=function(){var e=this,t=this.editCipher(null);if(t.type=this.type,t.folderId="none"===this.folderId?null:this.folderId,null!=this.collectionId){var n=this.groupingsComponent.collections.filter(function(t){return t.id===e.collectionId});n.length>0&&(t.organizationId=n[0].organizationId,t.collectionIds=[this.collectionId])}},e.prototype.editCipher=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent);this.modal=this.cipherAddEditModalRef.createComponent(n).instance;var o=this.modal.show(c.AddEditComponent,this.cipherAddEditModalRef);return o.cipherId=null==e?null:e.id,o.onSavedCipher.subscribe(function(e){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),o.onDeletedCipher.subscribe(function(e){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),o.onRestoredCipher.subscribe(function(e){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){t.modal=null}),o},e.prototype.cloneCipher=function(e){this.editCipher(e).cloneMode=!0},e.prototype.updateKey=function(){var e=this;null!=this.modal&&this.modal.close();var t=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent);this.modal=this.updateKeyModalRef.createComponent(t).instance,this.modal.show(l.UpdateKeyComponent,this.updateKeyModalRef),this.modal.onClosed.subscribe(function(){e.modal=null})},e.prototype.clearFilters=function(){this.folderId=null,this.collectionId=null,this.favorites=!1,this.type=null,this.deleted=!1},e.prototype.go=function(e){void 0===e&&(e=null),null==e&&(e={favorites:!!this.favorites||null,type:this.type,folderId:this.folderId,collectionId:this.collectionId,deleted:!!this.deleted||null}),this.router.navigate([],{relativeTo:this.route,queryParams:e,replaceUrl:!0})},e.ɵfac=function(t){return new(t||e)(v.ɵɵdirectiveInject(y.SyncService),v.ɵɵdirectiveInject(g.ActivatedRoute),v.ɵɵdirectiveInject(g.Router),v.ɵɵdirectiveInject(v.ChangeDetectorRef),v.ɵɵdirectiveInject(x.I18nService),v.ɵɵdirectiveInject(v.ComponentFactoryResolver),v.ɵɵdirectiveInject(b.TokenService),v.ɵɵdirectiveInject(S.CryptoService),v.ɵɵdirectiveInject(w.MessagingService),v.ɵɵdirectiveInject(C.UserService),v.ɵɵdirectiveInject(I.PlatformUtilsService),v.ɵɵdirectiveInject(E.BroadcasterService),v.ɵɵdirectiveInject(v.NgZone))},e.ɵcmp=v.ɵɵdefineComponent({type:e,selectors:[["app-vault"]],viewQuery:function(e,t){var n;(1&e&&(v.ɵɵstaticViewQuery(h.GroupingsComponent,!0),v.ɵɵstaticViewQuery(u.CiphersComponent,!0),v.ɵɵstaticViewQuery(s.OrganizationsComponent,!0),v.ɵɵstaticViewQuery(V,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(j,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(R,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(U,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(F,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(N,!0,o.ViewContainerRef)),2&e)&&(v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.groupingsComponent=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.ciphersComponent=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.organizationsComponent=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.attachmentsModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.folderAddEditModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.cipherAddEditModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.shareModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.collectionsModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.updateKeyModalRef=n.first))},decls:86,vars:20,consts:[[1,"container","page-content"],[1,"row"],[1,"col-3"],[3,"onAllClicked","onFavoritesClicked","onCipherTypeClicked","onFolderClicked","onAddFolder","onEditFolder","onCollectionClicked","onSearchTextChanged","onTrashClicked"],[1,"col-6"],[1,"page-header","d-flex"],[3,"appApiAction"],["actionSpinner",""],[4,"ngIf"],[1,"ml-auto","d-flex"],[3,"ciphersComponent","modal","deleted"],["type","button","class","btn btn-outline-primary btn-sm",3,"click",4,"ngIf"],[3,"onCipherClicked","onAttachmentsClicked","onAddCipher","onShareClicked","onCollectionsClicked","onCloneClicked"],["class","card border-warning mb-4",4,"ngIf"],["class","d-block mb-4",4,"ngIf"],["class","card border-success mb-4",4,"ngIf"],[1,"card"],[1,"card-header","d-flex"],["href","https://help.bitwarden.com/article/what-is-an-organization/","target","_blank","rel","noopener",1,"ml-auto",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],[1,"card-body"],[3,"vault"],["attachments",""],["folderAddEdit",""],["cipherAddEdit",""],["share",""],["collections",""],["updateKeyTemplate",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["type","button",1,"btn","btn-outline-primary","btn-sm",3,"click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"],[1,"card","border-warning","mb-4"],[1,"card-header","bg-warning","text-white"],["aria-hidden","true",1,"fa","fa-warning","fa-fw"],["type","button",1,"btn","btn-block","btn-outline-secondary",3,"click"],[1,"d-block","mb-4"],["target","_blank","href","https://browser-update.org/update-browser.html","rel","noopener",1,"btn","btn-block","btn-outline-secondary"],[1,"card","border-success","mb-4"],[1,"card-header","bg-success","text-white"],["aria-hidden","true",1,"fa","fa-star","fa-fw"],["routerLink","/settings/premium",1,"btn","btn-block","btn-outline-secondary"]],template:function(e,t){if(1&e&&(v.ɵɵelementStart(0,"div",0),v.ɵɵtext(1,"\n "),v.ɵɵelementStart(2,"div",1),v.ɵɵtext(3,"\n "),v.ɵɵelementStart(4,"div",2),v.ɵɵtext(5,"\n "),v.ɵɵelementStart(6,"app-vault-groupings",3),v.ɵɵlistener("onAllClicked",function(){return t.clearGroupingFilters()})("onFavoritesClicked",function(){return t.filterFavorites()})("onCipherTypeClicked",function(e){return t.filterCipherType(e)})("onFolderClicked",function(e){return t.filterFolder(e.id)})("onAddFolder",function(){return t.addFolder()})("onEditFolder",function(e){return t.editFolder(e.id)})("onCollectionClicked",function(e){return t.filterCollection(e.id)})("onSearchTextChanged",function(e){return t.filterSearchText(e)})("onTrashClicked",function(){return t.filterDeleted()}),v.ɵɵtext(7,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(8,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(9,"\n "),v.ɵɵelementStart(10,"div",4),v.ɵɵtext(11,"\n "),v.ɵɵelementStart(12,"div",5),v.ɵɵtext(13,"\n "),v.ɵɵelementStart(14,"h1"),v.ɵɵtext(15),v.ɵɵpipe(16,"i18n"),v.ɵɵelementStart(17,"small",6,7),v.ɵɵtext(19,"\n "),v.ɵɵtemplate(20,z,9,6,"ng-container",8),v.ɵɵtext(21,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(22,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(23,"\n "),v.ɵɵelementStart(24,"div",9),v.ɵɵtext(25,"\n "),v.ɵɵelementStart(26,"app-vault-bulk-actions",10),v.ɵɵtext(27,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(28,"\n "),v.ɵɵtemplate(29,L,5,3,"button",11),v.ɵɵtext(30,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(31,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(32,"\n "),v.ɵɵelementStart(33,"app-vault-ciphers",12),v.ɵɵlistener("onCipherClicked",function(e){return t.editCipher(e)})("onAttachmentsClicked",function(e){return t.editCipherAttachments(e)})("onAddCipher",function(){return t.addCipher()})("onShareClicked",function(e){return t.shareCipher(e)})("onCollectionsClicked",function(e){return t.editCipherCollections(e)})("onCloneClicked",function(e){return t.cloneCipher(e)}),v.ɵɵtext(34,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(35,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(36,"\n "),v.ɵɵelementStart(37,"div",2),v.ɵɵtext(38,"\n "),v.ɵɵtemplate(39,G,19,9,"div",13),v.ɵɵtext(40,"\n "),v.ɵɵtemplate(41,K,1,0,"app-verify-email",14),v.ɵɵtext(42,"\n "),v.ɵɵtemplate(43,q,19,9,"div",13),v.ɵɵtext(44,"\n "),v.ɵɵtemplate(45,H,19,9,"div",15),v.ɵɵtext(46,"\n "),v.ɵɵelementStart(47,"div",16),v.ɵɵtext(48,"\n "),v.ɵɵelementStart(49,"div",17),v.ɵɵtext(50),v.ɵɵpipe(51,"i18n"),v.ɵɵelementStart(52,"a",18),v.ɵɵpipe(53,"i18n"),v.ɵɵtext(54,"\n "),v.ɵɵelement(55,"i",19),v.ɵɵtext(56,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(57,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(58,"\n "),v.ɵɵelementStart(59,"div",20),v.ɵɵtext(60,"\n "),v.ɵɵelement(61,"app-organizations",21),v.ɵɵtext(62,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(63,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(64,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(65,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(66,"\n"),v.ɵɵelementEnd(),v.ɵɵtext(67,"\n"),v.ɵɵtemplate(68,W,0,0,"ng-template",null,22,v.ɵɵtemplateRefExtractor),v.ɵɵtext(70,"\n"),v.ɵɵtemplate(71,$,0,0,"ng-template",null,23,v.ɵɵtemplateRefExtractor),v.ɵɵtext(73,"\n"),v.ɵɵtemplate(74,Y,0,0,"ng-template",null,24,v.ɵɵtemplateRefExtractor),v.ɵɵtext(76,"\n"),v.ɵɵtemplate(77,Q,0,0,"ng-template",null,25,v.ɵɵtemplateRefExtractor),v.ɵɵtext(79,"\n"),v.ɵɵtemplate(80,J,0,0,"ng-template",null,26,v.ɵɵtemplateRefExtractor),v.ɵɵtext(82,"\n"),v.ɵɵtemplate(83,X,0,0,"ng-template",null,27,v.ɵɵtemplateRefExtractor),v.ɵɵtext(85,"\n")),2&e){var n=v.ɵɵreference(18);v.ɵɵadvance(15),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(16,14,"myVault"),"\n "),v.ɵɵadvance(2),v.ɵɵproperty("appApiAction",t.ciphersComponent.actionPromise),v.ɵɵadvance(3),v.ɵɵproperty("ngIf",n.loading),v.ɵɵadvance(6),v.ɵɵproperty("ciphersComponent",t.ciphersComponent)("modal",t.modal)("deleted",t.deleted),v.ɵɵadvance(3),v.ɵɵproperty("ngIf",!t.deleted),v.ɵɵadvance(10),v.ɵɵproperty("ngIf",t.showUpdateKey),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",t.showVerifyEmail),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",t.showBrowserOutdated),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",t.showPremiumCallout),v.ɵɵadvance(5),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(51,16,"organizations"),"\n "),v.ɵɵadvance(2),v.ɵɵpropertyInterpolate("appA11yTitle",v.ɵɵpipeBind1(53,18,"learnMore")),v.ɵɵadvance(9),v.ɵɵproperty("vault",!0)}},directives:[P.GroupingsComponent,k.ApiActionDirective,_.NgIf,A.BulkActionsComponent,O.CiphersComponent,T.A11yTitleDirective,M.OrganizationsComponent,B.VerifyEmailComponent,g.RouterLinkWithHref],pipes:[D.I18nPipe],encapsulation:2}),e}();t.VaultComponent=Z},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1&&this.trustedContacts.splice(t,1)},e.prototype.removeGrantor=function(e){var t=this.grantedContacts.indexOf(e);t>-1&&this.grantedContacts.splice(t,1)},e.prototype.doConfirmation=function(e){return r(this,void 0,void 0,function(){var t,n,r,o,a,s,p,u;return i(this,function(i){switch(i.label){case 0:return[4,this.cryptoService.getEncKey()];case 1:return t=i.sent(),[4,this.apiService.getUserPublicKey(e.granteeId)];case 2:n=i.sent(),r=l.Utils.fromB64ToArray(n.publicKey),i.label=3;case 3:return i.trys.push([3,5,,6]),a=(o=console).log,s="User's fingerprint: ",[4,this.cryptoService.getFingerprint(e.granteeId,r.buffer)];case 4:return a.apply(o,[s+i.sent().join("-")]),[3,6];case 5:return i.sent(),[3,6];case 6:return[4,this.cryptoService.rsaEncrypt(t.key,r.buffer)];case 7:return p=i.sent(),(u=new c.EmergencyAccessConfirmRequest).key=p.encryptedString,[4,this.apiService.postEmergencyAccessConfirm(e.id,u)];case 8:return i.sent(),[2]}})})},e.ɵfac=function(t){return new(t||e)(v.ɵɵdirectiveInject(y.ApiService),v.ɵɵdirectiveInject(g.I18nService),v.ɵɵdirectiveInject(v.ComponentFactoryResolver),v.ɵɵdirectiveInject(x.PlatformUtilsService),v.ɵɵdirectiveInject(b.ToasterService),v.ɵɵdirectiveInject(S.CryptoService),v.ɵɵdirectiveInject(w.StorageService),v.ɵɵdirectiveInject(C.UserService),v.ɵɵdirectiveInject(I.MessagingService))},e.ɵcmp=v.ɵɵdefineComponent({type:e,selectors:[["emergency-access"]],viewQuery:function(e,t){var n;(1&e&&(v.ɵɵstaticViewQuery(T,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(M,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(B,!0,o.ViewContainerRef)),2&e)&&(v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.addEditModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.takeoverModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.confirmModalRef=n.first))},decls:57,vars:24,consts:[[1,"page-header"],["href","https://bitwarden.com/help/article/emergency-access/","target","_blank","rel","noopener"],[1,"page-header","d-flex"],["href","#","appStopClick","","class","badge badge-primary",3,"click",4,"ngIf"],[1,"ml-auto","d-flex"],["type","button",1,"btn","btn-sm","btn-outline-primary","ml-3",3,"disabled","click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"],["class","table table-hover table-list mb-0",4,"ngIf"],[4,"ngIf"],[1,"page-header","spaced-header"],["addEdit",""],["takeoverTemplate",""],["confirmTemplate",""],["href","#","appStopClick","",1,"badge","badge-primary",3,"click"],[1,"table","table-hover","table-list","mb-0"],[4,"ngFor","ngForOf"],["width","30"],["size","25",3,"data","email","circle","fontSize"],["href","#","appStopClick","",3,"click"],["class","badge badge-secondary",4,"ngIf"],["class","badge badge-warning",4,"ngIf"],["class","badge badge-success",4,"ngIf"],["class","badge badge-primary",4,"ngIf"],["class","text-muted d-block",4,"ngIf"],[1,"table-list-options"],["appListDropdown","",1,"dropdown"],["type","button","data-toggle","dropdown","aria-haspopup","true","aria-expanded","false",1,"btn","btn-outline-secondary","dropdown-toggle",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-cog","fa-lg"],[1,"dropdown-menu","dropdown-menu-right"],["class","dropdown-item","href","#","appStopClick","",3,"click",4,"ngIf"],["class","dropdown-item text-success","href","#","appStopClick","",3,"click",4,"ngIf"],["class","dropdown-item text-warning","href","#","appStopClick","",3,"click",4,"ngIf"],["href","#","appStopClick","",1,"dropdown-item","text-danger",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-remove"],[1,"badge","badge-secondary"],[1,"badge","badge-warning"],[1,"badge","badge-success"],[1,"badge","badge-primary"],[1,"text-muted","d-block"],["href","#","appStopClick","",1,"dropdown-item",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-envelope-o"],["href","#","appStopClick","",1,"dropdown-item","text-success",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-check"],["href","#","appStopClick","",1,"dropdown-item","text-warning",3,"click"],["class","dropdown-item",3,"routerLink",4,"ngIf"],["aria-hidden","true",1,"fa","fa-fw","fa-key"],[1,"dropdown-item",3,"routerLink"],["aria-hidden","true",1,"fa","fa-fw","fa-eye"]],template:function(e,t){1&e&&(v.ɵɵelementStart(0,"div",0),v.ɵɵtext(1,"\n "),v.ɵɵelementStart(2,"h1"),v.ɵɵtext(3),v.ɵɵpipe(4,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(5,"\n"),v.ɵɵelementEnd(),v.ɵɵtext(6,"\n"),v.ɵɵelementStart(7,"p"),v.ɵɵtext(8),v.ɵɵpipe(9,"i18n"),v.ɵɵelementStart(10,"a",1),v.ɵɵtext(11),v.ɵɵpipe(12,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(13,"\n"),v.ɵɵelementEnd(),v.ɵɵtext(14,"\n\n"),v.ɵɵelementStart(15,"div",2),v.ɵɵtext(16,"\n "),v.ɵɵelementStart(17,"h2"),v.ɵɵtext(18),v.ɵɵpipe(19,"i18n"),v.ɵɵtemplate(20,D,3,3,"a",3),v.ɵɵtext(21,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(22,"\n "),v.ɵɵelementStart(23,"div",4),v.ɵɵtext(24,"\n "),v.ɵɵelementStart(25,"button",5),v.ɵɵlistener("click",function(){return t.invite()}),v.ɵɵtext(26,"\n "),v.ɵɵelement(27,"i",6),v.ɵɵtext(28),v.ɵɵpipe(29,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(30,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(31,"\n"),v.ɵɵelementEnd(),v.ɵɵtext(32,"\n\n"),v.ɵɵtemplate(33,W,7,1,"table",7),v.ɵɵtext(34,"\n\n"),v.ɵɵtemplate(35,$,3,3,"p",8),v.ɵɵtext(36,"\n\n"),v.ɵɵelementStart(37,"div",9),v.ɵɵtext(38,"\n "),v.ɵɵelementStart(39,"h2"),v.ɵɵtext(40),v.ɵɵpipe(41,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(42,"\n"),v.ɵɵelementEnd(),v.ɵɵtext(43,"\n\n"),v.ɵɵtemplate(44,ae,7,1,"table",7),v.ɵɵtext(45,"\n\n"),v.ɵɵtemplate(46,se,3,3,"p",8),v.ɵɵtext(47,"\n\n"),v.ɵɵtemplate(48,le,0,0,"ng-template",null,10,v.ɵɵtemplateRefExtractor),v.ɵɵtext(50,"\n"),v.ɵɵtemplate(51,ce,0,0,"ng-template",null,11,v.ɵɵtemplateRefExtractor),v.ɵɵtext(53,"\n"),v.ɵɵtemplate(54,pe,0,0,"ng-template",null,12,v.ɵɵtemplateRefExtractor),v.ɵɵtext(56,"\n")),2&e&&(v.ɵɵadvance(3),v.ɵɵtextInterpolate(v.ɵɵpipeBind1(4,12,"emergencyAccess")),v.ɵɵadvance(5),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(9,14,"emergencyAccessDesc"),"\n "),v.ɵɵadvance(3),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(12,16,"learnMore"),".\n "),v.ɵɵadvance(7),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(19,18,"trustedEmergencyContacts"),"\n "),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",!t.canAccessPremium),v.ɵɵadvance(5),v.ɵɵproperty("disabled",!t.canAccessPremium),v.ɵɵadvance(3),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(29,20,"addEmergencyContact"),"\n "),v.ɵɵadvance(5),v.ɵɵproperty("ngIf",t.trustedContacts&&t.trustedContacts.length),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",!t.trustedContacts||!t.trustedContacts.length),v.ɵɵadvance(5),v.ɵɵtextInterpolate(v.ɵɵpipeBind1(41,22,"designatedEmergencyContacts")),v.ɵɵadvance(4),v.ɵɵproperty("ngIf",t.grantedContacts&&t.grantedContacts.length),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",!t.grantedContacts||!t.grantedContacts.length))},directives:[E.NgIf,P.StopClickDirective,E.NgForOf,k.AvatarComponent,_.A11yTitleDirective,A.RouterLinkWithHref],pipes:[O.I18nPipe],encapsulation:2}),e}();t.EmergencyAccessComponent=ue},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.View=0]="View",e[e.Takeover=1]="Takeover"}(t.EmergencyAccessType||(t.EmergencyAccessType={}))},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(504),s=function(e){function t(t){var n=e.call(this,t)||this;return n.id=n.getResponseProperty("Id"),n.granteeId=n.getResponseProperty("GranteeId"),n.name=n.getResponseProperty("Name"),n.email=n.getResponseProperty("Email"),n.type=n.getResponseProperty("Type"),n.status=n.getResponseProperty("Status"),n.waitTimeDays=n.getResponseProperty("WaitTimeDays"),n.creationDate=n.getResponseProperty("CreationDate"),n}return i(t,e),t}(o.BaseResponse);t.EmergencyAccessGranteeDetailsResponse=s;var l=function(e){function t(t){var n=e.call(this,t)||this;return n.id=n.getResponseProperty("Id"),n.grantorId=n.getResponseProperty("GrantorId"),n.name=n.getResponseProperty("Name"),n.email=n.getResponseProperty("Email"),n.type=n.getResponseProperty("Type"),n.status=n.getResponseProperty("Status"),n.waitTimeDays=n.getResponseProperty("WaitTimeDays"),n.creationDate=n.getResponseProperty("CreationDate"),n}return i(t,e),t}(o.BaseResponse);t.EmergencyAccessGrantorDetailsResponse=l;var c=function(e){function t(t){var n=e.call(this,t)||this;return n.keyEncrypted=n.getResponseProperty("KeyEncrypted"),n.kdf=n.getResponseProperty("Kdf"),n.kdfIterations=n.getResponseProperty("KdfIterations"),n}return i(t,e),t}(o.BaseResponse);t.EmergencyAccessTakeoverResponse=c;var p=function(e){function t(t){var n=e.call(this,t)||this;n.ciphers=[],n.keyEncrypted=n.getResponseProperty("KeyEncrypted");var r=n.getResponseProperty("Ciphers");return null!=r&&(n.ciphers=r.map(function(e){return new a.CipherResponse(e)})),n}return i(t,e),t}(o.BaseResponse);t.EmergencyAccessViewResponse=p},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1?"&":"?",e+="end="+n),null!=r&&(e+=e.indexOf("?")>-1?"&":"?",e+="continuationToken="+r),e},e.prototype.isJsonResponse=function(e){var t=e.headers.get("content-type");return null!=t&&t.indexOf("application/json")>-1},e}();t.ApiService=G},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(295),s=function(e){function t(t){var n=e.call(this,t)||this;return n.id=n.getResponseProperty("Id"),n.organizationId=n.getResponseProperty("OrganizationId"),n.name=n.getResponseProperty("Name"),n.externalId=n.getResponseProperty("ExternalId"),n}return i(t,e),t}(o.BaseResponse);t.CollectionResponse=s;var l=function(e){function t(t){var n=e.call(this,t)||this;return n.readOnly=n.getResponseProperty("ReadOnly")||!1,n}return i(t,e),t}(s);t.CollectionDetailsResponse=l;var c=function(e){function t(t){var n=e.call(this,t)||this;n.groups=[];var r=n.getResponseProperty("Groups");return null!=r&&(n.groups=r.map(function(e){return new a.SelectionReadOnlyResponse(e)})),n}return i(t,e),t}(s);t.CollectionGroupDetailsResponse=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(894),s=function(e){function t(t){var n=e.call(this,t)||this;n.globalEquivalentDomains=[],n.equivalentDomains=n.getResponseProperty("EquivalentDomains");var r=n.getResponseProperty("GlobalEquivalentDomains");return n.globalEquivalentDomains=null!=r?r.map(function(e){return new a.GlobalDomainResponse(e)}):[],n}return i(t,e),t}(o.BaseResponse);t.DomainsResponse=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t,n,r){var i=e.call(this,t)||this,o=null;if(null!=t){var a=i.getResponseProperty("ErrorModel");o=a&&r?a:t}return o?(i.message=i.getResponseProperty("Message",o),i.validationErrors=i.getResponseProperty("ValidationErrors",o)):429===n&&(i.message="Rate limit exceeded. Try again later."),i.statusCode=n,i}return i(t,e),t.prototype.getSingleMessage=function(){if(null==this.validationErrors)return this.message;for(var e in this.validationErrors)if(this.validationErrors.hasOwnProperty(e)&&this.validationErrors[e].length)return this.validationErrors[e][0];return this.message},t.prototype.getAllMessages=function(){var e=[];if(null==this.validationErrors)return e;var t=function(t){if(!n.validationErrors.hasOwnProperty(t))return"continue";n.validationErrors[t].forEach(function(n){var r="";if(t.indexOf("[")>-1&&t.indexOf("]")>-1){var i=t.lastIndexOf(".");r=t.substr(0,i>-1?i:t.length)+": "}e.push(r+n)})},n=this;for(var r in this.validationErrors)t(r);return e},t}(n(25).BaseResponse);t.ErrorResponse=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){var n=e.call(this,t)||this;return n.id=n.getResponseProperty("Id"),n.name=n.getResponseProperty("Name"),n.revisionDate=n.getResponseProperty("RevisionDate"),n}return i(t,e),t}(n(25).BaseResponse);t.FolderResponse=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(670),s=function(e){function t(t){var n=e.call(this,t)||this;n.id=n.getResponseProperty("Id"),n.identifier=n.getResponseProperty("Identifier"),n.name=n.getResponseProperty("Name"),n.businessName=n.getResponseProperty("BusinessName"),n.businessAddress1=n.getResponseProperty("BusinessAddress1"),n.businessAddress2=n.getResponseProperty("BusinessAddress2"),n.businessAddress3=n.getResponseProperty("BusinessAddress3"),n.businessCountry=n.getResponseProperty("BusinessCountry"),n.businessTaxNumber=n.getResponseProperty("BusinessTaxNumber"),n.billingEmail=n.getResponseProperty("BillingEmail");var r=n.getResponseProperty("Plan");return n.plan=null==r?null:new a.PlanResponse(r),n.planType=n.getResponseProperty("PlanType"),n.seats=n.getResponseProperty("Seats"),n.maxCollections=n.getResponseProperty("MaxCollections"),n.maxStorageGb=n.getResponseProperty("MaxStorageGb"),n.useGroups=n.getResponseProperty("UseGroups"),n.useDirectory=n.getResponseProperty("UseDirectory"),n.useEvents=n.getResponseProperty("UseEvents"),n.useTotp=n.getResponseProperty("UseTotp"),n.use2fa=n.getResponseProperty("Use2fa"),n.useApi=n.getResponseProperty("UseApi"),n}return i(t,e),t}(o.BaseResponse);t.OrganizationResponse=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){var n=e.call(this,t)||this;return n.type=n.getResponseProperty("Type"),n.product=n.getResponseProperty("Product"),n.name=n.getResponseProperty("Name"),n.isAnnual=n.getResponseProperty("IsAnnual"),n.nameLocalizationKey=n.getResponseProperty("NameLocalizationKey"),n.descriptionLocalizationKey=n.getResponseProperty("DescriptionLocalizationKey"),n.canBeUsedByBusiness=n.getResponseProperty("CanBeUsedByBusiness"),n.baseSeats=n.getResponseProperty("BaseSeats"),n.baseStorageGb=n.getResponseProperty("BaseStorageGb"),n.maxCollections=n.getResponseProperty("MaxCollections"),n.maxUsers=n.getResponseProperty("MaxUsers"),n.hasAdditionalSeatsOption=n.getResponseProperty("HasAdditionalSeatsOption"),n.maxAdditionalSeats=n.getResponseProperty("MaxAdditionalSeats"),n.hasAdditionalStorageOption=n.getResponseProperty("HasAdditionalStorageOption"),n.maxAdditionalStorage=n.getResponseProperty("MaxAdditionalStorage"),n.hasPremiumAccessOption=n.getResponseProperty("HasPremiumAccessOption"),n.trialPeriodDays=n.getResponseProperty("TrialPeriodDays"),n.hasSelfHost=n.getResponseProperty("HasSelfHost"),n.hasPolicies=n.getResponseProperty("HasPolicies"),n.hasGroups=n.getResponseProperty("HasGroups"),n.hasDirectory=n.getResponseProperty("HasDirectory"),n.hasEvents=n.getResponseProperty("HasEvents"),n.hasTotp=n.getResponseProperty("HasTotp"),n.has2fa=n.getResponseProperty("Has2fa"),n.hasApi=n.getResponseProperty("HasApi"),n.hasSso=n.getResponseProperty("HasSso"),n.usersGetPremium=n.getResponseProperty("UsersGetPremium"),n.upgradeSortOrder=n.getResponseProperty("UpgradeSortOrder"),n.displaySortOrder=n.getResponseProperty("SortOrder"),n.legacyYear=n.getResponseProperty("LegacyYear"),n.disabled=n.getResponseProperty("Disabled"),n.stripePlanId=n.getResponseProperty("StripePlanId"),n.stripeSeatPlanId=n.getResponseProperty("StripeSeatPlanId"),n.stripeStoragePlanId=n.getResponseProperty("StripeStoragePlanId"),n.stripePremiumAccessPlanId=n.getResponseProperty("StripePremiumAccessPlanId"),n.basePrice=n.getResponseProperty("BasePrice"),n.seatPrice=n.getResponseProperty("SeatPrice"),n.additionalStoragePricePerGb=n.getResponseProperty("AdditionalStoragePricePerGb"),n.premiumAccessOptionPrice=n.getResponseProperty("PremiumAccessOptionPrice"),n}return i(t,e),t}(n(25).BaseResponse);t.PlanResponse=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=function(e){function t(t){var n=e.call(this,t)||this;n.storageName=n.getResponseProperty("StorageName"),n.storageGb=n.getResponseProperty("StorageGb"),n.maxStorageGb=n.getResponseProperty("MaxStorageGb"),n.license=n.getResponseProperty("License"),n.expiration=n.getResponseProperty("Expiration"),n.usingInAppPurchase=n.getResponseProperty("UsingInAppPurchase");var r=n.getResponseProperty("Subscription"),i=n.getResponseProperty("UpcomingInvoice");return n.subscription=null==r?null:new s(r),n.upcomingInvoice=null==i?null:new c(i),n}return i(t,e),t}(o.BaseResponse);t.SubscriptionResponse=a;var s=function(e){function t(t){var n=e.call(this,t)||this;n.items=[],n.trialEndDate=n.getResponseProperty("TrialStartDate"),n.trialEndDate=n.getResponseProperty("TrialEndDate"),n.periodStartDate=n.getResponseProperty("PeriodStartDate"),n.periodEndDate=n.getResponseProperty("PeriodEndDate"),n.cancelledDate=n.getResponseProperty("CancelledDate"),n.cancelAtEndDate=n.getResponseProperty("CancelAtEndDate"),n.status=n.getResponseProperty("Status"),n.cancelled=n.getResponseProperty("Cancelled");var r=n.getResponseProperty("Items");return null!=r&&(n.items=r.map(function(e){return new l(e)})),n}return i(t,e),t}(o.BaseResponse);t.BillingSubscriptionResponse=s;var l=function(e){function t(t){var n=e.call(this,t)||this;return n.name=n.getResponseProperty("Name"),n.amount=n.getResponseProperty("Amount"),n.quantity=n.getResponseProperty("Quantity"),n.interval=n.getResponseProperty("Interval"),n}return i(t,e),t}(o.BaseResponse);t.BillingSubscriptionItemResponse=l;var c=function(e){function t(t){var n=e.call(this,t)||this;return n.date=n.getResponseProperty("Date"),n.amount=n.getResponseProperty("Amount"),n}return i(t,e),t}(o.BaseResponse);t.BillingSubscriptionUpcomingInvoiceResponse=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){var n=e.call(this,t)||this;return n.id=n.getResponseProperty("Id"),n.organizationId=n.getResponseProperty("OrganizationId"),n.type=n.getResponseProperty("Type"),n.data=n.getResponseProperty("Data"),n.enabled=n.getResponseProperty("Enabled"),n}return i(t,e),t}(n(25).BaseResponse);t.PolicyResponse=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(506),s=n(507),l=function(e){function t(t){var n=e.call(this,t)||this;n.id=n.getResponseProperty("Id"),n.accessId=n.getResponseProperty("AccessId"),n.type=n.getResponseProperty("Type"),n.name=n.getResponseProperty("Name"),n.notes=n.getResponseProperty("Notes"),n.key=n.getResponseProperty("Key"),n.maxAccessCount=n.getResponseProperty("MaxAccessCount"),n.accessCount=n.getResponseProperty("AccessCount"),n.revisionDate=n.getResponseProperty("RevisionDate"),n.expirationDate=n.getResponseProperty("ExpirationDate"),n.deletionDate=n.getResponseProperty("DeletionDate"),n.password=n.getResponseProperty("Password"),n.disable=n.getResponseProperty("Disabled")||!1;var r=n.getResponseProperty("Text");null!=r&&(n.text=new s.SendTextApi(r));var i=n.getResponseProperty("File");return null!=i&&(n.file=new a.SendFileApi(i)),n}return i(t,e),t}(o.BaseResponse);t.SendResponse=l},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0;s--)(i=e[s])&&(a=(o<3?i(a):o>3?i(t,n,a):i(t,n))||a);return o>3&&a&&Object.defineProperty(t,n,a),a},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0;s--)(i=e[s])&&(a=(o<3?i(a):o>3?i(t,n,a):i(t,n))||a);return o>3&&a&&Object.defineProperty(t,n,a),a},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]5&&(e.passwordHistory=e.passwordHistory.slice(0,5)),a.label=5;case 5:return(p=new m.Cipher).id=e.id,p.folderId=e.folderId,p.favorite=e.favorite,p.organizationId=e.organizationId,p.type=e.type,p.collectionIds=e.collectionIds,p.revisionDate=e.revisionDate,null!=t||null==p.organizationId?[3,7]:[4,this.cryptoService.getOrgKey(p.organizationId)];case 6:if(null==(t=a.sent()))throw new Error("Cannot encrypt cipher for organization. No key.");a.label=7;case 7:return[4,Promise.all([this.encryptObjProperty(e,p,{name:null,notes:null},t),this.encryptCipherData(p,e,t),this.encryptFields(e.fields,t).then(function(e){p.fields=e}),this.encryptPasswordHistories(e.passwordHistory,t).then(function(e){p.passwordHistory=e}),this.encryptAttachments(e.attachments,t).then(function(e){p.attachments=e})])];case 8:return a.sent(),[2,p]}})})},t.prototype.encryptAttachments=function(e,t){return o(this,void 0,void 0,function(){var n,r,i=this;return a(this,function(s){switch(s.label){case 0:return null==e||0===e.length?[2,null]:(n=[],r=[],e.forEach(function(e){return o(i,void 0,void 0,function(){var i,s,l=this;return a(this,function(c){return(i=new u.Attachment).id=e.id,i.size=e.size,i.sizeName=e.sizeName,i.url=e.url,s=this.encryptObjProperty(e,i,{fileName:null},t).then(function(){return o(l,void 0,void 0,function(){var n;return a(this,function(o){switch(o.label){case 0:return null==e.key?[3,2]:(n=i,[4,this.cryptoService.encrypt(e.key.key,t)]);case 1:n.key=o.sent(),o.label=2;case 2:return r.push(i),[2]}})})}),n.push(s),[2]})})}),[4,Promise.all(n)]);case 1:return s.sent(),[2,r]}})})},t.prototype.encryptFields=function(e,t){return o(this,void 0,void 0,function(){var n,r;return a(this,function(i){switch(i.label){case 0:return e&&e.length?(n=this,r=[],[4,e.reduce(function(e,i){return e.then(function(){return n.encryptField(i,t)}).then(function(e){r.push(e)})},Promise.resolve())]):[2,null];case 1:return i.sent(),[2,r]}})})},t.prototype.encryptField=function(e,t){return o(this,void 0,void 0,function(){var n;return a(this,function(r){switch(r.label){case 0:return(n=new h.Field).type=e.type,e.type===l.FieldType.Boolean&&"true"!==e.value&&(e.value="false"),[4,this.encryptObjProperty(e,n,{name:null,value:null},t)];case 1:return r.sent(),[2,n]}})})},t.prototype.encryptPasswordHistories=function(e,t){return o(this,void 0,void 0,function(){var n,r;return a(this,function(i){switch(i.label){case 0:return e&&e.length?(n=this,r=[],[4,e.reduce(function(e,i){return e.then(function(){return n.encryptPasswordHistory(i,t)}).then(function(e){r.push(e)})},Promise.resolve())]):[2,null];case 1:return i.sent(),[2,r]}})})},t.prototype.encryptPasswordHistory=function(e,t){return o(this,void 0,void 0,function(){var n;return a(this,function(r){switch(r.label){case 0:return(n=new g.Password).lastUsedDate=e.lastUsedDate,[4,this.encryptObjProperty(e,n,{password:null},t)];case 1:return r.sent(),[2,n]}})})},t.prototype.get=function(e){return o(this,void 0,void 0,function(){var t,n,r;return a(this,function(i){switch(i.label){case 0:return[4,this.userService.getUserId()];case 1:return t=i.sent(),[4,this.storageService.get(D)];case 2:return n=i.sent(),[4,this.storageService.get(B+t)];case 3:return null!=(r=i.sent())&&r.hasOwnProperty(e)?[2,new m.Cipher(r[e],!1,n?n[e]:null)]:[2,null]}})})},t.prototype.getAll=function(){return o(this,void 0,void 0,function(){var e,t,n,r,i;return a(this,function(o){switch(o.label){case 0:return[4,this.userService.getUserId()];case 1:return e=o.sent(),[4,this.storageService.get(D)];case 2:return t=o.sent(),[4,this.storageService.get(B+e)];case 3:for(i in n=o.sent(),r=[],n)n.hasOwnProperty(i)&&r.push(new m.Cipher(n[i],!1,t?t[i]:null));return[2,r]}})})},t.prototype.getAllDecrypted=function(){return o(this,void 0,void 0,function(){var e,t;return a(this,function(n){switch(n.label){case 0:return null!=this.decryptedCipherCache?[2,this.decryptedCipherCache]:(e=[],[4,this.cryptoService.hasKey()]);case 1:if(!n.sent())throw new Error("No key.");return t=[],[4,this.getAll()];case 2:return n.sent().forEach(function(n){t.push(n.decrypt().then(function(t){return e.push(t)}))}),[4,Promise.all(t)];case 3:return n.sent(),e.sort(this.getLocaleSortingFunction()),this.decryptedCipherCache=e,[2,this.decryptedCipherCache]}})})},t.prototype.getAllDecryptedForGrouping=function(e,t){return void 0===t&&(t=!0),o(this,void 0,void 0,function(){return a(this,function(n){switch(n.label){case 0:return[4,this.getAllDecrypted()];case 1:return[2,n.sent().filter(function(n){return!n.isDeleted&&(!(!t||n.folderId!==e)||!t&&null!=n.collectionIds&&n.collectionIds.indexOf(e)>-1)})]}})})},t.prototype.getAllDecryptedForUrl=function(e,t,n){return void 0===n&&(n=null),o(this,void 0,void 0,function(){var r,i,o,l,p;return a(this,function(a){switch(a.label){case 0:return null==e&&null==t?[2,Promise.resolve([])]:(r=M.Utils.getDomain(e),i=null==r?Promise.resolve([]):this.settingsService.getEquivalentDomains().then(function(e){var t=[];return e.forEach(function(e){e.length&&e.indexOf(r)>=0&&(t=t.concat(e))}),t.length||t.push(r),t}),[4,Promise.all([i,this.getAllDecrypted()])]);case 1:return o=a.sent(),l=o[0],p=o[1],null!=n?[3,3]:[4,this.storageService.get(O.ConstantsService.defaultUriMatch)];case 2:null==(n=a.sent())&&(n=c.UriMatchType.Domain),a.label=3;case 3:return[2,p.filter(function(i){if(null!=i.deletedDate)return!1;if(null!=t&&t.indexOf(i.type)>-1)return!0;if(null!=e&&i.type===s.CipherType.Login&&null!=i.login.uris)for(var o=0;o-1){if(!j.has(p.domain))return!0;var u=M.Utils.getHost(e);if(!j.get(p.domain).has(u))return!0}break;case c.UriMatchType.Host:var d=M.Utils.getHost(e);if(null!=d&&d===M.Utils.getHost(p.uri))return!0;break;case c.UriMatchType.Exact:if(e===p.uri)return!0;break;case c.UriMatchType.StartsWith:if(e.startsWith(p.uri))return!0;break;case c.UriMatchType.RegularExpression:try{if(new RegExp(p.uri,"i").test(e))return!0}catch(a){}break;case c.UriMatchType.Never:}}return!1})]}})})},t.prototype.getAllFromApiForOrganization=function(e){return o(this,void 0,void 0,function(){var t,n,r;return a(this,function(i){switch(i.label){case 0:return[4,this.apiService.getCiphersOrganization(e)];case 1:return null!=(t=i.sent())&&null!=t.data&&t.data.length?(n=[],r=[],t.data.forEach(function(e){var t=new p.CipherData(e),i=new m.Cipher(t);r.push(i.decrypt().then(function(e){return n.push(e)}))}),[4,Promise.all(r)]):[3,3];case 2:return i.sent(),n.sort(this.getLocaleSortingFunction()),[2,n];case 3:return[2,[]]}})})},t.prototype.getLastUsedForUrl=function(e){return o(this,void 0,void 0,function(){return a(this,function(t){return[2,this.getCipherForUrl(e,!0,!1)]})})},t.prototype.getLastLaunchedForUrl=function(e){return o(this,void 0,void 0,function(){return a(this,function(t){return[2,this.getCipherForUrl(e,!1,!0)]})})},t.prototype.getNextCipherForUrl=function(e){return o(this,void 0,void 0,function(){return a(this,function(t){return[2,this.getCipherForUrl(e,!1,!1)]})})},t.prototype.updateLastUsedIndexForUrl=function(e){this.sortedCiphersCache.updateLastUsedIndex(e)},t.prototype.updateLastUsedDate=function(e){return o(this,void 0,void 0,function(){var t,n,r;return a(this,function(i){switch(i.label){case 0:return[4,this.storageService.get(D)];case 1:return(t=i.sent())||(t={}),t[e]?t[e].lastUsedDate=(new Date).getTime():t[e]={lastUsedDate:(new Date).getTime()},[4,this.storageService.save(D,t)];case 2:if(i.sent(),null==this.decryptedCipherCache)return[2];for(n=0;nr?-1:null!=r&&null==n?1:0},t.prototype.sortCiphersByLastUsedThenName=function(e,t){var n=this.sortCiphersByLastUsed(e,t);return 0!==n?n:this.getLocaleSortingFunction()(e,t)},t.prototype.getLocaleSortingFunction=function(){var e=this;return function(t,n){var r=t.name,i=n.name;if(null==r&&null!=i)return-1;if(null!=r&&null==i)return 1;if(null==r&&null==i)return 0;var o=e.i18nService.collator?e.i18nService.collator.compare(r,i):r.localeCompare(i);return 0!==o||t.type!==s.CipherType.Login||n.type!==s.CipherType.Login?o:(null!=t.login.username&&(r+=t.login.username),null!=n.login.username&&(i+=n.login.username),e.i18nService.collator?e.i18nService.collator.compare(r,i):r.localeCompare(i))}},t.prototype.softDelete=function(e){return o(this,void 0,void 0,function(){var t,n,r;return a(this,function(i){switch(i.label){case 0:return[4,this.userService.getUserId()];case 1:return t=i.sent(),[4,this.storageService.get(B+t)];case 2:return null==(n=i.sent())?[2]:(r=function(e){null!=n[e]&&(n[e].deletedDate=(new Date).toISOString())},"string"==typeof e?r(e):e.forEach(r),[4,this.storageService.save(B+t,n)]);case 3:return i.sent(),this.decryptedCipherCache=null,[2]}})})},t.prototype.softDeleteWithServer=function(e){return o(this,void 0,void 0,function(){return a(this,function(t){switch(t.label){case 0:return[4,this.apiService.putDeleteCipher(e)];case 1:return t.sent(),[4,this.softDelete(e)];case 2:return t.sent(),[2]}})})},t.prototype.softDeleteManyWithServer=function(e){return o(this,void 0,void 0,function(){return a(this,function(t){switch(t.label){case 0:return[4,this.apiService.putDeleteManyCiphers(new b.CipherBulkDeleteRequest(e))];case 1:return t.sent(),[4,this.softDelete(e)];case 2:return t.sent(),[2]}})})},t.prototype.restore=function(e){return o(this,void 0,void 0,function(){var t,n,r;return a(this,function(i){switch(i.label){case 0:return[4,this.userService.getUserId()];case 1:return t=i.sent(),[4,this.storageService.get(B+t)];case 2:return null==(n=i.sent())?[2]:(r=function(e){null!=n[e.id]&&(n[e.id].deletedDate=null,n[e.id].revisionDate=e.revisionDate)},"Array"===e.constructor.name?e.forEach(r):r(e),[4,this.storageService.save(B+t,n)]);case 3:return i.sent(),this.decryptedCipherCache=null,[2]}})})},t.prototype.restoreWithServer=function(e){return o(this,void 0,void 0,function(){var t;return a(this,function(n){switch(n.label){case 0:return[4,this.apiService.putRestoreCipher(e)];case 1:return t=n.sent(),[4,this.restore({id:e,revisionDate:t.revisionDate})];case 2:return n.sent(),[2]}})})},t.prototype.restoreManyWithServer=function(e){return o(this,void 0,void 0,function(){var t,n,r,i,o;return a(this,function(a){switch(a.label){case 0:return[4,this.apiService.putRestoreManyCiphers(new w.CipherBulkRestoreRequest(e))];case 1:for(t=a.sent(),n=[],r=0,i=t.data;r0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0;s--)(i=e[s])&&(a=(o<3?i(a):o>3?i(t,n,a):i(t,n))||a);return o>3&&a&&Object.defineProperty(t,n,a),a},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?[2,this.orgKeys]:[4,this.storageService.get(g)];case 1:if(null==(e=a.sent()))return[2,null];for(i in t=new Map,n=!1,r=[],e)r.push(i);o=0,a.label=2;case 2:return o53)throw new Error("We cannot generate numbers larger than 53 bits.");return o=Math.ceil(i/8),s=Math.pow(2,i)-1,c=Uint8Array.bind,[4,this.cryptoFunctionService.randomBytes(o)];case 1:for(l=new(c.apply(Uint8Array,[void 0,a.sent()])),p=8*(o-1),u=0;u=r?[2,this.randomNumber(e,t)]:[2,e+n]}})})},e.prototype.aesEncrypt=function(e,t){return o(this,void 0,void 0,function(){var n,r,i,o,s,l;return a(this,function(a){switch(a.label){case 0:return n=new u.EncryptedObject,r=n,[4,this.getKeyForEncryption(t)];case 1:return r.key=a.sent(),i=n,[4,this.cryptoFunctionService.randomBytes(16)];case 2:return i.iv=a.sent(),o=n,[4,this.cryptoFunctionService.aesEncrypt(e,n.iv,n.key.encKey)];case 3:return o.data=a.sent(),null==n.key.macKey?[3,5]:((s=new Uint8Array(n.iv.byteLength+n.data.byteLength)).set(new Uint8Array(n.iv),0),s.set(new Uint8Array(n.data),n.iv.byteLength),l=n,[4,this.cryptoFunctionService.hmac(s.buffer,n.key.macKey,"sha256")]);case 4:l.mac=a.sent(),a.label=5;case 5:return[2,n]}})})},e.prototype.aesDecryptToUtf8=function(e,t,n,r,i){return o(this,void 0,void 0,function(){var o,s,l,c;return a(this,function(a){switch(a.label){case 0:return[4,this.getKeyForEncryption(i)];case 1:return o=a.sent(),null!=(s=this.resolveLegacyKey(e,o)).macKey&&null==r?(this.logService.error("mac required."),[2,null]):s.encType!==e?(this.logService.error("encType unavailable."),[2,null]):null==(l=this.cryptoFunctionService.aesDecryptFastParameters(t,n,r,s)).macKey||null==l.mac?[3,4]:[4,this.cryptoFunctionService.hmacFast(l.macData,l.macKey,"sha256")];case 2:return c=a.sent(),[4,this.cryptoFunctionService.compareFast(l.mac,c)];case 3:if(!a.sent())return this.logService.error("mac failed."),[2,null];a.label=4;case 4:return[2,this.cryptoFunctionService.aesDecryptFast(l)]}})})},e.prototype.aesDecryptToBytes=function(e,t,n,r,i){return o(this,void 0,void 0,function(){var o,s,l,c;return a(this,function(a){switch(a.label){case 0:return[4,this.getKeyForEncryption(i)];case 1:return o=a.sent(),null!=(s=this.resolveLegacyKey(e,o)).macKey&&null==r?[2,null]:s.encType!==e?[2,null]:null==s.macKey||null==r?[3,4]:((l=new Uint8Array(n.byteLength+t.byteLength)).set(new Uint8Array(n),0),l.set(new Uint8Array(t),n.byteLength),[4,this.cryptoFunctionService.hmac(l.buffer,s.macKey,"sha256")]);case 2:return null===(c=a.sent())?[2,null]:[4,this.cryptoFunctionService.compare(r,c)];case 3:if(!a.sent())return this.logService.error("mac failed."),[2,null];a.label=4;case 4:return[4,this.cryptoFunctionService.aesDecrypt(t,n,s.encKey)];case 5:return[2,a.sent()]}})})},e.prototype.getKeyForEncryption=function(e){return o(this,void 0,void 0,function(){var t;return a(this,function(n){switch(n.label){case 0:return null!=e?[2,e]:[4,this.getEncKey()];case 1:return null!=(t=n.sent())?[2,t]:[4,this.getKey()];case 2:return[2,n.sent()]}})})},e.prototype.resolveLegacyKey=function(e,t){return e===l.EncryptionType.AesCbc128_HmacSha256_B64&&t.encType===l.EncryptionType.AesCbc256_B64?(null==this.legacyEtmKey&&(this.legacyEtmKey=new d.SymmetricCryptoKey(t.key,l.EncryptionType.AesCbc128_HmacSha256_B64)),this.legacyEtmKey):t},e.prototype.stretchKey=function(e){return o(this,void 0,void 0,function(){var t,n,r;return a(this,function(i){switch(i.label){case 0:return t=new Uint8Array(64),[4,this.cryptoFunctionService.hkdfExpand(e.key,"enc",32,"sha256")];case 1:return n=i.sent(),[4,this.cryptoFunctionService.hkdfExpand(e.key,"mac",32,"sha256")];case 2:return r=i.sent(),t.set(new Uint8Array(n)),t.set(new Uint8Array(r),32),[2,new d.SymmetricCryptoKey(t.buffer)]}})})},e.prototype.hashPhrase=function(e,t){return void 0===t&&(t=64),o(this,void 0,void 0,function(){var n,r,i,o,l,c,p;return a(this,function(a){if(n=Math.log(v.EEFLongWordList.length)/Math.log(2),r=Math.ceil(t/n),i=Array.from(new Uint8Array(e)),o=4*i.length,r*n>o)throw new Error("Output entropy of hash function is too small");for(l=[],c=s.fromArray(i,256);r--;)p=c.mod(v.EEFLongWordList.length),c=c.divide(v.EEFLongWordList.length),l.push(v.EEFLongWordList[p]);return[2,l]})})},e.prototype.buildEncKey=function(e,t){return o(this,void 0,void 0,function(){var n,r;return a(this,function(i){switch(i.label){case 0:return n=null,32!==e.key.byteLength?[3,3]:[4,this.stretchKey(e)];case 1:return r=i.sent(),[4,this.encrypt(t,r)];case 2:return n=i.sent(),[3,6];case 3:return 64!==e.key.byteLength?[3,5]:[4,this.encrypt(t,e)];case 4:return n=i.sent(),[3,6];case 5:throw new Error("Invalid key size.");case 6:return[2,[new d.SymmetricCryptoKey(t),n]]}})})},r([h.sequentialize(function(){return"getEncKey"}),i("design:type",Function),i("design:paramtypes",[d.SymmetricCryptoKey]),i("design:returntype",Promise)],e.prototype,"getEncKey",null),r([h.sequentialize(function(){return"getOrgKeys"}),i("design:type",Function),i("design:paramtypes",[]),i("design:returntype",Promise)],e.prototype,"getOrgKeys",null),e}();t.CryptoService=w},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EEFLongWordList=["abacus","abdomen","abdominal","abide","abiding","ability","ablaze","able","abnormal","abrasion","abrasive","abreast","abridge","abroad","abruptly","absence","absentee","absently","absinthe","absolute","absolve","abstain","abstract","absurd","accent","acclaim","acclimate","accompany","account","accuracy","accurate","accustom","acetone","achiness","aching","acid","acorn","acquaint","acquire","acre","acrobat","acronym","acting","action","activate","activator","active","activism","activist","activity","actress","acts","acutely","acuteness","aeration","aerobics","aerosol","aerospace","afar","affair","affected","affecting","affection","affidavit","affiliate","affirm","affix","afflicted","affluent","afford","affront","aflame","afloat","aflutter","afoot","afraid","afterglow","afterlife","aftermath","aftermost","afternoon","aged","ageless","agency","agenda","agent","aggregate","aghast","agile","agility","aging","agnostic","agonize","agonizing","agony","agreeable","agreeably","agreed","agreeing","agreement","aground","ahead","ahoy","aide","aids","aim","ajar","alabaster","alarm","albatross","album","alfalfa","algebra","algorithm","alias","alibi","alienable","alienate","aliens","alike","alive","alkaline","alkalize","almanac","almighty","almost","aloe","aloft","aloha","alone","alongside","aloof","alphabet","alright","although","altitude","alto","aluminum","alumni","always","amaretto","amaze","amazingly","amber","ambiance","ambiguity","ambiguous","ambition","ambitious","ambulance","ambush","amendable","amendment","amends","amenity","amiable","amicably","amid","amigo","amino","amiss","ammonia","ammonium","amnesty","amniotic","among","amount","amperage","ample","amplifier","amplify","amply","amuck","amulet","amusable","amused","amusement","amuser","amusing","anaconda","anaerobic","anagram","anatomist","anatomy","anchor","anchovy","ancient","android","anemia","anemic","aneurism","anew","angelfish","angelic","anger","angled","angler","angles","angling","angrily","angriness","anguished","angular","animal","animate","animating","animation","animator","anime","animosity","ankle","annex","annotate","announcer","annoying","annually","annuity","anointer","another","answering","antacid","antarctic","anteater","antelope","antennae","anthem","anthill","anthology","antibody","antics","antidote","antihero","antiquely","antiques","antiquity","antirust","antitoxic","antitrust","antiviral","antivirus","antler","antonym","antsy","anvil","anybody","anyhow","anymore","anyone","anyplace","anything","anytime","anyway","anywhere","aorta","apache","apostle","appealing","appear","appease","appeasing","appendage","appendix","appetite","appetizer","applaud","applause","apple","appliance","applicant","applied","apply","appointee","appraisal","appraiser","apprehend","approach","approval","approve","apricot","april","apron","aptitude","aptly","aqua","aqueduct","arbitrary","arbitrate","ardently","area","arena","arguable","arguably","argue","arise","armadillo","armband","armchair","armed","armful","armhole","arming","armless","armoire","armored","armory","armrest","army","aroma","arose","around","arousal","arrange","array","arrest","arrival","arrive","arrogance","arrogant","arson","art","ascend","ascension","ascent","ascertain","ashamed","ashen","ashes","ashy","aside","askew","asleep","asparagus","aspect","aspirate","aspire","aspirin","astonish","astound","astride","astrology","astronaut","astronomy","astute","atlantic","atlas","atom","atonable","atop","atrium","atrocious","atrophy","attach","attain","attempt","attendant","attendee","attention","attentive","attest","attic","attire","attitude","attractor","attribute","atypical","auction","audacious","audacity","audible","audibly","audience","audio","audition","augmented","august","authentic","author","autism","autistic","autograph","automaker","automated","automatic","autopilot","available","avalanche","avatar","avenge","avenging","avenue","average","aversion","avert","aviation","aviator","avid","avoid","await","awaken","award","aware","awhile","awkward","awning","awoke","awry","axis","babble","babbling","babied","baboon","backache","backboard","backboned","backdrop","backed","backer","backfield","backfire","backhand","backing","backlands","backlash","backless","backlight","backlit","backlog","backpack","backpedal","backrest","backroom","backshift","backside","backslid","backspace","backspin","backstab","backstage","backtalk","backtrack","backup","backward","backwash","backwater","backyard","bacon","bacteria","bacterium","badass","badge","badland","badly","badness","baffle","baffling","bagel","bagful","baggage","bagged","baggie","bagginess","bagging","baggy","bagpipe","baguette","baked","bakery","bakeshop","baking","balance","balancing","balcony","balmy","balsamic","bamboo","banana","banish","banister","banjo","bankable","bankbook","banked","banker","banking","banknote","bankroll","banner","bannister","banshee","banter","barbecue","barbed","barbell","barber","barcode","barge","bargraph","barista","baritone","barley","barmaid","barman","barn","barometer","barrack","barracuda","barrel","barrette","barricade","barrier","barstool","bartender","barterer","bash","basically","basics","basil","basin","basis","basket","batboy","batch","bath","baton","bats","battalion","battered","battering","battery","batting","battle","bauble","bazooka","blabber","bladder","blade","blah","blame","blaming","blanching","blandness","blank","blaspheme","blasphemy","blast","blatancy","blatantly","blazer","blazing","bleach","bleak","bleep","blemish","blend","bless","blighted","blimp","bling","blinked","blinker","blinking","blinks","blip","blissful","blitz","blizzard","bloated","bloating","blob","blog","bloomers","blooming","blooper","blot","blouse","blubber","bluff","bluish","blunderer","blunt","blurb","blurred","blurry","blurt","blush","blustery","boaster","boastful","boasting","boat","bobbed","bobbing","bobble","bobcat","bobsled","bobtail","bodacious","body","bogged","boggle","bogus","boil","bok","bolster","bolt","bonanza","bonded","bonding","bondless","boned","bonehead","boneless","bonelike","boney","bonfire","bonnet","bonsai","bonus","bony","boogeyman","boogieman","book","boondocks","booted","booth","bootie","booting","bootlace","bootleg","boots","boozy","borax","boring","borough","borrower","borrowing","boss","botanical","botanist","botany","botch","both","bottle","bottling","bottom","bounce","bouncing","bouncy","bounding","boundless","bountiful","bovine","boxcar","boxer","boxing","boxlike","boxy","breach","breath","breeches","breeching","breeder","breeding","breeze","breezy","brethren","brewery","brewing","briar","bribe","brick","bride","bridged","brigade","bright","brilliant","brim","bring","brink","brisket","briskly","briskness","bristle","brittle","broadband","broadcast","broaden","broadly","broadness","broadside","broadways","broiler","broiling","broken","broker","bronchial","bronco","bronze","bronzing","brook","broom","brought","browbeat","brownnose","browse","browsing","bruising","brunch","brunette","brunt","brush","brussels","brute","brutishly","bubble","bubbling","bubbly","buccaneer","bucked","bucket","buckle","buckshot","buckskin","bucktooth","buckwheat","buddhism","buddhist","budding","buddy","budget","buffalo","buffed","buffer","buffing","buffoon","buggy","bulb","bulge","bulginess","bulgur","bulk","bulldog","bulldozer","bullfight","bullfrog","bullhorn","bullion","bullish","bullpen","bullring","bullseye","bullwhip","bully","bunch","bundle","bungee","bunion","bunkbed","bunkhouse","bunkmate","bunny","bunt","busboy","bush","busily","busload","bust","busybody","buzz","cabana","cabbage","cabbie","cabdriver","cable","caboose","cache","cackle","cacti","cactus","caddie","caddy","cadet","cadillac","cadmium","cage","cahoots","cake","calamari","calamity","calcium","calculate","calculus","caliber","calibrate","calm","caloric","calorie","calzone","camcorder","cameo","camera","camisole","camper","campfire","camping","campsite","campus","canal","canary","cancel","candied","candle","candy","cane","canine","canister","cannabis","canned","canning","cannon","cannot","canola","canon","canopener","canopy","canteen","canyon","capable","capably","capacity","cape","capillary","capital","capitol","capped","capricorn","capsize","capsule","caption","captivate","captive","captivity","capture","caramel","carat","caravan","carbon","cardboard","carded","cardiac","cardigan","cardinal","cardstock","carefully","caregiver","careless","caress","caretaker","cargo","caring","carless","carload","carmaker","carnage","carnation","carnival","carnivore","carol","carpenter","carpentry","carpool","carport","carried","carrot","carrousel","carry","cartel","cartload","carton","cartoon","cartridge","cartwheel","carve","carving","carwash","cascade","case","cash","casing","casino","casket","cassette","casually","casualty","catacomb","catalog","catalyst","catalyze","catapult","cataract","catatonic","catcall","catchable","catcher","catching","catchy","caterer","catering","catfight","catfish","cathedral","cathouse","catlike","catnap","catnip","catsup","cattail","cattishly","cattle","catty","catwalk","caucasian","caucus","causal","causation","cause","causing","cauterize","caution","cautious","cavalier","cavalry","caviar","cavity","cedar","celery","celestial","celibacy","celibate","celtic","cement","census","ceramics","ceremony","certainly","certainty","certified","certify","cesarean","cesspool","chafe","chaffing","chain","chair","chalice","challenge","chamber","chamomile","champion","chance","change","channel","chant","chaos","chaperone","chaplain","chapped","chaps","chapter","character","charbroil","charcoal","charger","charging","chariot","charity","charm","charred","charter","charting","chase","chasing","chaste","chastise","chastity","chatroom","chatter","chatting","chatty","cheating","cheddar","cheek","cheer","cheese","cheesy","chef","chemicals","chemist","chemo","cherisher","cherub","chess","chest","chevron","chevy","chewable","chewer","chewing","chewy","chief","chihuahua","childcare","childhood","childish","childless","childlike","chili","chill","chimp","chip","chirping","chirpy","chitchat","chivalry","chive","chloride","chlorine","choice","chokehold","choking","chomp","chooser","choosing","choosy","chop","chosen","chowder","chowtime","chrome","chubby","chuck","chug","chummy","chump","chunk","churn","chute","cider","cilantro","cinch","cinema","cinnamon","circle","circling","circular","circulate","circus","citable","citadel","citation","citizen","citric","citrus","city","civic","civil","clad","claim","clambake","clammy","clamor","clamp","clamshell","clang","clanking","clapped","clapper","clapping","clarify","clarinet","clarity","clash","clasp","class","clatter","clause","clavicle","claw","clay","clean","clear","cleat","cleaver","cleft","clench","clergyman","clerical","clerk","clever","clicker","client","climate","climatic","cling","clinic","clinking","clip","clique","cloak","clobber","clock","clone","cloning","closable","closure","clothes","clothing","cloud","clover","clubbed","clubbing","clubhouse","clump","clumsily","clumsy","clunky","clustered","clutch","clutter","coach","coagulant","coastal","coaster","coasting","coastland","coastline","coat","coauthor","cobalt","cobbler","cobweb","cocoa","coconut","cod","coeditor","coerce","coexist","coffee","cofounder","cognition","cognitive","cogwheel","coherence","coherent","cohesive","coil","coke","cola","cold","coleslaw","coliseum","collage","collapse","collar","collected","collector","collide","collie","collision","colonial","colonist","colonize","colony","colossal","colt","coma","come","comfort","comfy","comic","coming","comma","commence","commend","comment","commerce","commode","commodity","commodore","common","commotion","commute","commuting","compacted","compacter","compactly","compactor","companion","company","compare","compel","compile","comply","component","composed","composer","composite","compost","composure","compound","compress","comprised","computer","computing","comrade","concave","conceal","conceded","concept","concerned","concert","conch","concierge","concise","conclude","concrete","concur","condense","condiment","condition","condone","conducive","conductor","conduit","cone","confess","confetti","confidant","confident","confider","confiding","configure","confined","confining","confirm","conflict","conform","confound","confront","confused","confusing","confusion","congenial","congested","congrats","congress","conical","conjoined","conjure","conjuror","connected","connector","consensus","consent","console","consoling","consonant","constable","constant","constrain","constrict","construct","consult","consumer","consuming","contact","container","contempt","contend","contented","contently","contents","contest","context","contort","contour","contrite","control","contusion","convene","convent","copartner","cope","copied","copier","copilot","coping","copious","copper","copy","coral","cork","cornball","cornbread","corncob","cornea","corned","corner","cornfield","cornflake","cornhusk","cornmeal","cornstalk","corny","coronary","coroner","corporal","corporate","corral","correct","corridor","corrode","corroding","corrosive","corsage","corset","cortex","cosigner","cosmetics","cosmic","cosmos","cosponsor","cost","cottage","cotton","couch","cough","could","countable","countdown","counting","countless","country","county","courier","covenant","cover","coveted","coveting","coyness","cozily","coziness","cozy","crabbing","crabgrass","crablike","crabmeat","cradle","cradling","crafter","craftily","craftsman","craftwork","crafty","cramp","cranberry","crane","cranial","cranium","crank","crate","crave","craving","crawfish","crawlers","crawling","crayfish","crayon","crazed","crazily","craziness","crazy","creamed","creamer","creamlike","crease","creasing","creatable","create","creation","creative","creature","credible","credibly","credit","creed","creme","creole","crepe","crept","crescent","crested","cresting","crestless","crevice","crewless","crewman","crewmate","crib","cricket","cried","crier","crimp","crimson","cringe","cringing","crinkle","crinkly","crisped","crisping","crisply","crispness","crispy","criteria","critter","croak","crock","crook","croon","crop","cross","crouch","crouton","crowbar","crowd","crown","crucial","crudely","crudeness","cruelly","cruelness","cruelty","crumb","crummiest","crummy","crumpet","crumpled","cruncher","crunching","crunchy","crusader","crushable","crushed","crusher","crushing","crust","crux","crying","cryptic","crystal","cubbyhole","cube","cubical","cubicle","cucumber","cuddle","cuddly","cufflink","culinary","culminate","culpable","culprit","cultivate","cultural","culture","cupbearer","cupcake","cupid","cupped","cupping","curable","curator","curdle","cure","curfew","curing","curled","curler","curliness","curling","curly","curry","curse","cursive","cursor","curtain","curtly","curtsy","curvature","curve","curvy","cushy","cusp","cussed","custard","custodian","custody","customary","customer","customize","customs","cut","cycle","cyclic","cycling","cyclist","cylinder","cymbal","cytoplasm","cytoplast","dab","dad","daffodil","dagger","daily","daintily","dainty","dairy","daisy","dallying","dance","dancing","dandelion","dander","dandruff","dandy","danger","dangle","dangling","daredevil","dares","daringly","darkened","darkening","darkish","darkness","darkroom","darling","darn","dart","darwinism","dash","dastardly","data","datebook","dating","daughter","daunting","dawdler","dawn","daybed","daybreak","daycare","daydream","daylight","daylong","dayroom","daytime","dazzler","dazzling","deacon","deafening","deafness","dealer","dealing","dealmaker","dealt","dean","debatable","debate","debating","debit","debrief","debtless","debtor","debug","debunk","decade","decaf","decal","decathlon","decay","deceased","deceit","deceiver","deceiving","december","decency","decent","deception","deceptive","decibel","decidable","decimal","decimeter","decipher","deck","declared","decline","decode","decompose","decorated","decorator","decoy","decrease","decree","dedicate","dedicator","deduce","deduct","deed","deem","deepen","deeply","deepness","deface","defacing","defame","default","defeat","defection","defective","defendant","defender","defense","defensive","deferral","deferred","defiance","defiant","defile","defiling","define","definite","deflate","deflation","deflator","deflected","deflector","defog","deforest","defraud","defrost","deftly","defuse","defy","degraded","degrading","degrease","degree","dehydrate","deity","dejected","delay","delegate","delegator","delete","deletion","delicacy","delicate","delicious","delighted","delirious","delirium","deliverer","delivery","delouse","delta","deluge","delusion","deluxe","demanding","demeaning","demeanor","demise","democracy","democrat","demote","demotion","demystify","denatured","deniable","denial","denim","denote","dense","density","dental","dentist","denture","deny","deodorant","deodorize","departed","departure","depict","deplete","depletion","deplored","deploy","deport","depose","depraved","depravity","deprecate","depress","deprive","depth","deputize","deputy","derail","deranged","derby","derived","desecrate","deserve","deserving","designate","designed","designer","designing","deskbound","desktop","deskwork","desolate","despair","despise","despite","destiny","destitute","destruct","detached","detail","detection","detective","detector","detention","detergent","detest","detonate","detonator","detoxify","detract","deuce","devalue","deviancy","deviant","deviate","deviation","deviator","device","devious","devotedly","devotee","devotion","devourer","devouring","devoutly","dexterity","dexterous","diabetes","diabetic","diabolic","diagnoses","diagnosis","diagram","dial","diameter","diaper","diaphragm","diary","dice","dicing","dictate","dictation","dictator","difficult","diffused","diffuser","diffusion","diffusive","dig","dilation","diligence","diligent","dill","dilute","dime","diminish","dimly","dimmed","dimmer","dimness","dimple","diner","dingbat","dinghy","dinginess","dingo","dingy","dining","dinner","diocese","dioxide","diploma","dipped","dipper","dipping","directed","direction","directive","directly","directory","direness","dirtiness","disabled","disagree","disallow","disarm","disarray","disaster","disband","disbelief","disburse","discard","discern","discharge","disclose","discolor","discount","discourse","discover","discuss","disdain","disengage","disfigure","disgrace","dish","disinfect","disjoin","disk","dislike","disliking","dislocate","dislodge","disloyal","dismantle","dismay","dismiss","dismount","disobey","disorder","disown","disparate","disparity","dispatch","dispense","dispersal","dispersed","disperser","displace","display","displease","disposal","dispose","disprove","dispute","disregard","disrupt","dissuade","distance","distant","distaste","distill","distinct","distort","distract","distress","district","distrust","ditch","ditto","ditzy","dividable","divided","dividend","dividers","dividing","divinely","diving","divinity","divisible","divisibly","division","divisive","divorcee","dizziness","dizzy","doable","docile","dock","doctrine","document","dodge","dodgy","doily","doing","dole","dollar","dollhouse","dollop","dolly","dolphin","domain","domelike","domestic","dominion","dominoes","donated","donation","donator","donor","donut","doodle","doorbell","doorframe","doorknob","doorman","doormat","doornail","doorpost","doorstep","doorstop","doorway","doozy","dork","dormitory","dorsal","dosage","dose","dotted","doubling","douche","dove","down","dowry","doze","drab","dragging","dragonfly","dragonish","dragster","drainable","drainage","drained","drainer","drainpipe","dramatic","dramatize","drank","drapery","drastic","draw","dreaded","dreadful","dreadlock","dreamboat","dreamily","dreamland","dreamless","dreamlike","dreamt","dreamy","drearily","dreary","drench","dress","drew","dribble","dried","drier","drift","driller","drilling","drinkable","drinking","dripping","drippy","drivable","driven","driver","driveway","driving","drizzle","drizzly","drone","drool","droop","drop-down","dropbox","dropkick","droplet","dropout","dropper","drove","drown","drowsily","drudge","drum","dry","dubbed","dubiously","duchess","duckbill","ducking","duckling","ducktail","ducky","duct","dude","duffel","dugout","duh","duke","duller","dullness","duly","dumping","dumpling","dumpster","duo","dupe","duplex","duplicate","duplicity","durable","durably","duration","duress","during","dusk","dust","dutiful","duty","duvet","dwarf","dweeb","dwelled","dweller","dwelling","dwindle","dwindling","dynamic","dynamite","dynasty","dyslexia","dyslexic","each","eagle","earache","eardrum","earflap","earful","earlobe","early","earmark","earmuff","earphone","earpiece","earplugs","earring","earshot","earthen","earthlike","earthling","earthly","earthworm","earthy","earwig","easeful","easel","easiest","easily","easiness","easing","eastbound","eastcoast","easter","eastward","eatable","eaten","eatery","eating","eats","ebay","ebony","ebook","ecard","eccentric","echo","eclair","eclipse","ecologist","ecology","economic","economist","economy","ecosphere","ecosystem","edge","edginess","edging","edgy","edition","editor","educated","education","educator","eel","effective","effects","efficient","effort","eggbeater","egging","eggnog","eggplant","eggshell","egomaniac","egotism","egotistic","either","eject","elaborate","elastic","elated","elbow","eldercare","elderly","eldest","electable","election","elective","elephant","elevate","elevating","elevation","elevator","eleven","elf","eligible","eligibly","eliminate","elite","elitism","elixir","elk","ellipse","elliptic","elm","elongated","elope","eloquence","eloquent","elsewhere","elude","elusive","elves","email","embargo","embark","embassy","embattled","embellish","ember","embezzle","emblaze","emblem","embody","embolism","emboss","embroider","emcee","emerald","emergency","emission","emit","emote","emoticon","emotion","empathic","empathy","emperor","emphases","emphasis","emphasize","emphatic","empirical","employed","employee","employer","emporium","empower","emptier","emptiness","empty","emu","enable","enactment","enamel","enchanted","enchilada","encircle","enclose","enclosure","encode","encore","encounter","encourage","encroach","encrust","encrypt","endanger","endeared","endearing","ended","ending","endless","endnote","endocrine","endorphin","endorse","endowment","endpoint","endurable","endurance","enduring","energetic","energize","energy","enforced","enforcer","engaged","engaging","engine","engorge","engraved","engraver","engraving","engross","engulf","enhance","enigmatic","enjoyable","enjoyably","enjoyer","enjoying","enjoyment","enlarged","enlarging","enlighten","enlisted","enquirer","enrage","enrich","enroll","enslave","ensnare","ensure","entail","entangled","entering","entertain","enticing","entire","entitle","entity","entomb","entourage","entrap","entree","entrench","entrust","entryway","entwine","enunciate","envelope","enviable","enviably","envious","envision","envoy","envy","enzyme","epic","epidemic","epidermal","epidermis","epidural","epilepsy","epileptic","epilogue","epiphany","episode","equal","equate","equation","equator","equinox","equipment","equity","equivocal","eradicate","erasable","erased","eraser","erasure","ergonomic","errand","errant","erratic","error","erupt","escalate","escalator","escapable","escapade","escapist","escargot","eskimo","esophagus","espionage","espresso","esquire","essay","essence","essential","establish","estate","esteemed","estimate","estimator","estranged","estrogen","etching","eternal","eternity","ethanol","ether","ethically","ethics","euphemism","evacuate","evacuee","evade","evaluate","evaluator","evaporate","evasion","evasive","even","everglade","evergreen","everybody","everyday","everyone","evict","evidence","evident","evil","evoke","evolution","evolve","exact","exalted","example","excavate","excavator","exceeding","exception","excess","exchange","excitable","exciting","exclaim","exclude","excluding","exclusion","exclusive","excretion","excretory","excursion","excusable","excusably","excuse","exemplary","exemplify","exemption","exerciser","exert","exes","exfoliate","exhale","exhaust","exhume","exile","existing","exit","exodus","exonerate","exorcism","exorcist","expand","expanse","expansion","expansive","expectant","expedited","expediter","expel","expend","expenses","expensive","expert","expire","expiring","explain","expletive","explicit","explode","exploit","explore","exploring","exponent","exporter","exposable","expose","exposure","express","expulsion","exquisite","extended","extending","extent","extenuate","exterior","external","extinct","extortion","extradite","extras","extrovert","extrude","extruding","exuberant","fable","fabric","fabulous","facebook","facecloth","facedown","faceless","facelift","faceplate","faceted","facial","facility","facing","facsimile","faction","factoid","factor","factsheet","factual","faculty","fade","fading","failing","falcon","fall","false","falsify","fame","familiar","family","famine","famished","fanatic","fancied","fanciness","fancy","fanfare","fang","fanning","fantasize","fantastic","fantasy","fascism","fastball","faster","fasting","fastness","faucet","favorable","favorably","favored","favoring","favorite","fax","feast","federal","fedora","feeble","feed","feel","feisty","feline","felt-tip","feminine","feminism","feminist","feminize","femur","fence","fencing","fender","ferment","fernlike","ferocious","ferocity","ferret","ferris","ferry","fervor","fester","festival","festive","festivity","fetal","fetch","fever","fiber","fiction","fiddle","fiddling","fidelity","fidgeting","fidgety","fifteen","fifth","fiftieth","fifty","figment","figure","figurine","filing","filled","filler","filling","film","filter","filth","filtrate","finale","finalist","finalize","finally","finance","financial","finch","fineness","finer","finicky","finished","finisher","finishing","finite","finless","finlike","fiscally","fit","five","flaccid","flagman","flagpole","flagship","flagstick","flagstone","flail","flakily","flaky","flame","flammable","flanked","flanking","flannels","flap","flaring","flashback","flashbulb","flashcard","flashily","flashing","flashy","flask","flatbed","flatfoot","flatly","flatness","flatten","flattered","flatterer","flattery","flattop","flatware","flatworm","flavored","flavorful","flavoring","flaxseed","fled","fleshed","fleshy","flick","flier","flight","flinch","fling","flint","flip","flirt","float","flock","flogging","flop","floral","florist","floss","flounder","flyable","flyaway","flyer","flying","flyover","flypaper","foam","foe","fog","foil","folic","folk","follicle","follow","fondling","fondly","fondness","fondue","font","food","fool","footage","football","footbath","footboard","footer","footgear","foothill","foothold","footing","footless","footman","footnote","footpad","footpath","footprint","footrest","footsie","footsore","footwear","footwork","fossil","foster","founder","founding","fountain","fox","foyer","fraction","fracture","fragile","fragility","fragment","fragrance","fragrant","frail","frame","framing","frantic","fraternal","frayed","fraying","frays","freckled","freckles","freebase","freebee","freebie","freedom","freefall","freehand","freeing","freeload","freely","freemason","freeness","freestyle","freeware","freeway","freewill","freezable","freezing","freight","french","frenzied","frenzy","frequency","frequent","fresh","fretful","fretted","friction","friday","fridge","fried","friend","frighten","frightful","frigidity","frigidly","frill","fringe","frisbee","frisk","fritter","frivolous","frolic","from","front","frostbite","frosted","frostily","frosting","frostlike","frosty","froth","frown","frozen","fructose","frugality","frugally","fruit","frustrate","frying","gab","gaffe","gag","gainfully","gaining","gains","gala","gallantly","galleria","gallery","galley","gallon","gallows","gallstone","galore","galvanize","gambling","game","gaming","gamma","gander","gangly","gangrene","gangway","gap","garage","garbage","garden","gargle","garland","garlic","garment","garnet","garnish","garter","gas","gatherer","gathering","gating","gauging","gauntlet","gauze","gave","gawk","gazing","gear","gecko","geek","geiger","gem","gender","generic","generous","genetics","genre","gentile","gentleman","gently","gents","geography","geologic","geologist","geology","geometric","geometry","geranium","gerbil","geriatric","germicide","germinate","germless","germproof","gestate","gestation","gesture","getaway","getting","getup","giant","gibberish","giblet","giddily","giddiness","giddy","gift","gigabyte","gigahertz","gigantic","giggle","giggling","giggly","gigolo","gilled","gills","gimmick","girdle","giveaway","given","giver","giving","gizmo","gizzard","glacial","glacier","glade","gladiator","gladly","glamorous","glamour","glance","glancing","glandular","glare","glaring","glass","glaucoma","glazing","gleaming","gleeful","glider","gliding","glimmer","glimpse","glisten","glitch","glitter","glitzy","gloater","gloating","gloomily","gloomy","glorified","glorifier","glorify","glorious","glory","gloss","glove","glowing","glowworm","glucose","glue","gluten","glutinous","glutton","gnarly","gnat","goal","goatskin","goes","goggles","going","goldfish","goldmine","goldsmith","golf","goliath","gonad","gondola","gone","gong","good","gooey","goofball","goofiness","goofy","google","goon","gopher","gore","gorged","gorgeous","gory","gosling","gossip","gothic","gotten","gout","gown","grab","graceful","graceless","gracious","gradation","graded","grader","gradient","grading","gradually","graduate","graffiti","grafted","grafting","grain","granddad","grandkid","grandly","grandma","grandpa","grandson","granite","granny","granola","grant","granular","grape","graph","grapple","grappling","grasp","grass","gratified","gratify","grating","gratitude","gratuity","gravel","graveness","graves","graveyard","gravitate","gravity","gravy","gray","grazing","greasily","greedily","greedless","greedy","green","greeter","greeting","grew","greyhound","grid","grief","grievance","grieving","grievous","grill","grimace","grimacing","grime","griminess","grimy","grinch","grinning","grip","gristle","grit","groggily","groggy","groin","groom","groove","grooving","groovy","grope","ground","grouped","grout","grove","grower","growing","growl","grub","grudge","grudging","grueling","gruffly","grumble","grumbling","grumbly","grumpily","grunge","grunt","guacamole","guidable","guidance","guide","guiding","guileless","guise","gulf","gullible","gully","gulp","gumball","gumdrop","gumminess","gumming","gummy","gurgle","gurgling","guru","gush","gusto","gusty","gutless","guts","gutter","guy","guzzler","gyration","habitable","habitant","habitat","habitual","hacked","hacker","hacking","hacksaw","had","haggler","haiku","half","halogen","halt","halved","halves","hamburger","hamlet","hammock","hamper","hamster","hamstring","handbag","handball","handbook","handbrake","handcart","handclap","handclasp","handcraft","handcuff","handed","handful","handgrip","handgun","handheld","handiness","handiwork","handlebar","handled","handler","handling","handmade","handoff","handpick","handprint","handrail","handsaw","handset","handsfree","handshake","handstand","handwash","handwork","handwoven","handwrite","handyman","hangnail","hangout","hangover","hangup","hankering","hankie","hanky","haphazard","happening","happier","happiest","happily","happiness","happy","harbor","hardcopy","hardcore","hardcover","harddisk","hardened","hardener","hardening","hardhat","hardhead","hardiness","hardly","hardness","hardship","hardware","hardwired","hardwood","hardy","harmful","harmless","harmonica","harmonics","harmonize","harmony","harness","harpist","harsh","harvest","hash","hassle","haste","hastily","hastiness","hasty","hatbox","hatchback","hatchery","hatchet","hatching","hatchling","hate","hatless","hatred","haunt","haven","hazard","hazelnut","hazily","haziness","hazing","hazy","headache","headband","headboard","headcount","headdress","headed","header","headfirst","headgear","heading","headlamp","headless","headlock","headphone","headpiece","headrest","headroom","headscarf","headset","headsman","headstand","headstone","headway","headwear","heap","heat","heave","heavily","heaviness","heaving","hedge","hedging","heftiness","hefty","helium","helmet","helper","helpful","helping","helpless","helpline","hemlock","hemstitch","hence","henchman","henna","herald","herbal","herbicide","herbs","heritage","hermit","heroics","heroism","herring","herself","hertz","hesitancy","hesitant","hesitate","hexagon","hexagram","hubcap","huddle","huddling","huff","hug","hula","hulk","hull","human","humble","humbling","humbly","humid","humiliate","humility","humming","hummus","humongous","humorist","humorless","humorous","humpback","humped","humvee","hunchback","hundredth","hunger","hungrily","hungry","hunk","hunter","hunting","huntress","huntsman","hurdle","hurled","hurler","hurling","hurray","hurricane","hurried","hurry","hurt","husband","hush","husked","huskiness","hut","hybrid","hydrant","hydrated","hydration","hydrogen","hydroxide","hyperlink","hypertext","hyphen","hypnoses","hypnosis","hypnotic","hypnotism","hypnotist","hypnotize","hypocrisy","hypocrite","ibuprofen","ice","iciness","icing","icky","icon","icy","idealism","idealist","idealize","ideally","idealness","identical","identify","identity","ideology","idiocy","idiom","idly","igloo","ignition","ignore","iguana","illicitly","illusion","illusive","image","imaginary","imagines","imaging","imbecile","imitate","imitation","immature","immerse","immersion","imminent","immobile","immodest","immorally","immortal","immovable","immovably","immunity","immunize","impaired","impale","impart","impatient","impeach","impeding","impending","imperfect","imperial","impish","implant","implement","implicate","implicit","implode","implosion","implosive","imply","impolite","important","importer","impose","imposing","impotence","impotency","impotent","impound","imprecise","imprint","imprison","impromptu","improper","improve","improving","improvise","imprudent","impulse","impulsive","impure","impurity","iodine","iodize","ion","ipad","iphone","ipod","irate","irk","iron","irregular","irrigate","irritable","irritably","irritant","irritate","islamic","islamist","isolated","isolating","isolation","isotope","issue","issuing","italicize","italics","item","itinerary","itunes","ivory","ivy","jab","jackal","jacket","jackknife","jackpot","jailbird","jailbreak","jailer","jailhouse","jalapeno","jam","janitor","january","jargon","jarring","jasmine","jaundice","jaunt","java","jawed","jawless","jawline","jaws","jaybird","jaywalker","jazz","jeep","jeeringly","jellied","jelly","jersey","jester","jet","jiffy","jigsaw","jimmy","jingle","jingling","jinx","jitters","jittery","job","jockey","jockstrap","jogger","jogging","john","joining","jokester","jokingly","jolliness","jolly","jolt","jot","jovial","joyfully","joylessly","joyous","joyride","joystick","jubilance","jubilant","judge","judgingly","judicial","judiciary","judo","juggle","juggling","jugular","juice","juiciness","juicy","jujitsu","jukebox","july","jumble","jumbo","jump","junction","juncture","june","junior","juniper","junkie","junkman","junkyard","jurist","juror","jury","justice","justifier","justify","justly","justness","juvenile","kabob","kangaroo","karaoke","karate","karma","kebab","keenly","keenness","keep","keg","kelp","kennel","kept","kerchief","kerosene","kettle","kick","kiln","kilobyte","kilogram","kilometer","kilowatt","kilt","kimono","kindle","kindling","kindly","kindness","kindred","kinetic","kinfolk","king","kinship","kinsman","kinswoman","kissable","kisser","kissing","kitchen","kite","kitten","kitty","kiwi","kleenex","knapsack","knee","knelt","knickers","knoll","koala","kooky","kosher","krypton","kudos","kung","labored","laborer","laboring","laborious","labrador","ladder","ladies","ladle","ladybug","ladylike","lagged","lagging","lagoon","lair","lake","lance","landed","landfall","landfill","landing","landlady","landless","landline","landlord","landmark","landmass","landmine","landowner","landscape","landside","landslide","language","lankiness","lanky","lantern","lapdog","lapel","lapped","lapping","laptop","lard","large","lark","lash","lasso","last","latch","late","lather","latitude","latrine","latter","latticed","launch","launder","laundry","laurel","lavender","lavish","laxative","lazily","laziness","lazy","lecturer","left","legacy","legal","legend","legged","leggings","legible","legibly","legislate","lego","legroom","legume","legwarmer","legwork","lemon","lend","length","lens","lent","leotard","lesser","letdown","lethargic","lethargy","letter","lettuce","level","leverage","levers","levitate","levitator","liability","liable","liberty","librarian","library","licking","licorice","lid","life","lifter","lifting","liftoff","ligament","likely","likeness","likewise","liking","lilac","lilly","lily","limb","limeade","limelight","limes","limit","limping","limpness","line","lingo","linguini","linguist","lining","linked","linoleum","linseed","lint","lion","lip","liquefy","liqueur","liquid","lisp","list","litigate","litigator","litmus","litter","little","livable","lived","lively","liver","livestock","lividly","living","lizard","lubricant","lubricate","lucid","luckily","luckiness","luckless","lucrative","ludicrous","lugged","lukewarm","lullaby","lumber","luminance","luminous","lumpiness","lumping","lumpish","lunacy","lunar","lunchbox","luncheon","lunchroom","lunchtime","lung","lurch","lure","luridness","lurk","lushly","lushness","luster","lustfully","lustily","lustiness","lustrous","lusty","luxurious","luxury","lying","lyrically","lyricism","lyricist","lyrics","macarena","macaroni","macaw","mace","machine","machinist","magazine","magenta","maggot","magical","magician","magma","magnesium","magnetic","magnetism","magnetize","magnifier","magnify","magnitude","magnolia","mahogany","maimed","majestic","majesty","majorette","majority","makeover","maker","makeshift","making","malformed","malt","mama","mammal","mammary","mammogram","manager","managing","manatee","mandarin","mandate","mandatory","mandolin","manger","mangle","mango","mangy","manhandle","manhole","manhood","manhunt","manicotti","manicure","manifesto","manila","mankind","manlike","manliness","manly","manmade","manned","mannish","manor","manpower","mantis","mantra","manual","many","map","marathon","marauding","marbled","marbles","marbling","march","mardi","margarine","margarita","margin","marigold","marina","marine","marital","maritime","marlin","marmalade","maroon","married","marrow","marry","marshland","marshy","marsupial","marvelous","marxism","mascot","masculine","mashed","mashing","massager","masses","massive","mastiff","matador","matchbook","matchbox","matcher","matching","matchless","material","maternal","maternity","math","mating","matriarch","matrimony","matrix","matron","matted","matter","maturely","maturing","maturity","mauve","maverick","maximize","maximum","maybe","mayday","mayflower","moaner","moaning","mobile","mobility","mobilize","mobster","mocha","mocker","mockup","modified","modify","modular","modulator","module","moisten","moistness","moisture","molar","molasses","mold","molecular","molecule","molehill","mollusk","mom","monastery","monday","monetary","monetize","moneybags","moneyless","moneywise","mongoose","mongrel","monitor","monkhood","monogamy","monogram","monologue","monopoly","monorail","monotone","monotype","monoxide","monsieur","monsoon","monstrous","monthly","monument","moocher","moodiness","moody","mooing","moonbeam","mooned","moonlight","moonlike","moonlit","moonrise","moonscape","moonshine","moonstone","moonwalk","mop","morale","morality","morally","morbidity","morbidly","morphine","morphing","morse","mortality","mortally","mortician","mortified","mortify","mortuary","mosaic","mossy","most","mothball","mothproof","motion","motivate","motivator","motive","motocross","motor","motto","mountable","mountain","mounted","mounting","mourner","mournful","mouse","mousiness","moustache","mousy","mouth","movable","move","movie","moving","mower","mowing","much","muck","mud","mug","mulberry","mulch","mule","mulled","mullets","multiple","multiply","multitask","multitude","mumble","mumbling","mumbo","mummified","mummify","mummy","mumps","munchkin","mundane","municipal","muppet","mural","murkiness","murky","murmuring","muscular","museum","mushily","mushiness","mushroom","mushy","music","musket","muskiness","musky","mustang","mustard","muster","mustiness","musty","mutable","mutate","mutation","mute","mutilated","mutilator","mutiny","mutt","mutual","muzzle","myself","myspace","mystified","mystify","myth","nacho","nag","nail","name","naming","nanny","nanometer","nape","napkin","napped","napping","nappy","narrow","nastily","nastiness","national","native","nativity","natural","nature","naturist","nautical","navigate","navigator","navy","nearby","nearest","nearly","nearness","neatly","neatness","nebula","nebulizer","nectar","negate","negation","negative","neglector","negligee","negligent","negotiate","nemeses","nemesis","neon","nephew","nerd","nervous","nervy","nest","net","neurology","neuron","neurosis","neurotic","neuter","neutron","never","next","nibble","nickname","nicotine","niece","nifty","nimble","nimbly","nineteen","ninetieth","ninja","nintendo","ninth","nuclear","nuclei","nucleus","nugget","nullify","number","numbing","numbly","numbness","numeral","numerate","numerator","numeric","numerous","nuptials","nursery","nursing","nurture","nutcase","nutlike","nutmeg","nutrient","nutshell","nuttiness","nutty","nuzzle","nylon","oaf","oak","oasis","oat","obedience","obedient","obituary","object","obligate","obliged","oblivion","oblivious","oblong","obnoxious","oboe","obscure","obscurity","observant","observer","observing","obsessed","obsession","obsessive","obsolete","obstacle","obstinate","obstruct","obtain","obtrusive","obtuse","obvious","occultist","occupancy","occupant","occupier","occupy","ocean","ocelot","octagon","octane","october","octopus","ogle","oil","oink","ointment","okay","old","olive","olympics","omega","omen","ominous","omission","omit","omnivore","onboard","oncoming","ongoing","onion","online","onlooker","only","onscreen","onset","onshore","onslaught","onstage","onto","onward","onyx","oops","ooze","oozy","opacity","opal","open","operable","operate","operating","operation","operative","operator","opium","opossum","opponent","oppose","opposing","opposite","oppressed","oppressor","opt","opulently","osmosis","other","otter","ouch","ought","ounce","outage","outback","outbid","outboard","outbound","outbreak","outburst","outcast","outclass","outcome","outdated","outdoors","outer","outfield","outfit","outflank","outgoing","outgrow","outhouse","outing","outlast","outlet","outline","outlook","outlying","outmatch","outmost","outnumber","outplayed","outpost","outpour","output","outrage","outrank","outreach","outright","outscore","outsell","outshine","outshoot","outsider","outskirts","outsmart","outsource","outspoken","outtakes","outthink","outward","outweigh","outwit","oval","ovary","oven","overact","overall","overarch","overbid","overbill","overbite","overblown","overboard","overbook","overbuilt","overcast","overcoat","overcome","overcook","overcrowd","overdraft","overdrawn","overdress","overdrive","overdue","overeager","overeater","overexert","overfed","overfeed","overfill","overflow","overfull","overgrown","overhand","overhang","overhaul","overhead","overhear","overheat","overhung","overjoyed","overkill","overlabor","overlaid","overlap","overlay","overload","overlook","overlord","overlying","overnight","overpass","overpay","overplant","overplay","overpower","overprice","overrate","overreach","overreact","override","overripe","overrule","overrun","overshoot","overshot","oversight","oversized","oversleep","oversold","overspend","overstate","overstay","overstep","overstock","overstuff","oversweet","overtake","overthrow","overtime","overtly","overtone","overture","overturn","overuse","overvalue","overview","overwrite","owl","oxford","oxidant","oxidation","oxidize","oxidizing","oxygen","oxymoron","oyster","ozone","paced","pacemaker","pacific","pacifier","pacifism","pacifist","pacify","padded","padding","paddle","paddling","padlock","pagan","pager","paging","pajamas","palace","palatable","palm","palpable","palpitate","paltry","pampered","pamperer","pampers","pamphlet","panama","pancake","pancreas","panda","pandemic","pang","panhandle","panic","panning","panorama","panoramic","panther","pantomime","pantry","pants","pantyhose","paparazzi","papaya","paper","paprika","papyrus","parabola","parachute","parade","paradox","paragraph","parakeet","paralegal","paralyses","paralysis","paralyze","paramedic","parameter","paramount","parasail","parasite","parasitic","parcel","parched","parchment","pardon","parish","parka","parking","parkway","parlor","parmesan","parole","parrot","parsley","parsnip","partake","parted","parting","partition","partly","partner","partridge","party","passable","passably","passage","passcode","passenger","passerby","passing","passion","passive","passivism","passover","passport","password","pasta","pasted","pastel","pastime","pastor","pastrami","pasture","pasty","patchwork","patchy","paternal","paternity","path","patience","patient","patio","patriarch","patriot","patrol","patronage","patronize","pauper","pavement","paver","pavestone","pavilion","paving","pawing","payable","payback","paycheck","payday","payee","payer","paying","payment","payphone","payroll","pebble","pebbly","pecan","pectin","peculiar","peddling","pediatric","pedicure","pedigree","pedometer","pegboard","pelican","pellet","pelt","pelvis","penalize","penalty","pencil","pendant","pending","penholder","penknife","pennant","penniless","penny","penpal","pension","pentagon","pentagram","pep","perceive","percent","perch","percolate","perennial","perfected","perfectly","perfume","periscope","perish","perjurer","perjury","perkiness","perky","perm","peroxide","perpetual","perplexed","persecute","persevere","persuaded","persuader","pesky","peso","pessimism","pessimist","pester","pesticide","petal","petite","petition","petri","petroleum","petted","petticoat","pettiness","petty","petunia","phantom","phobia","phoenix","phonebook","phoney","phonics","phoniness","phony","phosphate","photo","phrase","phrasing","placard","placate","placidly","plank","planner","plant","plasma","plaster","plastic","plated","platform","plating","platinum","platonic","platter","platypus","plausible","plausibly","playable","playback","player","playful","playgroup","playhouse","playing","playlist","playmaker","playmate","playoff","playpen","playroom","playset","plaything","playtime","plaza","pleading","pleat","pledge","plentiful","plenty","plethora","plexiglas","pliable","plod","plop","plot","plow","ploy","pluck","plug","plunder","plunging","plural","plus","plutonium","plywood","poach","pod","poem","poet","pogo","pointed","pointer","pointing","pointless","pointy","poise","poison","poker","poking","polar","police","policy","polio","polish","politely","polka","polo","polyester","polygon","polygraph","polymer","poncho","pond","pony","popcorn","pope","poplar","popper","poppy","popsicle","populace","popular","populate","porcupine","pork","porous","porridge","portable","portal","portfolio","porthole","portion","portly","portside","poser","posh","posing","possible","possibly","possum","postage","postal","postbox","postcard","posted","poster","posting","postnasal","posture","postwar","pouch","pounce","pouncing","pound","pouring","pout","powdered","powdering","powdery","power","powwow","pox","praising","prance","prancing","pranker","prankish","prankster","prayer","praying","preacher","preaching","preachy","preamble","precinct","precise","precision","precook","precut","predator","predefine","predict","preface","prefix","preflight","preformed","pregame","pregnancy","pregnant","preheated","prelaunch","prelaw","prelude","premiere","premises","premium","prenatal","preoccupy","preorder","prepaid","prepay","preplan","preppy","preschool","prescribe","preseason","preset","preshow","president","presoak","press","presume","presuming","preteen","pretended","pretender","pretense","pretext","pretty","pretzel","prevail","prevalent","prevent","preview","previous","prewar","prewashed","prideful","pried","primal","primarily","primary","primate","primer","primp","princess","print","prior","prism","prison","prissy","pristine","privacy","private","privatize","prize","proactive","probable","probably","probation","probe","probing","probiotic","problem","procedure","process","proclaim","procreate","procurer","prodigal","prodigy","produce","product","profane","profanity","professed","professor","profile","profound","profusely","progeny","prognosis","program","progress","projector","prologue","prolonged","promenade","prominent","promoter","promotion","prompter","promptly","prone","prong","pronounce","pronto","proofing","proofread","proofs","propeller","properly","property","proponent","proposal","propose","props","prorate","protector","protegee","proton","prototype","protozoan","protract","protrude","proud","provable","proved","proven","provided","provider","providing","province","proving","provoke","provoking","provolone","prowess","prowler","prowling","proximity","proxy","prozac","prude","prudishly","prune","pruning","pry","psychic","public","publisher","pucker","pueblo","pug","pull","pulmonary","pulp","pulsate","pulse","pulverize","puma","pumice","pummel","punch","punctual","punctuate","punctured","pungent","punisher","punk","pupil","puppet","puppy","purchase","pureblood","purebred","purely","pureness","purgatory","purge","purging","purifier","purify","purist","puritan","purity","purple","purplish","purposely","purr","purse","pursuable","pursuant","pursuit","purveyor","pushcart","pushchair","pusher","pushiness","pushing","pushover","pushpin","pushup","pushy","putdown","putt","puzzle","puzzling","pyramid","pyromania","python","quack","quadrant","quail","quaintly","quake","quaking","qualified","qualifier","qualify","quality","qualm","quantum","quarrel","quarry","quartered","quarterly","quarters","quartet","quench","query","quicken","quickly","quickness","quicksand","quickstep","quiet","quill","quilt","quintet","quintuple","quirk","quit","quiver","quizzical","quotable","quotation","quote","rabid","race","racing","racism","rack","racoon","radar","radial","radiance","radiantly","radiated","radiation","radiator","radio","radish","raffle","raft","rage","ragged","raging","ragweed","raider","railcar","railing","railroad","railway","raisin","rake","raking","rally","ramble","rambling","ramp","ramrod","ranch","rancidity","random","ranged","ranger","ranging","ranked","ranking","ransack","ranting","rants","rare","rarity","rascal","rash","rasping","ravage","raven","ravine","raving","ravioli","ravishing","reabsorb","reach","reacquire","reaction","reactive","reactor","reaffirm","ream","reanalyze","reappear","reapply","reappoint","reapprove","rearrange","rearview","reason","reassign","reassure","reattach","reawake","rebalance","rebate","rebel","rebirth","reboot","reborn","rebound","rebuff","rebuild","rebuilt","reburial","rebuttal","recall","recant","recapture","recast","recede","recent","recess","recharger","recipient","recital","recite","reckless","reclaim","recliner","reclining","recluse","reclusive","recognize","recoil","recollect","recolor","reconcile","reconfirm","reconvene","recopy","record","recount","recoup","recovery","recreate","rectal","rectangle","rectified","rectify","recycled","recycler","recycling","reemerge","reenact","reenter","reentry","reexamine","referable","referee","reference","refill","refinance","refined","refinery","refining","refinish","reflected","reflector","reflex","reflux","refocus","refold","reforest","reformat","reformed","reformer","reformist","refract","refrain","refreeze","refresh","refried","refueling","refund","refurbish","refurnish","refusal","refuse","refusing","refutable","refute","regain","regalia","regally","reggae","regime","region","register","registrar","registry","regress","regretful","regroup","regular","regulate","regulator","rehab","reheat","rehire","rehydrate","reimburse","reissue","reiterate","rejoice","rejoicing","rejoin","rekindle","relapse","relapsing","relatable","related","relation","relative","relax","relay","relearn","release","relenting","reliable","reliably","reliance","reliant","relic","relieve","relieving","relight","relish","relive","reload","relocate","relock","reluctant","rely","remake","remark","remarry","rematch","remedial","remedy","remember","reminder","remindful","remission","remix","remnant","remodeler","remold","remorse","remote","removable","removal","removed","remover","removing","rename","renderer","rendering","rendition","renegade","renewable","renewably","renewal","renewed","renounce","renovate","renovator","rentable","rental","rented","renter","reoccupy","reoccur","reopen","reorder","repackage","repacking","repaint","repair","repave","repaying","repayment","repeal","repeated","repeater","repent","rephrase","replace","replay","replica","reply","reporter","repose","repossess","repost","repressed","reprimand","reprint","reprise","reproach","reprocess","reproduce","reprogram","reps","reptile","reptilian","repugnant","repulsion","repulsive","repurpose","reputable","reputably","request","require","requisite","reroute","rerun","resale","resample","rescuer","reseal","research","reselect","reseller","resemble","resend","resent","reset","reshape","reshoot","reshuffle","residence","residency","resident","residual","residue","resigned","resilient","resistant","resisting","resize","resolute","resolved","resonant","resonate","resort","resource","respect","resubmit","result","resume","resupply","resurface","resurrect","retail","retainer","retaining","retake","retaliate","retention","rethink","retinal","retired","retiree","retiring","retold","retool","retorted","retouch","retrace","retract","retrain","retread","retreat","retrial","retrieval","retriever","retry","return","retying","retype","reunion","reunite","reusable","reuse","reveal","reveler","revenge","revenue","reverb","revered","reverence","reverend","reversal","reverse","reversing","reversion","revert","revisable","revise","revision","revisit","revivable","revival","reviver","reviving","revocable","revoke","revolt","revolver","revolving","reward","rewash","rewind","rewire","reword","rework","rewrap","rewrite","rhyme","ribbon","ribcage","rice","riches","richly","richness","rickety","ricotta","riddance","ridden","ride","riding","rifling","rift","rigging","rigid","rigor","rimless","rimmed","rind","rink","rinse","rinsing","riot","ripcord","ripeness","ripening","ripping","ripple","rippling","riptide","rise","rising","risk","risotto","ritalin","ritzy","rival","riverbank","riverbed","riverboat","riverside","riveter","riveting","roamer","roaming","roast","robbing","robe","robin","robotics","robust","rockband","rocker","rocket","rockfish","rockiness","rocking","rocklike","rockslide","rockstar","rocky","rogue","roman","romp","rope","roping","roster","rosy","rotten","rotting","rotunda","roulette","rounding","roundish","roundness","roundup","roundworm","routine","routing","rover","roving","royal","rubbed","rubber","rubbing","rubble","rubdown","ruby","ruckus","rudder","rug","ruined","rule","rumble","rumbling","rummage","rumor","runaround","rundown","runner","running","runny","runt","runway","rupture","rural","ruse","rush","rust","rut","sabbath","sabotage","sacrament","sacred","sacrifice","sadden","saddlebag","saddled","saddling","sadly","sadness","safari","safeguard","safehouse","safely","safeness","saffron","saga","sage","sagging","saggy","said","saint","sake","salad","salami","salaried","salary","saline","salon","saloon","salsa","salt","salutary","salute","salvage","salvaging","salvation","same","sample","sampling","sanction","sanctity","sanctuary","sandal","sandbag","sandbank","sandbar","sandblast","sandbox","sanded","sandfish","sanding","sandlot","sandpaper","sandpit","sandstone","sandstorm","sandworm","sandy","sanitary","sanitizer","sank","santa","sapling","sappiness","sappy","sarcasm","sarcastic","sardine","sash","sasquatch","sassy","satchel","satiable","satin","satirical","satisfied","satisfy","saturate","saturday","sauciness","saucy","sauna","savage","savanna","saved","savings","savior","savor","saxophone","say","scabbed","scabby","scalded","scalding","scale","scaling","scallion","scallop","scalping","scam","scandal","scanner","scanning","scant","scapegoat","scarce","scarcity","scarecrow","scared","scarf","scarily","scariness","scarring","scary","scavenger","scenic","schedule","schematic","scheme","scheming","schilling","schnapps","scholar","science","scientist","scion","scoff","scolding","scone","scoop","scooter","scope","scorch","scorebook","scorecard","scored","scoreless","scorer","scoring","scorn","scorpion","scotch","scoundrel","scoured","scouring","scouting","scouts","scowling","scrabble","scraggly","scrambled","scrambler","scrap","scratch","scrawny","screen","scribble","scribe","scribing","scrimmage","script","scroll","scrooge","scrounger","scrubbed","scrubber","scruffy","scrunch","scrutiny","scuba","scuff","sculptor","sculpture","scurvy","scuttle","secluded","secluding","seclusion","second","secrecy","secret","sectional","sector","secular","securely","security","sedan","sedate","sedation","sedative","sediment","seduce","seducing","segment","seismic","seizing","seldom","selected","selection","selective","selector","self","seltzer","semantic","semester","semicolon","semifinal","seminar","semisoft","semisweet","senate","senator","send","senior","senorita","sensation","sensitive","sensitize","sensually","sensuous","sepia","september","septic","septum","sequel","sequence","sequester","series","sermon","serotonin","serpent","serrated","serve","service","serving","sesame","sessions","setback","setting","settle","settling","setup","sevenfold","seventeen","seventh","seventy","severity","shabby","shack","shaded","shadily","shadiness","shading","shadow","shady","shaft","shakable","shakily","shakiness","shaking","shaky","shale","shallot","shallow","shame","shampoo","shamrock","shank","shanty","shape","shaping","share","sharpener","sharper","sharpie","sharply","sharpness","shawl","sheath","shed","sheep","sheet","shelf","shell","shelter","shelve","shelving","sherry","shield","shifter","shifting","shiftless","shifty","shimmer","shimmy","shindig","shine","shingle","shininess","shining","shiny","ship","shirt","shivering","shock","shone","shoplift","shopper","shopping","shoptalk","shore","shortage","shortcake","shortcut","shorten","shorter","shorthand","shortlist","shortly","shortness","shorts","shortwave","shorty","shout","shove","showbiz","showcase","showdown","shower","showgirl","showing","showman","shown","showoff","showpiece","showplace","showroom","showy","shrank","shrapnel","shredder","shredding","shrewdly","shriek","shrill","shrimp","shrine","shrink","shrivel","shrouded","shrubbery","shrubs","shrug","shrunk","shucking","shudder","shuffle","shuffling","shun","shush","shut","shy","siamese","siberian","sibling","siding","sierra","siesta","sift","sighing","silenced","silencer","silent","silica","silicon","silk","silliness","silly","silo","silt","silver","similarly","simile","simmering","simple","simplify","simply","sincere","sincerity","singer","singing","single","singular","sinister","sinless","sinner","sinuous","sip","siren","sister","sitcom","sitter","sitting","situated","situation","sixfold","sixteen","sixth","sixties","sixtieth","sixtyfold","sizable","sizably","size","sizing","sizzle","sizzling","skater","skating","skedaddle","skeletal","skeleton","skeptic","sketch","skewed","skewer","skid","skied","skier","skies","skiing","skilled","skillet","skillful","skimmed","skimmer","skimming","skimpily","skincare","skinhead","skinless","skinning","skinny","skintight","skipper","skipping","skirmish","skirt","skittle","skydiver","skylight","skyline","skype","skyrocket","skyward","slab","slacked","slacker","slacking","slackness","slacks","slain","slam","slander","slang","slapping","slapstick","slashed","slashing","slate","slather","slaw","sled","sleek","sleep","sleet","sleeve","slept","sliceable","sliced","slicer","slicing","slick","slider","slideshow","sliding","slighted","slighting","slightly","slimness","slimy","slinging","slingshot","slinky","slip","slit","sliver","slobbery","slogan","sloped","sloping","sloppily","sloppy","slot","slouching","slouchy","sludge","slug","slum","slurp","slush","sly","small","smartly","smartness","smasher","smashing","smashup","smell","smelting","smile","smilingly","smirk","smite","smith","smitten","smock","smog","smoked","smokeless","smokiness","smoking","smoky","smolder","smooth","smother","smudge","smudgy","smuggler","smuggling","smugly","smugness","snack","snagged","snaking","snap","snare","snarl","snazzy","sneak","sneer","sneeze","sneezing","snide","sniff","snippet","snipping","snitch","snooper","snooze","snore","snoring","snorkel","snort","snout","snowbird","snowboard","snowbound","snowcap","snowdrift","snowdrop","snowfall","snowfield","snowflake","snowiness","snowless","snowman","snowplow","snowshoe","snowstorm","snowsuit","snowy","snub","snuff","snuggle","snugly","snugness","speak","spearfish","spearhead","spearman","spearmint","species","specimen","specked","speckled","specks","spectacle","spectator","spectrum","speculate","speech","speed","spellbind","speller","spelling","spendable","spender","spending","spent","spew","sphere","spherical","sphinx","spider","spied","spiffy","spill","spilt","spinach","spinal","spindle","spinner","spinning","spinout","spinster","spiny","spiral","spirited","spiritism","spirits","spiritual","splashed","splashing","splashy","splatter","spleen","splendid","splendor","splice","splicing","splinter","splotchy","splurge","spoilage","spoiled","spoiler","spoiling","spoils","spoken","spokesman","sponge","spongy","sponsor","spoof","spookily","spooky","spool","spoon","spore","sporting","sports","sporty","spotless","spotlight","spotted","spotter","spotting","spotty","spousal","spouse","spout","sprain","sprang","sprawl","spray","spree","sprig","spring","sprinkled","sprinkler","sprint","sprite","sprout","spruce","sprung","spry","spud","spur","sputter","spyglass","squabble","squad","squall","squander","squash","squatted","squatter","squatting","squeak","squealer","squealing","squeamish","squeegee","squeeze","squeezing","squid","squiggle","squiggly","squint","squire","squirt","squishier","squishy","stability","stabilize","stable","stack","stadium","staff","stage","staging","stagnant","stagnate","stainable","stained","staining","stainless","stalemate","staleness","stalling","stallion","stamina","stammer","stamp","stand","stank","staple","stapling","starboard","starch","stardom","stardust","starfish","stargazer","staring","stark","starless","starlet","starlight","starlit","starring","starry","starship","starter","starting","startle","startling","startup","starved","starving","stash","state","static","statistic","statue","stature","status","statute","statutory","staunch","stays","steadfast","steadier","steadily","steadying","steam","steed","steep","steerable","steering","steersman","stegosaur","stellar","stem","stench","stencil","step","stereo","sterile","sterility","sterilize","sterling","sternness","sternum","stew","stick","stiffen","stiffly","stiffness","stifle","stifling","stillness","stilt","stimulant","stimulate","stimuli","stimulus","stinger","stingily","stinging","stingray","stingy","stinking","stinky","stipend","stipulate","stir","stitch","stock","stoic","stoke","stole","stomp","stonewall","stoneware","stonework","stoning","stony","stood","stooge","stool","stoop","stoplight","stoppable","stoppage","stopped","stopper","stopping","stopwatch","storable","storage","storeroom","storewide","storm","stout","stove","stowaway","stowing","straddle","straggler","strained","strainer","straining","strangely","stranger","strangle","strategic","strategy","stratus","straw","stray","streak","stream","street","strength","strenuous","strep","stress","stretch","strewn","stricken","strict","stride","strife","strike","striking","strive","striving","strobe","strode","stroller","strongbox","strongly","strongman","struck","structure","strudel","struggle","strum","strung","strut","stubbed","stubble","stubbly","stubborn","stucco","stuck","student","studied","studio","study","stuffed","stuffing","stuffy","stumble","stumbling","stump","stung","stunned","stunner","stunning","stunt","stupor","sturdily","sturdy","styling","stylishly","stylist","stylized","stylus","suave","subarctic","subatomic","subdivide","subdued","subduing","subfloor","subgroup","subheader","subject","sublease","sublet","sublevel","sublime","submarine","submerge","submersed","submitter","subpanel","subpar","subplot","subprime","subscribe","subscript","subsector","subside","subsiding","subsidize","subsidy","subsoil","subsonic","substance","subsystem","subtext","subtitle","subtly","subtotal","subtract","subtype","suburb","subway","subwoofer","subzero","succulent","such","suction","sudden","sudoku","suds","sufferer","suffering","suffice","suffix","suffocate","suffrage","sugar","suggest","suing","suitable","suitably","suitcase","suitor","sulfate","sulfide","sulfite","sulfur","sulk","sullen","sulphate","sulphuric","sultry","superbowl","superglue","superhero","superior","superjet","superman","supermom","supernova","supervise","supper","supplier","supply","support","supremacy","supreme","surcharge","surely","sureness","surface","surfacing","surfboard","surfer","surgery","surgical","surging","surname","surpass","surplus","surprise","surreal","surrender","surrogate","surround","survey","survival","survive","surviving","survivor","sushi","suspect","suspend","suspense","sustained","sustainer","swab","swaddling","swagger","swampland","swan","swapping","swarm","sway","swear","sweat","sweep","swell","swept","swerve","swifter","swiftly","swiftness","swimmable","swimmer","swimming","swimsuit","swimwear","swinger","swinging","swipe","swirl","switch","swivel","swizzle","swooned","swoop","swoosh","swore","sworn","swung","sycamore","sympathy","symphonic","symphony","symptom","synapse","syndrome","synergy","synopses","synopsis","synthesis","synthetic","syrup","system","t-shirt","tabasco","tabby","tableful","tables","tablet","tableware","tabloid","tackiness","tacking","tackle","tackling","tacky","taco","tactful","tactical","tactics","tactile","tactless","tadpole","taekwondo","tag","tainted","take","taking","talcum","talisman","tall","talon","tamale","tameness","tamer","tamper","tank","tanned","tannery","tanning","tantrum","tapeless","tapered","tapering","tapestry","tapioca","tapping","taps","tarantula","target","tarmac","tarnish","tarot","tartar","tartly","tartness","task","tassel","taste","tastiness","tasting","tasty","tattered","tattle","tattling","tattoo","taunt","tavern","thank","that","thaw","theater","theatrics","thee","theft","theme","theology","theorize","thermal","thermos","thesaurus","these","thesis","thespian","thicken","thicket","thickness","thieving","thievish","thigh","thimble","thing","think","thinly","thinner","thinness","thinning","thirstily","thirsting","thirsty","thirteen","thirty","thong","thorn","those","thousand","thrash","thread","threaten","threefold","thrift","thrill","thrive","thriving","throat","throbbing","throng","throttle","throwaway","throwback","thrower","throwing","thud","thumb","thumping","thursday","thus","thwarting","thyself","tiara","tibia","tidal","tidbit","tidiness","tidings","tidy","tiger","tighten","tightly","tightness","tightrope","tightwad","tigress","tile","tiling","till","tilt","timid","timing","timothy","tinderbox","tinfoil","tingle","tingling","tingly","tinker","tinkling","tinsel","tinsmith","tint","tinwork","tiny","tipoff","tipped","tipper","tipping","tiptoeing","tiptop","tiring","tissue","trace","tracing","track","traction","tractor","trade","trading","tradition","traffic","tragedy","trailing","trailside","train","traitor","trance","tranquil","transfer","transform","translate","transpire","transport","transpose","trapdoor","trapeze","trapezoid","trapped","trapper","trapping","traps","trash","travel","traverse","travesty","tray","treachery","treading","treadmill","treason","treat","treble","tree","trekker","tremble","trembling","tremor","trench","trend","trespass","triage","trial","triangle","tribesman","tribunal","tribune","tributary","tribute","triceps","trickery","trickily","tricking","trickle","trickster","tricky","tricolor","tricycle","trident","tried","trifle","trifocals","trillion","trilogy","trimester","trimmer","trimming","trimness","trinity","trio","tripod","tripping","triumph","trivial","trodden","trolling","trombone","trophy","tropical","tropics","trouble","troubling","trough","trousers","trout","trowel","truce","truck","truffle","trump","trunks","trustable","trustee","trustful","trusting","trustless","truth","try","tubby","tubeless","tubular","tucking","tuesday","tug","tuition","tulip","tumble","tumbling","tummy","turban","turbine","turbofan","turbojet","turbulent","turf","turkey","turmoil","turret","turtle","tusk","tutor","tutu","tux","tweak","tweed","tweet","tweezers","twelve","twentieth","twenty","twerp","twice","twiddle","twiddling","twig","twilight","twine","twins","twirl","twistable","twisted","twister","twisting","twisty","twitch","twitter","tycoon","tying","tyke","udder","ultimate","ultimatum","ultra","umbilical","umbrella","umpire","unabashed","unable","unadorned","unadvised","unafraid","unaired","unaligned","unaltered","unarmored","unashamed","unaudited","unawake","unaware","unbaked","unbalance","unbeaten","unbend","unbent","unbiased","unbitten","unblended","unblessed","unblock","unbolted","unbounded","unboxed","unbraided","unbridle","unbroken","unbuckled","unbundle","unburned","unbutton","uncanny","uncapped","uncaring","uncertain","unchain","unchanged","uncharted","uncheck","uncivil","unclad","unclaimed","unclamped","unclasp","uncle","unclip","uncloak","unclog","unclothed","uncoated","uncoiled","uncolored","uncombed","uncommon","uncooked","uncork","uncorrupt","uncounted","uncouple","uncouth","uncover","uncross","uncrown","uncrushed","uncured","uncurious","uncurled","uncut","undamaged","undated","undaunted","undead","undecided","undefined","underage","underarm","undercoat","undercook","undercut","underdog","underdone","underfed","underfeed","underfoot","undergo","undergrad","underhand","underline","underling","undermine","undermost","underpaid","underpass","underpay","underrate","undertake","undertone","undertook","undertow","underuse","underwear","underwent","underwire","undesired","undiluted","undivided","undocked","undoing","undone","undrafted","undress","undrilled","undusted","undying","unearned","unearth","unease","uneasily","uneasy","uneatable","uneaten","unedited","unelected","unending","unengaged","unenvied","unequal","unethical","uneven","unexpired","unexposed","unfailing","unfair","unfasten","unfazed","unfeeling","unfiled","unfilled","unfitted","unfitting","unfixable","unfixed","unflawed","unfocused","unfold","unfounded","unframed","unfreeze","unfrosted","unfrozen","unfunded","unglazed","ungloved","unglue","ungodly","ungraded","ungreased","unguarded","unguided","unhappily","unhappy","unharmed","unhealthy","unheard","unhearing","unheated","unhelpful","unhidden","unhinge","unhitched","unholy","unhook","unicorn","unicycle","unified","unifier","uniformed","uniformly","unify","unimpeded","uninjured","uninstall","uninsured","uninvited","union","uniquely","unisexual","unison","unissued","unit","universal","universe","unjustly","unkempt","unkind","unknotted","unknowing","unknown","unlaced","unlatch","unlawful","unleaded","unlearned","unleash","unless","unleveled","unlighted","unlikable","unlimited","unlined","unlinked","unlisted","unlit","unlivable","unloaded","unloader","unlocked","unlocking","unlovable","unloved","unlovely","unloving","unluckily","unlucky","unmade","unmanaged","unmanned","unmapped","unmarked","unmasked","unmasking","unmatched","unmindful","unmixable","unmixed","unmolded","unmoral","unmovable","unmoved","unmoving","unnamable","unnamed","unnatural","unneeded","unnerve","unnerving","unnoticed","unopened","unopposed","unpack","unpadded","unpaid","unpainted","unpaired","unpaved","unpeeled","unpicked","unpiloted","unpinned","unplanned","unplanted","unpleased","unpledged","unplowed","unplug","unpopular","unproven","unquote","unranked","unrated","unraveled","unreached","unread","unreal","unreeling","unrefined","unrelated","unrented","unrest","unretired","unrevised","unrigged","unripe","unrivaled","unroasted","unrobed","unroll","unruffled","unruly","unrushed","unsaddle","unsafe","unsaid","unsalted","unsaved","unsavory","unscathed","unscented","unscrew","unsealed","unseated","unsecured","unseeing","unseemly","unseen","unselect","unselfish","unsent","unsettled","unshackle","unshaken","unshaved","unshaven","unsheathe","unshipped","unsightly","unsigned","unskilled","unsliced","unsmooth","unsnap","unsocial","unsoiled","unsold","unsolved","unsorted","unspoiled","unspoken","unstable","unstaffed","unstamped","unsteady","unsterile","unstirred","unstitch","unstopped","unstuck","unstuffed","unstylish","unsubtle","unsubtly","unsuited","unsure","unsworn","untagged","untainted","untaken","untamed","untangled","untapped","untaxed","unthawed","unthread","untidy","untie","until","untimed","untimely","untitled","untoasted","untold","untouched","untracked","untrained","untreated","untried","untrimmed","untrue","untruth","unturned","untwist","untying","unusable","unused","unusual","unvalued","unvaried","unvarying","unveiled","unveiling","unvented","unviable","unvisited","unvocal","unwanted","unwarlike","unwary","unwashed","unwatched","unweave","unwed","unwelcome","unwell","unwieldy","unwilling","unwind","unwired","unwitting","unwomanly","unworldly","unworn","unworried","unworthy","unwound","unwoven","unwrapped","unwritten","unzip","upbeat","upchuck","upcoming","upcountry","update","upfront","upgrade","upheaval","upheld","uphill","uphold","uplifted","uplifting","upload","upon","upper","upright","uprising","upriver","uproar","uproot","upscale","upside","upstage","upstairs","upstart","upstate","upstream","upstroke","upswing","uptake","uptight","uptown","upturned","upward","upwind","uranium","urban","urchin","urethane","urgency","urgent","urging","urologist","urology","usable","usage","useable","used","uselessly","user","usher","usual","utensil","utility","utilize","utmost","utopia","utter","vacancy","vacant","vacate","vacation","vagabond","vagrancy","vagrantly","vaguely","vagueness","valiant","valid","valium","valley","valuables","value","vanilla","vanish","vanity","vanquish","vantage","vaporizer","variable","variably","varied","variety","various","varmint","varnish","varsity","varying","vascular","vaseline","vastly","vastness","veal","vegan","veggie","vehicular","velcro","velocity","velvet","vendetta","vending","vendor","veneering","vengeful","venomous","ventricle","venture","venue","venus","verbalize","verbally","verbose","verdict","verify","verse","version","versus","vertebrae","vertical","vertigo","very","vessel","vest","veteran","veto","vexingly","viability","viable","vibes","vice","vicinity","victory","video","viewable","viewer","viewing","viewless","viewpoint","vigorous","village","villain","vindicate","vineyard","vintage","violate","violation","violator","violet","violin","viper","viral","virtual","virtuous","virus","visa","viscosity","viscous","viselike","visible","visibly","vision","visiting","visitor","visor","vista","vitality","vitalize","vitally","vitamins","vivacious","vividly","vividness","vixen","vocalist","vocalize","vocally","vocation","voice","voicing","void","volatile","volley","voltage","volumes","voter","voting","voucher","vowed","vowel","voyage","wackiness","wad","wafer","waffle","waged","wager","wages","waggle","wagon","wake","waking","walk","walmart","walnut","walrus","waltz","wand","wannabe","wanted","wanting","wasabi","washable","washbasin","washboard","washbowl","washcloth","washday","washed","washer","washhouse","washing","washout","washroom","washstand","washtub","wasp","wasting","watch","water","waviness","waving","wavy","whacking","whacky","wham","wharf","wheat","whenever","whiff","whimsical","whinny","whiny","whisking","whoever","whole","whomever","whoopee","whooping","whoops","why","wick","widely","widen","widget","widow","width","wieldable","wielder","wife","wifi","wikipedia","wildcard","wildcat","wilder","wildfire","wildfowl","wildland","wildlife","wildly","wildness","willed","willfully","willing","willow","willpower","wilt","wimp","wince","wincing","wind","wing","winking","winner","winnings","winter","wipe","wired","wireless","wiring","wiry","wisdom","wise","wish","wisplike","wispy","wistful","wizard","wobble","wobbling","wobbly","wok","wolf","wolverine","womanhood","womankind","womanless","womanlike","womanly","womb","woof","wooing","wool","woozy","word","work","worried","worrier","worrisome","worry","worsening","worshiper","worst","wound","woven","wow","wrangle","wrath","wreath","wreckage","wrecker","wrecking","wrench","wriggle","wriggly","wrinkle","wrinkly","wrist","writing","written","wrongdoer","wronged","wrongful","wrongly","wrongness","wrought","xbox","xerox","yahoo","yam","yanking","yapping","yard","yarn","yeah","yearbook","yearling","yearly","yearning","yeast","yelling","yelp","yen","yesterday","yiddish","yield","yin","yippee","yo-yo","yodel","yoga","yogurt","yonder","yoyo","yummy","zap","zealous","zebra","zen","zeppelin","zero","zestfully","zesty","zigzagged","zipfile","zipping","zippy","zips","zit","zodiac","zombie","zone","zoning","zookeeper","zoologist","zoology","zoom"]},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&this.cipherService.upsert(o)}return[2]}})})},e.prototype.deleteWithServer=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.apiService.deleteFolder(e)];case 1:return t.sent(),[4,this.delete(e)];case 2:return t.sent(),[2]}})})},e}();t.FolderService=m},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)for(d=0;d0)for(d=0;d0)for(d=0;d0)for(d=0;d1)&&(t.wordSeparator=" "),null==t.capitalize&&(t.capitalize=!1),null==t.includeNumber&&(t.includeNumber=!1),n=c.EEFLongWordList.length-1,r=new Array(t.numWords),o=0,i.label=1;case 1:return oe.length&&(e.minSpecial=e.length-e.minNumber),e.numWordsn.minLength&&(n.minLength=e.data.minLength),e.data.useUpper&&(n.useUppercase=!0),e.data.useLower&&(n.useLowercase=!0),e.data.useNumbers&&(n.useNumbers=!0),null!=e.data.minNumbers&&e.data.minNumbers>n.numberCount&&(n.numberCount=e.data.minNumbers),e.data.useSpecial&&(n.useSpecial=!0),null!=e.data.minSpecial&&e.data.minSpecial>n.specialCount&&(n.specialCount=e.data.minSpecial),null!=e.data.minNumberWords&&e.data.minNumberWords>n.minNumberWords&&(n.minNumberWords=e.data.minNumberWords),e.data.capitalize&&(n.capitalize=!0),e.data.includeNumber&&(n.includeNumber=!0))}),[2,n])}})})},e.prototype.saveOptions=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.storageService.save(d,e)];case 1:return t.sent(),this.optionsCache=e,[2]}})})},e.prototype.getHistory=function(){return r(this,void 0,void 0,function(){var e,t;return i(this,function(n){switch(n.label){case 0:return[4,this.cryptoService.hasKey()];case 1:return n.sent()?this.history?[3,4]:[4,this.storageService.get(m)]:[2,new Array];case 2:return e=n.sent(),t=this,[4,this.decryptHistory(e)];case 3:t.history=n.sent(),n.label=4;case 4:return[2,this.history||new Array]}})})},e.prototype.addHistory=function(e){return r(this,void 0,void 0,function(){var t,n;return i(this,function(r){switch(r.label){case 0:return[4,this.cryptoService.hasKey()];case 1:return r.sent()?[4,this.getHistory()]:[2];case 2:return t=r.sent(),this.matchesPrevious(e,t)?[2]:(t.unshift(new s.GeneratedPasswordHistory(e,Date.now())),t.length>100&&t.pop(),[4,this.encryptHistory(t)]);case 3:return n=r.sent(),[4,this.storageService.save(m,n)];case 4:return[2,r.sent()]}})})},e.prototype.clear=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.history=[],[4,this.storageService.remove(m)];case 1:return[2,e.sent()]}})})},e.prototype.passwordStrength=function(e,t){if(void 0===t&&(t=null),null==e||0===e.length)return null;var n=["bitwarden","bit","warden"];null!=t&&t.length>0&&(n=n.concat(t));var r=Array.from(new Set(n));return o(e,r)},e.prototype.normalizeOptions=function(e,t){e.minLowercase=0,e.minUppercase=0,!e.length||e.length<5?e.length=5:e.length>128&&(e.length=128),e.lengthe.length?e.minNumber=e.length:e.minNumber>9&&(e.minNumber=9):e.minNumber=0,e.minNumbere.length?e.minSpecial=e.length:e.minSpecial>9&&(e.minSpecial=9):e.minSpecial=0,e.minSpeciale.length&&(e.minSpecial=e.length-e.minNumber),null==e.numWords||e.length<3?e.numWords=3:e.numWords>20&&(e.numWords=20),e.numWords1&&(e.wordSeparator=e.wordSeparator[0]),this.sanitizePasswordLength(e,!1)},e.prototype.capitalize=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},e.prototype.appendRandomNumberToRandomWord=function(e){return r(this,void 0,void 0,function(){var t,n;return i(this,function(r){switch(r.label){case 0:return null==e||e.length<=0?[2]:[4,this.cryptoService.randomNumber(0,e.length-1)];case 1:return t=r.sent(),[4,this.cryptoService.randomNumber(0,9)];case 2:return n=r.sent(),e[t]=e[t]+n,[2]}})})},e.prototype.encryptHistory=function(e){return r(this,void 0,void 0,function(){var t,n=this;return i(this,function(o){switch(o.label){case 0:return null==e||0===e.length?[2,Promise.resolve([])]:(t=e.map(function(e){return r(n,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return[4,this.cryptoService.encrypt(e.password)];case 1:return t=n.sent(),[2,new s.GeneratedPasswordHistory(t.encryptedString,e.date)]}})})}),[4,Promise.all(t)]);case 1:return[2,o.sent()]}})})},e.prototype.decryptHistory=function(e){return r(this,void 0,void 0,function(){var t,n=this;return i(this,function(o){switch(o.label){case 0:return null==e||0===e.length?[2,Promise.resolve([])]:(t=e.map(function(e){return r(n,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return[4,this.cryptoService.decryptToUtf8(new a.CipherString(e.password))];case 1:return t=n.sent(),[2,new s.GeneratedPasswordHistory(t,e.date)]}})})}),[4,Promise.all(t)]);case 1:return[2,o.sent()]}})})},e.prototype.matchesPrevious=function(e,t){return null!=t&&0!==t.length&&t[t.length-1].password===e},e.prototype.shuffleArray=function(e){return r(this,void 0,void 0,function(){var t,n,r;return i(this,function(i){switch(i.label){case 0:t=e.length-1,i.label=1;case 1:return t>0?[4,this.cryptoService.randomNumber(0,t)]:[3,4];case 2:n=i.sent(),r=[e[n],e[t]],e[t]=r[0],e[n]=r[1],i.label=3;case 3:return t--,[3,1];case 4:return[2]}})})},e.prototype.sanitizePasswordLength=function(e,t){var n=0,r=0,i=e.minNumber,o=e.minSpecial;e.uppercase&&e.minUppercase<=0?n=1:e.uppercase||(n=0),e.lowercase&&e.minLowercase<=0?r=1:e.lowercase||(r=0),e.number&&e.minNumber<=0?i=1:e.number||(i=0),e.special&&e.minSpecial<=0?o=1:e.special||(o=0),(!e.length||e.length<1)&&(e.length=10);var a=n+r+i+o;e.length0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=e.revisionDate&&(n=!1),a=!1,n&&(t?(n=null!=r,a=!0):null==e.collectionIds||null==e.organizationId?n=null==r:(n=!1,a=!0)),!n&&a&&null!=e.organizationId&&null!=e.collectionIds&&e.collectionIds.length>0?[4,this.collectionService.getAll()]:[3,5];case 4:if(null!=(s=i.sent()))for(l=0;l-1){n=!0;break}i.label=5;case 5:return n?[4,this.apiService.getCipher(e.id)]:[3,9];case 6:return null==(c=i.sent())?[3,9]:[4,this.userService.getUserId()];case 7:return p=i.sent(),[4,this.cipherService.upsert(new o.CipherData(c,p))];case 8:return i.sent(),this.messagingService.send("syncedUpsertedCipher",{cipherId:e.id}),[2,this.syncCompleted(!0)];case 9:return[3,13];case 10:return null!=(u=i.sent())&&404===u.statusCode&&t?[4,this.cipherService.delete(e.id)]:[3,12];case 11:return i.sent(),this.messagingService.send("syncedDeletedCipher",{cipherId:e.id}),[2,this.syncCompleted(!0)];case 12:return[3,13];case 13:return[2,this.syncCompleted(!1)]}})})},e.prototype.syncDeleteCipher=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return this.syncStarted(),[4,this.userService.isAuthenticated()];case 1:return t.sent()?[4,this.cipherService.delete(e.id)]:[3,3];case 2:return t.sent(),this.messagingService.send("syncedDeletedCipher",{cipherId:e.id}),[2,this.syncCompleted(!0)];case 3:return[2,this.syncCompleted(!1)]}})})},e.prototype.syncUpsertSend=function(e,t){return r(this,void 0,void 0,function(){var n,r,o;return i(this,function(i){switch(i.label){case 0:return this.syncStarted(),[4,this.userService.isAuthenticated()];case 1:if(!i.sent())return[3,9];i.label=2;case 2:return i.trys.push([2,8,,9]),[4,this.sendService.get(e.id)];case 3:return n=i.sent(),!t&&null==n||t&&null!=n&&n.revisionDate0&&e.push(t.domains)}),[2,this.settingsService.setEquivalentDomains(e)]})})},e.prototype.syncPolicies=function(e){return r(this,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return t={},null!=e&&e.forEach(function(e){t[e.id]=new c.PolicyData(e)}),[4,this.policyService.replace(t)];case 1:return[2,n.sent()]}})})},e}();t.SyncService=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(160),i=n(932),o=n(933),a=function(){return function(e,t){if(null!=e)switch(this.id=e.id,this.accessId=e.accessId,this.userId=t,this.type=e.type,this.name=e.name,this.notes=e.notes,this.key=e.key,this.maxAccessCount=e.maxAccessCount,this.accessCount=e.accessCount,this.revisionDate=e.revisionDate,this.expirationDate=e.expirationDate,this.deletionDate=e.deletionDate,this.password=e.password,this.disabled=e.disable,this.type){case r.SendType.Text:this.text=new o.SendTextData(e.text);break;case r.SendType.File:this.file=new i.SendFileData(e.file)}}}();t.SendData=a},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]10?r=10:u>0&&(r=u)}catch(I){}if(p.has("period")&&null!=p.get("period"))try{(d=parseInt(p.get("period").trim(),null))>0&&(t=d)}catch(E){}p.has("secret")&&null!=p.get("secret")&&(o=p.get("secret")),p.has("algorithm")&&null!=p.get("algorithm")&&("sha1"!==(m=p.get("algorithm").toLowerCase())&&"sha256"!==m&&"sha512"!==m||(n=m))}else c&&(o=e.substr("steam://".length),r=5);return h=Math.round((new Date).getTime()/1e3),f=this.leftPad(this.decToHex(Math.floor(h/t)),16,"0"),v=a.Utils.fromHexToArray(f),(y=this.b32ToBytes(o)).length&&v.length?[4,this.sign(y,v,n)]:[2,null];case 1:if(0===(g=i.sent()).length)return[2,null];if(x=15&g[g.length-1],b=(127&g[x])<<24|(255&g[x+1])<<16|(255&g[x+2])<<8|255&g[x+3],S="",c)for(w=2147483647&b,C=0;C=e.length&&(e=Array(t+1-e.length).join(n)+e),e},e.prototype.decToHex=function(e){return(e<15.5?"0":"")+Math.round(e).toString(16)},e.prototype.b32ToHex=function(e){e=e.toUpperCase();for(var t="",n=0;n0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=n?[4,this.storageService.get(o.ConstantsService.vaultTimeoutActionKey)]:[3,12]);case 7:return"logOut"!==r.sent()?[3,9]:[4,this.logOut()];case 8:return r.sent(),[3,11];case 9:return[4,this.lock(!0)];case 10:r.sent(),r.label=11;case 11:r.label=12;case 12:return[2]}})})},e.prototype.lock=function(e){return void 0===e&&(e=!1),r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.userService.isAuthenticated()];case 1:return t.sent()?(this.biometricLocked=!0,e?[4,this.isBiometricLockSet()]:[3,5]):[2];case 2:return t.sent()&&this.platformUtilsService.supportsSecureStorage()?(this.messagingService.send("locked"),null==this.lockedCallback?[3,4]:[4,this.lockedCallback()]):[3,5];case 3:t.sent(),t.label=4;case 4:return[2];case 5:return[4,Promise.all([this.cryptoService.clearKey(),this.cryptoService.clearOrgKeys(!0),this.cryptoService.clearKeyPair(!0),this.cryptoService.clearEncKey(!0)])];case 6:return t.sent(),this.folderService.clearCache(),this.cipherService.clearCache(),this.collectionService.clearCache(),this.searchService.clearIndex(),this.messagingService.send("locked"),null==this.lockedCallback?[3,8]:[4,this.lockedCallback()];case 7:t.sent(),t.label=8;case 8:return[2]}})})},e.prototype.logOut=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return null==this.loggedOutCallback?[3,2]:[4,this.loggedOutCallback()];case 1:e.sent(),e.label=2;case 2:return[2]}})})},e.prototype.setVaultTimeoutOptions=function(e,t){return r(this,void 0,void 0,function(){return i(this,function(n){switch(n.label){case 0:return[4,this.storageService.save(o.ConstantsService.vaultTimeoutKey,e)];case 1:return n.sent(),[4,this.storageService.save(o.ConstantsService.vaultTimeoutActionKey,t)];case 2:return n.sent(),[4,this.cryptoService.toggleKey()];case 3:return n.sent(),[4,this.tokenService.toggleTokens()];case 4:return n.sent(),[2]}})})},e.prototype.isPinLockSet=function(){return r(this,void 0,void 0,function(){var e,t;return i(this,function(n){switch(n.label){case 0:return[4,this.storageService.get(o.ConstantsService.protectedPin)];case 1:return e=n.sent(),[4,this.storageService.get(o.ConstantsService.pinProtectedKey)];case 2:return t=n.sent(),[2,[null!=e,null!=t]]}})})},e.prototype.isBiometricLockSet=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.storageService.get(o.ConstantsService.biometricUnlockKey)];case 1:return[2,e.sent()]}})})},e.prototype.clear=function(){return this.pinProtectedKey=null,this.storageService.remove(o.ConstantsService.protectedPin)},e}();t.VaultTimeoutService=a},,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(938),i=n(939),o=function(){function e(e,t){void 0===t&&(t=null),this.isDev=e,this.filter=t,this.timersMap=new Map}return e.prototype.debug=function(e){this.isDev&&this.write(r.LogLevelType.Debug,e)},e.prototype.info=function(e){this.write(r.LogLevelType.Info,e)},e.prototype.warning=function(e){this.write(r.LogLevelType.Warning,e)},e.prototype.error=function(e){this.write(r.LogLevelType.Error,e)},e.prototype.write=function(e,t){if(null==this.filter||!this.filter(e))switch(e){case r.LogLevelType.Debug:case r.LogLevelType.Info:console.log(t);break;case r.LogLevelType.Warning:console.warn(t);break;case r.LogLevelType.Error:console.error(t)}},e.prototype.time=function(e){void 0===e&&(e="default"),this.timersMap.has(e)||this.timersMap.set(e,i())},e.prototype.timeEnd=function(e){void 0===e&&(e="default");var t=i(this.timersMap.get(e));return this.timersMap.delete(e),this.write(r.LogLevelType.Info,e+": "+(1e3*t[0]+t[1]/1e7)+"ms"),t},e}();t.ConsoleLogService=o},,,,,,,,function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.build=function(t){this.id=t.id,e.prototype.build.call(this,t),this.collectionIds=t.collectionIds},t}(n(955).Cipher);t.CipherWithIds=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.build=function(t){this.id=t.id,e.prototype.build.call(this,t)},t}(n(962).Collection);t.CollectionWithId=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.build=function(t){this.id=t.id,e.prototype.build.call(this,t)},t}(n(963).Folder);t.FolderWithId=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(27),a=n(26),s=n(40),l=n(128),c=n(998);t.IgnoredProperties=["ainfo","autosubmit","notesplain","ps","scope","tags","title","uuid","notes"];var p=function(e){function n(){var t=null!==e&&e.apply(this,arguments)||this;return t.loginPropertyParsers=[t.setLoginUsername,t.setLoginPassword,t.setLoginUris],t.creditCardPropertyParsers=[t.setCreditCardNumber,t.setCreditCardVerification,t.setCreditCardCardholderName,t.setCreditCardExpiry],t.identityPropertyParsers=[t.setIdentityFirstName,t.setIdentityInitial,t.setIdentityLastName,t.setIdentityUserName,t.setIdentityEmail,t.setIdentityPhone,t.setIdentityCompany],t}return i(n,e),n.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!0,{quoteChar:'"',escapeChar:"\\"});return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!t.isNullOrWhitespace(t.getProp(e,"title"))){var r=t.initLoginCipher();r.name=t.getValueOrDefault(t.getProp(e,"title"),"--"),t.setNotes(e,r),t.setCipherType(e,r);var i=null;for(var o in e)if(e.hasOwnProperty(o)&&!t.isNullOrWhitespace(e[o])){var a=new c.CipherImportContext(e,o,r);r.type===s.CipherType.Login&&t.setKnownLoginValue(a)||r.type===s.CipherType.Card&&t.setKnownCreditCardValue(a)||r.type===s.CipherType.Identity&&t.setKnownIdentityValue(a)||(i=t.setUnknownValue(a,i))}r.type===s.CipherType.Login&&!t.isNullOrWhitespace(i)&&t.isNullOrWhitespace(r.login.username)&&-1===i.indexOf("://")&&(r.login.username=i),t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,Promise.resolve(n))},n.prototype.getProp=function(e,t){return Object.entries(e).reduce(function(e,t){return e[t[0].toLowerCase()]=t[1],e},{})[t.toLowerCase()]},n.prototype.getPropByRegexp=function(e,t){var n=Object.keys(e).reduce(function(e,n){return n.match(t)&&e.push(n),e},[]);return 0===n.length?null:e[n[0]]},n.prototype.getPropIncluding=function(e,t){var n=Object.keys(e).reduce(function(e,n){return n.toLowerCase().includes(t.toLowerCase())&&e.push(n),e},[]);return 0===n.length?null:e[n[0]]},n.prototype.setNotes=function(e,t){t.notes=this.getValueOrDefault(this.getProp(e,"notesPlain"),"")+"\n"+this.getValueOrDefault(this.getProp(e,"notes"),"")+"\n",t.notes.trim()},n.prototype.setKnownLoginValue=function(e){var t=this;return this.loginPropertyParsers.reduce(function(n,r){return n||(n=r.bind(t)(e)),n},!1)},n.prototype.setKnownCreditCardValue=function(e){var t=this;return this.creditCardPropertyParsers.reduce(function(n,r){return n||(n=r.bind(t)(e)),n},!1)},n.prototype.setKnownIdentityValue=function(e){var t=this;return this.identityPropertyParsers.reduce(function(n,r){return n||(n=r.bind(t)(e)),n},!1)},n.prototype.setUnknownValue=function(e,n){if(-1===t.IgnoredProperties.indexOf(e.lowerProperty)&&!e.lowerProperty.startsWith("section:")&&!e.lowerProperty.startsWith("section ")){if(null==n&&"email"===e.lowerProperty)return e.importRecord[e.property];if("created date"===e.lowerProperty||"modified date"===e.lowerProperty){var r=new Date(1e3*parseInt(e.importRecord[e.property],10)).toUTCString();return this.processKvp(e.cipher,"1Password "+e.property,r),null}e.lowerProperty.includes("password")||e.lowerProperty.includes("key")||e.lowerProperty.includes("secret")?this.processKvp(e.cipher,e.property,e.importRecord[e.property],l.FieldType.Hidden):this.processKvp(e.cipher,e.property,e.importRecord[e.property])}return null},n.prototype.setIdentityFirstName=function(e){return!(!this.isNullOrWhitespace(e.cipher.identity.firstName)||!e.lowerProperty.includes("first name"))&&(e.cipher.identity.firstName=e.importRecord[e.property],!0)},n.prototype.setIdentityInitial=function(e){return!(!this.isNullOrWhitespace(e.cipher.identity.middleName)||!e.lowerProperty.includes("initial"))&&(e.cipher.identity.middleName=e.importRecord[e.property],!0)},n.prototype.setIdentityLastName=function(e){return!(!this.isNullOrWhitespace(e.cipher.identity.lastName)||!e.lowerProperty.includes("last name"))&&(e.cipher.identity.lastName=e.importRecord[e.property],!0)},n.prototype.setIdentityUserName=function(e){return!(!this.isNullOrWhitespace(e.cipher.identity.username)||!e.lowerProperty.includes("username"))&&(e.cipher.identity.username=e.importRecord[e.property],!0)},n.prototype.setIdentityCompany=function(e){return!(!this.isNullOrWhitespace(e.cipher.identity.company)||!e.lowerProperty.includes("company"))&&(e.cipher.identity.company=e.importRecord[e.property],!0)},n.prototype.setIdentityPhone=function(e){return!(!this.isNullOrWhitespace(e.cipher.identity.phone)||!e.lowerProperty.includes("default phone"))&&(e.cipher.identity.phone=e.importRecord[e.property],!0)},n.prototype.setIdentityEmail=function(e){return!(!this.isNullOrWhitespace(e.cipher.identity.email)||!e.lowerProperty.includes("email"))&&(e.cipher.identity.email=e.importRecord[e.property],!0)},n.prototype.setCreditCardNumber=function(e){return!(!this.isNullOrWhitespace(e.cipher.card.number)||!e.lowerProperty.includes("number"))&&(e.cipher.card.number=e.importRecord[e.property],e.cipher.card.brand=this.getCardBrand(e.cipher.card.number),!0)},n.prototype.setCreditCardVerification=function(e){return!(!this.isNullOrWhitespace(e.cipher.card.code)||!e.lowerProperty.includes("verification number"))&&(e.cipher.card.code=e.importRecord[e.property],!0)},n.prototype.setCreditCardCardholderName=function(e){return!(!this.isNullOrWhitespace(e.cipher.card.cardholderName)||!e.lowerProperty.includes("cardholder name"))&&(e.cipher.card.cardholderName=e.importRecord[e.property],!0)},n.prototype.setCreditCardExpiry=function(e){return!(!this.isNullOrWhitespace(e.cipher.card.expiration)||!e.lowerProperty.includes("expiry date")||7!==e.importRecord[e.property].length)&&(e.cipher.card.expMonth=e.importRecord[e.property].substr(0,2),"0"===e.cipher.card.expMonth[0]&&(e.cipher.card.expMonth=e.cipher.card.expMonth.substr(1,1)),e.cipher.card.expYear=e.importRecord[e.property].substr(3,4),!0)},n.prototype.setLoginPassword=function(e){return!(!this.isNullOrWhitespace(e.cipher.login.password)||"password"!==e.lowerProperty)&&(e.cipher.login.password=e.importRecord[e.property],!0)},n.prototype.setLoginUsername=function(e){return!(!this.isNullOrWhitespace(e.cipher.login.username)||"username"!==e.lowerProperty)&&(e.cipher.login.username=e.importRecord[e.property],!0)},n.prototype.setLoginUris=function(e){if((null==e.cipher.login.uris||0===e.cipher.login.uris.length)&&"urls"===e.lowerProperty){var t=e.importRecord[e.property].split(this.newLineRegex);return e.cipher.login.uris=this.makeUriArray(t),!0}return"url"===e.lowerProperty&&(null==e.cipher.login.uris&&(e.cipher.login.uris=[]),e.cipher.login.uris.concat(this.makeUriArray(e.importRecord[e.property])),!0)},n}(a.BaseImporter);t.OnePasswordCsvImporter=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(591);t.AttachmentView=r.AttachmentView;var i=n(89);t.CardView=i.CardView;var o=n(143);t.CipherView=o.CipherView;var a=n(209);t.FieldView=a.FieldView;var s=n(144);t.IdentityView=s.IdentityView;var l=n(255);t.LoginUriView=l.LoginUriView;var c=n(159);t.LoginView=c.LoginView;var p=n(94);t.SecureNoteView=p.SecureNoteView;var u=n(999);t.View=u.View},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.SyncCipherUpdate=0]="SyncCipherUpdate",e[e.SyncCipherCreate=1]="SyncCipherCreate",e[e.SyncLoginDelete=2]="SyncLoginDelete",e[e.SyncFolderDelete=3]="SyncFolderDelete",e[e.SyncCiphers=4]="SyncCiphers",e[e.SyncVault=5]="SyncVault",e[e.SyncOrgKeys=6]="SyncOrgKeys",e[e.SyncFolderCreate=7]="SyncFolderCreate",e[e.SyncFolderUpdate=8]="SyncFolderUpdate",e[e.SyncCipherDelete=9]="SyncCipherDelete",e[e.SyncSettings=10]="SyncSettings",e[e.LogOut=11]="LogOut",e[e.SyncSendCreate=12]="SyncSendCreate",e[e.SyncSendUpdate=13]="SyncSendUpdate",e[e.SyncSendDelete=14]="SyncSendDelete"}(t.NotificationType||(t.NotificationType={}))},,,,,function(e,t){},,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0);n(740),n(270),n(522),n(741);var i=n(742),o=n(72);r.enableProdMode(),o.platformBrowser().bootstrapModule(i.AppModule,{preserveWhitespaces:!0})},,function(e,t,n){},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(743);var r=n(9),i=n(12),o=n(212),a=n(808),s=n(264),l=(n(0),n(14)),c=n(72),p=n(886),u=n(887),d=n(1047),m=n(84),h=n(140),f=n(247),v=n(457),y=n(532),g=n(456),x=n(533),b=n(536),S=n(537),w=n(538),C=n(539),I=n(540),E=n(541),P=n(542),k=n(543),_=n(544),A=n(547),O=n(548),T=n(551),M=n(550),B=n(554),D=n(555),V=n(557),j=n(556),R=n(464),U=n(463),F=n(559),N=n(561),z=n(560),L=n(562),G=n(563),K=n(568),q=n(570),H=n(565),W=n(566),$=n(567),Y=n(571),Q=n(580),J=n(578),X=n(574),Z=n(579),ee=n(575),te=n(577),ne=n(581),re=n(582),ie=n(588),oe=n(589),ae=n(601),se=n(602),le=n(603),ce=n(604),pe=n(605),ue=n(606),de=n(478),me=n(608),he=n(494),fe=n(609),ve=n(496),ye=n(607),ge=n(1048),xe=n(617),be=n(616),Se=n(619),we=n(469),Ce=n(470),Ie=n(473),Ee=n(466),Pe=n(623),ke=n(631),_e=n(625),Ae=n(632),Oe=n(620),Te=n(621),Me=n(633),Be=n(661),De=n(658),Ve=n(662),je=n(663),Re=n(653),Ue=n(657),Fe=n(635),Ne=n(634),ze=n(280),Le=n(294),Ge=n(118),Ke=n(636),qe=n(622),He=n(467),We=n(637),$e=n(142),Ye=n(583),Qe=n(474),Je=n(584),Xe=n(585),Ze=n(475),et=n(586),tt=n(190),nt=n(587),rt=n(644),it=n(471),ot=n(468),at=n(638),st=n(647),lt=n(639),ct=n(476),pt=n(477),ut=n(488),dt=n(489),mt=n(641),ht=n(640),ft=n(490),vt=n(642),yt=n(491),gt=n(492),xt=n(256),bt=n(493),St=n(497),wt=n(611),Ct=n(613),It=n(614),Et=n(615),Pt=n(258),kt=n(495),_t=n(645),At=n(290),Ot=n(646),Tt=n(643),Mt=n(29),Bt=n(104),Dt=n(18),Vt=n(17),jt=n(62),Rt=n(1052),Ut=n(1053),Ft=n(600),Nt=n(45),zt=n(500),Lt=n(39),Gt=n(57),Kt=n(289),qt=n(501),Ht=n(10),Wt=n(1054),$t=n(249),Yt=n(4),Qt=n(1055),Jt=n(1056),Xt=n(1057),Zt=n(1058),en=n(1059),tn=n(1060),nn=n(1061),rn=n(1062),on=n(1063),an=n(1064),sn=n(1065),ln=n(1066),cn=n(1067),pn=n(1068),un=n(1069),dn=n(1070),mn=n(1071),hn=n(1072),fn=n(1073),vn=n(1074),yn=n(1075),gn=n(1076),xn=n(1077),bn=n(1078),Sn=n(1079),wn=n(1080),Cn=n(0),In=n(12),En=n(9);Yt.registerLocaleData(Qt.default,"ca"),Yt.registerLocaleData(Jt.default,"cs"),Yt.registerLocaleData(Xt.default,"da"),Yt.registerLocaleData(Zt.default,"de"),Yt.registerLocaleData(en.default,"el"),Yt.registerLocaleData(tn.default,"en-GB"),Yt.registerLocaleData(nn.default,"es"),Yt.registerLocaleData(rn.default,"et"),Yt.registerLocaleData(on.default,"fr"),Yt.registerLocaleData(an.default,"he"),Yt.registerLocaleData(sn.default,"it"),Yt.registerLocaleData(ln.default,"ja"),Yt.registerLocaleData(cn.default,"ko"),Yt.registerLocaleData(pn.default,"lv"),Yt.registerLocaleData(un.default,"ml"),Yt.registerLocaleData(dn.default,"nb"),Yt.registerLocaleData(mn.default,"nl"),Yt.registerLocaleData(hn.default,"pl"),Yt.registerLocaleData(fn.default,"pt-BR"),Yt.registerLocaleData(vn.default,"pt-PT"),Yt.registerLocaleData(yn.default,"ru"),Yt.registerLocaleData(gn.default,"sk"),Yt.registerLocaleData(xn.default,"sv"),Yt.registerLocaleData(bn.default,"uk"),Yt.registerLocaleData(Sn.default,"zh-CN"),Yt.registerLocaleData(wn.default,"zh-TW");var Pn=function(){function e(){}return e.ɵmod=Cn.ɵɵdefineNgModule({type:e,bootstrap:[d.AppComponent]}),e.ɵinj=Cn.ɵɵdefineInjector({factory:function(t){return new(t||e)},providers:[Yt.DatePipe],imports:[[c.BrowserModule,p.BrowserAnimationsModule,l.FormsModule,a.AppRoutingModule,u.ServicesModule,i.Angulartics2Module.forRoot({pageTracking:{clearQueryParams:!0}}),r.ToasterModule.forRoot(),o.InfiniteScrollModule,s.DragDropModule]]}),e}();t.AppModule=Pn,("undefined"==typeof ngJitMode||ngJitMode)&&Cn.ɵɵsetNgModuleScope(Pn,{declarations:[Dt.A11yTitleDirective,S.AcceptEmergencyComponent,ge.AccessComponent,w.AcceptOrganizationComponent,Se.AccountComponent,A.SetPasswordComponent,we.AddCreditComponent,xt.AddEditComponent,Ce.AdjustPaymentComponent,Q.AdjustSeatsComponent,Ie.AdjustStorageComponent,Vt.ApiActionDirective,Ee.ApiKeyComponent,d.AppComponent,bt.AttachmentsComponent,jt.AutofocusDirective,h.AvatarComponent,Rt.BlurClickDirective,Ut.BoxRowDirective,lt.BreachReportComponent,St.BulkActionsComponent,wt.BulkDeleteComponent,Ct.BulkMoveComponent,It.BulkRestoreComponent,Et.BulkShareComponent,Mt.CalloutComponent,Pe.ChangeEmailComponent,ke.ChangeKdfComponent,_e.ChangePasswordComponent,J.ChangePlanComponent,Pt.CiphersComponent,kt.CollectionsComponent,qt.ColorPasswordPipe,Ae.CreateOrganizationComponent,Oe.DeauthorizeSessionsComponent,Te.DeleteAccountComponent,X.DeleteOrganizationComponent,Me.DomainRulesComponent,Z.DownloadLicenseComponent,Be.EmergencyAccessAddEditComponent,De.EmergencyAccessComponent,Ve.EmergencyAccessConfirmComponent,je.EmergencyAccessTakeoverComponent,Re.EmergencyAccessViewComponent,Ue.EmergencyAddEditComponent,ct.ExportComponent,pt.ExposedPasswordsReportComponent,Ft.FallbackSrcDirective,_t.FolderAddEditComponent,v.FooterComponent,y.FrontendLayoutComponent,At.GroupingsComponent,C.HintComponent,Ht.I18nPipe,Bt.IconComponent,ut.ImportComponent,dt.InactiveTwoFactorReportComponent,Nt.InputVerbatimDirective,Fe.LinkSsoComponent,I.LockComponent,E.LoginComponent,m.ModalComponent,g.NavbarComponent,Ne.OptionsComponent,Y.AccountComponent,de.AddEditComponent,ee.OrganizationBillingComponent,ze.OrganizationPlansComponent,te.OrganizationSubscriptionComponent,me.AttachmentsComponent,he.CiphersComponent,V.CollectionAddEditComponent,fe.CollectionsComponent,R.EntityEventsComponent,U.EntityUsersComponent,F.EventsComponent,ie.ExportComponent,oe.ExposedPasswordsReportComponent,ae.ImportComponent,se.InactiveTwoFactorReportComponent,N.GroupAddEditComponent,ve.GroupingsComponent,z.GroupsComponent,j.CollectionsComponent,L.ManageComponent,G.PeopleComponent,q.PolicyEditComponent,K.PoliciesComponent,le.ReusedPasswordsReportComponent,ne.SettingsComponent,ce.ToolsComponent,re.TwoFactorSetupComponent,H.UserAddEditComponent,W.UserConfirmComponent,$.UserGroupsComponent,Le.OrganizationsComponent,x.OrganizationLayoutComponent,pe.UnsecuredWebsitesReportComponent,ye.VaultComponent,ue.WeakPasswordsReportComponent,ht.PasswordGeneratorComponent,mt.PasswordGeneratorHistoryComponent,f.PasswordStrengthComponent,Ge.PaymentComponent,Ke.PremiumComponent,qe.ProfileComponent,He.PurgeVaultComponent,P.RecoverDeleteComponent,k.RecoverTwoFactorComponent,_.RegisterComponent,ft.ReusedPasswordsReportComponent,Wt.SearchCiphersPipe,$t.SearchPipe,zt.SelectCopyDirective,xe.AddEditComponent,be.SendComponent,We.SettingsComponent,Ot.ShareComponent,O.SsoComponent,Lt.StopClickDirective,Gt.StopPropDirective,$e.TaxInfoComponent,vt.ToolsComponent,Kt.TrueFalseValueDirective,Ye.TwoFactorAuthenticatorComponent,M.TwoFactorComponent,Qe.TwoFactorDuoComponent,Je.TwoFactorEmailComponent,T.TwoFactorOptionsComponent,Xe.TwoFactorRecoveryComponent,Ze.TwoFactorSetupComponent,et.TwoFactorU2fComponent,tt.TwoFactorVerifyComponent,nt.TwoFactorYubiKeyComponent,yt.UnsecuredWebsitesReportComponent,rt.UpdateKeyComponent,it.UpdateLicenseComponent,ot.UserBillingComponent,b.UserLayoutComponent,at.UserSubscriptionComponent,Tt.VaultComponent,st.VerifyEmailComponent,B.VerifyEmailTokenComponent,D.VerifyRecoverDeleteComponent,gt.WeakPasswordsReportComponent],imports:[c.BrowserModule,p.BrowserAnimationsModule,l.FormsModule,a.AppRoutingModule,u.ServicesModule,In.Angulartics2Module,En.ToasterModule,o.InfiniteScrollModule,s.DragDropModule]})},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(8),i=n(532),o=n(533),a=n(536),s=n(537),l=n(538),c=n(539),p=n(540),u=n(541),d=n(542),m=n(543),h=n(544),f=n(547),v=n(548),y=n(550),g=n(554),x=n(555),b=n(556),S=n(559),w=n(560),C=n(562),I=n(563),E=n(568),P=n(571),k=n(575),_=n(577),A=n(581),O=n(582),T=n(588),M=n(589),B=n(601),D=n(602),V=n(603),j=n(604),R=n(605),U=n(606),F=n(607),N=n(616),z=n(619),L=n(632),G=n(633),K=n(634),q=n(294),H=n(636),W=n(637),$=n(475),Y=n(468),Q=n(638),J=n(639),X=n(476),Z=n(477),ee=n(488),te=n(489),ne=n(640),re=n(490),ie=n(642),oe=n(491),ae=n(492),se=n(643),le=n(648),ce=n(649),pe=n(651),ue=n(652),de=n(650),me=n(653),he=n(658),fe=n(0),ve=n(8),ye=[{path:"",component:i.FrontendLayoutComponent,children:[{path:"",pathMatch:"full",component:u.LoginComponent,canActivate:[pe.UnauthGuardService]},{path:"2fa",component:y.TwoFactorComponent,canActivate:[pe.UnauthGuardService]},{path:"register",component:h.RegisterComponent,canActivate:[pe.UnauthGuardService],data:{titleId:"createAccount"}},{path:"sso",component:v.SsoComponent,canActivate:[pe.UnauthGuardService],data:{titleId:"enterpriseSingleSignOn"}},{path:"set-password",component:f.SetPasswordComponent,data:{titleId:"setMasterPassword"}},{path:"hint",component:c.HintComponent,canActivate:[pe.UnauthGuardService],data:{titleId:"passwordHint"}},{path:"lock",component:p.LockComponent},{path:"verify-email",component:g.VerifyEmailTokenComponent},{path:"accept-organization",component:l.AcceptOrganizationComponent,data:{titleId:"joinOrganization"}},{path:"accept-emergency",component:s.AcceptEmergencyComponent,data:{titleId:"acceptEmergency"}},{path:"recover",pathMatch:"full",redirectTo:"recover-2fa"},{path:"recover-2fa",component:m.RecoverTwoFactorComponent,canActivate:[pe.UnauthGuardService],data:{titleId:"recoverAccountTwoStep"}},{path:"recover-delete",component:d.RecoverDeleteComponent,canActivate:[pe.UnauthGuardService],data:{titleId:"deleteAccount"}},{path:"verify-recover-delete",component:x.VerifyRecoverDeleteComponent,canActivate:[pe.UnauthGuardService],data:{titleId:"deleteAccount"}}]},{path:"",component:a.UserLayoutComponent,canActivate:[ue.AuthGuardService],children:[{path:"vault",component:se.VaultComponent,data:{titleId:"myVault"}},{path:"sends",component:N.SendComponent,data:{title:"Send"}},{path:"settings",component:W.SettingsComponent,children:[{path:"",pathMatch:"full",redirectTo:"account"},{path:"account",component:z.AccountComponent,data:{titleId:"myAccount"}},{path:"options",component:K.OptionsComponent,data:{titleId:"options"}},{path:"domain-rules",component:G.DomainRulesComponent,data:{titleId:"domainRules"}},{path:"two-factor",component:$.TwoFactorSetupComponent,data:{titleId:"twoStepLogin"}},{path:"premium",component:H.PremiumComponent,data:{titleId:"goPremium"}},{path:"billing",component:Y.UserBillingComponent,data:{titleId:"billing"}},{path:"subscription",component:Q.UserSubscriptionComponent,data:{titleId:"premiumMembership"}},{path:"organizations",component:q.OrganizationsComponent,data:{titleId:"organizations"}},{path:"create-organization",component:L.CreateOrganizationComponent,data:{titleId:"newOrganization"}},{path:"emergency-access",children:[{path:"",component:he.EmergencyAccessComponent,data:{titleId:"emergencyAccess"}},{path:":id",component:me.EmergencyAccessViewComponent,data:{titleId:"emergencyAccess"}}]}]},{path:"tools",component:ie.ToolsComponent,canActivate:[ue.AuthGuardService],children:[{path:"",pathMatch:"full",redirectTo:"generator"},{path:"import",component:ee.ImportComponent,data:{titleId:"importData"}},{path:"export",component:X.ExportComponent,data:{titleId:"exportVault"}},{path:"generator",component:ne.PasswordGeneratorComponent,data:{titleId:"passwordGenerator"}},{path:"breach-report",component:J.BreachReportComponent,data:{titleId:"dataBreachReport"}},{path:"reused-passwords-report",component:re.ReusedPasswordsReportComponent,data:{titleId:"reusedPasswordsReport"}},{path:"unsecured-websites-report",component:oe.UnsecuredWebsitesReportComponent,data:{titleId:"unsecuredWebsitesReport"}},{path:"weak-passwords-report",component:ae.WeakPasswordsReportComponent,data:{titleId:"weakPasswordsReport"}},{path:"exposed-passwords-report",component:Z.ExposedPasswordsReportComponent,data:{titleId:"exposedPasswordsReport"}},{path:"inactive-two-factor-report",component:te.InactiveTwoFactorReportComponent,data:{titleId:"inactive2faReport"}}]}]},{path:"organizations/:organizationId",component:o.OrganizationLayoutComponent,canActivate:[ue.AuthGuardService,le.OrganizationGuardService],children:[{path:"",pathMatch:"full",redirectTo:"vault"},{path:"vault",component:F.VaultComponent,data:{titleId:"vault"}},{path:"tools",component:j.ToolsComponent,canActivate:[ce.OrganizationTypeGuardService],data:{permissions:[de.Permissions.AccessImportExport,de.Permissions.AccessReports]},children:[{path:"",pathMatch:"full",redirectTo:"import"},{path:"import",component:B.ImportComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"importData",permissions:[de.Permissions.AccessImportExport]}},{path:"export",component:T.ExportComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"exportVault",permissions:[de.Permissions.AccessImportExport]}},{path:"exposed-passwords-report",component:M.ExposedPasswordsReportComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"exposedPasswordsReport",permissions:[de.Permissions.AccessReports]}},{path:"inactive-two-factor-report",component:D.InactiveTwoFactorReportComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"inactive2faReport",permissions:[de.Permissions.AccessReports]}},{path:"reused-passwords-report",component:V.ReusedPasswordsReportComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"reusedPasswordsReport",permissions:[de.Permissions.AccessReports]}},{path:"unsecured-websites-report",component:R.UnsecuredWebsitesReportComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"unsecuredWebsitesReport",permissions:[de.Permissions.AccessReports]}},{path:"weak-passwords-report",component:U.WeakPasswordsReportComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"weakPasswordsReport",permissions:[de.Permissions.AccessReports]}}]},{path:"manage",component:C.ManageComponent,canActivate:[ce.OrganizationTypeGuardService],data:{permissions:[de.Permissions.ManageAssignedCollections,de.Permissions.ManageAllCollections,de.Permissions.AccessEventLogs,de.Permissions.ManageGroups,de.Permissions.ManageUsers,de.Permissions.ManagePolicies]},children:[{path:"",pathMatch:"full",redirectTo:"people"},{path:"collections",component:b.CollectionsComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"collections",permissions:[de.Permissions.ManageAssignedCollections,de.Permissions.ManageAllCollections]}},{path:"events",component:S.EventsComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"eventLogs",permissions:[de.Permissions.AccessEventLogs]}},{path:"groups",component:w.GroupsComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"groups",permissions:[de.Permissions.ManageGroups]}},{path:"people",component:I.PeopleComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"people",permissions:[de.Permissions.ManageUsers]}},{path:"policies",component:E.PoliciesComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"policies",permissions:[de.Permissions.ManagePolicies]}}]},{path:"settings",component:A.SettingsComponent,canActivate:[ce.OrganizationTypeGuardService],data:{permissions:[de.Permissions.ManageOrganization]},children:[{path:"",pathMatch:"full",redirectTo:"account"},{path:"account",component:P.AccountComponent,data:{titleId:"myOrganization"}},{path:"two-factor",component:O.TwoFactorSetupComponent,data:{titleId:"twoStepLogin"}},{path:"billing",component:k.OrganizationBillingComponent,data:{titleId:"billing"}},{path:"subscription",component:_.OrganizationSubscriptionComponent,data:{titleId:"subscription"}}]}]},{path:"**",redirectTo:""}],ge=function(){function e(){}return e.ɵmod=fe.ɵɵdefineNgModule({type:e}),e.ɵinj=fe.ɵɵdefineInjector({factory:function(t){return new(t||e)},imports:[[r.RouterModule.forRoot(ye,{useHash:!0,paramsInheritanceStrategy:"always"})],r.RouterModule]}),e}();t.AppRoutingModule=ge,("undefined"==typeof ngJitMode||ngJitMode)&&fe.ɵɵsetNgModuleScope(ge,{imports:[ve.RouterModule],exports:[r.RouterModule]})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(){this.subscribers=new Map}return e.prototype.send=function(e,t){null==t?this.subscribers.forEach(function(t){t(e)}):this.subscribers.has(t)&&this.subscribers.get(t)(e)},e.prototype.subscribe=function(e,t){this.subscribers.set(e,t)},e.prototype.unsubscribe=function(e){this.subscribers.has(e)&&this.subscribers.delete(e)},e}();t.BroadcasterService=r},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getDomain=function(e){return null}},,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.EmergencyAccessAcceptRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.OrganizationUserAcceptRequest=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=5)return this.messagingService.send("logout"),[2];this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("invalidPin"))}return[3,33];case 16:return[4,this.cryptoService.makeKey(this.masterPassword,this.email,e,t)];case 17:return r=i.sent(),[4,this.cryptoService.hashPassword(this.masterPassword,r)];case 18:return l=i.sent(),c=!1,null==l?[3,25]:[4,this.cryptoService.getKeyHash()];case 19:return null==(p=i.sent())?[3,20]:(c=p===l,[3,25]);case 20:(u=new s.PasswordVerificationRequest).masterPasswordHash=l,i.label=21;case 21:return i.trys.push([21,24,,25]),this.formPromise=this.apiService.postAccountVerifyPassword(u),[4,this.formPromise];case 22:return i.sent(),c=!0,[4,this.cryptoService.setKeyHash(l)];case 23:return i.sent(),[3,25];case 24:return i.sent(),[3,25];case 25:return c?this.pinSet[0]?[4,this.storageService.get(o.ConstantsService.protectedPin)]:[3,31]:[3,32];case 26:return d=i.sent(),[4,this.cryptoService.getEncKey(r)];case 27:return m=i.sent(),[4,this.cryptoService.decryptToUtf8(new a.CipherString(d),m)];case 28:return h=i.sent(),[4,this.cryptoService.makePinKey(h,this.email,e,t)];case 29:return f=i.sent(),v=this.vaultTimeoutService,[4,this.cryptoService.encrypt(r.key,f)];case 30:v.pinProtectedKey=i.sent(),i.label=31;case 31:return this.setKeyAndContinue(r),[3,33];case 32:this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("invalidMasterPassword")),i.label=33;case 33:return[2]}})})},e.prototype.logOut=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("logOutConfirmation"),this.i18nService.t("logOut"),this.i18nService.t("logOut"),this.i18nService.t("cancel"))];case 1:return e.sent()&&this.messagingService.send("logout"),[2]}})})},e.prototype.unlockBiometric=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.biometricLock?[4,this.platformUtilsService.authenticateBiometric()]:[2];case 1:return e.sent()?[4,this.doContinue()]:[3,3];case 2:e.sent(),e.label=3;case 3:return[2]}})})},e.prototype.togglePassword=function(){this.platformUtilsService.eventTrack("Toggled Master Password on Unlock"),this.showPassword=!this.showPassword,document.getElementById(this.pinLock?"pin":"masterPassword").focus()},e.prototype.setKeyAndContinue=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.cryptoService.setKey(e)];case 1:return t.sent(),this.doContinue(),[2]}})})},e.prototype.doContinue=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return this.vaultTimeoutService.biometricLocked=!1,[4,this.storageService.get(o.ConstantsService.disableFaviconKey)];case 1:return e=t.sent(),[4,this.stateService.save(o.ConstantsService.disableFaviconKey,!!e)];case 2:return t.sent(),this.messagingService.send("unlocked"),null!=this.onSuccessfulSubmit?this.onSuccessfulSubmit():null!=this.router&&this.router.navigate([this.successRoute]),[2]}})})},e.ɵfac=function(t){return new(t||e)(c.ɵɵdirectiveInject(p.Router),c.ɵɵdirectiveInject(u.I18nService),c.ɵɵdirectiveInject(d.PlatformUtilsService),c.ɵɵdirectiveInject(m.MessagingService),c.ɵɵdirectiveInject(h.UserService),c.ɵɵdirectiveInject(f.CryptoService),c.ɵɵdirectiveInject(v.StorageService),c.ɵɵdirectiveInject(y.VaultTimeoutService),c.ɵɵdirectiveInject(g.EnvironmentService),c.ɵɵdirectiveInject(x.StateService),c.ɵɵdirectiveInject(b.ApiService))},e.ɵdir=c.ɵɵdefineDirective({type:e}),e}();t.LockComponent=S},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1&&(e=e.concat(this.email.substr(0,t).trim().toLowerCase().split(/[^A-Za-z0-9]/))),null!=this.name&&""!==this.name&&(e=e.concat(this.name.trim().toLowerCase().split(" "))),e},e}();t.RegisterComponent=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t,n,r,i,o,a,s){this.name=t,this.email=e,this.masterPasswordHash=n,this.masterPasswordHint=r||null,this.key=i,this.kdf=o,this.kdfIterations=a,this.referenceData=s}}();t.RegisterRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.ReferenceEventRequest=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&this.u2f.init({appId:t[0].appId,challenge:t[0].challenge,keys:t.map(function(e){return{version:e.version,keyHandle:e.keyHandle}})}),[3,7]):[3,7];case 2:return setTimeout(function(){c.init({iframe:void 0,host:e.Host,sig_request:e.Signature,submit_callback:function(e){return r(n,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return null==(t=e.querySelector('input[name="sig_response"]'))?[3,2]:(this.token=t.value,[4,this.submit()]);case 1:n.sent(),n.label=2;case 2:return[2]}})})}})},0),[3,7];case 3:return this.twoFactorEmail=e.Email,this.authService.twoFactorProvidersData.size>1?[4,this.sendEmail(!1)]:[3,5];case 4:a.sent(),a.label=5;case 5:case 6:return[3,7];case 7:return[2]}})})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e,t;return i(this,function(n){switch(n.label){case 0:if(null==this.token||""===this.token)return this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("verificationCodeRequired")),[2];if(this.selectedProviderType===o.TwoFactorProviderType.U2f){if(null==this.u2f)return[2];this.u2f.stop()}else this.selectedProviderType!==o.TwoFactorProviderType.Email&&this.selectedProviderType!==o.TwoFactorProviderType.Authenticator||(this.token=this.token.replace(" ","").trim());n.label=1;case 1:return n.trys.push([1,5,,6]),this.formPromise=this.authService.logInTwoFactor(this.selectedProviderType,this.token,this.remember),[4,this.formPromise];case 2:return e=n.sent(),[4,this.storageService.get(l.ConstantsService.disableFaviconKey)];case 3:return t=n.sent(),[4,this.stateService.save(l.ConstantsService.disableFaviconKey,!!t)];case 4:return n.sent(),null!=this.onSuccessfulLogin&&this.onSuccessfulLogin(),this.platformUtilsService.eventTrack("Logged In From Two-step"),e.resetMasterPassword&&(this.successRoute="set-password"),null!=this.onSuccessfulLoginNavigate?this.onSuccessfulLoginNavigate():this.router.navigate([this.successRoute],{queryParams:{identifier:this.identifier}}),[3,6];case 5:return n.sent(),this.selectedProviderType===o.TwoFactorProviderType.U2f&&null!=this.u2f&&this.u2f.start(),[3,6];case 6:return[2]}})})},e.prototype.sendEmail=function(e){return r(this,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:if(this.selectedProviderType!==o.TwoFactorProviderType.Email)return[2];if(null!=this.emailPromise)return[2];n.label=1;case 1:return n.trys.push([1,3,,4]),t=new a.TwoFactorEmailRequest(this.authService.email,this.authService.masterPasswordHash),this.emailPromise=this.apiService.postTwoFactorEmail(t),[4,this.emailPromise];case 2:return n.sent(),e&&this.platformUtilsService.showToast("success",null,this.i18nService.t("verificationCodeEmailSent",this.twoFactorEmail)),[3,4];case 3:return n.sent(),[3,4];case 4:return this.emailPromise=null,[2]}})})},e.prototype.cleanupU2f=function(){null!=this.u2f&&(this.u2f.stop(),this.u2f.cleanup())},Object.defineProperty(e.prototype,"authing",{get:function(){return this.authService.authingWithPassword()||this.authService.authingWithSso()||this.authService.authingWithApiKey()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"needsLock",{get:function(){return this.authService.authingWithSso()||this.authService.authingWithApiKey()},enumerable:!0,configurable:!0}),e.ɵfac=function(t){return new(t||e)(u.ɵɵdirectiveInject(d.AuthService),u.ɵɵdirectiveInject(m.Router),u.ɵɵdirectiveInject(h.I18nService),u.ɵɵdirectiveInject(f.ApiService),u.ɵɵdirectiveInject(v.PlatformUtilsService),u.ɵɵdirectiveInject(Window),u.ɵɵdirectiveInject(y.EnvironmentService),u.ɵɵdirectiveInject(g.StateService),u.ɵɵdirectiveInject(x.StorageService),u.ɵɵdirectiveInject(m.ActivatedRoute))},e.ɵdir=u.ɵɵdefineDirective({type:e}),e}();t.TwoFactorComponent=b},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.type=t.getDevice(),this.name=t.getDeviceString(),this.identifier=e,this.pushToken=null}}();t.DeviceRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.email=e}}();t.PreloginRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t,n,r,i,o,a){null!=e&&e.length>1?(this.email=e[0],this.masterPasswordHash=e[1]):null!=t&&t.length>2?(this.code=t[0],this.codeVerifier=t[1],this.redirectUri=t[2]):null!=n&&n.length>1&&(this.clientId=n[0],this.clientSecret=n[1]),this.token=i,this.provider=r,this.remember=o,this.device=null!=a?a:null}return e.prototype.toIdentityToken=function(e){var t={scope:"api offline_access",client_id:e};if(null!=this.clientSecret)t.scope="api",t.grant_type="client_credentials",t.client_secret=this.clientSecret;else if(null!=this.masterPasswordHash&&null!=this.email)t.grant_type="password",t.username=this.email,t.password=this.masterPasswordHash;else{if(null==this.code||null==this.codeVerifier||null==this.redirectUri)throw new Error("must provide credentials or codes");t.grant_type="authorization_code",t.code=this.code,t.code_verifier=this.codeVerifier,t.redirect_uri=this.redirectUri}return this.device&&(t.deviceType=this.device.type,t.deviceIdentifier=this.device.identifier,t.deviceName=this.device.name),this.token&&null!=this.provider&&(t.twoFactorToken=this.token,t.twoFactorProvider=this.provider,t.twoFactorRemember=this.remember?"1":"0"),t},e}();t.TokenRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t,n,r,i){this.win=e,this.webVaultUrl=t,this.successCallback=n,this.errorCallback=r,this.infoCallback=i,this.iframe=null,this.parseFunction=this.parseMessage.bind(this),this.connectorLink=e.document.createElement("a"),this.webVaultUrl=null!=t&&""!==t?t:"https://vault.bitwarden.com"}return e.prototype.init=function(e){this.connectorLink.href=this.webVaultUrl+"/u2f-connector.html?data="+this.base64Encode(JSON.stringify(e))+"&parent="+encodeURIComponent(this.win.document.location.href)+"&v=1",this.iframe=this.win.document.getElementById("u2f_iframe"),this.iframe.src=this.connectorLink.href,this.win.addEventListener("message",this.parseFunction,!1)},e.prototype.stop=function(){this.sendMessage("stop")},e.prototype.start=function(){this.sendMessage("start")},e.prototype.sendMessage=function(e){this.iframe&&this.iframe.src&&this.iframe.contentWindow&&this.iframe.contentWindow.postMessage(e,this.iframe.src)},e.prototype.base64Encode=function(e){return btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,function(e,t){return String.fromCharCode("0x"+t)}))},e.prototype.cleanup=function(){this.win.removeEventListener("message",this.parseFunction,!1)},e.prototype.parseMessage=function(e){if(this.validMessage(e)){var t=e.data.split("|");"success"===t[0]&&this.successCallback?this.successCallback(t[1]):"error"===t[0]&&this.errorCallback?this.errorCallback(t[1]):"info"===t[0]&&this.infoCallback&&this.infoCallback(t[1])}},e.prototype.validMessage=function(e){return null!=e.origin&&""!==e.origin&&e.origin===this.connectorLink.origin&&null!=e.data&&"string"==typeof e.data&&(0===e.data.indexOf("success|")||0===e.data.indexOf("error|")||0===e.data.indexOf("info|"))},e}();t.U2f=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.userId=e,this.token=t}}();t.VerifyEmailRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.userId=e,this.token=t}}();t.VerifyDeleteRecoverRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){this.collections=[]}}();t.GroupRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){this.emails=[],this.collections=[]}}();t.OrganizationUserInviteRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){this.collections=[]}}();t.OrganizationUserUpdateRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){this.groupIds=[]}}();t.OrganizationUserUpdateGroupsRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.AppIdService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.LogService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.PolicyRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.OrganizationUpdateRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Charge=0]="Charge",e[e.Credit=1]="Credit",e[e.PromotionalCredit=2]="PromotionalCredit",e[e.ReferralCredit=3]="ReferralCredit",e[e.Refund=4]="Refund"}(t.TransactionType||(t.TransactionType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.VerifyBankRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.BitPayInvoiceRequest=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(572).OrganizationTaxInfoUpdateRequest);t.PaymentRequest=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.OrganizationCreateRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.OrganizationUpgradeRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.SeatRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.StorageRequest=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(80).PasswordVerificationRequest);t.UpdateTwoFactorDuoRequest=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(80).PasswordVerificationRequest);t.TwoFactorProviderRequest=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(80).PasswordVerificationRequest);t.UpdateTwoFactorAuthenticatorRequest=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(80).PasswordVerificationRequest);t.UpdateTwoFactorEmailRequest=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(80).PasswordVerificationRequest);t.UpdateTwoFactorU2fDeleteRequest=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(80).PasswordVerificationRequest);t.UpdateTwoFactorU2fRequest=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(80).PasswordVerificationRequest);t.UpdateTwoFactorYubioOtpRequest=o},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&this.collections.length>0&&this.collections.forEach(function(e){o.collectionIds.indexOf(e.id)>-1&&(e.checked=!0)}),i.label=8;case 8:return r=this,[4,this.folderService.getAllDecrypted()];case 9:return r.folders=i.sent(),this.editMode&&this.previousCipherId!==this.cipherId&&this.eventService.collect(l.EventType.Cipher_ClientViewed,this.cipherId),this.previousCipherId=this.cipherId,[2]}})})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return this.cipher.isDeleted?[2,this.restore()]:null==this.cipher.name||""===this.cipher.name?(this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nameRequired")),[2,!1]):this.editMode&&!this.cloneMode||this.allowPersonal||null!=this.cipher.organizationId?(this.editMode&&!this.cloneMode||this.cipher.type!==s.CipherType.Login||null==this.cipher.login.uris||1!==this.cipher.login.uris.length||null!=this.cipher.login.uris[0].uri&&""!==this.cipher.login.uris[0].uri||(this.cipher.login.uris=null),this.editMode&&!this.cloneMode||null==this.cipher.organizationId||(this.cipher.collectionIds=null==this.collections?[]:this.collections.filter(function(e){return e.checked}).map(function(e){return e.id})),this.cloneMode&&(this.cipher.id=null),[4,this.encryptCipher()]):(this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("personalOwnershipSubmitError")),[2,!1]);case 1:e=t.sent(),t.label=2;case 2:return t.trys.push([2,4,,5]),this.formPromise=this.saveCipher(e),[4,this.formPromise];case 3:return t.sent(),this.cipher.id=e.id,this.platformUtilsService.eventTrack(this.editMode&&!this.cloneMode?"Edited Cipher":"Added Cipher"),this.platformUtilsService.showToast("success",null,this.i18nService.t(this.editMode&&!this.cloneMode?"editedItem":"addedItem")),this.onSavedCipher.emit(this.cipher),this.messagingService.send(this.editMode&&!this.cloneMode?"editedCipher":"addedCipher"),[2,!0];case 4:return t.sent(),[3,5];case 5:return[2,!1]}})})},e.prototype.addUri=function(){this.cipher.type===s.CipherType.Login&&(null==this.cipher.login.uris&&(this.cipher.login.uris=[]),this.cipher.login.uris.push(new g.LoginUriView))},e.prototype.removeUri=function(e){if(this.cipher.type===s.CipherType.Login&&null!=this.cipher.login.uris){var t=this.cipher.login.uris.indexOf(e);t>-1&&this.cipher.login.uris.splice(t,1)}},e.prototype.addField=function(){null==this.cipher.fields&&(this.cipher.fields=[]);var e=new v.FieldView;e.type=this.addFieldType,e.newField=!0,this.cipher.fields.push(e)},e.prototype.removeField=function(e){var t=this.cipher.fields.indexOf(e);t>-1&&this.cipher.fields.splice(t,1)},e.prototype.trackByFunction=function(e,t){return e},e.prototype.cancel=function(){this.onCancelled.emit(this.cipher)},e.prototype.attachments=function(){this.onEditAttachments.emit(this.cipher)},e.prototype.share=function(){this.onShareCipher.emit(this.cipher)},e.prototype.editCollections=function(){this.onEditCollections.emit(this.cipher)},e.prototype.delete=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t(this.cipher.isDeleted?"permanentlyDeleteItemConfirmation":"deleteItemConfirmation"),this.i18nService.t("deleteItem"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!e.sent())return[2,!1];e.label=2;case 2:return e.trys.push([2,4,,5]),this.deletePromise=this.deleteCipher(),[4,this.deletePromise];case 3:return e.sent(),this.platformUtilsService.eventTrack((this.cipher.isDeleted?"Permanently ":"")+"Deleted Cipher"),this.platformUtilsService.showToast("success",null,this.i18nService.t(this.cipher.isDeleted?"permanentlyDeletedItem":"deletedItem")),this.onDeletedCipher.emit(this.cipher),this.messagingService.send(this.cipher.isDeleted?"permanentlyDeletedCipher":"deletedCipher"),[3,5];case 4:return e.sent(),[3,5];case 5:return[2,!0]}})})},e.prototype.restore=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.cipher.isDeleted?[4,this.platformUtilsService.showDialog(this.i18nService.t("restoreItemConfirmation"),this.i18nService.t("restoreItem"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2,!1];case 1:if(!e.sent())return[2,!1];e.label=2;case 2:return e.trys.push([2,4,,5]),this.restorePromise=this.restoreCipher(),[4,this.restorePromise];case 3:return e.sent(),this.platformUtilsService.eventTrack("Restored Cipher"),this.platformUtilsService.showToast("success",null,this.i18nService.t("restoredItem")),this.onRestoredCipher.emit(this.cipher),this.messagingService.send("restoredCipher"),[3,5];case 4:return e.sent(),[3,5];case 5:return[2,!0]}})})},e.prototype.generatePassword=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.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(!e.sent())return[2,!1];e.label=2;case 2:return this.onGeneratePassword.emit(),[2,!0]}})})},e.prototype.togglePassword=function(){this.platformUtilsService.eventTrack("Toggled Password on Edit"),this.showPassword=!this.showPassword,document.getElementById("loginPassword").focus(),this.editMode&&this.showPassword&&this.eventService.collect(l.EventType.Cipher_ClientToggledPasswordVisible,this.cipherId)},e.prototype.toggleCardCode=function(){this.platformUtilsService.eventTrack("Toggled CardCode on Edit"),this.showCardCode=!this.showCardCode,document.getElementById("cardCode").focus(),this.editMode&&this.showCardCode&&this.eventService.collect(l.EventType.Cipher_ClientToggledCardCodeVisible,this.cipherId)},e.prototype.toggleFieldValue=function(e){var t=e;t.showValue=!t.showValue,this.editMode&&t.showValue&&this.eventService.collect(l.EventType.Cipher_ClientToggledHiddenFieldVisible,this.cipherId)},e.prototype.toggleUriOptions=function(e){var t=e;t.showOptions=(null!=t.showOptions||null==e.match)&&!t.showOptions},e.prototype.loginUriMatchChanged=function(e){var t=e;t.showOptions=null==t.showOptions||t.showOptions},e.prototype.drop=function(e){o.moveItemInArray(this.cipher.fields,e.previousIndex,e.currentIndex)},e.prototype.organizationChanged=function(){return r(this,void 0,void 0,function(){var e,t=this;return i(this,function(n){switch(n.label){case 0:return null!=this.writeableCollections&&this.writeableCollections.forEach(function(e){return e.checked=!1}),null==this.cipher.organizationId?[3,2]:(this.collections=this.writeableCollections.filter(function(e){return e.organizationId===t.cipher.organizationId}),[4,this.userService.getOrganization(this.cipher.organizationId)]);case 1:return null!=(e=n.sent())&&(this.cipher.organizationUseTotp=e.useTotp),[3,3];case 2:this.collections=[],n.label=3;case 3:return[2]}})})},e.prototype.checkPassword=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return null!=this.checkPasswordPromise?[2]:null==this.cipher.login||null==this.cipher.login.password||""===this.cipher.login.password?[2]:(this.platformUtilsService.eventTrack("Check Password"),this.checkPasswordPromise=this.auditService.passwordLeaked(this.cipher.login.password),[4,this.checkPasswordPromise]);case 1:return e=t.sent(),this.checkPasswordPromise=null,e>0?this.platformUtilsService.showToast("warning",null,this.i18nService.t("passwordExposed",e.toString())):this.platformUtilsService.showToast("success",null,this.i18nService.t("passwordSafe")),[2]}})})},e.prototype.loadCollections=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.collectionService.getAllDecrypted()];case 1:return[2,e.sent().filter(function(e){return!e.readOnly})]}})})},e.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},e.prototype.encryptCipher=function(){return this.cipherService.encrypt(this.cipher)},e.prototype.saveCipher=function(e){return this.cipherService.saveWithServer(e)},e.prototype.deleteCipher=function(){return this.cipher.isDeleted?this.cipherService.deleteWithServer(this.cipher.id):this.cipherService.softDeleteWithServer(this.cipher.id)},e.prototype.restoreCipher=function(){return this.cipherService.restoreWithServer(this.cipher.id)},e.ɵfac=function(t){return new(t||e)(w.ɵɵdirectiveInject(C.CipherService),w.ɵɵdirectiveInject(I.FolderService),w.ɵɵdirectiveInject(E.I18nService),w.ɵɵdirectiveInject(P.PlatformUtilsService),w.ɵɵdirectiveInject(k.AuditService),w.ɵɵdirectiveInject(_.StateService),w.ɵɵdirectiveInject(A.UserService),w.ɵɵdirectiveInject(O.CollectionService),w.ɵɵdirectiveInject(T.MessagingService),w.ɵɵdirectiveInject(M.EventService),w.ɵɵdirectiveInject(B.PolicyService))},e.ɵdir=w.ɵɵdefineDirective({type:e,inputs:{cloneMode:"cloneMode",folderId:"folderId",cipherId:"cipherId",type:"type",collectionIds:"collectionIds",organizationId:"organizationId"},outputs:{onSavedCipher:"onSavedCipher",onDeletedCipher:"onDeletedCipher",onRestoredCipher:"onRestoredCipher",onCancelled:"onCancelled",onEditAttachments:"onEditAttachments",onShareCipher:"onShareCipher",onEditCollections:"onEditCollections",onGeneratePassword:"onGeneratePassword"}}),e}();t.AddEditComponent=D},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]104857600)return this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("maxFileSize")),[2];i.label=1;case 1:return i.trys.push([1,4,,5]),this.formPromise=this.saveCipherAttachment(t[0]),n=this,[4,this.formPromise];case 2:return n.cipherDomain=i.sent(),r=this,[4,this.cipherDomain.decrypt()];case 3:return r.cipher=i.sent(),this.platformUtilsService.eventTrack("Added Attachment"),this.platformUtilsService.showToast("success",null,this.i18nService.t("attachmentSaved")),this.onUploadedAttachment.emit(),[3,5];case 4:return i.sent(),[3,5];case 5:return e.type="",e.type="file",e.value="",[2]}})})},e.prototype.delete=function(e){return r(this,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return null!=this.deletePromises[e.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(!n.sent())return[2];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromises[e.id]=this.deleteCipherAttachment(e.id),[4,this.deletePromises[e.id]];case 3:return n.sent(),this.platformUtilsService.eventTrack("Deleted Attachment"),this.platformUtilsService.showToast("success",null,this.i18nService.t("deletedAttachment")),(t=this.cipher.attachments.indexOf(e))>-1&&this.cipher.attachments.splice(t,1),[3,5];case 4:return n.sent(),[3,5];case 5:return this.deletePromises[e.id]=null,this.onDeletedAttachment.emit(),[2]}})})},e.prototype.download=function(e){return r(this,void 0,void 0,function(){var t,n,r,o,a,s;return i(this,function(i){switch(i.label){case 0:return(t=e).downloading?[2]:this.canAccessAttachments?(t.downloading=!0,[4,fetch(new Request(e.url,{cache:"no-store"}))]):(this.platformUtilsService.showToast("error",this.i18nService.t("premiumRequired"),this.i18nService.t("premiumRequiredDesc")),[2]);case 1:if(200!==(n=i.sent()).status)return this.platformUtilsService.showToast("error",null,this.i18nService.t("errorOccurred")),t.downloading=!1,[2];i.label=2;case 2:return i.trys.push([2,8,,9]),[4,n.arrayBuffer()];case 3:return r=i.sent(),null==e.key?[3,4]:(a=e.key,[3,6]);case 4:return[4,this.cryptoService.getOrgKey(this.cipher.organizationId)];case 5:a=i.sent(),i.label=6;case 6:return o=a,[4,this.cryptoService.decryptFromBytes(r,o)];case 7:return s=i.sent(),this.platformUtilsService.saveFile(this.win,s,null,e.fileName),[3,9];case 8:return i.sent(),this.platformUtilsService.showToast("error",null,this.i18nService.t("errorOccurred")),[3,9];case 9:return t.downloading=!1,[2]}})})},e.prototype.init=function(){return r(this,void 0,void 0,function(){var e,t,n,r;return i(this,function(i){switch(i.label){case 0:return e=this,[4,this.loadCipher()];case 1:return e.cipherDomain=i.sent(),t=this,[4,this.cipherDomain.decrypt()];case 2:return t.cipher=i.sent(),n=this,[4,this.cryptoService.hasEncKey()];case 3:return n.hasUpdatedKey=i.sent(),[4,this.userService.canAccessPremium()];case 4:return r=i.sent(),this.canAccessAttachments=r||null!=this.cipher.organizationId,this.canAccessAttachments?[3,6]:[4,this.platformUtilsService.showDialog(this.i18nService.t("premiumRequiredDesc"),this.i18nService.t("premiumRequired"),this.i18nService.t("learnMore"),this.i18nService.t("cancel"))];case 5:return i.sent()&&this.platformUtilsService.launchUri("https://vault.bitwarden.com/#/?premium=purchase"),[3,8];case 6:return this.hasUpdatedKey?[3,8]:[4,this.platformUtilsService.showDialog(this.i18nService.t("updateKey"),this.i18nService.t("featureUnavailable"),this.i18nService.t("learnMore"),this.i18nService.t("cancel"),"warning")];case 7:i.sent()&&this.platformUtilsService.launchUri("https://help.bitwarden.com/article/update-encryption-key/"),i.label=8;case 8:return[2]}})})},e.prototype.reuploadCipherAttachment=function(e,t){return r(this,void 0,void 0,function(){var n,o=this;return i(this,function(a){switch(a.label){case 0:if(n=e,null!=e.key||n.downloading||null!=this.reuploadPromises[e.id])return[2];a.label=1;case 1:return a.trys.push([1,3,,4]),this.reuploadPromises[e.id]=Promise.resolve().then(function(){return r(o,void 0,void 0,function(){var r,o,a,s,l,c,p,u,d;return i(this,function(i){switch(i.label){case 0:return n.downloading=!0,[4,fetch(new Request(e.url,{cache:"no-store"}))];case 1:if(200!==(r=i.sent()).status)return this.platformUtilsService.showToast("error",null,this.i18nService.t("errorOccurred")),n.downloading=!1,[2];i.label=2;case 2:return i.trys.push([2,11,,12]),[4,r.arrayBuffer()];case 3:return o=i.sent(),null==e.key?[3,4]:(s=e.key,[3,6]);case 4:return[4,this.cryptoService.getOrgKey(this.cipher.organizationId)];case 5:s=i.sent(),i.label=6;case 6:return a=s,[4,this.cryptoService.decryptFromBytes(o,a)];case 7:return l=i.sent(),c=this,[4,this.cipherService.saveAttachmentRawWithServer(this.cipherDomain,e.fileName,l,t)];case 8:return c.cipherDomain=i.sent(),p=this,[4,this.cipherDomain.decrypt()];case 9:return p.cipher=i.sent(),this.deletePromises[e.id]=this.deleteCipherAttachment(e.id),[4,this.deletePromises[e.id]];case 10:return i.sent(),(u=this.cipher.attachments.filter(function(t){return t.id===e.id})).length>0&&(d=this.cipher.attachments.indexOf(u[0]))>-1&&this.cipher.attachments.splice(d,1),this.platformUtilsService.eventTrack("Reuploaded Attachment"),this.platformUtilsService.showToast("success",null,this.i18nService.t("attachmentSaved")),this.onReuploadedAttachment.emit(),[3,12];case 11:return i.sent(),this.platformUtilsService.showToast("error",null,this.i18nService.t("errorOccurred")),[3,12];case 12:return n.downloading=!1,[2]}})})}),[4,this.reuploadPromises[e.id]];case 2:return a.sent(),[3,4];case 3:return a.sent(),[3,4];case 4:return[2]}})})},e.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},e.prototype.saveCipherAttachment=function(e){return this.cipherService.saveAttachmentWithServer(this.cipherDomain,e)},e.prototype.deleteCipherAttachment=function(e){return this.cipherService.deleteAttachmentWithServer(this.cipher.id,e)},e.ɵfac=function(t){return new(t||e)(a.ɵɵdirectiveInject(s.CipherService),a.ɵɵdirectiveInject(l.I18nService),a.ɵɵdirectiveInject(c.CryptoService),a.ɵɵdirectiveInject(p.UserService),a.ɵɵdirectiveInject(u.PlatformUtilsService),a.ɵɵdirectiveInject(Window))},e.ɵdir=a.ɵɵdefineDirective({type:e,inputs:{cipherId:"cipherId"},outputs:{onUploadedAttachment:"onUploadedAttachment",onDeletedAttachment:"onDeletedAttachment",onReuploadedAttachment:"onReuploadedAttachment"}}),e}();t.AttachmentsComponent=d},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]this.pageSize&&(t=this.pagedCiphersCount),this.ciphers.length>e&&(this.pagedCiphers=this.pagedCiphers.concat(this.ciphers.slice(e,e+t))),this.pagedCiphersCount=this.pagedCiphers.length,this.didScroll=this.pagedCiphers.length>this.pageSize}},e.prototype.reload=function(e,t){return void 0===e&&(e=null),void 0===t&&(t=!1),r(this,void 0,void 0,function(){return i(this,function(n){switch(n.label){case 0:return this.loaded=!1,this.ciphers=[],[4,this.load(e,t)];case 1:return n.sent(),[2]}})})},e.prototype.refresh=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return e.trys.push([0,,2,3]),this.refreshing=!0,[4,this.reload(this.filter,this.deleted)];case 1:return e.sent(),[3,3];case 2:return this.refreshing=!1,[7];case 3:return[2]}})})},e.prototype.applyFilter=function(e){return void 0===e&&(e=null),r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return this.filter=e,[4,this.search(null)];case 1:return t.sent(),[2]}})})},e.prototype.search=function(e){return void 0===e&&(e=null),r(this,void 0,void 0,function(){var t,n,o=this;return i(this,function(a){switch(a.label){case 0:return this.searchPending=!1,null!=this.searchTimeout&&clearTimeout(this.searchTimeout),t=function(e){return e.isDeleted===o.deleted},null!=e?[3,3]:(n=this,[4,this.searchService.searchCiphers(this.searchText,[this.filter,t],null)]);case 1:return n.ciphers=a.sent(),[4,this.resetPaging()];case 2:return a.sent(),[2];case 3:return this.searchPending=!0,this.searchTimeout=setTimeout(function(){return r(o,void 0,void 0,function(){var e;return i(this,function(n){switch(n.label){case 0:return e=this,[4,this.searchService.searchCiphers(this.searchText,[this.filter,t],null)];case 1:return e.ciphers=n.sent(),[4,this.resetPaging()];case 2:return n.sent(),this.searchPending=!1,[2]}})})},e),[2]}})})},e.prototype.selectCipher=function(e){this.onCipherClicked.emit(e)},e.prototype.rightClickCipher=function(e){this.onCipherRightClicked.emit(e)},e.prototype.addCipher=function(){this.onAddCipher.emit()},e.prototype.addCipherOptions=function(){this.onAddCipherOptions.emit()},e.prototype.isSearching=function(){return!this.searchPending&&this.searchService.isSearchable(this.searchText)},e.prototype.isPaging=function(){var e=this.isSearching();return e&&this.didScroll&&this.resetPaging(),!e&&this.ciphers.length>this.pageSize},e.prototype.resetPaging=function(){return r(this,void 0,void 0,function(){return i(this,function(e){return this.pagedCiphers=[],this.loadMore(),[2]})})},e.ɵfac=function(t){return new(t||e)(a.ɵɵdirectiveInject(s.SearchService))},e.ɵdir=a.ɵɵdefineDirective({type:e,inputs:{activeCipherId:"activeCipherId"},outputs:{onCipherClicked:"onCipherClicked",onCipherRightClicked:"onCipherRightClicked",onAddCipher:"onAddCipher",onAddCipherOptions:"onAddCipherOptions"}}),e}();t.CiphersComponent=l},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1}),[2]}})})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:if(e=this.collections.filter(function(e){return!!e.checked}).map(function(e){return e.id}),!this.allowSelectNone&&0===e.length)return this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("selectOneCollection")),[2];this.cipherDomain.collectionIds=e,t.label=1;case 1:return t.trys.push([1,3,,4]),this.formPromise=this.saveCollections(),[4,this.formPromise];case 2:return t.sent(),this.onSavedCollections.emit(),this.platformUtilsService.eventTrack("Edited Cipher Collections"),this.platformUtilsService.showToast("success",null,this.i18nService.t("editedItem")),[3,4];case 3:return t.sent(),[3,4];case 4:return[2]}})})},e.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},e.prototype.loadCipherCollections=function(){return this.cipherDomain.collectionIds},e.prototype.loadCollections=function(){return r(this,void 0,void 0,function(){var e=this;return i(this,function(t){switch(t.label){case 0:return[4,this.collectionService.getAllDecrypted()];case 1:return[2,t.sent().filter(function(t){return!t.readOnly&&t.organizationId===e.cipher.organizationId})]}})})},e.prototype.saveCollections=function(){return this.cipherService.saveCollectionsWithServer(this.cipherDomain)},e.ɵfac=function(t){return new(t||e)(a.ɵɵdirectiveInject(s.CollectionService),a.ɵɵdirectiveInject(l.PlatformUtilsService),a.ɵɵdirectiveInject(c.I18nService),a.ɵɵdirectiveInject(p.CipherService))},e.ɵdir=a.ɵɵdefineDirective({type:e,inputs:{cipherId:"cipherId",allowSelectNone:"allowSelectNone"},outputs:{onSavedCollections:"onSavedCollections"}}),e}();t.CollectionsComponent=u},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(this.organizationId=this.organizations[0].id),this.filterCollections(),[2]}})})},e.prototype.filterCollections=function(){var e=this;this.writeableCollections.forEach(function(e){return e.checked=!1}),null==this.organizationId||0===this.writeableCollections.length?this.collections=[]:this.collections=this.writeableCollections.filter(function(t){return t.organizationId===e.organizationId})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e,t,n=this;return i(this,function(o){switch(o.label){case 0:return 0===(e=this.collections.filter(function(e){return!!e.checked}).map(function(e){return e.id})).length?(this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("selectOneCollection")),[2]):[4,this.cipherService.get(this.cipherId)];case 1:return[4,o.sent().decrypt()];case 2:t=o.sent(),o.label=3;case 3:return o.trys.push([3,5,,6]),this.formPromise=this.cipherService.shareWithServer(t,this.organizationId,e).then(function(){return r(n,void 0,void 0,function(){return i(this,function(e){return this.onSharedCipher.emit(),this.platformUtilsService.eventTrack("Shared Cipher"),this.platformUtilsService.showToast("success",null,this.i18nService.t("sharedItem")),[2]})})}),[4,this.formPromise];case 4:return o.sent(),[2,!0];case 5:return o.sent(),[3,6];case 6:return[2,!1]}})})},Object.defineProperty(e.prototype,"canSave",{get:function(){if(null!=this.collections)for(var e=0;e0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=e?c[e-1]():0===c.length&&(s.delete(l),0===s.size&&a.delete(n))};o.apply(n,r).then(function(e){return u(),e}).catch(function(e){throw u(),e}).then(t,i)};c.push(p),c.length<=e&&p()})}}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.ids=null==e?[]:e,this.folderId=t}}();t.CipherBulkMoveRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.ids=null==e?[]:e}}();t.CipherBulkRestoreRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(498),i=function(){return function(e,t){var n=this;null!=e&&(this.ciphers=[],e.forEach(function(e){n.ciphers.push(new r.CipherWithIdRequest(e))})),this.collectionIds=t}}();t.CipherBulkShareRequest=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(210),i=function(){return function(e){this.cipher=new r.CipherRequest(e),this.collectionIds=e.collectionIds}}();t.CipherShareRequest=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.comparator=e,this.sortedCiphersByUrl=new Map,this.timeouts=new Map}return e.prototype.isCached=function(e){return this.sortedCiphersByUrl.has(e)},e.prototype.addCiphers=function(e,t){t.sort(this.comparator),this.sortedCiphersByUrl.set(e,new i(t)),this.resetTimer(e)},e.prototype.getLastUsed=function(e){return this.resetTimer(e),this.isCached(e)?this.sortedCiphersByUrl.get(e).getLastUsed():null},e.prototype.getLastLaunched=function(e){return this.isCached(e)?this.sortedCiphersByUrl.get(e).getLastLaunched():null},e.prototype.getNext=function(e){return this.resetTimer(e),this.isCached(e)?this.sortedCiphersByUrl.get(e).getNext():null},e.prototype.updateLastUsedIndex=function(e){this.isCached(e)&&this.sortedCiphersByUrl.get(e).updateLastUsedIndex()},e.prototype.clear=function(){this.sortedCiphersByUrl.clear(),this.timeouts.clear()},e.prototype.resetTimer=function(e){var t=this;clearTimeout(this.timeouts.get(e)),this.timeouts.set(e,setTimeout(function(){t.sortedCiphersByUrl.delete(e),t.timeouts.delete(e)},3e3))},e}();t.SortedCiphersCache=r;var i=function(){function e(e){this.ciphers=e,this.lastUsedIndex=-1}return e.prototype.getLastUsed=function(){return this.lastUsedIndex=Math.max(this.lastUsedIndex,0),this.ciphers[this.lastUsedIndex]},e.prototype.getLastLaunched=function(){return this.ciphers.filter(function(e){var t;return null===(t=e.localData)||void 0===t?void 0:t.lastLaunched}).sort(function(e,t){return t.localData.lastLaunched.valueOf()-e.localData.lastLaunched.valueOf()})[0]},e.prototype.getNextIndex=function(){return(this.lastUsedIndex+1)%this.ciphers.length},e.prototype.getNext=function(){return this.ciphers[this.getNextIndex()]},e.prototype.updateLastUsedIndex=function(){this.lastUsedIndex=this.getNextIndex()},e}()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t,n){this.children=[],this.parent=n,this.node=e,this.node.name=t}}();t.TreeNode=r},,,,,,,function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.defaultType="",t.minLength=0,t.useUppercase=!1,t.useLowercase=!1,t.useNumbers=!1,t.numberCount=0,t.useSpecial=!1,t.specialCount=0,t.minNumberWords=0,t.capitalize=!1,t.includeNumber=!1,t}return i(t,e),t.prototype.inEffect=function(){return""!==this.defaultType||this.minLength>0||this.numberCount>0||this.specialCount>0||this.useUppercase||this.useLowercase||this.useNumbers||this.useSpecial||this.minNumberWords>0||this.capitalize||this.includeNumber},t}(n(81).default);t.PasswordGeneratorPolicyOptions=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.id=e.id,this.name=e.name,this.status=e.status,this.type=e.type,this.enabled=e.enabled,this.usePolicies=e.usePolicies,this.useGroups=e.useGroups,this.useDirectory=e.useDirectory,this.useEvents=e.useEvents,this.useTotp=e.useTotp,this.use2fa=e.use2fa,this.useApi=e.useApi,this.useBusinessPortal=e.useBusinessPortal,this.useSso=e.useSso,this.selfHost=e.selfHost,this.usersGetPremium=e.usersGetPremium,this.seats=e.seats,this.maxCollections=e.maxCollections,this.maxStorageGb=e.maxStorageGb,this.ssoBound=e.ssoBound,this.identifier=e.identifier,this.permissions=e.permissions}}();t.OrganizationData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){null!=e&&(this.id=e.id,this.url=e.url,this.fileName=e.fileName,this.key=e.key,this.size=e.size,this.sizeName=e.sizeName)}}();t.SendFileData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){null!=e&&(this.text=e.text,this.hidden=e.hidden)}}();t.SendTextData=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0?this.browserCache=a.DeviceType.OperaBrowser:-1!==navigator.userAgent.indexOf(" Edg/")?this.browserCache=a.DeviceType.EdgeBrowser:-1!==navigator.userAgent.indexOf(" Vivaldi/")?this.browserCache=a.DeviceType.VivaldiBrowser:-1!==navigator.userAgent.indexOf(" Safari/")&&-1===navigator.userAgent.indexOf("Chrome")?this.browserCache=a.DeviceType.SafariBrowser:window.chrome&&-1!==navigator.userAgent.indexOf(" Chrome/")?this.browserCache=a.DeviceType.ChromeBrowser:-1!==navigator.userAgent.indexOf(" Trident/")?this.browserCache=a.DeviceType.IEBrowser:this.browserCache=a.DeviceType.UnknownBrowser,this.browserCache)},e.prototype.getDeviceString=function(){return a.DeviceType[this.getDevice()].toLowerCase().replace("browser","")},e.prototype.isFirefox=function(){return this.getDevice()===a.DeviceType.FirefoxBrowser},e.prototype.isChrome=function(){return this.getDevice()===a.DeviceType.ChromeBrowser},e.prototype.isEdge=function(){return this.getDevice()===a.DeviceType.EdgeBrowser},e.prototype.isOpera=function(){return this.getDevice()===a.DeviceType.OperaBrowser},e.prototype.isVivaldi=function(){return this.getDevice()===a.DeviceType.VivaldiBrowser},e.prototype.isSafari=function(){return this.getDevice()===a.DeviceType.SafariBrowser},e.prototype.isIE=function(){return this.getDevice()===a.DeviceType.IEBrowser},e.prototype.isMacAppStore=function(){return!1},e.prototype.analyticsId=function(){return"UA-81915606-3"},e.prototype.isViewOpen=function(){return Promise.resolve(!1)},e.prototype.lockTimeout=function(){return null},e.prototype.launchUri=function(e,t){var n=document.createElement("a");n.href=e,null!=t&&t.sameWindow||(n.target="_blank",n.rel="noreferrer noopener"),n.classList.add("d-none"),document.body.appendChild(n),n.click(),document.body.removeChild(n)},e.prototype.saveFile=function(e,t,n,r){var i=null,o=null,a=r.toLowerCase(),s=!0;if(a.endsWith(".pdf")?(o="application/pdf",s=!1):a.endsWith(".xlsx")?o="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":a.endsWith(".docx")?o="application/vnd.openxmlformats-officedocument.wordprocessingml.document":a.endsWith(".pptx")?o="application/vnd.openxmlformats-officedocument.presentationml.presentation":a.endsWith(".csv")?o="text/csv":a.endsWith(".png")?o="image/png":a.endsWith(".jpg")||a.endsWith(".jpeg")?o="image/jpeg":a.endsWith(".gif")&&(o="image/gif"),null!=o&&null==(n=n||{}).type&&(n.type=o),i=null==n||this.isIE()?new Blob([t]):new Blob([t],n),navigator.msSaveOrOpenBlob)navigator.msSaveBlob(i,r);else{var l=e.document.createElement("a");s?l.download=r:l.target="_blank",l.href=URL.createObjectURL(i),l.style.position="fixed",e.document.body.appendChild(l),l.click(),e.document.body.removeChild(l)}},e.prototype.getApplicationVersion=function(){return"2.18.2"},e.prototype.supportsU2f=function(e){return null!=e&&null!=e.u2f||(this.isChrome()||(this.isOpera()||this.isVivaldi())&&!s.Utils.isMobileBrowser)},e.prototype.supportsDuo=function(){return!0},e.prototype.showToast=function(e,t,n,r){this.messagingService.send("showToast",{text:n,title:t,type:e,options:r})},e.prototype.showDialog=function(e,t,n,a,s){return r(this,void 0,void 0,function(){var r,l;return i(this,function(i){switch(i.label){case 0:if(r=null,null!=s)switch(s){case"success":r="fa-check text-success";break;case"warning":r="fa-warning text-warning";break;case"error":r="fa-bolt text-danger";break;case"info":r="fa-info-circle text-info"}return l=null!=r?'':void 0,[4,o.default.fire({heightAuto:!1,buttonsStyling:!1,icon:s,iconHtml:l,text:e,title:t,showCancelButton:null!=a,cancelButtonText:a,showConfirmButton:!0,confirmButtonText:null==n?this.i18nService.t("ok"):n})];case 1:return[2,i.sent().value]}})})},e.prototype.eventTrack=function(e,t,n){this.messagingService.send("analyticsEventTrack",{action:e,label:t,options:n})},e.prototype.isDev=function(){return!1},e.prototype.isSelfHost=function(){return"true"===(!1).toString()},e.prototype.copyToClipboard=function(e,t){var n=window,r=window.document;if(t&&(t.window||t.win)?r=(n=t.window||t.win).document:t&&t.doc&&(r=t.doc),n.clipboardData&&n.clipboardData.setData)n.clipboardData.setData("Text",e);else if(r.queryCommandSupported&&r.queryCommandSupported("copy")){var i=r.createElement("textarea");i.textContent=e,i.style.position="fixed";var o=r.body;r.body.classList.contains("modal-open")&&(o=r.body.querySelector(".modal")),o.appendChild(i),i.select();try{r.execCommand("copy")}catch(a){console.warn("Copy to clipboard failed.",a)}finally{o.removeChild(i)}}},e.prototype.readFromClipboard=function(e){throw new Error("Cannot read from clipboard on web.")},e.prototype.supportsBiometric=function(){return Promise.resolve(!1)},e.prototype.authenticateBiometric=function(){return Promise.resolve(!1)},e.prototype.supportsSecureStorage=function(){return!1},e.prototype.getDefaultSystemTheme=function(){return null},e.prototype.onDefaultSystemThemeChange=function(){},e}();t.WebPlatformUtilsService=l},function(e,t,n){"use strict";var r,i=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1&&(e=e.substring(0,t)),0!==e.indexOf("!/")&&0!==e.indexOf("#/")||(e=e.substring(1));var n=e.split("/"),r=[];return n.forEach(function(e){e.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)?r.push("__guid__"):r.push(e)}),encodeURIComponent(r.join("/"))},e}();t.Analytics=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Debug=0]="Debug",e[e.Info=1]="Info",e[e.Warning=2]="Warning",e[e.Error=3]="Error"}(t.LogLevelType||(t.LogLevelType={}))},,function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&e.data.forEach(function(e){var r=new l.Collection(new p.CollectionData(e));t.push(r.decrypt().then(function(e){n.push(e)}))}),Promise.all(t)})),m.push(this.apiService.getCiphersOrganization(e).then(function(e){var t=[];return null!=e&&null!=e.data&&e.data.length>0&&e.data.filter(function(e){return null===e.deletedDate}).forEach(function(e){var n=new s.Cipher(new c.CipherData(e));t.push(n.decrypt().then(function(e){r.push(e)}))}),Promise.all(t)})),[4,Promise.all(m)];case 1:return i.sent(),"csv"===t?(h=new Map,n.forEach(function(e){h.set(e.id,e)}),f=[],r.forEach(function(e){if(e.type===a.CipherType.Login||e.type===a.CipherType.SecureNote){var t={collections:[]};null!=e.collectionIds&&(t.collections=e.collectionIds.filter(function(e){return h.has(e)}).map(function(e){return h.get(e).name})),y.buildCommonCipher(t,e),f.push(t)}}),[2,o.unparse(f)]):(v={encrypted:!1,collections:[],items:[]},n.forEach(function(e){var t=new d.CollectionWithId;t.build(e),v.collections.push(t)}),r.forEach(function(e){var t=new u.CipherWithIds;t.build(e),v.items.push(t)}),[2,JSON.stringify(v,null," ")])}})})},e.prototype.getOrganizationEncryptedExport=function(e){return r(this,void 0,void 0,function(){var t,n,r,o;return i(this,function(i){switch(i.label){case 0:return t=[],n=[],(r=[]).push(this.apiService.getCollections(e).then(function(e){return null!=e&&null!=e.data&&e.data.length>0&&e.data.forEach(function(e){var n=new l.Collection(new p.CollectionData(e));t.push(n)}),Promise.all([])})),r.push(this.apiService.getCiphersOrganization(e).then(function(e){return null!=e&&null!=e.data&&e.data.length>0&&e.data.filter(function(e){return null===e.deletedDate}).forEach(function(e){var t=new s.Cipher(new c.CipherData(e));n.push(t)}),Promise.all([])})),[4,Promise.all(r)];case 1:return i.sent(),o={encrypted:!0,collections:[],items:[]},t.forEach(function(e){var t=new d.CollectionWithId;t.build(e),o.collections.push(t)}),n.forEach(function(e){var t=new u.CipherWithIds;t.build(e),o.items.push(t)}),[2,JSON.stringify(o,null," ")]}})})},e.prototype.padNumber=function(e,t,n){void 0===n&&(n="0");var r=e.toString();return r.length>=t?r:new Array(t-r.length+1).join(n)+r},e.prototype.buildCommonCipher=function(e,t){switch(e.type=null,e.name=t.name,e.notes=t.notes,e.fields=null,e.login_uri=null,e.login_username=null,e.login_password=null,e.login_totp=null,t.fields&&t.fields.forEach(function(t){e.fields?e.fields+="\n":e.fields="",e.fields+=(t.name||"")+": "+t.value}),t.type){case a.CipherType.Login:e.type="login",e.login_username=t.login.username,e.login_password=t.login.password,e.login_totp=t.login.totp,t.login.uris&&(e.login_uri=[],t.login.uris.forEach(function(t){e.login_uri.push(t.uri)}));break;case a.CipherType.SecureNote:e.type="note";break;default:return}return e},e}();t.ExportService=h},,function(e,t){},,function(e,t){},,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(40),i=n(143),o=n(192),a=n(103),s=n(956),l=n(957),c=n(958),p=n(959),u=n(961),d=function(){function e(){}return e.template=function(){var t=new e;return t.organizationId=null,t.folderId=null,t.type=r.CipherType.Login,t.name="Item name",t.notes="Some notes about this item.",t.favorite=!1,t.fields=[],t.login=null,t.secureNote=null,t.card=null,t.identity=null,t},e.toView=function(e,t){switch(void 0===t&&(t=new i.CipherView),t.type=e.type,t.folderId=e.folderId,null==t.organizationId&&(t.organizationId=e.organizationId),t.name=e.name,t.notes=e.notes,t.favorite=e.favorite,null!=e.fields&&(t.fields=e.fields.map(function(e){return l.Field.toView(e)})),e.type){case r.CipherType.Login:t.login=p.Login.toView(e.login);break;case r.CipherType.SecureNote:t.secureNote=u.SecureNote.toView(e.secureNote);break;case r.CipherType.Card:t.card=s.Card.toView(e.card);break;case r.CipherType.Identity:t.identity=c.Identity.toView(e.identity)}return t},e.toDomain=function(e,t){switch(void 0===t&&(t=new o.Cipher),t.type=e.type,t.folderId=e.folderId,null==t.organizationId&&(t.organizationId=e.organizationId),t.name=null!=e.name?new a.CipherString(e.name):null,t.notes=null!=e.notes?new a.CipherString(e.notes):null,t.favorite=e.favorite,null!=e.fields&&(t.fields=e.fields.map(function(e){return l.Field.toDomain(e)})),e.type){case r.CipherType.Login:t.login=p.Login.toDomain(e.login);break;case r.CipherType.SecureNote:t.secureNote=u.SecureNote.toDomain(e.secureNote);break;case r.CipherType.Card:t.card=s.Card.toDomain(e.card);break;case r.CipherType.Identity:t.identity=c.Identity.toDomain(e.identity)}return t},e.prototype.build=function(e){var t,n;switch(this.organizationId=e.organizationId,this.folderId=e.folderId,this.type=e.type,e instanceof i.CipherView?(this.name=e.name,this.notes=e.notes):(this.name=null===(t=e.name)||void 0===t?void 0:t.encryptedString,this.notes=null===(n=e.notes)||void 0===n?void 0:n.encryptedString),this.favorite=e.favorite,null!=e.fields&&(i.CipherView,this.fields=e.fields.map(function(e){return new l.Field(e)})),e.type){case r.CipherType.Login:this.login=new p.Login(e.login);break;case r.CipherType.SecureNote:this.secureNote=new u.SecureNote(e.secureNote);break;case r.CipherType.Card:this.card=new s.Card(e.card);break;case r.CipherType.Identity:this.identity=new c.Identity(e.identity)}},e}();t.Cipher=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(89),i=n(282),o=n(103),a=function(){function e(e){var t,n,i,o,a,s;null!=e&&(e instanceof r.CardView?(this.cardholderName=e.cardholderName,this.brand=e.brand,this.number=e.number,this.expMonth=e.expMonth,this.expYear=e.expYear,this.code=e.code):(this.cardholderName=null===(t=e.cardholderName)||void 0===t?void 0:t.encryptedString,this.brand=null===(n=e.brand)||void 0===n?void 0:n.encryptedString,this.number=null===(i=e.number)||void 0===i?void 0:i.encryptedString,this.expMonth=null===(o=e.expMonth)||void 0===o?void 0:o.encryptedString,this.expYear=null===(a=e.expYear)||void 0===a?void 0:a.encryptedString,this.code=null===(s=e.code)||void 0===s?void 0:s.encryptedString))}return e.template=function(){var t=new e;return t.cardholderName="John Doe",t.brand="visa",t.number="4242424242424242",t.expMonth="04",t.expYear="2023",t.code="123",t},e.toView=function(e,t){return void 0===t&&(t=new r.CardView),t.cardholderName=e.cardholderName,t.brand=e.brand,t.number=e.number,t.expMonth=e.expMonth,t.expYear=e.expYear,t.code=e.code,t},e.toDomain=function(e,t){return void 0===t&&(t=new i.Card),t.cardholderName=null!=e.cardholderName?new o.CipherString(e.cardholderName):null,t.brand=null!=e.brand?new o.CipherString(e.brand):null,t.number=null!=e.number?new o.CipherString(e.number):null,t.expMonth=null!=e.expMonth?new o.CipherString(e.expMonth):null,t.expYear=null!=e.expYear?new o.CipherString(e.expYear):null,t.code=null!=e.code?new o.CipherString(e.code):null,t},e}();t.Card=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(128),i=n(209),o=n(103),a=n(283),s=function(){function e(e){var t,n;null!=e&&(e instanceof i.FieldView?(this.name=e.name,this.value=e.value):(this.name=null===(t=e.name)||void 0===t?void 0:t.encryptedString,this.value=null===(n=e.value)||void 0===n?void 0:n.encryptedString),this.type=e.type)}return e.template=function(){var t=new e;return t.name="Field name",t.value="Some value",t.type=r.FieldType.Text,t},e.toView=function(e,t){return void 0===t&&(t=new i.FieldView),t.type=e.type,t.value=e.value,t.name=e.name,t},e.toDomain=function(e,t){return void 0===t&&(t=new a.Field),t.type=e.type,t.value=null!=e.value?new o.CipherString(e.value):null,t.name=null!=e.name?new o.CipherString(e.name):null,t},e}();t.Field=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(144),i=n(103),o=n(284),a=function(){function e(e){var t,n,i,o,a,s,l,c,p,u,d,m,h,f,v,y,g,x;null!=e&&(e instanceof r.IdentityView?(this.title=e.title,this.firstName=e.firstName,this.middleName=e.middleName,this.lastName=e.lastName,this.address1=e.address1,this.address2=e.address2,this.address3=e.address3,this.city=e.city,this.state=e.state,this.postalCode=e.postalCode,this.country=e.country,this.company=e.company,this.email=e.email,this.phone=e.phone,this.ssn=e.ssn,this.username=e.username,this.passportNumber=e.passportNumber,this.licenseNumber=e.licenseNumber):(this.title=null===(t=e.title)||void 0===t?void 0:t.encryptedString,this.firstName=null===(n=e.firstName)||void 0===n?void 0:n.encryptedString,this.middleName=null===(i=e.middleName)||void 0===i?void 0:i.encryptedString,this.lastName=null===(o=e.lastName)||void 0===o?void 0:o.encryptedString,this.address1=null===(a=e.address1)||void 0===a?void 0:a.encryptedString,this.address2=null===(s=e.address2)||void 0===s?void 0:s.encryptedString,this.address3=null===(l=e.address3)||void 0===l?void 0:l.encryptedString,this.city=null===(c=e.city)||void 0===c?void 0:c.encryptedString,this.state=null===(p=e.state)||void 0===p?void 0:p.encryptedString,this.postalCode=null===(u=e.postalCode)||void 0===u?void 0:u.encryptedString,this.country=null===(d=e.country)||void 0===d?void 0:d.encryptedString,this.company=null===(m=e.company)||void 0===m?void 0:m.encryptedString,this.email=null===(h=e.email)||void 0===h?void 0:h.encryptedString,this.phone=null===(f=e.phone)||void 0===f?void 0:f.encryptedString,this.ssn=null===(v=e.ssn)||void 0===v?void 0:v.encryptedString,this.username=null===(y=e.username)||void 0===y?void 0:y.encryptedString,this.passportNumber=null===(g=e.passportNumber)||void 0===g?void 0:g.encryptedString,this.licenseNumber=null===(x=e.licenseNumber)||void 0===x?void 0:x.encryptedString))}return e.template=function(){var t=new e;return t.title="Mr",t.firstName="John",t.middleName="William",t.lastName="Doe",t.address1="123 Any St",t.address2="Apt #123",t.address3=null,t.city="New York",t.state="NY",t.postalCode="10001",t.country="US",t.company="Acme Inc.",t.email="john@company.com",t.phone="5555551234",t.ssn="000-123-4567",t.username="jdoe",t.passportNumber="US-123456789",t.licenseNumber="D123-12-123-12333",t},e.toView=function(e,t){return void 0===t&&(t=new r.IdentityView),t.title=e.title,t.firstName=e.firstName,t.middleName=e.middleName,t.lastName=e.lastName,t.address1=e.address1,t.address2=e.address2,t.address3=e.address3,t.city=e.city,t.state=e.state,t.postalCode=e.postalCode,t.country=e.country,t.company=e.company,t.email=e.email,t.phone=e.phone,t.ssn=e.ssn,t.username=e.username,t.passportNumber=e.passportNumber,t.licenseNumber=e.licenseNumber,t},e.toDomain=function(e,t){return void 0===t&&(t=new o.Identity),t.title=null!=e.title?new i.CipherString(e.title):null,t.firstName=null!=e.firstName?new i.CipherString(e.firstName):null,t.middleName=null!=e.middleName?new i.CipherString(e.middleName):null,t.lastName=null!=e.lastName?new i.CipherString(e.lastName):null,t.address1=null!=e.address1?new i.CipherString(e.address1):null,t.address2=null!=e.address2?new i.CipherString(e.address2):null,t.address3=null!=e.address3?new i.CipherString(e.address3):null,t.city=null!=e.city?new i.CipherString(e.city):null,t.state=null!=e.state?new i.CipherString(e.state):null,t.postalCode=null!=e.postalCode?new i.CipherString(e.postalCode):null,t.country=null!=e.country?new i.CipherString(e.country):null,t.company=null!=e.company?new i.CipherString(e.company):null,t.email=null!=e.email?new i.CipherString(e.email):null,t.phone=null!=e.phone?new i.CipherString(e.phone):null,t.ssn=null!=e.ssn?new i.CipherString(e.ssn):null,t.username=null!=e.username?new i.CipherString(e.username):null,t.passportNumber=null!=e.passportNumber?new i.CipherString(e.passportNumber):null,t.licenseNumber=null!=e.licenseNumber?new i.CipherString(e.licenseNumber):null,t},e}();t.Identity=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(960),i=n(159),o=n(103),a=n(285),s=function(){function e(e){var t,n,o;null!=e&&(null!=e.uris&&(i.LoginView,this.uris=e.uris.map(function(e){return new r.LoginUri(e)})),e instanceof i.LoginView?(this.username=e.username,this.password=e.password,this.totp=e.totp):(this.username=null===(t=e.username)||void 0===t?void 0:t.encryptedString,this.password=null===(n=e.password)||void 0===n?void 0:n.encryptedString,this.totp=null===(o=e.totp)||void 0===o?void 0:o.encryptedString))}return e.template=function(){var t=new e;return t.uris=[],t.username="jdoe",t.password="myp@ssword123",t.totp="JBSWY3DPEHPK3PXP",t},e.toView=function(e,t){return void 0===t&&(t=new i.LoginView),null!=e.uris&&(t.uris=e.uris.map(function(e){return r.LoginUri.toView(e)})),t.username=e.username,t.password=e.password,t.totp=e.totp,t},e.toDomain=function(e,t){return void 0===t&&(t=new a.Login),null!=e.uris&&(t.uris=e.uris.map(function(e){return r.LoginUri.toDomain(e)})),t.username=null!=e.username?new o.CipherString(e.username):null,t.password=null!=e.password?new o.CipherString(e.password):null,t.totp=null!=e.totp?new o.CipherString(e.totp):null,t},e}();t.Login=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(255),i=n(103),o=n(286),a=function(){function e(e){var t;this.match=null,null!=e&&(e instanceof r.LoginUriView?this.uri=e.uri:this.uri=null===(t=e.uri)||void 0===t?void 0:t.encryptedString,this.match=e.match)}return e.template=function(){var t=new e;return t.uri="https://google.com",t.match=null,t},e.toView=function(e,t){return void 0===t&&(t=new r.LoginUriView),t.uri=e.uri,t.match=e.match,t},e.toDomain=function(e,t){return void 0===t&&(t=new o.LoginUri),t.uri=null!=e.uri?new i.CipherString(e.uri):null,t.match=e.match,t},e}();t.LoginUri=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(112),i=n(94),o=n(288),a=function(){function e(e){null!=e&&(this.type=e.type)}return e.template=function(){var t=new e;return t.type=r.SecureNoteType.Generic,t},e.toView=function(e,t){return void 0===t&&(t=new i.SecureNoteView),t.type=e.type,t},e.toDomain=function(e,t){return void 0===t&&(t=new o.SecureNote),t.type=e.type,t},e}();t.SecureNote=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(157),i=n(103),o=n(141),a=function(){function e(){}return e.template=function(){var t=new e;return t.organizationId="00000000-0000-0000-0000-000000000000",t.name="Collection name",t.externalId=null,t},e.toView=function(e,t){return void 0===t&&(t=new r.CollectionView),t.name=e.name,t.externalId=e.externalId,null==t.organizationId&&(t.organizationId=e.organizationId),t},e.toDomain=function(e,t){return void 0===t&&(t=new o.Collection),t.name=null!=e.name?new i.CipherString(e.name):null,t.externalId=e.externalId,null==t.organizationId&&(t.organizationId=e.organizationId),t},e.prototype.build=function(e){var t;this.organizationId=e.organizationId,e instanceof r.CollectionView?this.name=e.name:this.name=null===(t=e.name)||void 0===t?void 0:t.encryptedString,this.externalId=e.externalId},e}();t.Collection=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(129),i=n(103),o=n(503),a=function(){function e(){}return e.template=function(){var t=new e;return t.name="Folder name",t},e.toView=function(e,t){return void 0===t&&(t=new r.FolderView),t.name=e.name,t},e.toDomain=function(e,t){return void 0===t&&(t=new o.Folder),t.name=null!=e.name?new i.CipherString(e.name):null,t},e.prototype.build=function(e){var t;e instanceof r.FolderView?this.name=e.name:this.name=null===(t=e.name)||void 0===t?void 0:t.encryptedString},e}();t.Folder=a},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(o=Math.floor(r.ciphers.length/2),a=r.ciphers.length-1,this.badData(r.ciphers[0])&&this.badData(r.ciphers[o])&&this.badData(r.ciphers[a]))?[2,new Error(this.i18nService.t("importFormatError"))]:[4,this.postImport(r,n)]:[3,3];case 2:return i.sent(),[2,null];case 3:return[2,new Error(this.i18nService.t("importFormatError"))]}})})},e.prototype.getImporter=function(e,t){void 0===t&&(t=null);var n=this.getImporterInstance(e);return null==n?null:(n.organizationId=t,n)},e.prototype.getImporterInstance=function(e){if(null==e||""===e)return null;switch(e){case"bitwardencsv":return new y.BitwardenCsvImporter;case"bitwardenjson":return new g.BitwardenJsonImporter;case"lastpasscsv":case"passboltcsv":return new j.LastPassCsvImporter;case"keepassxcsv":return new D.KeePassXCsvImporter;case"aviracsv":return new v.AviraCsvImporter;case"blurcsv":return new b.BlurCsvImporter;case"safeincloudxml":return new te.SafeInCloudXmlImporter;case"padlockcsv":return new K.PadlockCsvImporter;case"keepass2xml":return new B.KeePass2XmlImporter;case"chromecsv":case"operacsv":case"vivaldicsv":return new w.ChromeCsvImporter;case"firefoxcsv":return new A.FirefoxCsvImporter;case"upmcsv":return new se.UpmCsvImporter;case"saferpasscsv":return new ne.SaferPassCsvImporter;case"meldiumcsv":return new U.MeldiumCsvImporter;case"1password1pif":return new z.OnePassword1PifImporter;case"1passwordwincsv":return new G.OnePasswordWinCsvImporter;case"1passwordmaccsv":return new L.OnePasswordMacCsvImporter;case"keepercsv":return new V.KeeperCsvImporter;case"passworddragonxml":return new Q.PasswordDragonXmlImporter;case"enpasscsv":return new k.EnpassCsvImporter;case"enpassjson":return new _.EnpassJsonImporter;case"pwsafexml":return new J.PasswordSafeXmlImporter;case"dashlanejson":return new E.DashlaneJsonImporter;case"msecurecsv":return new F.MSecureCsvImporter;case"stickypasswordxml":return new oe.StickyPasswordXmlImporter;case"truekeycsv":return new ae.TrueKeyCsvImporter;case"clipperzhtml":return new C.ClipperzHtmlImporter;case"roboformcsv":return new ee.RoboFormCsvImporter;case"ascendocsv":return new m.AscendoCsvImporter;case"passwordbossjson":return new Y.PasswordBossJsonImporter;case"zohovaultcsv":return new ce.ZohoVaultCsvImporter;case"splashidcsv":return new ie.SplashIdCsvImporter;case"passkeepcsv":return new q.PassKeepCsvImporter;case"gnomejson":return new T.GnomeJsonImporter;case"passwordagentcsv":return new $.PasswordAgentCsvImporter;case"passpackcsv":return new W.PasspackCsvImporter;case"passmanjson":return new H.PassmanJsonImporter;case"avastcsv":return new h.AvastCsvImporter;case"avastjson":return new f.AvastJsonImporter;case"fsecurefsk":return new O.FSecureFskImporter;case"kasperskytxt":return new M.KasperskyTxtImporter;case"remembearcsv":return new Z.RememBearCsvImporter;case"passwordwallettxt":return new X.PasswordWalletTxtImporter;case"mykicsv":return new N.MykiCsvImporter;case"securesafecsv":return new re.SecureSafeCsvImporter;case"logmeoncecsv":return new R.LogMeOnceCsvImporter;case"blackberrycsv":return new x.BlackBerryCsvImporter;case"buttercupcsv":return new S.ButtercupCsvImporter;case"codebookcsv":return new I.CodebookCsvImporter;case"encryptrcsv":return new P.EncryptrCsvImporter;case"yoticsv":return new le.YotiCsvImporter;default:return null}},e.prototype.postImport=function(e,t){return void 0===t&&(t=null),r(this,void 0,void 0,function(){var n,r,o,a,m;return i(this,function(i){switch(i.label){case 0:if(null!=t)return[3,10];n=new p.ImportCiphersRequest,a=0,i.label=1;case 1:return a2&&e.length%2==0)for(var i=0;i-1?r.login.password=t.getValueOrDefault(o):null==r.login.username&&t.usernameFieldNames.indexOf(s)>-1?r.login.username=t.getValueOrDefault(o):(null==r.login.uris||0===r.login.uris.length)&&t.uriFieldNames.indexOf(s)>-1?r.login.uris=t.makeUriArray(o):t.processKvp(r,a,o)}}t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.AscendoCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.name),r.login.uris=t.makeUriArray(e.web),r.login.password=t.getValueOrDefault(e.password),r.login.username=t.getValueOrDefault(e.login),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.AvastCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(40),l=n(112),c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=JSON.parse(e);return null==r?(n.success=!1,Promise.resolve(n)):(null!=r.logins&&r.logins.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.custName),r.notes=t.getValueOrDefault(e.note),r.login.uris=t.makeUriArray(e.url),r.login.password=t.getValueOrDefault(e.pwd),r.login.username=t.getValueOrDefault(e.loginName),t.cleanupCipher(r),n.ciphers.push(r)}),null!=r.notes&&r.notes.forEach(function(e){var r=t.initLoginCipher();r.type=s.CipherType.SecureNote,r.secureNote.type=l.SecureNoteType.Generic,r.name=t.getValueOrDefault(e.label),r.notes=t.getValueOrDefault(e.text),t.cleanupCipher(r),n.ciphers.push(r)}),null!=r.cards&&r.cards.forEach(function(e){var r=t.initLoginCipher();r.type=s.CipherType.Card,r.name=t.getValueOrDefault(e.custName),r.notes=t.getValueOrDefault(e.note),r.card.cardholderName=t.getValueOrDefault(e.holderName),r.card.number=t.getValueOrDefault(e.cardNumber),r.card.code=t.getValueOrDefault(e.cvv),r.card.brand=t.getCardBrand(r.card.number),null!=e.expirationDate&&(null!=e.expirationDate.month&&(r.card.expMonth=e.expirationDate.month+""),null!=e.expirationDate.year&&(r.card.expYear=e.expirationDate.year+"")),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.AvastJsonImporter=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.name,t.getValueOrDefault(t.nameFromUrl(e.website),"--")),r.login.uris=t.makeUriArray(e.website),r.login.password=t.getValueOrDefault(e.password),t.isNullOrWhitespace(e.username)&&!t.isNullOrWhitespace(e.secondary_username)?r.login.username=e.secondary_username:(r.login.username=t.getValueOrDefault(e.username),r.notes=t.getValueOrDefault(e.secondary_username)),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.AviraCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(143),l=n(157),c=n(209),p=n(159),u=n(94),d=n(40),m=n(128),h=n(112),f=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){t.organization&&!t.isNullOrWhitespace(e.collections)?e.collections.split(",").forEach(function(e){for(var t=!0,r=n.collections.length,i=0;ia+2&&(f.value=i[o].substr(a+2)),r.fields.push(f)}}switch(null!=e.type?e.type.toLowerCase():null){case"note":r.type=d.CipherType.SecureNote,r.secureNote=new u.SecureNoteView,r.secureNote.type=h.SecureNoteType.Generic;break;default:r.type=d.CipherType.Login,r.login=new p.LoginView,r.login.totp=t.getValueOrDefault(e.login_totp||e.totp),r.login.username=t.getValueOrDefault(e.login_username||e.username),r.login.password=t.getValueOrDefault(e.login_password||e.password);var v=t.parseSingleRowCsv(e.login_uri||e.uri);r.login.uris=t.makeUriArray(v)}n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.BitwardenCsvImporter=f},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]5&&(f.passwordHistory=f.passwordHistory.slice(0,5)),!this.organization&&null!=h.folderId&&e.has(h.folderId)?this.result.folderRelationships.push([this.result.ciphers.length,e.get(h.folderId)]):this.organization&&null!=h.collectionIds&&h.collectionIds.forEach(function(t){e.has(t)&&y.result.collectionRelationships.push([y.result.ciphers.length,e.get(t)])}),[4,f.decrypt()]):[3,13];case 11:v=a.sent(),this.cleanupCipher(v),this.result.ciphers.push(v),a.label=12;case 12:return d++,[3,10];case 13:return[2]}})})},t.prototype.parseDecrypted=function(){var e=this,t=new Map;this.organization&&null!=this.results.collections?this.results.collections.forEach(function(n){var r=p.CollectionWithId.toView(n);null!=r&&(r.id=null,r.organizationId=null,t.set(n.id,e.result.collections.length),e.result.collections.push(r))}):this.organization||null==this.results.folders||this.results.folders.forEach(function(n){var r=u.FolderWithId.toView(n);null!=r&&(r.id=null,t.set(n.id,e.result.folders.length),e.result.folders.push(r))}),this.results.items.forEach(function(n){var r=c.CipherWithIds.toView(n);r.id=null,r.folderId=null,r.organizationId=null,r.collectionIds=null,null!=r.passwordHistory&&r.passwordHistory.length>5&&(r.passwordHistory=r.passwordHistory.slice(0,5)),!e.organization&&null!=n.folderId&&t.has(n.folderId)?e.result.folderRelationships.push([e.result.ciphers.length,t.get(n.folderId)]):e.organization&&null!=n.collectionIds&&n.collectionIds.forEach(function(n){t.has(n)&&e.result.collectionRelationships.push([e.result.ciphers.length,t.get(n)])}),e.cleanupCipher(r),e.result.ciphers.push(r)})},t}(s.BaseImporter);t.BitwardenJsonImporter=d},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if("list"!==e.grouping){var r=t.initLoginCipher();r.favorite="1"===e.fav,r.name=t.getValueOrDefault(e.name),r.notes=t.getValueOrDefault(e.extra),"note"!==e.grouping&&(r.login.uris=t.makeUriArray(e.url),r.login.password=t.getValueOrDefault(e.password),r.login.username=t.getValueOrDefault(e.username)),t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.BlackBerryCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){"null"===e.label&&(e.label=null);var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.label,t.getValueOrDefault(t.nameFromUrl(e.domain),"--")),r.login.uris=t.makeUriArray(e.domain),r.login.password=t.getValueOrDefault(e.password),t.isNullOrWhitespace(e.email)&&!t.isNullOrWhitespace(e.username)?r.login.username=e.username:(r.login.username=t.getValueOrDefault(e.email),r.notes=t.getValueOrDefault(e.username)),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.BlurCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=["!group_id","!group_name","title","username","password","URL","id"],l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){t.processFolder(n,t.getValueOrDefault(e["!group_name"]));var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.title,"--"),r.login.username=t.getValueOrDefault(e.username),r.login.password=t.getValueOrDefault(e.password),r.login.uris=t.makeUriArray(e.URL);var i=!1;for(var o in e)e.hasOwnProperty(o)&&(i||-1!==s.indexOf(o)||(i=!0),i&&t.processKvp(r,o,e[o]));t.cleanupCipher(r),n.ciphers.push(r)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.ButtercupCsvImporter=l},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.name,"--"),r.login.username=t.getValueOrDefault(e.username),r.login.password=t.getValueOrDefault(e.password),r.login.uris=t.makeUriArray(e.url),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.ChromeCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseXml(e);if(null==r)return n.success=!1,Promise.resolve(n);var i=r.querySelector("textarea");return null==i||this.isNullOrWhitespace(i.textContent)?(n.errorMessage="Missing textarea.",n.success=!1,Promise.resolve(n)):(JSON.parse(i.textContent).forEach(function(e){var r=t.initLoginCipher();if(t.isNullOrWhitespace(e.label)||(r.name=e.label.split(" ")[0]),null==e.data||t.isNullOrWhitespace(e.data.notes)||(r.notes=e.data.notes.split("\\n").join("\n")),null!=e.currentVersion&&null!=e.currentVersion.fields)for(var i in e.currentVersion.fields)if(e.currentVersion.fields.hasOwnProperty(i)){var o=e.currentVersion.fields[i];switch(null!=o.actionType?o.actionType.toLowerCase():null){case"password":r.login.password=t.getValueOrDefault(o.value);break;case"email":case"username":case"user":case"name":r.login.username=t.getValueOrDefault(o.value);break;case"url":r.login.uris=t.makeUriArray(o.value);break;default:var a=null!=o.label?o.label.toLowerCase():null;null==r.login.password&&t.passwordFieldNames.indexOf(a)>-1?r.login.password=t.getValueOrDefault(o.value):null==r.login.username&&t.usernameFieldNames.indexOf(a)>-1?r.login.username=t.getValueOrDefault(o.value):(null==r.login.uris||0===r.login.uris.length)&&t.uriFieldNames.indexOf(a)>-1?r.login.uris=t.makeUriArray(o.value):t.processKvp(r,o.label,o.value)}}t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.ClipperzHtmlImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){t.processFolder(n,t.getValueOrDefault(e.Category));var r=t.initLoginCipher();r.favorite="True"===t.getValueOrDefault(e.Favorite),r.name=t.getValueOrDefault(e.Entry,"--"),r.notes=t.getValueOrDefault(e.Note),r.login.username=t.getValueOrDefault(e.Username,e.Email),r.login.password=t.getValueOrDefault(e.Password),r.login.totp=t.getValueOrDefault(e.TOTP),r.login.uris=t.makeUriArray(e.Website),t.isNullOrWhitespace(e.Username)||t.processKvp(r,"Email",e.Email),t.processKvp(r,"Phone",e.Phone),t.processKvp(r,"PIN",e.PIN),t.processKvp(r,"Account",e.Account),t.processKvp(r,"Date",e.Date),t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.CodebookCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(89),l=n(143),c=n(144),p=n(94),u=n(40),d=n(112),m=new Set(["ADDRESS","AUTHENTIFIANT","BANKSTATEMENT","IDCARD","IDENTITY","PAYMENTMEANS_CREDITCARD","PAYMENTMEAN_PAYPAL","EMAIL"]),h=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){this.result=new a.ImportResult;var t=JSON.parse(e);if(null==t||0===t.length)return this.result.success=!1,Promise.resolve(this.result);for(var n in null!=t.ADDRESS&&this.processAddress(t.ADDRESS),null!=t.AUTHENTIFIANT&&this.processAuth(t.AUTHENTIFIANT),null!=t.BANKSTATEMENT&&this.processNote(t.BANKSTATEMENT,"BankAccountName"),null!=t.IDCARD&&this.processNote(t.IDCARD,"Fullname"),null!=t.PAYMENTMEANS_CREDITCARD&&this.processCard(t.PAYMENTMEANS_CREDITCARD),null!=t.IDENTITY&&this.processIdentity(t.IDENTITY),t)t.hasOwnProperty(n)&&!m.has(n)&&this.processNote(t[n],null,"Generic Note");return this.result.success=!0,Promise.resolve(this.result)},t.prototype.processAuth=function(e){var t=this;e.forEach(function(e){var n=t.initLoginCipher();n.name=t.getValueOrDefault(e.title),n.login.username=t.getValueOrDefault(e.login,t.getValueOrDefault(e.secondaryLogin)),t.isNullOrWhitespace(n.login.username)?n.login.username=t.getValueOrDefault(e.email):t.isNullOrWhitespace(e.email)||(n.notes="Email: "+e.email+"\n"),n.login.password=t.getValueOrDefault(e.password),n.login.uris=t.makeUriArray(e.domain),n.notes+=t.getValueOrDefault(e.note,""),t.convertToNoteIfNeeded(n),t.cleanupCipher(n),t.result.ciphers.push(n)})},t.prototype.processIdentity=function(e){var t=this;e.forEach(function(e){var n=new l.CipherView;n.identity=new c.IdentityView,n.type=u.CipherType.Identity,n.name=t.getValueOrDefault(e.fullName,"");var r=n.name.split(" ");r.length>0&&(n.identity.firstName=t.getValueOrDefault(r[0])),2===r.length?n.identity.lastName=t.getValueOrDefault(r[1]):3===r.length&&(n.identity.middleName=t.getValueOrDefault(r[1]),n.identity.lastName=t.getValueOrDefault(r[2])),n.identity.username=t.getValueOrDefault(e.pseudo),t.cleanupCipher(n),t.result.ciphers.push(n)})},t.prototype.processAddress=function(e){var t=this;e.forEach(function(e){var n=new l.CipherView;n.identity=new c.IdentityView,n.type=u.CipherType.Identity,n.name=t.getValueOrDefault(e.addressName),n.identity.address1=t.getValueOrDefault(e.addressFull),n.identity.city=t.getValueOrDefault(e.city),n.identity.state=t.getValueOrDefault(e.state),n.identity.postalCode=t.getValueOrDefault(e.zipcode),n.identity.country=t.getValueOrDefault(e.country),null!=n.identity.country&&(n.identity.country=n.identity.country.toUpperCase()),t.cleanupCipher(n),t.result.ciphers.push(n)})},t.prototype.processCard=function(e){var t=this;e.forEach(function(e){var n=new l.CipherView;n.card=new s.CardView,n.type=u.CipherType.Card,n.name=t.getValueOrDefault(e.bank),n.card.number=t.getValueOrDefault(e.cardNumber),n.card.brand=t.getCardBrand(n.card.number),n.card.cardholderName=t.getValueOrDefault(e.owner),t.isNullOrWhitespace(n.card.brand)||(t.isNullOrWhitespace(n.name)?n.name=n.card.brand:n.name+=" - "+n.card.brand),t.cleanupCipher(n),t.result.ciphers.push(n)})},t.prototype.processNote=function(e,t,n){var r=this;void 0===n&&(n=null),e.forEach(function(e){var i=new l.CipherView;for(var o in i.secureNote=new p.SecureNoteView,i.type=u.CipherType.SecureNote,i.secureNote.type=d.SecureNoteType.Generic,i.name=null!=n?n:r.getValueOrDefault(e[t]),e)e.hasOwnProperty(o)&&o!==t&&r.processKvp(i,o,e[o].toString());r.cleanupCipher(i),r.result.ciphers.push(i)})},t}(o.BaseImporter);t.DashlaneJsonImporter=h},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(89),l=n(40),c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.Label,"--"),r.notes=t.getValueOrDefault(e.Notes);var i=t.getValueOrDefault(e.Text);t.isNullOrWhitespace(i)||(t.isNullOrWhitespace(r.notes)?r.notes=i:r.notes+="\n\n"+i);var o=e["Entry Type"];if("Password"===o)r.login.username=t.getValueOrDefault(e.Username),r.login.password=t.getValueOrDefault(e.Password),r.login.uris=t.makeUriArray(e["Site URL"]);else if("Credit Card"===o){r.type=l.CipherType.Card,r.card=new s.CardView,r.card.cardholderName=t.getValueOrDefault(e["Name on card"]),r.card.number=t.getValueOrDefault(e["Card Number"]),r.card.brand=t.getCardBrand(r.card.number),r.card.code=t.getValueOrDefault(e.CVV);var a=t.getValueOrDefault(e.Expiry);if(!t.isNullOrWhitespace(a)){var c=a.split("/");c.length>1&&(r.card.expMonth=parseInt(c[0],null).toString(),r.card.expYear=(2e3+parseInt(c[1],null)).toString())}}t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.EncryptrCsvImporter=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(40),l=n(112),c=n(89),p=n(94),u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);if(null==r)return n.success=!1,Promise.resolve(n);var i=!0;return r.forEach(function(e){if(e.length<2||i&&("Title"===e[0]||"title"===e[0]))i=!1;else{var r=t.initLoginCipher();if(r.notes=t.getValueOrDefault(e[e.length-1]),r.name=t.getValueOrDefault(e[0],"--"),2!==e.length&&(t.containsField(e,"username")||t.containsField(e,"password")||t.containsField(e,"email")||t.containsField(e,"url"))||(r.type=s.CipherType.SecureNote,r.secureNote=new p.SecureNoteView,r.secureNote.type=l.SecureNoteType.Generic),t.containsField(e,"cardholder")&&t.containsField(e,"number")&&t.containsField(e,"expiry date")&&(r.type=s.CipherType.Card,r.card=new c.CardView),e.length>2&&e.length%2==0)for(var o=0;o0},t}(o.BaseImporter);t.EnpassCsvImporter=u},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(89),l=n(129),c=n(40),p=n(128),u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=JSON.parse(e);if(null==r||null==r.items||0===r.items.length)return n.success=!1,Promise.resolve(n);var i=new Map,o=new Map,s=this.buildFolderTree(r.folders);return this.flattenFolderTree(null,s,i),i.forEach(function(e,t){o.set(t,n.folders.length);var r=new l.FolderView;r.name=e,n.folders.push(r)}),r.items.forEach(function(e){null!=e.folders&&e.folders.length>0&&o.has(e.folders[0])&&n.folderRelationships.push([n.ciphers.length,o.get(e.folders[0])]);var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.title),r.favorite=e.favorite>0,null!=e.template_type&&null!=e.fields&&e.fields.length>0&&(0===e.template_type.indexOf("login.")||0===e.template_type.indexOf("password.")?t.processLogin(r,e.fields):0===e.template_type.indexOf("creditcard.")?t.processCard(r,e.fields):e.template_type.indexOf("identity.")<0&&e.fields.some(function(e){return"password"===e.type&&!t.isNullOrWhitespace(e.value)})?t.processLogin(r,e.fields):t.processNote(r,e.fields)),r.notes+="\n"+t.getValueOrDefault(e.note,""),t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n)},t.prototype.processLogin=function(e,t){var n=this,r=[];t.forEach(function(t){n.isNullOrWhitespace(t.value)||"section"===t.type||("username"!==t.type&&"email"!==t.type||!n.isNullOrWhitespace(e.login.username)?"password"===t.type&&n.isNullOrWhitespace(e.login.password)?e.login.password=t.value:"totp"===t.type&&n.isNullOrWhitespace(e.login.totp)?e.login.totp=t.value:"url"===t.type?r.push(t.value):n.processKvp(e,t.label,t.value,1===t.sensitive?p.FieldType.Hidden:p.FieldType.Text):e.login.username=t.value)}),e.login.uris=this.makeUriArray(r)},t.prototype.processCard=function(e,t){var n=this;e.card=new s.CardView,e.type=c.CipherType.Card,t.forEach(function(t){n.isNullOrWhitespace(t.value)||"section"===t.type||"ccType"===t.type||("ccName"===t.type&&n.isNullOrWhitespace(e.card.cardholderName)?e.card.cardholderName=t.value:"ccNumber"===t.type&&n.isNullOrWhitespace(e.card.number)?(e.card.number=t.value,e.card.brand=n.getCardBrand(e.card.number)):"ccCvc"===t.type&&n.isNullOrWhitespace(e.card.code)?e.card.code=t.value:"ccExpiry"===t.type&&n.isNullOrWhitespace(e.card.expYear)&&n.setCardExpiration(e,t.value)||n.processKvp(e,t.label,t.value,1===t.sensitive?p.FieldType.Hidden:p.FieldType.Text))})},t.prototype.processNote=function(e,t){var n=this;t.forEach(function(t){n.isNullOrWhitespace(t.value)||"section"===t.type||n.processKvp(e,t.label,t.value,1===t.sensitive?p.FieldType.Hidden:p.FieldType.Text)})},t.prototype.buildFolderTree=function(e){if(null==e)return[];var t=[],n=new Map([]);return e.forEach(function(e){n.set(e.uuid,e),e.children=[]}),e.forEach(function(e){null!=e.parent_uuid&&""!==e.parent_uuid&&n.has(e.parent_uuid)?n.get(e.parent_uuid).children.push(e):t.push(e)}),t},t.prototype.flattenFolderTree=function(e,t,n){var r=this;null!=t&&t.forEach(function(t){if(null!=t.title&&""!==t.title.trim()){var i=t.title.trim();null!=e&&""!==e.trim()&&(i=e+"/"+i),n.set(t.uuid,i),null!=t.children&&0!==t.children.length&&r.flattenFolderTree(i,t.children,n)}})},t}(o.BaseImporter);t.EnpassJsonImporter=u},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher(),i=t.getValueOrDefault(e.url,t.getValueOrDefault(e.hostname));r.name=t.getValueOrDefault(t.nameFromUrl(i),"--"),r.login.username=t.getValueOrDefault(e.username),r.login.password=t.getValueOrDefault(e.password),r.login.uris=t.makeUriArray(i),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.FirefoxCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(89),l=n(40),c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=new a.ImportResult,n=JSON.parse(e);if(null==n||null==n.data)return t.success=!1,Promise.resolve(t);for(var r in n.data)if(n.data.hasOwnProperty(r)){var i=n.data[r],o=this.initLoginCipher();if(o.name=this.getValueOrDefault(i.service),o.notes=this.getValueOrDefault(i.notes),"website"===i.style)o.login.username=this.getValueOrDefault(i.username),o.login.password=this.getValueOrDefault(i.password),o.login.uris=this.makeUriArray(i.url);else{if("creditcard"!==i.style)continue;o.type=l.CipherType.Card,o.card=new s.CardView,o.card.cardholderName=this.getValueOrDefault(i.username),o.card.number=this.getValueOrDefault(i.creditNumber),o.card.brand=this.getCardBrand(o.card.number),o.card.code=this.getValueOrDefault(i.creditCvv),this.isNullOrWhitespace(i.creditExpiry)||this.setCardExpiration(o,i.creditExpiry)||this.processKvp(o,"Expiration",i.creditExpiry),this.isNullOrWhitespace(i.password)||this.processKvp(o,"PIN",i.password)}this.convertToNoteIfNeeded(o),this.cleanupCipher(o),t.ciphers.push(o)}return t.success=!0,Promise.resolve(t)},t}(o.BaseImporter);t.FSecureFskImporter=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=JSON.parse(e);if(null==r||0===Object.keys(r).length)return n.success=!1,Promise.resolve(n);var i=function(e){if(!r.hasOwnProperty(e)||o.isNullOrWhitespace(e)||0===r[e].length)return"continue";r[e].forEach(function(r){if(!t.isNullOrWhitespace(r.display_name)&&0===r.display_name.indexOf("http")){t.processFolder(n,e);var i=t.initLoginCipher();if(i.name=r.display_name.replace("http://","").replace("https://",""),i.name.length>30&&(i.name=i.name.substring(0,30)),i.login.password=t.getValueOrDefault(r.secret),i.login.uris=t.makeUriArray(r.display_name),null!=r.attributes)for(var o in i.login.username=null!=r.attributes?t.getValueOrDefault(r.attributes.username_value):null,r.attributes)r.attributes.hasOwnProperty(o)&&"username_value"!==o&&"xdg:schema"!==o&&t.processKvp(i,o,r.attributes[o]);t.convertToNoteIfNeeded(i),t.cleanupCipher(i),n.ciphers.push(i)}})},o=this;for(var s in r)i(s);return this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n)},t}(o.BaseImporter);t.GnomeJsonImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t,n,r,i,o=this,s=new a.ImportResult,l=this.splitNewLine(e).join("\n");-1!==l.indexOf("Notes\n\n")&&((i=l.split("Notes\n\n")).length>1&&(l=i[0],t=i[1]));-1!==l.indexOf("Applications\n\n")&&((i=l.split("Applications\n\n")).length>1&&(l=i[0],n=i[1]));0===l.indexOf("Websites\n\n")&&((i=l.split("Websites\n\n")).length>1&&(l=i[0],r=i[1]));var c=this.parseDataCategory(t),p=this.parseDataCategory(n),u=this.parseDataCategory(r);return c.forEach(function(e){var t=o.initLoginCipher();t.name=o.getValueOrDefault(e.get("Name")),t.notes=o.getValueOrDefault(e.get("Text")),o.cleanupCipher(t),s.ciphers.push(t)}),u.concat(p).forEach(function(e){var t=o.initLoginCipher(),n=e.has("Website name")?"Website name":"Application";t.name=o.getValueOrDefault(e.get(n),""),o.isNullOrWhitespace(e.get("Login name"))||(o.isNullOrWhitespace(t.name)||(t.name+=": "),t.name+=e.get("Login name")),t.notes=o.getValueOrDefault(e.get("Comment")),e.has("Website URL")&&(t.login.uris=o.makeUriArray(e.get("Website URL"))),t.login.username=o.getValueOrDefault(e.get("Login")),t.login.password=o.getValueOrDefault(e.get("Password")),o.cleanupCipher(t),s.ciphers.push(t)}),s.success=!0,Promise.resolve(s)},t.prototype.parseDataCategory=function(e){if(this.isNullOrWhitespace(e)||-1===e.indexOf("\n---\n"))return[];var t=[];return e.split("\n---\n").forEach(function(e){if(-1!==e.indexOf("\n")){var n,r,i=new Map;e.split("\n").forEach(function(e){if(null==n){var t,o,a=e.indexOf(":");-1!==a&&(t=e.substring(0,a),e.length>a+1&&(o=e.substring(a+2)),null!=t&&i.set(t,o),"Comment"!==t&&"Text"!==t||(n=o,r=t))}else n+="\n"+e}),null!=n&&null!=r&&i.set(r,n),0!==i.size&&t.push(i)}}),t},t}(o.BaseImporter);t.KasperskyTxtImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(128),s=n(27),l=n(129),c=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.result=new s.ImportResult,t}return i(t,e),t.prototype.parse=function(e){var t=this.parseXml(e);if(null==t)return this.result.success=!1,Promise.resolve(this.result);var n=t.querySelector("KeePassFile > Root > Group");return null==n?(this.result.errorMessage="Missing `KeePassFile > Root > Group` node.",this.result.success=!1,Promise.resolve(this.result)):(this.traverse(n,!0,""),this.organization&&this.moveFoldersToCollections(this.result),this.result.success=!0,Promise.resolve(this.result))},t.prototype.traverse=function(e,t,n){var r=this,i=this.result.folders.length,o=n;if(!t){""!==o&&(o+="/");var s=this.querySelectorDirectChild(e,"Name");o+=null==s?"-":s.textContent;var c=new l.FolderView;c.name=o,this.result.folders.push(c)}this.querySelectorAllDirectChild(e,"Entry").forEach(function(e){var n=r.result.ciphers.length,o=r.initLoginCipher();r.querySelectorAllDirectChild(e,"String").forEach(function(e){var t=r.querySelectorDirectChild(e,"Value"),n=null!=t?t.textContent:null;if(!r.isNullOrWhitespace(n)){var i=r.querySelectorDirectChild(e,"Key"),s=null!=i?i.textContent:null;if("URL"===s)o.login.uris=r.makeUriArray(n);else if("UserName"===s)o.login.username=n;else if("Password"===s)o.login.password=n;else if("otp"===s)o.login.totp=n.replace("key=","");else if("Title"===s)o.name=n;else if("Notes"===s)o.notes+=n+"\n";else{var l=a.FieldType.Text,c=t.attributes;c.length>0&&null!=c.ProtectInMemory&&"True"===c.ProtectInMemory.value&&(l=a.FieldType.Hidden),r.processKvp(o,s,n,l)}}}),r.cleanupCipher(o),r.result.ciphers.push(o),t||r.result.folderRelationships.push([n,i])}),this.querySelectorAllDirectChild(e,"Group").forEach(function(e){r.traverse(e,!1,o)})},t}(o.BaseImporter);t.KeePass2XmlImporter=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!t.isNullOrWhitespace(e.Title)){e.Group=!t.isNullOrWhitespace(e.Group)&&e.Group.startsWith("Root/")?e.Group.replace("Root/",""):e.Group;var r=t.isNullOrWhitespace(e.Group)?null:e.Group;t.processFolder(n,r);var i=t.initLoginCipher();i.notes=t.getValueOrDefault(e.Notes),i.name=t.getValueOrDefault(e.Title,"--"),i.login.username=t.getValueOrDefault(e.Username),i.login.password=t.getValueOrDefault(e.Password),i.login.uris=t.makeUriArray(e.URL),t.cleanupCipher(i),n.ciphers.push(i)}}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.KeePassXCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!(e.length<6)){t.processFolder(n,e[0]);var r=t.initLoginCipher();if(r.notes=t.getValueOrDefault(e[5])+"\n",r.name=t.getValueOrDefault(e[1],"--"),r.login.username=t.getValueOrDefault(e[2]),r.login.password=t.getValueOrDefault(e[3]),r.login.uris=t.makeUriArray(e[4]),e.length>7)for(var i=7;i-1){var n=e.ccexp.split("-");n.length>1&&(t.expYear=n[0],t.expMonth=n[1],2===t.expMonth.length&&"0"===t.expMonth[0]&&(t.expMonth=t.expMonth[1]))}return t},t.prototype.parseIdentity=function(e){var t=new p.IdentityView;return t.title=this.getValueOrDefault(e.title),t.firstName=this.getValueOrDefault(e.firstname),t.middleName=this.getValueOrDefault(e.middlename),t.lastName=this.getValueOrDefault(e.lastname),t.username=this.getValueOrDefault(e.username),t.company=this.getValueOrDefault(e.company),t.ssn=this.getValueOrDefault(e.ssn),t.address1=this.getValueOrDefault(e.address1),t.address2=this.getValueOrDefault(e.address2),t.address3=this.getValueOrDefault(e.address3),t.city=this.getValueOrDefault(e.city),t.state=this.getValueOrDefault(e.state),t.postalCode=this.getValueOrDefault(e.zip),t.country=this.getValueOrDefault(e.country),t.email=this.getValueOrDefault(e.email),t.phone=this.getValueOrDefault(e.phone),this.isNullOrWhitespace(t.title)||(t.title=t.title.charAt(0).toUpperCase()+t.title.slice(1)),t},t.prototype.parseSecureNote=function(e,t){var n=this.splitNewLine(e.extra),r=!1;if(n.length){var i=n[0].split(":");if(i.length>1&&"NoteType"===i[0]&&("Credit Card"===i[1]||"Address"===i[1])){if("Credit Card"===i[1]){var o=this.parseSecureNoteMapping(t,n,{Number:"number","Name on Card":"cardholderName","Security Code":"code","Expiration Date":"expMonth"});if(this.isNullOrWhitespace(o.expMonth)||","===o.expMonth)o.expMonth=void 0;else{var a=o.expMonth.split(","),s=a[0],l=a[1];if(this.isNullOrWhitespace(s))o.expMonth=void 0;else{var c=new Date(Date.parse(s.trim()+" 1, 2012")).getMonth()+1;isNaN(c)?o.expMonth=void 0:o.expMonth=c.toString()}this.isNullOrWhitespace(l)||(o.expYear=l)}t.type=m.CipherType.Card,t.card=o}else if("Address"===i[1]){o=this.parseSecureNoteMapping(t,n,{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"});t.type=m.CipherType.Identity,t.identity=o}r=!0}}r||(t.secureNote=new d.SecureNoteView,t.secureNote.type=h.SecureNoteType.Generic,t.notes=this.getValueOrDefault(e.extra))},t.prototype.parseSecureNoteMapping=function(e,t,n){var r=this,i={},o=!1;return t.forEach(function(t){var a=null,s=null;if(!o){if(r.isNullOrWhitespace(t))return;var l=t.indexOf(":");if(-1===l?a=t:(a=t.substring(0,l),t.length>l&&(s=t.substring(l+1))),r.isNullOrWhitespace(a)||r.isNullOrWhitespace(s)||"NoteType"===a)return}o?e.notes+="\n"+t:"Notes"===a?(r.isNullOrWhitespace(e.notes)?e.notes=s:e.notes+="\n"+s,o=!0):n.hasOwnProperty(a)?i[n[a]]=s:r.processKvp(e,a,s)}),i},t}(o.BaseImporter);t.LastPassCsvImporter=f},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!(e.length<4)){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e[0],"--"),r.login.username=t.getValueOrDefault(e[2]),r.login.password=t.getValueOrDefault(e[3]),r.login.uris=t.makeUriArray(e[1]),t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.LogMeOnceCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.DisplayName,"--"),r.notes=t.getValueOrDefault(e.Notes),r.login.username=t.getValueOrDefault(e.UserName),r.login.password=t.getValueOrDefault(e.Password),r.login.uris=t.makeUriArray(e.Url),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.MeldiumCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(40),l=n(112),c=n(94),p=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!(e.length<3)){var r="Unassigned"!==t.getValueOrDefault(e[0],"Unassigned")?e[0]:null;t.processFolder(n,r);var i=t.initLoginCipher();if(i.name=t.getValueOrDefault(e[2],"--"),"Web Logins"===e[1]||"Login"===e[1])i.login.uris=t.makeUriArray(e[4]),i.login.username=t.getValueOrDefault(e[5]),i.login.password=t.getValueOrDefault(e[6]),i.notes=t.isNullOrWhitespace(e[3])?null:e[3].split("\\n").join("\n");else if(e.length>3){i.type=s.CipherType.SecureNote,i.secureNote=new c.SecureNoteView,i.secureNote.type=l.SecureNoteType.Generic;for(var o=3;o0&&(t.login.uris=this.makeUriArray(r))}null!=e.secureContents.fields&&this.parseFields(e.secureContents.fields,t,"designation","value","name"),null!=e.secureContents.sections&&e.secureContents.sections.forEach(function(e){null!=e.fields&&n.parseFields(e.fields,t,"n","v","t")})}},t.prototype.parsePasswordHistory=function(e,t){var n=this,r=e.length>5?5:e.length;t.passwordHistory=e.filter(function(e){return!n.isNullOrWhitespace(e.value)&&null!=e.time}).sort(function(e,t){return t.time-e.time}).slice(0,r).map(function(e){var t=new c.PasswordHistoryView;return t.password=e.value,t.lastUsedDate=new Date((""+e.time).length>=13?e.time:1e3*e.time),t})},t.prototype.parseFields=function(e,t,n,r,i){var o=this;e.forEach(function(e){if(null!=e[r]&&""!==e[r].toString().trim()){var a=e[r].toString(),s=null!=e[n]?e[n].toString():null;if(t.type===u.CipherType.Login){if(o.isNullOrWhitespace(t.login.username)&&"username"===s)return void(t.login.username=a);if(o.isNullOrWhitespace(t.login.password)&&"password"===s)return void(t.login.password=a);if(o.isNullOrWhitespace(t.login.totp)&&null!=s&&s.startsWith("TOTP_"))return void(t.login.totp=a)}else if(t.type===u.CipherType.Card){if(o.isNullOrWhitespace(t.card.number)&&"ccnum"===s)return t.card.number=a,void(t.card.brand=o.getCardBrand(a));if(o.isNullOrWhitespace(t.card.code)&&"cvv"===s)return void(t.card.code=a);if(o.isNullOrWhitespace(t.card.cardholderName)&&"cardholder"===s)return void(t.card.cardholderName=a);if(o.isNullOrWhitespace(t.card.expiration)&&"expiry"===s&&6===a.length)return t.card.expMonth=a.substr(4,2),"0"===t.card.expMonth[0]&&(t.card.expMonth=t.card.expMonth.substr(1,1)),void(t.card.expYear=a.substr(0,4));if("type"===s)return}else if(t.type===u.CipherType.Identity){var l=t.identity;if(o.isNullOrWhitespace(l.firstName)&&"firstname"===s)return void(l.firstName=a);if(o.isNullOrWhitespace(l.lastName)&&"lastname"===s)return void(l.lastName=a);if(o.isNullOrWhitespace(l.middleName)&&"initial"===s)return void(l.middleName=a);if(o.isNullOrWhitespace(l.phone)&&"defphone"===s)return void(l.phone=a);if(o.isNullOrWhitespace(l.company)&&"company"===s)return void(l.company=a);if(o.isNullOrWhitespace(l.email)&&"email"===s)return void(l.email=a);if(o.isNullOrWhitespace(l.username)&&"username"===s)return void(l.username=a);if("address"===s){var c=e[r],p=c.street,m=c.city,h=c.country,f=c.zip;return l.address1=o.getValueOrDefault(p),l.city=o.getValueOrDefault(m),o.isNullOrWhitespace(h)||(l.country=h.toUpperCase()),void(l.postalCode=o.getValueOrDefault(f))}}var v=o.isNullOrWhitespace(e[i])?"no_name":e[i];if("password"!==v||null==t.passwordHistory||!t.passwordHistory.some(function(e){return e.password===a})){var y="concealed"===e.k?d.FieldType.Hidden:d.FieldType.Text;o.processKvp(t,v,a,y)}}})},t}(o.BaseImporter);t.OnePassword1PifImporter=h},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(708),a=n(40),s=n(709),l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.setCipherType=function(e,t){switch(this.getValueOrDefault(this.getProp(e,"type"),"Login")){case"Credit Card":t.type=a.CipherType.Card,t.card=new s.CardView,o.IgnoredProperties.push("type");break;case"Identity":t.type=a.CipherType.Identity,t.identity=new s.IdentityView,o.IgnoredProperties.push("type");break;case"Login":case"Secure Note":o.IgnoredProperties.push("type")}},t}(o.OnePasswordCsvImporter);t.OnePasswordMacCsvImporter=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t,n){this.importRecord=e,this.property=t,this.cipher=n,this.lowerProperty=t.toLowerCase()}}();t.CipherImportContext=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.View=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(708),a=n(40),s=n(709),l=function(e){function t(){var t=e.call(this)||this;return t.identityPropertyParsers.push(t.setIdentityAddress),t}return i(t,e),t.prototype.setCipherType=function(e,t){t.type=a.CipherType.Login,t.login=new s.LoginView,this.isNullOrWhitespace(this.getPropByRegexp(e,/\d+: number/i))||this.isNullOrWhitespace(this.getPropByRegexp(e,/\d+: expiry date/i))||(t.type=a.CipherType.Card,t.card=new s.CardView),this.isNullOrWhitespace(this.getPropByRegexp(e,/name \d+: first name/i))&&this.isNullOrWhitespace(this.getPropByRegexp(e,/name \d+: initial/i))&&this.isNullOrWhitespace(this.getPropByRegexp(e,/name \d+: last name/i))&&this.isNullOrWhitespace(this.getPropByRegexp(e,/internet \d+: email/i))||(t.type=a.CipherType.Identity,t.identity=new s.IdentityView)},t.prototype.setIdentityAddress=function(e){return!!e.lowerProperty.match(/address \d+: address/i)&&(this.processKvp(e.cipher,"address",e.importRecord[e.property]),!0)},t.prototype.setCreditCardExpiry=function(e){if(this.isNullOrWhitespace(e.cipher.card.expiration)&&e.lowerProperty.includes("expiry date")){var t=e.importRecord[e.property].split("/");return e.cipher.card.expMonth=t[0],"0"===e.cipher.card.expMonth[0]&&2===e.cipher.card.expMonth.length&&(e.cipher.card.expMonth=e.cipher.card.expMonth.substr(1,1)),e.cipher.card.expYear=t[2].length>4?t[2].substr(0,4):t[2],!0}return!1},t}(o.OnePasswordCsvImporter);t.OnePasswordWinCsvImporter=l},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(157),l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);if(null==r)return n.success=!1,Promise.resolve(n);var i=null;return r.forEach(function(e){if(null!=i){if(!(e.length<2||e.length!==i.length)){if(!t.isNullOrWhitespace(e[1]))if(t.organization){(r=e[1].split(",")).forEach(function(e){e=e.trim();for(var t=!0,r=n.collections.length,i=0;i0?r[0].trim():null;t.processFolder(n,o)}var a=t.initLoginCipher();a.name=t.getValueOrDefault(e[0],"--");for(var l=2;l-1?a.login.username=e[l]:t.passwordFieldNames.indexOf(c)>-1?a.login.password=e[l]:t.uriFieldNames.indexOf(c)>-1?a.login.uris=t.makeUriArray(e[l]):t.processKvp(a,i[l],e[l]))}t.cleanupCipher(a),n.ciphers.push(a)}}else i=e.map(function(e){return e})}),n.success=!0,Promise.resolve(n)},t}(o.BaseImporter);t.PadlockCsvImporter=l},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){t.processFolder(n,t.getValue("category",e));var r=t.initLoginCipher();r.notes=t.getValue("description",e),r.name=t.getValueOrDefault(t.getValue("title",e),"--"),r.login.username=t.getValue("username",e),r.login.password=t.getValue("password",e),r.login.uris=t.makeUriArray(t.getValue("site",e)),t.processKvp(r,"Password 2",t.getValue("password2",e)),t.cleanupCipher(r),n.ciphers.push(r)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t.prototype.getValue=function(e,t){return this.getValueOrDefault(t[e],this.getValueOrDefault(t[" "+e]))},t}(o.BaseImporter);t.PassKeepCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=JSON.parse(e);return null==r||0===r.length?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(null!=e.tags&&e.tags.length>0){var r=e.tags[0].text;t.processFolder(n,r)}var i=t.initLoginCipher();i.name=e.label,i.login.username=t.getValueOrDefault(e.username),t.isNullOrWhitespace(i.login.username)?i.login.username=t.getValueOrDefault(e.email):t.isNullOrWhitespace(e.email)||(i.notes="Email: "+e.email+"\n"),i.login.password=t.getValueOrDefault(e.password),i.login.uris=t.makeUriArray(e.url),i.notes+=t.getValueOrDefault(e.description,""),null!=e.otp&&(i.login.totp=t.getValueOrDefault(e.otp.secret)),null!=e.custom_fields&&e.custom_fields.forEach(function(e){switch(e.field_type){case"text":case"password":t.processKvp(i,e.label,e.value)}}),t.convertToNoteIfNeeded(i),t.cleanupCipher(i),n.ciphers.push(i)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.PassmanJsonImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(157),l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.isNullOrWhitespace(e.Tags)?null:JSON.parse(e.Tags),i=null!=r&&null!=r.tags&&r.tags.length>0?r.tags.map(function(e){try{var n=JSON.parse(e);return t.getValueOrDefault(n.tag)}catch(r){}return null}).filter(function(e){return!t.isNullOrWhitespace(e)}):null;t.organization&&null!=i&&i.length>0?i.forEach(function(e){for(var t=!0,r=n.collections.length,i=0;i0&&t.processFolder(n,i[0]);var o=t.initLoginCipher();o.notes=t.getValueOrDefault(e.Notes,""),o.notes+="\n\n"+t.getValueOrDefault(e["Shared Notes"],"")+"\n",o.name=t.getValueOrDefault(e["Entry Name"],"--"),o.login.username=t.getValueOrDefault(e["User ID"]),o.login.password=t.getValueOrDefault(e.Password),o.login.uris=t.makeUriArray(e.URL),null!=e.__parsed_extra&&e.__parsed_extra.length>0&&e.__parsed_extra.forEach(function(e){t.isNullOrWhitespace(e)||(o.notes+="\n"+e)});var a=t.isNullOrWhitespace(e["Extra Fields"])?null:JSON.parse(e["Extra Fields"]),l=null!=a&&null!=a.extraFields&&a.extraFields.length>0?a.extraFields.map(function(e){try{return JSON.parse(e)}catch(t){}return null}):null;null!=l&&l.forEach(function(e){null!=e&&t.processKvp(o,e.name,e.data)}),t.cleanupCipher(o),n.ciphers.push(o)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.PasspackCsvImporter=l},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);if(null==r)return n.success=!1,Promise.resolve(n);var i=!0;return r.forEach(function(e){if(!(5!==e.length&&e.length<9)){var r=10===e.length&&"0"===e[0],o=t.initLoginCipher();if(o.name=t.getValueOrDefault(e[r?1:0],"--"),o.login.username=t.getValueOrDefault(e[r?2:1]),o.login.password=t.getValueOrDefault(e[r?3:2]),5===e.length)i=!1,o.notes=t.getValueOrDefault(e[4]),o.login.uris=t.makeUriArray(e[3]);else{var a=t.getValueOrDefault(e[r?9:8],"(None)"),s="(None)"!==a?a.split("\\").join("/"):null;null!=s&&(s=a.split(" > ").join("/"),s=a.split(">").join("/")),t.processFolder(n,s),o.notes=t.getValueOrDefault(e[r?5:3]),o.login.uris=t.makeUriArray(e[4])}t.convertToNoteIfNeeded(o),t.cleanupCipher(o),n.ciphers.push(o)}}),i&&this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n)},t}(o.BaseImporter);t.PasswordAgentCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(89),l=n(129),c=n(40),p=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=JSON.parse(e);if(null==r||null==r.items)return n.success=!1,Promise.resolve(n);var i=new Map;r.folders.forEach(function(e){i.set(e.id,e.name)});var o=new Map;return i.forEach(function(e,t){o.set(t,n.folders.length);var r=new l.FolderView;r.name=e,n.folders.push(r)}),r.items.forEach(function(e){var r=t.initLoginCipher();if(r.name=t.getValueOrDefault(e.name,"--"),r.login.uris=t.makeUriArray(e.login_url),null!=e.folder&&o.has(e.folder)&&n.folderRelationships.push([n.ciphers.length,o.get(e.folder)]),null!=e.identifiers){for(var i in t.isNullOrWhitespace(e.identifiers.notes)||(r.notes=e.identifiers.notes.split("\\r\\n").join("\n").split("\\n").join("\n")),"CreditCard"===e.type&&(r.card=new s.CardView,r.type=c.CipherType.Card),e.identifiers)if(e.identifiers.hasOwnProperty(i)){var a=e.identifiers[i],l=null!=a?a.toString():null;if(!t.isNullOrWhitespace(l)&&"notes"!==i&&"ignoreItemInSecurityScore"!==i)if("custom_fields"!==i){if(r.type===c.CipherType.Card){if("cardNumber"===i){r.card.number=l,r.card.brand=t.getCardBrand(l);continue}if("nameOnCard"===i){r.card.cardholderName=l;continue}if("security_code"===i){r.card.code=l;continue}if("expires"===i){try{var p=new Date(l);r.card.expYear=p.getFullYear().toString(),r.card.expMonth=(p.getMonth()+1).toString()}catch(u){}continue}if("cardType"===i)continue}else{if(("username"===i||"email"===i)&&t.isNullOrWhitespace(r.login.username)){r.login.username=l;continue}if("password"===i){r.login.password=l;continue}if("totp"===i){r.login.totp=l;continue}if((null==r.login.uris||0===r.login.uris.length)&&t.uriFieldNames.indexOf(i)>-1){r.login.uris=t.makeUriArray(l);continue}}t.processKvp(r,i,l)}else a.forEach(function(e){t.processKvp(r,e.name,e.value)})}t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,Promise.resolve(n)},t}(o.BaseImporter);t.PasswordBossJsonImporter=p},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseXml(e);if(null==r)return n.success=!1,Promise.resolve(n);var i=r.querySelectorAll("PasswordManager > record");return Array.from(i).forEach(function(e){var r=t.querySelectorDirectChild(e,"Category"),i=null==r||t.isNullOrWhitespace(r.textContent)||"Unfiled"===r.textContent?null:r.textContent;t.processFolder(n,i);var o=t.querySelectorDirectChild(e,"Account-Name"),a=t.querySelectorDirectChild(e,"User-Id"),s=t.querySelectorDirectChild(e,"Password"),l=t.querySelectorDirectChild(e,"URL"),c=t.querySelectorDirectChild(e,"Notes"),p=t.initLoginCipher();p.name=null!=o?t.getValueOrDefault(o.textContent,"--"):"--",p.notes=null!=c?t.getValueOrDefault(c.textContent):"",p.login.username=null!=a?t.getValueOrDefault(a.textContent):null,p.login.password=null!=s?t.getValueOrDefault(s.textContent):null,p.login.uris=null!=l?t.makeUriArray(l.textContent):null;for(var u=[],d=1;d<=10;d++)u.push("Attribute-"+d);t.querySelectorAllDirectChild(e,u.join(",")).forEach(function(e){t.isNullOrWhitespace(e.textContent)||"null"===e.textContent||t.processKvp(p,e.tagName,e.textContent)}),t.cleanupCipher(p),n.ciphers.push(p)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n)},t}(o.BaseImporter);t.PasswordDragonXmlImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseXml(e);if(null==r)return n.success=!1,Promise.resolve(n);var i=r.querySelector("passwordsafe");if(null==i)return n.errorMessage="Missing `passwordsafe` node.",n.success=!1,Promise.resolve(n);var o=i.getAttribute("delimiter"),s=r.querySelectorAll("passwordsafe > entry");return Array.from(s).forEach(function(e){var r=t.querySelectorDirectChild(e,"group"),i=null==r||t.isNullOrWhitespace(r.textContent)?null:r.textContent.split(".").join("/");t.processFolder(n,i);var a=t.querySelectorDirectChild(e,"title"),s=t.querySelectorDirectChild(e,"username"),l=t.querySelectorDirectChild(e,"email"),c=t.querySelectorDirectChild(e,"password"),p=t.querySelectorDirectChild(e,"url"),u=t.querySelectorDirectChild(e,"notes"),d=t.initLoginCipher();d.name=null!=a?t.getValueOrDefault(a.textContent,"--"):"--",d.notes=null!=u?t.getValueOrDefault(u.textContent,"").split(o).join("\n"):null,d.login.username=null!=s?t.getValueOrDefault(s.textContent):null,d.login.password=null!=c?t.getValueOrDefault(c.textContent):null,d.login.uris=null!=p?t.makeUriArray(p.textContent):null,t.isNullOrWhitespace(d.login.username)&&null!=l?d.login.username=t.getValueOrDefault(l.textContent):null==l||t.isNullOrWhitespace(l.textContent)||(d.notes=t.isNullOrWhitespace(d.notes)?"Email: "+l.textContent:d.notes+"\nEmail: "+l.textContent),t.cleanupCipher(d),n.ciphers.push(d)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n)},t}(o.BaseImporter);t.PasswordSafeXmlImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!(e.length<1)){e.length>5&&t.processFolder(n,e[5]);var r=t.initLoginCipher();r.name=t.getValueOrDefault(e[0],"--"),e.length>4&&(r.notes=t.getValueOrDefault(e[4],"").split("¬").join("\n")),e.length>2&&(r.login.username=t.getValueOrDefault(e[2])),e.length>3&&(r.login.password=t.getValueOrDefault(e[3])),e.length>1&&(r.login.uris=t.makeUriArray(e[1])),t.cleanupCipher(r),n.ciphers.push(r)}}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.PasswordWalletTxtImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(40),s=n(27),l=n(89),c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new s.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if("true"!==e.trash){var r=t.initLoginCipher();if(r.name=t.getValueOrDefault(e.name),r.notes=t.getValueOrDefault(e.notes),"LoginItem"===e.type)r.login.uris=t.makeUriArray(e.website),r.login.password=t.getValueOrDefault(e.password),r.login.username=t.getValueOrDefault(e.username);else if("CreditCardItem"===e.type){r.type=a.CipherType.Card,r.card=new l.CardView,r.card.cardholderName=t.getValueOrDefault(e.cardholder),r.card.number=t.getValueOrDefault(e.number),r.card.brand=t.getCardBrand(r.card.number),r.card.code=t.getValueOrDefault(e.verification);try{var i=t.getValueOrDefault(e.expiryMonth);if(null!=i){var o=parseInt(i,null);null!=o&&o>=1&&o<=12&&(r.card.expMonth=o.toString())}}catch(d){}try{var s=t.getValueOrDefault(e.expiryYear);if(null!=s){var c=parseInt(s,null);null!=c&&(r.card.expYear=c.toString())}}catch(m){}var p=t.getValueOrDefault(e.pin);null!=p&&t.processKvp(r,"PIN",p);var u=t.getValueOrDefault(e.zipCode);null!=u&&t.processKvp(r,"Zip Code",u)}t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.RememBearCsvImporter=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);if(null==r)return n.success=!1,Promise.resolve(n);var i=1;return r.forEach(function(e){var o=!t.isNullOrWhitespace(e.Folder)&&e.Folder.startsWith("/")?e.Folder.replace("/",""):e.Folder,a=t.isNullOrWhitespace(o)?null:o;t.processFolder(n,a);var s=t.initLoginCipher();if(s.notes=t.getValueOrDefault(e.Note),s.name=t.getValueOrDefault(e.Name,"--"),s.login.username=t.getValueOrDefault(e.Login),s.login.password=t.getValueOrDefault(e.Pwd),s.login.uris=t.makeUriArray(e.Url),!t.isNullOrWhitespace(e.Rf_fields)){var l=[e.Rf_fields];null!=e.__parsed_extra&&e.__parsed_extra.length>0&&(l=l.concat(e.__parsed_extra)),l.forEach(function(e){var n=e.split(":");if(!(n.length<3)){var r="-no-name-"===n[0]?null:n[0],i=4===n.length&&"rck"===n[2]?n[1]:n[2];t.processKvp(s,r,i)}})}t.convertToNoteIfNeeded(s),t.cleanupCipher(s),i===r.length&&"--"===s.name&&t.isNullOrWhitespace(s.login.password)||(n.ciphers.push(s),i++)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n)},t}(o.BaseImporter);t.RoboFormCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(129),l=n(94),c=n(40),p=n(112),u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseXml(e);if(null==r)return n.success=!1,Promise.resolve(n);if(null==r.querySelector("database"))return n.errorMessage="Missing `database` node.",n.success=!1,Promise.resolve(n);var i=new Map;return Array.from(r.querySelectorAll("database > label")).forEach(function(e){var r=e.getAttribute("name"),o=e.getAttribute("id");if(!t.isNullOrWhitespace(r)&&!t.isNullOrWhitespace(o)){i.set(o,n.folders.length);var a=new s.FolderView;a.name=r,n.folders.push(a)}}),Array.from(r.querySelectorAll("database > card")).forEach(function(e){if("true"!==e.getAttribute("template")){var r=t.querySelectorDirectChild(e,"label_id");if(null!=r){var o=r.textContent;!t.isNullOrWhitespace(o)&&i.has(o)&&n.folderRelationships.push([n.ciphers.length,i.get(o)])}var a=t.initLoginCipher();a.name=t.getValueOrDefault(e.getAttribute("title"),"--"),"note"===e.getAttribute("type")?(a.type=c.CipherType.SecureNote,a.secureNote=new l.SecureNoteView,a.secureNote.type=p.SecureNoteType.Generic):Array.from(t.querySelectorAllDirectChild(e,"field")).forEach(function(e){var n=e.textContent;if(!t.isNullOrWhitespace(n)){var r=e.getAttribute("name"),i=t.getValueOrDefault(e.getAttribute("type"),"").toLowerCase();"login"===i?a.login.username=n:"password"===i?a.login.password=n:"one_time_password"===i?a.login.totp=n:"notes"===i?a.notes+=n+"\n":"weblogin"===i||"website"===i?a.login.uris=t.makeUriArray(n):t.processKvp(a,r,n)}}),Array.from(t.querySelectorAllDirectChild(e,"notes")).forEach(function(e){a.notes+=e.textContent+"\n"}),t.cleanupCipher(a),n.ciphers.push(a)}}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n)},t}(o.BaseImporter);t.SafeInCloudXmlImporter=u},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(t.nameFromUrl(e.url),"--"),r.notes=t.getValueOrDefault(e.notes),r.login.username=t.getValueOrDefault(e.username),r.login.password=t.getValueOrDefault(e.password),r.login.uris=t.makeUriArray(e.url),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.SaferPassCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.Title),r.notes=t.getValueOrDefault(e.Comment),r.login.uris=t.makeUriArray(e.Url),r.login.password=t.getValueOrDefault(e.Password),r.login.username=t.getValueOrDefault(e.Username),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.SecureSafeCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!(e.length<3)){t.processFolder(n,t.getValueOrDefault(e[e.length-1]));var r=t.initLoginCipher();r.notes=t.getValueOrDefault(e[e.length-2],""),r.name=t.getValueOrDefault(e[1],"--"),"Web Logins"===e[0]||"Servers"===e[0]||"Email Accounts"===e[0]?(r.login.username=t.getValueOrDefault(e[2]),r.login.password=t.getValueOrDefault(e[3]),r.login.uris=t.makeUriArray(e[4]),t.parseFieldsToNotes(r,5,e)):t.parseFieldsToNotes(r,2,e),t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t.prototype.parseFieldsToNotes=function(e,t,n){for(var r=t;r Database > Logins > Login");return Array.from(i).forEach(function(e){var i=e.getAttribute("ID");if(!t.isNullOrWhitespace(i)){var o=e.getAttribute("Name"),a=e.getAttribute("Password"),s=null,l=null,c=null,p=null,u=null,d=r.querySelector('root > Database > Accounts > Account > LoginLinks > Login[SourceLoginID="'+i+'"]');if(null!=d){var m=d.parentElement.parentElement;null!=m&&(s=m.getAttribute("Name"),l=m.getAttribute("Link"),p=m.getAttribute("ParentID"),c=m.getAttribute("Comments"),t.isNullOrWhitespace(c)||(c=c.split("/n").join("\n")))}t.isNullOrWhitespace(p)||(u=t.buildGroupText(r,p,""),t.processFolder(n,u));var h=t.initLoginCipher();h.name=t.getValueOrDefault(s,"--"),h.notes=t.getValueOrDefault(c),h.login.username=t.getValueOrDefault(o),h.login.password=t.getValueOrDefault(a),h.login.uris=t.makeUriArray(l),t.cleanupCipher(h),n.ciphers.push(h)}}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n)},t.prototype.buildGroupText=function(e,t,n){var r=e.querySelector('root > Database > Groups > Group[ID="'+t+'"]');return null==r?n:(this.isNullOrWhitespace(n)||(n="/"+n),n=r.getAttribute("Name")+n,this.buildGroupText(e,r.getAttribute("ParentID"),n))},t}(o.BaseImporter);t.StickyPasswordXmlImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(89),l=n(94),c=n(40),p=n(112),u=["kind","autologin","favorite","hexcolor","protectedwithpassword","subdomainonly","type","tk_export_version","note","title","document_content"],d=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();if(r.favorite="true"===t.getValueOrDefault(e.favorite,"").toLowerCase(),r.name=t.getValueOrDefault(e.name,"--"),r.notes=t.getValueOrDefault(e.memo,""),r.login.username=t.getValueOrDefault(e.login),r.login.password=t.getValueOrDefault(e.password),r.login.uris=t.makeUriArray(e.url),"login"!==e.kind&&(r.name=t.getValueOrDefault(e.title,"--"),r.notes=t.getValueOrDefault(e.note,"")),"cc"===e.kind){if(r.type=c.CipherType.Card,r.card=new s.CardView,r.card.cardholderName=t.getValueOrDefault(e.cardholder),r.card.number=t.getValueOrDefault(e.number),r.card.brand=t.getCardBrand(r.card.number),!t.isNullOrWhitespace(e.expiryDate))try{var i=new Date(e.expiryDate);r.card.expYear=i.getFullYear().toString(),r.card.expMonth=(i.getMonth()+1).toString()}catch(a){}}else if("login"!==e.kind)for(var o in r.type=c.CipherType.SecureNote,r.secureNote=new l.SecureNoteView,r.secureNote.type=p.SecureNoteType.Generic,t.isNullOrWhitespace(r.notes)||(r.notes=t.getValueOrDefault(e.document_content,"")),e)e.hasOwnProperty(o)&&u.indexOf(o.toLowerCase())<0&&!t.isNullOrWhitespace(e[o])&&t.processKvp(r,o,e[o]);t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.TrueKeyCsvImporter=d},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(5===e.length){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e[0],"--"),r.notes=t.getValueOrDefault(e[4]),r.login.username=t.getValueOrDefault(e[1]),r.login.password=t.getValueOrDefault(e[2]),r.login.uris=t.makeUriArray(e[3]),t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.UpmCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.Name,"--"),r.login.username=t.getValueOrDefault(e["User name"]),r.login.password=t.getValueOrDefault(e.Password),r.login.uris=t.makeUriArray(e.URL),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.YotiCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!t.isNullOrWhitespace(e["Password Name"])||!t.isNullOrWhitespace(e["Secret Name"])){t.processFolder(n,t.getValueOrDefault(e.ChamberName));var r=t.initLoginCipher();r.favorite="1"===t.getValueOrDefault(e.Favorite,"0"),r.notes=t.getValueOrDefault(e.Notes),r.name=t.getValueOrDefault(e["Password Name"],t.getValueOrDefault(e["Secret Name"],"--")),r.login.uris=t.makeUriArray(t.getValueOrDefault(e["Password URL"],t.getValueOrDefault(e["Secret URL"]))),t.parseData(r,e.SecretData),t.parseData(r,e.CustomData),t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t.prototype.parseData=function(e,t){var n=this;this.isNullOrWhitespace(t)||this.splitNewLine(t).forEach(function(t){var r=t.indexOf(":");if(!(r<0)){var i=t.substring(0,r),o=t.length>r?t.substring(r+1):null;if(!n.isNullOrWhitespace(i)&&!n.isNullOrWhitespace(o)&&"SecretType"!==i){var a=i.toLowerCase();null==e.login.username&&n.usernameFieldNames.indexOf(a)>-1?e.login.username=o:null==e.login.password&&n.passwordFieldNames.indexOf(a)>-1?e.login.password=o:n.processKvp(e,i,o)}}})},t}(o.BaseImporter);t.ZohoVaultCsvImporter=s},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]t.minComplexity&&(t.minComplexity=e.data.minComplexity),null!=e.data.minLength&&e.data.minLength>t.minLength&&(t.minLength=e.data.minLength),e.data.requireUpper&&(t.requireUpper=!0),e.data.requireLower&&(t.requireLower=!0),e.data.requireNumbers&&(t.requireNumbers=!0),e.data.requireSpecial&&(t.requireSpecial=!0))}),[2,t])}})})},e.prototype.evaluateMasterPassword=function(e,t,n){return null==n||!(n.minComplexity>0&&n.minComplexity>e)&&(!(n.minLength>0&&n.minLength>t.length)&&((!n.requireUpper||t.toLocaleLowerCase()!==t)&&((!n.requireLower||t.toLocaleUpperCase()!==t)&&(!(n.requireNumbers&&!/[0-9]/.test(t))&&!(n.requireSpecial&&!/[!@#$%\^&*]/g.test(t))))))},e}();t.PolicyService=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.minComplexity=0,t.minLength=0,t.requireUpper=!1,t.requireLower=!1,t.requireNumbers=!1,t.requireSpecial=!1,t}return i(t,e),t}(n(81).default);t.MasterPasswordPolicyOptions=o},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]"))},e.prototype.indexCiphers=function(){return r(this,void 0,void 0,function(){var e,t=this;return i(this,function(n){switch(n.label){case 0:return this.indexing?[2]:(this.logService.time("search indexing"),this.indexing=!0,this.index=null,(e=new o.Builder).ref("id"),e.field("shortid",{boost:100,extractor:function(e){return e.id.substr(0,8)}}),e.field("name",{boost:10}),e.field("subtitle",{boost:5,extractor:function(e){return null!=e.subTitle&&e.type===a.CipherType.Card?e.subTitle.replace(/\*/g,""):e.subTitle}}),e.field("notes"),e.field("login.username",{extractor:function(e){return e.type===a.CipherType.Login&&null!=e.login?e.login.username:null}}),e.field("login.uris",{boost:2,extractor:function(e){return t.uriExtractor(e)}}),e.field("fields",{extractor:function(e){return t.fieldExtractor(e,!1)}}),e.field("fields_joined",{extractor:function(e){return t.fieldExtractor(e,!0)}}),e.field("attachments",{extractor:function(e){return t.attachmentExtractor(e,!1)}}),e.field("attachments_joined",{extractor:function(e){return t.attachmentExtractor(e,!0)}}),e.field("organizationid",{extractor:function(e){return e.organizationId}}),[4,this.cipherService.getAllDecrypted()]);case 1:return n.sent().forEach(function(t){return e.add(t)}),this.index=e.build(),this.indexing=!1,this.logService.timeEnd("search indexing"),[2]}})})},e.prototype.searchCiphers=function(e,t,n){return void 0===t&&(t=null),void 0===n&&(n=null),r(this,void 0,void 0,function(){var r,a,s,l,c;return i(this,function(i){switch(i.label){case 0:return r=[],null!=e&&(e=e.trim().toLowerCase()),""===e&&(e=null),null!=n?[3,2]:[4,this.cipherService.getAllDecrypted()];case 1:n=i.sent(),i.label=2;case 2:return null!=t&&Array.isArray(t)&&t.length>0?n=n.filter(function(e){return t.every(function(t){return null==t||t(e)})}):null!=t&&(n=n.filter(t)),this.isSearchable(e)?this.indexing?[4,new Promise(function(e){return setTimeout(e,250)})]:[3,5]:[2,n];case 3:return i.sent(),this.indexing?[4,new Promise(function(e){return setTimeout(e,500)})]:[3,5];case 4:i.sent(),i.label=5;case 5:if(null==(a=this.getIndexForSearch()))return[2,this.searchCiphersBasic(n,e)];if(s=new Map,n.forEach(function(e){return s.set(e.id,e)}),l=null,null!=e&&e.length>1&&0===e.indexOf(">"))try{l=a.search(e.substr(1).trim())}catch(p){}else c=o.Query.wildcard.LEADING|o.Query.wildcard.TRAILING,l=a.query(function(t){o.tokenizer(e).forEach(function(e){var n=e.toString();t.term(n,{fields:["name"],wildcard:c}),t.term(n,{fields:["subtitle"],wildcard:c}),t.term(n,{fields:["login.uris"],wildcard:c}),t.term(n,{})})});return null!=l&&l.forEach(function(e){s.has(e.ref)&&r.push(s.get(e.ref))}),[2,r]}})})},e.prototype.searchCiphersBasic=function(e,t,n){return void 0===n&&(n=!1),t=t.trim().toLowerCase(),e.filter(function(e){return n===e.isDeleted&&(null!=e.name&&e.name.toLowerCase().indexOf(t)>-1||(!!(t.length>=8&&e.id.startsWith(t))||(null!=e.subTitle&&e.subTitle.toLowerCase().indexOf(t)>-1||!!(e.login&&null!=e.login.uri&&e.login.uri.toLowerCase().indexOf(t)>-1))))})},e.prototype.searchSends=function(e,t){return t=t.trim().toLocaleLowerCase(),e.filter(function(e){var n,r,i;return null!=e.name&&e.name.toLowerCase().indexOf(t)>-1||(!!(t.length>=8&&(e.id.startsWith(t)||null!=(null===(n=e.file)||void 0===n?void 0:n.id)&&e.file.id.startsWith(t)))||(null!=e.notes&&e.notes.toLowerCase().indexOf(t)>-1||(null!=(null===(r=e.text)||void 0===r?void 0:r.text)&&e.text.text.toLowerCase().indexOf(t)>-1||(null!=(null===(i=e.file)||void 0===i?void 0:i.fileName)&&e.file.fileName.toLowerCase().indexOf(t)>-1||void 0))))})},e.prototype.getIndexForSearch=function(){return this.index},e.prototype.fieldExtractor=function(e,t){if(!e.hasFields)return null;var n=[];return e.fields.forEach(function(e){null!=e.name&&n.push(e.name),e.type===s.FieldType.Text&&null!=e.value&&n.push(e.value)}),0===(n=n.filter(function(e){return""!==e.trim()})).length?null:t?n.join(" "):n},e.prototype.attachmentExtractor=function(e,t){if(!e.hasAttachments)return null;var n=[];return e.attachments.forEach(function(e){null!=e&&null!=e.fileName&&(t&&e.fileName.indexOf(".")>-1?n.push(e.fileName.substr(0,e.fileName.lastIndexOf("."))):n.push(e.fileName))}),0===(n=n.filter(function(e){return""!==e.trim()})).length?null:t?n.join(" "):n},e.prototype.uriExtractor=function(e){if(e.type!==a.CipherType.Login||null==e.login||!e.login.hasUris)return null;var t=[];return e.login.uris.forEach(function(e){if(null!=e.uri&&""!==e.uri)if(null==e.hostname){var n=e.uri;if(e.match!==l.UriMatchType.RegularExpression){var r=n.indexOf("://");r>-1&&(n=n.substr(r+3));var i=n.search(/\?|&|#/);i>-1&&(n=n.substring(0,i))}t.push(n)}else t.push(e.hostname)}),t.length>0?t:null},e}();t.SearchService=c},,function(e,t,n){"use strict";(function(e){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1||n.indexOf(" Version/9.")>-1)}return e.prototype.pbkdf2=function(e,t,n,s){return r(this,void 0,void 0,function(){var r,l,c,p,u,d,m,h,f;return i(this,function(i){switch(i.label){case 0:return this.isIE||this.isOldSafari?(r="sha256"===n?32:64,l=this.toByteString(e),c=this.toByteString(t),p=o.pbkdf2(l,c,s,r,n),[2,a.Utils.fromByteStringToArray(p).buffer]):(u="sha256"===n?256:512,d=this.toBuf(e),m=this.toBuf(t),h={name:"PBKDF2",salt:m,iterations:s,hash:{name:this.toWebCryptoAlgorithm(n)}},[4,this.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveBits"])]);case 1:return f=i.sent(),[4,this.subtle.deriveBits(h,f,u)];case 2:return[2,i.sent()]}})})},e.prototype.hkdf=function(e,t,n,o,a){return r(this,void 0,void 0,function(){var r,s,l,c;return i(this,function(i){switch(i.label){case 0:return r=this.toBuf(t),s=this.toBuf(n),l={name:"HKDF",salt:r,info:s,hash:{name:this.toWebCryptoAlgorithm(a)}},[4,this.subtle.importKey("raw",e,{name:"HKDF"},!1,["deriveBits"])];case 1:return c=i.sent(),[4,this.subtle.deriveBits(l,c,8*o)];case 2:return[2,i.sent()]}})})},e.prototype.hkdfExpand=function(e,t,n,o){return r(this,void 0,void 0,function(){var r,a,s,l,c,p,u,d,m,h;return i(this,function(i){switch(i.label){case 0:if(n>255*(r="sha256"===o?32:64))throw new Error("outputByteSize is too large.");if(new Uint8Array(e).length=n)return[3,4];i.label=3;case 3:return d++,[3,1];case 4:return[2,u.slice(0,n).buffer]}})})},e.prototype.hash=function(e,t){return r(this,void 0,void 0,function(){var n,r,s;return i(this,function(i){switch(i.label){case 0:return this.isIE&&"sha1"===t||"md5"===t?(n="md5"===t?o.md.md5.create():o.md.sha1.create(),r=this.toByteString(e),n.update(r,"raw"),[2,a.Utils.fromByteStringToArray(n.digest().data).buffer]):(s=this.toBuf(e),[4,this.subtle.digest({name:this.toWebCryptoAlgorithm(t)},s)]);case 1:return[2,i.sent()]}})})},e.prototype.hmac=function(e,t,n){return r(this,void 0,void 0,function(){var r,s,l,c,p;return i(this,function(i){switch(i.label){case 0:return this.isIE&&"sha512"===n?(r=o.hmac.create(),s=this.toByteString(t),l=this.toByteString(e),r.start(n,s),r.update(l,"raw"),[2,a.Utils.fromByteStringToArray(r.digest().data).buffer]):(c={name:"HMAC",hash:{name:this.toWebCryptoAlgorithm(n)}},[4,this.subtle.importKey("raw",t,c,!1,["sign"])]);case 1:return p=i.sent(),[4,this.subtle.sign(c,p,e)];case 2:return[2,i.sent()]}})})},e.prototype.compare=function(e,t){return r(this,void 0,void 0,function(){var n,r,o,a,s,l,c,p;return i(this,function(i){switch(i.label){case 0:return[4,this.randomBytes(32)];case 1:return n=i.sent(),r={name:"HMAC",hash:{name:"SHA-256"}},[4,this.subtle.importKey("raw",n,r,!1,["sign"])];case 2:return o=i.sent(),[4,this.subtle.sign(r,o,e)];case 3:return a=i.sent(),[4,this.subtle.sign(r,o,t)];case 4:if(s=i.sent(),a.byteLength!==s.byteLength)return[2,!1];for(l=new Uint8Array(a),c=new Uint8Array(s),p=0;p0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]"}),n.body=r,n.bodyOutputType=s.BodyOutputType.TrustedHtml}null!=e.options&&(!0===e.options.trustedHtml&&(n.bodyOutputType=s.BodyOutputType.TrustedHtml),null!=e.options.timeout&&e.options.timeout>0&&(n.timeout=e.options.timeout)),this.toasterService.popAsync(n)},e.prototype.idleStateChanged=function(){this.isIdle?this.notificationsService.disconnectFromInactivity():this.notificationsService.reconnectFromActivity()},e.prototype.setFullWidth=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.storageService.get("enableFullWidth")];case 1:return e.sent()?document.body.classList.add("full-width"):document.body.classList.remove("full-width"),[2]}})})},e.ɵfac=function(t){return new(t||e)(u.ɵɵdirectiveInject(d.Angulartics2GoogleAnalytics),u.ɵɵdirectiveInject(m.BroadcasterService),u.ɵɵdirectiveInject(h.UserService),u.ɵɵdirectiveInject(f.TokenService),u.ɵɵdirectiveInject(v.FolderService),u.ɵɵdirectiveInject(y.SettingsService),u.ɵɵdirectiveInject(g.SyncService),u.ɵɵdirectiveInject(x.PasswordGenerationService),u.ɵɵdirectiveInject(b.CipherService),u.ɵɵdirectiveInject(S.AuthService),u.ɵɵdirectiveInject(w.Router),u.ɵɵdirectiveInject(C.Angulartics2),u.ɵɵdirectiveInject(I.ToasterService),u.ɵɵdirectiveInject(E.I18nService),u.ɵɵdirectiveInject(P.PlatformUtilsService),u.ɵɵdirectiveInject(u.NgZone),u.ɵɵdirectiveInject(k.VaultTimeoutService),u.ɵɵdirectiveInject(_.StorageService),u.ɵɵdirectiveInject(A.CryptoService),u.ɵɵdirectiveInject(O.CollectionService),u.ɵɵdirectiveInject(T.DomSanitizer),u.ɵɵdirectiveInject(M.SearchService),u.ɵɵdirectiveInject(B.NotificationsService),u.ɵɵdirectiveInject(D.RouterService),u.ɵɵdirectiveInject(V.StateService),u.ɵɵdirectiveInject(j.EventService),u.ɵɵdirectiveInject(R.PolicyService))},e.ɵcmp=u.ɵɵdefineComponent({type:e,selectors:[["app-root"]],decls:4,vars:1,consts:[["aria-live","polite",3,"toasterconfig"]],template:function(e,t){1&e&&(u.ɵɵelement(0,"toaster-container",0),u.ɵɵtext(1,"\n"),u.ɵɵelement(2,"router-outlet"),u.ɵɵtext(3,"\n")),2&e&&u.ɵɵproperty("toasterconfig",t.toasterConfig)},directives:[I.ToasterContainerComponent,w.RouterOutlet],encapsulation:2}),e}();t.AppComponent=U},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0){var n=this.formEls[0];if("input"===n.tagName.toLowerCase()){var r=n;if(null!=r.type&&"checkbox"===r.type.toLowerCase())return void r.click()}n.focus()}},e.ɵfac=function(t){return new(t||e)(r.ɵɵdirectiveInject(r.ElementRef))},e.ɵdir=r.ɵɵdefineDirective({type:e,selectors:[["","appBoxRow",""]],hostBindings:function(e,t){1&e&&r.ɵɵlistener("click",function(e){return t.onClick(e)})}}),e}();t.BoxRowDirective=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(){}return e.prototype.transform=function(e,t,n){return void 0===n&&(n=!1),null==e||0===e.length?[]:null==t||t.length<2?e.filter(function(e){return n!==e.isDeleted}):(t=t.trim().toLowerCase(),e.filter(function(e){return n===e.isDeleted&&(null!=e.name&&e.name.toLowerCase().indexOf(t)>-1||(!!(t.length>=8&&e.id.startsWith(t))||(null!=e.subTitle&&e.subTitle.toLowerCase().indexOf(t)>-1||!!(e.login&&null!=e.login.uri&&e.login.uri.toLowerCase().indexOf(t)>-1))))}))},e.ɵfac=function(t){return new(t||e)},e.ɵpipe=r.ɵɵdefinePipe({name:"searchCiphers",type:e,pure:!0}),e}();t.SearchCiphersPipe=i}]); -//# sourceMappingURL=main.5767a6ed9bc20ebddf79.js.map \ No newline at end of file diff --git a/app/main.5767a6ed9bc20ebddf79.js.map b/app/main.5767a6ed9bc20ebddf79.js.map deleted file mode 100644 index d93e52c6..00000000 --- a/app/main.5767a6ed9bc20ebddf79.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/abstractions/platformUtils.service.ts","webpack:///./jslib/src/abstractions/user.service.ts","webpack:///./jslib/src/angular/pipes/i18n.pipe.ts","webpack:///./jslib/src/abstractions/messaging.service.ts","webpack:///./jslib/src/angular/directives/api-action.directive.ts","webpack:///./jslib/src/angular/directives/a11y-title.directive.ts","webpack:///./jslib/src/abstractions/crypto.service.ts","webpack:///./jslib/src/abstractions/cipher.service.ts","webpack:///./jslib/src/models/response/baseResponse.ts","webpack:///./jslib/src/importers/baseImporter.ts","webpack:///./jslib/src/models/domain/importResult.ts","webpack:///./jslib/src/angular/components/callout.component.ts","webpack:///./jslib/src/angular/components/callout.component.html","webpack:///./jslib/src/misc/utils.ts","webpack:///./jslib/src/abstractions/passwordGeneration.service.ts","webpack:///./jslib/src/abstractions/state.service.ts","webpack:///./jslib/src/angular/directives/stop-click.directive.ts","webpack:///./jslib/src/enums/cipherType.ts","webpack:///./jslib/src/abstractions/collection.service.ts","webpack:///./jslib/src/abstractions/storage.service.ts","webpack:///./jslib/src/angular/directives/input-verbatim.directive.ts","webpack:///./jslib/src/abstractions/folder.service.ts","webpack:///./jslib/src/abstractions/policy.service.ts","webpack:///./jslib/src/angular/directives/stop-prop.directive.ts","webpack:///./jslib/src/abstractions/auth.service.ts","webpack:///./jslib/src/angular/directives/autofocus.directive.ts","webpack:///./jslib/src/abstractions/sync.service.ts","webpack:///./jslib/src/services/constants.service.ts","webpack:///./jslib/src/abstractions/event.service.ts","webpack:///./jslib/src/abstractions/environment.service.ts","webpack:///./jslib/src/models/request/passwordVerificationRequest.ts","webpack:///./jslib/src/models/domain/domainBase.ts","webpack:///./src/app/modal.component.ts","webpack:///./jslib/src/abstractions/search.service.ts","webpack:///./jslib/src/abstractions/audit.service.ts","webpack:///./jslib/src/models/view/cardView.ts","webpack:///./jslib/src/models/view/secureNoteView.ts","webpack:///./jslib/src/abstractions/token.service.ts","webpack:///./jslib/src/abstractions/cryptoFunction.service.ts","webpack:///./jslib/src/models/domain/cipherString.ts","webpack:///./jslib/src/angular/components/icon.component.ts","webpack:///./jslib/src/angular/components/icon.component.html","webpack:///./jslib/src/abstractions/vaultTimeout.service.ts","webpack:///./jslib/src/enums/secureNoteType.ts","webpack:///./jslib/src/enums/twoFactorProviderType.ts","webpack:///./jslib/src/abstractions/totp.service.ts","webpack:///./jslib/src/angular/services/broadcaster.service.ts","webpack:///./src/app/settings/payment.component.ts","webpack:///./src/app/settings/payment.component.html","webpack:///./jslib/src/enums/fieldType.ts","webpack:///./jslib/src/models/view/folderView.ts","webpack:///./src/app/components/avatar.component.ts","webpack:///./jslib/src/models/domain/collection.ts","webpack:///./src/app/settings/tax-info.component.ts","webpack:///./src/app/settings/tax-info.component.html","webpack:///./jslib/src/models/view/cipherView.ts","webpack:///./jslib/src/models/view/identityView.ts","webpack:///./jslib/src/models/data/collectionData.ts","webpack:///./jslib/src/models/view/collectionView.ts","webpack:///./jslib/src/models/data/cipherData.ts","webpack:///./jslib/src/models/view/loginView.ts","webpack:///./jslib/src/enums/sendType.ts","webpack:///./jslib/src/enums/policyType.ts","webpack:///./src/app/settings/two-factor-verify.component.ts","webpack:///./src/app/settings/two-factor-verify.component.html","webpack:///./jslib/src/abstractions/export.service.ts","webpack:///./jslib/src/models/domain/cipher.ts","webpack:///./jslib/src/models/view/fieldView.ts","webpack:///./jslib/src/models/request/cipherRequest.ts","webpack:///./src/app/services/router.service.ts","webpack:///./jslib/src/enums/kdfType.ts","webpack:///./src/app/components/password-strength.component.ts","webpack:///./src/app/components/password-strength.component.html","webpack:///./jslib/src/enums/organizationUserStatusType.ts","webpack:///./jslib/src/angular/pipes/search.pipe.ts","webpack:///./src/app/services/event.service.ts","webpack:///./jslib/src/enums/eventType.ts","webpack:///./jslib/src/enums/paymentMethodType.ts","webpack:///./src/app/settings/two-factor-base.component.ts","webpack:///./src/app/tools/cipher-report.component.ts","webpack:///./jslib/src/models/view/loginUriView.ts","webpack:///./src/app/vault/add-edit.component.ts","webpack:///./src/app/vault/add-edit.component.html","webpack:///./jslib/src/abstractions/import.service.ts","webpack:///./src/app/vault/ciphers.component.ts","webpack:///./src/app/vault/ciphers.component.html","webpack:///./jslib/src/abstractions/send.service.ts","webpack:///./jslib/src/services/auth.service.ts","webpack:///./jslib/src/models/request/selectionReadOnlyRequest.ts","webpack:///./jslib/src/enums/organizationUserType.ts","webpack:///./jslib/src/enums/deviceType.ts","webpack:///./jslib/src/abstractions/settings.service.ts","webpack:///./jslib/src/enums/planType.ts","webpack:///./src/app/settings/organization-plans.component.ts","webpack:///./src/app/settings/organization-plans.component.html","webpack:///./jslib/src/models/domain/symmetricCryptoKey.ts","webpack:///./jslib/src/models/domain/card.ts","webpack:///./jslib/src/models/domain/field.ts","webpack:///./jslib/src/models/domain/identity.ts","webpack:///./jslib/src/models/domain/login.ts","webpack:///./jslib/src/models/domain/loginUri.ts","webpack:///./jslib/src/enums/uriMatchType.ts","webpack:///./jslib/src/models/domain/secureNote.ts","webpack:///./jslib/src/angular/directives/true-false-value.directive.ts","webpack:///./src/app/vault/groupings.component.ts","webpack:///./src/app/vault/groupings.component.html","webpack:///./jslib/src/models/domain/organization.ts","webpack:///./jslib/src/models/view/sendFileView.ts","webpack:///./jslib/src/models/view/sendTextView.ts","webpack:///./src/app/settings/organizations.component.ts","webpack:///./src/app/settings/organizations.component.html","webpack:///./jslib/src/models/response/selectionReadOnlyResponse.ts","webpack:///./src/app/layouts/navbar.component.ts","webpack:///./src/app/layouts/navbar.component.html","webpack:///./src/app/layouts/footer.component.ts","webpack:///./src/app/layouts/footer.component.html","webpack:///./jslib/src/angular/services/validation.service.ts","webpack:///./jslib/src/enums/encryptionType.ts","webpack:///./jslib/src/models/request/keysRequest.ts","webpack:///./jslib/src/angular/components/change-password.component.ts","webpack:///./src/app/organizations/manage/entity-users.component.ts","webpack:///./src/app/organizations/manage/entity-users.component.html","webpack:///./src/app/organizations/manage/entity-events.component.ts","webpack:///./src/app/organizations/manage/entity-events.component.html","webpack:///./jslib/src/models/api/permissionsApi.ts","webpack:///./src/app/settings/api-key.component.ts","webpack:///./src/app/settings/api-key.component.html","webpack:///./src/app/settings/purge-vault.component.ts","webpack:///./src/app/settings/purge-vault.component.html","webpack:///./src/app/settings/user-billing.component.ts","webpack:///./src/app/settings/user-billing.component.html","webpack:///./src/app/settings/add-credit.component.ts","webpack:///./src/app/settings/add-credit.component.html","webpack:///./src/app/settings/adjust-payment.component.ts","webpack:///./src/app/settings/adjust-payment.component.html","webpack:///./src/app/settings/update-license.component.ts","webpack:///./src/app/settings/update-license.component.html","webpack:///./jslib/src/enums/productType.ts","webpack:///./src/app/settings/adjust-storage.component.ts","webpack:///./src/app/settings/adjust-storage.component.html","webpack:///./src/app/settings/two-factor-duo.component.ts","webpack:///./src/app/settings/two-factor-duo.component.html","webpack:///./src/app/settings/two-factor-setup.component.ts","webpack:///./src/app/settings/two-factor-setup.component.html","webpack:///./src/app/tools/export.component.ts","webpack:///./src/app/tools/export.component.html","webpack:///./src/app/tools/exposed-passwords-report.component.ts","webpack:///./src/app/tools/exposed-passwords-report.component.html","webpack:///./src/app/organizations/vault/add-edit.component.ts","webpack:///./jslib/src/models/data/attachmentData.ts","webpack:///./jslib/src/models/data/cardData.ts","webpack:///./jslib/src/models/data/fieldData.ts","webpack:///./jslib/src/models/data/identityData.ts","webpack:///./jslib/src/models/data/loginData.ts","webpack:///./jslib/src/models/data/loginUriData.ts","webpack:///./jslib/src/models/data/secureNoteData.ts","webpack:///./jslib/src/models/domain/attachment.ts","webpack:///./jslib/src/models/view/passwordHistoryView.ts","webpack:///./src/app/tools/import.component.ts","webpack:///./src/app/tools/import.component.html","webpack:///./src/app/tools/inactive-two-factor-report.component.ts","webpack:///./src/app/tools/inactive-two-factor-report.component.html","webpack:///./src/app/tools/reused-passwords-report.component.ts","webpack:///./src/app/tools/reused-passwords-report.component.html","webpack:///./src/app/tools/unsecured-websites-report.component.ts","webpack:///./src/app/tools/unsecured-websites-report.component.html","webpack:///./src/app/tools/weak-passwords-report.component.ts","webpack:///./src/app/tools/weak-passwords-report.component.html","webpack:///./src/app/vault/attachments.component.ts","webpack:///./src/app/vault/attachments.component.html","webpack:///./src/app/organizations/vault/ciphers.component.ts","webpack:///./src/app/vault/collections.component.ts","webpack:///./src/app/vault/collections.component.html","webpack:///./src/app/organizations/vault/groupings.component.ts","webpack:///./src/app/vault/bulk-actions.component.ts","webpack:///./src/app/vault/bulk-actions.component.html","webpack:///./jslib/src/models/request/cipherWithIdRequest.ts","webpack:///./jslib/src/models/request/folderRequest.ts","webpack:///./jslib/src/angular/directives/select-copy.directive.ts","webpack:///./jslib/src/angular/pipes/color-password.pipe.ts","webpack:///./jslib/src/models/data/folderData.ts","webpack:///./jslib/src/models/domain/folder.ts","webpack:///./jslib/src/models/response/cipherResponse.ts","webpack:///./jslib/src/models/response/profileResponse.ts","webpack:///./jslib/src/models/api/sendFileApi.ts","webpack:///./jslib/src/models/api/sendTextApi.ts","webpack:///./jslib/src/models/domain/sendFile.ts","webpack:///./jslib/src/models/domain/sendText.ts","webpack:///./jslib/src/abstractions/notifications.service.ts","webpack:///./$_lazy_route_resource lazy namespace object","webpack:///./src/app/layouts/frontend-layout.component.ts","webpack:///./src/app/layouts/frontend-layout.component.html","webpack:///./src/app/layouts/organization-layout.component.ts","webpack:///./src/app/layouts/organization-layout.component.html","webpack:///./src/app/layouts/user-layout.component.ts","webpack:///./src/app/layouts/user-layout.component.html","webpack:///./src/app/accounts/accept-emergency.component.ts","webpack:///./src/app/accounts/accept-emergency.component.html","webpack:///./src/app/accounts/accept-organization.component.ts","webpack:///./src/app/accounts/accept-organization.component.html","webpack:///./src/app/accounts/hint.component.ts","webpack:///./src/app/accounts/hint.component.html","webpack:///./src/app/accounts/lock.component.ts","webpack:///./src/app/accounts/lock.component.html","webpack:///./src/app/accounts/login.component.ts","webpack:///./src/app/accounts/login.component.html","webpack:///./src/app/accounts/recover-delete.component.ts","webpack:///./src/app/accounts/recover-delete.component.html","webpack:///./src/app/accounts/recover-two-factor.component.ts","webpack:///./src/app/accounts/recover-two-factor.component.html","webpack:///./src/app/accounts/register.component.ts","webpack:///./src/app/accounts/register.component.html","webpack:///./jslib/src/models/domain/policy.ts","webpack:///./jslib/src/models/data/policyData.ts","webpack:///./src/app/accounts/set-password.component.ts","webpack:///./src/app/accounts/set-password.component.html","webpack:///./src/app/accounts/sso.component.ts","webpack:///./src/app/accounts/sso.component.html","webpack:///./jslib/src/angular/components/sso.component.ts","webpack:///./src/app/accounts/two-factor.component.ts","webpack:///./src/app/accounts/two-factor.component.html","webpack:///./src/app/accounts/two-factor-options.component.ts","webpack:///./src/app/accounts/two-factor-options.component.html","webpack:///./jslib/src/models/request/twoFactorEmailRequest.ts","webpack:///./jslib/src/models/domain/authResult.ts","webpack:///./src/app/accounts/verify-email-token.component.ts","webpack:///./src/app/accounts/verify-email-token.component.html","webpack:///./src/app/accounts/verify-recover-delete.component.ts","webpack:///./src/app/accounts/verify-recover-delete.component.html","webpack:///./src/app/organizations/manage/collections.component.ts","webpack:///./src/app/organizations/manage/collections.component.html","webpack:///./src/app/organizations/manage/collection-add-edit.component.ts","webpack:///./src/app/organizations/manage/collection-add-edit.component.html","webpack:///./jslib/src/models/request/collectionRequest.ts","webpack:///./src/app/organizations/manage/events.component.ts","webpack:///./src/app/organizations/manage/events.component.html","webpack:///./src/app/organizations/manage/groups.component.ts","webpack:///./src/app/organizations/manage/groups.component.html","webpack:///./src/app/organizations/manage/group-add-edit.component.ts","webpack:///./src/app/organizations/manage/group-add-edit.component.html","webpack:///./src/app/organizations/manage/manage.component.ts","webpack:///./src/app/organizations/manage/manage.component.html","webpack:///./src/app/organizations/manage/people.component.ts","webpack:///./src/app/organizations/manage/people.component.html","webpack:///./jslib/src/models/request/organizationUserConfirmRequest.ts","webpack:///./src/app/organizations/manage/user-add-edit.component.ts","webpack:///./src/app/organizations/manage/user-add-edit.component.html","webpack:///./src/app/organizations/manage/user-confirm.component.ts","webpack:///./src/app/organizations/manage/user-confirm.component.html","webpack:///./src/app/organizations/manage/user-groups.component.ts","webpack:///./src/app/organizations/manage/user-groups.component.html","webpack:///./src/app/organizations/manage/policies.component.ts","webpack:///./src/app/organizations/manage/policies.component.html","webpack:///./jslib/src/abstractions/index.ts","webpack:///./src/app/organizations/manage/policy-edit.component.ts","webpack:///./src/app/organizations/manage/policy-edit.component.html","webpack:///./src/app/organizations/settings/account.component.ts","webpack:///./src/app/organizations/settings/account.component.html","webpack:///./jslib/src/models/request/organizationTaxInfoUpdateRequest.ts","webpack:///./jslib/src/models/request/taxInfoUpdateRequest.ts","webpack:///./src/app/organizations/settings/delete-organization.component.ts","webpack:///./src/app/organizations/settings/delete-organization.component.html","webpack:///./src/app/organizations/settings/organization-billing.component.ts","webpack:///./src/services/webConstants.ts","webpack:///./src/app/organizations/settings/organization-subscription.component.ts","webpack:///./src/app/organizations/settings/organization-subscription.component.html","webpack:///./src/app/organizations/settings/change-plan.component.ts","webpack:///./src/app/organizations/settings/change-plan.component.html","webpack:///./src/app/organizations/settings/download-license.component.ts","webpack:///./src/app/organizations/settings/download-license.component.html","webpack:///./src/app/organizations/settings/adjust-seats.component.ts","webpack:///./src/app/organizations/settings/adjust-seats.component.html","webpack:///./src/app/organizations/settings/settings.component.ts","webpack:///./src/app/organizations/settings/settings.component.html","webpack:///./src/app/organizations/settings/two-factor-setup.component.ts","webpack:///./src/app/settings/two-factor-authenticator.component.ts","webpack:///./src/app/settings/two-factor-authenticator.component.html","webpack:///./src/app/settings/two-factor-email.component.ts","webpack:///./src/app/settings/two-factor-email.component.html","webpack:///./src/app/settings/two-factor-recovery.component.ts","webpack:///./src/app/settings/two-factor-recovery.component.html","webpack:///./src/app/settings/two-factor-u2f.component.ts","webpack:///./src/app/settings/two-factor-u2f.component.html","webpack:///./src/app/settings/two-factor-yubikey.component.ts","webpack:///./src/app/settings/two-factor-yubikey.component.html","webpack:///./src/app/organizations/tools/export.component.ts","webpack:///./src/app/organizations/tools/exposed-passwords-report.component.ts","webpack:///./jslib/src/models/data/passwordHistoryData.ts","webpack:///./jslib/src/models/view/attachmentView.ts","webpack:///./jslib/src/models/domain/password.ts","webpack:///./jslib/src/models/request/cipherCreateRequest.ts","webpack:///./jslib/src/models/api/cardApi.ts","webpack:///./jslib/src/models/api/fieldApi.ts","webpack:///./jslib/src/models/api/identityApi.ts","webpack:///./jslib/src/models/api/loginApi.ts","webpack:///./jslib/src/models/api/loginUriApi.ts","webpack:///./jslib/src/models/api/secureNoteApi.ts","webpack:///./jslib/src/angular/directives/fallback-src.directive.ts","webpack:///./src/app/organizations/tools/import.component.ts","webpack:///./src/app/organizations/tools/inactive-two-factor-report.component.ts","webpack:///./src/app/organizations/tools/reused-passwords-report.component.ts","webpack:///./src/app/organizations/tools/tools.component.ts","webpack:///./src/app/organizations/tools/tools.component.html","webpack:///./src/app/organizations/tools/unsecured-websites-report.component.ts","webpack:///./src/app/organizations/tools/weak-passwords-report.component.ts","webpack:///./src/app/organizations/vault/vault.component.ts","webpack:///./src/app/organizations/vault/vault.component.html","webpack:///./src/app/organizations/vault/attachments.component.ts","webpack:///./src/app/organizations/vault/collections.component.ts","webpack:///./jslib/src/models/request/cipherCollectionsRequest.ts","webpack:///./src/app/vault/bulk-delete.component.ts","webpack:///./src/app/vault/bulk-delete.component.html","webpack:///./jslib/src/models/request/cipherBulkDeleteRequest.ts","webpack:///./src/app/vault/bulk-move.component.ts","webpack:///./src/app/vault/bulk-move.component.html","webpack:///./src/app/vault/bulk-restore.component.ts","webpack:///./src/app/vault/bulk-restore.component.html","webpack:///./src/app/vault/bulk-share.component.ts","webpack:///./src/app/vault/bulk-share.component.html","webpack:///./src/app/send/send.component.ts","webpack:///./src/app/send/send.component.html","webpack:///./src/app/send/add-edit.component.ts","webpack:///./src/app/send/add-edit.component.html","webpack:///./jslib/src/models/view/sendView.ts","webpack:///./src/app/settings/account.component.ts","webpack:///./src/app/settings/account.component.html","webpack:///./src/app/settings/deauthorize-sessions.component.ts","webpack:///./src/app/settings/deauthorize-sessions.component.html","webpack:///./src/app/settings/delete-account.component.ts","webpack:///./src/app/settings/delete-account.component.html","webpack:///./src/app/settings/profile.component.ts","webpack:///./src/app/settings/profile.component.html","webpack:///./src/app/settings/change-email.component.ts","webpack:///./src/app/settings/change-email.component.html","webpack:///./jslib/src/models/request/emailTokenRequest.ts","webpack:///./src/app/settings/change-password.component.ts","webpack:///./src/app/settings/change-password.component.html","webpack:///./jslib/src/enums/emergencyAccessStatusType.ts","webpack:///./jslib/src/models/request/emergencyAccessUpdateRequest.ts","webpack:///./jslib/src/models/request/folderWithIdRequest.ts","webpack:///./jslib/src/models/request/passwordRequest.ts","webpack:///./jslib/src/models/request/updateKeyRequest.ts","webpack:///./src/app/settings/change-kdf.component.ts","webpack:///./src/app/settings/change-kdf.component.html","webpack:///./src/app/settings/create-organization.component.ts","webpack:///./src/app/settings/create-organization.component.html","webpack:///./src/app/settings/domain-rules.component.ts","webpack:///./src/app/settings/domain-rules.component.html","webpack:///./src/app/settings/options.component.ts","webpack:///./src/app/settings/options.component.html","webpack:///./src/app/settings/link-sso.component.ts","webpack:///./src/app/settings/link-sso.component.html","webpack:///./src/app/settings/premium.component.ts","webpack:///./src/app/settings/premium.component.html","webpack:///./src/app/settings/settings.component.ts","webpack:///./src/app/settings/settings.component.html","webpack:///./src/app/settings/user-subscription.component.ts","webpack:///./src/app/settings/user-subscription.component.html","webpack:///./src/app/tools/breach-report.component.ts","webpack:///./src/app/tools/breach-report.component.html","webpack:///./src/app/tools/password-generator.component.ts","webpack:///./src/app/tools/password-generator.component.html","webpack:///./src/app/tools/password-generator-history.component.ts","webpack:///./src/app/tools/password-generator-history.component.html","webpack:///./src/app/tools/tools.component.ts","webpack:///./src/app/tools/tools.component.html","webpack:///./src/app/vault/vault.component.ts","webpack:///./src/app/vault/vault.component.html","webpack:///./src/app/settings/update-key.component.ts","webpack:///./src/app/settings/update-key.component.html","webpack:///./src/app/vault/folder-add-edit.component.ts","webpack:///./src/app/vault/folder-add-edit.component.html","webpack:///./src/app/vault/share.component.ts","webpack:///./src/app/vault/share.component.html","webpack:///./src/app/settings/verify-email.component.ts","webpack:///./src/app/settings/verify-email.component.html","webpack:///./src/app/services/organization-guard.service.ts","webpack:///./src/app/services/organization-type-guard.service.ts","webpack:///./jslib/src/enums/permissions.ts","webpack:///./src/app/services/unauth-guard.service.ts","webpack:///./jslib/src/angular/services/auth-guard.service.ts","webpack:///./src/app/settings/emergency-access-view.component.ts","webpack:///./src/app/settings/emergency-access-view.component.html","webpack:///./jslib/src/models/domain/encryptedObject.ts","webpack:///./jslib/src/models/domain/environmentUrls.ts","webpack:///./jslib/src/models/domain/generatedPasswordHistory.ts","webpack:///./src/app/settings/emergency-add-edit.component.ts","webpack:///./src/app/settings/emergency-access.component.ts","webpack:///./src/app/settings/emergency-access.component.html","webpack:///./jslib/src/enums/emergencyAccessType.ts","webpack:///./jslib/src/models/response/emergencyAccessResponse.ts","webpack:///./src/app/settings/emergency-access-add-edit.component.ts","webpack:///./src/app/settings/emergency-access-add-edit.component.html","webpack:///./src/app/settings/emergency-access-confirm.component.ts","webpack:///./src/app/settings/emergency-access-confirm.component.html","webpack:///./src/app/settings/emergency-access-takeover.component.ts","webpack:///./src/app/settings/emergency-access-takeover.component.html","webpack:///./jslib/src/services/api.service.ts","webpack:///./jslib/src/models/response/collectionResponse.ts","webpack:///./jslib/src/models/response/domainsResponse.ts","webpack:///./jslib/src/models/response/errorResponse.ts","webpack:///./jslib/src/models/response/folderResponse.ts","webpack:///./jslib/src/models/response/organizationResponse.ts","webpack:///./jslib/src/models/response/planResponse.ts","webpack:///./jslib/src/models/response/subscriptionResponse.ts","webpack:///./jslib/src/models/response/policyResponse.ts","webpack:///./jslib/src/models/response/sendResponse.ts","webpack:///./jslib/src/services/appId.service.ts","webpack:///./jslib/src/services/audit.service.ts","webpack:///./jslib/src/services/cipher.service.ts","webpack:///./jslib/src/misc/sequentialize.ts","webpack:///./jslib/src/services/collection.service.ts","webpack:///./jslib/src/misc/serviceUtils.ts","webpack:///./jslib/src/services/container.service.ts","webpack:///./jslib/src/services/crypto.service.ts","webpack:///./jslib/src/misc/wordlist.ts","webpack:///./jslib/src/services/environment.service.ts","webpack:///./jslib/src/services/folder.service.ts","webpack:///./jslib/src/services/i18n.service.ts","webpack:///./jslib/src/services/passwordGeneration.service.ts","webpack:///./jslib/src/services/settings.service.ts","webpack:///./jslib/src/services/state.service.ts","webpack:///./jslib/src/services/sync.service.ts","webpack:///./jslib/src/models/data/sendData.ts","webpack:///./jslib/src/services/token.service.ts","webpack:///./jslib/src/services/totp.service.ts","webpack:///./jslib/src/services/user.service.ts","webpack:///./jslib/src/services/vaultTimeout.service.ts","webpack:///./jslib/src/services/consoleLog.service.ts","webpack:///./jslib/src/models/export/cipherWithIds.ts","webpack:///./jslib/src/models/export/collectionWithId.ts","webpack:///./jslib/src/models/export/folderWithId.ts","webpack:///./jslib/src/importers/onepasswordImporters/onepasswordCsvImporter.ts","webpack:///./jslib/src/models/view/index.ts","webpack:///./jslib/src/enums/notificationType.ts","webpack:///./src/app/main.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/app-routing.module.ts","webpack:///./jslib/src/services/broadcaster.service.ts","webpack:///./jslib/src/misc/tldjs.noop.ts","webpack:///./jslib/src/models/request/emergencyAccessAcceptRequest.ts","webpack:///./jslib/src/models/request/organizationUserAcceptRequest.ts","webpack:///./jslib/src/angular/components/hint.component.ts","webpack:///./jslib/src/models/request/passwordHintRequest.ts","webpack:///./jslib/src/angular/components/lock.component.ts","webpack:///./jslib/src/angular/components/login.component.ts","webpack:///./jslib/src/models/request/deleteRecoverRequest.ts","webpack:///./jslib/src/models/request/twoFactorRecoveryRequest.ts","webpack:///./jslib/src/angular/components/register.component.ts","webpack:///./jslib/src/models/request/registerRequest.ts","webpack:///./jslib/src/models/request/referenceEventRequest.ts","webpack:///./jslib/src/angular/components/set-password.component.ts","webpack:///./jslib/src/models/request/setPasswordRequest.ts","webpack:///./jslib/src/angular/components/two-factor-options.component.ts","webpack:///./jslib/src/angular/components/modal.component.ts","webpack:///./jslib/src/angular/components/two-factor.component.ts","webpack:///./jslib/src/models/request/deviceRequest.ts","webpack:///./jslib/src/models/request/preloginRequest.ts","webpack:///./jslib/src/models/request/tokenRequest.ts","webpack:///./jslib/src/misc/u2f.ts","webpack:///./jslib/src/models/request/verifyEmailRequest.ts","webpack:///./jslib/src/models/request/verifyDeleteRecoverRequest.ts","webpack:///./jslib/src/models/request/groupRequest.ts","webpack:///./jslib/src/models/request/organizationUserInviteRequest.ts","webpack:///./jslib/src/models/request/organizationUserUpdateRequest.ts","webpack:///./jslib/src/models/request/organizationUserUpdateGroupsRequest.ts","webpack:///./jslib/src/abstractions/appId.service.ts","webpack:///./jslib/src/abstractions/log.service.ts","webpack:///./jslib/src/models/request/policyRequest.ts","webpack:///./jslib/src/models/request/organizationUpdateRequest.ts","webpack:///./jslib/src/enums/transactionType.ts","webpack:///./jslib/src/models/request/verifyBankRequest.ts","webpack:///./jslib/src/models/request/bitPayInvoiceRequest.ts","webpack:///./jslib/src/models/request/paymentRequest.ts","webpack:///./jslib/src/models/request/organizationCreateRequest.ts","webpack:///./jslib/src/models/request/organizationUpgradeRequest.ts","webpack:///./jslib/src/models/request/seatRequest.ts","webpack:///./jslib/src/models/request/storageRequest.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/updateTwoFactorEmailRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorU2fDeleteRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorU2fRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorYubioOtpRequest.ts","webpack:///./jslib/src/angular/components/export.component.ts","webpack:///./jslib/src/models/request/attachmentRequest.ts","webpack:///./jslib/src/angular/components/add-edit.component.ts","webpack:///./jslib/src/angular/components/attachments.component.ts","webpack:///./jslib/src/angular/components/ciphers.component.ts","webpack:///./jslib/src/angular/components/collections.component.ts","webpack:///./jslib/src/angular/components/groupings.component.ts","webpack:///./jslib/src/models/request/updateProfileRequest.ts","webpack:///./jslib/src/models/request/emailRequest.ts","webpack:///./jslib/src/models/request/kdfRequest.ts","webpack:///./jslib/src/models/request/updateDomainsRequest.ts","webpack:///./jslib/src/angular/components/password-generator.component.ts","webpack:///./jslib/src/angular/components/password-generator-history.component.ts","webpack:///./jslib/src/angular/components/folder-add-edit.component.ts","webpack:///./jslib/src/angular/components/share.component.ts","webpack:///./jslib/src/models/data/index.ts","webpack:///./jslib/src/models/domain/index.ts","webpack:///./jslib/src/models/request/emergencyAccessConfirmRequest.ts","webpack:///./jslib/src/models/response/attachmentResponse.ts","webpack:///./jslib/src/models/response/passwordHistoryResponse.ts","webpack:///./jslib/src/models/request/emergencyAccessInviteRequest.ts","webpack:///./jslib/src/models/request/emergencyAccessPasswordRequest.ts","webpack:///./src/app/services/services.module.ts","webpack:///./src/services/broadcasterMessaging.service.ts","webpack:///./src/services/htmlStorage.service.ts","webpack:///./jslib/src/services/index.ts","webpack:///./jslib/src/models/response/apiKeyResponse.ts","webpack:///./jslib/src/models/response/billingResponse.ts","webpack:///./jslib/src/models/response/breachAccountResponse.ts","webpack:///./jslib/src/models/response/globalDomainResponse.ts","webpack:///./jslib/src/models/response/eventResponse.ts","webpack:///./jslib/src/models/response/groupResponse.ts","webpack:///./jslib/src/models/response/identityTokenResponse.ts","webpack:///./jslib/src/models/response/identityTwoFactorResponse.ts","webpack:///./jslib/src/models/response/listResponse.ts","webpack:///./jslib/src/models/response/organizationSubscriptionResponse.ts","webpack:///./jslib/src/models/response/organizationUserResponse.ts","webpack:///./jslib/src/models/response/paymentResponse.ts","webpack:///./jslib/src/models/response/profileOrganizationResponse.ts","webpack:///./jslib/src/models/response/preloginResponse.ts","webpack:///./jslib/src/models/response/sendAccessResponse.ts","webpack:///./jslib/src/models/response/syncResponse.ts","webpack:///./jslib/src/models/response/taxInfoResponse.ts","webpack:///./jslib/src/models/response/taxRateResponse.ts","webpack:///./jslib/src/models/response/twoFactorAuthenticatorResponse.ts","webpack:///./jslib/src/models/response/twoFactorDuoResponse.ts","webpack:///./jslib/src/models/response/twoFactorEmailResponse.ts","webpack:///./jslib/src/models/response/twoFactorProviderResponse.ts","webpack:///./jslib/src/models/response/twoFactorRescoverResponse.ts","webpack:///./jslib/src/models/response/twoFactorU2fResponse.ts","webpack:///./jslib/src/models/response/twoFactorYubiKeyResponse.ts","webpack:///./jslib/src/models/response/userKeyResponse.ts","webpack:///./jslib/src/misc/throttle.ts","webpack:///./jslib/src/models/request/cipherBulkMoveRequest.ts","webpack:///./jslib/src/models/request/cipherBulkRestoreRequest.ts","webpack:///./jslib/src/models/request/cipherBulkShareRequest.ts","webpack:///./jslib/src/models/request/cipherShareRequest.ts","webpack:///./jslib/src/models/domain/sortedCiphersCache.ts","webpack:///./jslib/src/models/domain/treeNode.ts","webpack:///./jslib/src/models/domain/passwordGeneratorPolicyOptions.ts","webpack:///./jslib/src/models/data/organizationData.ts","webpack:///./jslib/src/models/data/sendFileData.ts","webpack:///./jslib/src/models/data/sendTextData.ts","webpack:///./src/services/i18n.service.ts","webpack:///./src/services/memoryStorage.service.ts","webpack:///./src/services/webPlatformUtils.service.ts","webpack:///./jslib/src/misc/analytics.ts","webpack:///./jslib/src/enums/logLevelType.ts","webpack:///./jslib/src/services/event.service.ts","webpack:///./jslib/src/models/data/eventData.ts","webpack:///./jslib/src/models/request/eventRequest.ts","webpack:///./jslib/src/services/export.service.ts","webpack:///./jslib/src/models/export/cipher.ts","webpack:///./jslib/src/models/export/card.ts","webpack:///./jslib/src/models/export/field.ts","webpack:///./jslib/src/models/export/identity.ts","webpack:///./jslib/src/models/export/login.ts","webpack:///./jslib/src/models/export/loginUri.ts","webpack:///./jslib/src/models/export/secureNote.ts","webpack:///./jslib/src/models/export/collection.ts","webpack:///./jslib/src/models/export/folder.ts","webpack:///./jslib/src/services/import.service.ts","webpack:///./jslib/src/models/request/importCiphersRequest.ts","webpack:///./jslib/src/models/request/importOrganizationCiphersRequest.ts","webpack:///./jslib/src/models/request/kvpRequest.ts","webpack:///./jslib/src/importers/ascendoCsvImporter.ts","webpack:///./jslib/src/importers/avastCsvImporter.ts","webpack:///./jslib/src/importers/avastJsonImporter.ts","webpack:///./jslib/src/importers/aviraCsvImporter.ts","webpack:///./jslib/src/importers/bitwardenCsvImporter.ts","webpack:///./jslib/src/importers/bitwardenJsonImporter.ts","webpack:///./jslib/src/importers/blackBerryCsvImporter.ts","webpack:///./jslib/src/importers/blurCsvImporter.ts","webpack:///./jslib/src/importers/buttercupCsvImporter.ts","webpack:///./jslib/src/importers/chromeCsvImporter.ts","webpack:///./jslib/src/importers/clipperzHtmlImporter.ts","webpack:///./jslib/src/importers/codebookCsvImporter.ts","webpack:///./jslib/src/importers/dashlaneJsonImporter.ts","webpack:///./jslib/src/importers/encryptrCsvImporter.ts","webpack:///./jslib/src/importers/enpassCsvImporter.ts","webpack:///./jslib/src/importers/enpassJsonImporter.ts","webpack:///./jslib/src/importers/firefoxCsvImporter.ts","webpack:///./jslib/src/importers/fsecureFskImporter.ts","webpack:///./jslib/src/importers/gnomeJsonImporter.ts","webpack:///./jslib/src/importers/kasperskyTxtImporter.ts","webpack:///./jslib/src/importers/keepass2XmlImporter.ts","webpack:///./jslib/src/importers/keepassxCsvImporter.ts","webpack:///./jslib/src/importers/keeperCsvImporter.ts","webpack:///./jslib/src/importers/lastpassCsvImporter.ts","webpack:///./jslib/src/importers/logMeOnceCsvImporter.ts","webpack:///./jslib/src/importers/meldiumCsvImporter.ts","webpack:///./jslib/src/importers/msecureCsvImporter.ts","webpack:///./jslib/src/importers/mykiCsvImporter.ts","webpack:///./jslib/src/importers/onepasswordImporters/onepassword1PifImporter.ts","webpack:///./jslib/src/importers/onepasswordImporters/onepasswordMacCsvImporter.ts","webpack:///./jslib/src/importers/onepasswordImporters/cipherImportContext.ts","webpack:///./jslib/src/models/view/view.ts","webpack:///./jslib/src/importers/onepasswordImporters/onepasswordWinCsvImporter.ts","webpack:///./jslib/src/importers/padlockCsvImporter.ts","webpack:///./jslib/src/importers/passkeepCsvImporter.ts","webpack:///./jslib/src/importers/passmanJsonImporter.ts","webpack:///./jslib/src/importers/passpackCsvImporter.ts","webpack:///./jslib/src/importers/passwordAgentCsvImporter.ts","webpack:///./jslib/src/importers/passwordBossJsonImporter.ts","webpack:///./jslib/src/importers/passwordDragonXmlImporter.ts","webpack:///./jslib/src/importers/passwordSafeXmlImporter.ts","webpack:///./jslib/src/importers/passwordWalletTxtImporter.ts","webpack:///./jslib/src/importers/rememBearCsvImporter.ts","webpack:///./jslib/src/importers/roboformCsvImporter.ts","webpack:///./jslib/src/importers/safeInCloudXmlImporter.ts","webpack:///./jslib/src/importers/saferpassCsvImport.ts","webpack:///./jslib/src/importers/secureSafeCsvImporter.ts","webpack:///./jslib/src/importers/splashIdCsvImporter.ts","webpack:///./jslib/src/importers/stickyPasswordXmlImporter.ts","webpack:///./jslib/src/importers/truekeyCsvImporter.ts","webpack:///./jslib/src/importers/upmCsvImporter.ts","webpack:///./jslib/src/importers/yotiCsvImporter.ts","webpack:///./jslib/src/importers/zohoVaultCsvImporter.ts","webpack:///./jslib/src/services/notifications.service.ts","webpack:///./jslib/src/models/response/notificationResponse.ts","webpack:///./jslib/src/services/policy.service.ts","webpack:///./jslib/src/models/domain/masterPasswordPolicyOptions.ts","webpack:///./jslib/src/services/search.service.ts","webpack:///./jslib/src/services/send.service.ts","webpack:///./jslib/src/models/request/sendRequest.ts","webpack:///./jslib/src/models/domain/send.ts","webpack:///./jslib/src/services/webCryptoFunction.service.ts","webpack:///./jslib/src/models/domain/decryptParameters.ts","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.component.html","webpack:///./src/app/send/access.component.ts","webpack:///./src/app/send/access.component.html","webpack:///./jslib/src/models/domain/sendAccess.ts","webpack:///./jslib/src/models/view/sendAccessView.ts","webpack:///./jslib/src/models/request/sendAccessRequest.ts","webpack:///./jslib/src/angular/directives/blur-click.directive.ts","webpack:///./jslib/src/angular/directives/box-row.directive.ts","webpack:///./jslib/src/angular/pipes/search-ciphers.pipe.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","0","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","PlatformUtilsService","UserService","I18nPipe","i18nService","this","transform","id","p1","p2","p3","i0","ɵɵdirectiveInject","i1","pure","MessagingService","ApiActionDirective","el","validationService","ngOnChanges","changes","_this","appApiAction","then","nativeElement","loading","response","e","showError","ElementRef","ValidationService","selectors","inputs","features","ɵɵNgOnChangesFeature","A11yTitleDirective","renderer","title","ngOnInit","hasAttribute","setAttribute","Renderer2","appA11yTitle","CryptoService","CipherService","BaseResponse","getResponseProperty","propertyName","exactName","Error","undefined","otherCasePropertyName","charAt","toUpperCase","toLowerCase","papa","cipherView_1","collectionView_1","loginUriView_1","utils_1","fieldView_1","folderView_1","loginView_1","secureNoteView_1","cipherType_1","fieldType_1","secureNoteType_1","consoleLog_service_1","BaseImporter","organizationId","logService","ConsoleLogService","newLineRegex","passwordFieldNames","usernameFieldNames","notesFieldNames","uriFieldNames","parseCsvOptions","encoding","skipEmptyLines","parseXml","doc","DOMParser","parseFromString","querySelector","parseCsv","header","options","parseOptions","assign","splitNewLine","join","trim","parse","errors","forEach","row","warning","message","parseSingleRowCsv","rowData","isNullOrWhitespace","parsedRow","makeUriArray","uri","loginUri","LoginUriView","fixUri","match","returnArr_1","u","indexOf","substring","nameFromUrl","url","hostname","Utils","getHostname","startsWith","replace","str","getValueOrDefault","defaultValue","split","getCardBrand","cardNum","re","RegExp","test","setCardExpiration","cipher","expiration","parts","month","year","substr","card","expMonth","expYear","moveFoldersToCollections","folderRelationships","collectionRelationships","collections","folders","map","f","collection","CollectionView","querySelectorDirectChild","parentEl","query","els","querySelectorAllDirectChild","Array","from","querySelectorAll","filter","parentNode","initLoginCipher","CipherView","favorite","notes","fields","login","LoginView","type","CipherType","Login","cleanupCipher","processKvp","FieldType","Text","search","field","FieldView","processFolder","folderName","folderIndex","hasFolder","addFolder","FolderView","ciphers","convertToNoteIfNeeded","username","password","uris","SecureNote","secureNote","SecureNoteView","SecureNoteType","Generic","ImportResult","success","ɵɵelement","ɵɵclassMapInterpolate1","ctx_r1","icon","ɵɵelementStart","ɵɵtext","ɵɵtemplate","CalloutComponent_h3_2_i_2_Template","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ctx_r0","ɵɵtextInterpolate1","CalloutComponent","calloutStyle","ngContentSelectors","_c0","decls","vars","consts","template","rf","ctx","CalloutComponent_h3_2_Template","ɵɵprojection","tldjs","nodeURL","init","inited","isNode","process","release","isBrowser","isNativeScript","isMobileBrowser","isMobile","isAppleMobileBrowser","isAppleMobile","global","fromB64ToArray","Uint8Array","Buffer","binaryString","atob","bytes","charCodeAt","fromUrlB64ToArray","fromUrlB64ToB64","fromHexToArray","parseInt","fromUtf8ToArray","strUtf8","unescape","encodeURIComponent","arr","fromByteStringToArray","fromBufferToB64","buffer","toString","binary","byteLength","String","fromCharCode","btoa","fromBufferToUrlB64","fromB64toUrlB64","b64Str","fromBufferToUtf8","encodedString","decodeURIComponent","escape","fromBufferToByteString","fromBufferToHex","x","urlB64Str","output","fromUrlB64ToUtf8","fromB64ToUtf8","newGuid","Math","random","isGuid","uriString","getUrl","_a","getHost","host","getDomain","httpUrl","tldEndingRegex","getUrlObject","validIpAddress","urlDomain","domain","getQueryParams","Map","pair","set","getSortFunction","prop","a","b","collator","compare","localeCompare","ipString","win","mobile","navigator","userAgent","vendor","opera","URL","hasProtocol","anchor","document","createElement","href","PasswordGenerationService","StateService","StopClickDirective","onClick","$event","preventDefault","hostBindings","CollectionService","StorageService","InputVerbatimDirective","condition","disableComplete","appInputVerbatim","FolderService","PolicyService","StopPropDirective","stopPropagation","AuthService","AutofocusDirective","autofocus","focus","appAutofocus","SyncService","ConstantsService","environmentUrlsKey","disableGaKey","disableAddLoginNotificationKey","disableContextMenuItemKey","disableFaviconKey","disableAutoTotpCopyKey","enableAutoFillOnPageLoadKey","vaultTimeoutKey","vaultTimeoutActionKey","lastActiveKey","neverDomainsKey","installedVersionKey","localeKey","themeKey","collapsedGroupingsKey","autoConfirmFingerprints","dontShowCardsCurrentTab","dontShowIdentitiesCurrentTab","defaultUriMatch","pinProtectedKey","protectedPin","clearClipboardKey","eventCollectionKey","ssoCodeVerifierKey","ssoStateKey","biometricUnlockKey","biometricText","biometricAwaitingAcceptance","biometricFingerprintValidated","disableChangedPasswordNotificationKey","EventService","EnvironmentService","PasswordVerificationRequest","cipherString_1","Domain","buildDomainModel","dataObj","alreadyEncrypted","notEncList","objProp","CipherString","buildDataModel","notCipherStringList","encryptedString","decryptObj","viewModel","orgId","promises","self","theProp","Promise","resolve","mapProp","decrypt","val","all","sent","jq","modal_component_1","ModalComponent","_super","componentFactoryResolver","messagingService","__extends","ngOnDestroy","show","parentContainer","fade","setComponentParameters","factory","resolveComponentFactory","componentRef","container","createComponent","instance","modals","modal","on","onShow","emit","send","onShown","find","onClose","onClosed","clear","close","ComponentFactoryResolver","ɵɵInheritDefinitionFeature","ModalComponent_ng_template_0_Template","ɵɵtemplateRefExtractor","SearchService","AuditService","CardView","cardholderName","code","_brand","_number","_subTitle","repeat","brand","number","count","exp","formatYear","TokenService","CryptoFunctionService","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","cryptoService","getCryptoService","getOrgKey","_b","decryptToUtf8","constants_service_1","ɵɵpropertyInterpolate","fallbackImage","image","ɵɵsanitizeUrl","IconMap","fa-globe","fa-sticky-note-o","fa-id-card-o","fa-credit-card","fa-android","fa-apple","IconComponent","environmentService","stateService","iconsUrl","baseUrl","imageEnabled","load","setLoginIcon","Card","Identity","hostnameUri","isWebsite","i2","IconComponent_img_2_Template","IconComponent_i_4_Template","VaultTimeoutService","TwoFactorProviderType","TotpService","broadcaster_service_1","BroadcasterService","ɵfac","paymentMethodType_1","webConstants_1","ɵɵlistener","ɵɵrestoreView","_r9","ɵɵnextContext","method","changeMethod","ctx_r5","paymentMethodType","BankAccount","ɵɵpipeBind1","_r12","ctx_r6","PayPal","_r15","ctx_r7","Credit","_r18","PaymentComponent_div_0_div_13_Template","PaymentComponent_div_0_div_15_Template","PaymentComponent_div_0_div_17_Template","hideBank","hidePaypal","hideCredit","ɵɵelementContainerStart","ɵɵelementContainerEnd","ɵɵtextInterpolate","_r21","bank","routing_number","account_number","account_holder_name","account_holder_type","ɵɵtextInterpolate2","ctx_r2","StripeElementStyle","base","color","fontFamily","fontSize","fontSmoothing","invalid","StripeElementClasses","empty","PaymentComponent","platformUtilsService","apiService","showMethods","showOptions","PaymentMethodType","currency","country","btInstance","stripe","stripeElements","stripeCardNumberElement","stripeCardExpiryElement","stripeCardCvcElement","stripeScript","src","async","onload","Stripe","isDev","WebConstants","stripeTestKey","stripeLiveKey","elements","setStripeElement","btScript","head","appendChild","removeChild","setTimeout","body","btStylesheet","braintree","dropin","authorization","btSandboxKey","btProductionKey","paymentOptionPriority","paypal","flow","buttonStyle","label","size","shape","createErr","console","error","createPaymentToken","reject","requestPaymentMethod","payload","nonce","catch","err","postSetupPayment","clientSecret","handleCardSetup","setupIntent","status","payment_method","createToken","token","handleStripeCardPayment","successCallback","__awaiter","paymentIntent","style","classes","placeholder","mount","PaymentComponent_div_0_Template","PaymentComponent_ng_container_2_Template","PaymentComponent_ng_container_4_Template","PaymentComponent_ng_container_6_Template","PaymentComponent_ng_container_8_Template","revisionDate","AvatarComponent","sanitizer","cryptoFunctionService","charCount","textColor","fontWeight","dynamic","circle","generate","email","hash","hashBytes","chars","upperData","getFirstLetters","charObj","getCharText","stringToColor","svg","getSvg","html","outerHTML","svgHtml","text","svgTag","backgroundColor","width","height","character","textTag","textContent","DomSanitizer","i3","Collection","obj","externalId","readOnly","hidePasswords","default","core_1","organizationTaxInfoUpdateRequest_1","taxInfoUpdateRequest_1","_r4","taxInfo","includeTaxId","_r6","taxId","_r8","line1","line2","city","state","TaxInfoComponent","route","onCountryChanged","EventEmitter","postalCode","pristine","parent","params","subscribe","getOrganizationTaxInfo","getTaxInfo","getTaxRates","taxRates","localTaxRate","rate","getTaxInfoRequest","request","OrganizationTaxInfoUpdateRequest","TaxInfoUpdateRequest","submitTaxInfo","hasChanged","putOrganizationTaxInfo","putTaxInfo","changeCountry","ActivatedRoute","outputs","TaxInfoComponent_div_779_Template","TaxInfoComponent_div_782_Template","TaxInfoComponent_div_784_Template","cardView_1","identityView_1","folderId","organizationUseTotp","edit","viewPassword","identity","IdentityView","attachments","passwordHistory","collectionIds","deletedDate","localData","subTitle","hasAttachments","passwordRevisionDate","middleName","address1","address2","address3","company","phone","ssn","passportNumber","licenseNumber","_firstName","_lastName","firstName","lastName","name_1","address","addressPart2","CollectionData","collection_1","attachmentData_1","cardData_1","fieldData_1","identityData_1","loginData_1","passwordHistoryData_1","secureNoteData_1","CipherData","userId","LoginData","SecureNoteData","CardData","IdentityData","FieldData","AttachmentData","ph","PasswordHistoryData","totp","hasUris","some","canLaunch","launchUri","SendType","PolicyType","twoFactorProviderType_1","passwordVerificationRequest_1","TwoFactorVerifyComponent","toasterService","onAuthed","submit","masterPassword","popAsync","hashPassword","masterPasswordHash","_d","formPromise","getTwoFactorRecover","Duo","OrganizationDuo","getTwoFactorOrganizationDuo","getTwoFactorDuo","Email","getTwoFactorEmail","U2f","getTwoFactorU2f","Authenticator","getTwoFactorAuthenticator","Yubikey","getTwoFactorYubiKey","ToasterService","i4","_r0","ExportService","cipherData_1","attachment_1","card_1","domainBase_1","field_1","identity_1","login_1","password_1","secureNote_1","Cipher","Date","Attachment","Field","Password","encKey","model","_f","_c","_e","attachments_1","reduce","promise","attachment","decAttachment","fields_1","decField","passwordHistory_1","decPh","toCipherData","toISOString","toLoginData","toSecureNoteData","toCardData","toIdentityData","toFieldData","toAttachmentData","toPasswordHistoryData","newField","showValue","cardApi_1","fieldApi_1","identityApi_1","loginApi_1","loginUriApi_1","secureNoteApi_1","attachmentRequest_1","CipherRequest","lastKnownRevisionDate","LoginApi","LoginUriApi","SecureNoteApi","CardApi","IdentityApi","FieldApi","lastUsedDate","attachments2","fileName","attachmentRequest","AttachmentRequest","router_1","RouterService","router","activatedRoute","titleService","previousUrl","currentUrl","events","event","NavigationEnd","titleId","rawTitle","child","firstChild","snapshot","newTitle","setTitle","getPreviousUrl","setPreviousUrl","ɵɵinject","Router","Title","KdfType","PasswordStrengthComponent","showText","scoreWidth","score","PasswordStrengthComponent_ng_container_4_Template","ɵɵpureFunction1","ɵɵattribute","OrganizationUserStatusType","SearchPipe","items","searchText","prop1","prop2","prop3","deviceType_1","eventType_1","getDefaultDateFilters","end","getFullYear","getMonth","getDate","setDate","start","toDateTimeLocalString","formatDateFilters","filterStart","filterEnd","isNaN","getTime","getEventInfo","ev","EventOptions","appInfo","getAppInfo","deviceType","getEventMessage","appIcon","appName","msg","EventType","User_LoggedIn","User_ChangedPassword","User_Updated2fa","User_Disabled2fa","User_Recovered2fa","User_FailedLogIn","User_FailedLogIn2fa","User_ClientExportedVault","Cipher_Created","formatCipherId","Cipher_Updated","Cipher_Deleted","Cipher_SoftDeleted","Cipher_Restored","Cipher_AttachmentCreated","Cipher_AttachmentDeleted","Cipher_Shared","Cipher_ClientViewed","Cipher_ClientToggledPasswordVisible","Cipher_ClientToggledHiddenFieldVisible","Cipher_ClientToggledCardCodeVisible","Cipher_ClientCopiedHiddenField","Cipher_ClientCopiedPassword","Cipher_ClientCopiedCardCode","Cipher_ClientAutofilled","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","OrganizationUser_UnlinkedSso","Organization_Updated","Organization_PurgedVault","Policy_Updated","formatPolicyId","DeviceType","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","policyId","innerHTML","date","pad","getHours","getMinutes","num","norm","floor","abs","EventInfo","twoFactorProviderRequest_1","TwoFactorBaseComponent","analytics","onUpdated","twoFactorProviderType","enabled","authed","auth","authResponse","enable","enableFunction","eventTrack","next","action","disable","showDialog","TwoFactorProviderRequest","putTwoFactorOrganizationDisable","putTwoFactorDisable","Angulartics2","i5","add_edit_component_1","add_edit_component_2","CipherReportComponent","userService","requiresPaid","hasLoaded","setCiphers","selectCipher","childComponent","cipherAddEditModalRef","organization","AddEditComponent","onSavedCipher","onDeletedCipher","onRestoredCipher","checkAccess","useTotp","canAccessPremium","accessPremium","viewQuery","ViewContainerRef","uriMatchType_1","CanLaunchWhitelist","_uri","_domain","_hostname","_host","_canLaunch","UriMatchType","RegularExpression","o_r17","_r19","AddEditComponent_div_20_div_4_option_10_Template","isDeleted","typeOptions","f_r21","_r23","AddEditComponent_div_20_div_17_option_8_Template","viewOnly","_r31","ctx_r30","copy","_r35","generatePassword","AddEditComponent_div_20_ng_container_21_div_26_a_2_Template","_r37","checkPassword","ctx_r25","checkPasswordPromise","_r33","_r41","premiumRequired","_r43","upgradeOrganization","AddEditComponent_div_20_ng_container_21_div_64_a_5_Template","AddEditComponent_div_20_ng_container_21_div_64_a_7_Template","ctx_r26","ɵɵnamespaceSVG","ɵɵnamespaceHTML","_r45","ctx_r44","totpCode","ctx_r27","totpSec","totpDash","totpCodeFormatted","o_r51","_r54","u_r47","$implicit","removeUri","_r56","launch","loginUriMatchChanged","AddEditComponent_div_20_ng_container_21_ng_container_70_div_2_option_49_Template","AddEditComponent_div_20_ng_container_21_ng_container_70_div_2_button_52_Template","ɵɵpropertyInterpolate1","i_r48","ɵɵpipeBind2","ctx_r46","uriMatchOptions","AddEditComponent_div_20_ng_container_21_ng_container_70_div_2_Template","ctx_r28","trackByFunction","_r62","addUri","_r64","AddEditComponent_div_20_ng_container_21_div_14_Template","AddEditComponent_div_20_ng_container_21_div_26_Template","togglePassword","ctx_r67","AddEditComponent_div_20_ng_container_21_div_64_Template","AddEditComponent_div_20_ng_container_21_div_66_Template","AddEditComponent_div_20_ng_container_21_ng_container_70_Template","AddEditComponent_div_20_ng_container_21_a_72_Template","showPassword","ɵɵpureFunction2","_c1","_c2","totpLow","o_r71","o_r72","_r74","AddEditComponent_div_20_ng_container_24_option_21_Template","ctx_r77","AddEditComponent_div_20_ng_container_24_option_57_Template","toggleCardCode","ctx_r82","ctx_r8","cardBrandOptions","cardExpMonthOptions","showCardCode","o_r84","_r86","AddEditComponent_div_20_ng_container_27_option_12_Template","ctx_r9","identityTitleOptions","_r114","f_r105","i_r106","ctx_r107","_r120","toggleFieldValue","ctx_r123","fieldType","Hidden","ctx_r108","_r128","ctx_r109","_r132","removeField","_r134","AddEditComponent_div_20_div_42_div_2_div_28_Template","AddEditComponent_div_20_div_42_div_2_div_30_Template","AddEditComponent_div_20_div_42_div_2_input_34_Template","AddEditComponent_div_20_div_42_div_2_button_37_Template","AddEditComponent_div_20_div_42_div_2_button_39_Template","ctx_r104","Boolean","_r136","drop","AddEditComponent_div_20_div_42_div_2_Template","ctx_r10","_r138","addField","o_r140","_r142","addFieldType","AddEditComponent_div_20_div_46_option_10_Template","ctx_r12","addFieldTypeOptions","o_r144","_r146","organizationChanged","AddEditComponent_div_20_ng_container_48_option_16_Template","ctx_r13","ownershipOptions","_r154","checked","i_r152","c_r151","ctx_r150","AddEditComponent_div_20_ng_container_50_ng_container_8_div_2_Template","ctx_r149","AddEditComponent_div_20_ng_container_50_div_6_Template","AddEditComponent_div_20_ng_container_50_ng_container_8_Template","ctx_r14","ctx_r155","passwordRevisionDisplayDate","_r159","viewHistory","ctx_r156","ph_r161","AddEditComponent_div_20_ng_container_52_div_16_div_2_Template","ctx_r157","AddEditComponent_div_20_ng_container_52_div_12_Template","AddEditComponent_div_20_ng_container_52_div_14_Template","AddEditComponent_div_20_ng_container_52_div_16_Template","ctx_r15","showRevisionDate","hasPasswordHistory","viewingPasswordHistory","AddEditComponent_div_20_app_callout_2_Template","AddEditComponent_div_20_div_4_Template","_r163","AddEditComponent_div_20_div_17_Template","AddEditComponent_div_20_ng_container_21_Template","AddEditComponent_div_20_ng_container_24_Template","AddEditComponent_div_20_ng_container_27_Template","AddEditComponent_div_20_div_42_Template","AddEditComponent_div_20_a_44_Template","AddEditComponent_div_20_div_46_Template","AddEditComponent_div_20_ng_container_48_Template","AddEditComponent_div_20_ng_container_50_Template","AddEditComponent_div_20_ng_container_52_Template","allowOwnershipAssignment","allowPersonal","editMode","cipherType","hasFields","cloneMode","_r168","toggleFavorite","ctx_r165","_c3","_r171","delete","ctx_r166","_r169","deletePromise","AddEditComponent_div_30_button_2_Template","AddEditComponent_div_30_button_4_Template","ctx_r3","cipherService","folderService","auditService","collectionService","totpService","passwordGenerationService","eventService","policyService","cleanUp","totpUpdateCode","interval_1","getTimeInterval","totpTick","totpInterval","setInterval","typeI18nKey","aType","copyToClipboard","showToast","collect","confirmed","getOptions","clearInterval","getCode","half","intervalSeconds","epoch","round","mod","i6","i7","i8","i9","i10","i11","i12","i13","AddEditComponent_div_20_Template","AddEditComponent_button_24_Template","AddEditComponent_div_30_Template","ImportService","ciphers_component_1","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_20_ng_container_9_Template","showFixOldAttachments","c_r5","_r24","_r27","_r30","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_40_a_8_Template","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_40_a_10_Template","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_40_a_12_Template","displayTotpCopyButton","_r34","clone","share","_r40","_r46","restore","_r48","checkCipher","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_18_Template","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_20_Template","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_40_Template","CiphersComponent_ng_container_0_table_2_tr_4_a_48_Template","CiphersComponent_ng_container_0_table_2_tr_4_a_50_Template","CiphersComponent_ng_container_0_table_2_tr_4_a_52_Template","CiphersComponent_ng_container_0_table_2_tr_4_a_54_Template","CiphersComponent_ng_container_0_table_2_tr_4_a_56_Template","ctx_r4","accessEvents","loadMore","CiphersComponent_ng_container_0_table_2_tr_4_Template","isPaging","filteredCiphers_r1","addCipher","CiphersComponent_ng_container_0_div_4_ng_container_4_button_6_Template","ctx_r59","showAddNew","CiphersComponent_ng_container_0_div_4_ng_container_2_Template","CiphersComponent_ng_container_0_div_4_ng_container_4_Template","loaded","CiphersComponent_ng_container_0_table_2_Template","CiphersComponent_ng_container_0_div_4_Template","CiphersComponent","searchService","onAttachmentsClicked","onShareClicked","onCollectionsClicked","onCloneClicked","userHasPremiumAccess","pageSize","selectAll","actionPromise","permanent","deleteCipher","refresh","restoreWithServer","select","selectCount","getSelected","getSelectedIds","hasTotp","deleteWithServer","softDeleteWithServer","hasOldAttachments","CiphersComponent_ng_container_0_Template","pagedCiphers","SendService","authResult_1","deviceRequest_1","keysRequest_1","preloginRequest_1","tokenRequest_1","TwoFactorProviders","description","priority","sort","premium","tokenService","appIdService","vaultTimeoutService","setCryptoKeys","selectedTwoFactorProviderType","logIn","makePreloginKey","hashedPassword","logInHelper","logInSso","codeVerifier","redirectUrl","logInApiKey","clientId","logInTwoFactor","twoFactorProvider","twoFactorToken","remember","ssoRedirectUrl","logInComplete","logInSsoComplete","logInApiKeyComplete","logOut","callback","getSupportedTwoFactorProviders","providers","twoFactorProvidersData","has","supportsDuo","supportsU2f","getDefaultTwoFactorProvider","u2fSupported","providerType","providerPriority","provider","kdf","kdfIterations","postPrelogin","PreloginRequest","preloginResponse","e_1","statusCode","makeKey","authingWithApiKey","authingWithSso","authingWithPassword","getTwoFactorToken","storedTwoFactorToken","getAppId","appId","deviceRequest","DeviceRequest","emailPassword","codeCodeVerifier","clientIdClientSecret","TokenRequest","Remember","postIdentityToken","clearState","AuthResult","twoFactor","accessToken","twoFactorResponse","twoFactorProviders2","twoFactorProviders","tokenResponse","resetMasterPassword","setTwoFactorToken","setTokens","refreshToken","setInformation","getUserId","getEmail","setKey","setKeyHash","setEncKey","privateKey","makeKeyPair","keyPair","postAccountKeys","KeysRequest","e_2","setEncPrivateKey","biometricLocked","SelectionReadOnlyRequest","OrganizationUserType","SettingsService","PlanType","payment_component_1","tax_info_component_1","planType_1","policyType_1","productType_1","organizationCreateRequest_1","organizationUpgradeRequest_1","_r5","_r3","_r14","billingEmail","_r17","businessName","selectableProduct_r18","trialPeriodDays","OrganizationPlansComponent_form_4_div_24_ng_container_11_small_6_Template","OrganizationPlansComponent_form_4_div_24_ng_container_11_small_8_Template","OrganizationPlansComponent_form_4_div_24_ng_container_11_small_10_Template","OrganizationPlansComponent_form_4_div_24_ng_container_11_small_12_Template","hasSelfHost","hasSso","hasPolicies","maxUsers","maxCollections","maxAdditionalSeats","baseStorageGb","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_1_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_3_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_5_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_7_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_9_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_11_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_13_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_15_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_17_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_19_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_21_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_23_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_25_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_27_Template","product","ctx_r21","productTypes","Free","hasGroups","hasApi","hasDirectory","usersGetPremium","ɵɵtextInterpolate3","seatPrice","OrganizationPlansComponent_form_4_div_24_span_16_ng_container_2_ng_container_5_Template","basePrice","baseSeats","hasAdditionalSeatsOption","OrganizationPlansComponent_form_4_div_24_span_16_ng_container_2_Template","_r59","changedProduct","OrganizationPlansComponent_form_4_div_24_ng_container_11_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_Template","OrganizationPlansComponent_form_4_div_24_span_16_Template","OrganizationPlansComponent_form_4_div_24_span_18_Template","OrganizationPlansComponent_form_4_div_24_span_20_Template","nameLocalizationKey","descriptionLocalizationKey","Enterprise","_r20","_r69","additionalSeats","ctx_r61","_r71","ctx_r62","ɵɵpipeBind3","selectedPlan","seatPriceMonthly","_r73","premiumAccessAddon","ctx_r63","ɵɵtextInterpolate5","selectablePlan_r74","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_small_5_span_2_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_small_5_span_4_Template","ctx_r78","seatTotal","ɵɵtextInterpolate6","ctx_r79","additionalStorage","additionalStoragePricePerGb","additionalStorageTotal","premiumAccessOptionCost","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_small_3_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_small_5_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_small_7_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_small_9_Template","hasAdditionalStorageOption","hasPremiumAccessOption","ctx_r75","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_small_5_span_2_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_small_5_span_4_Template","ctx_r89","ctx_r90","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_small_3_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_small_5_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_small_7_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_small_9_Template","ctx_r76","_r100","plan","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_Template","ctx_r64","isAnnual","selectedPlanInterval","OrganizationPlansComponent_form_4_div_26_ng_container_2_Template","OrganizationPlansComponent_form_4_div_26_div_8_Template","_r102","OrganizationPlansComponent_form_4_div_26_div_31_Template","OrganizationPlansComponent_form_4_div_26_div_38_Template","OrganizationPlansComponent_form_4_div_26_app_payment_46_Template","changedCountry","OrganizationPlansComponent_form_4_div_26_ng_container_80_Template","OrganizationPlansComponent_form_4_div_26_small_82_Template","ɵɵpipeBind4","additionalStoragePriceMonthly","selectablePlans","createOrganization","subtotal","taxCharges","total","_r105","cancel","_r107","OrganizationPlansComponent_form_4_div_7_Template","ownedBusiness","changedOwnedBusiness","OrganizationPlansComponent_form_4_div_18_Template","OrganizationPlansComponent_form_4_div_24_Template","OrganizationPlansComponent_form_4_div_26_Template","OrganizationPlansComponent_form_4_div_28_Template","OrganizationPlansComponent_form_4_button_42_Template","selectableProducts","singleOrgPolicyBlock","showCancel","OrganizationPlansComponent","syncService","showFree","ProductType","onSuccess","onCanceled","selfHosted","isSelfHost","getPlans","plans","Teams","validPlans","Custom","canBeUsedByBusiness","legacyYear","disabled","subTotal","premiumAccessOptionPrice","taxComponent","taxRate","TeamsAnnually","paymentComponent","getAll","SingleOrg","policies","policy","files","fileEl","getElementById","doSubmit","tokenResult","makeShareKey","shareKey","encrypt","collectionCt","fd","FormData","append","postOrganizationLicense","OrganizationCreateRequest","collectionName","planType","paymentToken","additionalStorageGb","billingAddressPostalCode","billingAddressCountry","taxIdNumber","billingAddressLine1","billingAddressLine2","billingAddressCity","billingAddressState","postOrganization","OrganizationUpgradeRequest","postOrganizationUpgrade","paymentIntentClientSecret","refreshIdentityToken","fullSync","navigate","OrganizationPlansComponent_ng_container_0_Template","OrganizationPlansComponent_ng_container_2_Template","OrganizationPlansComponent_form_4_Template","SymmetricCryptoKey","macKey","keyB64","encKeyB64","macKeyB64","loginUri_1","LoginUri","view","toLoginUriData","loginUriData_1","LoginUriData","forms_1","TrueFalseValueDirective","elementRef","trueValue","falseValue","propagateChange","_","onHostChange","target","writeValue","setProperty","registerOnChange","fn","registerOnTouched","setDisabledState","isDisabled","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","multi","groupings_component_1","selectFavorites","selectedFavorites","_r7","selectTrash","selectedTrash","_r22","f_r15","collapse","node","ctx_r16","isCollapsed","_r26","editFolder","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_li_1_ul_14_ng_container_2_Template","_r10","children","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_li_1_i_4_Template","selectFolder","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_li_1_i_8_Template","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_li_1_a_11_Template","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_li_1_ul_14_Template","selectedFolder","selectedFolderId","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_li_1_Template","folders_r13","_r32","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_Template","GroupingsComponent_ng_container_78_ng_container_2_ng_container_17_Template","nestedFolders","_r44","c_r38","ctx_r39","GroupingsComponent_ng_container_78_ng_container_4_ng_template_8_li_1_ul_9_ng_container_2_Template","GroupingsComponent_ng_container_78_ng_container_4_ng_template_8_li_1_i_2_Template","_r49","selectCollection","GroupingsComponent_ng_container_78_ng_container_4_ng_template_8_li_1_i_6_Template","GroupingsComponent_ng_container_78_ng_container_4_ng_template_8_li_1_ul_9_Template","ctx_r37","selectedCollectionId","GroupingsComponent_ng_container_78_ng_container_4_ng_template_8_li_1_Template","collections_r36","GroupingsComponent_ng_container_78_ng_container_4_ng_template_8_Template","GroupingsComponent_ng_container_78_ng_container_4_ng_container_11_Template","nestedCollections","GroupingsComponent_ng_container_78_ng_container_2_Template","GroupingsComponent_ng_container_78_ng_container_4_Template","showFolders","showCollections","GroupingsComponent","storageService","onSearchTextChanged","searchPlaceholder","searchTextChanged","GroupingsComponent_li_28_Template","GroupingsComponent_li_30_Template","selectType","GroupingsComponent_p_76_Template","GroupingsComponent_ng_container_78_Template","selectedAll","showFavorites","showTrash","selectedType","organizationUserStatusType_1","organizationUserType_1","Organization","usePolicies","useGroups","useDirectory","useEvents","use2fa","useApi","useBusinessPortal","useSso","selfHost","seats","maxStorageGb","ssoBound","identifier","permissions","Owner","Confirmed","Manager","Admin","isAdmin","accessBusinessPortal","accessEventLogs","accessImportExport","accessReports","manageAllCollections","isManager","manageAssignedCollections","manageGroups","manageSso","managePolicies","manageUsers","SendFileView","sizeName","SendTextView","hidden","OrganizationsComponent_ng_container_0_ng_container_4_ul_2_li_2_ng_container_6_Template","o_r7","OrganizationsComponent_ng_container_0_ng_container_4_ul_2_li_2_Template","organizations","OrganizationsComponent_ng_container_0_ng_container_4_ul_2_Template","OrganizationsComponent_ng_container_0_ng_container_4_p_4_Template","OrganizationsComponent_ng_container_0_p_2_Template","OrganizationsComponent_ng_container_0_ng_container_4_Template","_r25","unlinkSso","OrganizationsComponent_ng_container_2_ng_container_19_table_4_tr_4_ng_container_27_a_2_Template","OrganizationsComponent_ng_container_2_ng_container_19_table_4_tr_4_ng_container_27_ng_template_4_Template","OrganizationsComponent_ng_container_2_ng_container_19_table_4_tr_4_ng_container_12_Template","OrganizationsComponent_ng_container_2_ng_container_19_table_4_tr_4_ng_container_27_Template","_r29","leave","OrganizationsComponent_ng_container_2_ng_container_19_table_4_tr_4_Template","OrganizationsComponent_ng_container_2_ng_container_19_ng_container_2_Template","OrganizationsComponent_ng_container_2_ng_container_19_table_4_Template","OrganizationsComponent_ng_container_2_ng_container_10_Template","OrganizationsComponent_ng_container_2_a_14_Template","OrganizationsComponent_ng_container_2_ng_container_17_Template","OrganizationsComponent_ng_container_2_ng_container_19_Template","OrganizationsComponent","vault","getAllOrganizations","orgs","org","deleteSsoUser","postLeaveOrganization","OrganizationsComponent_ng_container_0_Template","OrganizationsComponent_ng_container_2_Template","SelectionReadOnlyResponse","NavbarComponent","getName","lock","NavbarComponent_div_49_Template","FooterComponent","version","getApplicationVersion","defaultErrorMessage","validationErrors","concat","getAllMessages","timeout","publicKey","encryptedPrivateKey","ChangePasswordComponent","getMasterPasswordPolicyOptions","enforcedPolicyOptions","getPasswordScoreAlertDisplay","minComplexity","strongPassword","setupSubmitActions","getKdf","getKdfIterations","getEncKey","makeEncKey","remakeEncKey","performSubmitActions","masterPasswordRetype","strengthResult","passwordStrength","getPasswordStrengthUserInput","evaluateMasterPassword","updatePasswordStrength","masterPasswordStrengthTimeout","clearTimeout","masterPasswordScore","userInput","atPosition","selectionReadOnlyRequest_1","selectedCount","u_r11","EntityUsersComponent_div_26_ng_container_30_tr_32_td_21_ng_container_2_Template","accessAll","_r28","check","selectedChanged","EntityUsersComponent_div_26_ng_container_30_tr_32_span_14_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_span_16_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_small_18_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_td_21_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_span_25_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_span_27_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_span_29_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_span_31_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_span_33_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_td_36_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_td_38_Template","entity","organizationUserStatusType","Invited","Accepted","organizationUserType","User","EntityUsersComponent_div_26_ng_container_30_th_18_Template","EntityUsersComponent_div_26_ng_container_30_th_24_Template","EntityUsersComponent_div_26_ng_container_30_th_26_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_Template","searchedUsers_r3","filterSelected","EntityUsersComponent_div_26_span_23_Template","EntityUsersComponent_div_26_ng_container_28_Template","EntityUsersComponent_div_26_ng_container_30_Template","showSelected","EntityUsersComponent","onEditedUsers","allUsers","loadUsers","getOrganizationUsers","users","getGroupUsers","entityId","user","getCollectionUsers","selections","putGroupUsers","putCollectionUsers","entityName","EntityUsersComponent_div_24_Template","EntityUsersComponent_div_26_Template","ɵɵpipeBindV","e_r9","userEmail","userName","EntityEventsComponent_div_24_table_36_tr_27_td_14_Template","ɵɵpropertyInterpolate2","ip","showUser","ɵɵsanitizeHtml","EntityEventsComponent_div_24_table_36_th_17_Template","EntityEventsComponent_div_24_table_36_tr_27_Template","loadEvents","morePromise","_r16","EntityEventsComponent_div_24_div_34_Template","EntityEventsComponent_div_24_table_36_Template","EntityEventsComponent_div_24_button_38_Template","refreshPromise","continuationToken","EntityEventsComponent","orgUsersUserIdMap","orgUsersIdMap","defaultDates","clearExisting","dates","getEventsOrganizationUser","getEventsCipher","actingUserId","eventInfo","ipAddress","EntityEventsComponent_small_11_Template","EntityEventsComponent_div_22_Template","EntityEventsComponent_div_24_Template","PermissionsApi","manageCiphers","apiKeyWarning","scope","grantType","isRotation","ApiKeyComponent","postKey","apiKey","keyType","ApiKeyComponent_ng_container_27_Template","ApiKeyComponent_app_callout_29_Template","ApiKeyComponent_app_callout_31_Template","ApiKeyComponent_button_36_Template","apiKeyTitle","apiKeyDescription","PurgeVaultComponent","postPurgeCiphers","transactionType_1","verifyBankRequest_1","addCredit","closeAddCredit","verifyBank","verifyAmount1","verifyAmount2","ctx_r20","verifyBankPromise","UserBillingComponent_ng_container_11_ng_container_25_app_callout_2_Template","UserBillingComponent_ng_container_11_ng_container_25_span_8_Template","paymentSource","needsVerification","ɵɵpureFunction6","Check","AppleInApp","GoogleInApp","paymentSourceInApp","changePayment","closePayment","UserBillingComponent_ng_container_11_table_37_tr_4_span_25_Template","UserBillingComponent_ng_container_11_table_37_tr_4_span_27_Template","i_r33","pdfUrl","amount","paid","UserBillingComponent_ng_container_11_table_37_tr_4_Template","invoices","ɵɵpureFunction4","t_r37","ctx_r40","WireTransfer","BitPay","UserBillingComponent_ng_container_11_table_45_tr_4_span_8_Template","UserBillingComponent_ng_container_11_table_45_tr_4_span_10_Template","UserBillingComponent_ng_container_11_table_45_tr_4_i_15_Template","createdDate","ctx_r36","transactionType","Charge","Refund","details","refunded","UserBillingComponent_ng_container_11_table_45_tr_4_Template","transactions","UserBillingComponent_ng_container_11_button_15_Template","UserBillingComponent_ng_container_11_app_add_credit_17_Template","UserBillingComponent_ng_container_11_p_23_Template","UserBillingComponent_ng_container_11_ng_container_25_Template","UserBillingComponent_ng_container_11_button_27_Template","UserBillingComponent_ng_container_11_app_adjust_payment_29_Template","UserBillingComponent_ng_container_11_p_35_Template","UserBillingComponent_ng_container_11_table_37_Template","UserBillingComponent_ng_container_11_p_43_Template","UserBillingComponent_ng_container_11_table_45_Template","isCreditBalance","creditOrBalance","showAddCredit","showAdjustPayment","UserBillingComponent","firstLoaded","TransactionType","getOrganizationBilling","billing","getUserBilling","VerifyBankRequest","amount1","amount2","postOrganizationVerifyBank","balance","UserBillingComponent_button_6_Template","UserBillingComponent_ng_container_9_Template","UserBillingComponent_ng_container_11_Template","bitPayInvoiceRequest_1","AddCreditComponent","onAdded","ppButtonFormAction","buttonActionProduction","ppButtonBusinessId","businessIdProduction","ppLoading","buttonActionSandbox","businessIdSandbox","creditAmount","ppButtonCustomField","getOrganization","subject","returnUrl","location","ppButtonFormRef","req","BitPayInvoiceRequest","credit","creditAmountNumber","postBitPayInvoice","bitPayUrl","formatAmount","floatAmount","parseFloat","toFixed","AddCreditComponent_div_14_Template","paymentRequest_1","AdjustPaymentComponent","onAdjusted","request_1","PaymentRequest","taxInfoComponent","postAccountPayment","postOrganizationPayment","currentType","UpdateLicenseComponent","updatePromise","postAccountLicense","postOrganizationLicenseUpdate","storageRequest_1","ɵɵtextInterpolate4","storageAdjustment","storageGbPrice","adjustedStorageTotal","interval","AdjustStorageComponent","add","StorageRequest","storageGbAdjustment","paymentFailed_1","postAccountStorage","postOrganizationStorage","relativeTo","AdjustStorageComponent_div_26_Template","updateTwoFactorDuoRequest_1","two_factor_base_component_1","ikey","skey","TwoFactorDuoComponent_form_25_ng_container_5_Template","TwoFactorDuoComponent_form_25_ng_container_7_Template","TwoFactorDuoComponent_form_25_span_17_Template","TwoFactorDuoComponent_form_25_span_19_Template","TwoFactorDuoComponent","processResponse","UpdateTwoFactorDuoRequest","integrationKey","secretKey","putTwoFactorOrganizationDuo","putTwoFactorDuo","TwoFactorDuoComponent_app_two_factor_verify_23_Template","TwoFactorDuoComponent_form_25_Template","auth_service_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","recoveryCode","TwoFactorSetupComponent_li_23_ng_container_11_Template","TwoFactorSetupComponent_li_23_a_13_Template","p_r20","manage","TwoFactorSetupComponent","showPolicyWarning","filterProvider","getTwoFactorProviders","evaluatePolicies","openModal","authenticatorModalRef","TwoFactorAuthenticatorComponent","updateStatus","yubikeyModalRef","TwoFactorYubiKeyComponent","duoModalRef","emailModalRef","TwoFactorEmailComponent","u2fModalRef","TwoFactorU2fComponent","recoveryModalRef","TwoFactorRecoveryComponent","ref","TwoFactorAuthentication","TwoFactorSetupComponent_p_7_Template","TwoFactorSetupComponent_p_9_Template","TwoFactorSetupComponent_app_callout_11_Template","TwoFactorSetupComponent_small_16_Template","TwoFactorSetupComponent_app_callout_19_Template","TwoFactorSetupComponent_li_23_Template","TwoFactorSetupComponent_ng_template_26_Template","TwoFactorSetupComponent_ng_template_29_Template","TwoFactorSetupComponent_ng_template_32_Template","TwoFactorSetupComponent_ng_template_35_Template","TwoFactorSetupComponent_ng_template_38_Template","TwoFactorSetupComponent_ng_template_41_Template","_c6","export_component_1","ExportComponent","exportService","saved","format","cipher_report_component_1","c_r6","ExposedPasswordsReportComponent_div_21_ng_container_4_tr_12_ng_container_9_Template","ExposedPasswordsReportComponent_div_21_ng_container_4_tr_12_ng_template_11_Template","ExposedPasswordsReportComponent_div_21_ng_container_4_tr_12_ng_container_14_Template","ExposedPasswordsReportComponent_div_21_ng_container_4_tr_12_ng_container_16_Template","canManageCipher","exposedPasswordMap","ExposedPasswordsReportComponent_div_21_ng_container_4_tr_12_Template","ExposedPasswordsReportComponent_div_21_app_callout_2_Template","ExposedPasswordsReportComponent_div_21_ng_container_4_Template","ExposedPasswordsReportComponent","getAllCiphers","allCiphers","exposedPasswordCiphers","passwordLeaked","exposedCount","getAllDecrypted","ExposedPasswordsReportComponent_div_21_Template","ExposedPasswordsReportComponent_ng_template_23_Template","cipher_1","cipherCreateRequest_1","cipherRequest_1","originalCipher","canManageAllCollections","loadCollections","loadCipher","getCipherAdmin","encryptCipher","saveCipher","putCipherAdmin","CipherCreateRequest","postCipherAdmin","deleteCipherAdmin","putDeleteCipherAdmin","i14","attachmentView_1","symmetricCryptoKey_1","AttachmentView","orgKey","decryptToBytes","decValue","PasswordHistoryView","o_r4","o_r6","ImportComponent_ng_container_24_option_4_Template","importOptions","ImportComponent_app_callout_30_ng_container_26_span_2_Template","ctx_r19","ImportComponent_app_callout_30_ng_container_2_Template","ImportComponent_app_callout_30_ng_container_4_Template","ImportComponent_app_callout_30_ng_container_6_Template","ImportComponent_app_callout_30_ng_container_8_Template","ImportComponent_app_callout_30_ng_container_10_Template","ImportComponent_app_callout_30_ng_container_12_Template","ImportComponent_app_callout_30_ng_container_14_Template","ImportComponent_app_callout_30_ng_container_16_Template","ImportComponent_app_callout_30_ng_container_18_Template","ImportComponent_app_callout_30_ng_container_20_Template","ImportComponent_app_callout_30_ng_container_22_Template","ImportComponent_app_callout_30_ng_container_24_Template","ImportComponent_app_callout_30_ng_container_26_Template","ImportComponent_app_callout_30_ng_container_28_Template","ImportComponent_app_callout_30_ng_container_30_Template","ImportComponent_app_callout_30_ng_container_32_Template","ImportComponent_app_callout_30_ng_container_34_Template","ImportComponent_app_callout_30_ng_container_36_Template","ImportComponent_app_callout_30_ng_container_38_Template","ImportComponent_app_callout_30_ng_container_40_Template","ImportComponent_app_callout_30_ng_container_42_Template","ImportComponent_app_callout_30_ng_container_44_Template","ImportComponent_app_callout_30_ng_container_46_Template","ImportComponent_app_callout_30_ng_container_48_Template","ImportComponent_app_callout_30_ng_container_50_Template","ImportComponent_app_callout_30_ng_container_52_Template","ImportComponent_app_callout_30_ng_container_54_Template","ImportComponent_app_callout_30_ng_container_56_Template","ImportComponent_app_callout_30_ng_container_58_Template","ImportComponent_app_callout_30_ng_container_60_Template","ImportComponent_app_callout_30_ng_container_62_Template","ImportComponent_app_callout_30_ng_container_64_Template","ImportComponent_app_callout_30_ng_container_66_Template","ImportComponent_app_callout_30_ng_container_68_Template","ImportComponent_app_callout_30_ng_container_70_Template","ImportComponent_app_callout_30_ng_container_72_Template","ImportComponent_app_callout_30_ng_container_74_Template","ImportComponent_app_callout_30_ng_container_76_Template","ImportComponent_app_callout_30_ng_container_78_Template","ImportComponent_app_callout_30_ng_container_80_Template","ImportComponent_app_callout_30_ng_container_82_Template","ImportComponent_app_callout_30_ng_container_84_Template","ImportComponent_app_callout_30_ng_container_86_Template","ImportComponent_app_callout_30_ng_container_88_Template","ImportComponent_app_callout_30_ng_container_90_Template","ImportComponent_app_callout_30_ng_container_92_Template","ImportComponent_app_callout_30_ng_container_94_Template","ImportComponent_app_callout_30_ng_container_96_Template","ImportComponent_app_callout_30_ng_container_98_Template","getFormatInstructionTitle","ImportComponent","importService","successNavigate","setImportOptions","importer","getImporter","fileContents","getFileContents","content","import","properties","results","featuredImportOptions","__spreadArrays","regularImportOptions","file","reader","FileReader","readAsText","evt","pre","onerror","ImportComponent_option_22_Template","ImportComponent_ng_container_24_Template","ImportComponent_app_callout_30_Template","ctx_r11","cipherDocs","c_r8","InactiveTwoFactorReportComponent_div_15_ng_container_4_tr_12_ng_container_13_Template","InactiveTwoFactorReportComponent_div_15_ng_container_4_tr_12_ng_container_15_Template","InactiveTwoFactorReportComponent_div_15_ng_container_4_tr_12_a_25_Template","InactiveTwoFactorReportComponent_div_15_ng_container_4_tr_12_Template","InactiveTwoFactorReportComponent_div_15_app_callout_2_Template","InactiveTwoFactorReportComponent_div_15_ng_container_4_Template","InactiveTwoFactorReportComponent","services","load2fa","inactive2faCiphers_1","docs_1","fetch","Request","json","categoryName","responseJson","serviceName","category","service","tfa","software","InactiveTwoFactorReportComponent_small_5_Template","InactiveTwoFactorReportComponent_div_13_Template","InactiveTwoFactorReportComponent_div_15_Template","InactiveTwoFactorReportComponent_ng_template_17_Template","ReusedPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_container_9_Template","ReusedPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_template_11_Template","ReusedPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_container_14_Template","ReusedPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_container_16_Template","passwordUseMap","ReusedPasswordsReportComponent_div_15_ng_container_4_tr_12_Template","ReusedPasswordsReportComponent_div_15_app_callout_2_Template","ReusedPasswordsReportComponent_div_15_ng_container_4_Template","ReusedPasswordsReportComponent","ciphersWithPasswords","reusedPasswordCiphers","ReusedPasswordsReportComponent_small_5_Template","ReusedPasswordsReportComponent_div_13_Template","ReusedPasswordsReportComponent_div_15_Template","ReusedPasswordsReportComponent_ng_template_17_Template","UnsecuredWebsitesReportComponent_div_15_ng_container_4_tr_12_ng_container_13_Template","UnsecuredWebsitesReportComponent_div_15_ng_container_4_tr_12_ng_container_15_Template","UnsecuredWebsitesReportComponent_div_15_ng_container_4_tr_12_Template","UnsecuredWebsitesReportComponent_div_15_app_callout_2_Template","UnsecuredWebsitesReportComponent_div_15_ng_container_4_Template","UnsecuredWebsitesReportComponent","unsecuredCiphers","UnsecuredWebsitesReportComponent_small_5_Template","UnsecuredWebsitesReportComponent_div_13_Template","UnsecuredWebsitesReportComponent_div_15_Template","UnsecuredWebsitesReportComponent_ng_template_17_Template","WeakPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_container_9_Template","WeakPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_template_11_Template","WeakPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_container_14_Template","WeakPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_container_16_Template","passwordStrengthMap","WeakPasswordsReportComponent_div_15_ng_container_4_tr_12_Template","WeakPasswordsReportComponent_div_15_app_callout_2_Template","WeakPasswordsReportComponent_div_15_ng_container_4_Template","WeakPasswordsReportComponent","passwordStrengthCache","weakPasswordCiphers","hasUsername","cacheKey","scoreKey","WeakPasswordsReportComponent_small_5_Template","WeakPasswordsReportComponent_div_13_Template","WeakPasswordsReportComponent_div_15_Template","WeakPasswordsReportComponent_ng_template_17_Template","attachments_component_1","a_r4","reupload","reuploadPromises","AttachmentsComponent_table_25_tr_4_i_4_Template","AttachmentsComponent_table_25_tr_4_i_6_Template","download","AttachmentsComponent_table_25_tr_4_div_16_Template","downloading","deletePromises","AttachmentsComponent_table_25_tr_4_Template","AttachmentsComponent","reuploadCipherAttachment","AttachmentsComponent_small_12_Template","AttachmentsComponent_table_25_Template","onEventsClicked","deleted","getAllFromApiForOrganization","applyFilter","searchPending","filteredCiphers","searchCiphersBasic","resetPaging","collections_component_1","c_r9","i_r10","CollectionsComponent_table_40_tr_4_Template","CollectionsComponent","CollectionsComponent_small_12_Template","CollectionsComponent_div_35_Template","CollectionsComponent_div_38_Template","CollectionsComponent_table_40_Template","collectionData_1","getCollections","collectionDomains","decryptMany","unassignedCollection","getAllNested","grouping","bulk_delete_component_1","bulk_move_component_1","bulk_restore_component_1","bulk_share_component_1","bulkMove","bulkShare","bulkRestore","BulkActionsComponent","bulkDelete","selectedIds","ciphersComponent","bulkDeleteModalRef","BulkDeleteComponent","cipherIds","onDeleted","bulkRestoreModalRef","BulkRestoreComponent","onRestored","selectedCiphers","bulkShareModalRef","BulkShareComponent","onShared","bulkMoveModalRef","BulkMoveComponent","onMoved","BulkActionsComponent_button_10_Template","BulkActionsComponent_button_12_Template","BulkActionsComponent_button_14_Template","BulkActionsComponent_ng_template_38_Template","BulkActionsComponent_ng_template_41_Template","BulkActionsComponent_ng_template_44_Template","BulkActionsComponent_ng_template_47_Template","CipherWithIdRequest","FolderRequest","folder","SelectCopyDirective","onCopy","copyText","selection","getSelection","rangeCount","getRangeAt","stringEndPos","newLinePos","ColorPasswordPipe","colorizedPassword","isSpecial","FolderData","Folder","attachmentResponse_1","baseResponse_1","passwordHistoryResponse_1","CipherResponse","AttachmentResponse","h","PasswordHistoryResponse","profileOrganizationResponse_1","ProfileResponse","emailVerified","masterPasswordHint","culture","twoFactorEnabled","securityStamp","ProfileOrganizationResponse","SendFileApi","SendTextApi","sendFileView_1","SendFile","sendTextView_1","SendText","NotificationsService","webpackEmptyAsyncContext","keys","FrontendLayoutComponent","classList","remove","manageRoute","toolsRoute","OrganizationLayoutComponent_div_2_ul_23_li_11_Template","OrganizationLayoutComponent_div_2_ul_23_li_13_Template","OrganizationLayoutComponent_div_2_ul_23_li_15_Template","showManageTab","showToolsTab","isOwner","goToBusinessPortal","businessTokenPromise","OrganizationLayoutComponent_div_2_div_20_Template","OrganizationLayoutComponent_div_2_ul_23_Template","OrganizationLayoutComponent_div_2_button_28_Template","showMenuBar","showBusinessPortalButton","OrganizationLayoutComponent","broadcasterService","ngZone","businessUrl","enterpriseUrl","run","command","unsubscribe","getEnterprisePortalSignInToken","canManageUsers","canManageAssignedCollections","canManageGroups","canManagePolicies","canAccessEventLogs","canAccessImportExport","canAccessReports","canAccessBusinessPortal","NgZone","OrganizationLayoutComponent_div_2_Template","UserLayoutComponent","emergencyAccessAcceptRequest_1","AcceptEmergencyComponent","fired","queryParams","qParams","errorMessage","isAuthenticated","EmergencyAccessAcceptRequest","postEmergencyAccessAccept","toast","save","AcceptEmergencyComponent_div_0_Template","AcceptEmergencyComponent_div_2_Template","organizationUserAcceptRequest_1","orgName","AcceptOrganizationComponent","OrganizationUserAcceptRequest","postOrganizationUserAccept","organizationName","AcceptOrganizationComponent_div_0_Template","AcceptOrganizationComponent_div_2_Template","hint_component_1","HintComponent","lock_component_1","LockComponent","routerService","hasKey","onSuccessfulSubmit","successRoute","webVaultHostname","login_component_1","LoginComponent","authService","onSuccessfulLoginNavigate","goAfterLogIn","queryParamsSub","orgInvite","emergencyInvite","loginRedirect","rememberEmail","deleteRecoverRequest_1","RecoverDeleteComponent","DeleteRecoverRequest","postAccountRecoverDelete","twoFactorRecoveryRequest_1","RecoverTwoFactorComponent","TwoFactorRecoveryRequest","postTwoFactorRecover","register_component_1","policy_1","policyData_1","referenceEventRequest_1","RegisterComponent_div_9_div_4_Template","RegisterComponent_div_9_div_6_Template","RegisterComponent_div_9_div_8_Template","layout","minLength","RegisterComponent_app_callout_53_li_5_Template","RegisterComponent_app_callout_53_li_7_Template","RegisterComponent_app_callout_53_li_9_Template","RegisterComponent_app_callout_53_li_11_Template","RegisterComponent_app_callout_53_li_13_Template","RegisterComponent_app_callout_53_li_15_Template","requireUpper","requireLower","requireNumbers","requireSpecial","acceptPolicies","RegisterComponent","showCreateOrgMessage","referenceData","ReferenceEventRequest","reference","cookie","pop","invite","getPoliciesByToken","policiesData","PolicyData","Policy","RegisterComponent_header_2_Template","RegisterComponent_div_9_Template","RegisterComponent_p_17_Template","RegisterComponent_app_callout_23_Template","RegisterComponent_app_callout_53_Template","confirmMasterPassword","hint","RegisterComponent_div_117_Template","showTerms","_r1","set_password_component_1","SetPasswordComponent_div_15_app_callout_8_li_5_Template","SetPasswordComponent_div_15_app_callout_8_li_7_Template","SetPasswordComponent_div_15_app_callout_8_li_9_Template","SetPasswordComponent_div_15_app_callout_8_li_11_Template","SetPasswordComponent_div_15_app_callout_8_li_13_Template","SetPasswordComponent_div_15_app_callout_8_li_15_Template","SetPasswordComponent_div_15_app_callout_8_Template","_r11","SetPasswordComponent","SetPasswordComponent_div_13_Template","SetPasswordComponent_div_15_Template","syncLoading","sso_component_1","SsoComponent","redirectUri","origin","storedIdentifier","SsoComponent_div_11_Template","SsoComponent_div_13_Template","initiateSsoFormPromise","loggingIn","twoFactorRoute","changePasswordRoute","checkState","getOrgIdentiferFromState","codeChallenge","returnUri","includeUserIdentifier","preValidate","buildAuthorizeUrl","authorizeUrl","sameWindow","preValidateSso","passwordOptions","uppercase","lowercase","numbers","special","codeVerifierHash","identityBaseUrl","getSsoUserIdentifier","userIdentifier","orgIdFromState","onSuccessfulLoginTwoFactorNavigate","sso","onSuccessfulLoginChangePasswordNavigate","disableFavicon","onSuccessfulLogin","stateSplit","checkStateSplit","two_factor_options_component_1","two_factor_component_1","twoFactorEmail","sendEmail","emailPromise","TwoFactorComponent_ng_container_14_small_14_a_2_Template","selectedProviderType","TwoFactorComponent_ng_container_14_p_2_Template","TwoFactorComponent_ng_container_14_p_4_Template","TwoFactorComponent_ng_container_14_small_14_Template","TwoFactorComponent_ng_container_18_p_2_Template","TwoFactorComponent_ng_container_18_ng_container_4_Template","u2fReady","TwoFactorComponent","anotherMethod","twoFactorOptionsModal","TwoFactorOptionsComponent","onProviderSelected","onRecoverSelected","TwoFactorComponent_ng_container_14_Template","TwoFactorComponent_ng_container_16_Template","TwoFactorComponent_ng_container_18_Template","TwoFactorComponent_ng_container_20_Template","TwoFactorComponent_i_22_Template","TwoFactorComponent_div_24_Template","TwoFactorComponent_ng_container_26_Template","TwoFactorComponent_button_32_Template","TwoFactorComponent_ng_template_51_Template","p_r1","choose","TwoFactorOptionsComponent_a_22_Template","recover","TwoFactorEmailRequest","verifyEmailRequest_1","VerifyEmailTokenComponent","postAccountVerifyEmailToken","VerifyEmailRequest","verifyDeleteRecoverRequest_1","VerifyRecoverDeleteComponent","VerifyDeleteRecoverRequest","postAccountRecoverDeleteToken","collection_add_edit_component_1","entity_users_component_1","c_r10","CollectionsComponent_ng_container_28_table_4_tr_4_Template","searchedCollections_r6","CollectionsComponent_ng_container_28_p_2_Template","CollectionsComponent_ng_container_28_table_4_Template","didScroll","pagedCollectionsCount","getUserCollections","pagedLength","pagedCollections","pagedSize","addEditModalRef","CollectionAddEditComponent","onSavedCollection","onDeletedCollection","removeCollection","deleteCollection","usersModalRef","isSearching","isSearchable","searching","index","CollectionsComponent_ng_container_26_Template","CollectionsComponent_ng_container_28_Template","CollectionsComponent_ng_template_31_Template","CollectionsComponent_ng_template_34_Template","collectionRequest_1","g_r12","CollectionAddEditComponent_div_22_ng_container_24_table_10_tr_25_ng_container_9_Template","i_r13","CollectionAddEditComponent_div_22_ng_container_24_table_10_tr_25_Template","groups","CollectionAddEditComponent_div_22_ng_container_24_div_5_Template","CollectionAddEditComponent_div_22_ng_container_24_div_8_Template","CollectionAddEditComponent_div_22_ng_container_24_table_10_Template","CollectionAddEditComponent_div_22_ng_container_24_Template","accessGroups","getGroups","groupsResponse","getCollectionDetails","group","g","CollectionRequest","putCollection","postCollection","CollectionAddEditComponent_div_20_Template","CollectionAddEditComponent_div_22_Template","CollectionAddEditComponent_button_42_Template","e_r7","EventsComponent_ng_container_39_table_4_tr_29_Template","EventsComponent_ng_container_39_p_2_Template","EventsComponent_ng_container_39_table_4_Template","EventsComponent_ng_container_39_button_6_Template","EventsComponent","getEventsOrganization","EventsComponent_ng_container_37_Template","EventsComponent_ng_container_39_Template","group_add_edit_component_1","g_r10","GroupsComponent_ng_container_28_table_4_tr_4_Template","searchedGroups_r6","GroupsComponent_ng_container_28_p_2_Template","GroupsComponent_ng_container_28_table_4_Template","GroupsComponent","pagedGroupsCount","pagedGroups","GroupAddEditComponent","onSavedGroup","onDeletedGroup","removeGroup","deleteGroup","GroupsComponent_ng_container_26_Template","GroupsComponent_ng_container_28_Template","GroupsComponent_ng_template_31_Template","GroupsComponent_ng_template_34_Template","groupRequest_1","c_r12","GroupAddEditComponent_div_22_ng_container_60_table_4_tr_25_Template","GroupAddEditComponent_div_22_ng_container_60_div_2_Template","GroupAddEditComponent_div_22_ng_container_60_table_4_Template","GroupAddEditComponent_div_22_div_36_Template","access","GroupAddEditComponent_div_22_ng_container_60_Template","getGroupDetails","GroupRequest","putGroup","postGroup","GroupAddEditComponent_div_20_Template","GroupAddEditComponent_div_22_Template","GroupAddEditComponent_button_42_Template","ManageComponent_div_6_a_8_Template","ManageComponent_div_6_a_10_Template","ManageComponent_div_6_a_12_Template","ManageComponent_div_6_a_14_Template","ManageComponent_div_6_a_16_Template","accessPolicies","ManageComponent","ManageComponent_div_6_Template","organizationUserConfirmRequest_1","entity_events_component_1","user_add_edit_component_1","user_confirm_component_1","user_groups_component_1","allCount","invitedCount","acceptedCount","u_r18","reinvite","_r38","confirm","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_12_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_14_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_small_16_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_ng_container_21_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_26_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_28_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_30_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_32_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_34_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_a_49_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_a_51_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_a_53_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_a_55_Template","ctx_r17","PeopleComponent_ng_container_49_ng_container_4_app_callout_2_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_Template","showConfirmUsers","searchedUsers_r13","PeopleComponent_ng_container_49_p_2_Template","PeopleComponent_ng_container_49_ng_container_4_Template","PeopleComponent","statusMap","pagedUsersCount","viewEvents","pagedUsers","confirmedCount","UserAddEditComponent","onSavedUser","onDeletedUser","removeUser","groupsModalRef","UserGroupsComponent","deleteOrganizationUser","postOrganizationUserReinvite","updateUser","mapIndex","autoConfirm","doConfirmation","confirmModalRef","UserConfirmComponent","onConfirmedUser","eventsModalRef","getUserPublicKey","publicKeyResponse","log","getFingerprint","rsaEncrypt","OrganizationUserConfirmRequest","postOrganizationUserConfirm","PeopleComponent_span_13_Template","PeopleComponent_span_19_Template","PeopleComponent_span_25_Template","PeopleComponent_ng_container_47_Template","PeopleComponent_ng_container_49_Template","PeopleComponent_ng_template_52_Template","PeopleComponent_ng_template_55_Template","PeopleComponent_ng_template_58_Template","PeopleComponent_ng_template_61_Template","_c4","_c5","organizationUserInviteRequest_1","organizationUserUpdateRequest_1","permissionsApi_1","emails","c_r28","i_r29","UserAddEditComponent_div_24_ng_container_117_table_4_tr_25_Template","UserAddEditComponent_div_24_ng_container_117_div_2_Template","UserAddEditComponent_div_24_ng_container_117_table_4_Template","UserAddEditComponent_div_24_ng_container_2_Template","UserAddEditComponent_div_24_ng_container_79_Template","UserAddEditComponent_div_24_div_93_Template","UserAddEditComponent_div_24_ng_container_117_Template","customUserTypeSelected","showCustom","getOrganizationUser","setRequestPermissions","clearPermissions","OrganizationUserUpdateRequest","putOrganizationUser","OrganizationUserInviteRequest","postOrganizationUserInvite","UserAddEditComponent_small_11_Template","UserAddEditComponent_div_22_Template","UserAddEditComponent_div_24_Template","UserAddEditComponent_button_44_Template","dontAskAgain","fingerprint","UserConfirmComponent_small_12_Template","organizationUserUpdateGroupsRequest_1","g_r7","i_r8","UserGroupsComponent_div_25_table_8_tr_4_Template","UserGroupsComponent_div_25_div_6_Template","UserGroupsComponent_div_25_table_8_Template","getOrganizationUserGroups","userGroups","ug","OrganizationUserUpdateGroupsRequest","groupIds","putOrganizationUserGroups","UserGroupsComponent_small_12_Template","UserGroupsComponent_div_23_Template","UserGroupsComponent_div_25_Template","policy_edit_component_1","goToEnterprisePortal","_r13","p_r8","PoliciesComponent_table_11_tr_4_td_2_span_5_Template","PoliciesComponent_table_11_tr_4_td_2_Template","display","PoliciesComponent_table_11_tr_4_Template","PoliciesComponent","userCanAccessBusinessPortal","policiesEnabledMap","MasterPassword","PasswordGenerator","RequireSso","PersonalOwnership","policyIdFromEvents","_i","orgPolicies","orgPolicy","getPolicies","op","editModalRef","PolicyEditComponent","onSavedPolicy","enterpriseTokenPromise","PoliciesComponent_app_callout_0_Template","PoliciesComponent_ng_container_9_Template","PoliciesComponent_table_11_Template","PoliciesComponent_ng_template_13_Template","api_service_1","appId_service_1","AppIdService","audit_service_1","cipher_service_1","collection_service_1","crypto_service_1","environment_service_1","folder_service_1","i18n_service_1","log_service_1","LogService","messaging_service_1","passwordGeneration_service_1","platformUtils_service_1","search_service_1","settings_service_1","storage_service_1","state_service_1","sync_service_1","token_service_1","totp_service_1","user_service_1","vaultTimeout_service_1","policyRequest_1","o_r10","masterPassMinComplexity","PolicyEditComponent_div_23_ng_container_24_option_12_Template","masterPassMinLength","masterPassRequireUpper","masterPassRequireLower","masterPassRequireNumbers","masterPassRequireSpecial","passwordScores","o_r19","passGenDefaultType","PolicyEditComponent_div_23_ng_container_26_option_12_Template","passGenMinLength","passGenMinNumbers","passGenMinSpecial","passGenUseUpper","passGenUseLower","passGenUseNumbers","passGenUseSpecial","passGenMinNumberWords","passGenCapitalize","passGenIncludeNumber","defaultTypes","PolicyEditComponent_div_23_app_callout_5_Template","PolicyEditComponent_div_23_app_callout_7_Template","PolicyEditComponent_div_23_ng_container_9_Template","PolicyEditComponent_div_23_app_callout_11_Template","PolicyEditComponent_div_23_ng_container_24_Template","PolicyEditComponent_div_23_ng_container_26_Template","policyType","checkboxDesc","getPolicy","defaultType","useUpper","useLower","useNumbers","useSpecial","minNumbers","minSpecial","minNumberWords","capitalize","includeNumber","PolicyRequest","putPolicy","PolicyEditComponent_div_21_Template","PolicyEditComponent_div_23_Template","organizationUpdateRequest_1","api_key_component_1","purge_vault_component_1","delete_organization_component_1","viewApiKey","rotateApiKey","taxFormPromise","AccountComponent","canUseApi","OrganizationUpdateRequest","putOrganization","deleteOrganization","deleteModalRef","DeleteOrganizationComponent","purgeVault","purgeModalRef","apiKeyModalRef","postOrganizationApiKey","rotateApiKeyModalRef","postOrganizationRotateApiKey","AccountComponent_div_7_Template","AccountComponent_form_9_Template","AccountComponent_ng_container_11_Template","AccountComponent_div_24_Template","AccountComponent_form_26_Template","AccountComponent_ng_template_53_Template","AccountComponent_ng_template_56_Template","AccountComponent_ng_template_59_Template","AccountComponent_ng_template_62_Template","user_billing_component_1","OrganizationBillingComponent_ng_container_11_ng_container_25_app_callout_2_Template","OrganizationBillingComponent_ng_container_11_ng_container_25_span_8_Template","OrganizationBillingComponent_ng_container_11_table_37_tr_4_span_25_Template","OrganizationBillingComponent_ng_container_11_table_37_tr_4_span_27_Template","OrganizationBillingComponent_ng_container_11_table_37_tr_4_Template","OrganizationBillingComponent_ng_container_11_table_45_tr_4_span_8_Template","OrganizationBillingComponent_ng_container_11_table_45_tr_4_span_10_Template","OrganizationBillingComponent_ng_container_11_table_45_tr_4_i_15_Template","OrganizationBillingComponent_ng_container_11_table_45_tr_4_Template","OrganizationBillingComponent_ng_container_11_button_15_Template","OrganizationBillingComponent_ng_container_11_app_add_credit_17_Template","OrganizationBillingComponent_ng_container_11_p_23_Template","OrganizationBillingComponent_ng_container_11_ng_container_25_Template","OrganizationBillingComponent_ng_container_11_button_27_Template","OrganizationBillingComponent_ng_container_11_app_adjust_payment_29_Template","OrganizationBillingComponent_ng_container_11_p_35_Template","OrganizationBillingComponent_ng_container_11_table_37_Template","OrganizationBillingComponent_ng_container_11_p_43_Template","OrganizationBillingComponent_ng_container_11_table_45_Template","OrganizationBillingComponent","OrganizationBillingComponent_button_6_Template","OrganizationBillingComponent_ng_container_9_Template","OrganizationBillingComponent_ng_container_11_Template","reinstate","reinstatePromise","OrganizationSubscriptionComponent_ng_container_11_dl_6_dd_13_span_3_Template","sub","isExpired","OrganizationSubscriptionComponent_ng_container_11_dl_6_dd_13_Template","OrganizationSubscriptionComponent_ng_container_11_dl_6_dd_15_Template","OrganizationSubscriptionComponent_ng_container_11_div_8_ng_container_13_span_11_Template","subscription","subscriptionMarkedForCancel","nextInvoice","i_r19","quantity","OrganizationSubscriptionComponent_ng_container_11_div_8_div_17_tr_10_Template","OrganizationSubscriptionComponent_ng_container_11_div_8_ng_container_13_Template","OrganizationSubscriptionComponent_ng_container_11_div_8_div_17_Template","closeUpdateLicense","updateLicense","OrganizationSubscriptionComponent_ng_container_11_ng_container_10_div_13_Template","showUpdateLicense","changePlan","downloadLicense","showDownloadLicense","ctx_r29","cancelPromise","_r42","closeChangePlan","closeDownloadLicense","ctx_r31","_r50","adjustSeats","_r53","closeSeats","ctx_r48","adjustSeatsAdd","billingInterval","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_ng_container_23_div_4_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_ng_container_23_app_adjust_seats_6_Template","ctx_r32","showAdjustSeats","_r58","adjustStorage","_r61","closeStorage","ctx_r56","adjustStorageAdd","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_ng_container_40_div_4_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_ng_container_40_app_adjust_storage_6_Template","ctx_r33","showAdjustStorage","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_button_4_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_button_6_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_button_8_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_app_change_plan_11_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_div_13_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_ng_container_23_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_ng_container_40_Template","showChangePlan","canDownloadLicense","cancelled","canAdjustSeats","storageName","storageProgressWidth","storagePercentage","OrganizationSubscriptionComponent_ng_container_11_app_callout_2_Template","OrganizationSubscriptionComponent_ng_container_11_app_callout_4_Template","OrganizationSubscriptionComponent_ng_container_11_dl_6_Template","OrganizationSubscriptionComponent_ng_container_11_div_8_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_10_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_Template","OrganizationSubscriptionComponent","getOrganizationSubscription","postOrganizationReinstate","postOrganizationCancel","changed","updated","cancelAtEndDate","upcomingInvoice","storageGb","OrganizationSubscriptionComponent_small_5_Template","OrganizationSubscriptionComponent_ng_container_9_Template","OrganizationSubscriptionComponent_ng_container_11_Template","ChangePlanComponent","onChanged","defaultUpgradePlan","FamiliesAnnually","defaultUpgradeProduct","Families","DownloadLicenseComponent","onDownloaded","installationId","getOrganizationLicense","license","licenseString","JSON","stringify","saveFile","seatRequest_1","seatAdjustment","adjustedSeatTotal","AdjustSeatsComponent","SeatRequest","postOrganizationSeat","AdjustSeatsComponent_div_26_Template","SettingsComponent","access2fa","SettingsComponent_a_22_Template","SettingsComponent_a_24_Template","two_factor_setup_component_1","duoComp","getTwoFactorOrganizationProviders","updateTwoFactorAuthenticatorRequest_1","TwoFactorAuthenticatorComponent_form_26_ng_container_5_Template","TwoFactorAuthenticatorComponent_form_26_ng_container_7_Template","TwoFactorAuthenticatorComponent_form_26_p_43_Template","TwoFactorAuthenticatorComponent_form_26_hr_45_Template","TwoFactorAuthenticatorComponent_form_26_ng_container_57_Template","TwoFactorAuthenticatorComponent_form_26_span_67_Template","TwoFactorAuthenticatorComponent_form_26_span_69_Template","qrScript","UpdateTwoFactorAuthenticatorRequest","putTwoFactorAuthenticator","QRious","element","TwoFactorAuthenticatorComponent_app_two_factor_verify_24_Template","TwoFactorAuthenticatorComponent_form_26_Template","twoFactorEmailRequest_1","updateTwoFactorEmailRequest_1","sentEmail","TwoFactorEmailComponent_form_26_ng_container_7_span_33_Template","TwoFactorEmailComponent_form_26_ng_container_5_Template","TwoFactorEmailComponent_form_26_ng_container_7_Template","TwoFactorEmailComponent_form_26_span_17_Template","TwoFactorEmailComponent_form_26_span_19_Template","postTwoFactorEmailSetup","UpdateTwoFactorEmailRequest","putTwoFactorEmail","TwoFactorEmailComponent_app_two_factor_verify_24_Template","TwoFactorEmailComponent_form_26_Template","print","TwoFactorRecoveryComponent_ng_container_26_ng_container_4_Template","TwoFactorRecoveryComponent_ng_container_26_ng_container_6_Template","TwoFactorRecoveryComponent_ng_container_26_button_11_Template","w","open","write","onafterprint","formatString","TwoFactorRecoveryComponent_app_two_factor_verify_24_Template","TwoFactorRecoveryComponent_ng_container_26_Template","updateTwoFactorU2fDeleteRequest_1","updateTwoFactorU2fRequest_1","i_r14","k_r13","TwoFactorU2fComponent_form_25_li_25_ng_container_9_ng_container_2_Template","TwoFactorU2fComponent_form_25_li_25_ng_container_9_ng_container_4_Template","compromised","TwoFactorU2fComponent_form_25_li_25_ng_container_11_i_2_Template","TwoFactorU2fComponent_form_25_li_25_strong_5_Template","TwoFactorU2fComponent_form_25_li_25_strong_7_Template","TwoFactorU2fComponent_form_25_li_25_ng_container_9_Template","TwoFactorU2fComponent_form_25_li_25_ng_container_11_Template","removePromise","configured","keysConfiguredCount","TwoFactorU2fComponent_form_25_ng_container_72_ng_container_2_Template","TwoFactorU2fComponent_form_25_ng_container_72_ng_container_4_Template","TwoFactorU2fComponent_form_25_ng_container_72_ng_container_6_Template","u2fListening","u2fResponse","u2fError","disablePromise","_r36","TwoFactorU2fComponent_form_25_app_callout_5_Template","TwoFactorU2fComponent_form_25_li_25_Template","readKey","TwoFactorU2fComponent_form_25_ng_container_70_Template","TwoFactorU2fComponent_form_25_ng_container_72_Template","TwoFactorU2fComponent_form_25_i_79_Template","TwoFactorU2fComponent_form_25_span_81_Template","TwoFactorU2fComponent_form_25_button_84_Template","keyIdAvailable","challengePromise","u2fScript","UpdateTwoFactorU2fRequest","deviceResponse","putTwoFactorU2f","UpdateTwoFactorU2fDeleteRequest","deleteTwoFactorU2f","getTwoFactorU2fChallenge","challenge","readDevice","u2fChallenge","resetU2f","u2f","register","errorCode","listening","k","this_1","TwoFactorU2fComponent_app_two_factor_verify_23_Template","TwoFactorU2fComponent_form_25_Template","updateTwoFactorYubioOtpRequest_1","i_r9","k_r8","existingKey","TwoFactorYubiKeyComponent_form_25_div_54_input_6_Template","TwoFactorYubiKeyComponent_form_25_div_54_div_8_Template","TwoFactorYubiKeyComponent_form_25_app_callout_5_Template","TwoFactorYubiKeyComponent_form_25_div_54_Template","nfc","TwoFactorYubiKeyComponent_form_25_button_87_Template","UpdateTwoFactorYubioOtpRequest","key1","key2","key3","key4","key5","putTwoFactorYubiKey","padRight","max","TwoFactorYubiKeyComponent_app_two_factor_verify_23_Template","TwoFactorYubiKeyComponent_form_25_Template","getExportData","getOrganizationExport","getFileName","collectEvent","exposed_passwords_report_component_1","manageableCiphers","passwordHistoryView_1","FallbackSrcDirective","onError","appFallbackSrc","import_component_1","inactive_two_factor_report_component_1","reused_passwords_report_component_1","ToolsComponent_ng_container_4_div_8_a_7_Template","ToolsComponent_ng_container_4_div_6_Template","ToolsComponent_ng_container_4_div_8_Template","ToolsComponent","ToolsComponent_ng_container_2_Template","ToolsComponent_ng_container_4_Template","unsecured_websites_report_component_1","weak_passwords_report_component_1","VaultComponent","changeDetectorRef","groupingsComponent","successfully","detectChanges","reload","filterDeleted","filterCipherType","filterCollection","clearGroupingFilters","clearFilters","go","filterSearchText","editCipherAttachments","attachmentsModalRef","madeAttachmentChanges","onUploadedAttachment","onDeletedAttachment","editCipherCollections","collectionsModalRef","onSavedCollections","component","editCipher","cloneCipher","replaceUrl","ChangeDetectorRef","VaultComponent_ng_container_20_Template","VaultComponent_button_29_Template","VaultComponent_ng_template_39_Template","VaultComponent_ng_template_42_Template","VaultComponent_ng_template_45_Template","VaultComponent_ng_template_48_Template","saveCipherAttachment","saveAttachmentWithServer","cipherDomain","deleteCipherAttachment","attachmentId","deleteCipherAttachmentAdmin","cipherCollectionsRequest_1","allowSelectNone","loadCipherCollections","saveCollections","CipherCollectionsRequest","putCipherCollectionsAdmin","cipherBulkDeleteRequest_1","deleteCiphers","deleteCiphersAdmin","deleteManyWithServer","softDeleteManyWithServer","deleteRequest","CipherBulkDeleteRequest","deleteManyCiphersAdmin","putDeleteManyCiphersAdmin","ids","f_r2","moveManyWithServer","BulkMoveComponent_option_35_Template","restoreManyWithServer","o_r5","i_r11","BulkShareComponent_table_54_tr_4_Template","nonShareableCount","shareableCiphers","writeableCollections","allCollections","filterCollections","checkedCollectionIds","shareManyWithServer","BulkShareComponent_option_39_Template","BulkShareComponent_div_49_Template","BulkShareComponent_div_52_Template","BulkShareComponent_table_54_Template","canSave","sendType_1","s_r7","removePassword","SendComponent_table_81_tr_4_i_6_Template","SendComponent_table_81_tr_4_i_8_Template","editSend","SendComponent_table_81_tr_4_span_17_Template","SendComponent_table_81_tr_4_ng_container_19_Template","SendComponent_table_81_tr_4_ng_container_21_Template","SendComponent_table_81_tr_4_ng_container_23_Template","SendComponent_table_81_tr_4_ng_container_25_Template","SendComponent_table_81_tr_4_a_52_Template","sendType","File","maxAccessCountReached","expired","pendingDelete","deletionDate","SendComponent_table_81_tr_4_Template","filteredSends","addSend","SendComponent_div_83_ng_container_2_Template","SendComponent_div_83_ng_container_4_Template","SendComponent","sendService","refreshing","sends","searchTimeout","sendAddEditModalRef","sendId","onSavedSend","onDeletedSend","removePasswordWithServer","webVaultUrl","getWebVaultUrl","link","accessId","urlB64Key","clearSelections","SendComponent_ng_container_66_Template","SendComponent_table_81_Template","SendComponent_div_83_Template","SendComponent_ng_template_88_Template","sendView_1","typeChanged","AddEditComponent_div_20_div_2_option_10_Template","ctx_r24","AddEditComponent_div_20_ng_container_20_div_4_Template","AddEditComponent_div_20_ng_container_20_div_6_Template","o_r28","deletionDateSelect","AddEditComponent_div_20_div_34_option_4_Template","AddEditComponent_div_20_div_34_input_7_Template","deletionDateOptions","clearExpiration","o_r39","expirationDate","ctx_r38","expirationDateSelect","AddEditComponent_div_20_div_54_option_4_Template","AddEditComponent_div_20_div_54_input_7_Template","expirationDateOptions","_r47","accessCount","AddEditComponent_div_20_div_2_Template","_r51","AddEditComponent_div_20_ng_container_17_Template","AddEditComponent_div_20_ng_container_20_Template","AddEditComponent_div_20_div_34_Template","AddEditComponent_div_20_div_36_Template","AddEditComponent_div_20_a_51_Template","AddEditComponent_div_20_div_54_Template","AddEditComponent_div_20_div_56_Template","maxAccessCount","AddEditComponent_div_20_div_79_Template","AddEditComponent_div_20_label_86_Template","AddEditComponent_div_20_label_88_Template","AddEditComponent_div_20_h3_123_Template","AddEditComponent_div_20_div_125_Template","hasPassword","_r57","AddEditComponent_div_38_button_2_Template","datePipe","onCancelled","premiumRequiredAlertShown","loadSend","SendView","dateToString","now","setHours","encryptSend","encSend","saveWithServer","sendData","DatePipe","AddEditComponent_div_38_Template","deauthorize_sessions_component_1","delete_account_component_1","deauthorizeSessions","deauthModalRef","DeauthorizeSessionsComponent","deleteAccount","DeleteAccountComponent","viewUserApiKey","viewUserApiKeyModalRef","postUserApiKey","rotateUserApiKey","rotateUserApiKeyModalRef","postUserRotateApiKey","AccountComponent_ng_template_84_Template","AccountComponent_ng_template_87_Template","AccountComponent_ng_template_90_Template","AccountComponent_ng_template_93_Template","AccountComponent_ng_template_96_Template","postSecurityStamp","updateProfileRequest_1","profile","ProfileComponent_form_2_p_44_Template","_r2","ProfileComponent","getProfile","UpdateProfileRequest","putProfile","ProfileComponent_div_0_Template","ProfileComponent_form_2_Template","emailRequest_1","emailTokenRequest_1","newEmail","reset","ChangeEmailComponent","tokenSent","hasEncKey","EmailTokenRequest","postEmailToken","EmailRequest","newKey","newMasterPasswordHash","newEncKey","postEmail","ChangeEmailComponent_ng_container_27_Template","ChangeEmailComponent_span_34_Template","ChangeEmailComponent_span_36_Template","ChangeEmailComponent_button_39_Template","change_password_component_1","emergencyAccessStatusType_1","cipherWithIdRequest_1","emergencyAccessUpdateRequest_1","folderWithIdRequest_1","passwordRequest_1","updateKeyRequest_1","ChangePasswordComponent_app_callout_4_li_5_Template","ChangePasswordComponent_app_callout_4_li_7_Template","ChangePasswordComponent_app_callout_4_li_9_Template","ChangePasswordComponent_app_callout_4_li_11_Template","ChangePasswordComponent_app_callout_4_li_13_Template","ChangePasswordComponent_app_callout_4_li_15_Template","rotateEncKey","rotateEncKeyClicked","currentMasterPassword","PasswordRequest","postPassword","updateKey","getPrivateKey","encPrivateKey","UpdateKeyRequest","FolderWithIdRequest","postAccountKey","updateEmergencyAccesses","getEmergencyAccessTrusted","emergencyAccess","allowedStatuses","EmergencyAccessStatusType","RecoveryInitiated","RecoveryApproved","filteredAccesses","includes","filteredAccesses_1","granteeId","encryptedKey","updateRequest","EmergencyAccessUpdateRequest","waitTimeDays","keyEncrypted","putEmergencyAccess","ChangePasswordComponent_app_callout_4_Template","kdfRequest_1","kdfType_1","o_r2","ChangeKdfComponent","PBKDF2_SHA256","kdfOptions","KdfRequest","postAccountKdf","ChangeKdfComponent_option_40_Template","organization_plans_component_1","CreateOrganizationComponent","orgPlansComponent","EnterpriseAnnually","updateDomainsRequest_1","i_r7","custom","DomainRulesComponent_ng_container_20_div_2_Template","indexTrackBy","d_r14","toggleExcluded","DomainRulesComponent_table_38_tr_4_a_17_Template","DomainRulesComponent_table_38_tr_4_a_19_Template","customize","excluded","domains","DomainRulesComponent_table_38_tr_4_Template","DomainRulesComponent","getSettingsDomains","equivalentDomains","globalEquivalentDomains","globalDomain","UpdateDomainsRequest","excludedGlobalEquivalentDomains","d2","putSettingsDomains","DomainRulesComponent_p_18_Template","DomainRulesComponent_ng_container_20_Template","DomainRulesComponent_p_36_Template","DomainRulesComponent_table_38_Template","o_r3","OptionsComponent","vaultTimeout","vaultTimeoutAction","vaultTimeouts","localeOptions","supportedTranslationLocales","locale","localeNames","_h","disableIcons","enableGravatars","enableFullWidth","_g","startingLocale","setVaultTimeoutOptions","vaultTimeoutActionChanged","newValue","OptionsComponent_option_25_Template","OptionsComponent_option_89_Template","LinkSsoComponent","ngAfterContentInit","premiumPrice","PremiumComponent","getPremium","getEmailVerified","finalizePremium","postPremium","paymentResponse","PremiumComponent_app_callout_7_Template","PremiumComponent_a_59_Template","PremiumComponent_ng_container_62_Template","PremiumComponent_form_64_Template","SettingsComponent_a_26_Template","SettingsComponent_a_28_Template","SettingsComponent_a_30_Template","UserSubscriptionComponent_ng_container_11_dl_6_dd_6_Template","UserSubscriptionComponent_ng_container_11_dl_6_dd_8_Template","i_r17","UserSubscriptionComponent_ng_container_11_div_8_div_29_tr_10_Template","UserSubscriptionComponent_ng_container_11_div_8_span_15_Template","UserSubscriptionComponent_ng_container_11_div_8_div_29_Template","UserSubscriptionComponent_ng_container_11_ng_container_10_div_13_Template","_r39","ctx_r34","UserSubscriptionComponent_ng_container_11_ng_container_12_ng_container_24_div_4_Template","UserSubscriptionComponent_ng_container_11_ng_container_12_ng_container_24_app_adjust_storage_6_Template","UserSubscriptionComponent_ng_container_11_ng_container_12_button_4_Template","UserSubscriptionComponent_ng_container_11_ng_container_12_button_6_Template","UserSubscriptionComponent_ng_container_11_ng_container_12_ng_container_24_Template","UserSubscriptionComponent_ng_container_11_app_callout_2_Template","UserSubscriptionComponent_ng_container_11_app_callout_4_Template","UserSubscriptionComponent_ng_container_11_dl_6_Template","UserSubscriptionComponent_ng_container_11_div_8_Template","UserSubscriptionComponent_ng_container_11_ng_container_10_Template","UserSubscriptionComponent_ng_container_11_ng_container_12_Template","UserSubscriptionComponent","getUserSubscription","usingInAppPurchase","postReinstatePremium","postCancelPremium","UserSubscriptionComponent_small_5_Template","UserSubscriptionComponent_ng_container_9_Template","UserSubscriptionComponent_ng_container_11_Template","checkedUsername","breachedAccounts","d_r10","BreachReportComponent_div_41_ng_container_4_ul_6_li_2_li_22_Template","a_r8","logoPath","dataClasses","pwnCount","breachDate","addedDate","BreachReportComponent_div_41_ng_container_4_ul_6_li_2_Template","BreachReportComponent_div_41_ng_container_4_app_callout_2_Template","BreachReportComponent_div_41_ng_container_4_app_callout_4_Template","BreachReportComponent_div_41_ng_container_4_ul_6_Template","BreachReportComponent_div_41_p_2_Template","BreachReportComponent_div_41_ng_container_4_Template","BreachReportComponent","BreachReportComponent_div_41_Template","password_generator_component_1","password_generator_history_component_1","numWords","saveOptions","wordSeparator","lengthChanged","minNumber","minNumberChanged","minSpecialChanged","avoidAmbiguous","useUppercase","useLowercase","PasswordGeneratorComponent","history","historyModalRef","PasswordGeneratorHistoryComponent","PasswordGeneratorComponent_app_callout_7_Template","PasswordGeneratorComponent_ng_container_39_Template","PasswordGeneratorComponent_ng_container_41_Template","regenerate","PasswordGeneratorComponent_ng_template_66_Template","inEffect","h_r3","PasswordGeneratorHistoryComponent_ul_20_li_2_Template","PasswordGeneratorHistoryComponent_ul_20_Template","PasswordGeneratorHistoryComponent_div_22_Template","ToolsComponent_a_35_Template","ToolsComponent_span_66_Template","organizations_component_1","update_key_component_1","folder_add_edit_component_1","share_component_1","favorites","showVerifyEmail","showBrowserOutdated","showUpdateKey","showPremiumCallout","organizationsComponent","filterFavorites","filterFolder","onReuploadedAttachment","shareCipher","shareModalRef","ShareComponent","onSharedCipher","folderAddEditModalRef","FolderAddEditComponent","onSavedFolder","loadFolders","onDeletedFolder","updateKeyModalRef","UpdateKeyComponent","VaultComponent_div_39_Template","VaultComponent_app_verify_email_41_Template","VaultComponent_div_43_Template","VaultComponent_div_45_Template","VaultComponent_ng_template_68_Template","VaultComponent_ng_template_71_Template","VaultComponent_ng_template_74_Template","VaultComponent_ng_template_77_Template","VaultComponent_ng_template_80_Template","VaultComponent_ng_template_83_Template","makeRequest","getKey","FolderAddEditComponent_button_47_Template","c_r15","i_r16","ShareComponent_div_25_table_29_tr_4_Template","ShareComponent_div_25_option_14_Template","ShareComponent_div_25_div_24_Template","ShareComponent_div_25_div_27_Template","ShareComponent_div_25_table_29_Template","ShareComponent_small_12_Template","ShareComponent_div_23_Template","ShareComponent_div_25_Template","ShareComponent_button_29_Template","ShareComponent_a_31_Template","VerifyEmailComponent","postAccountVerifyEmail","OrganizationGuardService","canActivate","permissions_1","OrganizationTypeGuardService","Permissions","AccessBusinessPortal","AccessEventLogs","AccessImportExport","AccessReports","ManageAllCollections","ManageAssignedCollections","ManageGroups","ManageOrganization","ManagePolicies","ManageUsers","UnauthGuardService","isLocked","AuthGuardService","routerState","promptBiometric","data_1","domain_1","emergency_add_edit_component_1","c_r4","EmergencyAccessViewComponent_ng_container_9_tr_6_ng_container_13_Template","EmergencyAccessViewComponent_ng_container_9_tr_6_ng_container_15_Template","EmergencyAccessViewComponent_ng_container_9_tr_6_Template","EmergencyAccessViewComponent","EmergencyAddEditComponent","postEmergencyAccessView","decCiphers","rsaDecrypt","oldKeyBuffer","oldEncKey","cipherResponse","cipherData","getLocaleSortingFunction","EmergencyAccessViewComponent_ng_container_9_Template","EmergencyAccessViewComponent_ng_template_12_Template","EncryptedObject","EnvironmentUrls","GeneratedPasswordHistory","EmergencyAddEditComponent_div_20_div_4_option_10_Template","EmergencyAddEditComponent_div_20_div_17_option_8_Template","EmergencyAddEditComponent_div_20_ng_container_21_div_26_a_2_Template","EmergencyAddEditComponent_div_20_ng_container_21_div_64_a_5_Template","EmergencyAddEditComponent_div_20_ng_container_21_div_64_a_7_Template","EmergencyAddEditComponent_div_20_ng_container_21_ng_container_70_div_2_option_49_Template","EmergencyAddEditComponent_div_20_ng_container_21_ng_container_70_div_2_button_52_Template","EmergencyAddEditComponent_div_20_ng_container_21_ng_container_70_div_2_Template","EmergencyAddEditComponent_div_20_ng_container_21_div_14_Template","EmergencyAddEditComponent_div_20_ng_container_21_div_26_Template","EmergencyAddEditComponent_div_20_ng_container_21_div_64_Template","EmergencyAddEditComponent_div_20_ng_container_21_div_66_Template","EmergencyAddEditComponent_div_20_ng_container_21_ng_container_70_Template","EmergencyAddEditComponent_div_20_ng_container_21_a_72_Template","EmergencyAddEditComponent_div_20_ng_container_24_option_21_Template","EmergencyAddEditComponent_div_20_ng_container_24_option_57_Template","EmergencyAddEditComponent_div_20_ng_container_27_option_12_Template","EmergencyAddEditComponent_div_20_div_42_div_2_div_28_Template","EmergencyAddEditComponent_div_20_div_42_div_2_div_30_Template","EmergencyAddEditComponent_div_20_div_42_div_2_input_34_Template","EmergencyAddEditComponent_div_20_div_42_div_2_button_37_Template","EmergencyAddEditComponent_div_20_div_42_div_2_button_39_Template","EmergencyAddEditComponent_div_20_div_42_div_2_Template","EmergencyAddEditComponent_div_20_div_46_option_10_Template","EmergencyAddEditComponent_div_20_ng_container_48_option_16_Template","EmergencyAddEditComponent_div_20_ng_container_50_ng_container_8_div_2_Template","EmergencyAddEditComponent_div_20_ng_container_50_div_6_Template","EmergencyAddEditComponent_div_20_ng_container_50_ng_container_8_Template","EmergencyAddEditComponent_div_20_ng_container_52_div_16_div_2_Template","EmergencyAddEditComponent_div_20_ng_container_52_div_12_Template","EmergencyAddEditComponent_div_20_ng_container_52_div_14_Template","EmergencyAddEditComponent_div_20_ng_container_52_div_16_Template","EmergencyAddEditComponent_div_20_app_callout_2_Template","EmergencyAddEditComponent_div_20_div_4_Template","EmergencyAddEditComponent_div_20_div_17_Template","EmergencyAddEditComponent_div_20_ng_container_21_Template","EmergencyAddEditComponent_div_20_ng_container_24_Template","EmergencyAddEditComponent_div_20_ng_container_27_Template","EmergencyAddEditComponent_div_20_div_42_Template","EmergencyAddEditComponent_div_20_a_44_Template","EmergencyAddEditComponent_div_20_div_46_Template","EmergencyAddEditComponent_div_20_ng_container_48_Template","EmergencyAddEditComponent_div_20_ng_container_50_Template","EmergencyAddEditComponent_div_20_ng_container_52_Template","EmergencyAddEditComponent_div_30_button_2_Template","EmergencyAddEditComponent_div_30_button_4_Template","EmergencyAddEditComponent_div_20_Template","EmergencyAddEditComponent_button_24_Template","EmergencyAddEditComponent_div_30_Template","emergencyAccessType_1","emergencyAccessConfirmRequest_1","emergencyAccessResponse_1","emergency_access_add_edit_component_1","emergency_access_confirm_component_1","emergency_access_takeover_component_1","c_r14","approve","EmergencyAccessComponent_table_33_tr_4_span_12_Template","EmergencyAccessComponent_table_33_tr_4_span_14_Template","EmergencyAccessComponent_table_33_tr_4_span_16_Template","EmergencyAccessComponent_table_33_tr_4_span_18_Template","EmergencyAccessComponent_table_33_tr_4_span_20_Template","EmergencyAccessComponent_table_33_tr_4_span_22_Template","EmergencyAccessComponent_table_33_tr_4_small_24_Template","EmergencyAccessComponent_table_33_tr_4_a_39_Template","EmergencyAccessComponent_table_33_tr_4_a_41_Template","EmergencyAccessComponent_table_33_tr_4_a_43_Template","EmergencyAccessComponent_table_33_tr_4_a_45_Template","emergencyAccessStatusType","emergencyAccessType","View","Takeover","EmergencyAccessComponent_table_33_tr_4_Template","trustedContacts","c_r44","requestAccess","takeover","EmergencyAccessComponent_table_44_tr_4_span_12_Template","EmergencyAccessComponent_table_44_tr_4_span_14_Template","EmergencyAccessComponent_table_44_tr_4_span_16_Template","EmergencyAccessComponent_table_44_tr_4_span_18_Template","EmergencyAccessComponent_table_44_tr_4_span_20_Template","EmergencyAccessComponent_table_44_tr_4_span_22_Template","EmergencyAccessComponent_table_44_tr_4_small_24_Template","EmergencyAccessComponent_table_44_tr_4_a_39_Template","EmergencyAccessComponent_table_44_tr_4_a_41_Template","EmergencyAccessComponent_table_44_tr_4_a_43_Template","_r65","ctx_r43","EmergencyAccessComponent_table_44_tr_4_Template","grantedContacts","EmergencyAccessComponent","EmergencyAccessType","getEmergencyAccessGranted","EmergencyAccessAddEditComponent","emergencyAccessId","onSaved","contact","postEmergencyAccessReinvite","childComponent_1","EmergencyAccessConfirmComponent","onConfirmed","deleteEmergencyAccess","EmergencyAccessGranteeDetailsResponse","removeGrantee","removeGrantor","postEmergencyAccessInitiate","postEmergencyAccessApprove","postEmergencyAccessReject","EmergencyAccessTakeoverComponent","takeoverModalRef","onDone","EmergencyAccessConfirmRequest","postEmergencyAccessConfirm","EmergencyAccessComponent_a_20_Template","EmergencyAccessComponent_table_33_Template","EmergencyAccessComponent_p_35_Template","EmergencyAccessComponent_table_44_Template","EmergencyAccessComponent_p_46_Template","EmergencyAccessComponent_ng_template_48_Template","EmergencyAccessComponent_ng_template_51_Template","EmergencyAccessComponent_ng_template_54_Template","cipherResponse_1","creationDate","EmergencyAccessGrantorDetailsResponse","grantorId","EmergencyAccessTakeoverResponse","EmergencyAccessViewResponse","emergencyAccessInviteRequest_1","o_r12","EmergencyAccessAddEditComponent_div_26_ng_container_2_Template","waitTime","EmergencyAccessAddEditComponent_div_26_option_48_Template","waitTimes","getEmergencyAccess","EmergencyAccessInviteRequest","postEmergencyAccessInvite","EmergencyAccessAddEditComponent_span_11_Template","EmergencyAccessAddEditComponent_small_13_Template","EmergencyAccessAddEditComponent_div_24_Template","EmergencyAccessAddEditComponent_div_26_Template","EmergencyAccessAddEditComponent_i_32_Template","EmergencyAccessAddEditComponent_span_34_Template","EmergencyAccessAddEditComponent_button_43_Template","EmergencyAccessConfirmComponent_small_12_Template","emergencyAccessPasswordRequest_1","postEmergencyAccessTakeover","takeoverResponse","EmergencyAccessPasswordRequest","postEmergencyAccessPassword","EmergencyAccessTakeoverComponent_small_12_Template","apiKeyResponse_1","billingResponse_1","breachAccountResponse_1","collectionResponse_1","domainsResponse_1","errorResponse_1","eventResponse_1","folderResponse_1","groupResponse_1","identityTokenResponse_1","identityTwoFactorResponse_1","listResponse_1","organizationResponse_1","organizationSubscriptionResponse_1","organizationUserResponse_1","paymentResponse_1","planResponse_1","policyResponse_1","preloginResponse_1","profileResponse_1","selectionReadOnlyResponse_1","sendAccessResponse_1","sendResponse_1","subscriptionResponse_1","syncResponse_1","taxInfoResponse_1","taxRateResponse_1","twoFactorAuthenticatorResponse_1","twoFactorDuoResponse_1","twoFactorEmailResponse_1","twoFactorProviderResponse_1","twoFactorRescoverResponse_1","twoFactorU2fResponse_1","twoFactorYubiKeyResponse_1","userKeyResponse_1","logoutCallback","customUserAgent","urlsSet","isWebClient","isDesktopClient","usingBaseUrl","device","getDevice","setUrls","urls","apiBaseUrl","eventsBaseUrl","api","headers","Headers","Content-Type","Accept","Device-Type","qsStringify","toIdentityToken","identityClientId","credentials","getCredentials","cache","isJsonResponse","IdentityTokenResponse","TwoFactorProviders2","clearTwoFactorToken","IdentityTwoFactorResponse","ErrorResponse","doRefreshToken","BillingResponse","SubscriptionResponse","TaxInfoResponse","PreloginResponse","setPassword","getAccountRevisionDate","postPasswordHint","postRegister","PaymentResponse","postIapCheck","postAccountVerifyPassword","ApiKeyResponse","getFolder","FolderResponse","postFolder","putFolder","deleteFolder","getSend","SendResponse","postSendAccess","SendAccessResponse","getSends","ListResponse","postSend","postSendFile","putSend","putSendRemovePassword","deleteSend","getCipher","getCiphersOrganization","postCipher","postCipherCreate","putCipher","deleteManyCiphers","putMoveCiphers","putShareCipher","putShareCiphers","putCipherCollections","path","postImportCiphers","postImportOrganizationCiphers","putDeleteCipher","putDeleteManyCiphers","putRestoreCipher","putRestoreCipherAdmin","putRestoreManyCiphers","postCipherAttachment","postCipherAttachmentAdmin","postShareCipherAttachment","CollectionGroupDetailsResponse","CollectionResponse","dr","deleteCollectionUser","GroupDetailsResponse","GroupResponse","deleteGroupUser","PolicyResponse","OrganizationUserDetailsResponse","OrganizationUserUserDetailsResponse","PlanResponse","postImportDirectory","TaxRateResponse","DomainsResponse","getSync","SyncResponse","TwoFactorProviderResponse","TwoFactorAuthenticatorResponse","TwoFactorEmailResponse","TwoFactorDuoResponse","TwoFactorYubiKeyResponse","TwoFactorU2fResponse","ChallengeResponse","TwoFactorRecoverResponse","postTwoFactorEmail","OrganizationResponse","OrganizationSubscriptionResponse","getEvents","addEventParameters","EventResponse","postEventsCollect","getActiveBearerToken","authHeader","Authorization","UserKeyResponse","getHibpBreach","BreachAccountResponse","getToken","tokenNeedsRefresh","nativeFetch","handleError","hasResponse","requestInit","tokenError","getRefreshToken","decodedToken","decodeToken","grant_type","client_id","refresh_token","typeHeader","CollectionDetailsResponse","globalDomainResponse_1","GlobalDomainResponse","identityResponse","errorModel","responseErrorModel","getSingleMessage","messages","item","prefix","lastSep","lastIndexOf","businessAddress1","businessAddress2","businessAddress3","businessCountry","businessTaxNumber","maxAdditionalStorage","hasEvents","has2fa","upgradeSortOrder","displaySortOrder","stripePlanId","stripeSeatPlanId","stripeStoragePlanId","stripePremiumAccessPlanId","BillingSubscriptionResponse","BillingSubscriptionUpcomingInvoiceResponse","trialEndDate","periodStartDate","periodEndDate","cancelledDate","BillingSubscriptionItemResponse","sendFileApi_1","sendTextApi_1","makeAndGetAppId","getAnonymousAppId","existingId","guid","throttle_1","hashStart","hashEnding","leakedHashes","v","__decorate","throttle","cipherBulkMoveRequest_1","cipherBulkRestoreRequest_1","cipherBulkShareRequest_1","cipherShareRequest_1","sortedCiphersCache_1","sequentialize_1","Keys","DomainMatchBlacklist","Set","settingsService","sortedCiphersCache","SortedCiphersCache","sortCiphersByLastUsed","_decryptedCipherCache","clearIndex","indexCiphers","clearCache","decryptedCipherCache","existingCipher","existingHiddenFields","hiddenFields_1","ef","matchedField","encryptObjProperty","encryptCipherData","encryptFields","encryptPasswordHistories","encryptAttachments","attachmentsModel","encAttachments","fieldsModel","encFields","encryptField","encField","fieldModel","phModels","encPhs","encryptPasswordHistory","encPh","phModel","getAllDecryptedForGrouping","groupingId","getAllDecryptedForUrl","includeOtherTypes","defaultMatch","eqDomainsPromise","getEquivalentDomains","eqDomains","matches","eqDomain","matchingDomains","domainUrlHost","Host","urlHost","Exact","StartsWith","Never","decCiphers_1","promises_1","getLastUsedForUrl","getCipherForUrl","getLastLaunchedForUrl","getNextCipherForUrl","updateLastUsedIndexForUrl","updateLastUsedIndex","updateLastUsedDate","ciphersLocalData","cached","updateLastLaunchedDate","lastLaunched","saveNeverDomain","upsert","shareWithServer","attachmentPromises","shareAttachmentWithServer","encCipher","CipherShareRequest","encCiphers","ciphers_1","CipherBulkShareRequest","unencryptedFile","admin","readAsArrayBuffer","saveAttachmentRawWithServer","cData","filename","encFileName","dataEncKey","encryptToBytes","encData","blob","Blob","filepath","contentType","saveCollectionsWithServer","CipherBulkMoveRequest","deleteAttachment","deleteAttachmentWithServer","e_3","aLastUsed","bLastUsed","bothNotNull","sortCiphersByLastUsedThenName","aName","bName","softDelete","setDeletedDate","clearDeletedDate","constructor","CipherBulkRestoreRequest","restores","attachmentView","attachmentResponse","arrayBuffer","buf","decryptFromBytes","decBuf","e_4","theObj","modelProp","lastUsed","isCached","addCiphers","getLastLaunched","getLastUsed","getNext","sequentialize","propertyKey","descriptor","originalMethod","caches","args","arguments","getCache","argsCacheKey","onFinally","serviceUtils_1","decryptedCollectionCache","decCollections","nodes","collectionCopy","ServiceUtils","nestedTraverse","getNested","getTreeNodeObject","treeNode_1","nodeTree","partIndex","delimiter","partName","TreeNode","newPartName","ContainerService","attachToWindow","attachToGlobal","bigInt","encryptedObject_1","wordlist_1","secureStorageService","platformUtilService","option","biometric","supportsSecureStorage","keyHash","setOrgKeys","orgKeys","getKeyHash","encKeyCipher","decEncKey","stretchKey","getPublicKey","rsaExtractPublicKey","keyFingerprint","hkdfExpand","userFingerprint","hashPhrase","getOrgKeys","encOrgKeys","clearKey","legacyEtmKey","clearKeyHash","clearEncKey","memoryOnly","clearKeyPair","clearOrgKeys","clearPinProtectedKey","clearKeys","toggleKey","salt","pbkdf2","makeKeyFromPin","pin","protectedKeyCs","makePinKey","pinKey","decKey","randomBytes","rsaGenerateKeyPair","publicB64","privateEnc","makeSendKey","keyMaterial","hkdf","sendKey","getKeyForEncryption","theKey","buildEncKey","plainValue","plainBuf","aesEncrypt","encObj","encValue","macLen","encBytes","Rsa2048_OaepSha256_HmacSha256_B64","Rsa2048_OaepSha1_HmacSha256_B64","alg","cipherString","aesDecryptToBytes","decipher","aesDecryptToUtf8","encBuf","ctBytes","ivBytes","macBytes","randomNumber","min","rval","range","bitsNeeded","ceil","log2","bytesNeeded","mask","pow","byteArray","macData","hmac","keyForEnc","resolveLegacyKey","fastParams","aesDecryptFastParameters","hmacFast","computedMac","compareFast","aesDecryptFast","aesDecrypt","minimumEntropy","entropyPerWord","EEFLongWordList","hashArr","entropyAvailable","phrase","hashNumber","fromArray","remainder","divide","encKeyEnc","environmentUrls_1","notificationsService","setUrlsFromStorage","urlsObj","icons","notifications","webVault","enterprise","envUrls","apiUrl","identityUrl","notificationsUrl","eventsUrl","formatUrl","folderData_1","folder_1","folderRequest_1","decryptedFolderCache","decFolders","noneFolder","folderCopy","cId","updates","systemLanguage","localesDirectory","getLocalesJson","defaultMessages","localeMessages","translationLocale","Intl","Collator","numeric","sensitivity","loadMessages","translate","messagesObj","formattedLocale","locales","placeholders","placeProp","replaceToken","replaceContent","zxcvbn","generatedPasswordHistory_1","passwordGeneratorPolicyOptions_1","DefaultOptions","ambiguous","minUppercase","minLowercase","generatePassphrase","sanitizePasswordLength","positions","shuffleArray","allCharSet","lowercaseCharSet","uppercaseCharSet","numberCharSet","specialCharSet","positionChars","randomCharIndex","listLength","wordList","wordIndex","appendRandomNumberToRandomWord","optionsCache","enforcePasswordGeneratorPoliciesOnOptions","enforcedOptions","getPasswordGeneratorPolicyOptions","numberCount","specialCount","PasswordGeneratorPolicyOptions","currentPolicy","getHistory","encrypted","decryptHistory","addHistory","currentHistory","matchesPrevious","unshift","encryptHistory","newHistory","userInputs","globalUserInputs","finalUserInputs","normalizeOptions","decrypted","array","forGeneration","minUppercaseCalc","minLowercaseCalc","minNumberCalc","minSpecialCalc","settingsCache","getSettingsKey","setEquivalentDomains","setSettingsKey","getSettings","settings","purge","organizationData_1","sendData_1","syncInProgress","getLastSync","lastSync","setLastSync","toJSON","forceSync","allowThrowOnError","syncStarted","syncCompleted","needsSync","needsSyncing","syncProfile","syncFolders","syncCollections","syncCiphers","syncSends","syncSettings","syncPolicies","syncUpsertFolder","notification","isEdit","localFolder","remoteFolder","syncDeleteFolder","syncUpsertCipher","shouldUpdate","localCipher","checkCollections","remoteCipher","syncDeleteCipher","syncUpsertSend","localSend","remoteSend","SendData","syncDeleteSend","getSecurityStamp","stamp","setSecurityStamp","OrganizationData","replaceOrganizations","sendFileData_1","sendTextData_1","SendTextData","SendFileData","setToken","setRefreshToken","skipTokenStorage","toggleTokens","clearToken","decoded","getTokenExpirationDate","setUTCSeconds","tokenSecondsRemaining","offsetSeconds","msRemaining","valueOf","minutes","email_verified","getIssuer","iss","B32Chars","SteamChars","period","digits","keyB32","isOtpAuth","isSteamAuth","digitParams","periodParam","algParam","timeHex","leftPad","decToHex","timeBytes","keyBytes","b32ToBytes","sign","offset","otp","fullCode","trunc","isAutoCopyEnabled","b32ToHex","cleanedInput","bits","hex","byteIndex","chunk","signature","organization_1","clearOrganizations","lockedCallback","loggedOutCallback","checkOnInterval","checkVaultTimeout","isBiometricLockSet","isViewOpen","lockTimeout","lastActive","vaultTimeoutSeconds","allowSoftLock","isPinLockSet","logLevelType_1","hrtime","timersMap","debug","LogLevelType","Debug","info","Info","Warning","level","warn","time","timeEnd","elapsed","CipherWithIds","build","CollectionWithId","FolderWithId","importResult_1","baseImporter_1","cipherImportContext_1","IgnoredProperties","OnePasswordCsvImporter","loginPropertyParsers","setLoginUsername","setLoginPassword","setLoginUris","creditCardPropertyParsers","setCreditCardNumber","setCreditCardVerification","setCreditCardCardholderName","setCreditCardExpiry","identityPropertyParsers","setIdentityFirstName","setIdentityInitial","setIdentityLastName","setIdentityUserName","setIdentityEmail","setIdentityPhone","setIdentityCompany","quoteChar","escapeChar","getProp","setNotes","setCipherType","altUsername","context","CipherImportContext","setKnownLoginValue","setKnownCreditCardValue","setKnownIdentityValue","setUnknownValue","entries","agg","entry","getPropByRegexp","regexp","matchingKeys","getPropIncluding","includesMap","importRecord","func","lowerProperty","readableDate","toUTCString","view_1","NotificationType","enableProdMode","__NgCli_bootstrap_2","platformBrowser","bootstrapModule","__NgCli_bootstrap_1","AppModule","preserveWhitespaces","angular2_toaster_1","angulartics2_1","ngx_infinite_scroll_1","app_routing_module_1","drag_drop_1","platform_browser_1","animations_1","services_module_1","app_component_1","avatar_component_1","password_strength_component_1","footer_component_1","frontend_layout_component_1","navbar_component_1","organization_layout_component_1","user_layout_component_1","accept_emergency_component_1","accept_organization_component_1","recover_delete_component_1","recover_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","policies_component_1","account_component_1","adjust_seats_component_1","change_plan_component_1","download_license_component_1","organization_billing_component_1","organization_subscription_component_1","settings_component_1","tools_component_1","collections_component_2","vault_component_1","access_component_1","send_component_1","account_component_2","add_credit_component_1","adjust_payment_component_1","adjust_storage_component_1","change_email_component_1","change_kdf_component_1","create_organization_component_1","domain_rules_component_1","emergency_access_component_1","emergency_access_view_component_1","link_sso_component_1","options_component_1","premium_component_1","profile_component_1","settings_component_2","two_factor_setup_component_2","two_factor_verify_component_1","update_license_component_1","user_subscription_component_1","verify_email_component_1","breach_report_component_1","export_component_2","exposed_passwords_report_component_2","import_component_2","inactive_two_factor_report_component_2","reused_passwords_report_component_2","tools_component_2","unsecured_websites_report_component_2","weak_passwords_report_component_2","add_edit_component_3","attachments_component_2","bulk_actions_component_1","ciphers_component_2","collections_component_3","groupings_component_2","vault_component_2","callout_component_1","icon_component_1","a11y_title_directive_1","api_action_directive_1","autofocus_directive_1","blur_click_directive_1","box_row_directive_1","fallback_src_directive_1","input_verbatim_directive_1","select_copy_directive_1","stop_click_directive_1","stop_prop_directive_1","true_false_value_directive_1","color_password_pipe_1","i18n_pipe_1","search_ciphers_pipe_1","search_pipe_1","common_1","ca_1","cs_1","da_1","de_1","el_1","en_GB_1","es_1","et_1","fr_1","he_1","it_1","ja_1","ko_1","lv_1","ml_1","nb_1","nl_1","pl_1","pt_1","pt_PT_1","ru_1","sk_1","sv_1","uk_1","zh_Hans_1","zh_Hant_1","registerLocaleData","bootstrap","AppComponent","imports","BrowserModule","BrowserAnimationsModule","FormsModule","AppRoutingModule","ServicesModule","Angulartics2Module","forRoot","pageTracking","clearQueryParams","ToasterModule","InfiniteScrollModule","DragDropModule","declarations","AccessComponent","BlurClickDirective","BoxRowDirective","SearchCiphersPipe","organization_guard_service_1","organization_type_guard_service_1","unauth_guard_service_1","auth_guard_service_1","routes","pathMatch","redirectTo","RouterModule","useHash","paramsInheritanceStrategy","subscribers","messageCallback","passwordHintRequest_1","PasswordHintRequest","pinLock","invalidPinAttempts","pinSet","supportsBiometric","biometricLock","vaultUrl","failed","decPin","setKeyAndContinue","passwordValid","storedKeyHash","unlockBiometric","authenticateBiometric","doContinue","launchSsoBrowser","ssoRedirectUri","ssoCodeVerifier","webUrl","registerRequest_1","useLowerKdf","isIE","RegisterRequest","confirmField","setPasswordRequest_1","SetPasswordRequest","orgIdentifier","onSuccessfulChangePassword","Window","backdrop","className","addEventListener","modals_1","DuoWebSDK","u2f_1","initU2f","loginRoute","authing","needsLock","customWebVaultUrl","cleanupU2f","providerData","Challenge","challenges","Challenges","keyHandle","iframe","sig_request","Signature","submit_callback","sig","stop","doToast","cleanup","getDeviceString","pushToken","codes","client_secret","code_verifier","redirect_uri","deviceIdentifier","deviceName","twoFactorRemember","errorCallback","infoCallback","parseFunction","parseMessage","connectorLink","base64Encode","sendMessage","contentWindow","postMessage","removeEventListener","validMessage","encryptedFormat","downloadFile","getExport","extension","csv","onEditAttachments","onShareCipher","onEditCollections","onGeneratePassword","currentDate","myEmail","policies_1","addEditCipherInfo","previousCipherId","editCollections","restorePromise","restoreCipher","toggleUriOptions","moveItemInArray","previousIndex","currentIndex","hasUpdatedKey","canAccessAttachments","foundAttachment","a2","activeCipherId","onCipherClicked","onCipherRightClicked","onAddCipher","onAddCipherOptions","pagedCiphersCount","deletedFilter","searchCiphers","rightClickCipher","addCipherOptions","selectedCollectionIds","onAllClicked","onFavoritesClicked","onTrashClicked","onCipherTypeClicked","onFolderClicked","onAddFolder","onEditFolder","onCollectionClicked","setLoaded","collapsedGroupings","idPrefix","showSelect","onSelected","optionsResponse","sliderChanged","sliderInput","copyOptions","toggleOptions","cipherView","broadcasterMessaging_service_1","htmlStorage_service_1","memoryStorage_service_1","webPlatformUtils_service_1","event_service_1","router_service_1","validation_service_1","analytics_1","container_service_1","event_service_2","export_service_1","import_service_1","notifications_service_1","policy_service_1","send_service_1","webCryptoFunction_service_1","api_service_2","audit_service_2","auth_service_2","cipher_service_2","collection_service_2","crypto_service_2","cryptoFunction_service_1","environment_service_2","event_service_3","export_service_2","folder_service_2","i18n_service_2","import_service_2","notifications_service_2","passwordGeneration_service_2","policy_service_2","search_service_2","send_service_2","settings_service_2","state_service_2","sync_service_2","token_service_2","totp_service_2","user_service_2","vaultTimeout_service_2","language","BroadcasterMessagingService","WebPlatformUtilsService","HtmlStorageService","MemoryStorageService","WebCryptoFunctionService","consoleLogService","__generator","eventLoggingService","Analytics","initFactory","htmlEl","documentElement","theme","useValue","APP_INITIALIZER","useFactory","deps","LOCALE_ID","subscriber","arg","services_1","localStorageKeys","localStorageStartsWithKeys","memoryStorageStartsWithKeys","memoryStorage","isLocalStorage","localStorage","getItem","isMemoryStorage","sessionStorage","setItem","removeItem","swKey","BillingSourceResponse","BillingTransactionResponse","BillingInvoiceResponse","cardBrand","partiallyRefunded","refundedAmount","isActive","isVerified","modifiedDate","access_token","expiresIn","expires_in","tokenType","token_type","OrganizationUserResponse","userProfile","taxIdType","KeyResponse","limit","throttleKey","allThrottles","throttles","getThrottles","argsThrottleKey","queue","exec","comparator","sortedCiphersByUrl","timeouts","Ciphers","resetTimer","lastUsedIndex","y","getNextIndex","filePath","store","sweetalert2_js_1","browserCache","chrome","isFirefox","isChrome","isEdge","isOpera","isVivaldi","isSafari","isMacAppStore","analyticsId","rel","click","blobData","blobOptions","fileNameLower","doDownload","endsWith","msSaveOrOpenBlob","msSaveBlob","createObjectURL","position","confirmText","cancelText","iconClasses","iconHtmlStr","fire","heightAuto","buttonsStyling","iconHtml","showCancelButton","cancelButtonText","showConfirmButton","confirmButtonText","clipboardData","setData","queryCommandSupported","textarea","copyEl","contains","execCommand","readFromClipboard","getDefaultSystemTheme","onDefaultSystemThemeChange","GaObj","AnalyticsIds","gaFilter","dependencyResolver","gaTrackingId","defaultDisabled","appVersion","GoogleAnalyticsObject","param1","param2","ga","gaAnonAppId","gaTrackPageView","hitType","page","gaTrackEvent","XMLHttpRequest","eventCategory","eventAction","eventLabel","eventValue","cleanPagePath","pagePath","paramIndex","pathParts","newPathParts","eventData_1","eventRequest_1","uploadEvents","eventType","uploadImmediately","orgIds","eventCollection","EventData","EventRequest","clearEvents","cipherWithIds_1","collectionWithId_1","folderWithId_1","getEncryptedExport","getDecryptedExport","getOrganizationEncryptedExport","getOrganizationDecryptedExport","padNumber","getSeconds","foldersMap_1","exportCiphers_1","buildCommonCipher","unparse","jsonDoc_1","jsonDoc","collectionPromises","decCol","cipherPromises","decCipher","collectionsMap_1","exportCiphers_2","jsonDoc_2","padCharacter","numString","login_uri","login_username","login_password","login_totp","toView","toDomain","_j","_k","_l","_m","_o","_p","_q","_r","_s","_t","importCiphersRequest_1","importOrganizationCiphersRequest_1","kvpRequest_1","ascendoCsvImporter_1","avastCsvImporter_1","avastJsonImporter_1","aviraCsvImporter_1","bitwardenCsvImporter_1","bitwardenJsonImporter_1","blackBerryCsvImporter_1","blurCsvImporter_1","buttercupCsvImporter_1","chromeCsvImporter_1","clipperzHtmlImporter_1","codebookCsvImporter_1","dashlaneJsonImporter_1","encryptrCsvImporter_1","enpassCsvImporter_1","enpassJsonImporter_1","firefoxCsvImporter_1","fsecureFskImporter_1","gnomeJsonImporter_1","kasperskyTxtImporter_1","keepass2XmlImporter_1","keepassxCsvImporter_1","keeperCsvImporter_1","lastpassCsvImporter_1","logMeOnceCsvImporter_1","meldiumCsvImporter_1","msecureCsvImporter_1","mykiCsvImporter_1","onepassword1PifImporter_1","onepasswordMacCsvImporter_1","onepasswordWinCsvImporter_1","padlockCsvImporter_1","passkeepCsvImporter_1","passmanJsonImporter_1","passpackCsvImporter_1","passwordAgentCsvImporter_1","passwordBossJsonImporter_1","passwordDragonXmlImporter_1","passwordSafeXmlImporter_1","passwordWalletTxtImporter_1","rememBearCsvImporter_1","roboformCsvImporter_1","safeInCloudXmlImporter_1","saferpassCsvImport_1","secureSafeCsvImporter_1","splashIdCsvImporter_1","stickyPasswordXmlImporter_1","truekeyCsvImporter_1","upmCsvImporter_1","yotiCsvImporter_1","zohoVaultCsvImporter_1","getImportOptions","importResult","halfway","last","badData","postImport","getImporterInstance","BitwardenCsvImporter","BitwardenJsonImporter","LastPassCsvImporter","KeePassXCsvImporter","AviraCsvImporter","BlurCsvImporter","SafeInCloudXmlImporter","PadlockCsvImporter","KeePass2XmlImporter","ChromeCsvImporter","FirefoxCsvImporter","UpmCsvImporter","SaferPassCsvImporter","MeldiumCsvImporter","OnePassword1PifImporter","OnePasswordWinCsvImporter","OnePasswordMacCsvImporter","KeeperCsvImporter","PasswordDragonXmlImporter","EnpassCsvImporter","EnpassJsonImporter","PasswordSafeXmlImporter","DashlaneJsonImporter","MSecureCsvImporter","StickyPasswordXmlImporter","TrueKeyCsvImporter","ClipperzHtmlImporter","RoboFormCsvImporter","AscendoCsvImporter","PasswordBossJsonImporter","ZohoVaultCsvImporter","SplashIdCsvImporter","PassKeepCsvImporter","GnomeJsonImporter","PasswordAgentCsvImporter","PasspackCsvImporter","PassmanJsonImporter","AvastCsvImporter","AvastJsonImporter","FSecureFskImporter","KasperskyTxtImporter","RememBearCsvImporter","PasswordWalletTxtImporter","MykiCsvImporter","SecureSafeCsvImporter","LogMeOnceCsvImporter","BlackBerryCsvImporter","ButtercupCsvImporter","CodebookCsvImporter","EncryptrCsvImporter","YotiCsvImporter","ImportCiphersRequest","KvpRequest","request_2","ImportOrganizationCiphersRequest","fieldLower","web","logins","custName","note","pwd","loginName","cards","holderName","cardNumber","cvv","website","secondary_username","col","addCollection","collectionIndex","delimPosition","parseEncrypted","parseDecrypted","groupingsMap","fav","extra","OfficialProps","processingCustomFields","currentVersion","actionType","labelLower","Category","Favorite","Entry","Note","Username","TOTP","Website","Phone","PIN","Account","HandledResults","ADDRESS","processAddress","AUTHENTIFIANT","processAuth","BANKSTATEMENT","processNote","IDCARD","PAYMENTMEANS_CREDITCARD","processCard","IDENTITY","processIdentity","credential","secondaryLogin","fullName","nameParts","pseudo","addressName","addressFull","zipcode","owner","nameProperty","Label","Notes","CVV","expiry","Expiry","expParts","firstRow","containsField","fieldValue","fieldName","fieldNameLower","foldersMap","foldersIndexMap","folderTree","buildFolderTree","flattenFolderTree","template_type","processLogin","sensitive","uuid","parent_uuid","titlePrefix","tree","creditNumber","creditCvv","creditExpiry","keyRing","display_name","secret","attributes","attr","username_value","notesData","applicationsData","websitesData","workingData","parseDataCategory","applications","websites","nameKey","itemComment","itemCommentKey","colonIndex","rootGroup","traverse","isRootNode","groupPrefixName","groupName","nameEl","cipherIndex","entryString","valueEl","keyEl","attrs","ProtectInMemory","Group","buildBaseCipher","parseSecureNote","parseCard","parseIdentity","ccnum","cardCipher","profilename","firstname","lastname","ccname","cccsc","ccexp","ccexpParts","middlename","zip","extraParts","processedNote","typeParts","mappedData","parseSecureNoteMapping","Number","Name on Card","Security Code","Expiration Date","monthString","First Name","Last Name","Middle Name","Company","Address 1","Address 2","Address 3","City / Town","State","Zip / Postal Code","Country","Email Address","processingNotes","extraPart","DisplayName","UserName","Url","nickname","additionalInfo","twoFactAuthToken","cardName","exp_month","exp_year","firstAddressLine","secondAddressLine","zipCode","line","trashed","processStandardItem","processWinOpVaultItem","overview","URLs","urls_1","parsePasswordHistory","notesPlain","parseFields","sections","section","openContents","faveIndex","typeName","secureContents","urls_2","maxSize","designationKey","valueKey","fieldDesignation","street","onepasswordCsvImporter_1","setIdentityAddress","expSplit","tags","tag","getValue","custom_fields","customField","field_type","tagsJson","Tags","tagJson","__parsed_extra","fieldsJson","extraFields","fieldJson","newVersion","altFormat","login_url","identifiers","valObj","expDate","cf","records","record","categoryText","accountName","tagName","passwordSafe","notesDelimiter","getAttribute","groupText","trash","cardholder","verification","expiryMonth","expMonthNumber","expiryYear","expYearNumber","Name","Pwd","Rf_fields","labelEl","cardEl","labelIdEl","labelId","fieldEl","notesEl","Comment","parseFieldsToNotes","startIndex","loginNodes","loginNode","accountId","usernameText","passwordText","titleText","linkText","notesText","accountLogin","account","parentElement","buildGroupText","PropertiesToIgnore","memo","kind","expiryDate","document_content","ChamberName","parseData","SecretData","CustomData","signalR","signalRMsgPack","notificationType_1","notificationResponse_1","connected","inactive","reconnectTimer","signalrConnection","off","HubConnectionBuilder","withUrl","accessTokenFactory","skipNegotiation","transport","HttpTransportType","WebSockets","withHubProtocol","MessagePackHubProtocol","processNotification","NotificationResponse","onclose","reconnect","isAuthedAndUnlocked","updateConnection","sync","reconnectFromActivity","disconnectFromInactivity","contextId","payloadUserId","UserId","myUserId","SyncCipherCreate","SyncCipherUpdate","SyncCipherDelete","SyncLoginDelete","SyncFolderCreate","SyncFolderUpdate","SyncFolderDelete","SyncVault","SyncCiphers","SyncSettings","SyncOrgKeys","LogOut","SyncSendCreate","SyncSendUpdate","SyncSendDelete","SyncCipherNotification","SyncFolderNotification","UserNotification","SyncSendNotification","masterPasswordPolicyOptions_1","policyCache","MasterPasswordPolicyOptions","newPassword","toLocaleLowerCase","toLocaleUpperCase","lunr","indexing","builder","Builder","boost","extractor","uriExtractor","fieldExtractor","attachmentExtractor","isArray","every","getIndexForSearch","ciphersMap","searchResults","soWild_1","Query","wildcard","LEADING","TRAILING","q","tokenizer","term","searchSends","joined","protocolIndex","queryIndex","sendRequest_1","send_1","sendFile_1","sendText_1","decryptedSendCache","fileData","Send","cryptoKey","passwordHash","parseFile","decSends","SendRequest","forge","decryptParameters_1","crypto","subtle","ua","isOldSafari","algorithm","iterations","forgeLen","passwordBytes","toByteString","saltBytes","derivedKeyBytes","wcLen","passwordBuf","toBuf","saltBuf","pbkdf2Params","toWebCryptoAlgorithm","importKey","impKey","deriveBits","ikm","outputByteSize","infoBuf","hkdfParams","prk","hashLen","infoArr","runningOkmLength","previousT","okm","md","md5","sha1","valueBytes","update","digest","valueBuf","signingAlgorithm","mac1","mac2","arr1","arr2","getBytes","rand","Uint32Array","util","createBuffer","putInt32","DecryptParameters","meta","encKeyByteString","macKeyByteString","decode64","parameters","dataBuffer","createDecipher","finish","rsaParams","impPrivateKey","exportKey","jwkPrivateKey","jwkPublicKeyParams","kty","ext","impPublicKey","modulusLength","publicExponent","generateKey","getRandomValues","encodeUtf8","angulartics2GoogleAnalytics","toasterConfig","ToasterConfig","showCloseButton","mouseoverTimerStop","animation","lastActivity","idleTimer","isIdle","runOutsideAngular","onmousemove","recordActivity","onmousedown","ontouchstart","onclick","onscroll","onkeypress","setFullWidth","idleStateChanged","message_1","sanitize","SecurityContext","HTML","bodyOutputType","BodyOutputType","TrustedHtml","trustedHtml","Angulartics2GoogleAnalytics","i15","i16","i17","i18","i19","i20","i21","i22","i23","i24","i25","i26","sendAccess_1","sendAccessRequest_1","toggleText","AccessComponent_div_20_ng_container_9_app_callout_2_Template","sendText","AccessComponent_div_20_ng_container_9_button_9_Template","AccessComponent_div_20_ng_container_9_Template","AccessComponent_div_20_ng_container_12_Template","passwordRequired","unavailable","maskedText","keyArray","accessRequest","SendAccessRequest","sendResponse","sendAccess","SendAccess","AccessComponent_div_12_Template","AccessComponent_div_14_Template","AccessComponent_div_16_Template","AccessComponent_div_18_Template","AccessComponent_div_20_Template","sendAccessView_1","SendAccessView","blur","elRef","formEls","formEl","inputEl"],"mappings":"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,WACA,WACA,WACA,UACA,UACA,WACA,SACA,SACA,UACA,YACA,YACA,UACA,WACA,WACA,WACA,UACA,WACA,SACA,OACA,QACA,WACA,UACA,OACA,UACA,UACA,SACA,SACA,WACA,YACA,SACA,WACA,WACA,WACA,UACA,OACA,UACA,YACA,WACA,WACA,UACA,YACA,OACA,SACA,WACA,YACA,YACA,YACA,YACA,SACA,QACA,YACA,WACA,SACA,UACA,SACA,SACA,WACA,QACA,SACA,YACA,YACA,YACA,YACA,YACA,OACA,UACA,SACA,SACA,QACA,YACA,SACA,QACA,UACA,QACA,WACA,UACA,YACA,QACA,YACA,YACA,SACA,WACA,YACA,UACA,QACA,OACA,OACA,OACA,MACA,OACA,YACA,QACA,YACA,QACA,UACA,UACA,YACA,QACA,QACA,YACA,WACA,SACA,QACA,QACA,WACA,WACA,UACA,WACA,SACA,OACA,QACA,QACA,QACA,YACA,QACA,WACA,UACA,WACA,WACA,OACA,WACA,SACA,SACA,WACA,QACA,YACA,QACA,WACA,YACA,YACA,WACA,YACA,YACA,SACA,YACA,YACA,SACA,UACA,UACA,WACA,OACA,QACA,QACA,QACA,UACA,WACA,UACA,WACA,QACA,SACA,WACA,QACA,YACA,UACA,QACA,QACA,SACA,WACA,SACA,YACA,SACA,UACA,WACA,YACA,UACA,YACA,UACA,SACA,UACA,UACA,UACA,SACA,SACA,WACA,OACA,YACA,UACA,QACA,SACA,SACA,SACA,UACA,UACA,YACA,YACA,UACA,SACA,UACA,YACA,YACA,WACA,QACA,YACA,QACA,QACA,WACA,YACA,WACA,WACA,UACA,WACA,UACA,YACA,UACA,YACA,WACA,WACA,WACA,SACA,UACA,YACA,WACA,SACA,WACA,WACA,YACA,WACA,YACA,WACA,YACA,YACA,YACA,YACA,SACA,UACA,QACA,QACA,UACA,SACA,UACA,SACA,WACA,WACA,UACA,SACA,WACA,QACA,SACA,UACA,YACA,SACA,UACA,YACA,YACA,WACA,WACA,YACA,UACA,WACA,QACA,YACA,YACA,UACA,QACA,YACA,YACA,YACA,YACA,WACA,WACA,UACA,UACA,QACA,QACA,WACA,QACA,OACA,WACA,YACA,YACA,WACA,OACA,QACA,WACA,WACA,QACA,QACA,YACA,UACA,WACA,QACA,SACA,UACA,SACA,UACA,UACA,UACA,SACA,UACA,OACA,QACA,QACA,SACA,UACA,UACA,QACA,SACA,UACA,SACA,YACA,WACA,QACA,MACA,SACA,YACA,SACA,YACA,UACA,QACA,QACA,OACA,QACA,QACA,SACA,YACA,SACA,WACA,SACA,UACA,WACA,UACA,UACA,YACA,YACA,YACA,SACA,WACA,QACA,OACA,WACA,OACA,SACA,YACA,UACA,SACA,SACA,UACA,YACA,WACA,YACA,YACA,SACA,QACA,SACA,WACA,YACA,YACA,WACA,UACA,YACA,WACA,UACA,UACA,WACA,QACA,WACA,YACA,SACA,YACA,SACA,SACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,SACA,SACA,WACA,SACA,UACA,WACA,QACA,WACA,UACA,OACA,QACA,QACA,SACA,QACA,QACA,SACA,UACA,SACA,QACA,OACA,OACA,SACA,WACA,SACA,SACA,WACA,YACA,YACA,WACA,SACA,SACA,YACA,WACA,WACA,UACA,YACA,WACA,WACA,YACA,UACA,UACA,WACA,YACA,WACA,WACA,YACA,WACA,WACA,YACA,WACA,WACA,YACA,WACA,YACA,SACA,WACA,WACA,YACA,WACA,QACA,WACA,YACA,SACA,QACA,UACA,QACA,UACA,SACA,WACA,QACA,SACA,UACA,SACA,SACA,YACA,UACA,QACA,UACA,WACA,QACA,SACA,WACA,SACA,UACA,YACA,UACA,QACA,WACA,SACA,SACA,SACA,WACA,QACA,WACA,WACA,SACA,SACA,UACA,WACA,WACA,SACA,YACA,UACA,SACA,WACA,SACA,UACA,SACA,UACA,QACA,WACA,UACA,WACA,SACA,UACA,SACA,OACA,YACA,UACA,YACA,SACA,WACA,YACA,UACA,WACA,YACA,WACA,OACA,YACA,SACA,QACA,QACA,QACA,SACA,SACA,QACA,OACA,QACA,OACA,YACA,WACA,YACA,UACA,UACA,SACA,SACA,UACA,UACA,UACA,QACA,OACA,QACA,UACA,YACA,YACA,QACA,YACA,YACA,QACA,WACA,YACA,SACA,UACA,SACA,QACA,QACA,UACA,QACA,QACA,WACA,QACA,QACA,UACA,UACA,WACA,SACA,OACA,WACA,QACA,WACA,UACA,WACA,OACA,OACA,WACA,WACA,UACA,OACA,SACA,UACA,QACA,SACA,YACA,QACA,QACA,UACA,SACA,QACA,QACA,WACA,UACA,WACA,WACA,OACA,SACA,UACA,SACA,SACA,UACA,UACA,YACA,OACA,SACA,SACA,QACA,OACA,MACA,UACA,OACA,UACA,SACA,UACA,WACA,QACA,WACA,WACA,WACA,QACA,UACA,SACA,SACA,QACA,OACA,YACA,YACA,OACA,YACA,SACA,QACA,SACA,UACA,WACA,UACA,QACA,QACA,QACA,SACA,UACA,WACA,YACA,OACA,YACA,WACA,SACA,QACA,OACA,SACA,WACA,SACA,SACA,WACA,SACA,WACA,YACA,YACA,SACA,SACA,QACA,SACA,UACA,OACA,SACA,SACA,WACA,YACA,UACA,WACA,SACA,SACA,WACA,UACA,UACA,QACA,QACA,QACA,QACA,UACA,UACA,SACA,YACA,OACA,QACA,QACA,UACA,UACA,YACA,UACA,UACA,YACA,YACA,UACA,UACA,YACA,YACA,YACA,UACA,WACA,SACA,SACA,YACA,SACA,SACA,WACA,QACA,QACA,UACA,WACA,YACA,SACA,WACA,WACA,SACA,WACA,QACA,QACA,WACA,QACA,YACA,SACA,WACA,SACA,YACA,SACA,SACA,SACA,WACA,WACA,YACA,YACA,WACA,WACA,UACA,QACA,SACA,UACA,SACA,SACA,UACA,UACA,QACA,OACA,QACA,YACA,SACA,OACA,UACA,YACA,YACA,WACA,WACA,UACA,UACA,UACA,WACA,WACA,WACA,QACA,QACA,SACA,SACA,SACA,UACA,YACA,WACA,QACA,OACA,SACA,OACA,SACA,UACA,OACA,WACA,OACA,SACA,UACA,SACA,YACA,QACA,UACA,QACA,SACA,QACA,SACA,SACA,QACA,QACA,WACA,UACA,OACA,UACA,OACA,WACA,WACA,UACA,YACA,WACA,UACA,YACA,OACA,UACA,UACA,UACA,YACA,QACA,SACA,WACA,SACA,WACA,UACA,WACA,SACA,QACA,SACA,SACA,UACA,SACA,QACA,OACA,SACA,WACA,WACA,SACA,UACA,SACA,SACA,SACA,QACA,YACA,SACA,UACA,SACA,UACA,UACA,WACA,OACA,YACA,UACA,UACA,SACA,YACA,UACA,UACA,UACA,YACA,UACA,YACA,UACA,UACA,QACA,UACA,SACA,YACA,SACA,UACA,WACA,WACA,YACA,YACA,YACA,WACA,SACA,YACA,QACA,SACA,UACA,UACA,WACA,UACA,YACA,WACA,YACA,QACA,YACA,YACA,UACA,UACA,UACA,SACA,YACA,QACA,SACA,WACA,SACA,UACA,YACA,YACA,QACA,UACA,UACA,UACA,OACA,OACA,SACA,SACA,SACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,YACA,UACA,YACA,UACA,WACA,SACA,UACA,WACA,WACA,UACA,YACA,WACA,UACA,SACA,SACA,SACA,UACA,YACA,SACA,QACA,UACA,YACA,SACA,SACA,YACA,QACA,UACA,YACA,UACA,WACA,WACA,UACA,SACA,SACA,QACA,SACA,YACA,WACA,WACA,SACA,SACA,SACA,WACA,WACA,YACA,YACA,YACA,UACA,WACA,WACA,QACA,WACA,QACA,QACA,UACA,YACA,UACA,YACA,WACA,SACA,SACA,UACA,QACA,QACA,YACA,WACA,UACA,QACA,UACA,YACA,YACA,WACA,UACA,WACA,UACA,UACA,QACA,UACA,UACA,WACA,QACA,UACA,SACA,WACA,WACA,WACA,UACA,WACA,SACA,WACA,UACA,QACA,QACA,SACA,SACA,OACA,YACA,UACA,QACA,YACA,SACA,QACA,QACA,UACA,QACA,WACA,SACA,UACA,QACA,QACA,YACA,YACA,YACA,WACA,YACA,YACA,QACA,QACA,QACA,OACA,WACA,SACA,WACA,WACA,QACA,WACA,WACA,SACA,YACA,UACA,QACA,UACA,WACA,SACA,OACA,SACA,UACA,WACA,SACA,SACA,QACA,OACA,SACA,QACA,QACA,QACA,QACA,QACA,WACA,QACA,SACA,WACA,SACA,WACA,WACA,YACA,SACA,UACA,UACA,WACA,UACA,SACA,SACA,OACA,QACA,QACA,OACA,QACA,WACA,SACA,SACA,QACA,YACA,QACA,WACA,UACA,UACA,WACA,UACA,WACA,UACA,QACA,QACA,QACA,UACA,SACA,WACA,OACA,OACA,QACA,QACA,QACA,UACA,QACA,SACA,YACA,WACA,QACA,SACA,UACA,SACA,UACA,WACA,QACA,SACA,WACA,OACA,SACA,QACA,UACA,QACA,QACA,UACA,WACA,UACA,UACA,WACA,QACA,SACA,UACA,WACA,YACA,QACA,WACA,SACA,SACA,YACA,SACA,UACA,QACA,YACA,UACA,UACA,WACA,YACA,YACA,OACA,WACA,SACA,UACA,SACA,QACA,UACA,MACA,WACA,SACA,UACA,SACA,YACA,YACA,YACA,WACA,YACA,WACA,WACA,OACA,OACA,OACA,OACA,WACA,WACA,UACA,WACA,SACA,YACA,YACA,UACA,SACA,YACA,WACA,WACA,WACA,SACA,WACA,OACA,OACA,OACA,UACA,QACA,QACA,SACA,QACA,WACA,UACA,UACA,WACA,UACA,YACA,YACA,SACA,YACA,UACA,YACA,YACA,YACA,YACA,YACA,YACA,UACA,UACA,SACA,UACA,SACA,YACA,WACA,WACA,YACA,UACA,YACA,WACA,WACA,YACA,WACA,YACA,UACA,UACA,UACA,WACA,UACA,YACA,UACA,QACA,YACA,UACA,WACA,WACA,SACA,WACA,YACA,YACA,UACA,YACA,YACA,UACA,OACA,UACA,WACA,YACA,YACA,WACA,YACA,YACA,WACA,YACA,UACA,WACA,UACA,WACA,WACA,WACA,YACA,YACA,YACA,YACA,WACA,WACA,UACA,YACA,UACA,WACA,YACA,YACA,YACA,UACA,UACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,UACA,WACA,YACA,UACA,YACA,WACA,UACA,YACA,YACA,WACA,UACA,UACA,UACA,UACA,WACA,UACA,YACA,UACA,UACA,YACA,OACA,SACA,SACA,UACA,SACA,UACA,SACA,OACA,QACA,OACA,WACA,YACA,UACA,SACA,SACA,SACA,YACA,YACA,WACA,WACA,YACA,QACA,WACA,UACA,WACA,YACA,SACA,UACA,WACA,UACA,YACA,YACA,UACA,SACA,SACA,WACA,YACA,SACA,SACA,YACA,OACA,UACA,SACA,QACA,QACA,QACA,YACA,YACA,WACA,YACA,UACA,SACA,UACA,WACA,QACA,UACA,WACA,UACA,SACA,WACA,OACA,WACA,YACA,WACA,WACA,SACA,WACA,UACA,WACA,YACA,YACA,SACA,QACA,YACA,QACA,UACA,UACA,QACA,QACA,QACA,UACA,WACA,WACA,WACA,WACA,SACA,SACA,UACA,YACA,QACA,UACA,UACA,YACA,SACA,WACA,YACA,SACA,WACA,WACA,WACA,WACA,WACA,SACA,QACA,QACA,SACA,QACA,QACA,WACA,UACA,WACA,YACA,UACA,WACA,UACA,WACA,OACA,UACA,QACA,QACA,QACA,UACA,SACA,WACA,UACA,UACA,UACA,WACA,UACA,YACA,SACA,WACA,UACA,QACA,QACA,QACA,QACA,OACA,QACA,SACA,UACA,UACA,QACA,QACA,UACA,UACA,YACA,UACA,YACA,UACA,QACA,YACA,SACA,UACA,WACA,WACA,YACA,UACA,WACA,YACA,UACA,UACA,WACA,QACA,OACA,SACA,UACA,UACA,YACA,OACA,UACA,UACA,WACA,SACA,SACA,WACA,WACA,YACA,WACA,UACA,YACA,WACA,UACA,YACA,UACA,QACA,SACA,UACA,UACA,UACA,SACA,OACA,SACA,SACA,SACA,SACA,YACA,UACA,QACA,QACA,QACA,UACA,SACA,UACA,SACA,SACA,YACA,QACA,QACA,QACA,OACA,SACA,UACA,YACA,UACA,YACA,WACA,YACA,UACA,MACA,QACA,SACA,UACA,UACA,WACA,SACA,YACA,YACA,MACA,MACA,WACA,SACA,QACA,WACA,SACA,QACA,QACA,WACA,QACA,UACA,YACA,SACA,WACA,QACA,SACA,SACA,WACA,YACA,QACA,WACA,WACA,YACA,UACA,WACA,WACA,UACA,OACA,OACA,YACA,OACA,YACA,OACA,WACA,SACA,WACA,WACA,UACA,OACA,SACA,WACA,UACA,WACA,WACA,UACA,UACA,UACA,UACA,WACA,SACA,YACA,WACA,SACA,UACA,YACA,QACA,OACA,YACA,SACA,WACA,QACA,UACA,WACA,SACA,QACA,SACA,SACA,QACA,QACA,YACA,QACA,WACA,SACA,WACA,YACA,WACA,UACA,SACA,YACA,YACA,UACA,YACA,UACA,YACA,WACA,OACA,WACA,UACA,SACA,YACA,YACA,YACA,QACA,WACA,SACA,WACA,YACA,SACA,SACA,OACA,OACA,SACA,SACA,WACA,SACA,WACA,SACA,UACA,SACA,YACA,YACA,YACA,WACA,UACA,YACA,WACA,WACA,WACA,UACA,SACA,WACA,SACA,WACA,UACA,YACA,WACA,YACA,YACA,QACA,WACA,UACA,UACA,SACA,SACA,OACA,WACA,YACA,WACA,SACA,YACA,QACA,WACA,QACA,WACA,YACA,SACA,WACA,WACA,WACA,YACA,YACA,YACA,WACA,YACA,WACA,UACA,QACA,SACA,WACA,SACA,YACA,YACA,WACA,SACA,YACA,WACA,SACA,WACA,YACA,YACA,WACA,SACA,QACA,SACA,QACA,UACA,SACA,UACA,UACA,OACA,YACA,YACA,WACA,YACA,SACA,UACA,YACA,WACA,SACA,SACA,SACA,WACA,YACA,YACA,UACA,UACA,QACA,WACA,SACA,SACA,WACA,QACA,UACA,YACA,UACA,YACA,YACA,WACA,WACA,YACA,YACA,UACA,WACA,WACA,UACA,UACA,UACA,UACA,YACA,WACA,WACA,SACA,YACA,YACA,WACA,YACA,YACA,SACA,WACA,YACA,WACA,UACA,QACA,UACA,WACA,UACA,UACA,YACA,WACA,SACA,UACA,YACA,UACA,WACA,WACA,YACA,WACA,YACA,YACA,WACA,WACA,WACA,YACA,YACA,UACA,OACA,WACA,SACA,YACA,QACA,OACA,SACA,UACA,YACA,WACA,YACA,WACA,WACA,YACA,YACA,MACA,WACA,YACA,WACA,OACA,SACA,OACA,WACA,QACA,SACA,SACA,UACA,SACA,QACA,UACA,SACA,YACA,QACA,QACA,SACA,SACA,UACA,UACA,UACA,SACA,SACA,UACA,WACA,YACA,YACA,WACA,YACA,WACA,YACA,WACA,WACA,WACA,SACA,WACA,WACA,UACA,YACA,WACA,UACA,UACA,YACA,WACA,WACA,WACA,YACA,WACA,UACA,UACA,YACA,YACA,WACA,OACA,YACA,UACA,OACA,UACA,YACA,YACA,WACA,WACA,YACA,SACA,UACA,WACA,UACA,WACA,SACA,YACA,YACA,WACA,WACA,YACA,YACA,YACA,WACA,UACA,YACA,WACA,UACA,WACA,UACA,YACA,UACA,WACA,WACA,UACA,WACA,UACA,WACA,UACA,WACA,WACA,WACA,WACA,QACA,QACA,QACA,YACA,UACA,WACA,WACA,WACA,WACA,SACA,WACA,YACA,YACA,WACA,WACA,WACA,YACA,QACA,SACA,SACA,OACA,WACA,WACA,QACA,QACA,QACA,QACA,OACA,SACA,YACA,SACA,QACA,UACA,SACA,WACA,WACA,WACA,WACA,UACA,WACA,UACA,QACA,QACA,SACA,WACA,YACA,WACA,UACA,UACA,WACA,WACA,WACA,WACA,UACA,QACA,OACA,YACA,SACA,SACA,OACA,SACA,WACA,SACA,OACA,OACA,QACA,OACA,OACA,WACA,YACA,YACA,WACA,YACA,WACA,UACA,UACA,YACA,WACA,YACA,QACA,UACA,UACA,OACA,UACA,WACA,YACA,YACA,WACA,YACA,YACA,YACA,SACA,SACA,WACA,SACA,SACA,QACA,OACA,UACA,QACA,QACA,QACA,UACA,WACA,YACA,WACA,WACA,SACA,WACA,SACA,SACA,WACA,UACA,UACA,UACA,QACA,QACA,QACA,YACA,UACA,WACA,UACA,UACA,UACA,QACA,QACA,WACA,SACA,OACA,MACA,SACA,YACA,UACA,WACA,UACA,WACA,WACA,QACA,OACA,OACA,SACA,SACA,MACA,OACA,SACA,WACA,OACA,UACA,WACA,WACA,MACA,OACA,SACA,YACA,YACA,UACA,UACA,WACA,SACA,SACA,OACA,OACA,UACA,OACA,QACA,QACA,QACA,UACA,UACA,WACA,UACA,YACA,UACA,WACA,UACA,WACA,WACA,OACA,QACA,UACA,UACA,UACA,SACA,UACA,QACA,UACA,UACA,WACA,WACA,WACA,UACA,UACA,UACA,YACA,YACA,UACA,YACA,SACA,SACA,UACA,QACA,UACA,SACA,WACA,SACA,YACA,YACA,SACA,WACA,UACA,QACA,SACA,SACA,OACA,OACA,QACA,QACA,QACA,YACA,OACA,SACA,UACA,YACA,UACA,WACA,YACA,UACA,YACA,YACA,OACA,WACA,SACA,OACA,UACA,SACA,WACA,YACA,WACA,MACA,YACA,UACA,YACA,SACA,YACA,SACA,SACA,WACA,WACA,YACA,UACA,YACA,SACA,QACA,YACA,UACA,SACA,QACA,YACA,UACA,SACA,YACA,WACA,WACA,WACA,UACA,YACA,YACA,WACA,SACA,MACA,WACA,WACA,YACA,QACA,UACA,SACA,MACA,UACA,WACA,MACA,YACA,QACA,YACA,WACA,YACA,QACA,UACA,QACA,QACA,UACA,SACA,UACA,YACA,YACA,QACA,WACA,UACA,SACA,SACA,WACA,SACA,YACA,QACA,UACA,YACA,WACA,OACA,QACA,WACA,UACA,WACA,UACA,UACA,WACA,WACA,YACA,WACA,YACA,WACA,WACA,WACA,WACA,UACA,UACA,YACA,QACA,MACA,SACA,YACA,SACA,YACA,YACA,WACA,UACA,YACA,SACA,SACA,YACA,YACA,WACA,UACA,UACA,WACA,WACA,YACA,QACA,SACA,UACA,UACA,YACA,YACA,UACA,YACA,WACA,YACA,YACA,WACA,YACA,WACA,SACA,WACA,WACA,UACA,WACA,SACA,UACA,WACA,WACA,YACA,UACA,SACA,UACA,YACA,YACA,YACA,UACA,WACA,YACA,WACA,YACA,YACA,WACA,WACA,SACA,SACA,SACA,UACA,UACA,SACA,SACA,YACA,WACA,YACA,WACA,SACA,UACA,SACA,SACA,YACA,SACA,SACA,WACA,UACA,WACA,UACA,YACA,WACA,WACA,WACA,UACA,WACA,QACA,OACA,SACA,OACA,WACA,YACA,YACA,WACA,WACA,YACA,WACA,WACA,UACA,QACA,SACA,WACA,UACA,UACA,YACA,SACA,YACA,YACA,WACA,SACA,SACA,UACA,YACA,SACA,SACA,UACA,QACA,QACA,WACA,YACA,YACA,WACA,WACA,WACA,SACA,YACA,YACA,WACA,UACA,QACA,UACA,YACA,YACA,SACA,WACA,WACA,YACA,YACA,WACA,UACA,UACA,WACA,UACA,QACA,YACA,SACA,YACA,WACA,UACA,QACA,WACA,YACA,YACA,UACA,UACA,OACA,YACA,YACA,YACA,WACA,WACA,QACA,WACA,UACA,OACA,QACA,YACA,SACA,QACA,UACA,UACA,WACA,YACA,YACA,YACA,SACA,WACA,YACA,WACA,UACA,UACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,SACA,YACA,YACA,YACA,YACA,QACA,OACA,YACA,SACA,UACA,SACA,QACA,WACA,OACA,SACA,YACA,WACA,WACA,SACA,UACA,YACA,YACA,YACA,YACA,YACA,QACA,SACA,WACA,YACA,SACA,SACA,WACA,UACA,YACA,WACA,UACA,UACA,UACA,YACA,WACA,WACA,YACA,SACA,WACA,UACA,YACA,YACA,WACA,YACA,SACA,YACA,WACA,WACA,UACA,YACA,YACA,SACA,YACA,UACA,YACA,YACA,QACA,SACA,WACA,WACA,YACA,WACA,WACA,WACA,YACA,UACA,SACA,WACA,SACA,YACA,UACA,UACA,SACA,YACA,UACA,UACA,OACA,SACA,UACA,SACA,OACA,QACA,UACA,OACA,WACA,SACA,SACA,WACA,UACA,UACA,YACA,QACA,UACA,OACA,UACA,YACA,YACA,UACA,UACA,WACA,SACA,UACA,WACA,SACA,YACA,YACA,UACA,WACA,WACA,MACA,QACA,UACA,SACA,SACA,OACA,OACA,SACA,SACA,WACA,WACA,WACA,WACA,WACA,QACA,QACA,UACA,SACA,UACA,WACA,YACA,WACA,SACA,SACA,QACA,SACA,SACA,WACA,UACA,YACA,QACA,QACA,QACA,QACA,UACA,SACA,WACA,WACA,YACA,UACA,UACA,QACA,WACA,QACA,UACA,SACA,WACA,SACA,SACA,SACA,UACA,OACA,SACA,QACA,WACA,SACA,WACA,WACA,UACA,UACA,YACA,QACA,WACA,QACA,UACA,WACA,WACA,YACA,SACA,UACA,UACA,WACA,MACA,OACA,UACA,UACA,WACA,WACA,YACA,YACA,QACA,UACA,QACA,QACA,YACA,UACA,WACA,WACA,OACA,UACA,YACA,YACA,YACA,WACA,WACA,SACA,QACA,UACA,WACA,SACA,WACA,UACA,YACA,YACA,WACA,UACA,WACA,WACA,WACA,YACA,YACA,WACA,OACA,UACA,SACA,QACA,QACA,SACA,SACA,QACA,QACA,OACA,QACA,QACA,QACA,WACA,OACA,SACA,UACA,QACA,WACA,UACA,UACA,QACA,SACA,UACA,WACA,OACA,MACA,MACA,OACA,QACA,OACA,WACA,SACA,WACA,SACA,WACA,SACA,OACA,OACA,OACA,UACA,WACA,WACA,YACA,SACA,WACA,WACA,WACA,UACA,WACA,UACA,WACA,UACA,WACA,YACA,WACA,UACA,WACA,WACA,WACA,SACA,SACA,UACA,WACA,WACA,MACA,QACA,WACA,WACA,UACA,YACA,WACA,YACA,WACA,QACA,QACA,UACA,UACA,YACA,SACA,UACA,QACA,WACA,WACA,WACA,UACA,UACA,UACA,WACA,WACA,UACA,WACA,SACA,YACA,WACA,YACA,WACA,UACA,WACA,YACA,WACA,UACA,SACA,WACA,SACA,YACA,WACA,QACA,UACA,UACA,WACA,SACA,SACA,QACA,SACA,WACA,YACA,YACA,WACA,QACA,SACA,UACA,QACA,UACA,YACA,SACA,OACA,QACA,YACA,UACA,WACA,WACA,YACA,SACA,QACA,QACA,SACA,WACA,YACA,WACA,QACA,YACA,SACA,MACA,QACA,MACA,YACA,UACA,QACA,OACA,YACA,WACA,UACA,SACA,SACA,UACA,YACA,SACA,YACA,WACA,OACA,SACA,QACA,SACA,SACA,WACA,UACA,MACA,SACA,UACA,SACA,SACA,UACA,SACA,UACA,SACA,UACA,SACA,MACA,WACA,YACA,SACA,UACA,WACA,QACA,OACA,OACA,SACA,OACA,QACA,OACA,SACA,MACA,SACA,UACA,WACA,WACA,QACA,UACA,YACA,SACA,QACA,YACA,WACA,YACA,UACA,YACA,WACA,WACA,SACA,YACA,YACA,YACA,WACA,YACA,UACA,YACA,UACA,UACA,UACA,QACA,QACA,YACA,SACA,UACA,YACA,QACA,OACA,WACA,YACA,WACA,SACA,WACA,SACA,SACA,SACA,QACA,UACA,SACA,WACA,QACA,QACA,SACA,QACA,UACA,UACA,UACA,QACA,YACA,SACA,YACA,UACA,SACA,WACA,YACA,QACA,UACA,QACA,WACA,UACA,WACA,UACA,SACA,UACA,UACA,UACA,UACA,SACA,UACA,SACA,UACA,WACA,WACA,SACA,YACA,YACA,UACA,WACA,QACA,QACA,QACA,UACA,WACA,UACA,OACA,SACA,YACA,UACA,SACA,OACA,OACA,WACA,OACA,UACA,QACA,WACA,WACA,YACA,OACA,UACA,QACA,UACA,OACA,OACA,OACA,QACA,WACA,YACA,QACA,SACA,OACA,SACA,OACA,SACA,WACA,OACA,UACA,SACA,SACA,SACA,OACA,OACA,OACA,WACA,YACA,WACA,YACA,SACA,SACA,WACA,UACA,YACA,WACA,WACA,UACA,WACA,QACA,WACA,WACA,UACA,UACA,UACA,WACA,UACA,SACA,UACA,QACA,WACA,QACA,QACA,UACA,YACA,QACA,QACA,YACA,UACA,UACA,YACA,WACA,SACA,YACA,SACA,YACA,YACA,UACA,QACA,OACA,UACA,WACA,WACA,YACA,SACA,QACA,UACA,WACA,OACA,YACA,OACA,QACA,YACA,WACA,WACA,QACA,UACA,YACA,QACA,YACA,QACA,SACA,WACA,OACA,UACA,OACA,WACA,SACA,QACA,QACA,SACA,WACA,SACA,QACA,SACA,UACA,QACA,QACA,SACA,UACA,QACA,OACA,SACA,WACA,WACA,UACA,UACA,YACA,UACA,WACA,SACA,QACA,YACA,WACA,WACA,QACA,UACA,YACA,QACA,OACA,WACA,QACA,OACA,UACA,UACA,YACA,UACA,QACA,SACA,WACA,OACA,OACA,QACA,QACA,UACA,OACA,SACA,MACA,UACA,WACA,YACA,WACA,UACA,WACA,SACA,SACA,UACA,UACA,MACA,UACA,QACA,OACA,UACA,OACA,SACA,SACA,YACA,SACA,UACA,SACA,UACA,YACA,UACA,WACA,WACA,YACA,WACA,WACA,YACA,YACA,WACA,SACA,UACA,WACA,UACA,WACA,YACA,YACA,YACA,UACA,UACA,WACA,WACA,UACA,WACA,YACA,WACA,UACA,UACA,YACA,YACA,YACA,WACA,WACA,YACA,YACA,WACA,WACA,UACA,WACA,SACA,YACA,SACA,QACA,YACA,YACA,UACA,WACA,UACA,YACA,QACA,SACA,WACA,WACA,YACA,WACA,WACA,WACA,YACA,UACA,WACA,YACA,SACA,WACA,WACA,WACA,YACA,WACA,QACA,UACA,WACA,YACA,YACA,YACA,UACA,UACA,UACA,QACA,UACA,OACA,SACA,QACA,UACA,YACA,QACA,SACA,YACA,WACA,UACA,WACA,YACA,OACA,UACA,SACA,QACA,QACA,SACA,WACA,SACA,WACA,SACA,OACA,WACA,WACA,YACA,YACA,YACA,SACA,SACA,YACA,WACA,UACA,WACA,WACA,WACA,YACA,YACA,WACA,WACA,YACA,UACA,WACA,YACA,YACA,UACA,WACA,OACA,OACA,QACA,UACA,YACA,UACA,QACA,UACA,YACA,QACA,SACA,SACA,SACA,UACA,UACA,WACA,WACA,UACA,YACA,QACA,WACA,QACA,SACA,SACA,YACA,QACA,WACA,SACA,UACA,UACA,UACA,UACA,QACA,YACA,WACA,WACA,UACA,WACA,SACA,SACA,WACA,OACA,MACA,OACA,OACA,OACA,QACA,SACA,WACA,SACA,QACA,YACA,WACA,UACA,SACA,YACA,WACA,YACA,WACA,WACA,SACA,SACA,YACA,YACA,SACA,WACA,SACA,OACA,SACA,UACA,WACA,WACA,SACA,SACA,SACA,UACA,SACA,YACA,UACA,QACA,OACA,UACA,OACA,SACA,YACA,MACA,SACA,UACA,WACA,YACA,WACA,YACA,YACA,YACA,SACA,WACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,MACA,UACA,QACA,OACA,OACA,MACA,WACA,WACA,WACA,UACA,YACA,YACA,WACA,WACA,WACA,SACA,QACA,OACA,QACA,WACA,SACA,SACA,YACA,WACA,WACA,QACA,YACA,WACA,UACA,WACA,UACA,YACA,WACA,UACA,YACA,WACA,WACA,WACA,YACA,WACA,YACA,YACA,WACA,WACA,WACA,SACA,SACA,YACA,UACA,WACA,YACA,YACA,WACA,SACA,UACA,YACA,YACA,WACA,UACA,YACA,YACA,QACA,WACA,YACA,WACA,SACA,WACA,YACA,YACA,WACA,UACA,YACA,UACA,WACA,YACA,WACA,UACA,YACA,YACA,YACA,UACA,YACA,SACA,WACA,SACA,SACA,MACA,OACA,SACA,OACA,QACA,MACA,OACA,YACA,WACA,YACA,YACA,WACA,WACA,UACA,WACA,WACA,YACA,YACA,UACA,QACA,UACA,YACA,UACA,OACA,YACA,SACA,QACA,MACA,MACA,SACA,SACA,YACA,UACA,WACA,YACA,SACA,YACA,WACA,MACA,UACA,UACA,SACA,UACA,UACA,WACA,QACA,OACA,QACA,UACA,UACA,OACA,UACA,YACA,OACA,OACA,YACA,UACA,QACA,SACA,SACA,MACA,QACA,SACA,QACA,SACA,WACA,OACA,UACA,UACA,MACA,SACA,YACA,SACA,UACA,OACA,UACA,WACA,WACA,YACA,QACA,OACA,MACA,SACA,WACA,YACA,SACA,UACA,WACA,YACA,WACA,QACA,YACA,WACA,YACA,OACA,SACA,WACA,UACA,QACA,YACA,QACA,UACA,UACA,OACA,SACA,QACA,OACA,WACA,WACA,OACA,SACA,UACA,SACA,UACA,WACA,SACA,QACA,OACA,UACA,YACA,UACA,SACA,WACA,WACA,QACA,WACA,UACA,SACA,QACA,QACA,SACA,WACA,OACA,MACA,OACA,SACA,OACA,WACA,WACA,SACA,OACA,OACA,WACA,WACA,YACA,WACA,OACA,SACA,SACA,WACA,SACA,WACA,UACA,UACA,UACA,OACA,UACA,UACA,YACA,WACA,SACA,UACA,UACA,OACA,SACA,QACA,OACA,UACA,WACA,OACA,QACA,WACA,QACA,QACA,QACA,SACA,UACA,QACA,OACA,UACA,UACA,WACA,YACA,WACA,SACA,SACA,QACA,UACA,WACA,SACA,UACA,SACA,OACA,OACA,QACA,SACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,YACA,YACA,WACA,YACA,WACA,YACA,QACA,UACA,SACA,QACA,SACA,UACA,SACA,OACA,QACA,OACA,OACA,QACA,OACA,QACA,OACA,SACA,WACA,UACA,SACA,WACA,SACA,UACA,UACA,SACA,WACA,SACA,WACA,SACA,WACA,OACA,WACA,OACA,SACA,QACA,SACA,SACA,WACA,UACA,UACA,YACA,OACA,UACA,SACA,YACA,UACA,QACA,OACA,SACA,OACA,OACA,UACA,SACA,UACA,YACA,WACA,SACA,UACA,QACA,WACA,SACA,WACA,YACA,YACA,SACA,UACA,YACA,UACA,UACA,WACA,MACA,OACA,SACA,UACA,UACA,WACA,SACA,WACA,WACA,SACA,QACA,QACA,OACA,OACA,UACA,YACA,QACA,QACA,UACA,WACA,OACA,QACA,WACA,WACA,SACA,SACA,WACA,UACA,OACA,OACA,MACA,UACA,UACA,SACA,OACA,OACA,WACA,YACA,SACA,SACA,SACA,UACA,QACA,SACA,QACA,YACA,UACA,SACA,SACA,YACA,YACA,QACA,UACA,YACA,WACA,YACA,YACA,SACA,WACA,UACA,SACA,YACA,WACA,YACA,UACA,UACA,SACA,QACA,WACA,WACA,YACA,YACA,OACA,QACA,OACA,YACA,OACA,SACA,WACA,SACA,YACA,UACA,YACA,WACA,QACA,YACA,SACA,QACA,YACA,WACA,WACA,SACA,WACA,WACA,QACA,OACA,UACA,YACA,WACA,UACA,SACA,UACA,WACA,QACA,YACA,WACA,YACA,YACA,YACA,UACA,YACA,WACA,WACA,SACA,WACA,UACA,YACA,WACA,WACA,QACA,YACA,SACA,YACA,OACA,OACA,SACA,UACA,YACA,UACA,WACA,UACA,WACA,UACA,YACA,WACA,SACA,SACA,QACA,QACA,YACA,UACA,UACA,UACA,YACA,WACA,YACA,SACA,UACA,UACA,YACA,QACA,UACA,SACA,UACA,QACA,WACA,SACA,SACA,SACA,OACA,MACA,WACA,YACA,UACA,UACA,WACA,QACA,QACA,YACA,YACA,SACA,WACA,SACA,SACA,UACA,WACA,SACA,YACA,SACA,UACA,SACA,QACA,YACA,SACA,YACA,YACA,UACA,SACA,YACA,SACA,UACA,WACA,SACA,UACA,UACA,UACA,YACA,WACA,UACA,WACA,YACA,WACA,WACA,YACA,OACA,SACA,YACA,YACA,SACA,SACA,SACA,SACA,WACA,WACA,WACA,QACA,WACA,WACA,UACA,QACA,SACA,YACA,SACA,UACA,SACA,WACA,WACA,UACA,QACA,SACA,SACA,WACA,SACA,UACA,YACA,SACA,UACA,YACA,WACA,QACA,WACA,OACA,YACA,WACA,WACA,UACA,MACA,YACA,SACA,WACA,WACA,YACA,YACA,YACA,WACA,UACA,UACA,WACA,WACA,WACA,YACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,YACA,UACA,WACA,UACA,YACA,QACA,SACA,WACA,SACA,YACA,WACA,UACA,WACA,YACA,YACA,YACA,WACA,MACA,SACA,WACA,UACA,YACA,WACA,WACA,WACA,QACA,YACA,WACA,YACA,YACA,UACA,WACA,SACA,QACA,OACA,WACA,YACA,SACA,WACA,YACA,SACA,YACA,QACA,QACA,YACA,WACA,UACA,WACA,UACA,WACA,QACA,YACA,YACA,QACA,QACA,UACA,OACA,QACA,SACA,QACA,SACA,OACA,OACA,MACA,MACA,WACA,QACA,OACA,SACA,UACA,WACA,WACA,YACA,YACA,SACA,WACA,QACA,YACA,UACA,QACA,QACA,WACA,UACA,YACA,SACA,QACA,YACA,QACA,YACA,WACA,SACA,UACA,YACA,WACA,QACA,QACA,SACA,YACA,QACA,UACA,UACA,SACA,YACA,QACA,UACA,SACA,WACA,OACA,YACA,YACA,SACA,OACA,SACA,SACA,SACA,UACA,YACA,UACA,OACA,QACA,MACA,OACA,OACA,SACA,QACA,YACA,OACA,SACA,SACA,UACA,QACA,SACA,UACA,YACA,WACA,SACA,WACA,UACA,SACA,WACA,WACA,WACA,YACA,OACA,SACA,UACA,SACA,WACA,SACA,WACA,SACA,YACA,SACA,SACA,WACA,WACA,YACA,WACA,YACA,YACA,UACA,UACA,OACA,SACA,OACA,UACA,QACA,OACA,MACA,YACA,SACA,WACA,WACA,SACA,UACA,QACA,OACA,SACA,WACA,WACA,QACA,QACA,SACA,SACA,WACA,YACA,QACA,WACA,QACA,UACA,SACA,UACA,SACA,UACA,SACA,UACA,SACA,WACA,UACA,WACA,YACA,UACA,WACA,WACA,UACA,UACA,UACA,UACA,UACA,SACA,WACA,WACA,YACA,QACA,SACA,QACA,MACA,MACA,QACA,MACA,YACA,WACA,WACA,SACA,WACA,UACA,WACA,YACA,SACA,YACA,OACA,UACA,YACA,YACA,WACA,YACA,WACA,YACA,YACA,WACA,WACA,YACA,WACA,SACA,YACA,SACA,UACA,YACA,YACA,WACA,WACA,SACA,QACA,SACA,UACA,SACA,UACA,UACA,OACA,MACA,OACA,WACA,OACA,MACA,QACA,WACA,QACA,OACA,UACA,WACA,OACA,WACA,UACA,WACA,UACA,QACA,SACA,WACA,OACA,WACA,QACA,UACA,YACA,UACA,OACA,SACA,OACA,OACA,OACA,OACA,UACA,OACA,OACA,WACA,UACA,YACA,YACA,YACA,WACA,QACA,UACA,WACA,SACA,WACA,WACA,YACA,YACA,MACA,YACA,UACA,QACA,QACA,OACA,QACA,QACA,SACA,UACA,SACA,WACA,WACA,WACA,WACA,UACA,WACA,UACA,WACA,WACA,QACA,WACA,SACA,WACA,WACA,UACA,WACA,SACA,UACA,SACA,UACA,UACA,WACA,WACA,UACA,YACA,YACA,UACA,UACA,SACA,UACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,YACA,WACA,YACA,YACA,WACA,WACA,UACA,WACA,SACA,OACA,QACA,OACA,UACA,UACA,WACA,UACA,WACA,WACA,YACA,YACA,WACA,YACA,WACA,WACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,UACA,YACA,YACA,YACA,UACA,WACA,WACA,WACA,WACA,YACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,YACA,WACA,YACA,WACA,UACA,UACA,WACA,WACA,WACA,YACA,YACA,WACA,UACA,YACA,WACA,YACA,YACA,WACA,YACA,YACA,WACA,WACA,WACA,UACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,WACA,WACA,YACA,YACA,YACA,WACA,YACA,WACA,UACA,WACA,WACA,WACA,UACA,YACA,WACA,YACA,MACA,SACA,UACA,YACA,UACA,YACA,SACA,WACA,SACA,QACA,QACA,YACA,UACA,WACA,WACA,WACA,SACA,SACA,UACA,SACA,WACA,UACA,QACA,QACA,SACA,UACA,SACA,YACA,OACA,WACA,YACA,SACA,WACA,WACA,UACA,WACA,SACA,UACA,WACA,QACA,WACA,OACA,YACA,QACA,UACA,WACA,YACA,UACA,YACA,SACA,QACA,YACA,YACA,SACA,QACA,UACA,UACA,WACA,YACA,SACA,UACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,WACA,YACA,SACA,UACA,YACA,SACA,SACA,QACA,UACA,UACA,SACA,WACA,SACA,SACA,UACA,UACA,UACA,SACA,UACA,YACA,SACA,UACA,YACA,QACA,WACA,WACA,UACA,WACA,YACA,WACA,UACA,UACA,UACA,YACA,WACA,WACA,WACA,QACA,SACA,SACA,UACA,SACA,WACA,UACA,QACA,YACA,SACA,WACA,YACA,OACA,WACA,UACA,QACA,YACA,UACA,SACA,YACA,YACA,SACA,WACA,QACA,YACA,WACA,SACA,SACA,UACA,UACA,WACA,SACA,QACA,QACA,SACA,UACA,WACA,UACA,SACA,SACA,QACA,SACA,WACA,WACA,YACA,WACA,WACA,YACA,WACA,UACA,SACA,OACA,SACA,WACA,UACA,SACA,UACA,UACA,YACA,WACA,UACA,YACA,QACA,SACA,UACA,WACA,YACA,MACA,WACA,UACA,QACA,YACA,YACA,YACA,YACA,UACA,YACA,SACA,WACA,UACA,YACA,QACA,OACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,QACA,OACA,YACA,YACA,SACA,YACA,QACA,SACA,WACA,QACA,YACA,SACA,YACA,YACA,QACA,UACA,UACA,SACA,UACA,YACA,SACA,UACA,YACA,QACA,YACA,QACA,SACA,WACA,UACA,UACA,WACA,QACA,UACA,QACA,SACA,UACA,UACA,SACA,WACA,UACA,WACA,WACA,UACA,WACA,YACA,YACA,WACA,WACA,SACA,UACA,YACA,YACA,UACA,WACA,YACA,WACA,UACA,UACA,WACA,UACA,YACA,WACA,QACA,WACA,QACA,SACA,YACA,SACA,WACA,YACA,UACA,OACA,OACA,OACA,OACA,OACA,QACA,OACA,UACA,WACA,SACA,OACA,YACA,UACA,QACA,MACA,OACA,OACA,OACA,UACA,UACA,WACA,YACA,SACA,QACA,SACA,QACA,SACA,QACA,SACA,SACA,QACA,SACA,WACA,QACA,OACA,YACA,UACA,YACA,UACA,SACA,OACA,OACA,UACA,OACA,SACA,SACA,QACA,WACA,WACA,UACA,WACA,YACA,OACA,SACA,WACA,WACA,SACA,YACA,WACA,UACA,SACA,WACA,QACA,OACA,SACA,WACA,WACA,SACA,UACA,SACA,UACA,WACA,SACA,SACA,UACA,YACA,UACA,UACA,QACA,SACA,WACA,QACA,UACA,OACA,WACA,YACA,UACA,QACA,SACA,MACA,WACA,SACA,WACA,UACA,WACA,YACA,SACA,UACA,WACA,YACA,UACA,WACA,WACA,UACA,YACA,UACA,SACA,WACA,YACA,UACA,UACA,SACA,YACA,YACA,UACA,YACA,WACA,YACA,YACA,SACA,UACA,WACA,WACA,UACA,WACA,YACA,WACA,UACA,SACA,UACA,SACA,YACA,YACA,YACA,SACA,UACA,YACA,UACA,QACA,UACA,YACA,UACA,YACA,YACA,WACA,UACA,SACA,UACA,UACA,YACA,UACA,UACA,WACA,SACA,YACA,WACA,QACA,SACA,YACA,UACA,UACA,SACA,QACA,WACA,QACA,QACA,QACA,SACA,SACA,WACA,UACA,UACA,YACA,QACA,YACA,WACA,WACA,YACA,QACA,UACA,YACA,UACA,YACA,UACA,WACA,YACA,WACA,WACA,UACA,UACA,UACA,UACA,YACA,YACA,YACA,UACA,WACA,YACA,UACA,YACA,UACA,WACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,WACA,WACA,QACA,QACA,YACA,SACA,WACA,YACA,SACA,YACA,WACA,WACA,YACA,WACA,UACA,QACA,UACA,YACA,WACA,SACA,YACA,YACA,WACA,WACA,QACA,WACA,SACA,SACA,WACA,WACA,YACA,WACA,UACA,UACA,YACA,YACA,UACA,UACA,WACA,YACA,QACA,SACA,QACA,YACA,QACA,UACA,MACA,UACA,SACA,YACA,SACA,SACA,MACA,OACA,YACA,OACA,UACA,QACA,YACA,OACA,SACA,SACA,QACA,WACA,YACA,YACA,UACA,WACA,OACA,QACA,SACA,QACA,WACA,YACA,WACA,SACA,WACA,YACA,QACA,UACA,WACA,SACA,SACA,UACA,SACA,SACA,WACA,YACA,OACA,QACA,YACA,WACA,UACA,WACA,WACA,YACA,SACA,YACA,UACA,WACA,UACA,SACA,QACA,UACA,OACA,SACA,WACA,UACA,YACA,SACA,QACA,WACA,QACA,WACA,QACA,UACA,YACA,YACA,UACA,UACA,QACA,UACA,UACA,SACA,YACA,YACA,WACA,UACA,SACA,QACA,UACA,UACA,YACA,YACA,YACA,QACA,QACA,QACA,UACA,YACA,QACA,OACA,SACA,YACA,WACA,YACA,QACA,QACA,OACA,SACA,SACA,OACA,SACA,QACA,SACA,WACA,YACA,WACA,YACA,WACA,QACA,SACA,SACA,OACA,OACA,SACA,SACA,UACA,SACA,UACA,UACA,WACA,UACA,SACA,OACA,SACA,QACA,SACA,WACA,OACA,SACA,QACA,YACA,SACA,SACA,SACA,UACA,SACA,UACA,UACA,UACA,QACA,OACA,SACA,SACA,OACA,UACA,SACA,QACA,SACA,SACA,UACA,YACA,WACA,QACA,YACA,WACA,WACA,UACA,WACA,OACA,YACA,WACA,UACA,YACA,YACA,YACA,WACA,SACA,WACA,WACA,WACA,UACA,YACA,SACA,QACA,UACA,SACA,SACA,UACA,SACA,UACA,UACA,WACA,WACA,SACA,SACA,YACA,SACA,SACA,SACA,SACA,YACA,YACA,UACA,SACA,WACA,UACA,WACA,YACA,UACA,YACA,YACA,SACA,YACA,UACA,YACA,YACA,YACA,SACA,SACA,UACA,SACA,WACA,WACA,SACA,YACA,YACA,UACA,WACA,WACA,YACA,WACA,UACA,UACA,UACA,YACA,YACA,UACA,YACA,SACA,YACA,UACA,WACA,WACA,WACA,YACA,YACA,SACA,SACA,UACA,SACA,WACA,WACA,WACA,WACA,YACA,UACA,UACA,WACA,UACA,UACA,YACA,SACA,YACA,YACA,UACA,SACA,WACA,YACA,SACA,SACA,UACA,UACA,SACA,SACA,SACA,WACA,YACA,WACA,UACA,YACA,UACA,UACA,WACA,YACA,QACA,SACA,SACA,YACA,YACA,UACA,YACA,UACA,YACA,SACA,WACA,UACA,YACA,YACA,UACA,WACA,WACA,QACA,QACA,UACA,UACA,YACA,WACA,WACA,WACA,UACA,QACA,UACA,YACA,UACA,SACA,SACA,SACA,WACA,SACA,YACA,OACA,SACA,SACA,UACA,UACA,WACA,SACA,WACA,WACA,YACA,YACA,QACA,UACA,YACA,SACA,UACA,SACA,YACA,UACA,UACA,UACA,WACA,SACA,WACA,YACA,YACA,WACA,YACA,YACA,UACA,UACA,WACA,WACA,YACA,WACA,SACA,SACA,SACA,WACA,UACA,SACA,UACA,YACA,YACA,UACA,SACA,SACA,WACA,YACA,SACA,WACA,WACA,SACA,WACA,UACA,SACA,UACA,QACA,WACA,SACA,YACA,SACA,YACA,YACA,UACA,UACA,WACA,YACA,YACA,YACA,OACA,UACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,UACA,UACA,YACA,UACA,QACA,SACA,WACA,UACA,SACA,WACA,WACA,WACA,WACA,SACA,SACA,QACA,UACA,UACA,YACA,YACA,YACA,WACA,WACA,UACA,WACA,YACA,YACA,YACA,SACA,WACA,WACA,WACA,WACA,SACA,WACA,UACA,WACA,SACA,SACA,WACA,YACA,YACA,SACA,WACA,YACA,SACA,YACA,YACA,UACA,UACA,UACA,UACA,WACA,SACA,SACA,WACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,YACA,YACA,QACA,SACA,UACA,SACA,UACA,UACA,WACA,QACA,SACA,UACA,UACA,UACA,SACA,UACA,YACA,WACA,WACA,UACA,YACA,YACA,SACA,YACA,SACA,WACA,UACA,YACA,UACA,UACA,WACA,YACA,SACA,SACA,WACA,YACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UACA,QACA,SACA,UACA,OACA,SACA,SACA,WACA,UACA,UACA,WACA,SACA,OACA,SACA,UACA,OACA,UACA,QACA,QACA,UACA,SACA,OACA,OACA,QACA,UACA,OACA,UACA,WACA,WACA,UACA,SACA,WACA,UACA,OACA,SACA,OACA,UACA,UACA,QACA,QACA,YACA,WACA,YACA,YACA,UACA,WACA,SACA,UACA,QACA,UACA,OACA,QACA,WACA,SACA,WACA,SACA,SACA,WACA,YACA,UACA,WACA,YACA,WACA,QACA,QACA,QACA,OACA,OACA,SACA,SACA,OACA,SACA,UACA,UACA,WACA,WACA,WACA,YACA,UACA,YACA,UACA,UACA,QACA,SACA,QACA,SACA,SACA,UACA,SACA,UACA,OACA,SACA,SACA,MACA,SACA,OACA,SACA,WACA,UACA,QACA,YACA,UACA,SACA,UACA,QACA,OACA,SACA,UACA,QACA,OACA,OACA,OACA,MACA,UACA,WACA,YACA,SACA,YACA,SACA,YACA,UACA,WACA,QACA,UACA,SACA,YACA,YACA,SACA,WACA,UACA,OACA,OACA,UACA,QACA,OACA,QACA,OACA,QACA,SACA,WACA,SACA,SACA,QACA,SACA,QACA,OACA,WACA,SACA,UACA,YACA,YACA,OACA,SACA,WACA,WACA,WACA,YACA,SACA,UACA,WACA,UACA,YACA,UACA,SACA,WACA,UACA,UACA,YACA,UACA,YACA,YACA,WACA,QACA,WACA,YACA,OACA,QACA,UACA,YACA,QACA,UACA,YACA,UACA,OACA,YACA,QACA,UACA,WACA,QACA,YACA,YACA,UACA,WACA,WACA,YACA,QACA,QACA,SACA,UACA,QACA,UACA,SACA,QACA,YACA,MACA,UACA,SACA,UACA,WACA,QACA,UACA,WACA,UACA,WACA,OACA,UACA,UACA,WACA,QACA,YACA,SACA,WACA,YACA,SACA,QACA,UACA,YACA,WACA,QACA,YACA,SACA,WACA,YACA,SACA,WACA,YACA,WACA,UACA,UACA,YACA,QACA,QACA,WACA,QACA,QACA,UACA,QACA,SACA,YACA,YACA,SACA,YACA,SACA,UACA,QACA,WACA,SACA,YACA,UACA,WACA,WACA,SACA,WACA,WACA,WACA,YACA,YACA,QACA,UACA,UACA,SACA,WACA,SACA,WACA,YACA,SACA,SACA,UACA,YACA,WACA,WACA,UACA,UACA,WACA,QACA,QACA,WACA,YACA,SACA,UACA,WACA,YACA,YACA,SACA,UACA,SACA,YACA,SACA,UACA,WACA,WACA,QACA,SACA,WACA,WACA,WACA,SACA,WACA,UACA,UACA,UACA,SACA,WACA,YACA,YACA,WACA,OACA,UACA,WACA,WACA,YACA,YACA,UACA,WACA,YACA,SACA,UACA,OACA,SACA,WACA,YACA,YACA,YACA,YACA,WACA,QACA,YACA,SACA,SACA,SACA,WACA,YACA,SACA,SACA,YACA,UACA,WACA,QACA,UACA,UACA,SACA,WACA,UACA,UACA,SACA,WACA,QACA,YACA,YACA,UACA,UACA,WACA,SACA,QACA,SACA,UACA,YACA,UACA,SACA,QACA,QACA,WACA,UACA,YACA,UACA,QACA,QACA,UACA,UACA,QACA,UACA,WACA,QACA,SACA,QACA,UACA,QACA,YACA,UACA,UACA,UACA,YACA,QACA,SACA,OACA,QACA,QACA,QACA,QACA,UACA,SACA,WACA,SACA,SACA,UACA,WACA,YACA,SACA,UACA,SACA,UACA,QACA,UACA,YACA,UACA,QACA,OACA,QACA,YACA,QACA,QACA,WACA,UACA,WACA,WACA,QACA,WACA,YACA,WACA,UACA,UACA,YACA,YACA,UACA,YACA,SACA,YACA,SACA,QACA,QACA,UACA,WACA,WACA,SACA,WACA,UACA,UACA,QACA,UACA,YACA,YACA,WACA,QACA,SACA,WACA,WACA,YACA,WACA,SACA,SACA,SACA,SACA,SACA,UACA,WACA,YACA,SACA,QACA,SACA,WACA,UACA,UACA,YACA,OACA,QACA,OACA,MACA,UACA,WACA,UACA,SACA,SACA,SACA,OACA,UACA,WACA,WACA,SACA,SACA,UACA,OACA,YACA,QACA,OACA,OACA,SACA,YACA,SACA,YACA,SACA,WACA,SACA,UACA,YACA,SACA,UACA,SACA,WACA,WACA,UACA,SACA,UACA,MACA,QACA,SACA,SACA,SACA,UACA,WACA,YACA,UACA,UACA,QACA,UACA,WACA,YACA,UACA,UACA,OACA,SACA,SACA,WACA,SACA,UACA,YACA,WACA,WACA,UACA,SACA,SACA,SACA,OACA,QACA,QACA,QACA,SACA,UACA,UACA,WACA,UACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,SACA,YACA,UACA,WACA,WACA,QACA,UACA,WACA,WACA,UACA,QACA,YACA,UACA,OACA,UACA,UACA,WACA,YACA,SACA,QACA,OACA,UACA,QACA,WACA,YACA,UACA,WACA,QACA,UACA,OACA,OACA,QACA,QACA,QACA,SACA,QACA,YACA,SACA,SACA,UACA,QACA,SACA,YACA,UACA,WACA,YACA,WACA,WACA,QACA,WACA,YACA,SACA,OACA,OACA,SACA,WACA,SACA,SACA,UACA,WACA,SACA,OACA,YACA,UACA,SACA,OACA,OACA,QACA,QACA,MACA,QACA,UACA,YACA,UACA,WACA,UACA,QACA,WACA,QACA,YACA,QACA,QACA,QACA,UACA,QACA,OACA,SACA,YACA,YACA,UACA,QACA,UACA,SACA,UACA,SACA,SACA,WACA,YACA,SACA,WACA,QACA,UACA,UACA,OACA,QACA,QACA,SACA,QACA,QACA,SACA,WACA,QACA,QACA,UACA,WACA,SACA,UACA,SACA,QACA,UACA,UACA,QACA,QACA,WACA,YACA,YACA,UACA,YACA,WACA,WACA,YACA,YACA,YACA,WACA,UACA,WACA,WACA,YACA,WACA,QACA,OACA,QACA,UACA,SACA,WACA,QACA,YACA,YACA,WACA,YACA,UACA,WACA,UACA,WACA,SACA,YACA,YACA,WACA,YACA,SACA,QACA,YACA,UACA,WACA,YACA,UACA,WACA,QACA,OACA,SACA,YACA,SACA,SACA,QACA,SACA,QACA,QACA,UACA,SACA,UACA,UACA,WACA,UACA,WACA,QACA,SACA,WACA,YACA,UACA,YACA,WACA,YACA,UACA,WACA,SACA,WACA,WACA,SACA,WACA,WACA,WACA,UACA,WACA,UACA,UACA,WACA,SACA,SACA,YACA,SACA,SACA,UACA,QACA,WACA,SACA,QACA,QACA,QACA,WACA,SACA,SACA,WACA,YACA,UACA,UACA,WACA,SACA,UACA,SACA,QACA,SACA,SACA,SACA,QACA,QACA,QACA,SACA,YACA,YACA,SACA,SACA,SACA,SACA,SACA,OACA,OACA,OACA,UACA,WACA,WACA,QACA,SACA,WACA,SACA,WACA,WACA,YACA,SACA,WACA,YACA,YACA,WACA,UACA,YACA,QACA,WACA,WACA,SACA,SACA,SACA,YACA,UACA,YACA,YACA,SACA,QACA,UACA,QACA,QACA,UACA,WACA,WACA,YACA,UACA,WACA,YACA,YACA,YACA,WACA,WACA,UACA,UACA,QACA,QACA,QACA,SACA,WACA,YACA,SACA,UACA,WACA,WACA,YACA,UACA,QACA,WACA,UACA,YACA,UACA,WACA,SACA,WACA,UACA,WACA,UACA,YACA,UACA,UACA,WACA,QACA,QACA,SACA,YACA,SACA,UACA,SACA,UACA,YACA,UACA,QACA,YACA,WACA,WACA,YACA,QACA,QACA,QACA,YACA,WACA,YACA,YACA,UACA,OACA,SACA,UACA,OACA,SACA,UACA,YACA,YACA,WACA,YACA,UACA,OACA,QACA,UACA,UACA,YACA,SACA,WACA,YACA,QACA,YACA,YACA,UACA,WACA,UACA,WACA,WACA,WACA,SACA,WACA,SACA,UACA,YACA,OACA,SACA,QACA,QACA,QACA,QACA,QACA,YACA,YACA,YACA,UACA,QACA,QACA,SACA,QACA,QACA,YACA,YACA,WACA,UACA,UACA,WACA,YACA,WACA,UACA,YACA,YACA,QACA,QACA,QACA,WACA,UACA,WACA,YACA,WACA,WACA,YACA,YACA,WACA,WACA,YACA,WACA,UACA,QACA,QACA,SACA,SACA,SACA,WACA,YACA,QACA,SACA,UACA,SACA,WACA,SACA,SACA,SACA,SACA,WACA,SACA,WACA,SACA,SACA,WACA,YACA,WACA,YACA,SACA,YACA,UACA,WACA,QACA,SACA,QACA,UACA,UACA,UACA,WACA,SACA,QACA,UACA,UACA,SACA,QACA,UACA,WACA,SACA,UACA,YACA,QACA,QACA,UACA,UACA,WACA,QACA,SACA,WACA,SACA,UACA,YACA,UACA,WACA,SACA,QACA,YACA,YACA,YACA,UACA,WACA,WACA,WACA,YACA,UACA,WACA,SACA,WACA,UACA,YACA,WACA,YACA,YACA,WACA,SACA,UACA,WACA,YACA,YACA,YACA,UACA,YACA,YACA,UACA,UACA,WACA,YACA,YACA,UACA,WACA,SACA,WACA,WACA,UACA,SACA,SACA,YACA,UACA,YACA,OACA,UACA,SACA,SACA,OACA,WACA,YACA,UACA,SACA,YACA,WACA,QACA,UACA,QACA,WACA,WACA,WACA,SACA,UACA,UACA,UACA,SACA,OACA,SACA,WACA,YACA,SACA,YACA,YACA,YACA,WACA,WACA,WACA,WACA,YACA,YACA,SACA,WACA,SACA,UACA,YACA,UACA,YACA,SACA,WACA,UACA,YACA,YACA,SACA,UACA,WACA,UACA,UACA,UACA,UACA,WACA,UACA,YACA,YACA,WACA,SACA,WACA,UACA,YACA,WACA,QACA,UACA,UACA,WACA,YACA,YACA,OACA,YACA,UACA,YACA,OACA,WACA,QACA,OACA,QACA,QACA,QACA,QACA,QACA,SACA,UACA,UACA,YACA,YACA,UACA,WACA,WACA,WACA,UACA,WACA,QACA,QACA,SACA,SACA,UACA,UACA,QACA,SACA,QACA,QACA,QACA,WACA,WACA,YACA,WACA,UACA,UACA,WACA,UACA,WACA,WACA,YACA,YACA,QACA,SACA,UACA,UACA,QACA,WACA,SACA,SACA,YACA,UACA,YACA,UACA,SACA,WACA,QACA,OACA,UACA,WACA,UACA,UACA,WACA,UACA,YACA,MACA,UACA,OACA,SACA,SACA,WACA,OACA,QACA,SACA,WACA,QACA,SACA,OACA,SACA,UACA,UACA,UACA,WACA,UACA,WACA,WACA,UACA,UACA,OACA,YACA,SACA,SACA,UACA,QACA,SACA,SACA,WACA,OACA,SACA,QACA,YACA,UACA,QACA,WACA,SACA,WACA,SACA,QACA,SACA,QACA,OACA,OACA,UACA,YACA,OACA,QACA,QACA,WACA,WACA,UACA,UACA,YACA,QACA,SACA,WACA,UACA,UACA,YACA,WACA,WACA,QACA,UACA,QACA,QACA,SACA,UACA,WACA,WACA,YACA,YACA,UACA,WACA,SACA,QACA,QACA,QACA,WACA,SACA,SACA,WACA,YACA,SACA,SACA,SACA,WACA,SACA,YACA,SACA,WACA,YACA,YACA,UACA,WACA,OACA,QACA,WACA,WACA,OACA,YACA,UACA,QACA,QACA,QACA,SACA,WACA,UACA,OACA,QACA,UACA,UACA,YACA,YACA,WACA,UACA,OACA,SACA,OACA,OACA,QACA,SACA,UACA,YACA,UACA,SACA,WACA,SACA,SACA,WACA,SACA,WACA,OACA,UACA,OACA,SACA,SACA,SACA,UACA,YACA,SACA,SACA,SACA,QACA,UACA,QACA,WACA,UACA,QACA,UACA,YACA,UACA,UACA,WACA,YACA,QACA,UACA,SACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,WACA,UACA,YACA,UACA,UACA,WACA,QACA,QACA,SACA,WACA,WACA,OACA,YACA,WACA,YACA,UACA,QACA,SACA,OACA,UACA,UACA,YACA,SACA,SACA,QACA,WACA,SACA,QACA,WACA,YACA,WACA,UACA,YACA,UACA,UACA,WACA,WACA,WACA,UACA,YACA,SACA,WACA,WACA,UACA,QACA,SACA,YACA,WACA,UACA,YACA,UACA,WACA,WACA,UACA,OACA,SACA,WACA,UACA,UACA,UACA,WACA,WACA,SACA,WACA,UACA,UACA,YACA,SACA,WACA,QACA,SACA,QACA,QACA,UACA,QACA,SACA,YACA,UACA,WACA,WACA,YACA,QACA,MACA,QACA,WACA,UACA,UACA,UACA,MACA,UACA,QACA,SACA,WACA,QACA,SACA,UACA,WACA,WACA,YACA,OACA,SACA,UACA,SACA,SACA,OACA,QACA,OACA,MACA,QACA,QACA,QACA,WACA,SACA,YACA,SACA,QACA,QACA,UACA,YACA,OACA,WACA,QACA,QACA,QACA,YACA,UACA,UACA,WACA,SACA,SACA,UACA,SACA,QACA,OACA,QACA,WACA,YACA,QACA,YACA,WACA,SACA,YACA,SACA,YACA,YACA,WACA,UACA,YACA,YACA,YACA,YACA,YACA,UACA,UACA,UACA,YACA,WACA,SACA,SACA,WACA,WACA,YACA,YACA,UACA,WACA,YACA,UACA,YACA,WACA,WACA,YACA,WACA,WACA,WACA,UACA,WACA,WACA,YACA,UACA,YACA,YACA,UACA,UACA,SACA,YACA,YACA,UACA,QACA,SACA,UACA,SACA,YACA,WACA,WACA,YACA,WACA,WACA,WACA,SACA,YACA,YACA,WACA,UACA,UACA,UACA,UACA,YACA,UACA,YACA,WACA,QACA,YACA,UACA,YACA,SACA,YACA,YACA,WACA,WACA,YACA,YACA,WACA,WACA,YACA,WACA,YACA,YACA,UACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,UACA,SACA,YACA,UACA,YACA,WACA,UACA,WACA,UACA,SACA,WACA,SACA,YACA,UACA,WACA,YACA,WACA,YACA,WACA,UACA,YACA,SACA,YACA,YACA,YACA,SACA,WACA,UACA,YACA,UACA,WACA,WACA,YACA,YACA,UACA,WACA,YACA,SACA,YACA,WACA,WACA,YACA,WACA,WACA,WACA,WACA,SACA,UACA,WACA,YACA,YACA,WACA,YACA,UACA,WACA,YACA,UACA,YACA,WACA,YACA,WACA,UACA,YACA,SACA,SACA,UACA,WACA,UACA,UACA,YACA,YACA,QACA,YACA,YACA,YACA,YACA,YACA,QACA,WACA,YACA,SACA,WACA,OACA,YACA,WACA,WACA,UACA,SACA,YACA,YACA,UACA,UACA,UACA,WACA,WACA,YACA,UACA,SACA,YACA,YACA,YACA,YACA,UACA,WACA,WACA,QACA,YACA,WACA,WACA,WACA,YACA,YACA,UACA,WACA,WACA,YACA,UACA,SACA,YACA,WACA,WACA,WACA,WACA,YACA,YACA,YACA,YACA,UACA,WACA,UACA,YACA,UACA,WACA,YACA,UACA,YACA,WACA,UACA,YACA,YACA,WACA,YACA,SACA,WACA,SACA,YACA,WACA,UACA,WACA,WACA,YACA,WACA,YACA,YACA,YACA,YACA,WACA,SACA,YACA,WACA,UACA,WACA,UACA,YACA,YACA,SACA,SACA,YACA,YACA,YACA,WACA,SACA,YACA,YACA,WACA,SACA,YACA,YACA,UACA,SACA,YACA,SACA,WACA,WACA,SACA,SACA,WACA,UACA,WACA,YACA,YACA,UACA,WACA,WACA,YACA,WACA,WACA,SACA,WACA,YACA,SACA,YACA,YACA,WACA,WACA,WACA,YACA,YACA,YACA,WACA,YACA,WACA,WACA,SACA,WACA,WACA,SACA,WACA,WACA,YACA,WACA,WACA,YACA,YACA,WACA,YACA,YACA,WACA,YACA,UACA,YACA,YACA,WACA,WACA,WACA,SACA,UACA,WACA,YACA,UACA,UACA,YACA,WACA,UACA,WACA,WACA,SACA,QACA,QACA,UACA,WACA,WACA,YACA,SACA,YACA,YACA,YACA,YACA,UACA,YACA,SACA,UACA,WACA,UACA,UACA,WACA,SACA,UACA,WACA,WACA,YACA,WACA,YACA,WACA,WACA,YACA,UACA,WACA,YACA,SACA,WACA,YACA,UACA,QACA,YACA,SACA,WACA,YACA,SACA,UACA,YACA,YACA,YACA,SACA,YACA,WACA,UACA,UACA,YACA,YACA,QACA,SACA,UACA,WACA,YACA,SACA,UACA,UACA,WACA,SACA,SACA,SACA,WACA,YACA,SACA,OACA,QACA,UACA,WACA,UACA,SACA,SACA,UACA,SACA,UACA,WACA,UACA,UACA,WACA,WACA,UACA,SACA,UACA,SACA,WACA,SACA,SACA,UACA,QACA,SACA,WACA,UACA,SACA,SACA,YACA,UACA,SACA,QACA,UACA,OACA,YACA,OACA,QACA,QACA,UACA,UACA,UACA,SACA,SACA,QACA,UACA,SACA,SACA,WACA,WACA,WACA,YACA,UACA,YACA,UACA,QACA,SACA,SACA,YACA,QACA,UACA,SACA,SACA,WACA,UACA,YACA,WACA,WACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,WACA,WACA,SACA,WACA,OACA,QACA,SACA,YACA,SACA,WACA,SACA,WACA,UACA,SACA,YACA,WACA,WACA,YACA,UACA,QACA,QACA,YACA,WACA,UACA,UACA,SACA,QACA,UACA,SACA,YACA,WACA,UACA,OACA,SACA,OACA,UACA,OACA,WACA,YACA,SACA,QACA,OACA,WACA,UACA,QACA,WACA,SACA,UACA,WACA,YACA,WACA,UACA,UACA,YACA,WACA,UACA,UACA,YACA,WACA,SACA,SACA,QACA,QACA,UACA,WACA,QACA,OACA,YACA,UACA,WACA,UACA,UACA,SACA,WACA,UACA,QACA,QACA,WACA,WACA,UACA,WACA,YACA,UACA,YACA,QACA,WACA,WACA,UACA,WACA,QACA,UACA,OACA,WACA,SACA,UACA,UACA,QACA,SACA,UACA,QACA,QACA,SACA,YACA,MACA,QACA,SACA,QACA,QACA,QACA,SACA,QACA,OACA,SACA,OACA,UACA,SACA,SACA,QACA,OACA,UACA,SACA,UACA,SACA,WACA,YACA,YACA,WACA,YACA,UACA,SACA,SACA,YACA,UACA,UACA,WACA,YACA,UACA,OACA,UACA,QACA,QACA,WACA,SACA,OACA,WACA,SACA,OACA,QACA,QACA,WACA,QACA,YACA,SACA,QACA,WACA,UACA,QACA,WACA,UACA,WACA,SACA,MACA,OACA,SACA,QACA,SACA,QACA,QACA,YACA,UACA,OACA,OACA,YACA,WACA,UACA,SACA,WACA,WACA,WACA,WACA,SACA,WACA,SACA,YACA,UACA,SACA,YACA,OACA,OACA,QACA,UACA,OACA,OACA,UACA,SACA,WACA,SACA,OACA,QACA,WACA,SACA,OACA,SACA,OACA,OACA,WACA,QACA,UACA,SACA,SACA,WACA,SACA,MACA,OACA,YACA,YACA,YACA,YACA,YACA,UACA,OACA,OACA,SACA,OACA,QACA,OACA,OACA,UACA,UACA,YACA,QACA,YACA,YACA,QACA,QACA,QACA,MACA,UACA,QACA,SACA,WACA,UACA,WACA,SACA,UACA,UACA,UACA,UACA,QACA,UACA,UACA,YACA,UACA,WACA,UACA,YACA,UACA,OACA,QACA,QACA,MACA,UACA,UACA,OACA,OACA,OACA,WACA,WACA,SACA,WACA,QACA,UACA,OACA,MACA,YACA,UACA,QACA,MACA,SACA,QACA,QACA,OACA,SACA,SACA,OACA,QACA,MACA,UACA,QACA,MACA,WACA,OACA,YACA,QACA,YACA,UACA,UACA,QACA,OACA,MACA,SACA,SACA,OACA,SACA,YACA,YACA,UACA,k9CCjmPJ,IAAAS,EAAAp1I,EAAA,KAEAof,EAAApf,EAAA,IAOAkZ,EAAA,WAUI,SAAAA,EAAoBkL,EAAgCupC,EACxC0nF,GADQ5yI,KAAA2hB,aAAgC3hB,KAAAkrD,iBACxClrD,KAAA4yI,uBAoGhB,OAlGIn8H,EAAAja,UAAA62G,eAAA,WACI,OAAwB,MAApBrzG,KAAKozG,YACEpzG,KAAKozG,YACLpzG,KAAK2d,QACL3d,KAAK2d,QAET,MAGLlH,EAAAja,UAAAq2I,mBAAN,6GACyB,SAAM7yI,KAAKkrD,eAAe5sD,IAAIqe,EAAAlI,iBAAiBC,4BAcpE,OAdMo+H,EAAe9hI,EAAAkH,OACf+/G,EAAO6a,GAAW,CACpB7xH,KAAM,KACNm3G,IAAK,KACLxsG,SAAU,KACVmnH,MAAO,KACPC,cAAe,KACfj+G,OAAQ,KACRk+G,SAAU,KACVC,WAAY,MAGVC,EAAU,IAAIR,EAAA/mB,gBAEhBqM,EAAKh3G,MACLjhB,KAAK2d,QAAUw1H,EAAQlyH,KAAOg3G,EAAKh3G,KACnCjhB,KAAK2hB,WAAWq2G,QAAQmb,GACxB,MAGJnzI,KAAKozG,YAAc6kB,EAAKgb,SACxBjzI,KAAKozI,OAASD,EAAQ/a,IAAMH,EAAKG,IACjCp4H,KAAKqzI,YAAcF,EAAQvnH,SAAWqsG,EAAKrsG,SAC3C5rB,KAAK0d,SAAWu6G,EAAK8a,MACrB/yI,KAAKszI,iBAAmBrb,EAAK+a,cAC7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","file":"app/main.5767a6ed9bc20ebddf79.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\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\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\t0: 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([739,2]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export abstract class I18nService {\n locale: string;\n supportedTranslationLocales: string[];\n translationLocale: string;\n collator: Intl.Collator;\n localeNames: Map;\n t: (id: string, p1?: string, p2?: string, p3?: string) => string;\n translate: (id: string, p1?: string, p2?: string, p3?: string) => string;\n}\n","import { PolicyType } from '../enums/policyType';\n\nimport { EnvironmentUrls } from '../models/domain/environmentUrls';\n\nimport { BitPayInvoiceRequest } from '../models/request/bitPayInvoiceRequest';\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\nimport { CipherBulkRestoreRequest } from '../models/request/cipherBulkRestoreRequest';\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\nimport { CipherCreateRequest } from '../models/request/cipherCreateRequest';\nimport { CipherRequest } from '../models/request/cipherRequest';\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\nimport { CollectionRequest } from '../models/request/collectionRequest';\nimport { DeleteRecoverRequest } from '../models/request/deleteRecoverRequest';\nimport { EmailRequest } from '../models/request/emailRequest';\nimport { EmailTokenRequest } from '../models/request/emailTokenRequest';\nimport { EmergencyAccessAcceptRequest } from '../models/request/emergencyAccessAcceptRequest';\nimport { EmergencyAccessConfirmRequest } from '../models/request/emergencyAccessConfirmRequest';\nimport { EmergencyAccessInviteRequest } from '../models/request/emergencyAccessInviteRequest';\nimport { EmergencyAccessPasswordRequest } from '../models/request/emergencyAccessPasswordRequest';\nimport { EmergencyAccessUpdateRequest } from '../models/request/emergencyAccessUpdateRequest';\nimport { EventRequest } from '../models/request/eventRequest';\nimport { FolderRequest } from '../models/request/folderRequest';\nimport { GroupRequest } from '../models/request/groupRequest';\nimport { IapCheckRequest } from '../models/request/iapCheckRequest';\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\nimport { ImportDirectoryRequest } from '../models/request/importDirectoryRequest';\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\nimport { KdfRequest } from '../models/request/kdfRequest';\nimport { KeysRequest } from '../models/request/keysRequest';\nimport { OrganizationCreateRequest } from '../models/request/organizationCreateRequest';\nimport { OrganizationTaxInfoUpdateRequest } from '../models/request/organizationTaxInfoUpdateRequest';\nimport { OrganizationUpdateRequest } from '../models/request/organizationUpdateRequest';\nimport { OrganizationUpgradeRequest } from '../models/request/organizationUpgradeRequest';\nimport { OrganizationUserAcceptRequest } from '../models/request/organizationUserAcceptRequest';\nimport { OrganizationUserConfirmRequest } from '../models/request/organizationUserConfirmRequest';\nimport { OrganizationUserInviteRequest } from '../models/request/organizationUserInviteRequest';\nimport { OrganizationUserUpdateGroupsRequest } from '../models/request/organizationUserUpdateGroupsRequest';\nimport { OrganizationUserUpdateRequest } from '../models/request/organizationUserUpdateRequest';\nimport { PasswordHintRequest } from '../models/request/passwordHintRequest';\nimport { PasswordRequest } from '../models/request/passwordRequest';\nimport { PasswordVerificationRequest } from '../models/request/passwordVerificationRequest';\nimport { PaymentRequest } from '../models/request/paymentRequest';\nimport { PolicyRequest } from '../models/request/policyRequest';\nimport { PreloginRequest } from '../models/request/preloginRequest';\nimport { RegisterRequest } from '../models/request/registerRequest';\nimport { SeatRequest } from '../models/request/seatRequest';\nimport { SelectionReadOnlyRequest } from '../models/request/selectionReadOnlyRequest';\nimport { SendAccessRequest } from '../models/request/sendAccessRequest';\nimport { SendRequest } from '../models/request/sendRequest';\nimport { SetPasswordRequest } from '../models/request/setPasswordRequest';\nimport { StorageRequest } from '../models/request/storageRequest';\nimport { TaxInfoUpdateRequest } from '../models/request/taxInfoUpdateRequest';\nimport { TokenRequest } from '../models/request/tokenRequest';\nimport { TwoFactorEmailRequest } from '../models/request/twoFactorEmailRequest';\nimport { TwoFactorProviderRequest } from '../models/request/twoFactorProviderRequest';\nimport { TwoFactorRecoveryRequest } from '../models/request/twoFactorRecoveryRequest';\nimport { UpdateDomainsRequest } from '../models/request/updateDomainsRequest';\nimport { UpdateKeyRequest } from '../models/request/updateKeyRequest';\nimport { UpdateProfileRequest } from '../models/request/updateProfileRequest';\nimport { UpdateTwoFactorAuthenticatorRequest } from '../models/request/updateTwoFactorAuthenticatorRequest';\nimport { UpdateTwoFactorDuoRequest } from '../models/request/updateTwoFactorDuoRequest';\nimport { UpdateTwoFactorEmailRequest } from '../models/request/updateTwoFactorEmailRequest';\nimport { UpdateTwoFactorU2fDeleteRequest } from '../models/request/updateTwoFactorU2fDeleteRequest';\nimport { UpdateTwoFactorU2fRequest } from '../models/request/updateTwoFactorU2fRequest';\nimport { UpdateTwoFactorYubioOtpRequest } from '../models/request/updateTwoFactorYubioOtpRequest';\nimport { VerifyBankRequest } from '../models/request/verifyBankRequest';\nimport { VerifyDeleteRecoverRequest } from '../models/request/verifyDeleteRecoverRequest';\nimport { VerifyEmailRequest } from '../models/request/verifyEmailRequest';\n\nimport { ApiKeyResponse } from '../models/response/apiKeyResponse';\nimport { BillingResponse } from '../models/response/billingResponse';\nimport { BreachAccountResponse } from '../models/response/breachAccountResponse';\nimport { CipherResponse } from '../models/response/cipherResponse';\nimport {\n CollectionGroupDetailsResponse,\n CollectionResponse,\n} from '../models/response/collectionResponse';\nimport { DomainsResponse } from '../models/response/domainsResponse';\nimport {\n EmergencyAccessGranteeDetailsResponse,\n EmergencyAccessGrantorDetailsResponse,\n EmergencyAccessTakeoverResponse,\n EmergencyAccessViewResponse\n} from '../models/response/emergencyAccessResponse';\nimport { EventResponse } from '../models/response/eventResponse';\nimport { FolderResponse } from '../models/response/folderResponse';\nimport {\n GroupDetailsResponse,\n GroupResponse,\n} from '../models/response/groupResponse';\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\nimport { ListResponse } from '../models/response/listResponse';\nimport { OrganizationResponse } from '../models/response/organizationResponse';\nimport { OrganizationSubscriptionResponse } from '../models/response/organizationSubscriptionResponse';\nimport {\n OrganizationUserDetailsResponse,\n OrganizationUserUserDetailsResponse,\n} from '../models/response/organizationUserResponse';\nimport { PaymentResponse } from '../models/response/paymentResponse';\nimport { PlanResponse } from '../models/response/planResponse';\nimport { PolicyResponse } from '../models/response/policyResponse';\nimport { PreloginResponse } from '../models/response/preloginResponse';\nimport { ProfileResponse } from '../models/response/profileResponse';\nimport { SelectionReadOnlyResponse } from '../models/response/selectionReadOnlyResponse';\nimport { SendAccessResponse } from '../models/response/sendAccessResponse';\nimport { SendResponse } from '../models/response/sendResponse';\nimport { SubscriptionResponse } from '../models/response/subscriptionResponse';\nimport { SyncResponse } from '../models/response/syncResponse';\nimport { TaxInfoResponse } from '../models/response/taxInfoResponse';\nimport { TaxRateResponse } from '../models/response/taxRateResponse';\nimport { TwoFactorAuthenticatorResponse } from '../models/response/twoFactorAuthenticatorResponse';\nimport { TwoFactorDuoResponse } from '../models/response/twoFactorDuoResponse';\nimport { TwoFactorEmailResponse } from '../models/response/twoFactorEmailResponse';\nimport { TwoFactorProviderResponse } from '../models/response/twoFactorProviderResponse';\nimport { TwoFactorRecoverResponse } from '../models/response/twoFactorRescoverResponse';\nimport {\n ChallengeResponse,\n TwoFactorU2fResponse,\n} from '../models/response/twoFactorU2fResponse';\nimport { TwoFactorYubiKeyResponse } from '../models/response/twoFactorYubiKeyResponse';\nimport { UserKeyResponse } from '../models/response/userKeyResponse';\n\nexport abstract class ApiService {\n urlsSet: boolean;\n apiBaseUrl: string;\n identityBaseUrl: string;\n eventsBaseUrl: string;\n\n setUrls: (urls: EnvironmentUrls) => void;\n postIdentityToken: (request: TokenRequest) => Promise;\n refreshIdentityToken: () => Promise;\n\n getProfile: () => Promise;\n getUserBilling: () => Promise;\n getUserSubscription: () => Promise;\n getTaxInfo: () => Promise;\n putProfile: (request: UpdateProfileRequest) => Promise;\n putTaxInfo: (request: TaxInfoUpdateRequest) => Promise;\n postPrelogin: (request: PreloginRequest) => Promise;\n postEmailToken: (request: EmailTokenRequest) => Promise;\n postEmail: (request: EmailRequest) => Promise;\n postPassword: (request: PasswordRequest) => Promise;\n setPassword: (request: SetPasswordRequest) => Promise;\n postSecurityStamp: (request: PasswordVerificationRequest) => Promise;\n deleteAccount: (request: PasswordVerificationRequest) => Promise;\n getAccountRevisionDate: () => Promise;\n postPasswordHint: (request: PasswordHintRequest) => Promise;\n postRegister: (request: RegisterRequest) => Promise;\n postPremium: (data: FormData) => Promise;\n postIapCheck: (request: IapCheckRequest) => Promise;\n postReinstatePremium: () => Promise;\n postCancelPremium: () => Promise;\n postAccountStorage: (request: StorageRequest) => Promise;\n postAccountPayment: (request: PaymentRequest) => Promise;\n postAccountLicense: (data: FormData) => Promise;\n postAccountKey: (request: UpdateKeyRequest) => Promise;\n postAccountKeys: (request: KeysRequest) => Promise;\n postAccountVerifyEmail: () => Promise;\n postAccountVerifyEmailToken: (request: VerifyEmailRequest) => Promise;\n postAccountVerifyPassword: (request: PasswordVerificationRequest) => Promise;\n postAccountRecoverDelete: (request: DeleteRecoverRequest) => Promise;\n postAccountRecoverDeleteToken: (request: VerifyDeleteRecoverRequest) => Promise;\n postAccountKdf: (request: KdfRequest) => Promise;\n getEnterprisePortalSignInToken: () => Promise;\n postUserApiKey: (id: string, request: PasswordVerificationRequest) => Promise;\n postUserRotateApiKey: (id: string, request: PasswordVerificationRequest) => Promise;\n\n getFolder: (id: string) => Promise;\n postFolder: (request: FolderRequest) => Promise;\n putFolder: (id: string, request: FolderRequest) => Promise;\n deleteFolder: (id: string) => Promise;\n\n getSend: (id: string) => Promise;\n postSendAccess: (id: string, request: SendAccessRequest) => Promise;\n getSends: () => Promise>;\n postSend: (request: SendRequest) => Promise;\n postSendFile: (data: FormData) => Promise;\n putSend: (id: string, request: SendRequest) => Promise;\n putSendRemovePassword: (id: string) => Promise;\n deleteSend: (id: string) => Promise;\n\n getCipher: (id: string) => Promise;\n getCipherAdmin: (id: string) => Promise;\n getCiphersOrganization: (organizationId: string) => Promise>;\n postCipher: (request: CipherRequest) => Promise;\n postCipherCreate: (request: CipherCreateRequest) => Promise;\n postCipherAdmin: (request: CipherCreateRequest) => Promise;\n putCipher: (id: string, request: CipherRequest) => Promise;\n putCipherAdmin: (id: string, request: CipherRequest) => Promise;\n deleteCipher: (id: string) => Promise;\n deleteCipherAdmin: (id: string) => Promise;\n deleteManyCiphers: (request: CipherBulkDeleteRequest) => Promise;\n deleteManyCiphersAdmin: (request: CipherBulkDeleteRequest) => Promise;\n putMoveCiphers: (request: CipherBulkMoveRequest) => Promise;\n putShareCipher: (id: string, request: CipherShareRequest) => Promise;\n putShareCiphers: (request: CipherBulkShareRequest) => Promise;\n putCipherCollections: (id: string, request: CipherCollectionsRequest) => Promise;\n putCipherCollectionsAdmin: (id: string, request: CipherCollectionsRequest) => Promise;\n postPurgeCiphers: (request: PasswordVerificationRequest, organizationId?: string) => Promise;\n postImportCiphers: (request: ImportCiphersRequest) => Promise;\n postImportOrganizationCiphers: (organizationId: string, request: ImportOrganizationCiphersRequest) => Promise;\n putDeleteCipher: (id: string) => Promise;\n putDeleteCipherAdmin: (id: string) => Promise;\n putDeleteManyCiphers: (request: CipherBulkDeleteRequest) => Promise;\n putDeleteManyCiphersAdmin: (request: CipherBulkDeleteRequest) => Promise;\n putRestoreCipher: (id: string) => Promise;\n putRestoreCipherAdmin: (id: string) => Promise;\n putRestoreManyCiphers: (request: CipherBulkRestoreRequest) => Promise>;\n\n postCipherAttachment: (id: string, data: FormData) => Promise;\n postCipherAttachmentAdmin: (id: string, data: FormData) => Promise;\n deleteCipherAttachment: (id: string, attachmentId: string) => Promise;\n deleteCipherAttachmentAdmin: (id: string, attachmentId: string) => Promise;\n postShareCipherAttachment: (id: string, attachmentId: string, data: FormData,\n organizationId: string) => Promise;\n\n getCollectionDetails: (organizationId: string, id: string) => Promise;\n getUserCollections: () => Promise>;\n getCollections: (organizationId: string) => Promise>;\n getCollectionUsers: (organizationId: string, id: string) => Promise;\n postCollection: (organizationId: string, request: CollectionRequest) => Promise;\n putCollectionUsers: (organizationId: string, id: string, request: SelectionReadOnlyRequest[]) => Promise;\n putCollection: (organizationId: string, id: string, request: CollectionRequest) => Promise;\n deleteCollection: (organizationId: string, id: string) => Promise;\n deleteCollectionUser: (organizationId: string, id: string, organizationUserId: string) => Promise;\n\n getGroupDetails: (organizationId: string, id: string) => Promise;\n getGroups: (organizationId: string) => Promise>;\n getGroupUsers: (organizationId: string, id: string) => Promise;\n postGroup: (organizationId: string, request: GroupRequest) => Promise;\n putGroup: (organizationId: string, id: string, request: GroupRequest) => Promise;\n putGroupUsers: (organizationId: string, id: string, request: string[]) => Promise;\n deleteGroup: (organizationId: string, id: string) => Promise;\n deleteGroupUser: (organizationId: string, id: string, organizationUserId: string) => Promise;\n\n getPolicy: (organizationId: string, type: PolicyType) => Promise;\n getPolicies: (organizationId: string) => Promise>;\n getPoliciesByToken: (organizationId: string, token: string, email: string, organizationUserId: string) =>\n Promise>;\n putPolicy: (organizationId: string, type: PolicyType, request: PolicyRequest) => Promise;\n\n getOrganizationUser: (organizationId: string, id: string) => Promise;\n getOrganizationUserGroups: (organizationId: string, id: string) => Promise;\n getOrganizationUsers: (organizationId: string) => Promise>;\n postOrganizationUserInvite: (organizationId: string, request: OrganizationUserInviteRequest) => Promise;\n postOrganizationUserReinvite: (organizationId: string, id: string) => Promise;\n postOrganizationUserAccept: (organizationId: string, id: string,\n request: OrganizationUserAcceptRequest) => Promise;\n postOrganizationUserConfirm: (organizationId: string, id: string,\n request: OrganizationUserConfirmRequest) => Promise;\n putOrganizationUser: (organizationId: string, id: string, request: OrganizationUserUpdateRequest) => Promise;\n putOrganizationUserGroups: (organizationId: string, id: string,\n request: OrganizationUserUpdateGroupsRequest) => Promise;\n deleteOrganizationUser: (organizationId: string, id: string) => Promise;\n\n getSync: () => Promise;\n postImportDirectory: (organizationId: string, request: ImportDirectoryRequest) => Promise;\n\n getSettingsDomains: () => Promise;\n putSettingsDomains: (request: UpdateDomainsRequest) => Promise;\n\n getTwoFactorProviders: () => Promise>;\n getTwoFactorOrganizationProviders: (organizationId: string) => Promise>;\n getTwoFactorAuthenticator: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorEmail: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorDuo: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorOrganizationDuo: (organizationId: string,\n request: PasswordVerificationRequest) => Promise;\n getTwoFactorYubiKey: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorU2f: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorU2fChallenge: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorRecover: (request: PasswordVerificationRequest) => Promise;\n putTwoFactorAuthenticator: (\n request: UpdateTwoFactorAuthenticatorRequest) => Promise;\n putTwoFactorEmail: (request: UpdateTwoFactorEmailRequest) => Promise;\n putTwoFactorDuo: (request: UpdateTwoFactorDuoRequest) => Promise;\n putTwoFactorOrganizationDuo: (organizationId: string,\n request: UpdateTwoFactorDuoRequest) => Promise;\n putTwoFactorYubiKey: (request: UpdateTwoFactorYubioOtpRequest) => Promise;\n putTwoFactorU2f: (request: UpdateTwoFactorU2fRequest) => Promise;\n deleteTwoFactorU2f: (request: UpdateTwoFactorU2fDeleteRequest) => Promise;\n putTwoFactorDisable: (request: TwoFactorProviderRequest) => Promise;\n putTwoFactorOrganizationDisable: (organizationId: string,\n request: TwoFactorProviderRequest) => Promise;\n postTwoFactorRecover: (request: TwoFactorRecoveryRequest) => Promise;\n postTwoFactorEmailSetup: (request: TwoFactorEmailRequest) => Promise;\n postTwoFactorEmail: (request: TwoFactorEmailRequest) => Promise;\n\n getEmergencyAccessTrusted: () => Promise>;\n getEmergencyAccessGranted: () => Promise>;\n getEmergencyAccess: (id: string) => Promise;\n putEmergencyAccess: (id: string, request: EmergencyAccessUpdateRequest) => Promise;\n deleteEmergencyAccess: (id: string) => Promise;\n postEmergencyAccessInvite: (request: EmergencyAccessInviteRequest) => Promise;\n postEmergencyAccessReinvite: (id: string) => Promise;\n postEmergencyAccessAccept: (id: string, request: EmergencyAccessAcceptRequest) => Promise;\n postEmergencyAccessConfirm: (id: string, request: EmergencyAccessConfirmRequest) => Promise;\n postEmergencyAccessInitiate: (id: string) => Promise;\n postEmergencyAccessApprove: (id: string) => Promise;\n postEmergencyAccessReject: (id: string) => Promise;\n postEmergencyAccessTakeover: (id: string) => Promise;\n postEmergencyAccessPassword: (id: string, request: EmergencyAccessPasswordRequest) => Promise;\n postEmergencyAccessView: (id: string) => Promise;\n\n getOrganization: (id: string) => Promise;\n getOrganizationBilling: (id: string) => Promise;\n getOrganizationSubscription: (id: string) => Promise;\n getOrganizationLicense: (id: string, installationId: string) => Promise;\n getOrganizationTaxInfo: (id: string) => Promise;\n postOrganization: (request: OrganizationCreateRequest) => Promise;\n putOrganization: (id: string, request: OrganizationUpdateRequest) => Promise;\n putOrganizationTaxInfo: (id: string, request: OrganizationTaxInfoUpdateRequest) => Promise;\n postLeaveOrganization: (id: string) => Promise;\n postOrganizationLicense: (data: FormData) => Promise;\n postOrganizationLicenseUpdate: (id: string, data: FormData) => Promise;\n postOrganizationApiKey: (id: string, request: PasswordVerificationRequest) => Promise;\n postOrganizationRotateApiKey: (id: string, request: PasswordVerificationRequest) => Promise;\n postOrganizationUpgrade: (id: string, request: OrganizationUpgradeRequest) => Promise;\n postOrganizationSeat: (id: string, request: SeatRequest) => Promise;\n postOrganizationStorage: (id: string, request: StorageRequest) => Promise;\n postOrganizationPayment: (id: string, request: PaymentRequest) => Promise;\n postOrganizationVerifyBank: (id: string, request: VerifyBankRequest) => Promise;\n postOrganizationCancel: (id: string) => Promise;\n postOrganizationReinstate: (id: string) => Promise;\n deleteOrganization: (id: string, request: PasswordVerificationRequest) => Promise;\n getPlans: () => Promise>;\n getTaxRates: () => Promise>;\n\n getEvents: (start: string, end: string, token: string) => Promise>;\n getEventsCipher: (id: string, start: string, end: string, token: string) => Promise>;\n getEventsOrganization: (id: string, start: string, end: string,\n token: string) => Promise>;\n getEventsOrganizationUser: (organizationId: string, id: string,\n start: string, end: string, token: string) => Promise>;\n postEventsCollect: (request: EventRequest[]) => Promise;\n\n deleteSsoUser: (organizationId: string) => Promise;\n getSsoUserIdentifier: () => Promise;\n\n getUserPublicKey: (id: string) => Promise;\n\n getHibpBreach: (username: string) => Promise;\n\n postBitPayInvoice: (request: BitPayInvoiceRequest) => Promise;\n postSetupPayment: () => Promise;\n\n getActiveBearerToken: () => Promise;\n fetch: (request: Request) => Promise;\n nativeFetch: (request: Request) => Promise;\n\n preValidateSso: (identifier: string) => Promise;\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 isViewOpen: () => Promise;\n /**\n * @deprecated This only ever returns null. Pull from your platform's storage using ConstantsService.vaultTimeoutKey\n */\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 | string[],\n options?: any) => void;\n showDialog: (text: string, title?: string, confirmText?: string, cancelText?: string,\n type?: string) => Promise;\n eventTrack: (action: string, label?: string, options?: any) => void;\n isDev: () => boolean;\n isSelfHost: () => boolean;\n copyToClipboard: (text: string, options?: any) => void;\n readFromClipboard: (options?: any) => Promise;\n supportsBiometric: () => Promise;\n authenticateBiometric: () => Promise;\n getDefaultSystemTheme: () => 'light' | 'dark';\n onDefaultSystemThemeChange: (callback: ((theme: 'light' | 'dark') => unknown)) => unknown;\n supportsSecureStorage: () => boolean;\n}\n","import { OrganizationData } from '../models/data/organizationData';\nimport { Organization } from '../models/domain/organization';\n\nimport { KdfType } from '../enums/kdfType';\n\nexport abstract class UserService {\n setInformation: (userId: string, email: string, kdf: KdfType, kdfIterations: number) => Promise;\n setSecurityStamp: (stamp: string) => Promise;\n getUserId: () => Promise;\n getEmail: () => Promise;\n getSecurityStamp: () => Promise;\n getKdf: () => Promise;\n getKdfIterations: () => Promise;\n clear: () => Promise;\n isAuthenticated: () => Promise;\n canAccessPremium: () => Promise;\n getOrganization: (id: string) => Promise;\n getAllOrganizations: () => Promise;\n replaceOrganizations: (organizations: { [id: string]: OrganizationData; }) => Promise;\n clearOrganizations: (userId: string) => Promise;\n}\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\n\nimport { I18nService } from '../../abstractions/i18n.service';\n\n@Pipe({\n name: 'i18n',\n})\nexport class I18nPipe implements PipeTransform {\n constructor(private i18nService: I18nService) { }\n\n transform(id: string, p1?: string, p2?: string, p3?: string): string {\n return this.i18nService.t(id, p1, p2, p3);\n }\n}\n","export abstract class MessagingService {\n send: (subscriber: string, arg?: any) => void;\n}\n","import {\n Directive,\n ElementRef,\n Input,\n OnChanges,\n} from '@angular/core';\n\nimport { ValidationService } from '../services/validation.service';\n\n@Directive({\n selector: '[appApiAction]',\n})\nexport class ApiActionDirective implements OnChanges {\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) {\n return;\n }\n\n this.el.nativeElement.loading = true;\n\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 });\n }\n}\n","import {\n Directive,\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\n@Directive({\n selector: '[appA11yTitle]',\n})\nexport class A11yTitleDirective {\n @Input() set appA11yTitle(title: string) {\n this.title = title;\n }\n\n private title: string;\n\n constructor(private el: ElementRef, private renderer: Renderer2) { }\n\n ngOnInit() {\n if (!this.el.nativeElement.hasAttribute('title')) {\n this.renderer.setAttribute(this.el.nativeElement, 'title', this.title);\n }\n if (!this.el.nativeElement.hasAttribute('aria-label')) {\n this.renderer.setAttribute(this.el.nativeElement, 'aria-label', this.title);\n }\n }\n}\n","import { CipherString } from '../models/domain/cipherString';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { ProfileOrganizationResponse } from '../models/response/profileOrganizationResponse';\n\nimport { KdfType } from '../enums/kdfType';\n\nexport abstract class CryptoService {\n setKey: (key: SymmetricCryptoKey) => Promise;\n setKeyHash: (keyHash: string) => Promise<{}>;\n setEncKey: (encKey: string) => Promise<{}>;\n setEncPrivateKey: (encPrivateKey: string) => Promise<{}>;\n setOrgKeys: (orgs: ProfileOrganizationResponse[]) => Promise<{}>;\n getKey: () => Promise;\n getKeyHash: () => Promise;\n getEncKey: (key?: SymmetricCryptoKey) => Promise;\n getPublicKey: () => Promise;\n getPrivateKey: () => Promise;\n getFingerprint: (userId: string, publicKey?: ArrayBuffer) => Promise;\n getOrgKeys: () => Promise>;\n getOrgKey: (orgId: string) => Promise;\n hasKey: () => Promise;\n hasEncKey: () => Promise;\n clearKey: () => Promise;\n clearKeyHash: () => Promise;\n clearEncKey: (memoryOnly?: boolean) => Promise;\n clearKeyPair: (memoryOnly?: boolean) => Promise;\n clearOrgKeys: (memoryOnly?: boolean) => Promise;\n clearPinProtectedKey: () => Promise;\n clearKeys: () => Promise;\n toggleKey: () => Promise;\n makeKey: (password: string, salt: string, kdf: KdfType, kdfIterations: number) => Promise;\n makeKeyFromPin: (pin: string, salt: string, kdf: KdfType, kdfIterations: number,\n protectedKeyCs?: CipherString) => Promise;\n makeShareKey: () => Promise<[CipherString, SymmetricCryptoKey]>;\n makeKeyPair: (key?: SymmetricCryptoKey) => Promise<[string, CipherString]>;\n makePinKey: (pin: string, salt: string, kdf: KdfType, kdfIterations: number) => Promise;\n makeSendKey: (keyMaterial: ArrayBuffer) => Promise;\n hashPassword: (password: string, key: SymmetricCryptoKey) => Promise;\n makeEncKey: (key: SymmetricCryptoKey) => Promise<[SymmetricCryptoKey, CipherString]>;\n remakeEncKey: (key: SymmetricCryptoKey, encKey?: SymmetricCryptoKey) => Promise<[SymmetricCryptoKey, CipherString]>;\n encrypt: (plainValue: string | ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\n encryptToBytes: (plainValue: ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\n rsaEncrypt: (data: ArrayBuffer, publicKey?: ArrayBuffer) => Promise;\n rsaDecrypt: (encValue: string) => Promise;\n decryptToBytes: (cipherString: CipherString, key?: SymmetricCryptoKey) => Promise;\n decryptToUtf8: (cipherString: CipherString, key?: SymmetricCryptoKey) => Promise;\n decryptFromBytes: (encBuf: ArrayBuffer, key: SymmetricCryptoKey) => Promise;\n randomNumber: (min: number, max: number) => Promise;\n}\n","import { CipherType } from '../enums/cipherType';\nimport { UriMatchType } from '../enums/uriMatchType';\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 { 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, originalCipher?: Cipher) => 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[],\n defaultMatch?: UriMatchType) => Promise;\n getAllFromApiForOrganization: (organizationId: string) => Promise;\n getLastUsedForUrl: (url: string) => Promise;\n getLastLaunchedForUrl: (url: string) => Promise;\n getNextCipherForUrl: (url: string) => Promise;\n updateLastUsedIndexForUrl: (url: string) => void;\n updateLastUsedDate: (id: string) => Promise;\n updateLastLaunchedDate: (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 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 softDelete: (id: string | string[]) => Promise;\n softDeleteWithServer: (id: string) => Promise;\n softDeleteManyWithServer: (ids: string[]) => Promise;\n restore: (cipher: { id: string, revisionDate: string; } | { id: string, revisionDate: string; }[]) => Promise;\n restoreWithServer: (id: string) => Promise;\n restoreManyWithServer: (ids: string[]) => Promise;\n}\n","export abstract class BaseResponse {\n private response: any;\n\n constructor(response: any) {\n this.response = response;\n }\n\n protected getResponseProperty(propertyName: string, response: any = null, exactName = false): any {\n if (propertyName == null || propertyName === '') {\n throw new Error('propertyName must not be null/empty.');\n }\n if (response == null && this.response != null) {\n response = this.response;\n }\n if (response == null) {\n return null;\n }\n if (!exactName && response[propertyName] === undefined) {\n let otherCasePropertyName: string = null;\n if (propertyName.charAt(0) === propertyName.charAt(0).toUpperCase()) {\n otherCasePropertyName = propertyName.charAt(0).toLowerCase();\n } else {\n otherCasePropertyName = propertyName.charAt(0).toUpperCase();\n }\n if (propertyName.length > 1) {\n otherCasePropertyName += propertyName.slice(1);\n }\n\n propertyName = otherCasePropertyName;\n if (response[propertyName] === undefined) {\n propertyName = propertyName.toLowerCase();\n }\n if (response[propertyName] === undefined) {\n propertyName = propertyName.toUpperCase();\n }\n }\n return response[propertyName];\n }\n}\n","import * as papa from 'papaparse';\n\nimport { LogService } from '../abstractions/log.service';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherView } from '../models/view/cipherView';\nimport { CollectionView } from '../models/view/collectionView';\nimport { LoginUriView } from '../models/view/loginUriView';\n\nimport { Utils } from '../misc/utils';\n\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\nimport { ConsoleLogService } from '../services/consoleLog.service';\n\nexport abstract class BaseImporter {\n organizationId: string = null;\n\n protected logService: LogService = new ConsoleLogService(false);\n\n protected newLineRegex = /(?:\\r\\n|\\r|\\n)/;\n\n protected passwordFieldNames = [\n 'password', 'pass word', 'passphrase', 'pass phrase',\n 'pass', 'code', 'code word', 'codeword',\n 'secret', 'secret word', 'personpwd',\n 'key', 'keyword', 'key word', 'keyphrase', 'key phrase',\n 'form_pw', 'wppassword', 'pin', 'pwd', 'pw', 'pword', 'passwd',\n 'p', 'serial', 'serial#', 'license key', 'reg #',\n\n // Non-English names\n 'passwort',\n ];\n\n protected usernameFieldNames = [\n 'user', 'name', 'user name', 'username', 'login name',\n 'email', 'e-mail', 'id', 'userid', 'user id',\n 'login', 'form_loginname', 'wpname', 'mail',\n 'loginid', 'login id', 'log', 'personlogin',\n 'first name', 'last name', 'card#', 'account #',\n 'member', 'member #',\n\n // Non-English names\n 'nom', 'benutzername',\n ];\n\n protected notesFieldNames = [\n 'note', 'notes', 'comment', 'comments', 'memo',\n 'description', 'free form', 'freeform',\n 'free text', 'freetext', 'free',\n\n // Non-English names\n 'kommentar',\n ];\n\n protected uriFieldNames: string[] = [\n 'url', 'hyper link', 'hyperlink', 'link',\n 'host', 'hostname', 'host name', 'server', 'address',\n 'hyper ref', 'href', 'web', 'website', 'web site', 'site',\n 'web-site', 'uri',\n\n // Non-English names\n 'ort', 'adresse',\n ];\n\n protected parseCsvOptions = {\n encoding: 'UTF-8',\n skipEmptyLines: false,\n };\n\n protected get organization() {\n return this.organizationId != null;\n }\n\n protected parseXml(data: string): Document {\n const parser = new DOMParser();\n const doc = parser.parseFromString(data, 'application/xml');\n return doc != null && doc.querySelector('parsererror') == null ? doc : null;\n }\n\n protected parseCsv(data: string, header: boolean, options: any = {}): any[] {\n const parseOptions = Object.assign({ header: header }, this.parseCsvOptions, options);\n data = this.splitNewLine(data).join('\\n').trim();\n const result = papa.parse(data, parseOptions);\n if (result.errors != null && result.errors.length > 0) {\n result.errors.forEach((e) => {\n if (e.row != null) {\n // tslint:disable-next-line\n this.logService.warning('Error parsing row ' + e.row + ': ' + e.message);\n }\n });\n }\n return result.data && result.data.length > 0 ? result.data : null;\n }\n\n protected parseSingleRowCsv(rowData: string) {\n if (this.isNullOrWhitespace(rowData)) {\n return null;\n }\n const parsedRow = this.parseCsv(rowData, false);\n if (parsedRow != null && parsedRow.length > 0 && parsedRow[0].length > 0) {\n return parsedRow[0];\n }\n return null;\n }\n\n protected makeUriArray(uri: string | string[]): LoginUriView[] {\n if (uri == null) {\n return null;\n }\n\n if (typeof uri === 'string') {\n const loginUri = new LoginUriView();\n loginUri.uri = this.fixUri(uri);\n if (this.isNullOrWhitespace(loginUri.uri)) {\n return null;\n }\n loginUri.match = null;\n return [loginUri];\n }\n\n if (uri.length > 0) {\n const returnArr: LoginUriView[] = [];\n uri.forEach((u) => {\n const loginUri = new LoginUriView();\n loginUri.uri = this.fixUri(u);\n if (this.isNullOrWhitespace(loginUri.uri)) {\n return;\n }\n loginUri.match = null;\n returnArr.push(loginUri);\n });\n return returnArr.length === 0 ? null : returnArr;\n }\n\n return null;\n }\n\n protected fixUri(uri: string) {\n if (uri == null) {\n return null;\n }\n uri = uri.trim();\n if (uri.indexOf('://') === -1 && uri.indexOf('.') >= 0) {\n uri = 'http://' + uri;\n }\n if (uri.length > 1000) {\n return uri.substring(0, 1000);\n }\n return uri;\n }\n\n protected nameFromUrl(url: string) {\n const hostname = Utils.getHostname(url);\n if (this.isNullOrWhitespace(hostname)) {\n return null;\n }\n return hostname.startsWith('www.') ? hostname.replace('www.', '') : hostname;\n }\n\n protected isNullOrWhitespace(str: string): boolean {\n return Utils.isNullOrWhitespace(str);\n }\n\n protected getValueOrDefault(str: string, defaultValue: string = null): string {\n if (this.isNullOrWhitespace(str)) {\n return defaultValue;\n }\n return str;\n }\n\n protected splitNewLine(str: string): string[] {\n return str.split(this.newLineRegex);\n }\n\n // ref https://stackoverflow.com/a/5911300\n protected getCardBrand(cardNum: string) {\n if (this.isNullOrWhitespace(cardNum)) {\n return null;\n }\n\n // Visa\n let re = new RegExp('^4');\n if (cardNum.match(re) != null) {\n return 'Visa';\n }\n\n // Mastercard\n // Updated for Mastercard 2017 BINs expansion\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}))$/\n .test(cardNum)) {\n return 'Mastercard';\n }\n\n // AMEX\n re = new RegExp('^3[47]');\n if (cardNum.match(re) != null) {\n return 'Amex';\n }\n\n // Discover\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)');\n if (cardNum.match(re) != null) {\n return 'Discover';\n }\n\n // Diners\n re = new RegExp('^36');\n if (cardNum.match(re) != null) {\n return 'Diners Club';\n }\n\n // Diners - Carte Blanche\n re = new RegExp('^30[0-5]');\n if (cardNum.match(re) != null) {\n return 'Diners Club';\n }\n\n // JCB\n re = new RegExp('^35(2[89]|[3-8][0-9])');\n if (cardNum.match(re) != null) {\n return 'JCB';\n }\n\n // Visa Electron\n re = new RegExp('^(4026|417500|4508|4844|491(3|7))');\n if (cardNum.match(re) != null) {\n return 'Visa';\n }\n\n return null;\n }\n\n protected setCardExpiration(cipher: CipherView, expiration: string): boolean {\n if (!this.isNullOrWhitespace(expiration)) {\n const parts = expiration.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 return true;\n }\n }\n }\n return false;\n }\n\n protected moveFoldersToCollections(result: ImportResult) {\n result.folderRelationships.forEach((r) => result.collectionRelationships.push(r));\n result.collections = result.folders.map((f) => {\n const collection = new CollectionView();\n collection.name = f.name;\n return collection;\n });\n result.folderRelationships = [];\n result.folders = [];\n }\n\n protected querySelectorDirectChild(parentEl: Element, query: string) {\n const els = this.querySelectorAllDirectChild(parentEl, query);\n return els.length === 0 ? null : els[0];\n }\n\n protected querySelectorAllDirectChild(parentEl: Element, query: string) {\n return Array.from(parentEl.querySelectorAll(query)).filter((el) => el.parentNode === parentEl);\n }\n\n protected initLoginCipher() {\n const cipher = new CipherView();\n cipher.favorite = false;\n cipher.notes = '';\n cipher.fields = [];\n cipher.login = new LoginView();\n cipher.type = CipherType.Login;\n return cipher;\n }\n\n protected cleanupCipher(cipher: CipherView) {\n if (cipher == null) {\n return;\n }\n if (cipher.type !== CipherType.Login) {\n cipher.login = null;\n }\n if (this.isNullOrWhitespace(cipher.name)) {\n cipher.name = '--';\n }\n if (this.isNullOrWhitespace(cipher.notes)) {\n cipher.notes = null;\n } else {\n cipher.notes = cipher.notes.trim();\n }\n if (cipher.fields != null && cipher.fields.length === 0) {\n cipher.fields = null;\n }\n }\n\n protected processKvp(cipher: CipherView, key: string, value: string, type: FieldType = FieldType.Text) {\n if (this.isNullOrWhitespace(value)) {\n return;\n }\n if (this.isNullOrWhitespace(key)) {\n key = '';\n }\n if (value.length > 200 || value.trim().search(this.newLineRegex) > -1) {\n if (cipher.notes == null) {\n cipher.notes = '';\n }\n cipher.notes += (key + ': ' + this.splitNewLine(value).join('\\n') + '\\n');\n } else {\n if (cipher.fields == null) {\n cipher.fields = [];\n }\n const field = new FieldView();\n field.type = type;\n field.name = key;\n field.value = value;\n cipher.fields.push(field);\n }\n }\n\n protected processFolder(result: ImportResult, folderName: string) {\n let folderIndex = result.folders.length;\n const hasFolder = !this.isNullOrWhitespace(folderName);\n let addFolder = hasFolder;\n\n if (hasFolder) {\n for (let i = 0; i < result.folders.length; i++) {\n if (result.folders[i].name === folderName) {\n addFolder = false;\n folderIndex = i;\n break;\n }\n }\n }\n\n if (addFolder) {\n const f = new FolderView();\n f.name = folderName;\n result.folders.push(f);\n }\n if (hasFolder) {\n result.folderRelationships.push([result.ciphers.length, folderIndex]);\n }\n }\n\n protected convertToNoteIfNeeded(cipher: CipherView) {\n if (cipher.type === CipherType.Login && this.isNullOrWhitespace(cipher.login.username) &&\n this.isNullOrWhitespace(cipher.login.password) &&\n (cipher.login.uris == null || cipher.login.uris.length === 0)) {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n }\n }\n}\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: [number, number][] = [];\n collections: CollectionView[] = [];\n collectionRelationships: [number, number][] = [];\n}\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { I18nService } from '../../abstractions/i18n.service';\n\n@Component({\n selector: 'app-callout',\n templateUrl: 'callout.component.html',\n})\nexport class CalloutComponent implements OnInit {\n @Input() type = 'info';\n @Input() icon: string;\n @Input() title: string;\n\n calloutStyle: string;\n\n constructor(private i18nService: I18nService) { }\n\n ngOnInit() {\n this.calloutStyle = this.type;\n\n if (this.type === 'warning' || this.type === 'danger') {\n if (this.type === 'danger') {\n this.calloutStyle = 'danger';\n }\n if (this.title === undefined) {\n this.title = this.i18nService.t('warning');\n }\n if (this.icon === undefined) {\n this.icon = 'fa-warning';\n }\n } else if (this.type === 'error') {\n this.calloutStyle = 'danger';\n if (this.title === undefined) {\n this.title = this.i18nService.t('error');\n }\n if (this.icon === undefined) {\n this.icon = 'fa-bolt';\n }\n } else if (this.type === 'tip') {\n this.calloutStyle = 'success';\n if (this.title === undefined) {\n this.title = this.i18nService.t('tip');\n }\n if (this.icon === undefined) {\n this.icon = 'fa-lightbulb-o';\n }\n }\n }\n}\n","
\n

\n \n {{title}}\n

\n \n
\n","import * as tldjs from 'tldjs';\n\nimport { I18nService } from '../abstractions/i18n.service';\n\n// tslint:disable-next-line\nconst nodeURL = typeof window === 'undefined' ? require('url') : null;\n\nexport class Utils {\n static inited = false;\n static isNativeScript = false;\n static isNode = false;\n static isBrowser = true;\n static isMobileBrowser = false;\n static isAppleMobileBrowser = false;\n static global: any = null;\n static tldEndingRegex = /.*\\.(com|net|org|edu|uk|gov|ca|de|jp|fr|au|ru|ch|io|es|us|co|xyz|info|ly|mil)$/;\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.isNativeScript = !Utils.isNode && !Utils.isBrowser;\n Utils.isMobileBrowser = Utils.isBrowser && this.isMobile(window);\n Utils.isAppleMobileBrowser = Utils.isBrowser && this.isAppleMobile(window);\n Utils.global = Utils.isNativeScript ? global : (Utils.isNode && !Utils.isBrowser ? global : window);\n }\n\n static fromB64ToArray(str: string): Uint8Array {\n if (Utils.isNode || Utils.isNativeScript) {\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 fromUrlB64ToArray(str: string): Uint8Array {\n return Utils.fromB64ToArray(Utils.fromUrlB64ToB64(str));\n }\n\n static fromHexToArray(str: string): Uint8Array {\n if (Utils.isNode || Utils.isNativeScript) {\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 || Utils.isNativeScript) {\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 || Utils.isNativeScript) {\n return Buffer.from(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 fromBufferToUrlB64(buffer: ArrayBuffer): string {\n return Utils.fromB64toUrlB64(Utils.fromBufferToB64(buffer));\n }\n\n static fromB64toUrlB64(b64Str: string) {\n return b64Str.replace(/\\+/g, '-')\n .replace(/\\//g, '_')\n .replace(/=/g, '');\n }\n\n static fromBufferToUtf8(buffer: ArrayBuffer): string {\n if (Utils.isNode || Utils.isNativeScript) {\n return Buffer.from(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 || Utils.isNativeScript) {\n return Buffer.from(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 fromUrlB64ToB64(urlB64Str: string): string {\n let output = urlB64Str.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 output;\n }\n\n static fromUrlB64ToUtf8(urlB64Str: string): string {\n return Utils.fromB64ToUtf8(Utils.fromUrlB64ToB64(urlB64Str));\n }\n\n static fromB64ToUtf8(b64Str: string): string {\n if (Utils.isNode || Utils.isNativeScript) {\n return Buffer.from(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 isGuid(id: string) {\n return RegExp(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/, 'i').test(id);\n }\n\n static getHostname(uriString: string): string {\n const url = Utils.getUrl(uriString);\n try {\n return url != null && url.hostname !== '' ? url.hostname : null;\n } catch {\n return null;\n }\n }\n\n static getHost(uriString: string): string {\n const url = Utils.getUrl(uriString);\n try {\n return url != null && url.host !== '' ? url.host : null;\n } catch {\n return null;\n }\n }\n\n static getDomain(uriString: string): string {\n if (uriString == null) {\n return null;\n }\n\n uriString = uriString.trim();\n if (uriString === '') {\n return null;\n }\n\n if (uriString.startsWith('data:')) {\n return null;\n }\n\n let httpUrl = uriString.startsWith('http://') || uriString.startsWith('https://');\n if (!httpUrl && uriString.indexOf('://') < 0 && Utils.tldEndingRegex.test(uriString)) {\n uriString = 'http://' + uriString;\n httpUrl = true;\n }\n\n if (httpUrl) {\n try {\n const url = Utils.getUrlObject(uriString);\n if (url.hostname === 'localhost' || Utils.validIpAddress(url.hostname)) {\n return url.hostname;\n }\n\n const urlDomain = tldjs != null && tldjs.getDomain != null ? tldjs.getDomain(url.hostname) : null;\n return urlDomain != null ? urlDomain : url.hostname;\n } catch (e) { }\n }\n\n try {\n const domain = tldjs != null && tldjs.getDomain != null ? tldjs.getDomain(uriString) : null;\n\n if (domain != null) {\n return domain;\n }\n } catch {\n return null;\n }\n\n return null;\n }\n\n static getQueryParams(uriString: string): Map {\n const url = Utils.getUrl(uriString);\n if (url == null || url.search == null || url.search === '') {\n return null;\n }\n const map = new Map();\n const pairs = (url.search[0] === '?' ? url.search.substr(1) : url.search).split('&');\n pairs.forEach((pair) => {\n const parts = pair.split('=');\n if (parts.length < 1) {\n return;\n }\n map.set(decodeURIComponent(parts[0]).toLowerCase(), parts[1] == null ? '' : decodeURIComponent(parts[1]));\n });\n return map;\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 static isNullOrWhitespace(str: string): boolean {\n return str == null || typeof str !== 'string' || str.trim() === '';\n }\n\n private static validIpAddress(ipString: string): boolean {\n // tslint:disable-next-line\n const ipRegex = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;\n return ipRegex.test(ipString);\n }\n\n private static 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 return mobile || win.navigator.userAgent.match(/iPad/i) != null;\n }\n\n private static isAppleMobile(win: Window) {\n return win.navigator.userAgent.match(/iPhone/i) != null || win.navigator.userAgent.match(/iPad/i) != null;\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 let url = Utils.getUrlObject(uriString);\n if (url == null) {\n const hasHttpProtocol = uriString.indexOf('http://') === 0 || uriString.indexOf('https://') === 0;\n if (!hasHttpProtocol && uriString.indexOf('.') > -1) {\n url = Utils.getUrlObject('http://' + uriString);\n }\n }\n return url;\n }\n\n private static getUrlObject(uriString: string): URL {\n try {\n if (nodeURL != null) {\n return nodeURL.URL ? new nodeURL.URL(uriString) : nodeURL.parse(uriString);\n } else if (typeof URL === 'function') {\n return new URL(uriString);\n } else if (window != null) {\n const hasProtocol = uriString.indexOf('://') > -1;\n if (!hasProtocol && uriString.indexOf('.') > -1) {\n uriString = 'http://' + uriString;\n } else if (!hasProtocol) {\n return null;\n }\n const anchor = window.document.createElement('a');\n anchor.href = uriString;\n return anchor as any;\n }\n } catch (e) { }\n\n return null;\n }\n}\n\nUtils.init();\n","import { GeneratedPasswordHistory } from '../models/domain/generatedPasswordHistory';\nimport { PasswordGeneratorPolicyOptions } from '../models/domain/passwordGeneratorPolicyOptions';\n\nexport abstract class PasswordGenerationService {\n generatePassword: (options: any) => Promise;\n generatePassphrase: (options: any) => Promise;\n getOptions: () => Promise<[any, PasswordGeneratorPolicyOptions]>;\n enforcePasswordGeneratorPoliciesOnOptions: (options: any) => Promise<[any, PasswordGeneratorPolicyOptions]>;\n getPasswordGeneratorPolicyOptions: () => Promise;\n saveOptions: (options: any) => Promise;\n getHistory: () => Promise;\n addHistory: (password: string) => Promise;\n clear: () => Promise;\n passwordStrength: (password: string, userInputs?: string[]) => zxcvbn.ZXCVBNResult;\n normalizeOptions: (options: any, enforcedPolicyOptions: PasswordGeneratorPolicyOptions) => void;\n}\n","export abstract class StateService {\n get: (key: string) => Promise;\n save: (key: string, obj: any) => Promise;\n remove: (key: string) => Promise;\n purge: () => Promise;\n}\n","import {\n Directive,\n HostListener,\n} from '@angular/core';\n\n@Directive({\n selector: '[appStopClick]',\n})\nexport class StopClickDirective {\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\n $event.preventDefault();\n }\n}\n","export enum CipherType {\n Login = 1,\n SecureNote = 2,\n Card = 3,\n Identity = 4,\n}\n","import { CollectionData } from '../models/data/collectionData';\n\nimport { Collection } from '../models/domain/collection';\nimport { TreeNode } from '../models/domain/treeNode';\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 getAllNested: (collections?: CollectionView[]) => Promise[]>;\n getNested: (id: string) => 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","export abstract class StorageService {\n get: (key: string) => Promise;\n save: (key: string, obj: any) => Promise;\n remove: (key: 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 { FolderData } from '../models/data/folderData';\n\nimport { Folder } from '../models/domain/folder';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\nimport { TreeNode } from '../models/domain/treeNode';\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 getAllNested: () => Promise[]>;\n getNested: (id: string) => 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","import { PolicyData } from '../models/data/policyData';\n\nimport { MasterPasswordPolicyOptions } from '../models/domain/masterPasswordPolicyOptions';\nimport { Policy } from '../models/domain/policy';\n\nimport { PolicyType } from '../enums/policyType';\n\nexport abstract class PolicyService {\n policyCache: Policy[];\n\n clearCache: () => void;\n getAll: (type?: PolicyType) => Promise;\n replace: (policies: { [id: string]: PolicyData; }) => Promise;\n clear: (userId: string) => Promise;\n getMasterPasswordPolicyOptions: (policies?: Policy[]) => Promise;\n evaluateMasterPassword: (passwordStrength: number, newPassword: string,\n enforcedPolicyOptions?: MasterPasswordPolicyOptions) => boolean;\n}\n","import {\n Directive,\n HostListener,\n} from '@angular/core';\n\n@Directive({\n selector: '[appStopProp]',\n})\nexport class StopPropDirective {\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\n $event.stopPropagation();\n }\n}\n","import { TwoFactorProviderType } from '../enums/twoFactorProviderType';\n\nimport { AuthResult } from '../models/domain/authResult';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nexport abstract class AuthService {\n email: string;\n masterPasswordHash: string;\n code: string;\n codeVerifier: string;\n ssoRedirectUrl: string;\n clientId: string;\n clientSecret: string;\n twoFactorProvidersData: Map;\n selectedTwoFactorProviderType: TwoFactorProviderType;\n\n logIn: (email: string, masterPassword: string) => Promise;\n logInSso: (code: string, codeVerifier: string, redirectUrl: string) => Promise;\n logInApiKey: (clientId: string, clientSecret: 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 logInSsoComplete: (code: string, codeVerifier: string, redirectUrl: string,\n twoFactorProvider: TwoFactorProviderType, twoFactorToken: string, remember?: boolean) => Promise;\n logInApiKeyComplete: (clientId: string, clientSecret: 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 makePreloginKey: (masterPassword: string, email: string) => Promise;\n authingWithApiKey: () => boolean;\n authingWithSso: () => boolean;\n authingWithPassword: () => boolean;\n}\n","import {\n Directive,\n ElementRef,\n Input,\n} from '@angular/core';\n\nimport { Utils } from '../../misc/utils';\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 (!Utils.isMobileBrowser && this.autofocus) {\n this.el.nativeElement.focus();\n }\n }\n}\n","import {\n SyncCipherNotification,\n SyncFolderNotification,\n SyncSendNotification,\n} from '../models/response/notificationResponse';\n\nexport abstract class SyncService {\n syncInProgress: boolean;\n\n getLastSync: () => Promise;\n setLastSync: (date: Date) => Promise;\n fullSync: (forceSync: boolean, allowThrowOnError?: boolean) => Promise;\n syncUpsertFolder: (notification: SyncFolderNotification, isEdit: boolean) => Promise;\n syncDeleteFolder: (notification: SyncFolderNotification) => Promise;\n syncUpsertCipher: (notification: SyncCipherNotification, isEdit: boolean) => Promise;\n syncDeleteCipher: (notification: SyncFolderNotification) => Promise;\n syncUpsertSend: (notification: SyncSendNotification, isEdit: boolean) => Promise;\n syncDeleteSend: (notification: SyncSendNotification) => Promise;\n}\n","export class ConstantsService {\n static readonly environmentUrlsKey: string = 'environmentUrls';\n static readonly disableGaKey: string = 'disableGa';\n static readonly disableAddLoginNotificationKey: string = 'disableAddLoginNotification';\n static readonly disableChangedPasswordNotificationKey: string = 'disableChangedPasswordNotification';\n static readonly disableContextMenuItemKey: string = 'disableContextMenuItem';\n static readonly disableFaviconKey: string = 'disableFavicon';\n static readonly disableAutoTotpCopyKey: string = 'disableAutoTotpCopy';\n static readonly enableAutoFillOnPageLoadKey: string = 'enableAutoFillOnPageLoad';\n static readonly vaultTimeoutKey: string = 'lockOption';\n static readonly vaultTimeoutActionKey: string = 'vaultTimeoutAction';\n static readonly lastActiveKey: string = 'lastActive';\n static readonly neverDomainsKey: string = 'neverDomains';\n static readonly installedVersionKey: string = 'installedVersion';\n static readonly localeKey: string = 'locale';\n static readonly themeKey: string = 'theme';\n static readonly collapsedGroupingsKey: string = 'collapsedGroupings';\n static readonly autoConfirmFingerprints: string = 'autoConfirmFingerprints';\n static readonly dontShowCardsCurrentTab: string = 'dontShowCardsCurrentTab';\n static readonly dontShowIdentitiesCurrentTab: string = 'dontShowIdentitiesCurrentTab';\n static readonly defaultUriMatch: string = 'defaultUriMatch';\n static readonly pinProtectedKey: string = 'pinProtectedKey';\n static readonly protectedPin: string = 'protectedPin';\n static readonly clearClipboardKey: string = 'clearClipboardKey';\n static readonly eventCollectionKey: string = 'eventCollection';\n static readonly ssoCodeVerifierKey: string = 'ssoCodeVerifier';\n static readonly ssoStateKey: string = 'ssoState';\n static readonly biometricUnlockKey: string = 'biometric';\n static readonly biometricText: string = 'biometricText';\n static readonly biometricAwaitingAcceptance: string = 'biometricAwaitingAcceptance';\n static readonly biometricFingerprintValidated: string = 'biometricFingerprintValidated';\n\n readonly environmentUrlsKey: string = ConstantsService.environmentUrlsKey;\n readonly disableGaKey: string = ConstantsService.disableGaKey;\n readonly disableAddLoginNotificationKey: string = ConstantsService.disableAddLoginNotificationKey;\n readonly disableContextMenuItemKey: string = ConstantsService.disableContextMenuItemKey;\n readonly disableFaviconKey: string = ConstantsService.disableFaviconKey;\n readonly disableAutoTotpCopyKey: string = ConstantsService.disableAutoTotpCopyKey;\n readonly enableAutoFillOnPageLoadKey: string = ConstantsService.enableAutoFillOnPageLoadKey;\n readonly vaultTimeoutKey: string = ConstantsService.vaultTimeoutKey;\n readonly vaultTimeoutActionKey: string = ConstantsService.vaultTimeoutActionKey;\n readonly lastActiveKey: string = ConstantsService.lastActiveKey;\n readonly neverDomainsKey: string = ConstantsService.neverDomainsKey;\n readonly installedVersionKey: string = ConstantsService.installedVersionKey;\n readonly localeKey: string = ConstantsService.localeKey;\n readonly themeKey: string = ConstantsService.themeKey;\n readonly collapsedGroupingsKey: string = ConstantsService.collapsedGroupingsKey;\n readonly autoConfirmFingerprints: string = ConstantsService.autoConfirmFingerprints;\n readonly dontShowCardsCurrentTab: string = ConstantsService.dontShowCardsCurrentTab;\n readonly dontShowIdentitiesCurrentTab: string = ConstantsService.dontShowIdentitiesCurrentTab;\n readonly defaultUriMatch: string = ConstantsService.defaultUriMatch;\n readonly pinProtectedKey: string = ConstantsService.pinProtectedKey;\n readonly protectedPin: string = ConstantsService.protectedPin;\n readonly clearClipboardKey: string = ConstantsService.clearClipboardKey;\n readonly eventCollectionKey: string = ConstantsService.eventCollectionKey;\n readonly ssoCodeVerifierKey: string = ConstantsService.ssoCodeVerifierKey;\n readonly ssoStateKey: string = ConstantsService.ssoStateKey;\n readonly biometricUnlockKey: string = ConstantsService.biometricUnlockKey;\n readonly biometricText: string = ConstantsService.biometricText;\n readonly biometricAwaitingAcceptance: string = ConstantsService.biometricAwaitingAcceptance;\n readonly biometricFingerprintValidated: string = ConstantsService.biometricFingerprintValidated;\n}\n","import { EventType } from '../enums/eventType';\n\nexport abstract class EventService {\n collect: (eventType: EventType, cipherId?: string, uploadImmediately?: boolean) => Promise;\n uploadEvents: () => Promise;\n clearEvents: () => Promise;\n}\n","export abstract class EnvironmentService {\n baseUrl: string;\n webVaultUrl: string;\n apiUrl: string;\n identityUrl: string;\n iconsUrl: string;\n notificationsUrl: string;\n eventsUrl: string;\n enterpriseUrl: string;\n\n getWebVaultUrl: () => string;\n setUrlsFromStorage: () => Promise;\n setUrls: (urls: any) => Promise;\n}\n","export class PasswordVerificationRequest {\n masterPasswordHash: string;\n}\n","import { CipherString } from './cipherString';\n\nimport { View } from '../view/view';\n\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport default 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,\n key: SymmetricCryptoKey = null): 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, key);\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","import * as jq from 'jquery';\n\nimport {\n Component,\n ComponentFactoryResolver,\n Type,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { ModalComponent as BaseModalComponent } from 'jslib/angular/components/modal.component';\nimport { Utils } from 'jslib/misc/utils';\n\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\n\n@Component({\n selector: 'app-modal',\n template: ``,\n})\nexport class ModalComponent extends BaseModalComponent {\n el: any = null;\n\n constructor(componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService) {\n super(componentFactoryResolver, messagingService);\n }\n\n ngOnDestroy() { /* Nothing */ }\n\n show(type: Type, parentContainer: ViewContainerRef, fade: boolean = true,\n setComponentParameters: (component: T) => void = null): T {\n this.parentContainer = parentContainer;\n this.fade = fade;\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(type);\n const componentRef = this.container.createComponent(factory);\n if (setComponentParameters != null) {\n setComponentParameters(componentRef.instance);\n }\n\n const modals = Array.from(document.querySelectorAll('.modal'));\n if (modals.length > 0) {\n this.el = jq(modals[0]);\n this.el.modal('show');\n\n this.el.on('show.bs.modal', () => {\n this.onShow.emit();\n this.messagingService.send('modalShow');\n });\n this.el.on('shown.bs.modal', () => {\n this.onShown.emit();\n this.messagingService.send('modalShown');\n if (!Utils.isMobileBrowser) {\n this.el.find('*[appAutoFocus]').focus();\n }\n });\n this.el.on('hide.bs.modal', () => {\n this.onClose.emit();\n this.messagingService.send('modalClose');\n });\n this.el.on('hidden.bs.modal', () => {\n this.onClosed.emit();\n this.messagingService.send('modalClosed');\n if (this.parentContainer != null) {\n this.parentContainer.clear();\n }\n });\n }\n\n return componentRef.instance;\n }\n\n close() {\n if (this.el != null) {\n this.el.modal('hide');\n }\n }\n}\n","import { CipherView } from '../models/view/cipherView';\nimport { SendView } from '../models/view/sendView';\n\nexport abstract class SearchService {\n clearIndex: () => void;\n isSearchable: (query: string) => boolean;\n indexCiphers: () => Promise;\n searchCiphers: (query: string,\n filter?: ((cipher: CipherView) => boolean) | (((cipher: CipherView) => boolean)[]),\n ciphers?: CipherView[]) => Promise;\n searchCiphersBasic: (ciphers: CipherView[], query: string, deleted?: boolean) => CipherView[];\n searchSends: (sends: SendView[], query: string) => SendView[];\n}\n","import { BreachAccountResponse } from '../models/response/breachAccountResponse';\n\nexport abstract class AuditService {\n passwordLeaked: (password: string) => Promise;\n breachedAccounts: (username: string) => Promise;\n}\n","import { View } from './view';\n\nimport { Card } from '../domain/card';\n\nexport class CardView implements View {\n cardholderName: string = null;\n expMonth: string = null;\n expYear: string = null;\n code: string = null;\n\n // tslint:disable\n private _brand: string = null;\n private _number: string = null;\n private _subTitle: string = null;\n // tslint:enable\n\n constructor(c?: Card) {\n // ctor\n }\n\n get maskedCode(): string {\n return this.code != null ? '•'.repeat(this.code.length) : null;\n }\n\n get brand(): string {\n return this._brand;\n }\n set brand(value: string) {\n this._brand = value;\n this._subTitle = null;\n }\n\n get number(): string {\n return this._number;\n }\n set number(value: string) {\n this._number = value;\n this._subTitle = null;\n }\n\n get subTitle(): string {\n if (this._subTitle == null) {\n this._subTitle = this.brand;\n if (this.number != null && this.number.length >= 4) {\n if (this._subTitle != null && this._subTitle !== '') {\n this._subTitle += ', ';\n } else {\n this._subTitle = '';\n }\n\n // Show last 5 on amex, last 4 for all others\n const count = this.number.length >= 5 && this.number.match(new RegExp('^3[47]')) != null ? 5 : 4;\n this._subTitle += ('*' + this.number.substr(this.number.length - count));\n }\n }\n return this._subTitle;\n }\n\n get expiration(): string {\n if (!this.expMonth && !this.expYear) {\n return null;\n }\n\n let exp = this.expMonth != null ? ('0' + this.expMonth).slice(-2) : '__';\n exp += (' / ' + (this.expYear != null ? this.formatYear(this.expYear) : '____'));\n return exp;\n }\n\n private formatYear(year: string): string {\n return year.length === 2 ? '20' + year : year;\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\n\nimport { View } from './view';\n\nimport { SecureNote } from '../domain/secureNote';\n\nexport class SecureNoteView implements View {\n type: SecureNoteType = null;\n\n constructor(n?: SecureNote) {\n if (!n) {\n return;\n }\n\n this.type = n.type;\n }\n\n get subTitle(): string {\n return null;\n }\n}\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 toggleTokens: () => 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 { DecryptParameters } from '../models/domain/decryptParameters';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nexport abstract class CryptoFunctionService {\n pbkdf2: (password: string | ArrayBuffer, salt: string | ArrayBuffer, algorithm: 'sha256' | 'sha512',\n iterations: number) => Promise;\n hkdf: (ikm: ArrayBuffer, salt: string | ArrayBuffer, info: string | ArrayBuffer,\n outputByteSize: number, algorithm: 'sha256' | 'sha512') => Promise;\n hkdfExpand: (prk: ArrayBuffer, info: string | ArrayBuffer, outputByteSize: number,\n algorithm: 'sha256' | 'sha512') => Promise;\n hash: (value: string | ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512' | 'md5') => Promise;\n hmac: (value: ArrayBuffer, key: ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512') => Promise;\n compare: (a: ArrayBuffer, b: ArrayBuffer) => Promise;\n hmacFast: (value: ArrayBuffer | string, key: ArrayBuffer | string, algorithm: 'sha1' | 'sha256' | 'sha512') =>\n Promise;\n compareFast: (a: ArrayBuffer | string, b: ArrayBuffer | string) => Promise;\n aesEncrypt: (data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer) => Promise;\n aesDecryptFastParameters: (data: string, iv: string, mac: string, key: SymmetricCryptoKey) =>\n DecryptParameters;\n aesDecryptFast: (parameters: DecryptParameters) => Promise;\n aesDecrypt: (data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer) => Promise;\n rsaEncrypt: (data: ArrayBuffer, publicKey: ArrayBuffer, algorithm: 'sha1' | 'sha256') => Promise;\n rsaDecrypt: (data: ArrayBuffer, privateKey: ArrayBuffer, algorithm: 'sha1' | 'sha256') => Promise;\n rsaExtractPublicKey: (privateKey: ArrayBuffer) => Promise;\n rsaGenerateKeyPair: (length: 1024 | 2048 | 4096) => Promise<[ArrayBuffer, ArrayBuffer]>;\n randomBytes: (length: number) => Promise;\n}\n","import { EncryptionType } from '../../enums/encryptionType';\n\nimport { CryptoService } from '../../abstractions/crypto.service';\n\nimport { Utils } from '../../misc/utils';\n\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport class CipherString {\n encryptedString?: string;\n encryptionType?: EncryptionType;\n decryptedValue?: string;\n data?: string;\n iv?: string;\n mac?: string;\n\n constructor(encryptedStringOrType: string | EncryptionType, data?: string, iv?: string, mac?: string) {\n if (data != null) {\n // data and header\n const encType = encryptedStringOrType as EncryptionType;\n\n if (iv != null) {\n this.encryptedString = encType + '.' + iv + '|' + data;\n } else {\n this.encryptedString = encType + '.' + data;\n }\n\n // mac\n if (mac != null) {\n this.encryptedString += ('|' + mac);\n }\n\n this.encryptionType = encType;\n this.data = data;\n this.iv = iv;\n this.mac = mac;\n\n return;\n }\n\n this.encryptedString = encryptedStringOrType as string;\n if (!this.encryptedString) {\n return;\n }\n\n const headerPieces = this.encryptedString.split('.');\n let encPieces: string[] = null;\n\n if (headerPieces.length === 2) {\n try {\n this.encryptionType = parseInt(headerPieces[0], null);\n encPieces = headerPieces[1].split('|');\n } catch (e) {\n return;\n }\n } else {\n encPieces = this.encryptedString.split('|');\n this.encryptionType = encPieces.length === 3 ? EncryptionType.AesCbc128_HmacSha256_B64 :\n EncryptionType.AesCbc256_B64;\n }\n\n switch (this.encryptionType) {\n case EncryptionType.AesCbc128_HmacSha256_B64:\n case EncryptionType.AesCbc256_HmacSha256_B64:\n if (encPieces.length !== 3) {\n return;\n }\n\n this.iv = encPieces[0];\n this.data = encPieces[1];\n this.mac = encPieces[2];\n break;\n case EncryptionType.AesCbc256_B64:\n if (encPieces.length !== 2) {\n return;\n }\n\n this.iv = encPieces[0];\n this.data = encPieces[1];\n break;\n case EncryptionType.Rsa2048_OaepSha256_B64:\n case EncryptionType.Rsa2048_OaepSha1_B64:\n if (encPieces.length !== 1) {\n return;\n }\n\n this.data = encPieces[0];\n break;\n default:\n return;\n }\n }\n\n async decrypt(orgId: string, key: SymmetricCryptoKey = null): Promise {\n if (this.decryptedValue != null) {\n return this.decryptedValue;\n }\n\n let cryptoService: CryptoService;\n const containerService = (Utils.global as any).bitwardenContainerService;\n if (containerService) {\n cryptoService = containerService.getCryptoService();\n } else {\n throw new Error('global bitwardenContainerService not initialized.');\n }\n\n try {\n if (key == null) {\n key = await cryptoService.getOrgKey(orgId);\n }\n this.decryptedValue = await cryptoService.decryptToUtf8(this, key);\n } catch (e) {\n this.decryptedValue = '[error: cannot decrypt]';\n }\n return this.decryptedValue;\n }\n}\n","import {\n Component,\n Input,\n OnChanges,\n} from '@angular/core';\n\nimport { CipherType } from '../../enums/cipherType';\n\nimport { CipherView } from '../../models/view/cipherView';\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\nconst IconMap: any = {\n 'fa-globe': String.fromCharCode(0xf0ac),\n 'fa-sticky-note-o': String.fromCharCode(0xf24a),\n 'fa-id-card-o': String.fromCharCode(0xf2c3),\n 'fa-credit-card': String.fromCharCode(0xf09d),\n 'fa-android': String.fromCharCode(0xf17b),\n 'fa-apple': String.fromCharCode(0xf179),\n};\n\n@Component({\n selector: 'app-vault-icon',\n templateUrl: 'icon.component.html',\n})\nexport class IconComponent implements OnChanges {\n @Input() cipher: CipherView;\n icon: string;\n image: string;\n fallbackImage: string;\n imageEnabled: boolean;\n\n private iconsUrl: string;\n\n constructor(environmentService: EnvironmentService, protected 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 this.load();\n }\n\n get iconCode(): string {\n return IconMap[this.icon];\n }\n\n protected load() {\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","
\n \"\"\n \n
\n","import { CipherString } from '../models/domain/cipherString';\n\nexport abstract class VaultTimeoutService {\n biometricLocked: boolean;\n pinProtectedKey: CipherString;\n isLocked: () => Promise;\n checkVaultTimeout: () => Promise;\n lock: (allowSoftLock?: boolean) => Promise;\n logOut: () => Promise;\n setVaultTimeoutOptions: (vaultTimeout: number, vaultTimeoutAction: string) => Promise;\n isPinLockSet: () => Promise<[boolean, boolean]>;\n isBiometricLockSet: () => Promise;\n clear: () => Promise;\n}\n","export enum SecureNoteType {\n Generic = 0,\n}\n","export enum TwoFactorProviderType {\n Authenticator = 0,\n Email = 1,\n Duo = 2,\n Yubikey = 3,\n U2f = 4,\n Remember = 5,\n OrganizationDuo = 6,\n}\n","export abstract class TotpService {\n getCode: (key: string) => Promise;\n getTimeInterval: (key: string) => number;\n isAutoCopyEnabled: () => Promise;\n}\n","import { Injectable } from '@angular/core';\n\nimport { BroadcasterService as BaseBroadcasterService } from '../../services/broadcaster.service';\n\n@Injectable()\nexport class BroadcasterService extends BaseBroadcasterService {\n}\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { WebConstants } from '../../services/webConstants';\n\nconst StripeElementStyle = {\n base: {\n color: '#333333',\n fontFamily: '\"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif, ' +\n '\"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n fontSize: '14px',\n fontSmoothing: 'antialiased',\n },\n invalid: {\n color: '#333333',\n },\n};\n\nconst StripeElementClasses = {\n focus: 'is-focused',\n empty: 'is-empty',\n invalid: 'is-invalid',\n};\n\n@Component({\n selector: 'app-payment',\n templateUrl: 'payment.component.html',\n})\nexport class PaymentComponent implements OnInit {\n @Input() showMethods = true;\n @Input() showOptions = true;\n @Input() method = PaymentMethodType.Card;\n @Input() hideBank = false;\n @Input() hidePaypal = false;\n @Input() hideCredit = false;\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\n paymentMethodType = PaymentMethodType;\n\n private btScript: HTMLScriptElement;\n private btInstance: any = null;\n private stripeScript: HTMLScriptElement;\n private stripe: any = null;\n private stripeElements: any = null;\n private stripeCardNumberElement: any = null;\n private stripeCardExpiryElement: any = null;\n private stripeCardCvcElement: any = null;\n\n constructor(private platformUtilsService: PlatformUtilsService, private apiService: ApiService) {\n this.stripeScript = window.document.createElement('script');\n this.stripeScript.src = 'https://js.stripe.com/v3/';\n this.stripeScript.async = true;\n this.stripeScript.onload = () => {\n this.stripe = (window as any).Stripe(this.platformUtilsService.isDev() ?\n WebConstants.stripeTestKey : WebConstants.stripeLiveKey);\n this.stripeElements = this.stripe.elements();\n this.setStripeElement();\n };\n this.btScript = window.document.createElement('script');\n this.btScript.src = 'scripts/dropin.js';\n this.btScript.async = true;\n }\n\n ngOnInit() {\n if (!this.showOptions) {\n this.hidePaypal = this.method !== PaymentMethodType.PayPal;\n this.hideBank = this.method !== PaymentMethodType.BankAccount;\n this.hideCredit = this.method !== PaymentMethodType.Credit;\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 window.setTimeout(() => {\n Array.from(window.document.querySelectorAll('iframe')).forEach((el) => {\n if (el.src != null && el.src.indexOf('stripe') > -1) {\n try {\n window.document.body.removeChild(el);\n } catch { }\n }\n });\n }, 500);\n if (!this.hidePaypal) {\n window.document.head.removeChild(this.btScript);\n window.setTimeout(() => {\n Array.from(window.document.head.querySelectorAll('script')).forEach((el) => {\n if (el.src != null && el.src.indexOf('paypal') > -1) {\n try {\n window.document.head.removeChild(el);\n } catch { }\n }\n });\n const btStylesheet = window.document.head.querySelector('#braintree-dropin-stylesheet');\n if (btStylesheet != null) {\n try {\n window.document.head.removeChild(btStylesheet);\n } catch { }\n }\n }, 500);\n }\n }\n\n changeMethod() {\n this.btInstance = null;\n\n if (this.method === PaymentMethodType.PayPal) {\n window.setTimeout(() => {\n (window as any).braintree.dropin.create({\n authorization: this.platformUtilsService.isDev() ?\n WebConstants.btSandboxKey : WebConstants.btProductionKey,\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 } else {\n this.setStripeElement();\n }\n }\n\n createPaymentToken(): Promise<[string, PaymentMethodType]> {\n return new Promise((resolve, reject) => {\n if (this.method === PaymentMethodType.Credit) {\n resolve([null, this.method]);\n } else if (this.method === PaymentMethodType.PayPal) {\n this.btInstance.requestPaymentMethod().then((payload: any) => {\n resolve([payload.nonce, this.method]);\n }).catch((err: any) => {\n reject(err.message);\n });\n } else if (this.method === PaymentMethodType.Card || this.method === PaymentMethodType.BankAccount) {\n if (this.method === PaymentMethodType.Card) {\n this.apiService.postSetupPayment().then((clientSecret) =>\n this.stripe.handleCardSetup(clientSecret, this.stripeCardNumberElement))\n .then((result: any) => {\n if (result.error) {\n reject(result.error.message);\n } else if (result.setupIntent && result.setupIntent.status === 'succeeded') {\n resolve([result.setupIntent.payment_method, this.method]);\n } else {\n reject();\n }\n });\n } else {\n this.stripe.createToken('bank_account', this.bank).then((result: any) => {\n if (result.error) {\n reject(result.error.message);\n } else if (result.token && result.token.id != null) {\n resolve([result.token.id, this.method]);\n } else {\n reject();\n }\n });\n }\n }\n });\n }\n\n handleStripeCardPayment(clientSecret: string, successCallback: () => Promise): Promise {\n return new Promise((resolve, reject) => {\n if (this.showMethods && this.stripeCardNumberElement == null) {\n reject();\n return;\n }\n const handleCardPayment = () => this.showMethods ?\n this.stripe.handleCardSetup(clientSecret, this.stripeCardNumberElement) :\n this.stripe.handleCardSetup(clientSecret);\n return handleCardPayment().then(async (result: any) => {\n if (result.error) {\n reject(result.error.message);\n } else if (result.paymentIntent && result.paymentIntent.status === 'succeeded') {\n if (successCallback != null) {\n await successCallback();\n }\n resolve();\n } else {\n reject();\n }\n });\n });\n }\n\n private setStripeElement() {\n window.setTimeout(() => {\n if (this.showMethods && this.method === PaymentMethodType.Card) {\n if (this.stripeCardNumberElement == null) {\n this.stripeCardNumberElement = this.stripeElements.create('cardNumber', {\n style: StripeElementStyle,\n classes: StripeElementClasses,\n placeholder: '',\n });\n }\n if (this.stripeCardExpiryElement == null) {\n this.stripeCardExpiryElement = this.stripeElements.create('cardExpiry', {\n style: StripeElementStyle,\n classes: StripeElementClasses,\n });\n }\n if (this.stripeCardCvcElement == null) {\n this.stripeCardCvcElement = this.stripeElements.create('cardCvc', {\n style: StripeElementStyle,\n classes: StripeElementClasses,\n placeholder: '',\n });\n }\n this.stripeCardNumberElement.mount('#stripe-card-number-element');\n this.stripeCardExpiryElement.mount('#stripe-card-expiry-element');\n this.stripeCardCvcElement.mount('#stripe-card-cvc-element');\n }\n }, 50);\n }\n}\n","
\n
\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 {{'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\n
\n
\n {{'paypalClickSubmit' | i18n}}\n
\n
\n\n \n {{'makeSureEnoughCredit' | i18n}}\n \n\n","export enum FieldType {\n Text = 0,\n Hidden = 1,\n Boolean = 2,\n}\n","import { View } from './view';\n\nimport { Folder } from '../domain/folder';\nimport { ITreeNodeObject } from '../domain/treeNode';\n\nexport class FolderView implements View, ITreeNodeObject {\n id: string = null;\n name: string = null;\n revisionDate: Date = null;\n\n constructor(f?: Folder) {\n if (!f) {\n return;\n }\n\n this.id = f.id;\n this.revisionDate = f.revisionDate;\n }\n}\n","import {\n Component,\n Input,\n OnChanges,\n OnInit,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport { CryptoFunctionService } from 'jslib/abstractions/cryptoFunction.service';\nimport { StateService } from 'jslib/abstractions/state.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-avatar',\n template: '',\n})\nexport class AvatarComponent implements OnChanges, OnInit {\n @Input() data: string;\n @Input() email: string;\n @Input() size = 45;\n @Input() charCount = 2;\n @Input() textColor = '#ffffff';\n @Input() fontSize = 20;\n @Input() fontWeight = 300;\n @Input() dynamic = false;\n @Input() circle = false;\n\n src: string;\n\n constructor(public sanitizer: DomSanitizer, private cryptoFunctionService: CryptoFunctionService,\n private stateService: StateService) { }\n\n ngOnInit() {\n if (!this.dynamic) {\n this.generate();\n }\n }\n\n ngOnChanges() {\n if (this.dynamic) {\n this.generate();\n }\n }\n\n private async generate() {\n const enableGravatars = await this.stateService.get('enableGravatars');\n if (enableGravatars && this.email != null) {\n const hashBytes = await this.cryptoFunctionService.hash(this.email.toLowerCase().trim(), 'md5');\n const hash = Utils.fromBufferToHex(hashBytes).toLowerCase();\n this.src = 'https://www.gravatar.com/avatar/' + hash + '?s=' + this.size + '&r=pg&d=retro';\n } else {\n let chars: string = null;\n const upperData = this.data.toUpperCase();\n\n if (this.charCount > 1) {\n chars = this.getFirstLetters(upperData, this.charCount);\n }\n if (chars == null) {\n chars = upperData.substr(0, this.charCount);\n }\n\n const charObj = this.getCharText(chars);\n const color = this.stringToColor(upperData);\n const svg = this.getSvg(this.size, color);\n svg.appendChild(charObj);\n const html = window.document.createElement('div').appendChild(svg).outerHTML;\n const svgHtml = window.btoa(unescape(encodeURIComponent(html)));\n this.src = 'data:image/svg+xml;base64,' + svgHtml;\n }\n }\n\n private stringToColor(str: string): string {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n // tslint:disable-next-line\n hash = str.charCodeAt(i) + ((hash << 5) - hash);\n }\n let color = '#';\n for (let i = 0; i < 3; i++) {\n // tslint:disable-next-line\n const value = (hash >> (i * 8)) & 0xFF;\n color += ('00' + value.toString(16)).substr(-2);\n }\n return color;\n }\n\n private getFirstLetters(data: string, count: number): string {\n const parts = data.split(' ');\n if (parts.length > 1) {\n let text = '';\n for (let i = 0; i < count; i++) {\n text += parts[i].substr(0, 1);\n }\n return text;\n }\n return null;\n }\n\n private getSvg(size: number, color: string): HTMLElement {\n const svgTag = window.document.createElement('svg');\n svgTag.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n svgTag.setAttribute('pointer-events', 'none');\n svgTag.setAttribute('width', size.toString());\n svgTag.setAttribute('height', size.toString());\n svgTag.style.backgroundColor = color;\n svgTag.style.width = size + 'px';\n svgTag.style.height = size + 'px';\n return svgTag;\n }\n\n private getCharText(character: string): HTMLElement {\n const textTag = window.document.createElement('text');\n textTag.setAttribute('text-anchor', 'middle');\n textTag.setAttribute('y', '50%');\n textTag.setAttribute('x', '50%');\n textTag.setAttribute('dy', '0.35em');\n textTag.setAttribute('pointer-events', 'auto');\n textTag.setAttribute('fill', this.textColor);\n textTag.setAttribute('font-family', '\"Open Sans\",\"Helvetica Neue\",Helvetica,Arial,' +\n 'sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\"');\n textTag.textContent = character;\n textTag.style.fontWeight = this.fontWeight.toString();\n textTag.style.fontSize = this.fontSize + 'px';\n return textTag;\n }\n}\n","import { CollectionData } from '../data/collectionData';\n\nimport { CollectionView } from '../view/collectionView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nexport class Collection extends Domain {\n id: string;\n organizationId: string;\n name: CipherString;\n externalId: string;\n readOnly: boolean;\n hidePasswords: 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 externalId: null,\n readOnly: null,\n hidePasswords: null,\n }, alreadyEncrypted, ['id', 'organizationId', 'externalId', 'readOnly', 'hidePasswords']);\n }\n\n decrypt(): Promise {\n return this.decryptObj(new CollectionView(this), {\n name: null,\n }, this.organizationId);\n }\n}\n","import {\n Component,\n EventEmitter,\n Output,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { OrganizationTaxInfoUpdateRequest } from 'jslib/models/request/organizationTaxInfoUpdateRequest';\nimport { TaxInfoUpdateRequest } from 'jslib/models/request/taxInfoUpdateRequest';\nimport { TaxRateResponse } from 'jslib/models/response/taxRateResponse';\n\n@Component({\n selector: 'app-tax-info',\n templateUrl: 'tax-info.component.html',\n})\nexport class TaxInfoComponent {\n @Output() onCountryChanged = new EventEmitter();\n\n loading: boolean = true;\n organizationId: string;\n taxInfo: any = {\n taxId: null,\n line1: null,\n line2: null,\n city: null,\n state: null,\n postalCode: null,\n country: 'US',\n includeTaxId: false,\n };\n\n taxRates: TaxRateResponse[];\n\n private pristine: any = {\n taxId: null,\n line1: null,\n line2: null,\n city: null,\n state: null,\n postalCode: null,\n country: 'US',\n includeTaxId: false,\n };\n\n constructor(private apiService: ApiService, private route: ActivatedRoute) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n if (this.organizationId) {\n try {\n const taxInfo = await this.apiService.getOrganizationTaxInfo(this.organizationId);\n if (taxInfo) {\n this.taxInfo.taxId = taxInfo.taxId;\n this.taxInfo.state = taxInfo.state;\n this.taxInfo.line1 = taxInfo.line1;\n this.taxInfo.line2 = taxInfo.line2;\n this.taxInfo.city = taxInfo.city;\n this.taxInfo.state = taxInfo.state;\n this.taxInfo.postalCode = taxInfo.postalCode;\n this.taxInfo.country = taxInfo.country || 'US';\n this.taxInfo.includeTaxId = this.taxInfo.country !== 'US' && (\n !!taxInfo.taxId\n || !!taxInfo.line1\n || !!taxInfo.line2\n || !!taxInfo.city\n || !!taxInfo.state);\n }\n } catch { }\n } else {\n const taxInfo = await this.apiService.getTaxInfo();\n if (taxInfo) {\n this.taxInfo.postalCode = taxInfo.postalCode;\n this.taxInfo.country = taxInfo.country || 'US';\n }\n }\n this.pristine = Object.assign({}, this.taxInfo);\n // If not the default (US) then trigger onCountryChanged\n if (this.taxInfo.country !== 'US') {\n this.onCountryChanged.emit();\n }\n });\n\n const taxRates = await this.apiService.getTaxRates();\n this.taxRates = taxRates.data;\n this.loading = false;\n }\n\n get taxRate() {\n if (this.taxRates != null) {\n const localTaxRate = this.taxRates.find(x =>\n x.country === this.taxInfo.country &&\n x.postalCode === this.taxInfo.postalCode\n );\n return localTaxRate?.rate ?? null;\n }\n }\n\n getTaxInfoRequest(): TaxInfoUpdateRequest {\n if (this.organizationId) {\n const request = new OrganizationTaxInfoUpdateRequest();\n request.taxId = this.taxInfo.taxId;\n request.state = this.taxInfo.state;\n request.line1 = this.taxInfo.line1;\n request.line2 = this.taxInfo.line2;\n request.city = this.taxInfo.city;\n request.state = this.taxInfo.state;\n request.postalCode = this.taxInfo.postalCode;\n request.country = this.taxInfo.country;\n return request;\n } else {\n const request = new TaxInfoUpdateRequest();\n request.postalCode = this.taxInfo.postalCode;\n request.country = this.taxInfo.country;\n return request;\n }\n }\n\n submitTaxInfo(): Promise {\n if (!this.hasChanged()) {\n return new Promise((resolve) => { resolve(); });\n }\n const request = this.getTaxInfoRequest();\n return this.organizationId ? this.apiService.putOrganizationTaxInfo(this.organizationId,\n request as OrganizationTaxInfoUpdateRequest) : this.apiService.putTaxInfo(request);\n }\n\n changeCountry() {\n if (this.taxInfo.country === 'US') {\n this.taxInfo.includeTaxId = false;\n this.taxInfo.taxId = null;\n this.taxInfo.line1 = null;\n this.taxInfo.line2 = null;\n this.taxInfo.city = null;\n this.taxInfo.state = null;\n }\n this.onCountryChanged.emit();\n }\n\n private hasChanged(): boolean {\n for (const key in this.taxInfo) {\n if (this.pristine.hasOwnProperty(key) && this.pristine[key] !== this.taxInfo[key]) {\n return true;\n }\n }\n return false;\n }\n}\n","
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\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 { 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 { PasswordHistoryView } from './passwordHistoryView';\nimport { SecureNoteView } from './secureNoteView';\nimport { View } from './view';\n\nexport class CipherView implements View {\n id: string = null;\n organizationId: string = null;\n folderId: string = null;\n name: string = null;\n notes: string = null;\n type: CipherType = null;\n favorite = false;\n organizationUseTotp = false;\n edit = false;\n viewPassword = true;\n localData: any;\n login = new LoginView();\n identity = new IdentityView();\n card = new CardView();\n secureNote = new SecureNoteView();\n attachments: AttachmentView[] = null;\n fields: FieldView[] = null;\n passwordHistory: PasswordHistoryView[] = null;\n collectionIds: string[] = null;\n revisionDate: Date = null;\n deletedDate: Date = null;\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.viewPassword = c.viewPassword;\n this.type = c.type;\n this.localData = c.localData;\n this.collectionIds = c.collectionIds;\n this.revisionDate = c.revisionDate;\n this.deletedDate = c.deletedDate;\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 hasPasswordHistory(): boolean {\n return this.passwordHistory && this.passwordHistory.length > 0;\n }\n\n get hasAttachments(): boolean {\n return this.attachments && this.attachments.length > 0;\n }\n\n get hasOldAttachments(): boolean {\n if (this.hasAttachments) {\n for (let i = 0; i < this.attachments.length; i++) {\n if (this.attachments[i].key == null) {\n return true;\n }\n }\n }\n return false;\n }\n\n get hasFields(): boolean {\n return this.fields && this.fields.length > 0;\n }\n\n get passwordRevisionDisplayDate(): Date {\n if (this.type !== CipherType.Login || this.login == null) {\n return null;\n } else if (this.login.password == null || this.login.password === '') {\n return null;\n }\n return this.login.passwordRevisionDate;\n }\n\n get isDeleted(): boolean {\n return this.deletedDate != null;\n }\n}\n","import { View } from './view';\n\nimport { Identity } from '../domain/identity';\n\nimport { Utils } from '../../misc/utils';\n\nexport class IdentityView implements View {\n title: string = null;\n middleName: string = null;\n address1: string = null;\n address2: string = null;\n address3: string = null;\n city: string = null;\n state: string = null;\n postalCode: string = null;\n country: string = null;\n company: string = null;\n email: string = null;\n phone: string = null;\n ssn: string = null;\n username: string = null;\n passportNumber: string = null;\n licenseNumber: string = null;\n\n // tslint:disable\n private _firstName: string = null;\n private _lastName: string = null;\n private _subTitle: string = null;\n // tslint:enable\n\n constructor(i?: Identity) {\n // ctor\n }\n\n get firstName(): string {\n return this._firstName;\n }\n set firstName(value: string) {\n this._firstName = value;\n this._subTitle = null;\n }\n\n get lastName(): string {\n return this._lastName;\n }\n set lastName(value: string) {\n this._lastName = value;\n this._subTitle = null;\n }\n\n get subTitle(): string {\n if (this._subTitle == null && (this.firstName != null || this.lastName != null)) {\n this._subTitle = '';\n if (this.firstName != null) {\n this._subTitle = this.firstName;\n }\n if (this.lastName != null) {\n if (this._subTitle !== '') {\n this._subTitle += ' ';\n }\n this._subTitle += this.lastName;\n }\n }\n\n return this._subTitle;\n }\n\n get fullName(): string {\n if (this.title != null || this.firstName != null || this.middleName != null || this.lastName != null) {\n let name = '';\n if (this.title != null) {\n name += (this.title + ' ');\n }\n if (this.firstName != null) {\n name += (this.firstName + ' ');\n }\n if (this.middleName != null) {\n name += (this.middleName + ' ');\n }\n if (this.lastName != null) {\n name += this.lastName;\n }\n return name.trim();\n }\n\n return null;\n }\n\n get fullAddress(): string {\n let address = this.address1;\n if (!Utils.isNullOrWhitespace(this.address2)) {\n if (!Utils.isNullOrWhitespace(address)) {\n address += ', ';\n }\n address += this.address2;\n }\n if (!Utils.isNullOrWhitespace(this.address3)) {\n if (!Utils.isNullOrWhitespace(address)) {\n address += ', ';\n }\n address += this.address3;\n }\n return address;\n }\n\n get fullAddressPart2(): string {\n if (this.city == null && this.state == null && this.postalCode == null) {\n return null;\n }\n const city = this.city || '-';\n const state = this.state;\n const postalCode = this.postalCode || '-';\n let addressPart2 = city;\n if (!Utils.isNullOrWhitespace(state)) {\n addressPart2 += ', ' + state;\n }\n addressPart2 += ', ' + postalCode;\n return addressPart2;\n }\n}\n","import { CollectionDetailsResponse } from '../response/collectionResponse';\n\nexport class CollectionData {\n id: string;\n organizationId: string;\n name: string;\n externalId: 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.externalId = response.externalId;\n this.readOnly = response.readOnly;\n }\n}\n","import { View } from './view';\n\nimport { Collection } from '../domain/collection';\nimport { ITreeNodeObject } from '../domain/treeNode';\n\nimport { CollectionGroupDetailsResponse } from '../response/collectionResponse';\n\nexport class CollectionView implements View, ITreeNodeObject {\n id: string = null;\n organizationId: string = null;\n name: string = null;\n externalId: string = null;\n readOnly: boolean = null;\n hidePasswords: boolean = null;\n\n constructor(c?: Collection | CollectionGroupDetailsResponse) {\n if (!c) {\n return;\n }\n\n this.id = c.id;\n this.organizationId = c.organizationId;\n this.externalId = c.externalId;\n if (c instanceof Collection) {\n this.readOnly = c.readOnly;\n this.hidePasswords = c.hidePasswords;\n }\n }\n}\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 { PasswordHistoryData } from './passwordHistoryData';\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 viewPassword: boolean;\n organizationUseTotp: boolean;\n favorite: boolean;\n revisionDate: string;\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 passwordHistory?: PasswordHistoryData[];\n collectionIds?: string[];\n deletedDate: 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.viewPassword = response.viewPassword;\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 this.collectionIds = collectionIds != null ? collectionIds : response.collectionIds;\n this.deletedDate = response.deletedDate;\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 = response.fields.map((f) => new FieldData(f));\n }\n if (response.attachments != null) {\n this.attachments = response.attachments.map((a) => new AttachmentData(a));\n }\n if (response.passwordHistory != null) {\n this.passwordHistory = response.passwordHistory.map((ph) => new PasswordHistoryData(ph));\n }\n }\n}\n","import { LoginUriView } from './loginUriView';\nimport { View } from './view';\n\nimport { Utils } from '../../misc/utils';\nimport { Login } from '../domain/login';\n\nexport class LoginView implements View {\n username: string = null;\n password: string = null;\n passwordRevisionDate?: Date = null;\n totp: string = null;\n uris: LoginUriView[] = null;\n\n constructor(l?: Login) {\n if (!l) {\n return;\n }\n\n this.passwordRevisionDate = l.passwordRevisionDate;\n }\n\n get uri(): string {\n return this.hasUris ? this.uris[0].uri : null;\n }\n\n get maskedPassword(): string {\n return this.password != null ? '••••••••' : null;\n }\n\n get subTitle(): string {\n return this.username;\n }\n\n get canLaunch(): boolean {\n return this.hasUris && this.uris.some((u) => u.canLaunch);\n }\n\n get hasTotp(): boolean {\n return !Utils.isNullOrWhitespace(this.totp);\n }\n\n get launchUri(): string {\n if (this.hasUris) {\n const uri = this.uris.find((u) => u.canLaunch);\n if (uri != null) {\n return uri.launchUri;\n }\n }\n return null;\n }\n\n get hasUris(): boolean {\n return this.uris != null && this.uris.length > 0;\n }\n}\n","export enum SendType {\n Text = 0,\n File = 1,\n}\n","export enum PolicyType {\n TwoFactorAuthentication = 0, // Requires users to have 2fa enabled\n MasterPassword = 1, // Sets minimum requirements for master password complexity\n PasswordGenerator = 2, // Sets minimum requirements/default type for generated passwords/passphrases\n SingleOrg = 3, // Allows users to only be apart of one organization\n RequireSso = 4, // Requires users to authenticate with SSO\n PersonalOwnership = 5, // Disables personal vault ownership for adding/cloning items\n}\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","
\n
\n

{{'twoStepLoginAuthDesc' | i18n}}

\n \n \n
\n
\n \n \n
\n
\n","export abstract class ExportService {\n getExport: (format?: 'csv' | 'json' | 'encrypted_json') => Promise;\n getOrganizationExport: (organizationId: string, format?: 'csv' | 'json' | 'encrypted_json') => Promise;\n getFileName: (prefix?: string, extension?: string) => string;\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 './domainBase';\nimport { Field } from './field';\nimport { Identity } from './identity';\nimport { Login } from './login';\nimport { Password } from './password';\nimport { SecureNote } from './secureNote';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\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 viewPassword: 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 passwordHistory: Password[];\n collectionIds: string[];\n deletedDate: Date;\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 if (obj.viewPassword != null) {\n this.viewPassword = obj.viewPassword;\n } else {\n this.viewPassword = true; // Default for already synced Ciphers without viewPassword\n }\n this.revisionDate = obj.revisionDate != null ? new Date(obj.revisionDate) : null;\n this.collectionIds = obj.collectionIds;\n this.localData = localData;\n this.deletedDate = obj.deletedDate != null ? new Date(obj.deletedDate) : null;\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 = obj.attachments.map((a) => new Attachment(a, alreadyEncrypted));\n } else {\n this.attachments = null;\n }\n\n if (obj.fields != null) {\n this.fields = obj.fields.map((f) => new Field(f, alreadyEncrypted));\n } else {\n this.fields = null;\n }\n\n if (obj.passwordHistory != null) {\n this.passwordHistory = obj.passwordHistory.map((ph) => new Password(ph, alreadyEncrypted));\n } else {\n this.passwordHistory = null;\n }\n }\n\n async decrypt(encKey?: SymmetricCryptoKey): Promise {\n const model = new CipherView(this);\n\n await this.decryptObj(model, {\n name: null,\n notes: null,\n }, this.organizationId, encKey);\n\n switch (this.type) {\n case CipherType.Login:\n model.login = await this.login.decrypt(this.organizationId, encKey);\n break;\n case CipherType.SecureNote:\n model.secureNote = await this.secureNote.decrypt(this.organizationId, encKey);\n break;\n case CipherType.Card:\n model.card = await this.card.decrypt(this.organizationId, encKey);\n break;\n case CipherType.Identity:\n model.identity = await this.identity.decrypt(this.organizationId, encKey);\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, encKey);\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, encKey);\n }).then((decField) => {\n fields.push(decField);\n });\n }, Promise.resolve());\n model.fields = fields;\n }\n\n if (this.passwordHistory != null && this.passwordHistory.length > 0) {\n const passwordHistory: any[] = [];\n await this.passwordHistory.reduce((promise, ph) => {\n return promise.then(() => {\n return ph.decrypt(orgId, encKey);\n }).then((decPh) => {\n passwordHistory.push(decPh);\n });\n }, Promise.resolve());\n model.passwordHistory = passwordHistory;\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.viewPassword = this.viewPassword;\n c.organizationUseTotp = this.organizationUseTotp;\n c.favorite = this.favorite;\n c.revisionDate = this.revisionDate != null ? this.revisionDate.toISOString() : null;\n c.type = this.type;\n c.collectionIds = this.collectionIds;\n c.deletedDate = this.deletedDate != null ? this.deletedDate.toISOString() : null;\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 = this.fields.map((f) => f.toFieldData());\n }\n if (this.attachments != null) {\n c.attachments = this.attachments.map((a) => a.toAttachmentData());\n }\n if (this.passwordHistory != null) {\n c.passwordHistory = this.passwordHistory.map((ph) => ph.toPasswordHistoryData());\n }\n return c;\n }\n}\n","import { FieldType } from '../../enums/fieldType';\n\nimport { View } from './view';\n\nimport { Field } from '../domain/field';\n\nexport class FieldView implements View {\n name: string = null;\n value: string = null;\n type: FieldType = null;\n newField: boolean = false; // Marks if the field is new and hasn't been saved\n showValue: boolean = false;\n\n constructor(f?: Field) {\n if (!f) {\n return;\n }\n\n this.type = f.type;\n }\n\n get maskedValue(): string {\n return this.value != null ? '••••••••' : 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 { LoginUriApi } from '../api/loginUriApi';\nimport { SecureNoteApi } from '../api/secureNoteApi';\n\nimport { AttachmentRequest } from './attachmentRequest';\nimport { PasswordHistoryRequest } from './passwordHistoryRequest';\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 passwordHistory: PasswordHistoryRequest[];\n // Deprecated, remove at some point and rename attachments2 to attachments\n attachments: { [id: string]: string; };\n attachments2: { [id: string]: AttachmentRequest; };\n lastKnownRevisionDate: Date;\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 this.lastKnownRevisionDate = cipher.revisionDate;\n\n switch (this.type) {\n case CipherType.Login:\n this.login = new LoginApi();\n this.login.uris = null;\n this.login.username = cipher.login.username ? cipher.login.username.encryptedString : null;\n this.login.password = cipher.login.password ? cipher.login.password.encryptedString : null;\n this.login.passwordRevisionDate = cipher.login.passwordRevisionDate != null ?\n cipher.login.passwordRevisionDate.toISOString() : null;\n this.login.totp = cipher.login.totp ? cipher.login.totp.encryptedString : null;\n\n if (cipher.login.uris != null) {\n this.login.uris = cipher.login.uris.map((u) => {\n const uri = new LoginUriApi();\n uri.uri = u.uri != null ? u.uri.encryptedString : null;\n uri.match = u.match != null ? u.match : null;\n return uri;\n });\n }\n break;\n case CipherType.SecureNote:\n this.secureNote = new SecureNoteApi();\n this.secureNote.type = cipher.secureNote.type;\n break;\n case CipherType.Card:\n this.card = new CardApi();\n this.card.cardholderName = cipher.card.cardholderName != null ?\n cipher.card.cardholderName.encryptedString : null;\n this.card.brand = cipher.card.brand != null ? cipher.card.brand.encryptedString : null;\n this.card.number = cipher.card.number != null ? cipher.card.number.encryptedString : null;\n this.card.expMonth = cipher.card.expMonth != null ? cipher.card.expMonth.encryptedString : null;\n this.card.expYear = cipher.card.expYear != null ? cipher.card.expYear.encryptedString : null;\n this.card.code = cipher.card.code != null ? cipher.card.code.encryptedString : null;\n break;\n case CipherType.Identity:\n this.identity = new IdentityApi();\n this.identity.title = cipher.identity.title != null ? cipher.identity.title.encryptedString : null;\n this.identity.firstName = cipher.identity.firstName != null ?\n cipher.identity.firstName.encryptedString : null;\n this.identity.middleName = cipher.identity.middleName != null ?\n cipher.identity.middleName.encryptedString : null;\n this.identity.lastName = cipher.identity.lastName != null ?\n cipher.identity.lastName.encryptedString : null;\n this.identity.address1 = cipher.identity.address1 != null ?\n cipher.identity.address1.encryptedString : null;\n this.identity.address2 = cipher.identity.address2 != null ?\n cipher.identity.address2.encryptedString : null;\n this.identity.address3 = cipher.identity.address3 != null ?\n cipher.identity.address3.encryptedString : null;\n this.identity.city = cipher.identity.city != null ? cipher.identity.city.encryptedString : null;\n this.identity.state = cipher.identity.state != null ? cipher.identity.state.encryptedString : null;\n this.identity.postalCode = cipher.identity.postalCode != null ?\n cipher.identity.postalCode.encryptedString : null;\n this.identity.country = cipher.identity.country != null ?\n cipher.identity.country.encryptedString : null;\n this.identity.company = cipher.identity.company != null ?\n cipher.identity.company.encryptedString : null;\n this.identity.email = cipher.identity.email != null ? cipher.identity.email.encryptedString : null;\n this.identity.phone = cipher.identity.phone != null ? cipher.identity.phone.encryptedString : null;\n this.identity.ssn = cipher.identity.ssn != null ? cipher.identity.ssn.encryptedString : null;\n this.identity.username = cipher.identity.username != null ?\n cipher.identity.username.encryptedString : null;\n this.identity.passportNumber = cipher.identity.passportNumber != null ?\n cipher.identity.passportNumber.encryptedString : null;\n this.identity.licenseNumber = cipher.identity.licenseNumber != null ?\n cipher.identity.licenseNumber.encryptedString : null;\n break;\n default:\n break;\n }\n\n if (cipher.fields != null) {\n this.fields = cipher.fields.map((f) => {\n const field = new FieldApi();\n field.type = f.type;\n field.name = f.name ? f.name.encryptedString : null;\n field.value = f.value ? f.value.encryptedString : null;\n return field;\n });\n }\n\n if (cipher.passwordHistory != null) {\n this.passwordHistory = [];\n cipher.passwordHistory.forEach((ph) => {\n this.passwordHistory.push({\n lastUsedDate: ph.lastUsedDate,\n password: ph.password ? ph.password.encryptedString : null,\n });\n });\n }\n\n if (cipher.attachments != null) {\n this.attachments = {};\n this.attachments2 = {};\n cipher.attachments.forEach((attachment) => {\n const fileName = attachment.fileName ? attachment.fileName.encryptedString : null;\n this.attachments[attachment.id] = fileName;\n const attachmentRequest = new AttachmentRequest();\n attachmentRequest.fileName = fileName;\n if (attachment.key != null) {\n attachmentRequest.key = attachment.key.encryptedString;\n }\n this.attachments2[attachment.id] = attachmentRequest;\n });\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport {\n ActivatedRoute,\n NavigationEnd,\n Router,\n} from '@angular/router';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Injectable()\nexport class RouterService {\n private previousUrl: string = undefined;\n private currentUrl: string = undefined;\n\n constructor(private router: Router, private activatedRoute: ActivatedRoute,\n private titleService: Title, i18nService: I18nService) {\n this.currentUrl = this.router.url;\n router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n this.previousUrl = this.currentUrl;\n this.currentUrl = event.url;\n\n let title = i18nService.t('pageTitle', 'Bitwarden');\n let titleId: string = null;\n let rawTitle: string = null;\n let child = this.activatedRoute.firstChild;\n while (child != null) {\n if (child.firstChild != null) {\n child = child.firstChild;\n } else if (child.snapshot.data != null && child.snapshot.data.title != null) {\n rawTitle = child.snapshot.data.title;\n break;\n } else if (child.snapshot.data != null && child.snapshot.data.titleId != null) {\n titleId = child.snapshot.data.titleId;\n break;\n } else {\n titleId = null;\n rawTitle = null;\n break;\n }\n }\n\n if (titleId != null || rawTitle != null) {\n const newTitle = rawTitle != null ? rawTitle : i18nService.t(titleId);\n if (newTitle != null && newTitle !== '') {\n title = (newTitle + ' | ' + title);\n }\n }\n this.titleService.setTitle(title);\n }\n });\n }\n\n getPreviousUrl() {\n return this.previousUrl;\n }\n\n setPreviousUrl(url: string) {\n this.previousUrl = url;\n }\n}\n","export enum KdfType {\n PBKDF2_SHA256 = 0,\n}\n","import {\n Component,\n Input,\n OnChanges,\n} from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Component({\n selector: 'app-password-strength',\n templateUrl: 'password-strength.component.html',\n})\nexport class PasswordStrengthComponent implements OnChanges {\n @Input() score?: number;\n @Input() showText = false;\n\n scoreWidth = 0;\n color = 'bg-danger';\n text: string;\n\n constructor(private i18nService: I18nService) { }\n\n ngOnChanges(): void {\n this.scoreWidth = this.score == null ? 0 : (this.score + 1) * 20;\n switch (this.score) {\n case 4:\n this.color = 'bg-success';\n this.text = this.i18nService.t('strong');\n break;\n case 3:\n this.color = 'bg-primary';\n this.text = this.i18nService.t('good');\n break;\n case 2:\n this.color = 'bg-warning';\n this.text = this.i18nService.t('weak');\n break;\n default:\n this.color = 'bg-danger';\n this.text = this.score != null ? this.i18nService.t('weak') : null;\n break;\n }\n }\n}\n","
\n
\n \n {{text}}\n \n
\n
\n","export enum OrganizationUserStatusType {\n Invited = 0,\n Accepted = 1,\n Confirmed = 2,\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 { 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_Updated2fa:\n msg = this.i18nService.t('enabledUpdated2fa');\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 case EventType.User_ClientExportedVault:\n msg = this.i18nService.t('exportedVault');\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('permanentlyDeletedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_SoftDeleted:\n msg = this.i18nService.t('deletedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Restored:\n msg = this.i18nService.t('restoredItemId', 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_ClientViewed:\n msg = this.i18nService.t('viewedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_ClientToggledPasswordVisible:\n msg = this.i18nService.t('viewedPasswordItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_ClientToggledHiddenFieldVisible:\n msg = this.i18nService.t('viewedHiddenFieldItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_ClientToggledCardCodeVisible:\n msg = this.i18nService.t('viewedSecurityCodeItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_ClientCopiedHiddenField:\n msg = this.i18nService.t('copiedHiddenFieldItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_ClientCopiedPassword:\n msg = this.i18nService.t('copiedPasswordItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_ClientCopiedCardCode:\n msg = this.i18nService.t('copiedSecurityCodeItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_ClientAutofilled:\n msg = this.i18nService.t('autofilledItemId', 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 case EventType.OrganizationUser_UnlinkedSso:\n msg = this.i18nService.t('unlinkedSsoUser', this.formatOrgUserId(ev));\n // Org\n case EventType.Organization_Updated:\n msg = this.i18nService.t('editedOrgSettings');\n break;\n case EventType.Organization_PurgedVault:\n msg = this.i18nService.t('purgedOrganizationVault');\n break;\n /*\n case EventType.Organization_ClientExportedVault:\n msg = this.i18nService.t('exportedOrganizationVault');\n break;\n */\n // Policies\n case EventType.Policy_Updated:\n msg = this.i18nService.t('modifiedPolicy', this.formatPolicyId(ev));\n break;\n\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 formatPolicyId(ev: EventResponse) {\n const shortId = this.getShortId(ev.policyId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/policies?policyId=' + ev.policyId);\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 enum EventType {\n User_LoggedIn = 1000,\n User_ChangedPassword = 1001,\n User_Updated2fa = 1002,\n User_Disabled2fa = 1003,\n User_Recovered2fa = 1004,\n User_FailedLogIn = 1005,\n User_FailedLogIn2fa = 1006,\n User_ClientExportedVault = 1007,\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 Cipher_ClientViewed = 1107,\n Cipher_ClientToggledPasswordVisible = 1108,\n Cipher_ClientToggledHiddenFieldVisible = 1109,\n Cipher_ClientToggledCardCodeVisible = 1110,\n Cipher_ClientCopiedPassword = 1111,\n Cipher_ClientCopiedHiddenField = 1112,\n Cipher_ClientCopiedCardCode = 1113,\n Cipher_ClientAutofilled = 1114,\n Cipher_SoftDeleted = 1115,\n Cipher_Restored = 1116,\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 OrganizationUser_UnlinkedSso = 1505,\n\n Organization_Updated = 1600,\n Organization_PurgedVault = 1601,\n // Organization_ClientExportedVault = 1602,\n\n Policy_Updated = 1700,\n}\n","export enum PaymentMethodType {\n Card = 0,\n BankAccount = 1,\n PayPal = 2,\n BitPay = 3,\n Credit = 4,\n WireTransfer = 5,\n AppleInApp = 6,\n GoogleInApp = 7,\n Check = 8,\n}\n","import {\n Directive,\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\n@Directive()\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 {\n ComponentFactoryResolver,\n Directive,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { ModalComponent } from '../modal.component';\nimport { AddEditComponent as OrgAddEditComponent } from '../organizations/vault/add-edit.component';\nimport { AddEditComponent } from '../vault/add-edit.component';\n\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Directive()\nexport class CipherReportComponent {\n @ViewChild('cipherAddEdit', { read: ViewContainerRef, static: true }) cipherAddEditModalRef: ViewContainerRef;\n\n loading = false;\n hasLoaded = false;\n ciphers: CipherView[] = [];\n organization: Organization;\n\n private modal: ModalComponent = null;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver, protected userService: UserService,\n protected messagingService: MessagingService, public requiresPaid: boolean) { }\n\n async load() {\n this.loading = true;\n await this.setCiphers();\n this.loading = false;\n this.hasLoaded = true;\n }\n\n selectCipher(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 let childComponent: OrgAddEditComponent | AddEditComponent;\n if (this.organization != null) {\n childComponent = this.modal.show(OrgAddEditComponent, this.cipherAddEditModalRef);\n (childComponent as OrgAddEditComponent).organization = this.organization;\n } else {\n childComponent = this.modal.show(AddEditComponent, this.cipherAddEditModalRef);\n }\n\n childComponent.cipherId = cipher == null ? null : cipher.id;\n if (this.organization != null) {\n childComponent.organizationId = this.organization.id;\n }\n childComponent.onSavedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.load();\n });\n childComponent.onDeletedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.load();\n });\n childComponent.onRestoredCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.load();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n protected async checkAccess(): Promise {\n if (this.organization != null) {\n // TODO: Maybe we want to just make sure they are not on a free plan? Just compare useTotp for now\n // since all paid plans include useTotp\n if (this.requiresPaid && !this.organization.useTotp) {\n this.messagingService.send('upgradeOrganization', { organizationId: this.organization.id });\n return false;\n }\n } else {\n const accessPremium = await this.userService.canAccessPremium();\n if (this.requiresPaid && !accessPremium) {\n this.messagingService.send('premiumRequired');\n this.loading = false;\n return false;\n }\n }\n return true;\n }\n\n protected async setCiphers() {\n this.ciphers = [];\n }\n}\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { View } from './view';\n\nimport { LoginUri } from '../domain/loginUri';\n\nimport { Utils } from '../../misc/utils';\n\nconst CanLaunchWhitelist = [\n 'https://',\n 'http://',\n 'ssh://',\n 'ftp://',\n 'sftp://',\n 'irc://',\n 'vnc://',\n // https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/remote-desktop-uri\n 'rdp://', // Legacy RDP URI scheme\n 'ms-rd:', // Preferred RDP URI scheme\n 'chrome://',\n 'iosapp://',\n 'androidapp://',\n];\n\nexport class LoginUriView implements View {\n match: UriMatchType = null;\n\n // tslint:disable\n private _uri: string = null;\n private _domain: string = null;\n private _hostname: string = null;\n private _host: string = null;\n private _canLaunch: boolean = null;\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 this._canLaunch = null;\n }\n\n get domain(): string {\n if (this._domain == null && this.uri != null) {\n this._domain = Utils.getDomain(this.uri);\n if (this._domain === '') {\n this._domain = null;\n }\n }\n\n return this._domain;\n }\n\n get hostname(): string {\n if (this.match === UriMatchType.RegularExpression) {\n return null;\n }\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 host(): string {\n if (this.match === UriMatchType.RegularExpression) {\n return null;\n }\n if (this._host == null && this.uri != null) {\n this._host = Utils.getHost(this.uri);\n if (this._host === '') {\n this._host = null;\n }\n }\n\n return this._host;\n }\n\n get hostnameOrUri(): string {\n return this.hostname != null ? this.hostname : this.uri;\n }\n\n get hostOrUri(): string {\n return this.host != null ? this.host : this.uri;\n }\n\n get isWebsite(): boolean {\n return this.uri != null && (this.uri.indexOf('http://') === 0 || this.uri.indexOf('https://') === 0 ||\n (this.uri.indexOf('://') < 0 && Utils.tldEndingRegex.test(this.uri)));\n }\n\n get canLaunch(): boolean {\n if (this._canLaunch != null) {\n return this._canLaunch;\n }\n if (this.uri != null && this.match !== UriMatchType.RegularExpression) {\n const uri = this.launchUri;\n for (let i = 0; i < CanLaunchWhitelist.length; i++) {\n if (uri.indexOf(CanLaunchWhitelist[i]) === 0) {\n this._canLaunch = true;\n return this._canLaunch;\n }\n }\n }\n this._canLaunch = false;\n return this._canLaunch;\n }\n\n get launchUri(): string {\n return this.uri.indexOf('://') < 0 && Utils.tldEndingRegex.test(this.uri) ? ('http://' + this.uri) : this.uri;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { CipherType } from 'jslib/enums/cipherType';\nimport { EventType } from 'jslib/enums/eventType';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { EventService } from 'jslib/abstractions/event.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 { PolicyService } from 'jslib/abstractions/policy.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\nimport { UserService } from 'jslib/abstractions/user.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 {\n canAccessPremium: boolean;\n totpCode: string;\n totpCodeFormatted: string;\n totpDash: number;\n totpSec: number;\n totpLow: boolean;\n showRevisionDate = false;\n hasPasswordHistory = false;\n viewingPasswordHistory = false;\n viewOnly = false;\n\n protected totpInterval: number;\n\n constructor(cipherService: CipherService, folderService: FolderService,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\n auditService: AuditService, stateService: StateService,\n userService: UserService, collectionService: CollectionService,\n protected totpService: TotpService, protected passwordGenerationService: PasswordGenerationService,\n protected messagingService: MessagingService, eventService: EventService,\n protected policyService: PolicyService) {\n super(cipherService, folderService, i18nService, platformUtilsService, auditService, stateService,\n userService, collectionService, messagingService, eventService, policyService);\n }\n\n async ngOnInit() {\n await super.ngOnInit();\n await this.load();\n this.showRevisionDate = this.cipher.passwordRevisionDisplayDate != null;\n this.hasPasswordHistory = this.cipher.hasPasswordHistory;\n this.cleanUp();\n\n this.canAccessPremium = await this.userService.canAccessPremium();\n if (this.cipher.type === CipherType.Login && this.cipher.login.totp &&\n (this.cipher.organizationUseTotp || this.canAccessPremium)) {\n await this.totpUpdateCode();\n const interval = this.totpService.getTimeInterval(this.cipher.login.totp);\n await this.totpTick(interval);\n\n this.totpInterval = window.setInterval(async () => {\n await this.totpTick(interval);\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.platformUtilsService.eventTrack('Launched Login URI');\n this.platformUtilsService.launchUri(uri.launchUri);\n }\n\n copy(value: string, typeI18nKey: string, aType: string) {\n if (value == null) {\n return;\n }\n\n this.platformUtilsService.eventTrack('Copied ' + aType);\n this.platformUtilsService.copyToClipboard(value, { window: window });\n this.platformUtilsService.showToast('info', null,\n this.i18nService.t('valueCopied', this.i18nService.t(typeI18nKey)));\n\n if (this.editMode) {\n if (typeI18nKey === 'password') {\n this.eventService.collect(EventType.Cipher_ClientToggledHiddenFieldVisible, this.cipherId);\n } else if (typeI18nKey === 'securityCode') {\n this.eventService.collect(EventType.Cipher_ClientCopiedCardCode, this.cipherId);\n } else if (aType === 'H_Field') {\n this.eventService.collect(EventType.Cipher_ClientCopiedHiddenField, this.cipherId);\n }\n }\n }\n\n async generatePassword(): Promise {\n const confirmed = await super.generatePassword();\n if (confirmed) {\n const options = (await this.passwordGenerationService.getOptions())[0];\n this.cipher.login.password = await this.passwordGenerationService.generatePassword(options);\n }\n return confirmed;\n }\n\n premiumRequired() {\n if (!this.canAccessPremium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n\n upgradeOrganization() {\n this.messagingService.send('upgradeOrganization', { organizationId: this.cipher.organizationId });\n }\n\n viewHistory() {\n this.viewingPasswordHistory = !this.viewingPasswordHistory;\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 if (this.totpCode.length > 4) {\n const half = Math.floor(this.totpCode.length / 2);\n this.totpCodeFormatted = this.totpCode.substring(0, half) + ' ' + this.totpCode.substring(half);\n } else {\n this.totpCodeFormatted = this.totpCode;\n }\n } else {\n this.totpCodeFormatted = null;\n if (this.totpInterval) {\n window.clearInterval(this.totpInterval);\n }\n }\n }\n\n protected allowOwnershipAssignment() {\n return (!this.editMode || this.cloneMode) && this.ownershipOptions != null\n && (this.ownershipOptions.length > 1 || !this.allowPersonal);\n }\n\n private async totpTick(intervalSeconds: number) {\n const epoch = Math.round(new Date().getTime() / 1000.0);\n const mod = epoch % intervalSeconds;\n\n this.totpSec = intervalSeconds - mod;\n this.totpDash = +(Math.round((((78.6 / intervalSeconds) * 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","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n {{'personalOwnershipPolicyInEffect' | 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 {{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 \n {{'newCustomField' | i18n}}\n \n
\n
\n \n \n
\n
\n \n

{{'ownership' | i18n}}

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

{{'collections' | i18n}}

\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n
\n \n \n
\n
\n
\n \n
\n
\n {{'dateUpdated' | i18n}}:\n {{cipher.revisionDate | date:'medium'}}\n
\n
\n {{'datePasswordUpdated' | i18n}}:\n {{cipher.passwordRevisionDisplayDate | date:'medium'}}\n
\n
\n {{'passwordHistory' | i18n}}:\n \n {{cipher.passwordHistory.length}}\n \n
\n
\n
\n {{ph.lastUsedDate | date:'short'}} -\n {{ph.password}}\n
\n
\n
\n
\n
\n
\n \n \n
\n \n \n
\n
\n
\n
\n
\n","import { Importer } from '../importers/importer';\n\nexport interface ImportOption {\n id: string;\n name: string;\n}\nexport abstract class ImportService {\n featuredImportOptions: ImportOption[];\n regularImportOptions: ImportOption[];\n getImportOptions: () => ImportOption[];\n import: (importer: Importer, fileContents: string, organizationId?: string) => Promise;\n getImporter: (format: string, organizationId: string) => Importer;\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnDestroy,\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 { EventService } from 'jslib/abstractions/event.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SearchService } from 'jslib/abstractions/search.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CiphersComponent as BaseCiphersComponent } from 'jslib/angular/components/ciphers.component';\n\nimport { CipherType } from 'jslib/enums/cipherType';\nimport { EventType } from 'jslib/enums/eventType';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nconst MaxCheckedCount = 500;\n\n@Component({\n selector: 'app-vault-ciphers',\n templateUrl: 'ciphers.component.html',\n})\nexport class CiphersComponent extends BaseCiphersComponent implements OnDestroy {\n @Input() showAddNew = true;\n @Output() onAttachmentsClicked = new EventEmitter();\n @Output() onShareClicked = new EventEmitter();\n @Output() onCollectionsClicked = new EventEmitter();\n @Output() onCloneClicked = new EventEmitter();\n\n cipherType = CipherType;\n actionPromise: Promise;\n userHasPremiumAccess = false;\n\n constructor(searchService: SearchService, protected analytics: Angulartics2,\n protected toasterService: ToasterService, protected i18nService: I18nService,\n protected platformUtilsService: PlatformUtilsService, protected cipherService: CipherService,\n protected eventService: EventService, protected totpService: TotpService, protected userService: UserService) {\n super(searchService);\n this.pageSize = 200;\n }\n\n async ngOnInit() {\n this.userHasPremiumAccess = await this.userService.canAccessPremium();\n }\n\n ngOnDestroy() {\n this.selectAll(false);\n }\n\n launch(uri: string) {\n this.platformUtilsService.eventTrack('Launched Login URI');\n this.platformUtilsService.launchUri(uri);\n }\n\n attachments(c: CipherView) {\n this.onAttachmentsClicked.emit(c);\n }\n\n share(c: CipherView) {\n this.onShareClicked.emit(c);\n }\n\n collections(c: CipherView) {\n this.onCollectionsClicked.emit(c);\n }\n\n clone(c: CipherView) {\n this.onCloneClicked.emit(c);\n }\n\n async delete(c: CipherView): Promise {\n if (this.actionPromise != null) {\n return;\n }\n const permanent = c.isDeleted;\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t(permanent ? 'permanentlyDeleteItemConfirmation' : 'deleteItemConfirmation'),\n this.i18nService.t(permanent ? 'permanentlyDeleteItem' : 'deleteItem'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.actionPromise = this.deleteCipher(c.id, permanent);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Deleted Cipher' });\n this.toasterService.popAsync('success', null, this.i18nService.t(permanent ? 'permanentlyDeletedItem'\n : 'deletedItem'));\n this.refresh();\n } catch { }\n this.actionPromise = null;\n }\n\n async restore(c: CipherView): Promise {\n if (this.actionPromise != null || !c.isDeleted) {\n return;\n }\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('restoreItemConfirmation'),\n this.i18nService.t('restoreItem'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.actionPromise = this.cipherService.restoreWithServer(c.id);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Restored Cipher' });\n this.toasterService.popAsync('success', null, this.i18nService.t('restoredItem'));\n this.refresh();\n } catch { }\n this.actionPromise = null;\n }\n\n async copy(cipher: CipherView, value: string, typeI18nKey: string, aType: string) {\n if (value == null || aType === 'TOTP' && !this.displayTotpCopyButton(cipher)) {\n return;\n } else if (value === cipher.login.totp) {\n value = await this.totpService.getCode(value);\n }\n\n this.analytics.eventTrack.next({ action: 'Copied ' + aType.toLowerCase() + ' from listing.' });\n this.platformUtilsService.copyToClipboard(value, { window: window });\n this.toasterService.popAsync('info', null,\n this.i18nService.t('valueCopied', this.i18nService.t(typeI18nKey)));\n\n if (typeI18nKey === 'password' || typeI18nKey === 'verificationCodeTotp') {\n this.eventService.collect(EventType.Cipher_ClientToggledHiddenFieldVisible, cipher.id);\n } else if (typeI18nKey === 'securityCode') {\n this.eventService.collect(EventType.Cipher_ClientCopiedCardCode, cipher.id);\n }\n }\n\n selectAll(select: boolean) {\n if (select) {\n this.selectAll(false);\n }\n const selectCount = select && this.ciphers.length > MaxCheckedCount\n ? MaxCheckedCount\n : this.ciphers.length;\n for (let i = 0; i < selectCount; i++) {\n this.checkCipher(this.ciphers[i], select);\n }\n }\n\n checkCipher(c: CipherView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n }\n\n getSelected(): CipherView[] {\n if (this.ciphers == null) {\n return [];\n }\n return this.ciphers.filter((c) => !!(c as any).checked);\n }\n\n getSelectedIds(): string[] {\n return this.getSelected().map((c) => c.id);\n }\n\n displayTotpCopyButton(cipher: CipherView) {\n return (cipher?.login?.hasTotp ?? false) &&\n (cipher.organizationUseTotp || this.userHasPremiumAccess);\n }\n\n protected deleteCipher(id: string, permanent: boolean) {\n return permanent ? this.cipherService.deleteWithServer(id) : this.cipherService.softDeleteWithServer(id);\n }\n\n protected showFixOldAttachments(c: CipherView) {\n return c.hasOldAttachments && c.organizationId == null;\n }\n}\n","\n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n {{c.name}}\n \n \n {{'shared' | i18n}}\n \n \n \n {{'attachments' | i18n}}\n \n \n {{'attachmentsNeedFix' | i18n}}\n \n \n
\n {{c.subTitle}}\n
\n \n
\n
\n \n \n {{'loading' | i18n}}\n \n \n

{{'noItemsInList' | i18n}}

\n \n
\n
\n
\n","import { SendData } from '../models/data/sendData';\n\nimport { Send } from '../models/domain/send';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { SendView } from '../models/view/sendView';\n\nexport abstract class SendService {\n decryptedSendCache: SendView[];\n\n clearCache: () => void;\n encrypt: (model: SendView, file: File, password: string, key?: SymmetricCryptoKey) => Promise<[Send, ArrayBuffer]>;\n get: (id: string) => Promise;\n getAll: () => Promise;\n getAllDecrypted: () => Promise;\n saveWithServer: (sendData: [Send, ArrayBuffer]) => Promise;\n upsert: (send: SendData | SendData[]) => Promise;\n replace: (sends: { [id: string]: SendData; }) => Promise;\n clear: (userId: string) => Promise;\n delete: (id: string | string[]) => Promise;\n deleteWithServer: (id: string) => Promise;\n removePasswordWithServer: (id: string) => Promise;\n}\n","import { KdfType } from '../enums/kdfType';\nimport { 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 { PreloginRequest } from '../models/request/preloginRequest';\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 { AuthService as AuthServiceAbstraction } from '../abstractions/auth.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport { LogService } from '../abstractions/log.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';\nimport { VaultTimeoutService } from '../abstractions/vaultTimeout.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 implements AuthServiceAbstraction {\n email: string;\n masterPasswordHash: string;\n code: string;\n codeVerifier: string;\n ssoRedirectUrl: string;\n clientId: string;\n clientSecret: string;\n twoFactorProvidersData: 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 vaultTimeoutService: VaultTimeoutService, private logService: LogService,\n private setCryptoKeys = true) {\n }\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 const key = await this.makePreloginKey(masterPassword, email);\n const hashedPassword = await this.cryptoService.hashPassword(masterPassword, key);\n return await this.logInHelper(email, hashedPassword, null, null, null, null, null,\n key, null, null, null);\n }\n\n async logInSso(code: string, codeVerifier: string, redirectUrl: string): Promise {\n this.selectedTwoFactorProviderType = null;\n return await this.logInHelper(null, null, code, codeVerifier, redirectUrl, null, null,\n null, null, null, null);\n }\n\n async logInApiKey(clientId: string, clientSecret: string): Promise {\n this.selectedTwoFactorProviderType = null;\n return await this.logInHelper(null, null, null, null, null, clientId, clientSecret,\n null, null, null, null);\n }\n\n async logInTwoFactor(twoFactorProvider: TwoFactorProviderType, twoFactorToken: string,\n remember?: boolean): Promise {\n return await this.logInHelper(this.email, this.masterPasswordHash, this.code, this.codeVerifier,\n this.ssoRedirectUrl, this.clientId, this.clientSecret, 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 const key = await this.makePreloginKey(masterPassword, email);\n const hashedPassword = await this.cryptoService.hashPassword(masterPassword, key);\n return await this.logInHelper(email, hashedPassword, null, null, null, null, null, key,\n twoFactorProvider, twoFactorToken, remember);\n }\n\n async logInSsoComplete(code: string, codeVerifier: string, redirectUrl: string,\n twoFactorProvider: TwoFactorProviderType, twoFactorToken: string, remember?: boolean): Promise {\n this.selectedTwoFactorProviderType = null;\n return await this.logInHelper(null, null, code, codeVerifier, redirectUrl, null,\n null, null, twoFactorProvider, twoFactorToken, remember);\n }\n\n async logInApiKeyComplete(clientId: string, clientSecret: string, twoFactorProvider: TwoFactorProviderType,\n twoFactorToken: string, remember?: boolean): Promise {\n this.selectedTwoFactorProviderType = null;\n return await this.logInHelper(null, null, null, null, null, clientId, clientSecret, null,\n 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.twoFactorProvidersData == null) {\n return providers;\n }\n\n if (this.twoFactorProvidersData.has(TwoFactorProviderType.OrganizationDuo) &&\n this.platformUtilsService.supportsDuo()) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.OrganizationDuo]);\n }\n\n if (this.twoFactorProvidersData.has(TwoFactorProviderType.Authenticator)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Authenticator]);\n }\n\n if (this.twoFactorProvidersData.has(TwoFactorProviderType.Yubikey)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Yubikey]);\n }\n\n if (this.twoFactorProvidersData.has(TwoFactorProviderType.Duo) && this.platformUtilsService.supportsDuo()) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Duo]);\n }\n\n if (this.twoFactorProvidersData.has(TwoFactorProviderType.U2f) && this.platformUtilsService.supportsU2f(win)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.U2f]);\n }\n\n if (this.twoFactorProvidersData.has(TwoFactorProviderType.Email)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Email]);\n }\n\n return providers;\n }\n\n getDefaultTwoFactorProvider(u2fSupported: boolean): TwoFactorProviderType {\n if (this.twoFactorProvidersData == null) {\n return null;\n }\n\n if (this.selectedTwoFactorProviderType != null &&\n this.twoFactorProvidersData.has(this.selectedTwoFactorProviderType)) {\n return this.selectedTwoFactorProviderType;\n }\n\n let providerType: TwoFactorProviderType = null;\n let providerPriority = -1;\n this.twoFactorProvidersData.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 async makePreloginKey(masterPassword: string, email: string): Promise {\n email = email.trim().toLowerCase();\n let kdf: KdfType = null;\n let kdfIterations: number = null;\n try {\n const preloginResponse = await this.apiService.postPrelogin(new PreloginRequest(email));\n if (preloginResponse != null) {\n kdf = preloginResponse.kdf;\n kdfIterations = preloginResponse.kdfIterations;\n }\n } catch (e) {\n if (e == null || e.statusCode !== 404) {\n throw e;\n }\n }\n return this.cryptoService.makeKey(masterPassword, email, kdf, kdfIterations);\n }\n\n authingWithApiKey(): boolean {\n return this.clientId != null && this.clientSecret != null;\n }\n\n authingWithSso(): boolean {\n return this.code != null && this.codeVerifier != null && this.ssoRedirectUrl != null;\n }\n\n authingWithPassword(): boolean {\n return this.email != null && this.masterPasswordHash != null;\n }\n\n private async logInHelper(email: string, hashedPassword: string, code: string, codeVerifier: string,\n redirectUrl: string, clientId: string, clientSecret: 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 emailPassword: string[] = [];\n let codeCodeVerifier: string[] = [];\n let clientIdClientSecret: string[] = [];\n\n if (email != null && hashedPassword != null) {\n emailPassword = [email, hashedPassword];\n } else {\n emailPassword = null;\n }\n if (code != null && codeVerifier != null && redirectUrl != null) {\n codeCodeVerifier = [code, codeVerifier, redirectUrl];\n } else {\n codeCodeVerifier = null;\n }\n if (clientId != null && clientSecret != null) {\n clientIdClientSecret = [clientId, clientSecret];\n } else {\n clientIdClientSecret = null;\n }\n\n let request: TokenRequest;\n if (twoFactorToken != null && twoFactorProvider != null) {\n request = new TokenRequest(emailPassword, codeCodeVerifier, clientIdClientSecret, twoFactorProvider,\n twoFactorToken, remember, deviceRequest);\n } else if (storedTwoFactorToken != null) {\n request = new TokenRequest(emailPassword, codeCodeVerifier, clientIdClientSecret, TwoFactorProviderType.Remember,\n storedTwoFactorToken, false, deviceRequest);\n } else {\n request = new TokenRequest(emailPassword, codeCodeVerifier, clientIdClientSecret, null,\n 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.code = code;\n this.codeVerifier = codeVerifier;\n this.ssoRedirectUrl = redirectUrl;\n this.clientId = clientId;\n this.clientSecret = clientSecret;\n this.key = this.setCryptoKeys ? key : null;\n this.twoFactorProvidersData = twoFactorResponse.twoFactorProviders2;\n result.twoFactorProviders = twoFactorResponse.twoFactorProviders2;\n return result;\n }\n\n const tokenResponse = response as IdentityTokenResponse;\n result.resetMasterPassword = tokenResponse.resetMasterPassword;\n if (tokenResponse.twoFactorToken != null) {\n await this.tokenService.setTwoFactorToken(tokenResponse.twoFactorToken, email);\n }\n\n await this.tokenService.setTokens(tokenResponse.accessToken, tokenResponse.refreshToken);\n await this.userService.setInformation(this.tokenService.getUserId(), this.tokenService.getEmail(),\n tokenResponse.kdf, tokenResponse.kdfIterations);\n if (this.setCryptoKeys) {\n if (key != null) {\n await this.cryptoService.setKey(key);\n }\n if (hashedPassword != null) {\n await this.cryptoService.setKeyHash(hashedPassword);\n }\n\n // Skip this step during SSO new user flow. No key is returned from server.\n if (code == null || tokenResponse.key != null) {\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 this.logService.error(e);\n }\n }\n\n await this.cryptoService.setEncPrivateKey(tokenResponse.privateKey);\n }\n }\n\n if (this.vaultTimeoutService != null) {\n this.vaultTimeoutService.biometricLocked = false;\n }\n this.messagingService.send('loggedIn');\n return result;\n }\n\n private clearState(): void {\n this.key = null;\n this.email = null;\n this.masterPasswordHash = null;\n this.code = null;\n this.codeVerifier = null;\n this.ssoRedirectUrl = null;\n this.clientId = null;\n this.clientSecret = null;\n this.twoFactorProvidersData = null;\n this.selectedTwoFactorProviderType = null;\n }\n}\n","export class SelectionReadOnlyRequest {\n id: string;\n readOnly: boolean;\n hidePasswords: boolean;\n\n constructor(id: string, readOnly: boolean, hidePasswords: boolean) {\n this.id = id;\n this.readOnly = readOnly;\n this.hidePasswords = hidePasswords;\n }\n}\n","export enum OrganizationUserType {\n Owner = 0,\n Admin = 1,\n User = 2,\n Manager = 3,\n Custom = 4,\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","export abstract class SettingsService {\n clearCache: () => void;\n getEquivalentDomains: () => Promise;\n setEquivalentDomains: (equivalentDomains: string[][]) => Promise;\n clear: (userId: string) => Promise;\n}\n","export enum PlanType {\n Free = 0,\n FamiliesAnnually2019 = 1,\n TeamsMonthly2019 = 2,\n TeamsAnnually2019 = 3,\n EnterpriseMonthly2019 = 4,\n EnterpriseAnnually2019 = 5,\n Custom = 6,\n FamiliesAnnually = 7,\n TeamsMonthly = 8,\n TeamsAnnually = 9,\n EnterpriseMonthly = 10,\n EnterpriseAnnually = 11,\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\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 { PolicyService } from 'jslib/abstractions/policy.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\n\nimport { PaymentComponent } from './payment.component';\nimport { TaxInfoComponent } from './tax-info.component';\n\nimport { PlanType } from 'jslib/enums/planType';\nimport { PolicyType } from 'jslib/enums/policyType';\nimport { ProductType } from 'jslib/enums/productType';\n\nimport { OrganizationCreateRequest } from 'jslib/models/request/organizationCreateRequest';\nimport { OrganizationUpgradeRequest } from 'jslib/models/request/organizationUpgradeRequest';\nimport { PlanResponse } from 'jslib/models/response/planResponse';\n\n@Component({\n selector: 'app-organization-plans',\n templateUrl: 'organization-plans.component.html',\n})\nexport class OrganizationPlansComponent implements OnInit {\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\n @ViewChild(TaxInfoComponent) taxComponent: TaxInfoComponent;\n\n @Input() organizationId: string;\n @Input() showFree = true;\n @Input() showCancel = false;\n @Input() product: ProductType = ProductType.Free;\n @Input() plan: PlanType = PlanType.Free;\n @Output() onSuccess = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n loading: boolean = true;\n selfHosted: boolean = false;\n ownedBusiness: boolean = false;\n premiumAccessAddon: boolean = false;\n additionalStorage: number = 0;\n additionalSeats: number = 0;\n name: string;\n billingEmail: string;\n businessName: string;\n productTypes = ProductType;\n formPromise: Promise;\n singleOrgPolicyBlock: boolean = false;\n\n plans: PlanResponse[];\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 policyService: PolicyService) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n if (!this.selfHosted) {\n const plans = await this.apiService.getPlans();\n this.plans = plans.data;\n if (this.product === ProductType.Enterprise || this.product === ProductType.Teams) {\n this.ownedBusiness = true;\n }\n }\n this.loading = false;\n }\n\n get createOrganization() {\n return this.organizationId == null;\n }\n\n get selectedPlan() {\n return this.plans.find((plan) => plan.type === this.plan);\n }\n\n get selectedPlanInterval() {\n return this.selectedPlan.isAnnual\n ? 'year'\n : 'month';\n }\n\n get selectableProducts() {\n let validPlans = this.plans.filter((plan) => plan.type !== PlanType.Custom);\n\n if (this.ownedBusiness) {\n validPlans = validPlans.filter((plan) => plan.canBeUsedByBusiness);\n }\n\n if (!this.showFree) {\n validPlans = validPlans.filter((plan) => plan.product !== ProductType.Free);\n }\n\n validPlans = validPlans\n .filter((plan) => !plan.legacyYear\n && !plan.disabled\n && (plan.isAnnual || plan.product === this.productTypes.Free));\n\n return validPlans;\n }\n\n get selectablePlans() {\n return this.plans.filter((plan) => !plan.legacyYear && !plan.disabled && plan.product === this.product);\n }\n\n additionalStoragePriceMonthly(selectedPlan: PlanResponse) {\n if (!selectedPlan.isAnnual) {\n return selectedPlan.additionalStoragePricePerGb;\n }\n return selectedPlan.additionalStoragePricePerGb / 12;\n }\n\n seatPriceMonthly(selectedPlan: PlanResponse) {\n if (!selectedPlan.isAnnual) {\n return selectedPlan.seatPrice;\n }\n return selectedPlan.seatPrice / 12;\n }\n\n additionalStorageTotal(plan: PlanResponse): number {\n if (!plan.hasAdditionalStorageOption) {\n return 0;\n }\n\n return plan.additionalStoragePricePerGb * Math.abs(this.additionalStorage || 0);\n }\n\n seatTotal(plan: PlanResponse): number {\n if (!plan.hasAdditionalSeatsOption) {\n return 0;\n }\n\n return plan.seatPrice * Math.abs(this.additionalSeats || 0);\n }\n\n get subtotal() {\n let subTotal = this.selectedPlan.basePrice;\n if (this.selectedPlan.hasAdditionalSeatsOption && this.additionalSeats) {\n subTotal += this.seatTotal(this.selectedPlan);\n }\n if (this.selectedPlan.hasAdditionalStorageOption && this.additionalStorage) {\n subTotal += this.additionalStorageTotal(this.selectedPlan);\n }\n if (this.selectedPlan.hasPremiumAccessOption && this.premiumAccessAddon) {\n subTotal += this.selectedPlan.premiumAccessOptionPrice;\n }\n return subTotal;\n }\n\n get taxCharges() {\n return this.taxComponent != null && this.taxComponent.taxRate != null ?\n (this.taxComponent.taxRate / 100) * this.subtotal :\n 0;\n }\n\n get total() {\n return (this.subtotal + this.taxCharges) || 0;\n }\n\n changedProduct() {\n this.plan = this.selectablePlans[0].type;\n if (!this.selectedPlan.hasPremiumAccessOption) {\n this.premiumAccessAddon = false;\n }\n if (!this.selectedPlan.hasAdditionalStorageOption) {\n this.additionalStorage = 0;\n }\n if (!this.selectedPlan.hasAdditionalSeatsOption) {\n this.additionalSeats = 0;\n } else if (!this.additionalSeats && !this.selectedPlan.baseSeats &&\n this.selectedPlan.hasAdditionalSeatsOption) {\n this.additionalSeats = 1;\n }\n }\n\n changedOwnedBusiness() {\n if (!this.ownedBusiness || this.selectedPlan.canBeUsedByBusiness) {\n return;\n }\n this.product = ProductType.Teams;\n this.plan = PlanType.TeamsAnnually;\n }\n\n changedCountry() {\n this.paymentComponent.hideBank = this.taxComponent.taxInfo.country !== 'US';\n // Bank Account payments are only available for US customers\n if (this.paymentComponent.hideBank &&\n this.paymentComponent.method === PaymentMethodType.BankAccount) {\n this.paymentComponent.method = PaymentMethodType.Card;\n this.paymentComponent.changeMethod();\n }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n async submit() {\n if (this.singleOrgPolicyBlock) {\n return;\n } else {\n const policies = await this.policyService.getAll(PolicyType.SingleOrg);\n this.singleOrgPolicyBlock = policies.some(policy => policy.enabled);\n if (this.singleOrgPolicyBlock) {\n return;\n }\n }\n\n let files: FileList = null;\n if (this.createOrganization && 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 const doSubmit = async () => {\n let orgId: string = null;\n if (this.createOrganization) {\n let tokenResult: [string, PaymentMethodType] = null;\n if (!this.selfHosted && this.plan !== PlanType.Free) {\n tokenResult = await this.paymentComponent.createPaymentToken();\n }\n const shareKey = await this.cryptoService.makeShareKey();\n const key = shareKey[0].encryptedString;\n const collection = await this.cryptoService.encrypt(\n this.i18nService.t('defaultCollection'), shareKey[1]);\n const collectionCt = collection.encryptedString;\n\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 const response = await this.apiService.postOrganizationLicense(fd);\n orgId = response.id;\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.selectedPlan.type === PlanType.Free) {\n request.planType = PlanType.Free;\n } else {\n request.paymentToken = tokenResult[0];\n request.paymentMethodType = tokenResult[1];\n request.businessName = this.ownedBusiness ? this.businessName : null;\n request.additionalSeats = this.additionalSeats;\n request.additionalStorageGb = this.additionalStorage;\n request.premiumAccessAddon = this.selectedPlan.hasPremiumAccessOption &&\n this.premiumAccessAddon;\n request.planType = this.selectedPlan.type;\n request.billingAddressPostalCode = this.taxComponent.taxInfo.postalCode;\n request.billingAddressCountry = this.taxComponent.taxInfo.country;\n if (this.taxComponent.taxInfo.includeTaxId) {\n request.taxIdNumber = this.taxComponent.taxInfo.taxId;\n request.billingAddressLine1 = this.taxComponent.taxInfo.line1;\n request.billingAddressLine2 = this.taxComponent.taxInfo.line2;\n request.billingAddressCity = this.taxComponent.taxInfo.city;\n request.billingAddressState = this.taxComponent.taxInfo.state;\n }\n }\n const response = await this.apiService.postOrganization(request);\n orgId = response.id;\n }\n } else {\n const request = new OrganizationUpgradeRequest();\n request.businessName = this.ownedBusiness ? this.businessName : null;\n request.additionalSeats = this.additionalSeats;\n request.additionalStorageGb = this.additionalStorage;\n request.premiumAccessAddon = this.selectedPlan.hasPremiumAccessOption &&\n this.premiumAccessAddon;\n request.planType = this.selectedPlan.type;\n request.billingAddressCountry = this.taxComponent.taxInfo.country;\n request.billingAddressPostalCode = this.taxComponent.taxInfo.postalCode;\n\n const result = await this.apiService.postOrganizationUpgrade(this.organizationId, request);\n if (!result.success && result.paymentIntentClientSecret != null) {\n await this.paymentComponent.handleStripeCardPayment(result.paymentIntentClientSecret, null);\n }\n orgId = this.organizationId;\n }\n\n if (orgId != null) {\n await this.apiService.refreshIdentityToken();\n await this.syncService.fullSync(true);\n if (this.createOrganization) {\n this.analytics.eventTrack.next({ action: 'Created Organization' });\n this.toasterService.popAsync('success',\n this.i18nService.t('organizationCreated'), this.i18nService.t('organizationReadyToGo'));\n } else {\n this.analytics.eventTrack.next({ action: 'Upgraded Organization' });\n this.toasterService.popAsync('success', null, this.i18nService.t('organizationUpgraded'));\n }\n this.router.navigate(['/organizations/' + orgId]);\n }\n };\n\n this.formPromise = doSubmit();\n await this.formPromise;\n this.onSuccess.emit();\n } catch { }\n }\n\n}\n","\n \n {{'loading' | i18n}}\n\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

{{'users' | i18n}}

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

{{'addons' | i18n}}

\n
\n
\n \n \n {{'userSeatsAdditionalDesc' | i18n : selectedPlan.baseSeats : (seatPriceMonthly(selectedPlan) | currency:'$')}}\n
\n
\n
\n
\n \n \n {{'additionalStorageIntervalDesc' | i18n : '1 GB' : (additionalStoragePriceMonthly(selectedPlan) | currency:'$') : ('month' | i18n)}}\n
\n
\n
\n
\n
\n \n \n
\n {{'premiumAccessDesc' | i18n : (3.33 | currency:'$') : ('month' | i18n)}}\n
\n
\n

{{'summary' | i18n}}

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

{{ (createOrganization ? 'paymentInformation' : 'billingInformation') | i18n}}

\n \n \n
\n
\n {{ 'planPrice' | i18n }}: {{ subtotal | currency: 'USD $' }}\n
\n \n {{ 'estimatedTax' | i18n }}: {{ taxCharges | currency: 'USD $' }}\n \n
\n
\n

{{'total' | i18n}}:\n {{total | currency:'USD $'}}/{{selectedPlanInterval | i18n}}

\n
\n {{'paymentChargedWithTrial' | i18n : (selectedPlanInterval | i18n) }}\n \n \n \n \n {{'paymentCharged' | i18n : (selectedPlanInterval | i18n) }}\n
\n
\n {{'singleOrgBlockCreateMessage' | i18n}}\n
\n
\n \n \n
\n
\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 { CardData } from '../data/cardData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nimport { CardView } from '../view/cardView';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\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, encKey?: SymmetricCryptoKey): 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, encKey);\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 { FieldType } from '../../enums/fieldType';\n\nimport { FieldData } from '../data/fieldData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nimport { FieldView } from '../view/fieldView';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\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, encKey?: SymmetricCryptoKey): Promise {\n return this.decryptObj(new FieldView(this), {\n name: null,\n value: null,\n }, orgId, encKey);\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 { IdentityData } from '../data/identityData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\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, encKey?: SymmetricCryptoKey): 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, encKey);\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 { LoginUri } from './loginUri';\n\nimport { LoginData } from '../data/loginData';\n\nimport { LoginView } from '../view/loginView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport class Login extends Domain {\n uris: LoginUri[];\n username: CipherString;\n password: CipherString;\n passwordRevisionDate?: Date;\n totp: CipherString;\n\n constructor(obj?: LoginData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.passwordRevisionDate = obj.passwordRevisionDate != null ? new Date(obj.passwordRevisionDate) : null;\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, encKey?: SymmetricCryptoKey): Promise {\n const view = await this.decryptObj(new LoginView(this), {\n username: null,\n password: null,\n totp: null,\n }, orgId, encKey);\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, encKey);\n view.uris.push(uri);\n }\n }\n\n return view;\n }\n\n toLoginData(): LoginData {\n const l = new LoginData();\n l.passwordRevisionDate = this.passwordRevisionDate != null ? this.passwordRevisionDate.toISOString() : null;\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 { UriMatchType } from '../../enums/uriMatchType';\n\nimport { LoginUriData } from '../data/loginUriData';\n\nimport { LoginUriView } from '../view/loginUriView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\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, encKey?: SymmetricCryptoKey): Promise {\n return this.decryptObj(new LoginUriView(this), {\n uri: null,\n }, orgId, encKey);\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","export enum UriMatchType {\n Domain = 0,\n Host = 1,\n StartsWith = 2,\n Exact = 3,\n RegularExpression = 4,\n Never = 5,\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\n\nimport { SecureNoteData } from '../data/secureNoteData';\n\nimport Domain from './domainBase';\n\nimport { SecureNoteView } from '../view/secureNoteView';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\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, encKey?: SymmetricCryptoKey): 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 {\n Directive,\n ElementRef,\n forwardRef,\n HostListener,\n Input,\n Renderer2,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n NG_VALUE_ACCESSOR,\n} from '@angular/forms';\n\n// ref: https://juristr.com/blog/2018/02/ng-true-value-directive/\n@Directive({\n selector: 'input[type=checkbox][appTrueFalseValue]',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TrueFalseValueDirective),\n multi: true,\n },\n ],\n})\nexport class TrueFalseValueDirective implements ControlValueAccessor {\n @Input() trueValue = true;\n @Input() falseValue = false;\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) { }\n\n @HostListener('change', ['$event'])\n onHostChange(ev: any) {\n this.propagateChange(ev.target.checked ? this.trueValue : this.falseValue);\n }\n\n writeValue(obj: any): void {\n if (obj === this.trueValue) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'checked', true);\n } else {\n this.renderer.setProperty(this.elementRef.nativeElement, 'checked', false);\n }\n }\n\n registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n registerOnTouched(fn: any): void { /* nothing */ }\n\n setDisabledState?(isDisabled: boolean): void { /* nothing */ }\n\n private propagateChange = (_: any) => { /* nothing */ };\n}\n","import {\n Component,\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { GroupingsComponent as BaseGroupingsComponent } from 'jslib/angular/components/groupings.component';\n\n@Component({\n selector: 'app-vault-groupings',\n templateUrl: 'groupings.component.html',\n})\nexport class GroupingsComponent extends BaseGroupingsComponent {\n @Output() onSearchTextChanged = new EventEmitter();\n\n searchText: string = '';\n searchPlaceholder: string = null;\n\n constructor(collectionService: CollectionService, folderService: FolderService,\n storageService: StorageService, userService: UserService) {\n super(collectionService, folderService, storageService, userService);\n }\n\n searchTextChanged() {\n this.onSearchTextChanged.emit(this.searchText);\n }\n}\n","
\n
\n {{'filters' | i18n}}\n \n \n \n
\n
\n \n \n

{{'types' | i18n}}

\n \n

\n \n {{'loading' | i18n}}\n

\n \n \n

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

\n \n
\n \n

{{'collections' | i18n}}

\n \n
\n
\n
\n
\n","import { OrganizationData } from '../data/organizationData';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\nimport { PermissionsApi } from '../api/permissionsApi';\n\n\nexport class Organization {\n id: string;\n name: string;\n status: OrganizationUserStatusType;\n type: OrganizationUserType;\n enabled: boolean;\n usePolicies: boolean;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n useApi: boolean;\n useBusinessPortal: boolean;\n useSso: boolean;\n selfHost: boolean;\n usersGetPremium: boolean;\n seats: number;\n maxCollections: number;\n maxStorageGb?: number;\n ssoBound: boolean;\n identifier: string;\n permissions: PermissionsApi;\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.usePolicies = obj.usePolicies;\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.useApi = obj.useApi;\n this.useBusinessPortal = obj.useBusinessPortal;\n this.useSso = obj.useSso;\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 this.ssoBound = obj.ssoBound;\n this.identifier = obj.identifier;\n this.permissions = obj.permissions;\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 isManager() {\n return this.type === OrganizationUserType.Manager || this.type === OrganizationUserType.Owner ||\n this.type === OrganizationUserType.Admin;\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 get canAccessBusinessPortal() {\n return this.isAdmin || this.permissions.accessBusinessPortal;\n }\n\n get canAccessEventLogs() {\n return this.isAdmin || this.permissions.accessEventLogs;\n }\n\n get canAccessImportExport() {\n return this.isAdmin || this.permissions.accessImportExport;\n }\n\n get canAccessReports() {\n return this.isAdmin || this.permissions.accessReports;\n }\n\n get canManageAllCollections() {\n return this.isAdmin || this.permissions.manageAllCollections;\n }\n\n get canManageAssignedCollections() {\n return this.isManager || this.permissions.manageAssignedCollections;\n }\n\n get canManageGroups() {\n return this.isAdmin || this.permissions.manageGroups;\n }\n\n get canManageSso() {\n return this.isAdmin || this.permissions.manageSso;\n }\n\n get canManagePolicies() {\n return this.isAdmin || this.permissions.managePolicies;\n }\n\n get canManageUsers() {\n return this.isAdmin || this.permissions.manageUsers;\n }\n}\n","import { View } from './view';\n\nimport { SendFile } from '../domain/sendFile';\n\nexport class SendFileView implements View {\n id: string = null;\n url: string = null;\n size: string = null;\n sizeName: string = null;\n fileName: string = null;\n\n constructor(f?: SendFile) {\n if (!f) {\n return;\n }\n\n this.id = f.id;\n this.url = f.url;\n this.size = f.size;\n this.sizeName = f.sizeName;\n }\n\n get fileSize(): number {\n try {\n if (this.size != null) {\n return parseInt(this.size, null);\n }\n } catch { }\n return 0;\n }\n}\n","import { View } from './view';\n\nimport { SendText } from '../domain/sendText';\n\nexport class SendTextView implements View {\n text: string = null;\n hidden: boolean;\n\n constructor(t?: SendText) {\n if (!t) {\n return;\n }\n\n this.hidden = t.hidden;\n }\n\n get maskedText(): string {\n return this.text != null ? '••••••••' : null;\n }\n}\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.syncService.fullSync(true);\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 unlinkSso(org: Organization) {\n const confirmed = await this.platformUtilsService.showDialog(\n 'Are you sure you want to unlink SSO for this organization?', 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.deleteSsoUser(org.id).then(() => {\n return this.syncService.fullSync(true);\n });\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Unlinked SSO' });\n this.toasterService.popAsync('success', null, 'Unlinked SSO');\n await this.load();\n } catch { }\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","\n

\n \n {{'loading' | i18n}}\n

\n \n \n

{{'noOrganizationsList' | i18n}}

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

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

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

{{'noOrganizationsList' | i18n}}

\n \n \n {{'newOrganization' | i18n}}\n \n
\n \n \n \n \n \n \n \n \n
\n \n \n {{o.name}}\n \n \n {{'organizationIsDisabled' | i18n}}\n \n \n
\n \n \n
\n
\n
\n
\n","import { BaseResponse } from './baseResponse';\n\nexport class SelectionReadOnlyResponse extends BaseResponse {\n id: string;\n readOnly: boolean;\n hidePasswords: boolean;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.readOnly = this.getResponseProperty('ReadOnly');\n this.hidePasswords = this.getResponseProperty('HidePasswords');\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\n@Component({\n selector: 'app-navbar',\n templateUrl: 'navbar.component.html',\n})\nexport class NavbarComponent implements OnInit {\n selfHosted = false;\n name: string;\n email: string;\n\n constructor(private messagingService: MessagingService, private platformUtilsService: PlatformUtilsService,\n private tokenService: TokenService) {\n this.selfHosted = this.platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n this.name = await this.tokenService.getName();\n this.email = await this.tokenService.getEmail();\n if (this.name == null || this.name.trim() === '') {\n this.name = this.email;\n }\n }\n\n lock() {\n this.messagingService.send('lockVault');\n }\n\n logOut() {\n this.messagingService.send('logout');\n }\n}\n","\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","
\n
\n
\n © {{year}}, Bitwarden Inc.\n
\n
\n
\n {{'versionNumber' | i18n : version}}\n
\n
\n
\n","import { Injectable } from '@angular/core';\n\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { ErrorResponse } from '../../models/response/errorResponse';\n\n@Injectable()\nexport class ValidationService {\n constructor(private i18nService: I18nService, private platformUtilsService: PlatformUtilsService) { }\n\n showError(data: any): string[] {\n const defaultErrorMessage = this.i18nService.t('unexpectedError');\n let 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 = errors.concat((data as ErrorResponse).getAllMessages());\n } else {\n errors.push(data.message ? data.message : defaultErrorMessage);\n }\n\n if (errors.length === 1) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'), errors[0]);\n } else if (errors.length > 1) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'), errors, {\n timeout: 5000 * errors.length,\n });\n }\n\n return errors;\n }\n}\n","export enum EncryptionType {\n AesCbc256_B64 = 0,\n AesCbc128_HmacSha256_B64 = 1,\n AesCbc256_HmacSha256_B64 = 2,\n Rsa2048_OaepSha256_B64 = 3,\n Rsa2048_OaepSha1_B64 = 4,\n Rsa2048_OaepSha256_HmacSha256_B64 = 5,\n Rsa2048_OaepSha1_HmacSha256_B64 = 6,\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 { OnInit } from '@angular/core';\n\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { MessagingService } from '../../abstractions/messaging.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { PolicyService } from '../../abstractions/policy.service';\nimport { UserService } from '../../abstractions/user.service';\n\nimport { CipherString } from '../../models/domain/cipherString';\nimport { MasterPasswordPolicyOptions } from '../../models/domain/masterPasswordPolicyOptions';\nimport { SymmetricCryptoKey } from '../../models/domain/symmetricCryptoKey';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class ChangePasswordComponent implements OnInit {\n masterPassword: string;\n masterPasswordRetype: string;\n formPromise: Promise;\n masterPasswordScore: number;\n enforcedPolicyOptions: MasterPasswordPolicyOptions;\n\n protected email: string;\n protected kdf: KdfType;\n protected kdfIterations: number;\n\n private masterPasswordStrengthTimeout: any;\n\n constructor(protected i18nService: I18nService, protected cryptoService: CryptoService,\n protected messagingService: MessagingService, protected userService: UserService,\n protected passwordGenerationService: PasswordGenerationService,\n protected platformUtilsService: PlatformUtilsService, protected policyService: PolicyService) { }\n\n async ngOnInit() {\n this.email = await this.userService.getEmail();\n this.enforcedPolicyOptions = await this.policyService.getMasterPasswordPolicyOptions();\n }\n\n getPasswordScoreAlertDisplay() {\n if (this.enforcedPolicyOptions == null) {\n return '';\n }\n\n let str: string;\n switch (this.enforcedPolicyOptions.minComplexity) {\n case 4:\n str = this.i18nService.t('strong');\n break;\n case 3:\n str = this.i18nService.t('good');\n break;\n default:\n str = this.i18nService.t('weak');\n break;\n }\n return str + ' (' + this.enforcedPolicyOptions.minComplexity + ')';\n }\n\n async submit() {\n if (!await this.strongPassword()) {\n return;\n }\n\n if (!await this.setupSubmitActions()) {\n return;\n }\n\n const email = await this.userService.getEmail();\n if (this.kdf == null) {\n this.kdf = await this.userService.getKdf();\n }\n if (this.kdfIterations == null) {\n this.kdfIterations = await this.userService.getKdfIterations();\n }\n const key = await this.cryptoService.makeKey(this.masterPassword, email.trim().toLowerCase(),\n this.kdf, this.kdfIterations);\n const masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, key);\n\n let encKey: [SymmetricCryptoKey, CipherString] = null;\n const existingEncKey = await this.cryptoService.getEncKey();\n if (existingEncKey == null) {\n encKey = await this.cryptoService.makeEncKey(key);\n } else {\n encKey = await this.cryptoService.remakeEncKey(key);\n }\n\n await this.performSubmitActions(masterPasswordHash, key, encKey);\n }\n\n async setupSubmitActions(): Promise {\n // Override in sub-class\n // Can be used for additional validation and/or other processes the should occur before changing passwords\n return true;\n }\n\n async performSubmitActions(masterPasswordHash: string, key: SymmetricCryptoKey,\n encKey: [SymmetricCryptoKey, CipherString]) {\n // Override in sub-class\n }\n\n async strongPassword(): Promise {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return false;\n }\n if (this.masterPassword.length < 8) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassLength'));\n return false;\n }\n if (this.masterPassword !== this.masterPasswordRetype) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassDoesntMatch'));\n return false;\n }\n\n const strengthResult = this.passwordGenerationService.passwordStrength(this.masterPassword,\n this.getPasswordStrengthUserInput());\n\n if (this.enforcedPolicyOptions != null &&\n !this.policyService.evaluateMasterPassword(\n strengthResult.score,\n this.masterPassword,\n this.enforcedPolicyOptions)) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPasswordPolicyRequirementsNotMet'));\n return false;\n }\n\n if (strengthResult != null && strengthResult.score < 3) {\n const result = await this.platformUtilsService.showDialog(this.i18nService.t('weakMasterPasswordDesc'),\n this.i18nService.t('weakMasterPassword'), this.i18nService.t('yes'), this.i18nService.t('no'),\n 'warning');\n if (!result) {\n return false;\n }\n }\n\n return true;\n }\n\n updatePasswordStrength() {\n if (this.masterPasswordStrengthTimeout != null) {\n clearTimeout(this.masterPasswordStrengthTimeout);\n }\n this.masterPasswordStrengthTimeout = setTimeout(() => {\n const strengthResult = this.passwordGenerationService.passwordStrength(this.masterPassword,\n this.getPasswordStrengthUserInput());\n this.masterPasswordScore = strengthResult == null ? null : strengthResult.score;\n }, 300);\n }\n\n async logOut() {\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('logOutConfirmation'),\n this.i18nService.t('logOut'), this.i18nService.t('logOut'), this.i18nService.t('cancel'));\n if (confirmed) {\n this.messagingService.send('logout');\n }\n }\n\n private getPasswordStrengthUserInput() {\n let userInput: string[] = [];\n const atPosition = this.email.indexOf('@');\n if (atPosition > -1) {\n userInput = userInput.concat(this.email.substr(0, atPosition).trim().toLowerCase().split(/[^A-Za-z0-9]/));\n }\n return userInput;\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 { OrganizationUserStatusType } from 'jslib/enums/organizationUserStatusType';\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\nimport { OrganizationUserUserDetailsResponse } from 'jslib/models/response/organizationUserResponse';\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() onEditedUsers = new EventEmitter();\n\n organizationUserType = OrganizationUserType;\n organizationUserStatusType = OrganizationUserStatusType;\n\n showSelected = false;\n loading = true;\n formPromise: Promise;\n selectedCount = 0;\n searchText: string;\n\n private allUsers: OrganizationUserUserDetailsResponse[] = [];\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n await this.loadUsers();\n this.loading = false;\n }\n\n get users() {\n if (this.showSelected) {\n return this.allUsers.filter((u) => (u as any).checked);\n } else {\n return this.allUsers;\n }\n }\n\n async loadUsers() {\n const users = await this.apiService.getOrganizationUsers(this.organizationId);\n this.allUsers = users.data.map((r) => r).sort(Utils.getSortFunction(this.i18nService, 'email'));\n if (this.entity === 'group') {\n const response = await this.apiService.getGroupUsers(this.organizationId, this.entityId);\n if (response != null && users.data.length > 0) {\n response.forEach((s) => {\n const user = users.data.filter((u) => u.id === s);\n if (user != null && user.length > 0) {\n (user[0] as any).checked = true;\n }\n });\n }\n } else if (this.entity === 'collection') {\n const response = await this.apiService.getCollectionUsers(this.organizationId, this.entityId);\n if (response != null && users.data.length > 0) {\n response.forEach((s) => {\n const user = users.data.filter((u) => !u.accessAll && u.id === s.id);\n if (user != null && user.length > 0) {\n (user[0] as any).checked = true;\n (user[0] as any).readOnly = s.readOnly;\n (user[0] as any).hidePasswords = s.hidePasswords;\n }\n });\n }\n }\n\n this.allUsers.forEach((u) => {\n if (this.entity === 'collection' && u.accessAll) {\n (u as any).checked = true;\n }\n if ((u as any).checked) {\n this.selectedCount++;\n }\n });\n }\n\n check(u: OrganizationUserUserDetailsResponse) {\n if (this.entity === 'collection' && u.accessAll) {\n return;\n }\n (u as any).checked = !(u as any).checked;\n this.selectedChanged(u);\n }\n\n selectedChanged(u: OrganizationUserUserDetailsResponse) {\n if ((u as any).checked) {\n this.selectedCount++;\n } else {\n if (this.entity === 'collection') {\n (u as any).readOnly = false;\n (u as any).hidePasswords = false;\n }\n this.selectedCount--;\n }\n }\n\n filterSelected(showSelected: boolean) {\n this.showSelected = showSelected;\n }\n\n async submit() {\n try {\n if (this.entity === 'group') {\n const selections = this.users.filter((u) => (u as any).checked).map((u) => u.id);\n this.formPromise = this.apiService.putGroupUsers(this.organizationId, this.entityId, selections);\n } else {\n const selections = this.users.filter((u) => (u as any).checked && !u.accessAll)\n .map((u) => new SelectionReadOnlyRequest(u.id, !!(u as any).readOnly, !!(u as any).hidePasswords));\n this.formPromise = this.apiService.putCollectionUsers(this.organizationId, this.entityId, selections);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({\n action: this.entity === 'group' ? 'Edited Group Users' : 'Edited Collection Users',\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('updatedUsers'));\n this.onEditedUsers.emit();\n } catch { }\n }\n}\n","
\n
\n
\n
\n

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

\n \n
\n
\n \n {{'loading' | i18n}}\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 \n \n \n \n \n \n \n \n \n \n \n \n \n
  {{'name' | i18n}} {{'userType' | i18n}}{{'hidePasswords' |\n i18n}}{{'readOnly' |\n i18n}}
\n \n \n \n \n {{u.email}}\n {{'invited'\n | i18n}}\n {{'accepted'\n | i18n}}\n {{u.name}}\n \n \n \n {{'userAccessAllItems' | i18n}}\n \n \n {{'owner' | i18n}}\n {{'admin' | i18n}}\n {{'manager' | i18n}}\n {{'user' | i18n}}\n {{'custom' | i18n}}\n \n \n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\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","
\n
\n
\n
\n

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

\n \n
\n
\n \n {{'loading' | i18n}}\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 {{e.appName}}, {{e.ip}}\n \n {{e.userName}}\n
\n \n
\n
\n \n
\n
\n
\n
\n","import { BaseResponse } from '../response/baseResponse';\n\nexport class PermissionsApi extends BaseResponse {\n accessBusinessPortal: boolean;\n accessEventLogs: boolean;\n accessImportExport: boolean;\n accessReports: boolean;\n manageAllCollections: boolean;\n manageAssignedCollections: boolean;\n manageCiphers: boolean;\n manageGroups: boolean;\n manageSso: boolean;\n managePolicies: boolean;\n manageUsers: boolean;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return this;\n }\n this.accessBusinessPortal = this.getResponseProperty('AccessBusinessPortal');\n this.accessEventLogs = this.getResponseProperty('AccessEventLogs');\n this.accessImportExport = this.getResponseProperty('AccessImportExport');\n this.accessReports = this.getResponseProperty('AccessReports');\n this.manageAllCollections = this.getResponseProperty('ManageAllCollections');\n this.manageAssignedCollections = this.getResponseProperty('ManageAssignedCollections');\n this.manageCiphers = this.getResponseProperty('ManageCiphers');\n this.manageGroups = this.getResponseProperty('ManageGroups');\n this.manageSso = this.getResponseProperty('ManageSso');\n this.managePolicies = this.getResponseProperty('ManagePolicies');\n this.manageUsers = this.getResponseProperty('ManageUsers');\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\nimport { ApiKeyResponse } from 'jslib/models/response/apiKeyResponse';\n\n@Component({\n selector: 'app-api-key',\n templateUrl: 'api-key.component.html',\n})\nexport class ApiKeyComponent {\n keyType: string;\n isRotation: boolean;\n postKey: (entityId: string, request: PasswordVerificationRequest) => Promise;\n entityId: string;\n scope: string;\n grantType: string;\n apiKeyTitle: string;\n apiKeyWarning: string;\n apiKeyDescription: string;\n\n masterPassword: string;\n formPromise: Promise;\n clientId: string;\n clientSecret: string;\n\n constructor(private i18nService: I18nService, private analytics: Angulartics2,\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 = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.postKey(this.entityId, request);\n const response = await this.formPromise;\n this.clientSecret = response.apiKey;\n this.clientId = `${this.keyType}.${this.entityId}`;\n this.analytics.eventTrack.next({ action: `Viewed ${this.keyType} API Key` });\n } catch { }\n }\n}\n","
\n
\n
\n
\n

{{apiKeyTitle | i18n}}

\n \n
\n
\n

{{apiKeyDescription | i18n}}

\n \n \n \n \n {{apiKeyWarning | i18n}}\n \n

\n client_id:
\n {{clientId}}\n

\n

\n client_secret:
\n {{clientSecret}}\n

\n

\n scope:
\n {{scope}}\n

\n

\n grant_type:
\n {{grantType}}\n

\n
\n
\n
\n \n \n
\n
\n
\n
\n","import {\n Component,\n Input,\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 { 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-purge-vault',\n templateUrl: 'purge-vault.component.html',\n})\nexport class PurgeVaultComponent {\n @Input() organizationId?: string = null;\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.postPurgeCiphers(request, this.organizationId);\n await this.formPromise;\n this.analytics.eventTrack.next({\n action: this.organizationId != null ? 'Purged Organization Vault' : 'Purged Vault',\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('vaultPurged'));\n if (this.organizationId != null) {\n this.router.navigate(['organizations', this.organizationId, 'vault']);\n } else {\n this.router.navigate(['vault']);\n }\n } catch { }\n }\n}\n","
\n
\n
\n
\n

{{'purgeVault' | i18n}}

\n \n
\n
\n

{{(organizationId ? 'purgeOrgVaultDesc' : 'purgeVaultDesc') | i18n}}

\n {{'purgeVaultWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","import {\n Component,\n OnInit,\n} from '@angular/core';\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';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\nimport { TransactionType } from 'jslib/enums/transactionType';\nimport { VerifyBankRequest } from 'jslib/models/request/verifyBankRequest';\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 showAdjustPayment = false;\n showAddCredit = false;\n billing: BillingResponse;\n paymentMethodType = PaymentMethodType;\n transactionType = TransactionType;\n organizationId: string;\n verifyAmount1: number;\n verifyAmount2: number;\n\n verifyBankPromise: Promise;\n\n constructor(protected apiService: ApiService, protected i18nService: I18nService,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected platformUtilsService: PlatformUtilsService) { }\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 this.loading = true;\n if (this.organizationId != null) {\n this.billing = await this.apiService.getOrganizationBilling(this.organizationId);\n } else {\n this.billing = await this.apiService.getUserBilling();\n }\n this.loading = false;\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 addCredit() {\n if (this.paymentSourceInApp) {\n this.platformUtilsService.showDialog(this.i18nService.t('cannotPerformInAppPurchase'),\n this.i18nService.t('addCredit'), null, null, 'warning');\n return;\n }\n this.showAddCredit = true;\n }\n\n closeAddCredit(load: boolean) {\n this.showAddCredit = false;\n if (load) {\n this.load();\n }\n }\n\n changePayment() {\n if (this.paymentSourceInApp) {\n this.platformUtilsService.showDialog(this.i18nService.t('cannotPerformInAppPurchase'),\n this.i18nService.t('changePaymentMethod'), null, null, 'warning');\n return;\n }\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 isCreditBalance() {\n return this.billing == null || this.billing.balance <= 0;\n }\n\n get creditOrBalance() {\n return Math.abs(this.billing != null ? this.billing.balance : 0);\n }\n\n get paymentSource() {\n return this.billing != null ? this.billing.paymentSource : null;\n }\n\n get paymentSourceInApp() {\n return this.paymentSource != null &&\n (this.paymentSource.type === PaymentMethodType.AppleInApp ||\n this.paymentSource.type === PaymentMethodType.GoogleInApp);\n }\n\n get invoices() {\n return this.billing != null ? this.billing.invoices : null;\n }\n\n get transactions() {\n return this.billing != null ? this.billing.transactions : null;\n }\n}\n","
\n

\n {{'billing' | i18n}}\n

\n \n
\n\n \n {{'loading' | i18n}}\n\n\n

{{(isCreditBalance ? 'accountCredit' : 'accountBalance') | i18n}}

\n

{{creditOrBalance | currency:'$'}}

\n

{{'creditAppliedDesc' | i18n}}

\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 {{'inAppPurchase' | i18n}}\n {{paymentSource.description}}\n

\n
\n \n \n \n

{{'invoices' | i18n}}

\n

{{'noInvoices' | i18n}}

\n \n \n \n \n \n \n \n \n \n
{{i.date | date:'mediumDate'}}\n \n \n \n {{'invoiceNumber' | i18n : i.number}}\n {{i.amount | currency:'$'}}\n \n \n {{'paid' | i18n}}\n \n \n \n {{'unpaid' | i18n}}\n \n
\n

{{'transactions' | i18n}}

\n

{{'noTransactions' | i18n}}

\n \n \n \n \n \n \n \n \n \n
{{t.createdDate | date:'mediumDate'}}\n \n {{'chargeNoun' | i18n}}\n \n {{'refundNoun' | i18n}}\n \n \n {{t.details}}\n \n {{t.amount | currency:'$'}}
\n * {{'chargesStatement' | i18n : 'BITWARDEN'}}\n
\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\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 { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\n\nimport { BitPayInvoiceRequest } from 'jslib/models/request/bitPayInvoiceRequest';\n\nimport { WebConstants } from '../../services/webConstants';\n\n@Component({\n selector: 'app-add-credit',\n templateUrl: 'add-credit.component.html',\n})\nexport class AddCreditComponent implements OnInit {\n @Input() creditAmount: string;\n @Input() showOptions = true;\n @Input() method = PaymentMethodType.PayPal;\n @Input() organizationId: string;\n @Output() onAdded = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n @ViewChild('ppButtonForm', { read: ElementRef, static: true }) ppButtonFormRef: ElementRef;\n\n paymentMethodType = PaymentMethodType;\n ppButtonFormAction = WebConstants.paypal.buttonActionProduction;\n ppButtonBusinessId = WebConstants.paypal.businessIdProduction;\n ppButtonCustomField: string;\n ppLoading = false;\n subject: string;\n returnUrl: string;\n formPromise: Promise;\n\n private userId: string;\n private name: string;\n private email: string;\n\n constructor(private userService: UserService, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private platformUtilsService: PlatformUtilsService) {\n if (platformUtilsService.isDev()) {\n this.ppButtonFormAction = WebConstants.paypal.buttonActionSandbox;\n this.ppButtonBusinessId = WebConstants.paypal.businessIdSandbox;\n }\n }\n\n async ngOnInit() {\n if (this.organizationId != null) {\n if (this.creditAmount == null) {\n this.creditAmount = '20.00';\n }\n this.ppButtonCustomField = 'organization_id:' + this.organizationId;\n const org = await this.userService.getOrganization(this.organizationId);\n if (org != null) {\n this.subject = org.name;\n this.name = org.name;\n }\n } else {\n if (this.creditAmount == null) {\n this.creditAmount = '10.00';\n }\n this.userId = await this.userService.getUserId();\n this.subject = await this.userService.getEmail();\n this.email = this.subject;\n this.ppButtonCustomField = 'user_id:' + this.userId;\n }\n this.ppButtonCustomField += ',account_credit:1';\n this.returnUrl = window.location.href;\n }\n\n async submit() {\n if (this.creditAmount == null || this.creditAmount === '') {\n return;\n }\n\n if (this.method === PaymentMethodType.PayPal) {\n this.ppButtonFormRef.nativeElement.submit();\n this.ppLoading = true;\n return;\n }\n if (this.method === PaymentMethodType.BitPay) {\n try {\n const req = new BitPayInvoiceRequest();\n req.email = this.email;\n req.name = this.name;\n req.credit = true;\n req.amount = this.creditAmountNumber;\n req.organizationId = this.organizationId;\n req.userId = this.userId;\n req.returnUrl = this.returnUrl;\n this.formPromise = this.apiService.postBitPayInvoice(req);\n const bitPayUrl: string = await this.formPromise;\n this.platformUtilsService.launchUri(bitPayUrl);\n } catch { }\n return;\n }\n try {\n this.analytics.eventTrack.next({\n action: 'Added Credit',\n });\n this.onAdded.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n formatAmount() {\n try {\n if (this.creditAmount != null && this.creditAmount !== '') {\n const floatAmount = Math.abs(parseFloat(this.creditAmount));\n if (floatAmount > 0) {\n this.creditAmount = parseFloat((Math.round(floatAmount * 100) / 100).toString())\n .toFixed(2).toString();\n return;\n }\n }\n } catch { }\n this.creditAmount = '';\n }\n\n get creditAmountNumber(): number {\n if (this.creditAmount != null && this.creditAmount !== '') {\n try {\n return parseFloat(this.creditAmount);\n } catch { }\n }\n return null;\n }\n}\n","
\n
\n \n

{{'addCredit' | i18n}}

\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n \n
\n
$USD
\n \n
\n
\n
\n {{'creditDelayed' | i18n}}\n
\n \n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \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';\nimport { TaxInfoComponent } from './tax-info.component';\n\n@Component({\n selector: 'app-adjust-payment',\n templateUrl: 'adjust-payment.component.html',\n})\nexport class AdjustPaymentComponent {\n @ViewChild(PaymentComponent, { static: true }) paymentComponent: PaymentComponent;\n @ViewChild(TaxInfoComponent, { static: true }) taxInfoComponent: TaxInfoComponent;\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((result) => {\n request.paymentToken = result[0];\n request.paymentMethodType = result[1];\n request.postalCode = this.taxInfoComponent.taxInfo.postalCode;\n request.country = this.taxInfoComponent.taxInfo.country;\n if (this.organizationId == null) {\n return this.apiService.postAccountPayment(request);\n } else {\n request.taxId = this.taxInfoComponent.taxInfo.taxId;\n request.state = this.taxInfoComponent.taxInfo.state;\n request.line1 = this.taxInfoComponent.taxInfo.line1;\n request.line2 = this.taxInfoComponent.taxInfo.line2;\n request.city = this.taxInfoComponent.taxInfo.city;\n request.state = this.taxInfoComponent.taxInfo.state;\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 changeCountry() {\n if (this.taxInfoComponent.taxInfo.country === 'US') {\n this.paymentComponent.hideBank = !this.organizationId;\n } else {\n this.paymentComponent.hideBank = true;\n if (this.paymentComponent.method === PaymentMethodType.BankAccount) {\n this.paymentComponent.method = PaymentMethodType.Card;\n this.paymentComponent.changeMethod();\n }\n }\n }\n}\n","
\n
\n \n

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

\n \n \n \n \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 let updatePromise: Promise = null;\n if (this.organizationId == null) {\n updatePromise = this.apiService.postAccountLicense(fd);\n } else {\n updatePromise = this.apiService.postOrganizationLicenseUpdate(this.organizationId, fd);\n }\n\n this.formPromise = updatePromise.then(() => {\n return this.apiService.refreshIdentityToken();\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","
\n
\n \n \n {{'licenseFileDesc' | i18n : (!organizationId ? 'bitwarden_premium_license.json' : 'bitwarden_organization_license.json')}}\n
\n \n \n
\n","export enum ProductType {\n Free = 0,\n Families = 1,\n Teams = 2,\n Enterprise = 3,\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\n\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 { StorageRequest } from 'jslib/models/request/storageRequest';\n\nimport { PaymentResponse } from 'jslib/models/response/paymentResponse';\n\nimport { PaymentComponent } from './payment.component';\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 @ViewChild(PaymentComponent, { static: true }) paymentComponent: PaymentComponent;\n\n storageAdjustment = 0;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private router: Router, private activatedRoute: ActivatedRoute) { }\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 let paymentFailed = false;\n const action = async () => {\n let response: Promise;\n if (this.organizationId == null) {\n response = this.formPromise = this.apiService.postAccountStorage(request);\n } else {\n response = this.formPromise = this.apiService.postOrganizationStorage(this.organizationId, request);\n }\n const result = await response;\n if (result != null && result.paymentIntentClientSecret != null) {\n try {\n await this.paymentComponent.handleStripeCardPayment(result.paymentIntentClientSecret, null);\n } catch {\n paymentFailed = true;\n }\n }\n };\n this.formPromise = action();\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.add ? 'Added Storage' : 'Removed Storage' });\n this.onAdjusted.emit(this.storageAdjustment);\n if (paymentFailed) {\n this.toasterService.popAsync({\n body: this.i18nService.t('couldNotChargeCardPayInvoice'),\n type: 'warning',\n timeout: 10000,\n });\n this.router.navigate(['../billing'], { relativeTo: this.activatedRoute });\n } else {\n this.toasterService.popAsync('success', null,\n this.i18nService.t('adjustedStorage', request.storageGbAdjustment.toString()));\n }\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","
\n
\n \n

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

\n
\n
\n \n \n
\n
\n
\n {{'total' | i18n}}: {{storageAdjustment || 0}} GB × {{storageGbPrice | currency:'$'}}\n = {{adjustedStorageTotal\n | currency:'$'}} /{{interval | i18n}}\n
\n \n \n \n {{(add ? 'storageAddNote' : 'storageRemoveNote') | i18n}}\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","
\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","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 { PolicyService } from 'jslib/abstractions/policy.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { TwoFactorProviders } from 'jslib/services/auth.service';\n\nimport { PolicyType } from 'jslib/enums/policyType';\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, static: true }) recoveryModalRef: ViewContainerRef;\n @ViewChild('authenticatorTemplate', { read: ViewContainerRef, static: true }) authenticatorModalRef: ViewContainerRef;\n @ViewChild('yubikeyTemplate', { read: ViewContainerRef, static: true }) yubikeyModalRef: ViewContainerRef;\n @ViewChild('u2fTemplate', { read: ViewContainerRef, static: true }) u2fModalRef: ViewContainerRef;\n @ViewChild('duoTemplate', { read: ViewContainerRef, static: true }) duoModalRef: ViewContainerRef;\n @ViewChild('emailTemplate', { read: ViewContainerRef, static: true }) emailModalRef: ViewContainerRef;\n\n organizationId: string;\n providers: any[] = [];\n canAccessPremium: boolean;\n showPolicyWarning = false;\n loading = true;\n\n private modal: ModalComponent = null;\n\n constructor(protected apiService: ApiService, protected userService: UserService,\n protected componentFactoryResolver: ComponentFactoryResolver, protected messagingService: MessagingService,\n protected policyService: PolicyService) { }\n\n async ngOnInit() {\n this.canAccessPremium = await this.userService.canAccessPremium();\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.evaluatePolicies();\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 if (!this.canAccessPremium) {\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 this.evaluatePolicies();\n }\n\n private async evaluatePolicies() {\n if (this.organizationId == null && this.providers.filter((p) => p.enabled).length === 1) {\n const policies = await this.policyService.getAll(PolicyType.TwoFactorAuthentication);\n this.showPolicyWarning = policies != null && policies.some((p) => p.enabled);\n } else {\n this.showPolicyWarning = false;\n }\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 {{'loading' | i18n}}\n \n

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

    \n {{p.name}}\n \n \n {{'enabled' | i18n}}\n \n \n {{'premium' | i18n}}\n \n

    \n {{p.description}}\n
    \n
    \n \n
    \n
  • \n
\n\n\n\n\n\n\n\n","import { Component } from '@angular/core';\n\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { EventService } from 'jslib/abstractions/event.service';\nimport { ExportService } from 'jslib/abstractions/export.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { ExportComponent as BaseExportComponent } from 'jslib/angular/components/export.component';\n\n@Component({\n selector: 'app-export',\n templateUrl: 'export.component.html',\n})\nexport class ExportComponent extends BaseExportComponent {\n organizationId: string;\n\n constructor(cryptoService: CryptoService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService, exportService: ExportService,\n eventService: EventService) {\n super(cryptoService, i18nService, platformUtilsService, exportService, eventService, window);\n }\n\n protected saved() {\n super.saved();\n this.masterPassword = null;\n this.platformUtilsService.showToast('success', null, this.i18nService.t('exportSuccess'));\n }\n}\n","
\n
\n

{{'exportVault' | i18n}}

\n
\n

{{'exportMasterPassword' | i18n}}

\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n} from '@angular/core';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherReportComponent } from './cipher-report.component';\n\n@Component({\n selector: 'app-exposed-passwords-report',\n templateUrl: 'exposed-passwords-report.component.html',\n})\nexport class ExposedPasswordsReportComponent extends CipherReportComponent implements OnInit {\n exposedPasswordMap = new Map();\n\n constructor(protected cipherService: CipherService, protected auditService: AuditService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n userService: UserService) {\n super(componentFactoryResolver, userService, messagingService, true);\n }\n\n ngOnInit() {\n this.checkAccess();\n }\n\n async load() {\n if (await this.checkAccess()) {\n super.load();\n }\n }\n\n async setCiphers() {\n const allCiphers = await this.getAllCiphers();\n const exposedPasswordCiphers: CipherView[] = [];\n const promises: Promise[] = [];\n allCiphers.forEach((c) => {\n if (c.type !== CipherType.Login || c.login.password == null || c.login.password === '' || c.isDeleted) {\n return;\n }\n const promise = this.auditService.passwordLeaked(c.login.password).then((exposedCount) => {\n if (exposedCount > 0) {\n exposedPasswordCiphers.push(c);\n this.exposedPasswordMap.set(c.id, exposedCount);\n }\n });\n promises.push(promise);\n });\n await Promise.all(promises);\n this.ciphers = exposedPasswordCiphers;\n }\n\n protected getAllCiphers(): Promise {\n return this.cipherService.getAllDecrypted();\n }\n\n protected canManageCipher(c: CipherView): boolean {\n // this will only ever be false from the org view;\n return true;\n }\n}\n","
\n

{{'exposedPasswordsReport' | i18n}}

\n
\n

{{'exposedPasswordsReportDesc' | i18n}}

\n\n
\n \n {{'noExposedPasswords' | i18n}}\n \n \n \n {{'exposedPasswordsFoundDesc' | i18n : (ciphers.length | number)}}\n \n \n \n \n \n \n \n \n \n
\n \n \n \n {{c.name}}\n \n \n {{c.name}}\n \n \n \n {{'shared' | i18n}}\n \n \n \n {{'attachments' | i18n}}\n \n
\n {{c.subTitle}}\n
\n \n {{'exposedXTimes' | i18n : (exposedPasswordMap.get(c.id) | number)}}\n \n
\n
\n
\n\n","import { Component } from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { EventService } from 'jslib/abstractions/event.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 { PolicyService } from 'jslib/abstractions/policy.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherCreateRequest } from 'jslib/models/request/cipherCreateRequest';\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 {\n organization: Organization;\n originalCipher: Cipher = null;\n\n constructor(cipherService: CipherService, folderService: FolderService,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\n auditService: AuditService, stateService: StateService,\n userService: UserService, collectionService: CollectionService,\n totpService: TotpService, passwordGenerationService: PasswordGenerationService,\n private apiService: ApiService, messagingService: MessagingService,\n eventService: EventService, policyService: PolicyService) {\n super(cipherService, folderService, i18nService, platformUtilsService, auditService, stateService,\n userService, collectionService, totpService, passwordGenerationService, messagingService,\n eventService, policyService);\n }\n\n protected allowOwnershipAssignment() {\n if (this.ownershipOptions != null && (this.ownershipOptions.length > 1 || !this.allowPersonal)) {\n if (this.organization != null) {\n return this.cloneMode && this.organization.canManageAllCollections;\n } else {\n return !this.editMode || this.cloneMode;\n }\n }\n return false;\n }\n\n protected loadCollections() {\n if (!this.organization.canManageAllCollections) {\n return super.loadCollections();\n }\n return Promise.resolve(this.collections);\n }\n\n protected async loadCipher() {\n if (!this.organization.canManageAllCollections) {\n return await super.loadCipher();\n }\n const response = await this.apiService.getCipherAdmin(this.cipherId);\n const data = new CipherData(response);\n this.originalCipher = new Cipher(data);\n return new Cipher(data);\n }\n\n protected encryptCipher() {\n if (!this.organization.canManageAllCollections) {\n return super.encryptCipher();\n }\n return this.cipherService.encrypt(this.cipher, null, this.originalCipher);\n }\n\n protected async saveCipher(cipher: Cipher) {\n if (!this.organization.canManageAllCollections || cipher.organizationId == null) {\n return super.saveCipher(cipher);\n }\n if (this.editMode && !this.cloneMode) {\n const request = new CipherRequest(cipher);\n return this.apiService.putCipherAdmin(this.cipherId, request);\n } else {\n const request = new CipherCreateRequest(cipher);\n return this.apiService.postCipherAdmin(request);\n }\n }\n\n protected async deleteCipher() {\n if (!this.organization.canManageAllCollections) {\n return super.deleteCipher();\n }\n return this.cipher.isDeleted ? this.apiService.deleteCipherAdmin(this.cipherId)\n : this.apiService.putDeleteCipherAdmin(this.cipherId);\n }\n}\n","import { AttachmentResponse } from '../response/attachmentResponse';\n\nexport class AttachmentData {\n id: string;\n url: string;\n fileName: string;\n key: string;\n size: string;\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.key = response.key;\n this.size = response.size;\n this.sizeName = response.sizeName;\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 { 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 { 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 { LoginApi } from '../api/loginApi';\n\nimport { LoginUriData } from './loginUriData';\n\nexport class LoginData {\n uris: LoginUriData[];\n username: string;\n password: string;\n passwordRevisionDate: 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.passwordRevisionDate = data.passwordRevisionDate;\n this.totp = data.totp;\n\n if (data.uris) {\n this.uris = data.uris.map((u) => new LoginUriData(u));\n }\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 { 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 { AttachmentData } from '../data/attachmentData';\n\nimport { AttachmentView } from '../view/attachmentView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nimport { CryptoService } from '../../abstractions/crypto.service';\n\nimport { Utils } from '../../misc/utils';\n\nexport class Attachment extends Domain {\n id: string;\n url: string;\n size: string;\n sizeName: string;\n key: CipherString;\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 key: null,\n }, alreadyEncrypted, ['id', 'url', 'sizeName']);\n }\n\n async decrypt(orgId: string, encKey?: SymmetricCryptoKey): Promise {\n const view = await this.decryptObj(new AttachmentView(this), {\n fileName: null,\n }, orgId, encKey);\n\n if (this.key != null) {\n let cryptoService: CryptoService;\n const containerService = (Utils.global as any).bitwardenContainerService;\n if (containerService) {\n cryptoService = containerService.getCryptoService();\n } else {\n throw new Error('global bitwardenContainerService not initialized.');\n }\n\n try {\n const orgKey = await cryptoService.getOrgKey(orgId);\n const decValue = await cryptoService.decryptToBytes(this.key, orgKey ?? encKey);\n view.key = new SymmetricCryptoKey(decValue);\n } catch (e) {\n // TODO: error?\n }\n }\n\n return view;\n }\n\n toAttachmentData(): AttachmentData {\n const a = new AttachmentData();\n a.size = this.size;\n this.buildDataModel(this, a, {\n id: null,\n url: null,\n sizeName: null,\n fileName: null,\n key: null,\n }, ['id', 'url', 'sizeName']);\n return a;\n }\n}\n","import { View } from './view';\n\nimport { Password } from '../domain/password';\n\nexport class PasswordHistoryView implements View {\n password: string = null;\n lastUsedDate: Date = null;\n\n constructor(ph?: Password) {\n if (!ph) {\n return;\n }\n\n this.lastUsedDate = ph.lastUsedDate;\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 { I18nService } from 'jslib/abstractions/i18n.service';\nimport { ImportOption, ImportService } from 'jslib/abstractions/import.service';\n\n@Component({\n selector: 'app-import',\n templateUrl: 'import.component.html',\n})\nexport class ImportComponent implements OnInit {\n featuredImportOptions: ImportOption[];\n importOptions: ImportOption[];\n format: string = null;\n fileContents: string;\n formPromise: Promise;\n\n protected organizationId: string = null;\n protected successNavigate: any[] = ['vault'];\n\n constructor(protected i18nService: I18nService, protected analytics: Angulartics2,\n protected toasterService: ToasterService, protected importService: ImportService,\n protected router: Router) { }\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.importService.getImporter(this.format, this.organizationId);\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 try {\n this.formPromise = this.importService.import(importer, fileContents, this.organizationId);\n const error = await this.formPromise;\n if (error != null) {\n this.error(error);\n return;\n }\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 }\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 setImportOptions() {\n this.featuredImportOptions = [{\n id: null,\n name: '-- ' + this.i18nService.t('select') + ' --',\n }, ...this.importService.featuredImportOptions];\n this.importOptions = this.importService.regularImportOptions;\n }\n\n private error(error: Error) {\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'), error.message);\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 as any).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 as any).result);\n };\n reader.onerror = () => {\n reject();\n };\n });\n }\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 \n https://help.bitwarden.com/article/export-your-data/\n \n \n See detailed instructions on our help site at\n \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\n 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\n \"Export CSV\"\n for your \"Accounts\".\n \n \n Using the SaveInCloud desktop application, navigate to \"File\" → \"Export\" → \"As XML\" and save the\n XML file.\n \n \n Using the Padlock desktop application, click the hamburger icon in the top left corner and navigate to\n \"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\n (2.x)\" option.\n \n \n Using the Universal Password Manager desktop application, navigate to \"Database\" → \"Export\" and save\n the CSV file.\n \n \n Using the SaferPass browser extension, click the hamburger icon in the top left corner and navigate to\n \"Settings\". Click 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\n data\" to save the CSV file.\n \n \n Log into the Keeper web vault (keepersecurity.com/vault). Navigate to \"Backup\" (top right) and find the\n \"Export to .csv File\" 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 \n https://help.bitwarden.com/article/import-from-chrome/\n \n \n See detailed instructions on our help site at\n \n https://bitwarden.com/help/article/import-from-firefox/.\n \n \n See detailed instructions on our help site at\n \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\n dialog that pops 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\n warning alert and save the CSV file. Note that the importer only supports files exported while Enpass is set\n to the English language, so adjust your settings accordingly.\n \n \n Using the Enpass 6 desktop application, click the menu button and navigate to \"File\" → \"Export\".\n Select the \".json\" file format option and save the JSON file.\n \n \n Using the Password Safe desktop application, navigate to \"File\" → \"Export To\" → \"XML format...\"\n and save the XML file.\n \n \n Using the Dashlane desktop application, navigate to \"File\" → \"Export\" → \"Unsecured archive\n (readable) in JSON format\" and save the JSON file.\n \n \n Using the mSecure desktop application, navigate to \"File\" → \"Export\" → \"CSV File...\" and save the\n CSV file.\n \n \n Using the Sticky Password desktop application, navigate to \"Menu\" (top right) → \"Export\" → \"Export\n all\". Select 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\".\n Click the \"Export\" 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\n expand the navigation bar. Navigate to \"Data\" → \"Export\". Click the \"download HTML+JSON\" button to save\n the HTML file.\n \n \n Using the RoboForm Editor desktop application, navigate to \"RoboForm\" (top left) → \"Options\" →\n \"Account & Data\" and click the \"Export\" button. Select all of your data, change the \"Format\" to \"CSV\n file\" and then click the \"Export\" button to save the CSV file. Note: RoboForm only allows you to export\n Logins. Other items will not be exported.\n \n \n Log into the Passbolt web vault and navigate to the \"Passwords\" listing. Select all of the passwords you\n would like to export and click the \"Export\" button at the top of the listing. Choose the \"csv (lastpass)\"\n export format and click the \"Export\" button.\n \n \n Using the Ascendo DataVault desktop application, navigate to \"Tools\" → \"Export\". In the dialog that\n pops up, select 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\n JSON - not encrypted\" and save the JSON file.\n \n \n Log into the Zoho web vault (vault.zoho.com). Navigate to \"Tools\" → \"Export Secrets\". Select \"All\n Secrets\" and click the \"Zoho Vault Format CSV\" button. Highlight and copy the data from the textarea. Open a\n text editor like Notepad 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.\n Navigate to \"Export\" → \"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\n click \"Backup to 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\n script to your desktop as 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\n export\" button and check all of the fields, change the \"Output format\" to \"CSV\", and then click the \"Start\"\n button to save the CSV file.\n \n \n Log into the Passpack website vault and navigate to \"Settings\" → \"Export\", then click the \"Download\"\n button to save the CSV file.\n \n \n Open your Passman vault and click on \"Settings\" in the bottom left corner. In the \"Settings\" window switch\n to the \"Export credentials\" tab and choose \"JSON\" as the export type. Enter your vault's passphrase and\n click the \"Export\" button to save the JSON file.\n \n \n Open the Avast Passwords desktop application and navigate to \"Settings\" → \"Import/export data\". Select\n the \"Export\" button for the \"Export to CSV file\" option to save the CSV file.\n \n \n Open the Avast Passwords desktop application and navigate to \"Settings\" → \"Import/export data\". Select\n the \"Export\" button for the \"Export to JSON file\" option to save the JSON file.\n \n \n Open the F-Secure KEY desktop application and navigate to \"Settings\" → \"Export Passwords\". Select the\n \"Export\" button, enter your master password, and save the FSK file.\n \n \n Open the Kaspersky Password Manager desktop application and navigate to \"Settings\" → \"Import/Export\".\n Locate the \"Export to text file\" section and select the \"Export\" button to save the TXT file.\n \n \n Open the RememBear desktop application and navigate to \"Settings\" → \"Account\" → \"Export\".\n Enter your master password and select the \"Export Anyway\" button to save the CSV file.\n \n \n Open the PasswordWallet desktop application and navigate to \"File\" → \"Export\" →\n \"Visible entries to text file\". Enter your password and select the \"Ok\" button to save the TXT file.\n \n \n Open the Myki desktop browser extension and navigate to \"Advanced\" → \"Export Accounts\" and then scan\n the QR code with your mobile device. Various CSV files will then be saved to your computer's\n downloads folder.\n \n \n Export your SecureSafe password safe to a CSV file with a comma delimiter.\n \n \n Open the LogMeOnce browser extension, then navigate to \"Open Menu\" → \"Export To\" and\n select \"CSV File\" to save the CSV file.\n \n \n Open the BlackBerry Password Keeper application, then navigate to \"Settings\" → \"Import/Export\".\n Select \"Export Passwords\" and follow the instructions on screen to save the unencrypted CSV file.\n \n \n Open the Buttercup desktop application and unlock your vault. Right click on your vault's icon and\n select \"Export\" to save the CSV file.\n \n \n Open the Codebook desktop application and log in. Navigate to \"File\" → \"Export all\", then click\n \"Yes\" on the dialog and save the CSV file.\n \n \n Open the newest version of the Encryptr desktop application and allow all of your data to sync.\n Once syncing of your data is complete, the download icon in the top right corner will turn pink. Click\n the download icon and save the CSV file.\n \n \n From the Yoti browser extension, click on \"Settings\", then \"Export Saved Logins\" and save the CSV file.\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { Utils } from 'jslib/misc/utils';\n\nimport { CipherReportComponent } from './cipher-report.component';\n\n@Component({\n selector: 'app-inactive-two-factor-report',\n templateUrl: 'inactive-two-factor-report.component.html',\n})\nexport class InactiveTwoFactorReportComponent extends CipherReportComponent implements OnInit {\n services = new Map();\n cipherDocs = new Map();\n\n constructor(protected cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService) {\n super(componentFactoryResolver, userService, messagingService, true);\n }\n\n async ngOnInit() {\n if (await this.checkAccess()) {\n await super.load();\n }\n }\n\n async setCiphers() {\n try {\n await this.load2fa();\n } catch { }\n if (this.services.size > 0) {\n const allCiphers = await this.getAllCiphers();\n const inactive2faCiphers: CipherView[] = [];\n const promises: Promise[] = [];\n const docs = new Map();\n allCiphers.forEach((c) => {\n if (c.type !== CipherType.Login || (c.login.totp != null && c.login.totp !== '') || !c.login.hasUris ||\n c.isDeleted) {\n return;\n }\n for (let i = 0; i < c.login.uris.length; i++) {\n const u = c.login.uris[i];\n if (u.uri != null && u.uri !== '') {\n const hostname = Utils.getHostname(u.uri);\n if (hostname != null && this.services.has(hostname)) {\n if (this.services.get(hostname) != null) {\n docs.set(c.id, this.services.get(hostname));\n }\n inactive2faCiphers.push(c);\n break;\n }\n }\n }\n });\n await Promise.all(promises);\n this.ciphers = inactive2faCiphers;\n this.cipherDocs = docs;\n }\n }\n\n protected getAllCiphers(): Promise {\n return this.cipherService.getAllDecrypted();\n }\n\n private async load2fa() {\n if (this.services.size > 0) {\n return;\n }\n const response = await fetch(new Request('https://2fa.directory/api/v1/data.json'));\n if (response.status !== 200) {\n throw new Error();\n }\n const responseJson = await response.json();\n for (const categoryName in responseJson) {\n if (responseJson.hasOwnProperty(categoryName)) {\n const category = responseJson[categoryName];\n for (const serviceName in category) {\n if (category.hasOwnProperty(serviceName)) {\n const service = category[serviceName];\n if (service.tfa && service.software && service.url != null) {\n const hostname = Utils.getHostname(service.url);\n if (hostname != null) {\n this.services.set(hostname, service.doc);\n }\n }\n }\n }\n }\n }\n }\n}\n","
\n

\n {{'inactive2faReport' | i18n}}\n \n \n {{'loading' | i18n}}\n \n

\n
\n

{{'inactive2faReportDesc' | i18n}}

\n
\n \n {{'loading' | i18n}}\n
\n
\n \n {{'noInactive2fa' | i18n}}\n \n \n \n {{'inactive2faFoundDesc' | i18n : (ciphers.length | number)}}\n \n \n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n \n \n {{'shared' | i18n}}\n \n \n \n {{'attachments' | i18n}}\n \n
\n {{c.subTitle}}\n
\n \n {{'instructions' | i18n}}\n
\n
\n
\n\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherReportComponent } from './cipher-report.component';\n\n@Component({\n selector: 'app-reused-passwords-report',\n templateUrl: 'reused-passwords-report.component.html',\n})\nexport class ReusedPasswordsReportComponent extends CipherReportComponent implements OnInit {\n passwordUseMap: Map;\n\n constructor(protected cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService) {\n super(componentFactoryResolver, userService, messagingService, true);\n }\n\n async ngOnInit() {\n if (await this.checkAccess()) {\n await super.load();\n }\n }\n\n async setCiphers() {\n const allCiphers = await this.getAllCiphers();\n const ciphersWithPasswords: CipherView[] = [];\n this.passwordUseMap = new Map();\n allCiphers.forEach((c) => {\n if (c.type !== CipherType.Login || c.login.password == null || c.login.password === '' || c.isDeleted) {\n return;\n }\n ciphersWithPasswords.push(c);\n if (this.passwordUseMap.has(c.login.password)) {\n this.passwordUseMap.set(c.login.password, this.passwordUseMap.get(c.login.password) + 1);\n } else {\n this.passwordUseMap.set(c.login.password, 1);\n }\n });\n const reusedPasswordCiphers = ciphersWithPasswords.filter((c) =>\n this.passwordUseMap.has(c.login.password) && this.passwordUseMap.get(c.login.password) > 1);\n this.ciphers = reusedPasswordCiphers;\n }\n\n protected getAllCiphers(): Promise {\n return this.cipherService.getAllDecrypted();\n }\n\n protected canManageCipher(c: CipherView): boolean {\n // this will only ever be false from an organization view\n return true;\n }\n}\n","
\n

\n {{'reusedPasswordsReport' | i18n}}\n \n \n {{'loading' | i18n}}\n \n

\n
\n

{{'reusedPasswordsReportDesc' | i18n}}

\n
\n \n {{'loading' | i18n}}\n
\n
\n \n {{'noReusedPasswords' | i18n}}\n \n \n \n {{'reusedPasswordsFoundDesc' | i18n : (ciphers.length | number)}}\n \n \n \n \n \n \n \n \n \n
\n \n \n \n {{c.name}}\n \n \n {{c.name}}\n \n \n \n {{'shared' | i18n}}\n \n \n \n {{'attachments' | i18n}}\n \n
\n {{c.subTitle}}\n
\n \n {{'reusedXTimes' | i18n : passwordUseMap.get(c.login.password)}}\n \n
\n
\n
\n\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherReportComponent } from './cipher-report.component';\n\n@Component({\n selector: 'app-unsecured-websites-report',\n templateUrl: 'unsecured-websites-report.component.html',\n})\nexport class UnsecuredWebsitesReportComponent extends CipherReportComponent implements OnInit {\n constructor(protected cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService) {\n super(componentFactoryResolver, userService, messagingService, true);\n }\n\n async ngOnInit() {\n if (await this.checkAccess()) {\n await super.load();\n }\n }\n\n async setCiphers() {\n const allCiphers = await this.getAllCiphers();\n const unsecuredCiphers = allCiphers.filter((c) => {\n if (c.type !== CipherType.Login || !c.login.hasUris || c.isDeleted) {\n return false;\n }\n return c.login.uris.some((u) => u.uri != null && u.uri.indexOf('http://') === 0);\n });\n this.ciphers = unsecuredCiphers;\n }\n\n protected getAllCiphers(): Promise {\n return this.cipherService.getAllDecrypted();\n }\n}\n","
\n

\n {{'unsecuredWebsitesReport' | i18n}}\n \n \n {{'loading' | i18n}}\n \n

\n
\n

{{'unsecuredWebsitesReportDesc' | i18n}}

\n
\n \n {{'loading' | i18n}}\n
\n
\n \n {{'noUnsecuredWebsites' | i18n}}\n \n \n \n {{'unsecuredWebsitesFoundDesc' | i18n : (ciphers.length | number)}}\n \n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n \n \n {{'shared' | i18n}}\n \n \n \n {{'attachments' | i18n}}\n \n
\n {{c.subTitle}}\n
\n
\n
\n\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherReportComponent } from './cipher-report.component';\n\n@Component({\n selector: 'app-weak-passwords-report',\n templateUrl: 'weak-passwords-report.component.html',\n})\nexport class WeakPasswordsReportComponent extends CipherReportComponent implements OnInit {\n passwordStrengthMap = new Map();\n\n private passwordStrengthCache = new Map();\n\n constructor(protected cipherService: CipherService, protected passwordGenerationService: PasswordGenerationService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n userService: UserService) {\n super(componentFactoryResolver, userService, messagingService, true);\n }\n\n async ngOnInit() {\n if (await this.checkAccess()) {\n await super.load();\n }\n }\n\n async setCiphers() {\n const allCiphers = await this.getAllCiphers();\n const weakPasswordCiphers: CipherView[] = [];\n allCiphers.forEach((c) => {\n if (c.type !== CipherType.Login || c.login.password == null || c.login.password === '' || c.isDeleted) {\n return;\n }\n const hasUsername = c.login.username != null && c.login.username.trim() !== '';\n const cacheKey = c.login.password + '_____' + (hasUsername ? c.login.username : '');\n if (!this.passwordStrengthCache.has(cacheKey)) {\n let userInput: string[] = [];\n if (hasUsername) {\n const atPosition = c.login.username.indexOf('@');\n if (atPosition > -1) {\n userInput = userInput.concat(\n c.login.username.substr(0, atPosition).trim().toLowerCase().split(/[^A-Za-z0-9]/))\n .filter((i) => i.length >= 3);\n } else {\n userInput = c.login.username.trim().toLowerCase().split(/[^A-Za-z0-9]/)\n .filter((i) => i.length >= 3);\n }\n }\n const result = this.passwordGenerationService.passwordStrength(c.login.password,\n userInput.length > 0 ? userInput : null);\n this.passwordStrengthCache.set(cacheKey, result.score);\n }\n const score = this.passwordStrengthCache.get(cacheKey);\n if (score != null && score <= 2) {\n this.passwordStrengthMap.set(c.id, this.scoreKey(score));\n weakPasswordCiphers.push(c);\n }\n });\n this.ciphers = weakPasswordCiphers;\n }\n\n protected getAllCiphers(): Promise {\n return this.cipherService.getAllDecrypted();\n }\n\n protected canManageCipher(c: CipherView): boolean {\n // this will only ever be false from the org view;\n return true;\n }\n\n private scoreKey(score: number): [string, string] {\n switch (score) {\n case 4:\n return ['strong', 'success'];\n case 3:\n return ['good', 'primary'];\n case 2:\n return ['weak', 'warning'];\n default:\n return ['veryWeak', 'danger'];\n }\n }\n}\n","
\n

\n {{'weakPasswordsReport' | i18n}}\n \n \n {{'loading' | i18n}}\n \n

\n
\n

{{'weakPasswordsReportDesc' | i18n}}

\n
\n \n {{'loading' | i18n}}\n
\n
\n \n {{'noWeakPasswords' | i18n}}\n \n \n \n {{'weakPasswordsFoundDesc' | i18n : (ciphers.length | number)}}\n \n \n \n \n \n \n \n \n \n
\n \n \n \n {{c.name}}\n \n \n {{c.name}}\n \n \n \n {{'shared' | i18n}}\n \n \n \n {{'attachments' | i18n}}\n \n
\n {{c.subTitle}}\n
\n \n {{passwordStrengthMap.get(c.id)[0] | i18n}}\n \n
\n
\n
\n\n","import { Component } from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.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 { AttachmentView } from 'jslib/models/view/attachmentView';\n\nimport { AttachmentsComponent as BaseAttachmentsComponent } from 'jslib/angular/components/attachments.component';\n\n@Component({\n selector: 'app-vault-attachments',\n templateUrl: 'attachments.component.html',\n})\nexport class AttachmentsComponent extends BaseAttachmentsComponent {\n constructor(cipherService: CipherService, i18nService: I18nService,\n cryptoService: CryptoService, userService: UserService,\n platformUtilsService: PlatformUtilsService) {\n super(cipherService, i18nService, cryptoService, userService, platformUtilsService, window);\n }\n\n protected async reupload(attachment: AttachmentView) {\n if (this.showFixOldAttachments(attachment)) {\n await this.reuploadCipherAttachment(attachment, false);\n }\n }\n\n protected showFixOldAttachments(attachment: AttachmentView) {\n return attachment.key == null && this.cipher.organizationId == null;\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
\n {{a.fileName}}\n
\n \n \n {{'attachmentFixDesc' | i18n}}\n \n
\n
\n {{a.sizeName}}\n
\n \n
\n

{{'newAttachment' | i18n}}

\n \n \n {{'maxFileSize' | i18n}}\n
\n
\n \n \n
\n
\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 { EventService } from 'jslib/abstractions/event.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SearchService } from 'jslib/abstractions/search.service';\nimport { TotpService } from 'jslib/abstractions/totp.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 { 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 protected allCiphers: CipherView[] = [];\n\n constructor(searchService: SearchService, analytics: Angulartics2,\n toasterService: ToasterService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService, cipherService: CipherService,\n private apiService: ApiService, eventService: EventService, totpService: TotpService, userService: UserService) {\n super(searchService, analytics, toasterService, i18nService, platformUtilsService,\n cipherService, eventService, totpService, userService);\n }\n\n async load(filter: (cipher: CipherView) => boolean = null) {\n if (!this.organization.canManageAllCollections) {\n await super.load(filter, this.deleted);\n return;\n }\n this.accessEvents = this.organization.useEvents;\n this.allCiphers = await this.cipherService.getAllFromApiForOrganization(this.organization.id);\n this.applyFilter(filter);\n this.loaded = true;\n }\n\n async applyFilter(filter: (cipher: CipherView) => boolean = null) {\n if (this.organization.canManageAllCollections) {\n await super.applyFilter(filter);\n } else {\n const f = (c: CipherView) => c.organizationId === this.organization.id && (filter == null || filter(c));\n await super.applyFilter(f);\n }\n }\n\n async search(timeout: number = null) {\n if (!this.organization.canManageAllCollections) {\n return super.search(timeout);\n }\n this.searchPending = false;\n let filteredCiphers = this.allCiphers;\n\n if (this.searchText == null || this.searchText.trim().length < 2) {\n this.ciphers = filteredCiphers.filter((c) => {\n if (c.isDeleted !== this.deleted) {\n return false;\n }\n return this.filter == null || this.filter(c);\n });\n } else {\n if (this.filter != null) {\n filteredCiphers = filteredCiphers.filter(this.filter);\n }\n this.ciphers = this.searchService.searchCiphersBasic(filteredCiphers, this.searchText, this.deleted);\n }\n await this.resetPaging();\n }\n\n events(c: CipherView) {\n this.onEventsClicked.emit(c);\n }\n\n protected deleteCipher(id: string) {\n if (!this.organization.canManageAllCollections) {\n return super.deleteCipher(id, this.deleted);\n }\n return this.deleted ? this.apiService.deleteCipherAdmin(id) : this.apiService.putDeleteCipherAdmin(id);\n }\n\n protected showFixOldAttachments(c: CipherView) {\n return this.organization.canManageAllCollections && c.hasOldAttachments;\n }\n}\n","import {\n Component,\n OnDestroy,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { CollectionsComponent as BaseCollectionsComponent } from 'jslib/angular/components/collections.component';\n\n@Component({\n selector: 'app-vault-collections',\n templateUrl: 'collections.component.html',\n})\nexport class CollectionsComponent extends BaseCollectionsComponent implements OnDestroy {\n constructor(collectionService: CollectionService, platformUtilsService: PlatformUtilsService,\n i18nService: I18nService, cipherService: CipherService) {\n super(collectionService, platformUtilsService, i18nService, cipherService);\n }\n\n ngOnDestroy() {\n this.selectAll(false);\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 this.collections.forEach((c) => this.check(c, select));\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","import { Component } from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CollectionData } from 'jslib/models/data/collectionData';\nimport { Collection } from 'jslib/models/domain/collection';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { GroupingsComponent as BaseGroupingsComponent } from '../../vault/groupings.component';\n\n@Component({\n selector: 'app-org-vault-groupings',\n templateUrl: '../../vault/groupings.component.html',\n})\nexport class GroupingsComponent extends BaseGroupingsComponent {\n organization: Organization;\n\n constructor(collectionService: CollectionService, folderService: FolderService,\n storageService: StorageService, userService: UserService,\n private apiService: ApiService, private i18nService: I18nService) {\n super(collectionService, folderService, storageService, userService);\n }\n\n async loadCollections() {\n if (!this.organization.canManageAllCollections) {\n await super.loadCollections(this.organization.id);\n return;\n }\n\n const collections = await this.apiService.getCollections(this.organization.id);\n if (collections != null && collections.data != null && collections.data.length) {\n const collectionDomains = collections.data.map((r) =>\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\n this.collections = await this.collectionService.decryptMany(collectionDomains);\n } else {\n this.collections = [];\n }\n\n const unassignedCollection = new CollectionView();\n unassignedCollection.name = this.i18nService.t('unassigned');\n unassignedCollection.id = 'unassigned';\n unassignedCollection.organizationId = this.organization.id;\n unassignedCollection.readOnly = true;\n this.collections.push(unassignedCollection);\n this.nestedCollections = await this.collectionService.getAllNested(this.collections);\n }\n\n collapse(grouping: CollectionView) {\n super.collapse(grouping, 'org_');\n }\n\n isCollapsed(grouping: CollectionView) {\n return super.isCollapsed(grouping, 'org_');\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n Input,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ToasterService } from 'angular2-toaster';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { BulkDeleteComponent } from './bulk-delete.component';\nimport { BulkMoveComponent } from './bulk-move.component';\nimport { BulkRestoreComponent } from './bulk-restore.component';\nimport { BulkShareComponent } from './bulk-share.component';\nimport { CiphersComponent } from './ciphers.component';\n\n@Component({\n selector: 'app-vault-bulk-actions',\n templateUrl: 'bulk-actions.component.html',\n})\nexport class BulkActionsComponent {\n @Input() ciphersComponent: CiphersComponent;\n @Input() modal: ModalComponent;\n @Input() deleted: boolean;\n @Input() organization: Organization;\n\n @ViewChild('bulkDeleteTemplate', { read: ViewContainerRef, static: true }) bulkDeleteModalRef: ViewContainerRef;\n @ViewChild('bulkRestoreTemplate', { read: ViewContainerRef, static: true }) bulkRestoreModalRef: ViewContainerRef;\n @ViewChild('bulkMoveTemplate', { read: ViewContainerRef, static: true }) bulkMoveModalRef: ViewContainerRef;\n @ViewChild('bulkShareTemplate', { read: ViewContainerRef, static: true }) bulkShareModalRef: ViewContainerRef;\n\n constructor(private toasterService: ToasterService,\n private i18nService: I18nService,\n private componentFactoryResolver: ComponentFactoryResolver) { }\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.permanent = this.deleted;\n childComponent.cipherIds = selectedIds;\n childComponent.organization = this.organization;\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 bulkRestore() {\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.bulkRestoreModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkRestoreComponent, this.bulkRestoreModalRef);\n\n childComponent.cipherIds = selectedIds;\n childComponent.onRestored.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","
\n \n
\n \n \n \n \n
\n \n \n
\n
\n\n\n\n\n\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 { Folder } from '../domain/folder';\n\nexport class FolderRequest {\n name: string;\n\n constructor(folder: Folder) {\n this.name = folder.name ? folder.name.encryptedString : null;\n }\n}\n","import {\n Directive,\n ElementRef,\n HostListener,\n} from '@angular/core';\n\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\n@Directive({\n selector: '[appSelectCopy]',\n})\nexport class SelectCopyDirective {\n constructor(private el: ElementRef, private platformUtilsService: PlatformUtilsService) { }\n\n @HostListener('copy') onCopy() {\n if (window == null) {\n return;\n }\n let copyText = '';\n const selection = window.getSelection();\n for (let i = 0; i < selection.rangeCount; i++) {\n const range = selection.getRangeAt(i);\n const text = range.toString();\n\n // The selection should only contain one line of text. In some cases however, the\n // selection contains newlines and space characters from the indentation of following\n // sibling nodes. To avoid copying passwords containing trailing newlines and spaces\n // that aren't part of the password, the selection has to be trimmed.\n let stringEndPos = text.length;\n const newLinePos = text.search(/(?:\\r\\n|\\r|\\n)/);\n if (newLinePos > -1) {\n const otherPart = text.substr(newLinePos).trim();\n if (otherPart === '') {\n stringEndPos = newLinePos;\n }\n }\n copyText += text.substring(0, stringEndPos);\n }\n this.platformUtilsService.copyToClipboard(copyText, { window: window });\n }\n}\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\n\n/**\n * A pipe that sanitizes HTML and highlights numbers and special characters (in different colors each).\n */\n@Pipe({ name: 'colorPassword' })\nexport class ColorPasswordPipe implements PipeTransform {\n transform(password: string) {\n let colorizedPassword = '';\n for (let i = 0; i < password.length; i++) {\n let character = password[i];\n let isSpecial = false;\n // Sanitize HTML first.\n switch (character) {\n case '&':\n character = '&';\n isSpecial = true;\n break;\n case '<':\n character = '<';\n isSpecial = true;\n break;\n case '>':\n character = '>';\n isSpecial = true;\n break;\n case ' ':\n character = ' ';\n isSpecial = true;\n break;\n default:\n break;\n }\n let type = 'letter';\n if (isSpecial || character.match(/[^\\w ]/)) {\n type = 'special';\n } else if (character.match(/\\d/)) {\n type = 'number';\n }\n colorizedPassword += '' + character + '';\n }\n return colorizedPassword;\n }\n}\n","import { FolderResponse } from '../response/folderResponse';\n\nexport class FolderData {\n id: string;\n userId: string;\n name: string;\n revisionDate: string;\n\n constructor(response: FolderResponse, userId: string) {\n this.userId = userId;\n this.name = response.name;\n this.id = response.id;\n this.revisionDate = response.revisionDate;\n }\n}\n","import { FolderData } from '../data/folderData';\n\nimport { FolderView } from '../view/folderView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nexport class Folder extends Domain {\n id: string;\n name: CipherString;\n revisionDate: Date;\n\n constructor(obj?: FolderData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n name: null,\n }, alreadyEncrypted, ['id']);\n\n this.revisionDate = obj.revisionDate != null ? new Date(obj.revisionDate) : null;\n }\n\n decrypt(): Promise {\n return this.decryptObj(new FolderView(this), {\n name: null,\n }, null);\n }\n}\n","import { AttachmentResponse } from './attachmentResponse';\nimport { BaseResponse } from './baseResponse';\nimport { PasswordHistoryResponse } from './passwordHistoryResponse';\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 extends BaseResponse {\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 viewPassword: boolean;\n organizationUseTotp: boolean;\n revisionDate: string;\n attachments: AttachmentResponse[];\n passwordHistory: PasswordHistoryResponse[];\n collectionIds: string[];\n deletedDate: string;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.organizationId = this.getResponseProperty('OrganizationId');\n this.folderId = this.getResponseProperty('FolderId') || null;\n this.type = this.getResponseProperty('Type');\n this.name = this.getResponseProperty('Name');\n this.notes = this.getResponseProperty('Notes');\n this.favorite = this.getResponseProperty('Favorite') || false;\n this.edit = !!this.getResponseProperty('Edit');\n if (this.getResponseProperty('ViewPassword') == null) {\n this.viewPassword = true;\n } else {\n this.viewPassword = this.getResponseProperty('ViewPassword');\n }\n this.organizationUseTotp = this.getResponseProperty('OrganizationUseTotp');\n this.revisionDate = this.getResponseProperty('RevisionDate');\n this.collectionIds = this.getResponseProperty('CollectionIds');\n this.deletedDate = this.getResponseProperty('DeletedDate');\n\n const login = this.getResponseProperty('Login');\n if (login != null) {\n this.login = new LoginApi(login);\n }\n\n const card = this.getResponseProperty('Card');\n if (card != null) {\n this.card = new CardApi(card);\n }\n\n const identity = this.getResponseProperty('Identity');\n if (identity != null) {\n this.identity = new IdentityApi(identity);\n }\n\n const secureNote = this.getResponseProperty('SecureNote');\n if (secureNote != null) {\n this.secureNote = new SecureNoteApi(secureNote);\n }\n\n const fields = this.getResponseProperty('Fields');\n if (fields != null) {\n this.fields = fields.map((f: any) => new FieldApi(f));\n }\n\n const attachments = this.getResponseProperty('Attachments');\n if (attachments != null) {\n this.attachments = attachments.map((a: any) => new AttachmentResponse(a));\n }\n\n const passwordHistory = this.getResponseProperty('PasswordHistory');\n if (passwordHistory != null) {\n this.passwordHistory = passwordHistory.map((h: any) => new PasswordHistoryResponse(h));\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { ProfileOrganizationResponse } from './profileOrganizationResponse';\n\nexport class ProfileResponse extends BaseResponse {\n id: string;\n name: string;\n email: string;\n emailVerified: boolean;\n masterPasswordHint: string;\n premium: boolean;\n culture: string;\n twoFactorEnabled: boolean;\n key: string;\n privateKey: string;\n securityStamp: string;\n organizations: ProfileOrganizationResponse[] = [];\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.name = this.getResponseProperty('Name');\n this.email = this.getResponseProperty('Email');\n this.emailVerified = this.getResponseProperty('EmailVerified');\n this.masterPasswordHint = this.getResponseProperty('MasterPasswordHint');\n this.premium = this.getResponseProperty('Premium');\n this.culture = this.getResponseProperty('Culture');\n this.twoFactorEnabled = this.getResponseProperty('TwoFactorEnabled');\n this.key = this.getResponseProperty('Key');\n this.privateKey = this.getResponseProperty('PrivateKey');\n this.securityStamp = this.getResponseProperty('SecurityStamp');\n\n const organizations = this.getResponseProperty('Organizations');\n if (organizations != null) {\n this.organizations = organizations.map((o: any) => new ProfileOrganizationResponse(o));\n }\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\n\nexport class SendFileApi extends BaseResponse {\n id: string;\n url: string;\n fileName: string;\n key: string;\n size: string;\n sizeName: string;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.id = this.getResponseProperty('Id');\n this.url = this.getResponseProperty('Url');\n this.fileName = this.getResponseProperty('FileName');\n this.key = this.getResponseProperty('Key');\n this.size = this.getResponseProperty('Size');\n this.sizeName = this.getResponseProperty('SizeName');\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\n\nexport class SendTextApi extends BaseResponse {\n text: string;\n hidden: boolean;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.text = this.getResponseProperty('Text');\n this.hidden = this.getResponseProperty('Hidden') || false;\n }\n}\n","import { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nimport { SendFileData } from '../data/sendFileData';\n\nimport { SendFileView } from '../view/sendFileView';\n\nexport class SendFile extends Domain {\n id: string;\n url: string;\n size: string;\n sizeName: string;\n fileName: CipherString;\n\n constructor(obj?: SendFileData, 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 async decrypt(key: SymmetricCryptoKey): Promise {\n const view = await this.decryptObj(new SendFileView(this), {\n fileName: null,\n }, null, key);\n return view;\n }\n}\n","import { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nimport { SendTextData } from '../data/sendTextData';\n\nimport { SendTextView } from '../view/sendTextView';\n\nexport class SendText extends Domain {\n text: CipherString;\n hidden: boolean;\n\n constructor(obj?: SendTextData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.hidden = obj.hidden;\n this.buildDomainModel(this, obj, {\n text: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(key: SymmetricCryptoKey): Promise {\n return this.decryptObj(new SendTextView(this), {\n text: null,\n }, null, key);\n }\n}\n","import { EnvironmentService } from './environment.service';\n\nexport abstract class NotificationsService {\n init: (environmentService: EnvironmentService) => Promise;\n updateConnection: (sync?: boolean) => Promise;\n reconnectFromActivity: () => Promise;\n disconnectFromInactivity: () => Promise;\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 = 521;","import {\n Component,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\n@Component({\n selector: 'app-frontend-layout',\n templateUrl: 'frontend-layout.component.html',\n})\nexport class FrontendLayoutComponent implements OnInit, OnDestroy {\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 document.body.classList.add('layout_frontend');\n }\n\n ngOnDestroy() {\n document.body.classList.remove('layout_frontend');\n }\n}\n","\n
\n © {{year}}, Bitwarden Inc.\n
{{'versionNumber' | i18n : version}}\n
\n","import {\n Component,\n NgZone,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { ActivatedRoute } from '@angular/router';\n\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nconst BroadcasterSubscriptionId = 'OrganizationLayoutComponent';\n\n@Component({\n selector: 'app-organization-layout',\n templateUrl: 'organization-layout.component.html',\n})\nexport class OrganizationLayoutComponent implements OnInit, OnDestroy {\n organization: Organization;\n businessTokenPromise: Promise;\n private organizationId: string;\n private businessUrl: string;\n\n constructor(private route: ActivatedRoute, private userService: UserService,\n private broadcasterService: BroadcasterService, private ngZone: NgZone,\n private apiService: ApiService, private platformUtilsService: PlatformUtilsService,\n private environmentService: EnvironmentService) { }\n\n ngOnInit() {\n this.businessUrl = 'https://portal.bitwarden.com';\n if (this.environmentService.enterpriseUrl != null) {\n this.businessUrl = this.environmentService.enterpriseUrl;\n } else if (this.environmentService.baseUrl != null) {\n this.businessUrl = this.environmentService.baseUrl + '/portal';\n }\n\n document.body.classList.remove('layout_frontend');\n this.route.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await this.load();\n });\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'updatedOrgLicense':\n await this.load();\n break;\n }\n });\n });\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n async load() {\n this.organization = await this.userService.getOrganization(this.organizationId);\n }\n\n async goToBusinessPortal() {\n if (this.businessTokenPromise != null) {\n return;\n }\n try {\n this.businessTokenPromise = this.apiService.getEnterprisePortalSignInToken();\n const token = await this.businessTokenPromise;\n if (token != null) {\n const userId = await this.userService.getUserId();\n this.platformUtilsService.launchUri(this.businessUrl + '/login?userId=' + userId +\n '&token=' + (window as any).encodeURIComponent(token) + '&organizationId=' + this.organization.id);\n }\n } catch { }\n this.businessTokenPromise = null;\n }\n\n get showMenuBar() {\n return this.showManageTab || this.showToolsTab || this.organization.isOwner;\n }\n\n get showManageTab(): boolean {\n return this.organization.canManageUsers ||\n this.organization.canManageAssignedCollections ||\n this.organization.canManageAllCollections ||\n this.organization.canManageGroups ||\n this.organization.canManagePolicies ||\n this.organization.canAccessEventLogs;\n }\n\n get showToolsTab(): boolean {\n return this.organization.canAccessImportExport || this.organization.canAccessReports;\n }\n\n get showBusinessPortalButton(): boolean {\n return this.organization.useBusinessPortal && this.organization.canAccessBusinessPortal;\n }\n\n get toolsRoute(): string {\n return this.organization.canAccessImportExport ?\n 'tools/import' :\n 'tools/exposed-passwords-report';\n }\n\n get manageRoute(): string {\n let route: string;\n switch (true) {\n case this.organization.canManageUsers:\n route = 'manage/people';\n break;\n case this.organization.canManageAssignedCollections || this.organization.canManageAllCollections:\n route = 'manage/collections';\n break;\n case this.organization.canManageGroups:\n route = 'manage/groups';\n break;\n case this.organization.canManagePolicies:\n route = 'manage/policies';\n break;\n case this.organization.canAccessEventLogs:\n route = 'manage/events';\n break;\n }\n return route;\n }\n}\n","\n
\n
\n
\n
\n \n
\n {{organization.name}}\n {{'organization' | i18n}}\n
\n
\n
\n \n {{'organizationIsDisabled' | i18n}}\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n\n\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\n@Component({\n selector: 'app-user-layout',\n templateUrl: 'user-layout.component.html',\n})\nexport class UserLayoutComponent implements OnInit {\n ngOnInit() {\n document.body.classList.remove('layout_frontend');\n }\n}\n","\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';\nimport { EmergencyAccessAcceptRequest } from 'jslib/models/request/emergencyAccessAcceptRequest';\n\n@Component({\n selector: 'app-accept-emergency',\n templateUrl: 'accept-emergency.component.html',\n})\nexport class AcceptEmergencyComponent implements OnInit {\n loading = true;\n authed = false;\n name: 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('emergencyInvitation');\n let error = qParams.id == null || qParams.name == null || qParams.email == null || qParams.token == null;\n let errorMessage: string = null;\n if (!error) {\n this.authed = await this.userService.isAuthenticated();\n if (this.authed) {\n const request = new EmergencyAccessAcceptRequest();\n request.token = qParams.token;\n try {\n this.actionPromise = this.apiService.postEmergencyAccessAccept(qParams.id, request);\n await this.actionPromise;\n const toast: Toast = {\n type: 'success',\n title: this.i18nService.t('inviteAccepted'),\n body: this.i18nService.t('emergencyInviteAcceptedDesc'),\n timeout: 10000,\n };\n this.toasterService.popAsync(toast);\n this.router.navigate(['/vault']);\n } catch (e) {\n error = true;\n errorMessage = e.message;\n }\n } else {\n await this.stateService.save('emergencyInvitation', qParams);\n this.email = qParams.email;\n this.name = qParams.name;\n if (this.name != null) {\n // Fix URL encoding of space issue with Angular\n this.name = this.name.replace(/\\+/g, ' ');\n }\n }\n }\n\n if (error) {\n const toast: Toast = {\n type: 'error',\n title: null,\n body: errorMessage != null ? this.i18nService.t('emergencyInviteAcceptFailedShort', errorMessage) :\n this.i18nService.t('emergencyInviteAcceptFailed'),\n timeout: 10000,\n };\n this.toasterService.popAsync(toast);\n this.router.navigate(['/']);\n }\n\n this.loading = false;\n });\n }\n}\n","
\n
\n \"Bitwarden\"\n

\n \n {{'loading' | i18n}}\n

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

{{'emergencyAccess' | i18n}}

\n
\n
\n

\n {{name}}\n

\n

{{'acceptEmergencyAccess' | i18n}}

\n
\n \n
\n
\n
\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 let errorMessage: string = 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 (e) {\n error = true;\n errorMessage = e.message;\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 const toast: Toast = {\n type: 'error',\n title: null,\n body: errorMessage != null ? this.i18nService.t('inviteAcceptFailedShort', errorMessage) :\n this.i18nService.t('inviteAcceptFailed'),\n timeout: 10000,\n };\n this.toasterService.popAsync(toast);\n this.router.navigate(['/']);\n }\n\n this.loading = false;\n });\n }\n}\n","
\n
\n \"Bitwarden\"\n

\n \n {{'loading' | i18n}}\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","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { HintComponent as BaseHintComponent } from 'jslib/angular/components/hint.component';\n\n@Component({\n selector: 'app-hint',\n templateUrl: 'hint.component.html',\n})\nexport class HintComponent extends BaseHintComponent {\n constructor(router: Router, i18nService: I18nService,\n apiService: ApiService, platformUtilsService: PlatformUtilsService) {\n super(router, i18nService, apiService, platformUtilsService);\n }\n}\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 { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { UserService } from 'jslib/abstractions/user.service';\nimport { VaultTimeoutService } from 'jslib/abstractions/vaultTimeout.service';\n\nimport { RouterService } from '../services/router.service';\n\nimport { LockComponent as BaseLockComponent } from 'jslib/angular/components/lock.component';\n\n@Component({\n selector: 'app-lock',\n templateUrl: 'lock.component.html',\n})\nexport class LockComponent extends BaseLockComponent {\n constructor(router: Router, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService, messagingService: MessagingService,\n userService: UserService, cryptoService: CryptoService,\n storageService: StorageService, vaultTimeoutService: VaultTimeoutService,\n environmentService: EnvironmentService, private routerService: RouterService,\n stateService: StateService, apiService: ApiService) {\n super(router, i18nService, platformUtilsService, messagingService, userService, cryptoService,\n storageService, vaultTimeoutService, environmentService, stateService, apiService);\n }\n\n async ngOnInit() {\n await super.ngOnInit();\n const authed = await this.userService.isAuthenticated();\n if (!authed) {\n this.router.navigate(['/']);\n } else if (await this.cryptoService.hasKey()) {\n this.router.navigate(['vault']);\n }\n\n this.onSuccessfulSubmit = () => {\n const previousUrl = this.routerService.getPreviousUrl();\n if (previousUrl !== '/' && previousUrl.indexOf('lock') === -1) {\n this.successRoute = previousUrl;\n }\n this.router.navigate([this.successRoute]);\n };\n }\n}\n","
\n
\n
\n

\n \n

\n

{{'yourVaultIsLocked' | i18n}}

\n
\n
\n
\n \n
\n \n \n
\n \n {{'loggedInAsEmailOn' | i18n : email : webVaultHostname}}\n \n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CryptoFunctionService } from 'jslib/abstractions/cryptoFunction.service';\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.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 i18nService: I18nService, private route: ActivatedRoute,\n storageService: StorageService, stateService: StateService,\n platformUtilsService: PlatformUtilsService, environmentService: EnvironmentService,\n passwordGenerationService: PasswordGenerationService, cryptoFunctionService: CryptoFunctionService) {\n super(authService, router,\n platformUtilsService, i18nService,\n stateService, environmentService,\n passwordGenerationService, cryptoFunctionService,\n storageService);\n this.onSuccessfulLoginNavigate = this.goAfterLogIn;\n }\n\n async ngOnInit() {\n const queryParamsSub = 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 if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n }\n\n async goAfterLogIn() {\n const orgInvite = await this.stateService.get('orgInvitation');\n const emergencyInvite = await this.stateService.get('emergencyInvitation');\n if (orgInvite != null) {\n this.router.navigate(['accept-organization'], { queryParams: orgInvite });\n } else if (emergencyInvite != null) {\n this.router.navigate(['accept-emergency'], { queryParams: emergencyInvite });\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","
\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","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.trim().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","
\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 { 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 { AuthService } from 'jslib/abstractions/auth.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 private authService: AuthService) { }\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.trim().toLowerCase();\n const key = await this.authService.makePreloginKey(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","
\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","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\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 { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { PolicyService } from 'jslib/abstractions/policy.service';\nimport { StateService } from 'jslib/abstractions/state.service';\n\nimport { RegisterComponent as BaseRegisterComponent } from 'jslib/angular/components/register.component';\n\nimport { MasterPasswordPolicyOptions } from 'jslib/models/domain/masterPasswordPolicyOptions';\nimport { Policy } from 'jslib/models/domain/policy';\n\nimport { PolicyData } from 'jslib/models/data/policyData';\nimport { ReferenceEventRequest } from 'jslib/models/request/referenceEventRequest';\n\n@Component({\n selector: 'app-register',\n templateUrl: 'register.component.html',\n})\nexport class RegisterComponent extends BaseRegisterComponent {\n showCreateOrgMessage = false;\n layout = '';\n enforcedPolicyOptions: MasterPasswordPolicyOptions;\n\n private policies: Policy[];\n\n constructor(authService: AuthService, router: Router,\n i18nService: I18nService, cryptoService: CryptoService,\n apiService: ApiService, private route: ActivatedRoute,\n stateService: StateService, platformUtilsService: PlatformUtilsService,\n passwordGenerationService: PasswordGenerationService, private policyService: PolicyService) {\n super(authService, router, i18nService, cryptoService, apiService, stateService, platformUtilsService,\n passwordGenerationService);\n }\n\n getPasswordScoreAlertDisplay() {\n if (this.enforcedPolicyOptions == null) {\n return '';\n }\n\n let str: string;\n switch (this.enforcedPolicyOptions.minComplexity) {\n case 4:\n str = this.i18nService.t('strong');\n break;\n case 3:\n str = this.i18nService.t('good');\n break;\n default:\n str = this.i18nService.t('weak');\n break;\n }\n return str + ' (' + this.enforcedPolicyOptions.minComplexity + ')';\n }\n\n async ngOnInit() {\n const queryParamsSub = this.route.queryParams.subscribe((qParams) => {\n this.referenceData = new ReferenceEventRequest();\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.referenceData.flow = qParams.org;\n this.stateService.save('loginRedirect',\n { route: '/settings/create-organization', qParams: { plan: qParams.org } });\n }\n if (qParams.layout != null) {\n this.layout = this.referenceData.layout = qParams.layout;\n }\n if (qParams.reference != null) {\n this.referenceData.id = qParams.reference;\n } else {\n this.referenceData.id = ('; ' + document.cookie).split('; reference=').pop().split(';').shift();\n }\n if (this.referenceData.id === '') {\n this.referenceData.id = null;\n }\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n const invite = await this.stateService.get('orgInvitation');\n if (invite != null) {\n try {\n const policies = await this.apiService.getPoliciesByToken(invite.organizationId, invite.token,\n invite.email, invite.organizationUserId);\n if (policies.data != null) {\n const policiesData = policies.data.map((p) => new PolicyData(p));\n this.policies = policiesData.map((p) => new Policy(p));\n }\n } catch { }\n }\n\n if (this.policies != null) {\n this.enforcedPolicyOptions = await this.policyService.getMasterPasswordPolicyOptions(this.policies);\n }\n }\n\n async submit() {\n if (this.enforcedPolicyOptions != null &&\n !this.policyService.evaluateMasterPassword(this.masterPasswordScore, this.masterPassword,\n this.enforcedPolicyOptions)) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPasswordPolicyRequirementsNotMet'));\n return;\n }\n\n await super.submit();\n }\n}\n","
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n

Companies globally trust Bitwarden for password management.

\n

Start your 7-day free trial!

\n

Quickly deploy your organization

\n

Use Bitwarden across all platforms

\n

Collaborate and share securely

\n
\n
\n \n \"Wired\"\n \n
\n
\n \"Bitwarden has become a popular choice among open-source software advocates. After using\n it for a few months, I can see why.\" - February 2020\n
\n
\n
\n
\n

Enterprise 3 layout

\n
\n
\n

Enterprise 4 layout

\n
\n
\n
\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 {{'masterPasswordPolicyInEffect' | i18n}}\n
    \n
  • 0\">\n {{'policyInEffectMinComplexity' | i18n : getPasswordScoreAlertDisplay()}}\n
  • \n
  • 0\">\n {{'policyInEffectMinLength' | i18n : enforcedPolicyOptions?.minLength.toString()}}\n
  • \n
  • \n {{'policyInEffectUppercase' | i18n}}
  • \n
  • \n {{'policyInEffectLowercase' | i18n}}
  • \n
  • \n {{'policyInEffectNumbers' | i18n}}
  • \n
  • \n {{'policyInEffectSpecial' | i18n : '!@#$%^&*'}}
  • \n
\n
\n \n
\n
\n \n \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
\n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n","import { PolicyData } from '../data/policyData';\n\nimport Domain from './domainBase';\n\nimport { PolicyType } from '../../enums/policyType';\n\nexport class Policy extends Domain {\n id: string;\n organizationId: string;\n type: PolicyType;\n data: any;\n enabled: boolean;\n\n constructor(obj?: PolicyData) {\n super();\n if (obj == null) {\n return;\n }\n\n this.id = obj.id;\n this.organizationId = obj.organizationId;\n this.type = obj.type;\n this.data = obj.data;\n this.enabled = obj.enabled;\n }\n}\n","import { PolicyResponse } from '../response/policyResponse';\n\nimport { PolicyType } from '../../enums/policyType';\n\nexport class PolicyData {\n id: string;\n organizationId: string;\n type: PolicyType;\n data: any;\n enabled: boolean;\n\n constructor(response: PolicyResponse) {\n this.id = response.id;\n this.organizationId = response.organizationId;\n this.type = response.type;\n this.data = response.data;\n this.enabled = response.enabled;\n }\n}\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\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 { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { PolicyService } from 'jslib/abstractions/policy.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport {\n SetPasswordComponent as BaseSetPasswordComponent,\n} from 'jslib/angular/components/set-password.component';\n\n@Component({\n selector: 'app-set-password',\n templateUrl: 'set-password.component.html',\n})\nexport class SetPasswordComponent extends BaseSetPasswordComponent {\n constructor(apiService: ApiService, i18nService: I18nService,\n cryptoService: CryptoService, messagingService: MessagingService,\n userService: UserService, passwordGenerationService: PasswordGenerationService,\n platformUtilsService: PlatformUtilsService, policyService: PolicyService, router: Router,\n syncService: SyncService, route: ActivatedRoute) {\n super(i18nService, cryptoService, messagingService, userService, passwordGenerationService,\n platformUtilsService, policyService, router, apiService, syncService, route);\n }\n}\n","
\n
\n
\n

{{'setMasterPassword' | i18n}}

\n
\n
\n \n {{'loading' | i18n}}\n
\n
\n {{'ssoCompleteRegistration' | i18n}}\n
\n \n {{'masterPasswordPolicyInEffect' | i18n}}\n
    \n
  • 0\">\n {{'policyInEffectMinComplexity' | i18n : getPasswordScoreAlertDisplay()}}\n
  • \n
  • 0\">\n {{'policyInEffectMinLength' | i18n : enforcedPolicyOptions?.minLength.toString()}}\n
  • \n
  • \n {{'policyInEffectUppercase' | i18n}}
  • \n
  • \n {{'policyInEffectLowercase' | i18n}}
  • \n
  • \n {{'policyInEffectNumbers' | i18n}}
  • \n
  • \n {{'policyInEffectSpecial' | i18n : '!@#$%^&*'}}
  • \n
\n
\n \n
\n
\n \n \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
\n
\n
\n
\n
\n
\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CryptoFunctionService } from 'jslib/abstractions/cryptoFunction.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { SsoComponent as BaseSsoComponent } from 'jslib/angular/components/sso.component';\n\nconst IdentifierStorageKey = 'ssoOrgIdentifier';\n\n@Component({\n selector: 'app-sso',\n templateUrl: 'sso.component.html',\n})\nexport class SsoComponent extends BaseSsoComponent {\n constructor(authService: AuthService, router: Router,\n i18nService: I18nService, route: ActivatedRoute,\n storageService: StorageService, stateService: StateService,\n platformUtilsService: PlatformUtilsService, apiService: ApiService,\n cryptoFunctionService: CryptoFunctionService,\n passwordGenerationService: PasswordGenerationService) {\n super(authService, router, i18nService, route, storageService, stateService, platformUtilsService,\n apiService, cryptoFunctionService, passwordGenerationService);\n this.redirectUri = window.location.origin + '/sso-connector.html';\n this.clientId = 'web';\n }\n\n async ngOnInit() {\n super.ngOnInit();\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.identifier != null) {\n this.identifier = qParams.identifier;\n } else {\n const storedIdentifier = await this.storageService.get(IdentifierStorageKey);\n if (storedIdentifier != null) {\n this.identifier = storedIdentifier;\n }\n }\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n }\n\n async submit() {\n await this.storageService.save(IdentifierStorageKey, this.identifier);\n if (this.clientId === 'browser') {\n document.cookie = `ssoHandOffMessage=${this.i18nService.t('ssoHandOff')};SameSite=strict`;\n }\n super.submit();\n }\n}\n","
\n
\n
\n \n
\n
\n \n {{'loading' | i18n}}\n
\n
\n

{{'ssoLogInWithOrgIdentifier' | i18n}}

\n
\n \n \n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","import {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ApiService } from '../../abstractions/api.service';\nimport { AuthService } from '../../abstractions/auth.service';\nimport { CryptoFunctionService } from '../../abstractions/cryptoFunction.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { StateService } from '../../abstractions/state.service';\nimport { StorageService } from '../../abstractions/storage.service';\n\nimport { ConstantsService } from '../../services/constants.service';\n\nimport { Utils } from '../../misc/utils';\n\nimport { AuthResult } from '../../models/domain/authResult';\n\nexport class SsoComponent {\n identifier: string;\n loggingIn = false;\n\n formPromise: Promise;\n initiateSsoFormPromise: Promise;\n onSuccessfulLogin: () => Promise;\n onSuccessfulLoginNavigate: () => Promise;\n onSuccessfulLoginTwoFactorNavigate: () => Promise;\n onSuccessfulLoginChangePasswordNavigate: () => Promise;\n\n protected twoFactorRoute = '2fa';\n protected successRoute = 'lock';\n protected changePasswordRoute = 'set-password';\n protected clientId: string;\n protected redirectUri: string;\n protected state: string;\n protected codeChallenge: string;\n\n constructor(protected authService: AuthService, protected router: Router,\n protected i18nService: I18nService, protected route: ActivatedRoute,\n protected storageService: StorageService, protected stateService: StateService,\n protected platformUtilsService: PlatformUtilsService, protected apiService: ApiService,\n protected cryptoFunctionService: CryptoFunctionService,\n protected passwordGenerationService: PasswordGenerationService) { }\n\n async ngOnInit() {\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.code != null && qParams.state != null) {\n const codeVerifier = await this.storageService.get(ConstantsService.ssoCodeVerifierKey);\n const state = await this.storageService.get(ConstantsService.ssoStateKey);\n await this.storageService.remove(ConstantsService.ssoCodeVerifierKey);\n await this.storageService.remove(ConstantsService.ssoStateKey);\n if (qParams.code != null && codeVerifier != null && state != null && this.checkState(state, qParams.state)) {\n await this.logIn(qParams.code, codeVerifier, this.getOrgIdentiferFromState(qParams.state));\n }\n } else if (qParams.clientId != null && qParams.redirectUri != null && qParams.state != null &&\n qParams.codeChallenge != null) {\n this.redirectUri = qParams.redirectUri;\n this.state = qParams.state;\n this.codeChallenge = qParams.codeChallenge;\n this.clientId = qParams.clientId;\n }\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n }\n\n async submit(returnUri?: string, includeUserIdentifier?: boolean) {\n this.initiateSsoFormPromise = this.preValidate();\n if (await this.initiateSsoFormPromise) {\n const authorizeUrl = await this.buildAuthorizeUrl(returnUri, includeUserIdentifier);\n this.platformUtilsService.launchUri(authorizeUrl, { sameWindow: true });\n }\n }\n\n async preValidate(): Promise {\n if (this.identifier == null || this.identifier === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('ssoValidationFailed'),\n this.i18nService.t('ssoIdentifierRequired'));\n return false;\n }\n return await this.apiService.preValidateSso(this.identifier);\n }\n\n protected async buildAuthorizeUrl(returnUri?: string, includeUserIdentifier?: boolean): Promise {\n let codeChallenge = this.codeChallenge;\n let state = this.state;\n\n const passwordOptions: any = {\n type: 'password',\n length: 64,\n uppercase: true,\n lowercase: true,\n numbers: true,\n special: false,\n };\n\n if (codeChallenge == null) {\n const codeVerifier = await this.passwordGenerationService.generatePassword(passwordOptions);\n const codeVerifierHash = await this.cryptoFunctionService.hash(codeVerifier, 'sha256');\n codeChallenge = Utils.fromBufferToUrlB64(codeVerifierHash);\n await this.storageService.save(ConstantsService.ssoCodeVerifierKey, codeVerifier);\n }\n\n if (state == null) {\n state = await this.passwordGenerationService.generatePassword(passwordOptions);\n if (returnUri) {\n state += `_returnUri='${returnUri}'`;\n }\n }\n\n // Add Organization Identifier to state\n state += `_identifier=${this.identifier}`;\n\n // Save state (regardless of new or existing)\n await this.storageService.save(ConstantsService.ssoStateKey, state);\n\n let authorizeUrl = this.apiService.identityBaseUrl + '/connect/authorize?' +\n 'client_id=' + this.clientId + '&redirect_uri=' + encodeURIComponent(this.redirectUri) + '&' +\n 'response_type=code&scope=api offline_access&' +\n 'state=' + state + '&code_challenge=' + codeChallenge + '&' +\n 'code_challenge_method=S256&response_mode=query&' +\n 'domain_hint=' + encodeURIComponent(this.identifier);\n\n if (includeUserIdentifier) {\n const userIdentifier = await this.apiService.getSsoUserIdentifier();\n authorizeUrl += `&user_identifier=${encodeURIComponent(userIdentifier)}`;\n }\n\n return authorizeUrl;\n }\n\n private async logIn(code: string, codeVerifier: string, orgIdFromState: string) {\n this.loggingIn = true;\n try {\n this.formPromise = this.authService.logInSso(code, codeVerifier, this.redirectUri);\n const response = await this.formPromise;\n if (response.twoFactor) {\n this.platformUtilsService.eventTrack('SSO Logged In To Two-step');\n if (this.onSuccessfulLoginTwoFactorNavigate != null) {\n this.onSuccessfulLoginTwoFactorNavigate();\n } else {\n this.router.navigate([this.twoFactorRoute], {\n queryParams: {\n identifier: orgIdFromState,\n sso: 'true'\n },\n });\n }\n } else if (response.resetMasterPassword) {\n this.platformUtilsService.eventTrack('SSO - routing to complete registration');\n if (this.onSuccessfulLoginChangePasswordNavigate != null) {\n this.onSuccessfulLoginChangePasswordNavigate();\n } else {\n this.router.navigate([this.changePasswordRoute], {\n queryParams: {\n identifier: orgIdFromState,\n },\n });\n }\n } else {\n const disableFavicon = await this.storageService.get(ConstantsService.disableFaviconKey);\n await this.stateService.save(ConstantsService.disableFaviconKey, !!disableFavicon);\n if (this.onSuccessfulLogin != null) {\n this.onSuccessfulLogin();\n }\n this.platformUtilsService.eventTrack('SSO Logged In');\n if (this.onSuccessfulLoginNavigate != null) {\n this.onSuccessfulLoginNavigate();\n } else {\n this.router.navigate([this.successRoute]);\n }\n }\n } catch { }\n this.loggingIn = false;\n }\n\n private getOrgIdentiferFromState(state: string): string {\n if (state === null || state === undefined) {\n return null;\n }\n\n const stateSplit = state.split('_identifier=');\n return stateSplit.length > 1 ? stateSplit[1] : null;\n }\n\n private checkState(state: string, checkState: string): boolean {\n if (state === null || state === undefined) {\n return false;\n }\n if (checkState === null || checkState === undefined) {\n return false;\n }\n\n const stateSplit = state.split('_identifier=');\n const checkStateSplit = checkState.split('_identifier=');\n return stateSplit[0] === checkStateSplit[0];\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\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';\nimport { StorageService } from 'jslib/abstractions/storage.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, static: true }) twoFactorOptionsModal: ViewContainerRef;\n\n constructor(authService: AuthService, router: Router,\n i18nService: I18nService, apiService: ApiService,\n platformUtilsService: PlatformUtilsService, stateService: StateService,\n environmentService: EnvironmentService, private componentFactoryResolver: ComponentFactoryResolver,\n storageService: StorageService, route: ActivatedRoute) {\n super(authService, router, i18nService, apiService, platformUtilsService, window, environmentService,\n stateService, storageService, route);\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 orgInvite = await this.stateService.get('orgInvitation');\n const emergencyInvite = await this.stateService.get('emergencyInvitation');\n if (orgInvite != null) {\n this.router.navigate(['accept-organization'], { queryParams: orgInvite });\n } else if (emergencyInvite != null) {\n this.router.navigate(['accept-emergency'], { queryParams: emergencyInvite });\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 queryParams: {\n identifier: this.identifier,\n },\n });\n }\n }\n }\n}\n","
\n
\n
\n

{{title}}

\n
\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 {{'loading' | i18n}}\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 { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport {\n TwoFactorOptionsComponent as BaseTwoFactorOptionsComponent,\n} from 'jslib/angular/components/two-factor-options.component';\n\n@Component({\n selector: 'app-two-factor-options',\n templateUrl: 'two-factor-options.component.html',\n})\nexport class TwoFactorOptionsComponent extends BaseTwoFactorOptionsComponent {\n constructor(authService: AuthService, router: Router,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService) {\n super(authService, router, i18nService, platformUtilsService, window);\n }\n}\n","
\n
\n
\n
\n

{{'twoStepOptions' | i18n}}

\n \n
\n \n
\n \n
\n
\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 { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nexport class AuthResult {\n twoFactor: boolean = false;\n resetMasterPassword: boolean = false;\n twoFactorProviders: Map = null;\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","
\n
\n \"Bitwarden\"\n

\n \n {{'loading' | i18n}}\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';\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","
\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","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';\nimport { SearchService } from 'jslib/abstractions/search.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CollectionData } from 'jslib/models/data/collectionData';\nimport { Collection } from 'jslib/models/domain/collection';\nimport {\n CollectionDetailsResponse,\n CollectionResponse,\n} from 'jslib/models/response/collectionResponse';\nimport { ListResponse } from 'jslib/models/response/listResponse';\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, static: true }) addEditModalRef: ViewContainerRef;\n @ViewChild('usersTemplate', { read: ViewContainerRef, static: true }) usersModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n collections: CollectionView[];\n pagedCollections: CollectionView[];\n searchText: string;\n\n protected didScroll = false;\n protected pageSize = 100;\n\n private pagedCollectionsCount = 0;\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 private userService: UserService, private searchService: SearchService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await this.load();\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n });\n }\n\n async load() {\n const organization = await this.userService.getOrganization(this.organizationId);\n let response: ListResponse;\n if (organization.canManageAllCollections) {\n response = await this.apiService.getCollections(this.organizationId);\n } else {\n response = await this.apiService.getUserCollections();\n }\n const collections = response.data.filter((c) => c.organizationId === this.organizationId).map((r) =>\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\n this.collections = await this.collectionService.decryptMany(collections);\n this.resetPaging();\n this.loading = false;\n }\n\n loadMore() {\n if (!this.collections || this.collections.length <= this.pageSize) {\n return;\n }\n const pagedLength = this.pagedCollections.length;\n let pagedSize = this.pageSize;\n if (pagedLength === 0 && this.pagedCollectionsCount > this.pageSize) {\n pagedSize = this.pagedCollectionsCount;\n }\n if (this.collections.length > pagedLength) {\n this.pagedCollections =\n this.pagedCollections.concat(this.collections.slice(pagedLength, pagedLength + pagedSize));\n }\n this.pagedCollectionsCount = this.pagedCollections.length;\n this.didScroll = this.pagedCollections.length > this.pageSize;\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 childComponent.onEditedUsers.subscribe(() => {\n this.load();\n this.modal.close();\n });\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n async resetPaging() {\n this.pagedCollections = [];\n this.loadMore();\n }\n\n isSearching() {\n return this.searchService.isSearchable(this.searchText);\n }\n\n isPaging() {\n const searching = this.isSearching();\n if (searching && this.didScroll) {\n this.resetPaging();\n }\n return !searching && this.collections && this.collections.length > this.pageSize;\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 this.resetPaging();\n }\n }\n}\n","
\n

{{'collections' | i18n}}

\n
\n
\n \n \n
\n \n
\n
\n\n \n {{'loading' | i18n}}\n\n\n

{{'noCollectionsInList' | i18n}}

\n \n \n \n \n \n \n \n
\n {{c.name}}\n \n \n
\n\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 { 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 { 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 accessGroups: boolean = false;\n title: string;\n name: string;\n externalId: 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 private userService: UserService) { }\n\n async ngOnInit() {\n const organization = await this.userService.getOrganization(this.organizationId);\n this.accessGroups = organization.useGroups;\n this.editMode = this.loading = this.collectionId != null;\n if (this.accessGroups) {\n const groupsResponse = await this.apiService.getGroups(this.organizationId);\n this.groups = groupsResponse.data.map((r) => r).sort(Utils.getSortFunction(this.i18nService, 'name'));\n }\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 this.externalId = collection.externalId;\n if (collection.groups != null && this.groups.length > 0) {\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 (group[0] as any).hidePasswords = s.hidePasswords;\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 (g as any).hidePasswords = false;\n }\n }\n\n selectAll(select: boolean) {\n this.groups.forEach((g) => this.check(g, select));\n }\n\n async submit() {\n if (this.orgKey == null) {\n throw new Error('No encryption key for this organization.');\n }\n\n const request = new CollectionRequest();\n request.name = (await this.cryptoService.encrypt(this.name, this.orgKey)).encryptedString;\n request.externalId = this.externalId;\n request.groups = this.groups.filter((g) => (g as any).checked && !g.accessAll)\n .map((g) => new SelectionReadOnlyRequest(g.id, !!(g as any).readOnly, !!(g as any).hidePasswords));\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","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n {{'loading' | i18n}}\n
\n
\n
\n \n \n
\n
\n \n \n {{'externalIdDesc' | i18n}}\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 \n \n
 {{'name' | i18n}}{{'hidePasswords' | i18n}}{{'readOnly' | i18n}}
\n \n \n {{g.name}}\n \n \n {{'groupAccessAllItems' | i18n}}\n \n \n \n \n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","import { Collection } from '../domain/collection';\n\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class CollectionRequest {\n name: string;\n externalId: 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 this.externalId = collection.externalId;\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { ActivatedRoute, Router } 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 { 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-org-events',\n templateUrl: 'events.component.html',\n})\nexport class EventsComponent implements OnInit {\n loading = true;\n loaded = false;\n organizationId: string;\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 route: ActivatedRoute,\n private eventService: EventService, private i18nService: I18nService,\n private toasterService: ToasterService, 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.useEvents) {\n this.router.navigate(['/organizations', this.organizationId]);\n return;\n }\n const defaultDates = this.eventService.getDefaultDateFilters();\n this.start = defaultDates[0];\n this.end = defaultDates[1];\n await this.load();\n });\n }\n\n async load() {\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 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 const promise = this.apiService.getEventsOrganization(this.organizationId, dates[0], dates[1],\n clearExisting ? null : this.continuationToken);\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 = 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.i18nService.t('unknown'),\n userEmail: user != null ? user.email : '',\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","
\n

{{'eventLogs' | i18n}}

\n
\n
\n \n \n -\n \n \n
\n \n
\n
\n\n \n {{'loading' | i18n}}\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 {{e.appName}}, {{e.ip}}\n \n {{e.userName}}\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 { SearchService } from 'jslib/abstractions/search.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, static: true }) addEditModalRef: ViewContainerRef;\n @ViewChild('usersTemplate', { read: ViewContainerRef, static: true }) usersModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n groups: GroupResponse[];\n pagedGroups: GroupResponse[];\n searchText: string;\n\n protected didScroll = false;\n protected pageSize = 100;\n\n private pagedGroupsCount = 0;\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, private searchService: SearchService) { }\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 const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\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.resetPaging();\n this.loading = false;\n }\n\n loadMore() {\n if (!this.groups || this.groups.length <= this.pageSize) {\n return;\n }\n const pagedLength = this.pagedGroups.length;\n let pagedSize = this.pageSize;\n if (pagedLength === 0 && this.pagedGroupsCount > this.pageSize) {\n pagedSize = this.pagedGroupsCount;\n }\n if (this.groups.length > pagedLength) {\n this.pagedGroups = this.pagedGroups.concat(this.groups.slice(pagedLength, pagedLength + pagedSize));\n }\n this.pagedGroupsCount = this.pagedGroups.length;\n this.didScroll = this.pagedGroups.length > this.pageSize;\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 childComponent.onEditedUsers.subscribe(() => {\n this.modal.close();\n });\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n async resetPaging() {\n this.pagedGroups = [];\n this.loadMore();\n }\n\n isSearching() {\n return this.searchService.isSearchable(this.searchText);\n }\n\n isPaging() {\n const searching = this.isSearching();\n if (searching && this.didScroll) {\n this.resetPaging();\n }\n return !searching && this.groups && this.groups.length > this.pageSize;\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 this.resetPaging();\n }\n }\n}\n","
\n

{{'groups' | i18n}}

\n
\n
\n \n \n
\n \n
\n
\n\n \n {{'loading' | i18n}}\n\n\n

{{'noGroupsInList' | i18n}}

\n \n \n \n \n \n \n \n
\n {{g.name}}\n \n \n
\n
\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 { 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 { GroupRequest } from 'jslib/models/request/groupRequest';\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\n@Component({\n selector: 'app-group-add-edit',\n templateUrl: 'group-add-edit.component.html',\n})\nexport class GroupAddEditComponent implements OnInit {\n @Input() groupId: string;\n @Input() organizationId: string;\n @Output() onSavedGroup = new EventEmitter();\n @Output() onDeletedGroup = new EventEmitter();\n\n loading = true;\n editMode: boolean = false;\n title: string;\n name: string;\n externalId: string;\n access: 'all' | 'selected' = 'selected';\n collections: CollectionView[] = [];\n formPromise: Promise;\n deletePromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private collectionService: CollectionService, private platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n this.editMode = this.loading = this.groupId != null;\n await this.loadCollections();\n\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editGroup');\n try {\n const group = await this.apiService.getGroupDetails(this.organizationId, this.groupId);\n this.access = group.accessAll ? 'all' : 'selected';\n this.name = group.name;\n this.externalId = group.externalId;\n if (group.collections != null && this.collections != null) {\n group.collections.forEach((s) => {\n const collection = this.collections.filter((c) => c.id === s.id);\n if (collection != null && collection.length > 0) {\n (collection[0] as any).checked = true;\n collection[0].readOnly = s.readOnly;\n collection[0].hidePasswords = s.hidePasswords;\n }\n });\n }\n } catch { }\n } else {\n this.title = this.i18nService.t('addGroup');\n }\n\n this.loading = false;\n }\n\n async loadCollections() {\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 }\n\n check(c: CollectionView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n if (!(c as any).checked) {\n c.readOnly = false;\n }\n }\n\n selectAll(select: boolean) {\n this.collections.forEach((c) => this.check(c, select));\n }\n\n async submit() {\n const request = new GroupRequest();\n request.name = this.name;\n request.externalId = this.externalId;\n request.accessAll = this.access === 'all';\n if (!request.accessAll) {\n request.collections = this.collections.filter((c) => (c as any).checked)\n .map((c) => new SelectionReadOnlyRequest(c.id, !!c.readOnly, !!c.hidePasswords));\n }\n\n try {\n if (this.editMode) {\n this.formPromise = this.apiService.putGroup(this.organizationId, this.groupId, request);\n } else {\n this.formPromise = this.apiService.postGroup(this.organizationId, request);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Group' : 'Created Group' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedGroupId' : 'createdGroupId', this.name));\n this.onSavedGroup.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('deleteGroupConfirmation'), 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.deleteGroup(this.organizationId, this.groupId);\n await this.deletePromise;\n this.analytics.eventTrack.next({ action: 'Deleted Group' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedGroupId', this.name));\n this.onDeletedGroup.emit();\n } catch { }\n }\n}\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n {{'loading' | i18n}}\n
\n
\n
\n \n \n
\n
\n \n \n {{'externalIdDesc' | 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
\n \n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{'name' | i18n}}{{'hidePasswords' | 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","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\n@Component({\n selector: 'app-org-manage',\n templateUrl: 'manage.component.html',\n})\nexport class ManageComponent implements OnInit {\n organization: Organization;\n accessPolicies = false;\n accessGroups = false;\n accessEvents = false;\n\n constructor(private route: ActivatedRoute, private userService: UserService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n this.accessPolicies = this.organization.usePolicies;\n this.accessEvents = this.organization.useEvents;\n this.accessGroups = this.organization.useGroups;\n });\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 { ConstantsService } from 'jslib/services/constants.service';\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 { SearchService } from 'jslib/abstractions/search.service';\nimport { StorageService } from 'jslib/abstractions/storage.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 { UserConfirmComponent } from './user-confirm.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, static: true }) addEditModalRef: ViewContainerRef;\n @ViewChild('groupsTemplate', { read: ViewContainerRef, static: true }) groupsModalRef: ViewContainerRef;\n @ViewChild('eventsTemplate', { read: ViewContainerRef, static: true }) eventsModalRef: ViewContainerRef;\n @ViewChild('confirmTemplate', { read: ViewContainerRef, static: true }) confirmModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n users: OrganizationUserUserDetailsResponse[];\n pagedUsers: 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 protected didScroll = false;\n protected pageSize = 100;\n\n private pagedUsersCount = 0;\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, private router: Router,\n private storageService: StorageService, private searchService: SearchService) { }\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.canManageUsers) {\n this.router.navigate(['../collections'], { relativeTo: this.route });\n return;\n }\n this.accessEvents = organization.useEvents;\n this.accessGroups = organization.useGroups;\n await this.load();\n\n const queryParamsSub = 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 if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\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 this.resetPaging();\n }\n\n loadMore() {\n if (!this.users || this.users.length <= this.pageSize) {\n return;\n }\n const pagedLength = this.pagedUsers.length;\n let pagedSize = this.pageSize;\n if (pagedLength === 0 && this.pagedUsersCount > this.pageSize) {\n pagedSize = this.pagedUsersCount;\n }\n if (this.users.length > pagedLength) {\n this.pagedUsers = this.pagedUsers.concat(this.users.slice(pagedLength, pagedLength + pagedSize));\n }\n this.pagedUsersCount = this.pagedUsers.length;\n this.didScroll = this.pagedUsers.length > this.pageSize;\n }\n\n get allCount() {\n return this.allUsers != null ? this.allUsers.length : 0;\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 get confirmedCount() {\n return this.statusMap.has(OrganizationUserStatusType.Confirmed) ?\n this.statusMap.get(OrganizationUserStatusType.Confirmed).length : 0;\n }\n\n get showConfirmUsers(): boolean {\n return this.allUsers != null && this.statusMap != null && this.allUsers.length > 1 &&\n this.confirmedCount > 0 && this.confirmedCount < 3 && this.acceptedCount > 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 function updateUser(self: PeopleComponent) {\n user.status = OrganizationUserStatusType.Confirmed;\n const mapIndex = self.statusMap.get(OrganizationUserStatusType.Accepted).indexOf(user);\n if (mapIndex > -1) {\n self.statusMap.get(OrganizationUserStatusType.Accepted).splice(mapIndex, 1);\n self.statusMap.get(OrganizationUserStatusType.Confirmed).push(user);\n }\n }\n\n if (this.actionPromise != null) {\n return;\n }\n\n const autoConfirm = await this.storageService.get(ConstantsService.autoConfirmFingerprints);\n if (autoConfirm == null || !autoConfirm) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.confirmModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n UserConfirmComponent, this.confirmModalRef);\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.userId = user != null ? user.userId : null;\n childComponent.onConfirmedUser.subscribe(() => {\n this.modal.close();\n updateUser(this);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n return;\n }\n\n this.actionPromise = this.doConfirmation(user);\n await this.actionPromise;\n updateUser(this);\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 async resetPaging() {\n this.pagedUsers = [];\n this.loadMore();\n }\n\n isSearching() {\n return this.searchService.isSearchable(this.searchText);\n }\n\n isPaging() {\n const searching = this.isSearching();\n if (searching && this.didScroll) {\n this.resetPaging();\n }\n return !searching && this.users && this.users.length > this.pageSize;\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 try {\n // tslint:disable-next-line\n console.log('User\\'s fingerprint: ' +\n (await this.cryptoService.getFingerprint(user.userId, publicKey.buffer)).join('-'));\n } catch { }\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 let index = this.users.indexOf(user);\n if (index > -1) {\n this.users.splice(index, 1);\n this.resetPaging();\n }\n if (this.statusMap.has(OrganizationUserStatusType.Accepted)) {\n index = this.statusMap.get(OrganizationUserStatusType.Accepted).indexOf(user);\n if (index > -1) {\n this.statusMap.get(OrganizationUserStatusType.Accepted).splice(index, 1);\n }\n }\n if (this.statusMap.has(OrganizationUserStatusType.Invited)) {\n index = this.statusMap.get(OrganizationUserStatusType.Invited).indexOf(user);\n if (index > -1) {\n this.statusMap.get(OrganizationUserStatusType.Invited).splice(index, 1);\n }\n }\n if (this.statusMap.has(OrganizationUserStatusType.Confirmed)) {\n index = this.statusMap.get(OrganizationUserStatusType.Confirmed).indexOf(user);\n if (index > -1) {\n this.statusMap.get(OrganizationUserStatusType.Confirmed).splice(index, 1);\n }\n }\n }\n}\n","
\n

{{'people' | i18n}}

\n
\n
\n \n \n \n
\n
\n \n \n
\n \n
\n
\n\n \n {{'loading' | i18n}}\n\n\n

{{'noUsersInList' | i18n}}

\n \n \n {{'usersNeedConfirmed' | 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 {{'userUsingTwoStep' | i18n}}\n \n \n {{'owner' | i18n}}\n {{'admin' | i18n}}\n {{'manager' | i18n}}\n {{'user' | i18n}}\n {{'custom' | i18n}}\n \n \n
\n
\n\n\n\n\n\n","export class OrganizationUserConfirmRequest {\n key: string;\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 { 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 { OrganizationUserInviteRequest } from 'jslib/models/request/organizationUserInviteRequest';\nimport { OrganizationUserUpdateRequest } from 'jslib/models/request/organizationUserUpdateRequest';\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\nimport { PermissionsApi } from 'jslib/models/api/permissionsApi';\n\n@Component({\n selector: 'app-user-add-edit',\n templateUrl: 'user-add-edit.component.html',\n})\nexport class UserAddEditComponent implements OnInit {\n @Input() name: string;\n @Input() organizationUserId: string;\n @Input() organizationId: string;\n @Output() onSavedUser = new EventEmitter();\n @Output() onDeletedUser = new EventEmitter();\n\n loading = true;\n editMode: boolean = false;\n title: string;\n emails: string;\n type: OrganizationUserType = OrganizationUserType.User;\n permissions = new PermissionsApi();\n showCustom = false;\n access: 'all' | 'selected' = 'selected';\n collections: CollectionView[] = [];\n formPromise: Promise;\n deletePromise: Promise;\n organizationUserType = OrganizationUserType;\n\n get customUserTypeSelected(): boolean {\n return this.type === OrganizationUserType.Custom;\n }\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private collectionService: CollectionService, private platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n this.editMode = this.loading = this.organizationUserId != null;\n await this.loadCollections();\n\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editUser');\n try {\n const user = await this.apiService.getOrganizationUser(this.organizationId, this.organizationUserId);\n this.access = user.accessAll ? 'all' : 'selected';\n this.type = user.type;\n if (user.type === OrganizationUserType.Custom) {\n this.permissions = user.permissions;\n }\n if (user.collections != null && this.collections != null) {\n user.collections.forEach((s) => {\n const collection = this.collections.filter((c) => c.id === s.id);\n if (collection != null && collection.length > 0) {\n (collection[0] as any).checked = true;\n collection[0].readOnly = s.readOnly;\n collection[0].hidePasswords = s.hidePasswords;\n }\n });\n }\n } catch { }\n } else {\n this.title = this.i18nService.t('inviteUser');\n }\n\n this.loading = false;\n }\n\n async loadCollections() {\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 }\n\n check(c: CollectionView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n if (!(c as any).checked) {\n c.readOnly = false;\n }\n }\n\n selectAll(select: boolean) {\n this.collections.forEach((c) => this.check(c, select));\n }\n\n setRequestPermissions(p: PermissionsApi, clearPermissions: boolean) {\n p.accessBusinessPortal = clearPermissions ?\n false :\n this.permissions.accessBusinessPortal;\n p.accessEventLogs = this.permissions.accessEventLogs = clearPermissions ?\n false :\n this.permissions.accessEventLogs;\n p.accessImportExport = clearPermissions ?\n false :\n this.permissions.accessImportExport;\n p.accessReports = clearPermissions ?\n false :\n this.permissions.accessReports;\n p.manageAllCollections = clearPermissions ?\n false :\n this.permissions.manageAllCollections;\n p.manageAssignedCollections = clearPermissions ?\n false :\n this.permissions.manageAssignedCollections;\n p.manageGroups = clearPermissions ?\n false :\n this.permissions.manageGroups;\n p.manageSso = clearPermissions ?\n false :\n this.permissions.manageSso;\n p.managePolicies = clearPermissions ?\n false :\n this.permissions.managePolicies;\n p.manageUsers = clearPermissions ?\n false :\n this.permissions.manageUsers;\n return p;\n }\n\n async submit() {\n let collections: SelectionReadOnlyRequest[] = null;\n if (this.access !== 'all') {\n collections = this.collections.filter((c) => (c as any).checked)\n .map((c) => new SelectionReadOnlyRequest(c.id, !!c.readOnly, !!c.hidePasswords));\n }\n\n try {\n if (this.editMode) {\n const request = new OrganizationUserUpdateRequest();\n request.accessAll = this.access === 'all';\n request.type = this.type;\n request.collections = collections;\n request.permissions = this.setRequestPermissions(request.permissions ?? new PermissionsApi(), request.type !== OrganizationUserType.Custom);\n this.formPromise = this.apiService.putOrganizationUser(this.organizationId, this.organizationUserId,\n request);\n } else {\n const request = new OrganizationUserInviteRequest();\n request.emails = this.emails.trim().split(/\\s*,\\s*/);\n request.accessAll = this.access === 'all';\n request.type = this.type;\n request.permissions = this.setRequestPermissions(request.permissions ?? new PermissionsApi(), request.type !== OrganizationUserType.Custom);\n request.collections = collections;\n this.formPromise = this.apiService.postOrganizationUserInvite(this.organizationId, request);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited User' : 'Invited User' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedUserId' : 'invitedUsers', this.name));\n this.onSavedUser.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('removeUserConfirmation'), 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.deleteOrganizationUser(this.organizationId, this.organizationUserId);\n await this.deletePromise;\n this.analytics.eventTrack.next({ action: 'Deleted User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', this.name));\n this.onDeletedUser.emit();\n } catch { }\n }\n\n}\n","
\n
\n
\n
\n

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

\n \n
\n
\n \n {{'loading' | i18n}}\n
\n
\n \n

{{'inviteUserDesc' | i18n}}

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

\n {{'userType' | 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 {{'permissions' | 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 {{'accessControl' | i18n}}\n \n \n \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 \n \n
 {{'name' | i18n}}{{'hidePasswords' | 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","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 { ConstantsService } from 'jslib/services/constants.service';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { OrganizationUserConfirmRequest } from 'jslib/models/request/organizationUserConfirmRequest';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-user-confirm',\n templateUrl: 'user-confirm.component.html',\n})\nexport class UserConfirmComponent implements OnInit {\n @Input() name: string;\n @Input() userId: string;\n @Input() organizationUserId: string;\n @Input() organizationId: string;\n @Output() onConfirmedUser = new EventEmitter();\n\n dontAskAgain = false;\n loading = true;\n fingerprint: string;\n formPromise: Promise;\n\n private publicKey: Uint8Array = null;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private storageService: StorageService) { }\n\n async ngOnInit() {\n try {\n const publicKeyResponse = await this.apiService.getUserPublicKey(this.userId);\n if (publicKeyResponse != null) {\n this.publicKey = Utils.fromB64ToArray(publicKeyResponse.publicKey);\n const fingerprint = await this.cryptoService.getFingerprint(this.userId, this.publicKey.buffer);\n if (fingerprint != null) {\n this.fingerprint = fingerprint.join('-');\n }\n }\n } catch { }\n this.loading = false;\n }\n\n async submit() {\n if (this.loading) {\n return;\n }\n\n if (this.dontAskAgain) {\n await this.storageService.save(ConstantsService.autoConfirmFingerprints, true);\n }\n\n try {\n this.formPromise = this.doConfirmation();\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Confirmed User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenConfirmed', this.name));\n this.onConfirmedUser.emit();\n } catch { }\n }\n\n private async doConfirmation() {\n const orgKey = await this.cryptoService.getOrgKey(this.organizationId);\n const key = await this.cryptoService.rsaEncrypt(orgKey.key, this.publicKey.buffer);\n const request = new OrganizationUserConfirmRequest();\n request.key = key.encryptedString;\n await this.apiService.postOrganizationUserConfirm(this.organizationId, this.organizationUserId, request);\n }\n}\n","
\n
\n
\n
\n

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

\n \n
\n
\n

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

\n

{{fingerprint}}

\n
\n \n \n
\n
\n
\n \n \n
\n
\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","
\n
\n
\n
\n

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

\n \n
\n
\n \n {{'loading' | i18n}}\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","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 { PolicyType } from 'jslib/enums/policyType';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { EnvironmentService } from 'jslib/abstractions';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { PolicyResponse } from 'jslib/models/response/policyResponse';\n\nimport { ModalComponent } from '../../modal.component';\n\nimport { PolicyEditComponent } from './policy-edit.component';\n\n@Component({\n selector: 'app-org-policies',\n templateUrl: 'policies.component.html',\n})\nexport class PoliciesComponent implements OnInit {\n @ViewChild('editTemplate', { read: ViewContainerRef, static: true }) editModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n policies: any[];\n\n // Remove when removing deprecation warning\n enterpriseTokenPromise: Promise;\n userCanAccessBusinessPortal = false;\n\n private enterpriseUrl: string;\n\n private modal: ModalComponent = null;\n private orgPolicies: PolicyResponse[];\n private policiesEnabledMap: Map = new Map();\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private platformUtilsService: PlatformUtilsService, private userService: UserService,\n private router: Router, private environmentService: EnvironmentService) { }\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.usePolicies) {\n this.router.navigate(['/organizations', this.organizationId]);\n return;\n }\n this.userCanAccessBusinessPortal = organization.canAccessBusinessPortal;\n this.policies = [\n {\n name: this.i18nService.t('twoStepLogin'),\n description: this.i18nService.t('twoStepLoginPolicyDesc'),\n type: PolicyType.TwoFactorAuthentication,\n enabled: false,\n display: true,\n },\n {\n name: this.i18nService.t('masterPass'),\n description: this.i18nService.t('masterPassPolicyDesc'),\n type: PolicyType.MasterPassword,\n enabled: false,\n display: true,\n },\n {\n name: this.i18nService.t('passwordGenerator'),\n description: this.i18nService.t('passwordGeneratorPolicyDesc'),\n type: PolicyType.PasswordGenerator,\n enabled: false,\n display: true,\n },\n {\n name: this.i18nService.t('singleOrg'),\n description: this.i18nService.t('singleOrgDesc'),\n type: PolicyType.SingleOrg,\n enabled: false,\n display: true,\n },\n {\n name: this.i18nService.t('requireSso'),\n description: this.i18nService.t('requireSsoPolicyDesc'),\n type: PolicyType.RequireSso,\n enabled: false,\n display: organization.useSso,\n },\n {\n name: this.i18nService.t('personalOwnership'),\n description: this.i18nService.t('personalOwnershipPolicyDesc'),\n type: PolicyType.PersonalOwnership,\n enabled: false,\n display: true,\n },\n ];\n await this.load();\n\n // Handle policies component launch from Event message\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.policyId != null) {\n const policyIdFromEvents: string = qParams.policyId;\n for (const orgPolicy of this.orgPolicies) {\n if (orgPolicy.id === policyIdFromEvents) {\n for (let i = 0; i < this.policies.length; i++) {\n if (this.policies[i].type === orgPolicy.type) {\n this.edit(this.policies[i]);\n break;\n }\n }\n break;\n }\n }\n }\n\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n });\n\n // Remove when removing deprecation warning\n this.enterpriseUrl = 'https://portal.bitwarden.com';\n if (this.environmentService.enterpriseUrl != null) {\n this.enterpriseUrl = this.environmentService.enterpriseUrl;\n } else if (this.environmentService.baseUrl != null) {\n this.enterpriseUrl = this.environmentService.baseUrl + '/portal';\n }\n }\n\n async load() {\n const response = await this.apiService.getPolicies(this.organizationId);\n this.orgPolicies = response.data != null && response.data.length > 0 ? response.data : [];\n this.orgPolicies.forEach((op) => {\n this.policiesEnabledMap.set(op.type, op.enabled);\n });\n this.policies.forEach((p) => {\n p.enabled = this.policiesEnabledMap.has(p.type) && this.policiesEnabledMap.get(p.type);\n });\n this.loading = false;\n }\n\n edit(p: any) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.editModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n PolicyEditComponent, this.editModalRef);\n\n childComponent.name = p.name;\n childComponent.description = p.description;\n childComponent.type = p.type;\n childComponent.organizationId = this.organizationId;\n childComponent.policiesEnabledMap = this.policiesEnabledMap;\n childComponent.onSavedPolicy.subscribe(() => {\n this.modal.close();\n this.load();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n\n // Remove when removing deprecation warning\n async goToEnterprisePortal() {\n if (this.enterpriseTokenPromise != null) {\n return;\n }\n try {\n this.enterpriseTokenPromise = this.apiService.getEnterprisePortalSignInToken();\n const token = await this.enterpriseTokenPromise;\n if (token != null) {\n const userId = await this.userService.getUserId();\n this.platformUtilsService.launchUri(this.enterpriseUrl + '/login?userId=' + userId +\n '&token=' + (window as any).encodeURIComponent(token) + '&organizationId=' + this.organizationId);\n }\n } catch { }\n this.enterpriseTokenPromise = null;\n }\n}\n","\n

{{'webPoliciesDeprecationWarning' | i18n}}

\n \n
\n
\n

{{'policies' | i18n}}

\n
\n\n \n {{'loading' | i18n}}\n\n\n \n \n \n \n \n
\n {{p.name}}\n {{'enabled' | i18n}}\n {{p.description}}\n
\n\n","// Using index.ts is deprecated, please do not extend\nexport { 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 { CryptoService } from './crypto.service';\nexport { EnvironmentService } from './environment.service';\nexport { FolderService } from './folder.service';\nexport { I18nService } from './i18n.service';\nexport { LogService } from './log.service';\nexport { MessagingService } from './messaging.service';\nexport { PasswordGenerationService } from './passwordGeneration.service';\nexport { PlatformUtilsService } from './platformUtils.service';\nexport { SearchService } from './search.service';\nexport { SettingsService } from './settings.service';\nexport { StorageService } from './storage.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';\nexport { VaultTimeoutService } from './vaultTimeout.service';\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 { PolicyType } from 'jslib/enums/policyType';\n\nimport { PolicyRequest } from 'jslib/models/request/policyRequest';\n\nimport { PolicyResponse } from 'jslib/models/response/policyResponse';\n\n@Component({\n selector: 'app-policy-edit',\n templateUrl: 'policy-edit.component.html',\n})\nexport class PolicyEditComponent implements OnInit {\n @Input() name: string;\n @Input() description: string;\n @Input() type: PolicyType;\n @Input() organizationId: string;\n @Input() policiesEnabledMap: Map = new Map();\n @Output() onSavedPolicy = new EventEmitter();\n\n policyType = PolicyType;\n loading = true;\n enabled = false;\n formPromise: Promise;\n passwordScores: any[];\n defaultTypes: any[];\n\n // Master password\n\n masterPassMinComplexity?: number = null;\n masterPassMinLength?: number;\n masterPassRequireUpper?: number;\n masterPassRequireLower?: number;\n masterPassRequireNumbers?: number;\n masterPassRequireSpecial?: number;\n\n // Password generator\n\n passGenDefaultType?: string;\n passGenMinLength?: number;\n passGenUseUpper?: boolean;\n passGenUseLower?: boolean;\n passGenUseNumbers?: boolean;\n passGenUseSpecial?: boolean;\n passGenMinNumbers?: number;\n passGenMinSpecial?: number;\n passGenMinNumberWords?: number;\n passGenCapitalize?: boolean;\n passGenIncludeNumber?: boolean;\n\n private policy: PolicyResponse;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) {\n this.passwordScores = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: i18nService.t('weak') + ' (0)', value: 0 },\n { name: i18nService.t('weak') + ' (1)', value: 1 },\n { name: i18nService.t('weak') + ' (2)', value: 2 },\n { name: i18nService.t('good') + ' (3)', value: 3 },\n { name: i18nService.t('strong') + ' (4)', value: 4 },\n ];\n this.defaultTypes = [\n { name: i18nService.t('userPreference'), value: null },\n { name: i18nService.t('password'), value: 'password' },\n { name: i18nService.t('passphrase'), value: 'passphrase' },\n ];\n }\n\n async ngOnInit() {\n await this.load();\n this.loading = false;\n }\n\n async load() {\n try {\n this.policy = await this.apiService.getPolicy(this.organizationId, this.type);\n\n if (this.policy != null) {\n this.enabled = this.policy.enabled;\n if (this.policy.data != null) {\n switch (this.type) {\n case PolicyType.PasswordGenerator:\n this.passGenDefaultType = this.policy.data.defaultType;\n this.passGenMinLength = this.policy.data.minLength;\n this.passGenUseUpper = this.policy.data.useUpper;\n this.passGenUseLower = this.policy.data.useLower;\n this.passGenUseNumbers = this.policy.data.useNumbers;\n this.passGenUseSpecial = this.policy.data.useSpecial;\n this.passGenMinNumbers = this.policy.data.minNumbers;\n this.passGenMinSpecial = this.policy.data.minSpecial;\n this.passGenMinNumberWords = this.policy.data.minNumberWords;\n this.passGenCapitalize = this.policy.data.capitalize;\n this.passGenIncludeNumber = this.policy.data.includeNumber;\n break;\n case PolicyType.MasterPassword:\n this.masterPassMinComplexity = this.policy.data.minComplexity;\n this.masterPassMinLength = this.policy.data.minLength;\n this.masterPassRequireUpper = this.policy.data.requireUpper;\n this.masterPassRequireLower = this.policy.data.requireLower;\n this.masterPassRequireNumbers = this.policy.data.requireNumbers;\n this.masterPassRequireSpecial = this.policy.data.requireSpecial;\n break;\n default:\n break;\n }\n }\n }\n } catch (e) {\n if (e.statusCode === 404) {\n this.enabled = false;\n } else {\n throw e;\n }\n }\n }\n\n async submit() {\n if (this.preValidate()) {\n const request = new PolicyRequest();\n request.enabled = this.enabled;\n request.type = this.type;\n request.data = null;\n switch (this.type) {\n case PolicyType.PasswordGenerator:\n request.data = {\n defaultType: this.passGenDefaultType,\n minLength: this.passGenMinLength || null,\n useUpper: this.passGenUseUpper,\n useLower: this.passGenUseLower,\n useNumbers: this.passGenUseNumbers,\n useSpecial: this.passGenUseSpecial,\n minNumbers: this.passGenMinNumbers || null,\n minSpecial: this.passGenMinSpecial || null,\n minNumberWords: this.passGenMinNumberWords || null,\n capitalize: this.passGenCapitalize,\n includeNumber: this.passGenIncludeNumber,\n };\n break;\n case PolicyType.MasterPassword:\n request.data = {\n minComplexity: this.masterPassMinComplexity || null,\n minLength: this.masterPassMinLength || null,\n requireUpper: this.masterPassRequireUpper,\n requireLower: this.masterPassRequireLower,\n requireNumbers: this.masterPassRequireNumbers,\n requireSpecial: this.masterPassRequireSpecial,\n };\n break;\n default:\n break;\n }\n try {\n this.formPromise = this.apiService.putPolicy(this.organizationId, this.type, request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Edited Policy' });\n this.toasterService.popAsync('success', null, this.i18nService.t('editedPolicyId', this.name));\n this.onSavedPolicy.emit();\n } catch { }\n }\n }\n\n get checkboxDesc(): string {\n return this.type === PolicyType.PersonalOwnership ? this.i18nService.t('personalOwnershipCheckboxDesc') :\n this.i18nService.t('enabled');\n }\n\n private preValidate(): boolean {\n switch (this.type) {\n case PolicyType.RequireSso:\n // Don't need prevalidation checks if submitting to disable\n if (!this.enabled) {\n return true;\n }\n // Have SingleOrg policy enabled?\n if (!(this.policiesEnabledMap.has(PolicyType.SingleOrg)\n && this.policiesEnabledMap.get(PolicyType.SingleOrg))) {\n this.toasterService.popAsync('error', null, this.i18nService.t('requireSsoPolicyReqError'));\n return false;\n }\n return true;\n\n case PolicyType.SingleOrg:\n // Don't need prevalidation checks if submitting to enable\n if (this.enabled) {\n return true;\n }\n // If RequireSso Policy is enabled prevent submittal\n if (this.policiesEnabledMap.has(PolicyType.RequireSso)\n && this.policiesEnabledMap.get(PolicyType.RequireSso)) {\n this.toasterService.popAsync('error', null, this.i18nService.t('disableRequireSsoError'));\n return false;\n }\n return true;\n\n default:\n return true;\n }\n }\n}\n","
\n
\n
\n
\n

{{'editPolicy' | i18n}} - {{name}}

\n \n
\n
\n \n {{'loading' | i18n}}\n
\n
\n

{{description}}

\n \n {{'twoStepLoginPolicyWarning' | i18n}}\n \n \n {{'singleOrgPolicyWarning' | i18n}}\n \n \n \n {{'requireSsoPolicyReq' | i18n}}\n \n \n {{'requireSsoExemption' | i18n}}\n \n \n \n {{'personalOwnershipExemption' | 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

{{'password' | 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

{{'passphrase' | 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","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 { PlatformUtilsService } from 'jslib/abstractions/platformUtils.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 { ApiKeyComponent } from '../../settings/api-key.component';\nimport { PurgeVaultComponent } from '../../settings/purge-vault.component';\nimport { TaxInfoComponent } from '../../settings/tax-info.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, static: true }) deleteModalRef: ViewContainerRef;\n @ViewChild('purgeOrganizationTemplate', { read: ViewContainerRef, static: true }) purgeModalRef: ViewContainerRef;\n @ViewChild('apiKeyTemplate', { read: ViewContainerRef, static: true }) apiKeyModalRef: ViewContainerRef;\n @ViewChild('rotateApiKeyTemplate', { read: ViewContainerRef, static: true }) rotateApiKeyModalRef: ViewContainerRef;\n @ViewChild(TaxInfoComponent) taxInfo: TaxInfoComponent;\n\n selfHosted = false;\n loading = true;\n canUseApi = false;\n org: OrganizationResponse;\n formPromise: Promise;\n taxFormPromise: 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 private platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n this.selfHosted = this.platformUtilsService.isSelfHost();\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 this.canUseApi = this.org.useApi;\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 request.identifier = this.org.identifier;\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 async submitTaxInfo() {\n this.taxFormPromise = this.taxInfo.submitTaxInfo();\n await this.taxFormPromise;\n this.analytics.eventTrack.next({ action: 'Updated Organization Tax Info' });\n this.toasterService.popAsync('success', null, this.i18nService.t('taxInfoUpdated'));\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 purgeVault() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.purgeModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(PurgeVaultComponent, this.purgeModalRef);\n childComponent.organizationId = this.organizationId;\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n viewApiKey() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.apiKeyModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(ApiKeyComponent, this.apiKeyModalRef);\n childComponent.keyType = 'organization';\n childComponent.entityId = this.organizationId;\n childComponent.postKey = this.apiService.postOrganizationApiKey.bind(this.apiService);\n childComponent.scope = 'api.organization';\n childComponent.grantType = 'client_credentials';\n childComponent.apiKeyTitle = 'apiKey';\n childComponent.apiKeyWarning = 'apiKeyWarning';\n childComponent.apiKeyDescription = 'apiKeyDesc';\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n rotateApiKey() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.rotateApiKeyModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(ApiKeyComponent, this.rotateApiKeyModalRef);\n childComponent.keyType = 'organization';\n childComponent.isRotation = true;\n childComponent.entityId = this.organizationId;\n childComponent.postKey = this.apiService.postOrganizationRotateApiKey.bind(this.apiService);\n childComponent.scope = 'api.organization';\n childComponent.grantType = 'client_credentials';\n childComponent.apiKeyTitle = 'apiKey';\n childComponent.apiKeyWarning = 'apiKeyWarning';\n childComponent.apiKeyDescription = 'apiKeyRotateDesc';\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n}\n","
\n

{{'myOrganization' | i18n}}

\n
\n
\n \n {{'loading' | 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

{{'apiKey' | i18n}}

\n
\n

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

\n \n \n
\n
\n

{{'taxInformation' | i18n}}

\n
\n

{{'taxInformationDesc' | i18n}}

\n
\n \n {{'loading' | i18n}}\n
\n
\n \n \n
\n
\n

{{'dangerZone' | i18n}}

\n
\n
\n
\n

{{'dangerZoneDesc' | i18n}}

\n \n \n
\n
\n\n\n\n\n","import { TaxInfoUpdateRequest } from './taxInfoUpdateRequest';\n\nexport class OrganizationTaxInfoUpdateRequest extends TaxInfoUpdateRequest {\n taxId: string;\n line1: string;\n line2: string;\n city: string;\n state: string;\n}\n","export class TaxInfoUpdateRequest {\n country: string;\n postalCode: string;\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","
\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","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 { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { UserBillingComponent } from '../../settings/user-billing.component';\n\n@Component({\n selector: 'app-org-billing',\n templateUrl: '../../settings/user-billing.component.html',\n})\nexport class OrganizationBillingComponent extends UserBillingComponent implements OnInit {\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n private route: ActivatedRoute, platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\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","export class WebConstants {\n static readonly stripeTestKey = 'pk_test_KPoCfZXu7mznb9uSCPZ2JpTD';\n static readonly stripeLiveKey = 'pk_live_bpN0P37nMxrMQkcaHXtAybJk';\n static readonly btSandboxKey = 'sandbox_r72q8jq6_9pnxkwm75f87sdc2';\n static readonly btProductionKey = 'production_qfbsv8kc_njj2zjtyngtjmbjd';\n static readonly paypal = {\n businessIdProduction: '4ZDA7DLUUJGMN',\n businessIdSandbox: 'AD3LAUZSNVPJY',\n buttonActionProduction: 'https://www.paypal.com/cgi-bin/webscr',\n buttonActionSandbox: 'https://www.sandbox.paypal.com/cgi-bin/webscr',\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 { OrganizationSubscriptionResponse } from 'jslib/models/response/organizationSubscriptionResponse';\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';\n\nimport { PlanType } from 'jslib/enums/planType';\n\n@Component({\n selector: 'app-org-subscription',\n templateUrl: 'organization-subscription.component.html',\n})\nexport class OrganizationSubscriptionComponent implements OnInit {\n loading = false;\n firstLoaded = false;\n organizationId: string;\n adjustSeatsAdd = true;\n showAdjustSeats = false;\n adjustStorageAdd = true;\n showAdjustStorage = false;\n showUpdateLicense = false;\n showDownloadLicense = false;\n showChangePlan = false;\n sub: OrganizationSubscriptionResponse;\n selfHosted = false;\n\n cancelPromise: Promise;\n reinstatePromise: Promise;\n\n constructor(private apiService: ApiService, private platformUtilsService: PlatformUtilsService,\n private i18nService: I18nService, private analytics: Angulartics2,\n private toasterService: ToasterService, private messagingService: MessagingService,\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.sub = await this.apiService.getOrganizationSubscription(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 if (this.subscription == null && this.sub.planType === PlanType.Free) {\n this.showChangePlan = !this.showChangePlan;\n return;\n }\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 closeChangePlan(changed: boolean) {\n this.showChangePlan = false;\n }\n\n downloadLicense() {\n this.showDownloadLicense = !this.showDownloadLicense;\n }\n\n closeDownloadLicense() {\n this.showDownloadLicense = false;\n }\n\n updateLicense() {\n if (this.loading) {\n return;\n }\n this.showUpdateLicense = true;\n }\n\n closeUpdateLicense(updated: boolean) {\n this.showUpdateLicense = false;\n if (updated) {\n this.load();\n this.messagingService.send('updatedOrgLicense');\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 get isExpired() {\n return this.sub != null && this.sub.expiration != null &&\n new Date(this.sub.expiration) < new Date();\n }\n\n get subscriptionMarkedForCancel() {\n return this.subscription != null && !this.subscription.cancelled && this.subscription.cancelAtEndDate;\n }\n\n get subscription() {\n return this.sub != null ? this.sub.subscription : null;\n }\n\n get nextInvoice() {\n return this.sub != null ? this.sub.upcomingInvoice : null;\n }\n\n get storagePercentage() {\n return this.sub != null && this.sub.maxStorageGb ?\n +(100 * (this.sub.storageGb / this.sub.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.sub.plan.isAnnual;\n return monthly ? 'month' : 'year';\n }\n\n get storageGbPrice() {\n return this.sub.plan.additionalStoragePricePerGb;\n }\n\n get seatPrice() {\n return this.sub.plan.seatPrice;\n }\n\n get canAdjustSeats() {\n return this.sub.plan.hasAdditionalSeatsOption;\n }\n\n get canDownloadLicense() {\n return (this.sub.planType !== PlanType.Free && this.subscription == null) ||\n (this.subscription != null && !this.subscription.cancelled);\n }\n}\n","
\n

\n {{'subscription' | i18n}}\n \n \n {{'loading' | i18n}}\n \n

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

{{'subscriptionPendingCanceled' | i18n}}

\n \n
\n
\n
{{'billingPlan' | i18n}}
\n
{{sub.plan.name}}
\n
{{'expiration' | i18n}}
\n
\n {{sub.expiration | date:'mediumDate'}}\n \n \n {{'licenseIsExpired' | i18n}}\n \n
\n
{{'neverExpires' | i18n}}
\n
\n
\n
\n
\n
{{'billingPlan' | i18n}}
\n
{{sub.plan.name}}
\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 \n

{{'updateLicense' | i18n}}

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

{{'userSeats' | i18n}}

\n

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

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

{{'storage' | i18n}}

\n

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

\n
\n
\n {{(storagePercentage / 100) | percent}}
\n
\n \n
\n
\n \n \n
\n \n
\n
\n
\n
\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { PlanType } from 'jslib/enums/planType';\nimport { ProductType } from 'jslib/enums/productType';\n\n@Component({\n selector: 'app-change-plan',\n templateUrl: 'change-plan.component.html',\n})\nexport class ChangePlanComponent {\n @Input() organizationId: string;\n @Output() onChanged = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n formPromise: Promise;\n defaultUpgradePlan: PlanType = PlanType.FamiliesAnnually;\n defaultUpgradeProduct: ProductType = ProductType.Families;\n\n constructor(private apiService: ApiService, private platformUtilsService: PlatformUtilsService) { }\n\n async submit() {\n try {\n this.platformUtilsService.eventTrack('Changed Plan');\n this.onChanged.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n}\n","
\n
\n \n

{{'changeBillingPlan' | i18n}}

\n

{{'changeBillingPlanUpgrade' | i18n}}

\n \n \n
\n
\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\n@Component({\n selector: 'app-download-license',\n templateUrl: 'download-license.component.html',\n})\nexport class DownloadLicenseComponent {\n @Input() organizationId: string;\n @Output() onDownloaded = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n installationId: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private platformUtilsService: PlatformUtilsService) { }\n\n async submit() {\n if (this.installationId == null || this.installationId === '') {\n return;\n }\n\n try {\n this.formPromise = this.apiService.getOrganizationLicense(this.organizationId, this.installationId);\n const license = await this.formPromise;\n const licenseString = JSON.stringify(license, null, 2);\n this.platformUtilsService.saveFile(window, licenseString, null, 'bitwarden_organization_license.json');\n this.platformUtilsService.eventTrack('Downloaded License');\n this.onDownloaded.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n}\n","
\n
\n \n

{{'downloadLicense' | i18n}}

\n
\n
\n
\n \n \n \n \n
\n \n
\n
\n \n \n
\n
\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\n\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 { SeatRequest } from 'jslib/models/request/seatRequest';\n\nimport { PaymentComponent } from '../../settings/payment.component';\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 @ViewChild(PaymentComponent, { static: true }) paymentComponent: PaymentComponent;\n\n seatAdjustment = 0;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private router: Router, private activatedRoute: ActivatedRoute) { }\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 let paymentFailed = false;\n const action = async () => {\n const result = await this.apiService.postOrganizationSeat(this.organizationId, request);\n if (result != null && result.paymentIntentClientSecret != null) {\n try {\n await this.paymentComponent.handleStripeCardPayment(result.paymentIntentClientSecret, null);\n } catch {\n paymentFailed = true;\n }\n }\n };\n this.formPromise = action();\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.add ? 'Added Seats' : 'Removed Seats' });\n this.onAdjusted.emit(this.seatAdjustment);\n if (paymentFailed) {\n this.toasterService.popAsync({\n body: this.i18nService.t('couldNotChargeCardPayInvoice'),\n type: 'warning',\n timeout: 10000,\n });\n this.router.navigate(['../billing'], { relativeTo: this.activatedRoute });\n } else {\n this.toasterService.popAsync('success', null,\n this.i18nService.t('adjustedSeats', request.seatAdjustment.toString()));\n }\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n get adjustedSeatTotal(): number {\n return this.seatAdjustment * this.seatPrice;\n }\n}\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","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\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 selfHosted: boolean;\n\n constructor(private route: ActivatedRoute, private userService: UserService,\n private platformUtilsService: PlatformUtilsService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async (params) => {\n this.selfHosted = await this.platformUtilsService.isSelfHost();\n const organization = await this.userService.getOrganization(params.organizationId);\n this.access2fa = organization.use2fa;\n });\n }\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 { PolicyService } from 'jslib/abstractions/policy.service';\nimport { UserService } from 'jslib/abstractions/user.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, userService: UserService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n policyService: PolicyService, private route: ActivatedRoute) {\n super(apiService, userService, componentFactoryResolver, messagingService, policyService);\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 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","
\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","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","
\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","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.onafterprint = () => w.close();\n w.print();\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","
\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","import {\n Component,\n NgZone,\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';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\nimport { UpdateTwoFactorU2fDeleteRequest } from 'jslib/models/request/updateTwoFactorU2fDeleteRequest';\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 name: string;\n keys: any[];\n keyIdAvailable: number = null;\n keysConfiguredCount = 0;\n u2fError: boolean;\n u2fListening: boolean;\n u2fResponse: string;\n challengePromise: Promise;\n formPromise: Promise;\n\n private u2fScript: HTMLScriptElement;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private ngZone: NgZone) {\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 window.document.body.removeChild(this.u2fScript);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.u2fResponse == null || this.keyIdAvailable == null) {\n // Should never happen.\n return Promise.reject();\n }\n const request = new UpdateTwoFactorU2fRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.deviceResponse = this.u2fResponse;\n request.id = this.keyIdAvailable;\n request.name = this.name;\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 disable() {\n return super.disable(this.formPromise);\n }\n\n async remove(key: any) {\n if (this.keysConfiguredCount <= 1 || key.removePromise != null) {\n return;\n }\n const name = key.name != null ? key.name : this.i18nService.t('u2fkeyX', key.id);\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('removeU2fConfirmation'), name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n const request = new UpdateTwoFactorU2fDeleteRequest();\n request.id = key.id;\n request.masterPasswordHash = this.masterPasswordHash;\n try {\n key.removePromise = this.apiService.deleteTwoFactorU2f(request);\n const response = await key.removePromise;\n key.removePromise = null;\n await this.processResponse(response);\n } catch { }\n }\n\n async readKey() {\n if (this.keyIdAvailable == null) {\n return;\n }\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n try {\n this.challengePromise = this.apiService.getTwoFactorU2fChallenge(request);\n const challenge = await this.challengePromise;\n this.readDevice(challenge);\n } catch { }\n }\n\n private readDevice(u2fChallenge: ChallengeResponse) {\n // tslint:disable-next-line\n console.log('listening for key...');\n this.resetU2f(true);\n (window as any).u2f.register(u2fChallenge.appId, [{\n version: u2fChallenge.version,\n challenge: u2fChallenge.challenge,\n }], [], (data: any) => {\n this.ngZone.run(() => {\n this.u2fListening = false;\n 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 });\n }, 15);\n }\n\n private resetU2f(listening = false) {\n this.u2fResponse = null;\n this.u2fError = false;\n this.u2fListening = listening;\n }\n\n private processResponse(response: TwoFactorU2fResponse) {\n this.resetU2f();\n this.keys = [];\n this.keyIdAvailable = null;\n this.name = null;\n this.keysConfiguredCount = 0;\n for (let i = 1; i <= 5; i++) {\n if (response.keys != null) {\n const key = response.keys.filter((k) => k.id === i);\n if (key.length > 0) {\n this.keysConfiguredCount++;\n this.keys.push({\n id: i, name: key[0].name,\n configured: true,\n compromised: key[0].compromised,\n removePromise: null,\n });\n continue;\n }\n }\n this.keys.push({ id: i, name: null, configured: false, compromised: false, removePromise: null });\n if (this.keyIdAvailable == null) {\n this.keyIdAvailable = i;\n }\n }\n this.enabled = response.enabled;\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
  • \n \n {{'u2fkeyX' | i18n : i + 1}}\n {{k.name}}\n \n \n \n {{'keyCompromised' | i18n}}\n \n \n \n {{'enabled' | i18n}}\n \n \n 1 && k.configured\">\n \n -\n {{'remove' | i18n}}\n \n
  • \n
\n
\n

{{'twoFactorU2fAdd' | i18n}}:

\n
    \n
  1. {{'twoFactorU2fGiveName' | i18n}}
  2. \n
  3. {{'twoFactorU2fPlugInReadKey' | i18n}}
  4. \n
  5. {{'twoFactorU2fTouchButton' | i18n}}
  6. \n
  7. {{'twoFactorU2fSaveForm' | i18n}}
  8. \n
\n
\n
\n \n \n
\n
\n \n \n \n \n \n \n \n {{'twoFactorU2fWaiting' | i18n}}...\n \n \n \n {{'twoFactorU2fClickSave' | i18n}}\n \n \n \n {{'twoFactorU2fProblemReadingTryAgain' | i18n}}\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 { 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","
\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","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { EventService } from 'jslib/abstractions/event.service';\nimport { ExportService } from 'jslib/abstractions/export.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { ExportComponent as BaseExportComponent } from '../../tools/export.component';\n\nimport { EventType } from 'jslib/enums/eventType';\n\n@Component({\n selector: 'app-org-export',\n templateUrl: '../../tools/export.component.html',\n})\nexport class ExportComponent extends BaseExportComponent {\n constructor(cryptoService: CryptoService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService, exportService: ExportService,\n eventService: EventService, private route: ActivatedRoute) {\n super(cryptoService, i18nService, platformUtilsService, exportService, eventService);\n }\n\n ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n });\n }\n\n getExportData() {\n return this.exportService.getOrganizationExport(this.organizationId, this.format);\n }\n\n getFileName() {\n return super.getFileName('org');\n }\n\n async collectEvent(): Promise {\n // TODO\n // await this.eventService.collect(EventType.Organization_ClientExportedVault);\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport {\n ExposedPasswordsReportComponent as BaseExposedPasswordsReportComponent,\n} from '../../tools/exposed-passwords-report.component';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\nimport { Cipher } from 'jslib/models/domain/cipher';\n\n@Component({\n selector: 'app-exposed-passwords-report',\n templateUrl: '../../tools/exposed-passwords-report.component.html',\n})\nexport class ExposedPasswordsReportComponent extends BaseExposedPasswordsReportComponent {\n manageableCiphers: Cipher[];\n\n constructor(cipherService: CipherService, auditService: AuditService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n userService: UserService, private route: ActivatedRoute) {\n super(cipherService, auditService, componentFactoryResolver, messagingService, userService);\n }\n\n ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n this.manageableCiphers = await this.cipherService.getAll();\n super.ngOnInit();\n });\n }\n\n getAllCiphers(): Promise {\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\n }\n\n canManageCipher(c: CipherView): boolean {\n return this.manageableCiphers.some(x => x.id === c.id);\n }\n}\n","import { PasswordHistoryResponse } from '../response/passwordHistoryResponse';\n\nexport class PasswordHistoryData {\n password: string;\n lastUsedDate: string;\n\n constructor(response?: PasswordHistoryResponse) {\n if (response == null) {\n return;\n }\n\n this.password = response.password;\n this.lastUsedDate = response.lastUsedDate;\n }\n}\n","import { View } from './view';\n\nimport { Attachment } from '../domain/attachment';\nimport { SymmetricCryptoKey } from '../domain/symmetricCryptoKey';\n\nexport class AttachmentView implements View {\n id: string = null;\n url: string = null;\n size: string = null;\n sizeName: string = null;\n fileName: string = null;\n key: SymmetricCryptoKey = null;\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 get fileSize(): number {\n try {\n if (this.size != null) {\n return parseInt(this.size, null);\n }\n } catch { }\n return 0;\n }\n}\n","import { PasswordHistoryData } from '../data/passwordHistoryData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nimport { PasswordHistoryView } from '../view/passwordHistoryView';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport class Password extends Domain {\n password: CipherString;\n lastUsedDate: Date;\n\n constructor(obj?: PasswordHistoryData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n password: null,\n }, alreadyEncrypted);\n this.lastUsedDate = new Date(obj.lastUsedDate);\n }\n\n decrypt(orgId: string, encKey?: SymmetricCryptoKey): Promise {\n return this.decryptObj(new PasswordHistoryView(this), {\n password: null,\n }, orgId, encKey);\n }\n\n toPasswordHistoryData(): PasswordHistoryData {\n const ph = new PasswordHistoryData();\n ph.lastUsedDate = this.lastUsedDate.toISOString();\n this.buildDataModel(this, ph, {\n password: null,\n });\n return ph;\n }\n}\n","import { CipherRequest } from './cipherRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherCreateRequest {\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 { BaseResponse } from '../response/baseResponse';\n\nexport class CardApi extends BaseResponse {\n cardholderName: string;\n brand: string;\n number: string;\n expMonth: string;\n expYear: string;\n code: string;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.cardholderName = this.getResponseProperty('CardholderName');\n this.brand = this.getResponseProperty('Brand');\n this.number = this.getResponseProperty('Number');\n this.expMonth = this.getResponseProperty('ExpMonth');\n this.expYear = this.getResponseProperty('ExpYear');\n this.code = this.getResponseProperty('Code');\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\n\nimport { FieldType } from '../../enums/fieldType';\n\nexport class FieldApi extends BaseResponse {\n name: string;\n value: string;\n type: FieldType;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.type = this.getResponseProperty('Type');\n this.name = this.getResponseProperty('Name');\n this.value = this.getResponseProperty('Value');\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\n\nexport class IdentityApi extends BaseResponse {\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: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.title = this.getResponseProperty('Title');\n this.firstName = this.getResponseProperty('FirstName');\n this.middleName = this.getResponseProperty('MiddleName');\n this.lastName = this.getResponseProperty('LastName');\n this.address1 = this.getResponseProperty('Address1');\n this.address2 = this.getResponseProperty('Address2');\n this.address3 = this.getResponseProperty('Address3');\n this.city = this.getResponseProperty('City');\n this.state = this.getResponseProperty('State');\n this.postalCode = this.getResponseProperty('PostalCode');\n this.country = this.getResponseProperty('Country');\n this.company = this.getResponseProperty('Company');\n this.email = this.getResponseProperty('Email');\n this.phone = this.getResponseProperty('Phone');\n this.ssn = this.getResponseProperty('SSN');\n this.username = this.getResponseProperty('Username');\n this.passportNumber = this.getResponseProperty('PassportNumber');\n this.licenseNumber = this.getResponseProperty('LicenseNumber');\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\n\nimport { LoginUriApi } from './loginUriApi';\n\nexport class LoginApi extends BaseResponse {\n uris: LoginUriApi[];\n username: string;\n password: string;\n passwordRevisionDate: string;\n totp: string;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.username = this.getResponseProperty('Username');\n this.password = this.getResponseProperty('Password');\n this.passwordRevisionDate = this.getResponseProperty('PasswordRevisionDate');\n this.totp = this.getResponseProperty('Totp');\n\n const uris = this.getResponseProperty('Uris');\n if (uris != null) {\n this.uris = uris.map((u: any) => new LoginUriApi(u));\n }\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\n\nimport { UriMatchType } from '../../enums/uriMatchType';\n\nexport class LoginUriApi extends BaseResponse {\n uri: string;\n match: UriMatchType = null;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.uri = this.getResponseProperty('Uri');\n const match = this.getResponseProperty('Match');\n this.match = match != null ? match : null;\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\n\nimport { SecureNoteType } from '../../enums/secureNoteType';\n\nexport class SecureNoteApi extends BaseResponse {\n type: SecureNoteType;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.type = this.getResponseProperty('Type');\n }\n}\n","import {\n Directive,\n ElementRef,\n HostListener,\n Input,\n} from '@angular/core';\n\n@Directive({\n selector: '[appFallbackSrc]',\n})\nexport class FallbackSrcDirective {\n @Input('appFallbackSrc') appFallbackSrc: string;\n\n constructor(private el: ElementRef) {\n }\n\n @HostListener('error') onError() {\n this.el.nativeElement.src = this.appFallbackSrc;\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 { I18nService } from 'jslib/abstractions/i18n.service';\nimport { ImportService } from 'jslib/abstractions/import.service';\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 constructor(i18nService: I18nService, analytics: Angulartics2,\n toasterService: ToasterService, importService: ImportService,\n router: Router, private route: ActivatedRoute) {\n super(i18nService, analytics, toasterService, importService, 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","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport {\n InactiveTwoFactorReportComponent as BaseInactiveTwoFactorReportComponent,\n} from '../../tools/inactive-two-factor-report.component';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\n@Component({\n selector: 'app-inactive-two-factor-report',\n templateUrl: '../../tools/inactive-two-factor-report.component.html',\n})\nexport class InactiveTwoFactorReportComponent extends BaseInactiveTwoFactorReportComponent {\n constructor(cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService,\n private route: ActivatedRoute) {\n super(cipherService, componentFactoryResolver, messagingService, userService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n await super.ngOnInit();\n });\n }\n\n getAllCiphers(): Promise {\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Cipher } from 'jslib/models/domain/cipher';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport {\n ReusedPasswordsReportComponent as BaseReusedPasswordsReportComponent,\n} from '../../tools/reused-passwords-report.component';\n\n@Component({\n selector: 'app-reused-passwords-report',\n templateUrl: '../../tools/reused-passwords-report.component.html',\n})\nexport class ReusedPasswordsReportComponent extends BaseReusedPasswordsReportComponent {\n manageableCiphers: Cipher[];\n\n constructor(cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService,\n private route: ActivatedRoute) {\n super(cipherService, componentFactoryResolver, messagingService, userService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n this.manageableCiphers = await this.cipherService.getAll();\n await super.ngOnInit();\n });\n }\n\n getAllCiphers(): Promise {\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\n }\n\n canManageCipher(c: CipherView): boolean {\n return this.manageableCiphers.some(x => x.id === c.id);\n }\n}\n","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-org-tools',\n templateUrl: 'tools.component.html',\n})\nexport class ToolsComponent {\n organization: Organization;\n accessReports = false;\n loading = true;\n\n constructor(private route: ActivatedRoute, private userService: UserService,\n private messagingService: MessagingService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n // TODO: Maybe we want to just make sure they are not on a free plan? Just compare useTotp for now\n // since all paid plans include useTotp\n this.accessReports = this.organization.useTotp;\n this.loading = false;\n });\n }\n\n upgradeOrganization() {\n this.messagingService.send('upgradeOrganization', { organizationId: this.organization.id });\n }\n}\n","\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport {\n UnsecuredWebsitesReportComponent as BaseUnsecuredWebsitesReportComponent,\n} from '../../tools/unsecured-websites-report.component';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\n@Component({\n selector: 'app-unsecured-websites-report',\n templateUrl: '../../tools/unsecured-websites-report.component.html',\n})\nexport class UnsecuredWebsitesReportComponent extends BaseUnsecuredWebsitesReportComponent {\n constructor(cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService,\n private route: ActivatedRoute) {\n super(cipherService, componentFactoryResolver, messagingService, userService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n await super.ngOnInit();\n });\n }\n\n getAllCiphers(): Promise {\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Cipher } from 'jslib/models/domain/cipher';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport {\n WeakPasswordsReportComponent as BaseWeakPasswordsReportComponent,\n} from '../../tools/weak-passwords-report.component';\n\n@Component({\n selector: 'app-weak-passwords-report',\n templateUrl: '../../tools/weak-passwords-report.component.html',\n})\nexport class WeakPasswordsReportComponent extends BaseWeakPasswordsReportComponent {\n manageableCiphers: Cipher[];\n\n constructor(cipherService: CipherService, passwordGenerationService: PasswordGenerationService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n userService: UserService, private route: ActivatedRoute) {\n super(cipherService, passwordGenerationService, componentFactoryResolver, messagingService, userService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n this.manageableCiphers = await this.cipherService.getAll();\n await super.ngOnInit();\n });\n }\n\n getAllCiphers(): Promise {\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\n }\n\n canManageCipher(c: CipherView): boolean {\n return this.manageableCiphers.some(x => x.id === c.id);\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n NgZone,\n OnDestroy,\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 { BroadcasterService } from 'jslib/angular/services/broadcaster.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\nconst BroadcasterSubscriptionId = 'OrgVaultComponent';\n\n@Component({\n selector: 'app-org-vault',\n templateUrl: 'vault.component.html',\n})\nexport class VaultComponent implements OnInit, OnDestroy {\n @ViewChild(GroupingsComponent, { static: true }) groupingsComponent: GroupingsComponent;\n @ViewChild(CiphersComponent, { static: true }) ciphersComponent: CiphersComponent;\n @ViewChild('attachments', { read: ViewContainerRef, static: true }) attachmentsModalRef: ViewContainerRef;\n @ViewChild('cipherAddEdit', { read: ViewContainerRef, static: true }) cipherAddEditModalRef: ViewContainerRef;\n @ViewChild('collections', { read: ViewContainerRef, static: true }) collectionsModalRef: ViewContainerRef;\n @ViewChild('eventsTemplate', { read: ViewContainerRef, static: true }) eventsModalRef: ViewContainerRef;\n\n organization: Organization;\n collectionId: string = null;\n type: CipherType = null;\n deleted: boolean = false;\n\n modal: ModalComponent = null;\n\n constructor(private route: ActivatedRoute, private userService: UserService,\n private router: Router, private changeDetectorRef: ChangeDetectorRef,\n private syncService: SyncService, private i18nService: I18nService,\n private componentFactoryResolver: ComponentFactoryResolver, private messagingService: MessagingService,\n private broadcasterService: BroadcasterService, private ngZone: NgZone) { }\n\n ngOnInit() {\n const queryParams = 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 const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n this.ciphersComponent.searchText = this.groupingsComponent.searchText = qParams.search;\n if (!this.organization.canManageAllCollections) {\n await this.syncService.fullSync(false);\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'syncCompleted':\n if (message.successfully) {\n await Promise.all([\n this.groupingsComponent.load(),\n this.ciphersComponent.refresh(),\n ]);\n this.changeDetectorRef.detectChanges();\n }\n break;\n }\n });\n });\n }\n await this.groupingsComponent.load();\n\n if (qParams == null) {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.reload();\n } else {\n if (qParams.deleted) {\n this.groupingsComponent.selectedTrash = true;\n await this.filterDeleted(true);\n } else 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.reload();\n }\n }\n\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 if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n\n if (queryParams != null) {\n queryParams.unsubscribe();\n }\n });\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n async clearGroupingFilters() {\n this.ciphersComponent.showAddNew = true;\n this.ciphersComponent.deleted = false;\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.ciphersComponent.deleted = false;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchType');\n const filter = (c: CipherView) => c.type === type;\n if (load) {\n await this.ciphersComponent.reload(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 = true;\n this.ciphersComponent.deleted = 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 != null && c.collectionIds.indexOf(collectionId) > -1;\n }\n };\n if (load) {\n await this.ciphersComponent.reload(filter);\n } else {\n await this.ciphersComponent.applyFilter(filter);\n }\n this.clearFilters();\n this.collectionId = collectionId;\n this.go();\n }\n\n async filterDeleted(load: boolean = false) {\n this.ciphersComponent.showAddNew = false;\n this.ciphersComponent.deleted = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchTrash');\n if (load) {\n await this.ciphersComponent.reload(null, true);\n } else {\n await this.ciphersComponent.applyFilter(null);\n }\n this.clearFilters();\n this.deleted = true;\n this.go();\n }\n\n filterSearchText(searchText: string) {\n this.ciphersComponent.searchText = searchText;\n this.ciphersComponent.search(200);\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.canManageAllCollections) {\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.organizationId = this.organization.id;\n component.type = this.type;\n if (this.organization.canManageAllCollections) {\n component.collections = this.groupingsComponent.collections.filter((c) => !c.readOnly);\n }\n if (this.collectionId != null) {\n component.collectionIds = [this.collectionId];\n }\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 childComponent.onRestoredCipher.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 cloneCipher(cipher: CipherView) {\n const component = this.editCipher(cipher);\n component.cloneMode = true;\n component.organizationId = this.organization.id;\n if (this.organization.canManageAllCollections) {\n component.collections = this.groupingsComponent.collections.filter((c) => !c.readOnly);\n }\n // Regardless of Admin state, the collection Ids need to passed manually as they are not assigned value\n // in the add-edit componenet\n component.collectionIds = cipher.collectionIds;\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 this.deleted = false;\n }\n\n private go(queryParams: any = null) {\n if (queryParams == null) {\n queryParams = {\n type: this.type,\n collectionId: this.collectionId,\n deleted: this.deleted ? true : null,\n };\n }\n\n this.router.navigate([], {\n relativeTo: this.route,\n queryParams: queryParams,\n replaceUrl: true,\n });\n }\n}\n","
\n
\n
\n \n \n
\n
\n
\n

\n {{'vault' | i18n}}\n \n \n \n {{'loading' | i18n}}\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 { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.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 { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { AttachmentView } from 'jslib/models/view/attachmentView';\n\nimport { AttachmentsComponent as BaseAttachmentsComponent } from '../../vault/attachments.component';\n\n@Component({\n selector: 'app-org-vault-attachments',\n templateUrl: '../../vault/attachments.component.html',\n})\nexport class AttachmentsComponent extends BaseAttachmentsComponent {\n organization: Organization;\n\n constructor(cipherService: CipherService, i18nService: I18nService,\n cryptoService: CryptoService, userService: UserService,\n platformUtilsService: PlatformUtilsService, private apiService: ApiService) {\n super(cipherService, i18nService, cryptoService, userService, platformUtilsService);\n }\n\n protected async reupload(attachment: AttachmentView) {\n if (this.organization.canManageAllCollections && this.showFixOldAttachments(attachment)) {\n await super.reuploadCipherAttachment(attachment, true);\n }\n }\n\n protected async loadCipher() {\n if (!this.organization.canManageAllCollections) {\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 saveCipherAttachment(file: File) {\n return this.cipherService.saveAttachmentWithServer(this.cipherDomain, file, this.organization.canManageAllCollections);\n }\n\n protected deleteCipherAttachment(attachmentId: string) {\n if (!this.organization.canManageAllCollections) {\n return super.deleteCipherAttachment(attachmentId);\n }\n return this.apiService.deleteCipherAttachmentAdmin(this.cipherId, attachmentId);\n }\n\n protected showFixOldAttachments(attachment: AttachmentView) {\n return attachment.key == null && this.organization.canManageAllCollections;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.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 { CipherCollectionsRequest } from 'jslib/models/request/cipherCollectionsRequest';\n\nimport { CollectionsComponent as BaseCollectionsComponent } from '../../vault/collections.component';\n\n@Component({\n selector: 'app-org-vault-collections',\n templateUrl: '../../vault/collections.component.html',\n})\nexport class CollectionsComponent extends BaseCollectionsComponent {\n organization: Organization;\n\n constructor(collectionService: CollectionService, platformUtilsService: PlatformUtilsService,\n i18nService: I18nService, cipherService: CipherService,\n private apiService: ApiService) {\n super(collectionService, platformUtilsService, i18nService, cipherService);\n this.allowSelectNone = true;\n }\n\n protected async loadCipher() {\n if (!this.organization.canManageAllCollections) {\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 loadCipherCollections() {\n if (!this.organization.canManageAllCollections) {\n return super.loadCipherCollections();\n }\n return this.collectionIds;\n }\n\n protected loadCollections() {\n if (!this.organization.canManageAllCollections) {\n return super.loadCollections();\n }\n return Promise.resolve(this.collections);\n }\n\n protected saveCollections() {\n if (this.organization.canManageAllCollections) {\n const request = new CipherCollectionsRequest(this.cipherDomain.collectionIds);\n return this.apiService.putCipherCollectionsAdmin(this.cipherId, request);\n } else {\n return super.saveCollections();\n }\n }\n}\n","export class CipherCollectionsRequest {\n collectionIds: string[];\n\n constructor(collectionIds: string[]) {\n this.collectionIds = collectionIds == null ? [] : collectionIds;\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\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';\n\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherBulkDeleteRequest } from 'jslib/models/request/cipherBulkDeleteRequest';\n\n@Component({\n selector: 'app-vault-bulk-delete',\n templateUrl: 'bulk-delete.component.html',\n})\nexport class BulkDeleteComponent {\n @Input() cipherIds: string[] = [];\n @Input() permanent: boolean = false;\n @Input() organization: Organization;\n @Output() onDeleted = new EventEmitter();\n\n formPromise: Promise;\n\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\n private toasterService: ToasterService, private i18nService: I18nService,\n private apiService: ApiService) { }\n\n async submit() {\n if (!this.organization || !this.organization.canManageAllCollections) {\n await this.deleteCiphers();\n } else {\n await this.deleteCiphersAdmin();\n }\n\n await this.formPromise;\n\n this.onDeleted.emit();\n this.analytics.eventTrack.next({ action: 'Bulk Deleted Items' });\n this.toasterService.popAsync('success', null, this.i18nService.t(this.permanent ? 'permanentlyDeletedItems'\n : 'deletedItems'));\n }\n\n private async deleteCiphers() {\n if (this.permanent) {\n this.formPromise = await this.cipherService.deleteManyWithServer(this.cipherIds);\n } else {\n this.formPromise = await this.cipherService.softDeleteManyWithServer(this.cipherIds);\n }\n }\n\n private async deleteCiphersAdmin() {\n const deleteRequest = new CipherBulkDeleteRequest(this.cipherIds, this.organization.id);\n if (this.permanent) {\n this.formPromise = await this.apiService.deleteManyCiphersAdmin(deleteRequest);\n } else {\n this.formPromise = await this.apiService.putDeleteManyCiphersAdmin(deleteRequest);\n }\n }\n}\n","
\n
\n
\n
\n

\n {{(permanent ? 'permanentlyDeleteSelected' : 'deleteSelected') | i18n}}\n

\n \n
\n
\n {{(permanent ? 'permanentlyDeleteSelectedItemsDesc' : 'deleteSelectedItemsDesc') | i18n: cipherIds.length}}\n
\n
\n \n \n
\n
\n
\n
\n","export class CipherBulkDeleteRequest {\n ids: string[];\n organizationId: string;\n\n constructor(ids: string[], organizationId?: string) {\n this.ids = ids == null ? [] : ids;\n this.organizationId = organizationId;\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 { CipherService } from 'jslib/abstractions/cipher.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { FolderView } from 'jslib/models/view/folderView';\n\n@Component({\n selector: 'app-vault-bulk-move',\n templateUrl: 'bulk-move.component.html',\n})\nexport class BulkMoveComponent implements OnInit {\n @Input() cipherIds: string[] = [];\n @Output() onMoved = new EventEmitter();\n\n folderId: string = null;\n folders: FolderView[] = [];\n formPromise: Promise;\n\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\n private toasterService: ToasterService, private i18nService: I18nService,\n private folderService: FolderService) { }\n\n async ngOnInit() {\n this.folders = await this.folderService.getAllDecrypted();\n this.folderId = this.folders[0].id;\n }\n\n async submit() {\n this.formPromise = this.cipherService.moveManyWithServer(this.cipherIds, this.folderId);\n await this.formPromise;\n this.onMoved.emit();\n this.analytics.eventTrack.next({ action: 'Bulk Moved Items' });\n this.toasterService.popAsync('success', null, this.i18nService.t('movedItems'));\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","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 { CipherService } from 'jslib/abstractions/cipher.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Component({\n selector: 'app-vault-bulk-restore',\n templateUrl: 'bulk-restore.component.html',\n})\nexport class BulkRestoreComponent {\n @Input() cipherIds: string[] = [];\n @Output() onRestored = new EventEmitter();\n\n formPromise: Promise;\n\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\n private toasterService: ToasterService, private i18nService: I18nService) { }\n\n async submit() {\n this.formPromise = this.cipherService.restoreManyWithServer(this.cipherIds);\n await this.formPromise;\n this.onRestored.emit();\n this.analytics.eventTrack.next({ action: 'Bulk Restored Items' });\n this.toasterService.popAsync('success', null, this.i18nService.t('restoredItems'));\n }\n}\n","
\n
\n
\n
\n

\n {{'restoreSelected' | i18n}}\n

\n \n
\n
\n {{'restoreSelectedItemsDesc' | i18n: cipherIds.length}}\n
\n
\n \n \n
\n
\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 { 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.hasOldAttachments && 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 try {\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 } catch { }\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 get canSave() {\n if (this.shareableCiphers != null && this.shareableCiphers.length > 0 && this.collections != null) {\n for (let i = 0; i < this.collections.length; i++) {\n if ((this.collections[i] as any).checked) {\n return true;\n }\n }\n }\n return false;\n }\n}\n","
\n
\n
\n
\n

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

\n \n
\n
\n

{{'shareManyDesc' | i18n}}

\n

{{'shareSelectedItemsCountDesc' | i18n: this.ciphers.length : shareableCiphers.length : nonShareableCount}}\n

\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","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { SendType } from 'jslib/enums/sendType';\n\nimport { SendView } from 'jslib/models/view/sendView';\n\nimport { AddEditComponent } from './add-edit.component';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SendService } from 'jslib/abstractions/send.service';\n\n@Component({\n selector: 'app-send',\n templateUrl: 'send.component.html',\n})\nexport class SendComponent implements OnInit {\n @ViewChild('sendAddEdit', { read: ViewContainerRef, static: true }) sendAddEditModalRef: ViewContainerRef;\n\n sendType = SendType;\n loaded = false;\n loading = true;\n refreshing = false;\n expired: boolean = false;\n type: SendType = null;\n sends: SendView[] = [];\n filteredSends: SendView[] = [];\n searchText: string;\n selectedType: SendType;\n selectedAll: boolean;\n searchPlaceholder: string;\n filter: (cipher: SendView) => boolean;\n searchPending = false;\n\n modal: ModalComponent = null;\n actionPromise: any;\n\n private searchTimeout: any;\n\n constructor(private apiService: ApiService, private sendService: SendService,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private platformUtilsService: PlatformUtilsService, private environmentService: EnvironmentService) { }\n\n async ngOnInit() {\n await this.load();\n }\n async load(filter: (send: SendView) => boolean = null) {\n this.loading = true;\n const sends = await this.sendService.getAllDecrypted();\n this.sends = sends;\n this.selectAll();\n this.loading = false;\n this.loaded = true;\n }\n\n async reload(filter: (send: SendView) => boolean = null) {\n this.loaded = false;\n this.sends = [];\n await this.load(filter);\n }\n\n async refresh() {\n try {\n this.refreshing = true;\n await this.reload(this.filter);\n } finally {\n this.refreshing = false;\n }\n }\n\n async applyFilter(filter: (send: SendView) => boolean = null) {\n this.filter = filter;\n await this.search(null);\n }\n\n async search(timeout: number = null) {\n this.searchPending = false;\n if (this.searchTimeout != null) {\n clearTimeout(this.searchTimeout);\n }\n if (timeout == null) {\n this.filteredSends = this.sends.filter((s) => this.filter == null || this.filter(s));\n return;\n }\n this.searchPending = true;\n this.searchTimeout = setTimeout(async () => {\n this.filteredSends = this.sends.filter((s) => this.filter == null || this.filter(s));\n this.searchPending = false;\n }, timeout);\n }\n\n addSend() {\n const component = this.editSend(null);\n component.type = this.type;\n }\n\n editSend(send: SendView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.sendAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n AddEditComponent, this.sendAddEditModalRef);\n\n childComponent.sendId = send == null ? null : send.id;\n childComponent.onSavedSend.subscribe(async (s: SendView) => {\n this.modal.close();\n await this.load();\n });\n childComponent.onDeletedSend.subscribe(async (s: SendView) => {\n this.modal.close();\n await this.load();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n async removePassword(s: SendView): Promise {\n if (this.actionPromise != null || s.password == null) {\n return;\n }\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('removePasswordConfirmation'),\n this.i18nService.t('removePassword'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.actionPromise = this.sendService.removePasswordWithServer(s.id);\n await this.actionPromise;\n this.platformUtilsService.showToast('success', null, this.i18nService.t('removedPassword'));\n await this.load();\n } catch { }\n this.actionPromise = null;\n }\n\n async delete(s: SendView): Promise {\n if (this.actionPromise != null) {\n return false;\n }\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteSendConfirmation'),\n this.i18nService.t('deleteSend'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.actionPromise = this.sendService.deleteWithServer(s.id);\n await this.actionPromise;\n this.platformUtilsService.showToast('success', null, this.i18nService.t('deletedSend'));\n await this.load();\n } catch { }\n this.actionPromise = null;\n return true;\n }\n\n copy(s: SendView) {\n let webVaultUrl = this.environmentService.getWebVaultUrl();\n if (webVaultUrl == null) {\n webVaultUrl = 'https://vault.bitwarden.com';\n }\n const link = webVaultUrl + '/#/send/' + s.accessId + '/' + s.urlB64Key;\n this.platformUtilsService.copyToClipboard(link);\n this.platformUtilsService.showToast('success', null,\n this.i18nService.t('valueCopied', this.i18nService.t('sendLink')));\n }\n\n searchTextChanged() {\n this.search(200);\n }\n\n selectAll() {\n this.clearSelections();\n this.selectedAll = true;\n this.applyFilter(null);\n }\n\n selectType(type: SendType) {\n this.clearSelections();\n this.selectedType = type;\n this.applyFilter((s) => s.type === type);\n }\n\n clearSelections() {\n this.selectedAll = false;\n this.selectedType = null;\n }\n}\n","
\n
\n
\n
\n
\n {{'filters' | i18n}}\n
\n
\n \n \n

{{'types' | i18n}}

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

\n Send\n \n \n \n {{'loading' | i18n}}\n \n \n

\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n
\n
\n {{s.name}}\n \n {{'disabled' | i18n}}\n \n \n \n {{'password' | i18n}}\n \n \n \n {{'maxAccessCountReached' | i18n}}\n \n \n \n {{'expired' | i18n}}\n \n \n \n {{'pendingDeletion' | i18n}}\n \n
\n {{s.deletionDate | date:'medium'}}\n
\n \n
\n
\n \n \n {{'loading' | i18n}}\n \n \n

{{'noSendsInList' | i18n}}

\n \n
\n
\n
\n
\n
\n\n","import { DatePipe } from '@angular/common';\n\nimport {\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { Component } from '@angular/core';\n\nimport { SendType } from 'jslib/enums/sendType';\n\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SendService } from 'jslib/abstractions/send.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { SendFileView } from 'jslib/models/view/sendFileView';\nimport { SendTextView } from 'jslib/models/view/sendTextView';\nimport { SendView } from 'jslib/models/view/sendView';\n\nimport { Send } from 'jslib/models/domain/send';\n\n@Component({\n selector: 'app-send-add-edit',\n templateUrl: 'add-edit.component.html',\n})\nexport class AddEditComponent {\n @Input() sendId: string;\n @Input() type: SendType;\n\n @Output() onSavedSend = new EventEmitter();\n @Output() onDeletedSend = new EventEmitter();\n @Output() onCancelled = new EventEmitter();\n\n editMode: boolean = false;\n send: SendView;\n link: string;\n title: string;\n deletionDate: string;\n expirationDate: string;\n hasPassword: boolean;\n password: string;\n formPromise: Promise;\n deletePromise: Promise;\n sendType = SendType;\n typeOptions: any[];\n deletionDateOptions: any[];\n expirationDateOptions: any[];\n deletionDateSelect = 168;\n expirationDateSelect: number = null;\n canAccessPremium = true;\n premiumRequiredAlertShown = false;\n\n constructor(private i18nService: I18nService, private platformUtilsService: PlatformUtilsService,\n private environmentService: EnvironmentService, private datePipe: DatePipe,\n private sendService: SendService, private userService: UserService,\n private messagingService: MessagingService) {\n this.typeOptions = [\n { name: i18nService.t('sendTypeFile'), value: SendType.File },\n { name: i18nService.t('sendTypeText'), value: SendType.Text },\n ];\n this.deletionDateOptions = this.expirationDateOptions = [\n { name: i18nService.t('oneHour'), value: 1 },\n { name: i18nService.t('oneDay'), value: 24 },\n { name: i18nService.t('days', '2'), value: 48 },\n { name: i18nService.t('days', '3'), value: 72 },\n { name: i18nService.t('days', '7'), value: 168 },\n { name: i18nService.t('days', '30'), value: 720 },\n { name: i18nService.t('custom'), value: 0 },\n ];\n this.expirationDateOptions = [\n { name: i18nService.t('never'), value: null },\n ].concat([...this.deletionDateOptions]);\n }\n\n async ngOnInit() {\n await this.load();\n }\n\n async load() {\n this.editMode = this.sendId != null;\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editSend');\n } else {\n this.title = this.i18nService.t('createSend');\n }\n\n this.canAccessPremium = await this.userService.canAccessPremium();\n if (!this.canAccessPremium) {\n this.type = SendType.Text;\n }\n\n if (this.send == null) {\n if (this.editMode) {\n const send = await this.loadSend();\n this.send = await send.decrypt();\n } else {\n this.send = new SendView();\n this.send.type = this.type == null ? SendType.File : this.type;\n this.send.file = new SendFileView();\n this.send.text = new SendTextView();\n this.send.deletionDate = new Date();\n this.send.deletionDate.setDate(this.send.deletionDate.getDate() + 7);\n }\n }\n\n this.hasPassword = this.send.password != null && this.send.password.trim() !== '';\n\n // Parse dates\n this.deletionDate = this.dateToString(this.send.deletionDate);\n this.expirationDate = this.dateToString(this.send.expirationDate);\n\n if (this.editMode) {\n let webVaultUrl = this.environmentService.getWebVaultUrl();\n if (webVaultUrl == null) {\n webVaultUrl = 'https://vault.bitwarden.com';\n }\n this.link = webVaultUrl + '/#/send/' + this.send.accessId + '/' + this.send.urlB64Key;\n }\n }\n\n async submit(): Promise {\n if (this.send.name == null || this.send.name === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nameRequired'));\n return false;\n }\n\n let file: File = null;\n if (this.send.type === SendType.File && !this.editMode) {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if (files == null || files.length === 0) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n file = files[0];\n if (file.size > 104857600) { // 100 MB\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('maxFileSize'));\n return;\n }\n }\n\n if (!this.editMode) {\n const now = new Date();\n if (this.deletionDateSelect > 0) {\n const d = new Date();\n d.setHours(now.getHours() + this.deletionDateSelect);\n this.deletionDate = this.dateToString(d);\n }\n if (this.expirationDateSelect != null && this.expirationDateSelect > 0) {\n const d = new Date();\n d.setHours(now.getHours() + this.expirationDateSelect);\n this.expirationDate = this.dateToString(d);\n }\n }\n\n const encSend = await this.encryptSend(file);\n try {\n this.formPromise = this.sendService.saveWithServer(encSend);\n await this.formPromise;\n this.send.id = encSend[0].id;\n this.platformUtilsService.showToast('success', null,\n this.i18nService.t(this.editMode ? 'editedSend' : 'createdSend'));\n this.onSavedSend.emit(this.send);\n return true;\n } catch { }\n\n return false;\n }\n\n clearExpiration() {\n this.expirationDate = null;\n }\n\n async delete(): Promise {\n if (this.deletePromise != null) {\n return;\n }\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteSendConfirmation'),\n this.i18nService.t('deleteSend'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n this.deletePromise = this.sendService.deleteWithServer(this.send.id);\n await this.deletePromise;\n this.platformUtilsService.showToast('success', null, this.i18nService.t('deletedSend'));\n await this.load();\n this.onDeletedSend.emit(this.send);\n } catch { }\n }\n\n typeChanged() {\n if (!this.canAccessPremium && this.send.type === SendType.File && !this.premiumRequiredAlertShown) {\n this.premiumRequiredAlertShown = true;\n this.messagingService.send('premiumRequired');\n }\n }\n\n protected async loadSend(): Promise {\n return this.sendService.get(this.sendId);\n }\n\n protected async encryptSend(file: File): Promise<[Send, ArrayBuffer]> {\n const sendData = await this.sendService.encrypt(this.send, file, this.password, null);\n\n // Parse dates\n try {\n sendData[0].deletionDate = this.deletionDate == null ? null : new Date(this.deletionDate);\n } catch {\n sendData[0].deletionDate = null;\n }\n try {\n sendData[0].expirationDate = this.expirationDate == null ? null : new Date(this.expirationDate);\n } catch {\n sendData[0].expirationDate = null;\n }\n\n return sendData;\n }\n\n protected dateToString(d: Date) {\n return d == null ? null : this.datePipe.transform(d, 'yyyy-MM-ddTHH:mm');\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 {{'file' | i18n}}\n {{send.file.fileName}} ({{send.file.sizeName}})\n
\n
\n \n \n {{'maxFileSize' | i18n}}\n
\n
\n
\n

{{'options' | i18n}}

\n
\n
\n \n
\n \n \n
\n
\n \n
\n
{{'deletionDateDesc' | i18n}}
\n
\n
\n
\n \n \n {{'clear' | i18n}}\n \n
\n
\n \n \n
\n
\n \n
\n
{{'expirationDateDesc' | i18n}}
\n
\n
\n
\n
\n \n \n
{{'maxAccessCountDesc' | i18n}}
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n
{{'sendPasswordDesc' | i18n}}
\n
\n
\n
\n \n \n
{{'sendNotesDesc' | i18n}}
\n
\n
\n
\n \n \n
\n
\n

{{'share' | i18n}}

\n
\n \n \n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","import { SendType } from '../../enums/sendType';\nimport { Utils } from '../../misc/utils';\n\nimport { Send } from '../domain/send';\nimport { SymmetricCryptoKey } from '../domain/symmetricCryptoKey';\n\nimport { SendFileView } from './sendFileView';\nimport { SendTextView } from './sendTextView';\nimport { View } from './view';\n\nexport class SendView implements View {\n id: string = null;\n accessId: string = null;\n name: string = null;\n notes: string = null;\n key: ArrayBuffer;\n cryptoKey: SymmetricCryptoKey;\n type: SendType = null;\n text = new SendTextView();\n file = new SendFileView();\n maxAccessCount?: number = null;\n accessCount: number = 0;\n revisionDate: Date = null;\n deletionDate: Date = null;\n expirationDate: Date = null;\n password: string = null;\n disabled: boolean = false;\n\n constructor(s?: Send) {\n if (!s) {\n return;\n }\n\n this.id = s.id;\n this.accessId = s.accessId;\n this.type = s.type;\n this.maxAccessCount = s.maxAccessCount;\n this.accessCount = s.accessCount;\n this.revisionDate = s.revisionDate;\n this.deletionDate = s.deletionDate;\n this.expirationDate = s.expirationDate;\n this.disabled = s.disabled;\n this.password = s.password;\n }\n\n get urlB64Key(): string {\n return Utils.fromBufferToUrlB64(this.key);\n }\n\n get maxAccessCountReached(): boolean {\n if (this.maxAccessCount == null) {\n return false;\n }\n return this.accessCount >= this.maxAccessCount;\n }\n\n get expired(): boolean {\n if (this.expirationDate == null) {\n return false;\n }\n return this.expirationDate <= new Date();\n }\n\n get pendingDelete(): boolean {\n return this.deletionDate <= new Date();\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { ModalComponent } from '../modal.component';\nimport { ApiKeyComponent } from './api-key.component';\nimport { DeauthorizeSessionsComponent } from './deauthorize-sessions.component';\nimport { DeleteAccountComponent } from './delete-account.component';\nimport { PurgeVaultComponent } from './purge-vault.component';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-account',\n templateUrl: 'account.component.html',\n})\nexport class AccountComponent {\n @ViewChild('deauthorizeSessionsTemplate', { read: ViewContainerRef, static: true }) deauthModalRef: ViewContainerRef;\n @ViewChild('purgeVaultTemplate', { read: ViewContainerRef, static: true }) purgeModalRef: ViewContainerRef;\n @ViewChild('deleteAccountTemplate', { read: ViewContainerRef, static: true }) deleteModalRef: ViewContainerRef;\n @ViewChild('viewUserApiKeyTemplate', { read: ViewContainerRef, static: true }) viewUserApiKeyModalRef: ViewContainerRef;\n @ViewChild('rotateUserApiKeyTemplate', { read: ViewContainerRef, static: true }) rotateUserApiKeyModalRef: ViewContainerRef;\n\n private modal: ModalComponent = null;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver, private apiService: ApiService,\n private userService: UserService) { }\n\n deauthorizeSessions() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.deauthModalRef.createComponent(factory).instance;\n this.modal.show(DeauthorizeSessionsComponent, this.deauthModalRef);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n purgeVault() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.purgeModalRef.createComponent(factory).instance;\n this.modal.show(PurgeVaultComponent, this.purgeModalRef);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n deleteAccount() {\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 this.modal.show(DeleteAccountComponent, this.deleteModalRef);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n async viewUserApiKey() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.viewUserApiKeyModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(ApiKeyComponent, this.viewUserApiKeyModalRef);\n childComponent.keyType = 'user';\n childComponent.entityId = await this.userService.getUserId();\n childComponent.postKey = this.apiService.postUserApiKey.bind(this.apiService);\n childComponent.scope = 'api';\n childComponent.grantType = 'client_credentials';\n childComponent.apiKeyTitle = 'apiKey';\n childComponent.apiKeyWarning = 'userApiKeyWarning';\n childComponent.apiKeyDescription = 'userApiKeyDesc';\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n async rotateUserApiKey() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.rotateUserApiKeyModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(ApiKeyComponent, this.rotateUserApiKeyModalRef);\n childComponent.keyType = 'user';\n childComponent.isRotation = true;\n childComponent.entityId = await this.userService.getUserId();\n childComponent.postKey = this.apiService.postUserRotateApiKey.bind(this.apiService);\n childComponent.scope = 'api';\n childComponent.grantType = 'client_credentials';\n childComponent.apiKeyTitle = 'apiKey';\n childComponent.apiKeyWarning = 'userApiKeyWarning';\n childComponent.apiKeyDescription = 'apiKeyRotateDesc';\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n}\n","
\n

{{'myAccount' | i18n}}

\n
\n\n
\n

{{'changeEmail' | i18n}}

\n
\n\n
\n

{{'changeMasterPassword' | i18n}}

\n
\n\n
\n

{{'encKeySettings' | i18n}}

\n
\n\n
\n

{{'apiKey' | i18n}}

\n
\n

\n {{'userApiKeyDesc' | i18n}}\n

\n\n\n
\n

{{'dangerZone' | i18n}}

\n
\n
\n
\n

{{'dangerZoneDesc' | i18n}}

\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 { 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-deauthorize-sessions',\n templateUrl: 'deauthorize-sessions.component.html',\n})\nexport class DeauthorizeSessionsComponent {\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.postSecurityStamp(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Deauthorized Sessions' });\n this.toasterService.popAsync('success', this.i18nService.t('sessionsDeauthorized'),\n this.i18nService.t('logBackIn'));\n this.messagingService.send('logout');\n } catch { }\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","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","
\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","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 { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { UpdateProfileRequest } from 'jslib/models/request/updateProfileRequest';\n\nimport { ProfileResponse } from 'jslib/models/response/profileResponse';\n\n@Component({\n selector: 'app-profile',\n templateUrl: 'profile.component.html',\n})\nexport class ProfileComponent implements OnInit {\n loading = true;\n profile: ProfileResponse;\n fingerprint: string;\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private userService: UserService, private cryptoService: CryptoService) { }\n\n async ngOnInit() {\n this.profile = await this.apiService.getProfile();\n this.loading = false;\n const fingerprint = await this.cryptoService.getFingerprint(await this.userService.getUserId());\n if (fingerprint != null) {\n this.fingerprint = fingerprint.join('-');\n }\n }\n\n async submit() {\n try {\n const request = new UpdateProfileRequest(this.profile.name, this.profile.masterPasswordHint);\n this.formPromise = this.apiService.putProfile(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Updated Profile' });\n this.toasterService.popAsync('success', null, this.i18nService.t('accountUpdated'));\n } catch { }\n }\n}\n","
\n \n {{'loading' | 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 {{'yourAccountsFingerprint' | i18n}}:\n \n
\n {{fingerprint}}\n

\n
\n
\n \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';\nimport { UserService } from 'jslib/abstractions/user.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 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 this.newEmail = this.newEmail.trim().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 kdf = await this.userService.getKdf();\n const kdfIterations = await this.userService.getKdfIterations();\n const newKey = await this.cryptoService.makeKey(this.masterPassword, this.newEmail, kdf, kdfIterations);\n request.newMasterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, newKey);\n const newEncKey = await this.cryptoService.remakeEncKey(newKey);\n request.key = newEncKey[1].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","
\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","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class EmailTokenRequest extends PasswordVerificationRequest {\n newEmail: string;\n masterPasswordHash: string;\n}\n","import { Component } from '@angular/core';\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 { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { PolicyService } from 'jslib/abstractions/policy.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport {\n ChangePasswordComponent as BaseChangePasswordComponent,\n} from 'jslib/angular/components/change-password.component';\n\nimport { EmergencyAccessStatusType } from 'jslib/enums/emergencyAccessStatusType';\nimport { Utils } from 'jslib/misc/utils';\n\nimport { CipherString } from 'jslib/models/domain/cipherString';\nimport { SymmetricCryptoKey } from 'jslib/models/domain/symmetricCryptoKey';\n\nimport { CipherWithIdRequest } from 'jslib/models/request/cipherWithIdRequest';\nimport { EmergencyAccessUpdateRequest } from 'jslib/models/request/emergencyAccessUpdateRequest';\nimport { FolderWithIdRequest } from 'jslib/models/request/folderWithIdRequest';\nimport { PasswordRequest } from 'jslib/models/request/passwordRequest';\nimport { UpdateKeyRequest } from 'jslib/models/request/updateKeyRequest';\n\n@Component({\n selector: 'app-change-password',\n templateUrl: 'change-password.component.html',\n})\nexport class ChangePasswordComponent extends BaseChangePasswordComponent {\n rotateEncKey = false;\n currentMasterPassword: string;\n\n constructor(i18nService: I18nService,\n cryptoService: CryptoService, messagingService: MessagingService,\n userService: UserService, passwordGenerationService: PasswordGenerationService,\n platformUtilsService: PlatformUtilsService, policyService: PolicyService,\n private folderService: FolderService, private cipherService: CipherService,\n private syncService: SyncService, private apiService: ApiService ) {\n super(i18nService, cryptoService, messagingService, userService, passwordGenerationService,\n platformUtilsService, policyService);\n }\n\n async rotateEncKeyClicked() {\n if (this.rotateEncKey) {\n const ciphers = await this.cipherService.getAllDecrypted();\n let hasOldAttachments = false;\n if (ciphers != null) {\n for (let i = 0; i < ciphers.length; i++) {\n if (ciphers[i].organizationId == null && ciphers[i].hasOldAttachments) {\n hasOldAttachments = true;\n break;\n }\n }\n }\n\n if (hasOldAttachments) {\n const learnMore = await this.platformUtilsService.showDialog(\n this.i18nService.t('oldAttachmentsNeedFixDesc'), null,\n this.i18nService.t('learnMore'), this.i18nService.t('close'), 'warning');\n if (learnMore) {\n this.platformUtilsService.launchUri(\n 'https://help.bitwarden.com/article/attachments/#fixing-old-attachments');\n }\n this.rotateEncKey = false;\n return;\n }\n\n const result = await this.platformUtilsService.showDialog(\n this.i18nService.t('updateEncryptionKeyWarning') + ' ' +\n this.i18nService.t('updateEncryptionKeyExportWarning') + ' ' +\n this.i18nService.t('rotateEncKeyConfirmation'), this.i18nService.t('rotateEncKeyTitle'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!result) {\n this.rotateEncKey = false;\n }\n }\n }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (!hasEncKey) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('updateKey'));\n return;\n }\n\n await super.submit();\n }\n\n async setupSubmitActions() {\n if (this.currentMasterPassword == null || this.currentMasterPassword === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return false;\n }\n\n if (this.rotateEncKey) {\n await this.syncService.fullSync(true);\n }\n\n return super.setupSubmitActions();\n }\n\n async performSubmitActions(newMasterPasswordHash: string, newKey: SymmetricCryptoKey,\n newEncKey: [SymmetricCryptoKey, CipherString]) {\n const request = new PasswordRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.currentMasterPassword, null);\n request.newMasterPasswordHash = newMasterPasswordHash;\n request.key = newEncKey[1].encryptedString;\n\n try {\n if (this.rotateEncKey) {\n this.formPromise = this.apiService.postPassword(request).then(() => {\n return this.updateKey(newKey, request.newMasterPasswordHash);\n });\n } else {\n this.formPromise = this.apiService.postPassword(request);\n }\n\n await this.formPromise;\n\n this.platformUtilsService.showToast('success', this.i18nService.t('masterPasswordChanged'),\n this.i18nService.t('logBackIn'));\n this.messagingService.send('logout');\n } catch {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n }\n }\n\n private async updateKey(key: SymmetricCryptoKey, masterPasswordHash: string) {\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 = masterPasswordHash;\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\n const cipher = await this.cipherService.encrypt(ciphers[i], encKey[0]);\n request.ciphers.push(new CipherWithIdRequest(cipher));\n }\n\n await this.apiService.postAccountKey(request);\n\n await this.updateEmergencyAccesses(encKey[0]);\n }\n\n private async updateEmergencyAccesses(encKey: SymmetricCryptoKey) {\n const emergencyAccess = await this.apiService.getEmergencyAccessTrusted();\n const allowedStatuses = [\n EmergencyAccessStatusType.Confirmed,\n EmergencyAccessStatusType.RecoveryInitiated,\n EmergencyAccessStatusType.RecoveryApproved,\n ];\n\n const filteredAccesses = emergencyAccess.data.filter(d => allowedStatuses.includes(d.status));\n\n for (const details of filteredAccesses) {\n const publicKeyResponse = await this.apiService.getUserPublicKey(details.granteeId);\n const publicKey = Utils.fromB64ToArray(publicKeyResponse.publicKey);\n\n const encryptedKey = await this.cryptoService.rsaEncrypt(encKey.key, publicKey.buffer);\n\n const updateRequest = new EmergencyAccessUpdateRequest();\n updateRequest.type = details.type;\n updateRequest.waitTimeDays = details.waitTimeDays;\n updateRequest.keyEncrypted = encryptedKey.encryptedString;\n\n await this.apiService.putEmergencyAccess(details.id, updateRequest);\n }\n }\n}\n","{{'loggedOutWarning' | i18n}}\n\n {{'masterPasswordPolicyInEffect' | i18n}}\n
    \n
  • 0\">\n {{'policyInEffectMinComplexity' | i18n : getPasswordScoreAlertDisplay()}}\n
  • \n
  • 0\">\n {{'policyInEffectMinLength' | i18n : enforcedPolicyOptions?.minLength.toString()}}\n
  • \n
  • {{'policyInEffectUppercase' | i18n}}
  • \n
  • {{'policyInEffectLowercase' | i18n}}
  • \n
  • {{'policyInEffectNumbers' | i18n}}
  • \n
  • {{'policyInEffectSpecial' | 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","export enum EmergencyAccessStatusType {\n Invited = 0,\n Accepted = 1,\n Confirmed = 2,\n RecoveryInitiated = 3,\n RecoveryApproved = 4,\n}\n","import { EmergencyAccessType } from '../../enums/emergencyAccessType';\n\nexport class EmergencyAccessUpdateRequest {\n type: EmergencyAccessType;\n waitTimeDays: number;\n keyEncrypted?: 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 { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class PasswordRequest extends PasswordVerificationRequest {\n newMasterPasswordHash: string;\n key: string;\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 {\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 { 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';\n\nimport { KdfRequest } from 'jslib/models/request/kdfRequest';\n\nimport { KdfType } from 'jslib/enums/kdfType';\n\n@Component({\n selector: 'app-change-kdf',\n templateUrl: 'change-kdf.component.html',\n})\nexport class ChangeKdfComponent implements OnInit {\n masterPassword: string;\n kdfIterations: number;\n kdf = KdfType.PBKDF2_SHA256;\n kdfOptions: any[] = [];\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 this.kdfOptions = [\n { name: 'PBKDF2 SHA-256', value: KdfType.PBKDF2_SHA256 },\n ];\n }\n\n async ngOnInit() {\n this.kdf = await this.userService.getKdf();\n this.kdfIterations = await this.userService.getKdfIterations();\n }\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 const request = new KdfRequest();\n request.kdf = this.kdf;\n request.kdfIterations = this.kdfIterations;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n const email = await this.userService.getEmail();\n const newKey = await this.cryptoService.makeKey(this.masterPassword, email, this.kdf, this.kdfIterations);\n request.newMasterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, newKey);\n const newEncKey = await this.cryptoService.remakeEncKey(newKey);\n request.key = newEncKey[1].encryptedString;\n try {\n this.formPromise = this.apiService.postAccountKdf(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Changed KDF' });\n this.toasterService.popAsync('success', this.i18nService.t('encKeySettingsChanged'),\n this.i18nService.t('logBackIn'));\n this.messagingService.send('logout');\n } catch { }\n }\n}\n","{{'loggedOutWarning' | 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

{{'kdfIterationsDesc' | i18n : (100000 | number)}}

\n {{'warning' | i18n}}: {{'kdfIterationsWarning' | i18n : (50000 | number)}}\n
\n
\n
\n
\n \n
\n","import {\n Component,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { PlanType } from 'jslib/enums/planType';\nimport { ProductType } from 'jslib/enums/productType';\n\nimport { OrganizationPlansComponent } from './organization-plans.component';\n\n@Component({\n selector: 'app-create-organization',\n templateUrl: 'create-organization.component.html',\n})\nexport class CreateOrganizationComponent implements OnInit {\n @ViewChild(OrganizationPlansComponent, { static: true }) orgPlansComponent: OrganizationPlansComponent;\n\n constructor(private route: ActivatedRoute) { }\n\n ngOnInit() {\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.plan === 'families') {\n this.orgPlansComponent.plan = PlanType.FamiliesAnnually;\n this.orgPlansComponent.product = ProductType.Families;\n } else if (qParams.plan === 'teams') {\n this.orgPlansComponent.plan = PlanType.TeamsAnnually;\n this.orgPlansComponent.product = ProductType.Teams;\n } else if (qParams.plan === 'enterprise') {\n this.orgPlansComponent.plan = PlanType.EnterpriseAnnually;\n this.orgPlansComponent.product = ProductType.Enterprise;\n }\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n }\n}\n","
\n

{{'newOrganization' | i18n}}

\n
\n

{{'newOrganizationDesc' | i18n}}

\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","
\n

{{'domainRules' | i18n}}

\n
\n

{{'domainRulesDesc' | i18n}}

\n
\n

{{'customEqDomains' | i18n}}

\n

\n \n {{'loading' | i18n}}\n

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

{{'globalEqDomains' | i18n}}

\n

\n \n {{'loading' | i18n}}\n

\n 0\">\n \n \n \n \n \n \n
{{d.domains}}\n \n
\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 { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { VaultTimeoutService } from 'jslib/abstractions/vaultTimeout.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 vaultTimeout: number = null;\n vaultTimeoutAction: string = 'lock';\n disableIcons: boolean;\n enableGravatars: boolean;\n enableFullWidth: boolean;\n locale: string;\n vaultTimeouts: any[];\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, private vaultTimeoutService: VaultTimeoutService,\n private platformUtilsService: PlatformUtilsService, private messagingService: MessagingService) {\n this.vaultTimeouts = [\n { name: i18nService.t('oneMinute'), value: 1 },\n { name: i18nService.t('fiveMinutes'), value: 5 },\n { name: i18nService.t('fifteenMinutes'), value: 15 },\n { name: i18nService.t('thirtyMinutes'), value: 30 },\n { name: i18nService.t('oneHour'), value: 60 },\n { name: i18nService.t('fourHours'), value: 240 },\n { name: i18nService.t('onRefresh'), value: -1 },\n ];\n if (this.platformUtilsService.isDev()) {\n this.vaultTimeouts.push({ name: i18nService.t('never'), value: null });\n }\n\n const localeOptions: any[] = [];\n i18nService.supportedTranslationLocales.forEach((locale) => {\n let name = locale;\n if (i18nService.localeNames.has(locale)) {\n name += (' - ' + i18nService.localeNames.get(locale));\n }\n localeOptions.push({ name: name, 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.vaultTimeout = await this.storageService.get(ConstantsService.vaultTimeoutKey);\n this.vaultTimeoutAction = await this.storageService.get(ConstantsService.vaultTimeoutActionKey);\n this.disableIcons = await this.storageService.get(ConstantsService.disableFaviconKey);\n this.enableGravatars = await this.storageService.get('enableGravatars');\n this.enableFullWidth = await this.storageService.get('enableFullWidth');\n this.locale = this.startingLocale = await this.storageService.get(ConstantsService.localeKey);\n }\n\n async submit() {\n await this.vaultTimeoutService.setVaultTimeoutOptions(this.vaultTimeout != null ? this.vaultTimeout : null,\n this.vaultTimeoutAction);\n await this.storageService.save(ConstantsService.disableFaviconKey, this.disableIcons);\n await this.stateService.save(ConstantsService.disableFaviconKey, this.disableIcons);\n await this.storageService.save('enableGravatars', this.enableGravatars);\n await this.stateService.save('enableGravatars', this.enableGravatars);\n await this.storageService.save('enableFullWidth', this.enableFullWidth);\n this.messagingService.send('setFullWidth');\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 async vaultTimeoutActionChanged(newValue: string) {\n if (newValue === 'logOut') {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('vaultTimeoutLogOutConfirmation'),\n this.i18nService.t('vaultTimeoutLogOutConfirmationTitle'),\n this.i18nService.t('yes'), this.i18nService.t('cancel'), 'warning');\n if (!confirmed) {\n this.vaultTimeoutAction = 'lock';\n return;\n }\n }\n this.vaultTimeoutAction = newValue;\n }\n}\n","
\n

{{'options' | i18n}}

\n
\n

{{'optionsDesc' | i18n}}

\n
\n
\n
\n
\n \n \n {{'vaultTimeoutDesc' | 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 {{'languageDesc' | i18n}}\n
\n
\n
\n
\n
\n \n \n \n \n \n
\n {{'disableIconsDesc' | i18n}}\n
\n
\n
\n \n \n \n \n \n
\n {{'enableGravatarsDesc' | i18n}}\n
\n\t
\n
\n \n \n
\n {{'enableFullWidthDesc' | i18n}}\n
\n \n
\n","import {\n AfterContentInit,\n Component,\n Input,\n} from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CryptoFunctionService } from 'jslib/abstractions/cryptoFunction.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { SsoComponent } from 'jslib/angular/components/sso.component';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\n@Component({\n selector: 'app-link-sso',\n templateUrl: 'link-sso.component.html',\n})\nexport class LinkSsoComponent extends SsoComponent implements AfterContentInit {\n @Input() organization: Organization;\n returnUri: string = '/settings/organizations';\n\n constructor(platformUtilsService: PlatformUtilsService, i18nService: I18nService,\n apiService: ApiService, authService: AuthService,\n router: Router, route: ActivatedRoute,\n cryptoFunctionService: CryptoFunctionService, passwordGenerationService: PasswordGenerationService,\n storageService: StorageService, stateService: StateService) {\n super(authService, router,\n i18nService, route,\n storageService, stateService,\n platformUtilsService, apiService,\n cryptoFunctionService, passwordGenerationService);\n\n this.returnUri = '/settings/organizations';\n this.redirectUri = window.location.origin + '/sso-connector.html';\n this.clientId = 'web';\n }\n\n async ngAfterContentInit() {\n this.identifier = this.organization.identifier;\n }\n}\n","\n \n {{'linkSso' | i18n}}\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';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { PaymentComponent } from './payment.component';\nimport { TaxInfoComponent } from './tax-info.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 @ViewChild(TaxInfoComponent) taxInfoComponent: TaxInfoComponent;\n\n canAccessPremium = false;\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, private userService: UserService) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n this.canAccessPremium = await this.userService.canAccessPremium();\n const premium = await this.tokenService.getPremium();\n if (premium) {\n this.router.navigate(['/settings/subscription']);\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((result) => {\n const fd = new FormData();\n fd.append('paymentMethodType', result[1].toString());\n if (result[0] != null) {\n fd.append('paymentToken', result[0]);\n }\n fd.append('additionalStorageGb', (this.additionalStorage || 0).toString());\n fd.append('country', this.taxInfoComponent.taxInfo.country);\n fd.append('postalCode', this.taxInfoComponent.taxInfo.postalCode);\n return this.apiService.postPremium(fd);\n }).then((paymentResponse) => {\n if (!paymentResponse.success && paymentResponse.paymentIntentClientSecret != null) {\n return this.paymentComponent.handleStripeCardPayment(paymentResponse.paymentIntentClientSecret,\n () => this.finalizePremium());\n } else {\n return this.finalizePremium();\n }\n });\n }\n await this.formPromise;\n } catch { }\n }\n\n async finalizePremium() {\n await this.apiService.refreshIdentityToken();\n await this.syncService.fullSync(true);\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/subscription']);\n }\n\n get additionalStorageTotal(): number {\n return this.storageGbPrice * Math.abs(this.additionalStorage || 0);\n }\n\n get subtotal(): number {\n return this.premiumPrice + this.additionalStorageTotal;\n }\n\n get taxCharges(): number {\n return this.taxInfoComponent != null && this.taxInfoComponent.taxRate != null ?\n (this.taxInfoComponent.taxRate / 100) * this.subtotal :\n 0;\n }\n\n get total(): number {\n return (this.subtotal + this.taxCharges) || 0;\n }\n}\n","
\n

{{'goPremium' | i18n}}

\n
\n\n {{'alreadyPremiumFromOrg' | i18n}}\n\n\n

{{'premiumUpgradeUnlockFeatures' | i18n}}

\n
    \n
  • \n \n {{'premiumSignUpStorage' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpTwoStep' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpReports' | 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 {{'additionalStorageIntervalDesc' | i18n : '1 GB' : (storageGbPrice | currency:'$') : ('year' | i18n)}}\n
\n
\n

{{'summary' | i18n}}

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

{{'paymentInformation' | i18n}}

\n \n \n
\n
\n {{ 'planPrice' | i18n }}: {{ subtotal | currency: 'USD $' }}\n
\n \n {{ 'estimatedTax' | i18n }}: {{ taxCharges | currency: 'USD $' }}\n \n
\n
\n

{{'total' | i18n}}:\n {{total | currency:'USD $'}}/{{'year' | i18n}}

\n
\n {{'paymentChargedAnnually' | i18n}}\n \n
\n","import {\n Component,\n NgZone,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nconst BroadcasterSubscriptionId = 'SettingsComponent';\n\n@Component({\n selector: 'app-settings',\n templateUrl: 'settings.component.html',\n})\nexport class SettingsComponent implements OnInit, OnDestroy {\n premium: boolean;\n selfHosted: boolean;\n\n constructor(private tokenService: TokenService, private broadcasterService: BroadcasterService,\n private ngZone: NgZone, private platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, async (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'purchasedPremium':\n await this.load();\n break;\n default:\n }\n });\n });\n\n this.selfHosted = await this.platformUtilsService.isSelfHost();\n await this.load();\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n async load() {\n this.premium = await this.tokenService.getPremium();\n }\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 { SubscriptionResponse } from 'jslib/models/response/subscriptionResponse';\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\n@Component({\n selector: 'app-user-subscription',\n templateUrl: 'user-subscription.component.html',\n})\nexport class UserSubscriptionComponent implements OnInit {\n loading = false;\n firstLoaded = false;\n adjustStorageAdd = true;\n showAdjustStorage = false;\n showUpdateLicense = false;\n sub: SubscriptionResponse;\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 if (this.tokenService.getPremium()) {\n this.loading = true;\n this.sub = await this.apiService.getUserSubscription();\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 if (this.usingInAppPurchase) {\n this.platformUtilsService.showDialog(this.i18nService.t('manageSubscriptionFromStore'),\n this.i18nService.t('cancelSubscription'), null, null, 'warning');\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 if (this.usingInAppPurchase) {\n this.platformUtilsService.showDialog(this.i18nService.t('manageSubscriptionFromStore'),\n this.i18nService.t('cancelSubscription'), null, null, 'warning');\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.sub.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 if (this.usingInAppPurchase) {\n this.platformUtilsService.showDialog(this.i18nService.t('cannotPerformInAppPurchase'),\n this.i18nService.t(add ? 'addStorage' : 'removeStorage'), null, null, 'warning');\n return;\n }\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 get subscriptionMarkedForCancel() {\n return this.subscription != null && !this.subscription.cancelled && this.subscription.cancelAtEndDate;\n }\n\n get subscription() {\n return this.sub != null ? this.sub.subscription : null;\n }\n\n get nextInvoice() {\n return this.sub != null ? this.sub.upcomingInvoice : null;\n }\n\n get storagePercentage() {\n return this.sub != null && this.sub.maxStorageGb ?\n +(100 * (this.sub.storageGb / this.sub.maxStorageGb)).toFixed(2) : 0;\n }\n\n get storageProgressWidth() {\n return this.storagePercentage < 5 ? 5 : 0;\n }\n\n get usingInAppPurchase() {\n return this.sub != null ? this.sub.usingInAppPurchase : false;\n }\n}\n","
\n

\n {{'premiumMembership' | i18n}}\n \n \n {{'loading' | i18n}}\n \n

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

{{'subscriptionPendingCanceled' | i18n}}

\n \n
\n
\n
{{'expiration' | i18n}}
\n
{{sub.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 \n

{{'updateLicense' | i18n}}

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

{{'storage' | i18n}}

\n

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

\n
\n
\n {{(storagePercentage / 100) | percent}}
\n
\n \n
\n
\n \n \n
\n \n
\n
\n
\n
\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { UserService } from 'jslib/abstractions/user.service';\nimport { BreachAccountResponse } from 'jslib/models/response/breachAccountResponse';\n\n@Component({\n selector: 'app-breach-report',\n templateUrl: 'breach-report.component.html',\n})\nexport class BreachReportComponent implements OnInit {\n error = false;\n username: string;\n checkedUsername: string;\n breachedAccounts: BreachAccountResponse[] = [];\n formPromise: Promise;\n\n constructor(private auditService: AuditService, private userService: UserService) { }\n\n async ngOnInit() {\n this.username = await this.userService.getEmail();\n }\n\n async submit() {\n this.error = false;\n this.username = this.username.toLowerCase();\n try {\n this.formPromise = this.auditService.breachedAccounts(this.username);\n this.breachedAccounts = await this.formPromise;\n } catch {\n this.error = true;\n }\n this.checkedUsername = this.username;\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 {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport {\n PasswordGeneratorComponent as BasePasswordGeneratorComponent,\n} from 'jslib/angular/components/password-generator.component';\n\nimport { ModalComponent } from '../modal.component';\nimport { PasswordGeneratorHistoryComponent } from './password-generator-history.component';\n\n@Component({\n selector: 'app-password-generator',\n templateUrl: 'password-generator.component.html',\n})\nexport class PasswordGeneratorComponent extends BasePasswordGeneratorComponent {\n @ViewChild('historyTemplate', { read: ViewContainerRef, static: true }) historyModalRef: ViewContainerRef;\n\n private modal: ModalComponent = null;\n\n constructor(passwordGenerationService: PasswordGenerationService, platformUtilsService: PlatformUtilsService,\n i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver) {\n super(passwordGenerationService, platformUtilsService, i18nService, window);\n }\n\n history() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.historyModalRef.createComponent(factory).instance;\n this.modal.show(PasswordGeneratorHistoryComponent, this.historyModalRef);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n lengthChanged() {\n document.getElementById('length').focus();\n }\n\n minNumberChanged() {\n document.getElementById('min-number').focus();\n }\n\n minSpecialChanged() {\n document.getElementById('min-special').focus();\n }\n}\n","
\n

{{'passwordGenerator' | i18n}}

\n
\n\n {{'passwordGeneratorPolicyInEffect' | 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","import { Component } from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport {\n PasswordGeneratorHistoryComponent as BasePasswordGeneratorHistoryComponent,\n} from 'jslib/angular/components/password-generator-history.component';\n\n@Component({\n selector: 'app-password-generator-history',\n templateUrl: 'password-generator-history.component.html',\n})\nexport class PasswordGeneratorHistoryComponent extends BasePasswordGeneratorHistoryComponent {\n constructor(passwordGenerationService: PasswordGenerationService, platformUtilsService: PlatformUtilsService,\n i18nService: I18nService) {\n super(passwordGenerationService, platformUtilsService, i18nService, window);\n }\n}\n","
\n
\n
\n
\n

{{'passwordHistory' | i18n}}

\n \n
\n
    \n
  • \n
    \n
    \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","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-tools',\n templateUrl: 'tools.component.html',\n})\nexport class ToolsComponent implements OnInit {\n canAccessPremium = false;\n\n constructor(private userService: UserService, private messagingService: MessagingService) { }\n\n async ngOnInit() {\n this.canAccessPremium = await this.userService.canAccessPremium();\n }\n\n premiumRequired() {\n if (!this.canAccessPremium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n}\n","\n","import {\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n NgZone,\n OnDestroy,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\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 { 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\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nconst BroadcasterSubscriptionId = 'VaultComponent';\n\n@Component({\n selector: 'app-vault',\n templateUrl: 'vault.component.html',\n})\nexport class VaultComponent implements OnInit, OnDestroy {\n @ViewChild(GroupingsComponent, { static: true }) groupingsComponent: GroupingsComponent;\n @ViewChild(CiphersComponent, { static: true }) ciphersComponent: CiphersComponent;\n @ViewChild(OrganizationsComponent, { static: true }) organizationsComponent: OrganizationsComponent;\n @ViewChild('attachments', { read: ViewContainerRef, static: true }) attachmentsModalRef: ViewContainerRef;\n @ViewChild('folderAddEdit', { read: ViewContainerRef, static: true }) folderAddEditModalRef: ViewContainerRef;\n @ViewChild('cipherAddEdit', { read: ViewContainerRef, static: true }) cipherAddEditModalRef: ViewContainerRef;\n @ViewChild('share', { read: ViewContainerRef, static: true }) shareModalRef: ViewContainerRef;\n @ViewChild('collections', { read: ViewContainerRef, static: true }) collectionsModalRef: ViewContainerRef;\n @ViewChild('updateKeyTemplate', { read: ViewContainerRef, static: true }) 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 deleted: boolean = false;\n\n modal: ModalComponent = null;\n\n constructor(private syncService: SyncService, private route: ActivatedRoute,\n private router: Router, private changeDetectorRef: ChangeDetectorRef,\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 broadcasterService: BroadcasterService,\n private ngZone: NgZone) { }\n\n async ngOnInit() {\n this.showVerifyEmail = !(await this.tokenService.getEmailVerified());\n this.showBrowserOutdated = window.navigator.userAgent.indexOf('MSIE') !== -1;\n\n const queryParamsSub = this.route.queryParams.subscribe(async (params) => {\n await this.syncService.fullSync(false);\n\n this.showUpdateKey = !(await this.cryptoService.hasEncKey());\n const canAccessPremium = await this.userService.canAccessPremium();\n this.showPremiumCallout = !this.showVerifyEmail && !canAccessPremium &&\n !this.platformUtilsService.isSelfHost();\n\n await Promise.all([\n this.groupingsComponent.load(),\n this.organizationsComponent.load(),\n ]);\n\n if (params == null) {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.reload();\n } else {\n if (params.deleted) {\n this.groupingsComponent.selectedTrash = true;\n await this.filterDeleted();\n } else 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.reload();\n }\n }\n\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'syncCompleted':\n if (message.successfully) {\n await Promise.all([\n this.groupingsComponent.load(),\n this.organizationsComponent.load(),\n this.ciphersComponent.load(this.ciphersComponent.filter),\n ]);\n this.changeDetectorRef.detectChanges();\n }\n break;\n }\n });\n });\n\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n async clearGroupingFilters() {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchVault');\n await this.ciphersComponent.reload();\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.reload((c) => c.favorite);\n this.clearFilters();\n this.favorites = true;\n this.go();\n }\n\n async filterDeleted() {\n this.ciphersComponent.showAddNew = false;\n this.ciphersComponent.deleted = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchTrash');\n await this.ciphersComponent.reload(null, true);\n this.clearFilters();\n this.deleted = 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.reload((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.reload((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 = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchCollection');\n await this.ciphersComponent.reload((c) => c.collectionIds != null &&\n 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 this.ciphersComponent.search(200);\n }\n\n async editCipherAttachments(cipher: CipherView) {\n const canAccessPremium = await this.userService.canAccessPremium();\n if (cipher.organizationId == null && !canAccessPremium) {\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 childComponent.onReuploadedAttachment.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 if (this.collectionId != null) {\n const collection = this.groupingsComponent.collections.filter((c) => c.id === this.collectionId);\n if (collection.length > 0) {\n component.organizationId = collection[0].organizationId;\n component.collectionIds = [this.collectionId];\n }\n }\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 childComponent.onRestoredCipher.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 cloneCipher(cipher: CipherView) {\n const component = this.editCipher(cipher);\n component.cloneMode = true;\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 this.deleted = false;\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 deleted: this.deleted ? true : null,\n };\n }\n\n this.router.navigate([], {\n relativeTo: this.route,\n queryParams: queryParams,\n replaceUrl: true,\n });\n }\n}\n","
\n
\n
\n \n \n
\n
\n
\n

\n {{'myVault' | i18n}}\n \n \n \n {{'loading' | i18n}}\n \n \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","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","
\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","import { Component } from '@angular/core';\n\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport {\n FolderAddEditComponent as BaseFolderAddEditComponent,\n} from 'jslib/angular/components/folder-add-edit.component';\n\n@Component({\n selector: 'app-folder-add-edit',\n templateUrl: 'folder-add-edit.component.html',\n})\nexport class FolderAddEditComponent extends BaseFolderAddEditComponent {\n constructor(folderService: FolderService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService) {\n super(folderService, i18nService, platformUtilsService);\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","import {\n Component,\n OnDestroy,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { ShareComponent as BaseShareComponent } from 'jslib/angular/components/share.component';\n\n@Component({\n selector: 'app-vault-share',\n templateUrl: 'share.component.html',\n})\nexport class ShareComponent extends BaseShareComponent implements OnDestroy {\n constructor(collectionService: CollectionService, platformUtilsService: PlatformUtilsService,\n i18nService: I18nService, userService: UserService,\n cipherService: CipherService) {\n super(collectionService, platformUtilsService, i18nService, userService, cipherService);\n }\n\n ngOnDestroy() {\n this.selectAll(false);\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","
\n
\n
\n
\n

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

\n \n
\n
\n {{'noOrganizationsList' | i18n}}\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 {{'newOrganization' | i18n}}\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';\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 {{'verifyEmail' | i18n}}\n
\n
\n

{{'verifyEmailDesc' | i18n}}

\n \n
\n
\n","import { Injectable } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Injectable()\nexport class OrganizationGuardService implements CanActivate {\n constructor(private userService: UserService, private router: Router,\n private toasterService: ToasterService, private i18nService: I18nService) { }\n\n async canActivate(route: ActivatedRouteSnapshot) {\n const org = await this.userService.getOrganization(route.params.organizationId);\n if (org == null) {\n this.router.navigate(['/']);\n return false;\n }\n if (!org.isOwner && !org.enabled) {\n this.toasterService.popAsync('error', null, this.i18nService.t('organizationIsDisabled'));\n this.router.navigate(['/']);\n return false;\n }\n\n return true;\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n Router,\n} from '@angular/router';\n\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Permissions } from 'jslib/enums/permissions';\n\n@Injectable()\nexport class OrganizationTypeGuardService implements CanActivate {\n constructor(private userService: UserService, private router: Router) { }\n\n async canActivate(route: ActivatedRouteSnapshot) {\n const org = await this.userService.getOrganization(route.params.organizationId);\n const permissions = route.data == null ? null : route.data.permissions as Permissions[];\n\n if (\n (permissions.indexOf(Permissions.AccessBusinessPortal) !== -1 && org.canAccessBusinessPortal) ||\n (permissions.indexOf(Permissions.AccessEventLogs) !== -1 && org.canAccessEventLogs) ||\n (permissions.indexOf(Permissions.AccessImportExport) !== -1 && org.canAccessImportExport) ||\n (permissions.indexOf(Permissions.AccessReports) !== -1 && org.canAccessReports) ||\n (permissions.indexOf(Permissions.ManageAllCollections) !== -1 && org.canManageAllCollections) ||\n (permissions.indexOf(Permissions.ManageAssignedCollections) !== -1 && org.canManageAssignedCollections) ||\n (permissions.indexOf(Permissions.ManageGroups) !== -1 && org.canManageGroups) ||\n (permissions.indexOf(Permissions.ManageOrganization) !== -1 && org.isOwner) ||\n (permissions.indexOf(Permissions.ManagePolicies) !== -1 && org.canManagePolicies) ||\n (permissions.indexOf(Permissions.ManageUsers) !== -1 && org.canManageUsers)\n ) {\n return true;\n }\n\n this.router.navigate(['/organizations', org.id]);\n return false;\n }\n}\n","export enum Permissions {\n AccessBusinessPortal,\n AccessEventLogs,\n AccessImportExport,\n AccessReports,\n ManageAllCollections,\n ManageAssignedCollections,\n ManageGroups,\n ManageOrganization,\n ManagePolicies,\n ManageUsers,\n}\n","import { Injectable } from '@angular/core';\nimport {\n CanActivate,\n Router,\n} from '@angular/router';\n\nimport { UserService } from 'jslib/abstractions/user.service';\nimport { VaultTimeoutService } from 'jslib/abstractions/vaultTimeout.service';\n\n@Injectable()\nexport class UnauthGuardService implements CanActivate {\n constructor(private vaultTimeoutService: VaultTimeoutService, private userService: UserService,\n private router: Router) { }\n\n async canActivate() {\n const isAuthed = await this.userService.isAuthenticated();\n if (isAuthed) {\n const locked = await this.vaultTimeoutService.isLocked();\n if (locked) {\n this.router.navigate(['lock']);\n } else {\n this.router.navigate(['vault']);\n }\n return false;\n }\n\n return true;\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n Router,\n RouterStateSnapshot,\n} from '@angular/router';\n\nimport { MessagingService } from '../../abstractions/messaging.service';\nimport { UserService } from '../../abstractions/user.service';\nimport { VaultTimeoutService } from '../../abstractions/vaultTimeout.service';\n\n@Injectable()\nexport class AuthGuardService implements CanActivate {\n constructor(private vaultTimeoutService: VaultTimeoutService, private userService: UserService,\n private router: Router, private messagingService: MessagingService) { }\n\n async canActivate(route: ActivatedRouteSnapshot, routerState: RouterStateSnapshot) {\n const isAuthed = await this.userService.isAuthenticated();\n if (!isAuthed) {\n this.messagingService.send('authBlocked');\n return false;\n }\n\n const locked = await this.vaultTimeoutService.isLocked();\n if (locked) {\n if (routerState != null) {\n this.messagingService.send('lockedUrl', { url: routerState.url });\n }\n this.router.navigate(['lock'], { queryParams: { promptBiometric: true }});\n return false;\n }\n\n return true;\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\n\nimport { CipherData } from 'jslib/models/data';\nimport { Cipher, SymmetricCryptoKey } from 'jslib/models/domain';\nimport { EmergencyAccessViewResponse } from 'jslib/models/response/emergencyAccessResponse';\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { EmergencyAddEditComponent } from './emergency-add-edit.component';\n\n@Component({\n selector: 'emergency-access-view',\n templateUrl: 'emergency-access-view.component.html',\n})\nexport class EmergencyAccessViewComponent implements OnInit {\n @ViewChild('cipherAddEdit', { read: ViewContainerRef, static: true }) cipherAddEditModalRef: ViewContainerRef;\n\n id: string;\n ciphers: CipherView[] = [];\n\n private modal: ModalComponent = null;\n\n constructor(private cipherService: CipherService, private cryptoService: CryptoService,\n private componentFactoryResolver: ComponentFactoryResolver, private router: Router,\n private route: ActivatedRoute, private apiService: ApiService) { }\n\n ngOnInit() {\n this.route.params.subscribe((qParams) => {\n if (qParams.id == null) {\n return this.router.navigate(['settings/emergency-access']);\n }\n\n this.id = qParams.id;\n\n this.load();\n });\n }\n\n selectCipher(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(EmergencyAddEditComponent, this.cipherAddEditModalRef);\n\n childComponent.cipherId = cipher == null ? null : cipher.id;\n childComponent.cipher = cipher;\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n async load() {\n const response = await this.apiService.postEmergencyAccessView(this.id);\n this.ciphers = await this.getAllCiphers(response);\n }\n\n protected async getAllCiphers(response: EmergencyAccessViewResponse): Promise {\n const ciphers = response.ciphers;\n\n const decCiphers: CipherView[] = [];\n const oldKeyBuffer = await this.cryptoService.rsaDecrypt(response.keyEncrypted);\n const oldEncKey = new SymmetricCryptoKey(oldKeyBuffer);\n\n const promises: any[] = [];\n ciphers.forEach((cipherResponse) => {\n const cipherData = new CipherData(cipherResponse);\n const cipher = new Cipher(cipherData);\n promises.push(cipher.decrypt(oldEncKey).then((c) => decCiphers.push(c)));\n });\n\n await Promise.all(promises);\n decCiphers.sort(this.cipherService.getLocaleSortingFunction());\n\n return decCiphers;\n }\n}\n","
\n

{{'vault' | i18n}}

\n
\n
\n \n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n \n \n {{'shared' | i18n}}\n \n \n \n {{'attachments' | i18n}}\n \n
\n {{c.subTitle}}\n
\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","export class EnvironmentUrls {\n base: string;\n api: string;\n identity: string;\n events: string;\n}\n","export class GeneratedPasswordHistory {\n password: string;\n date: number;\n\n constructor(password: string, date: number) {\n this.password = password;\n this.date = date;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { EventService } from 'jslib/abstractions/event.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 { PolicyService } from 'jslib/abstractions/policy.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Cipher } from 'jslib/models/domain/cipher';\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 EmergencyAddEditComponent extends BaseAddEditComponent {\n originalCipher: Cipher = null;\n viewOnly = true;\n\n constructor(cipherService: CipherService, folderService: FolderService,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\n auditService: AuditService, stateService: StateService,\n userService: UserService, collectionService: CollectionService,\n totpService: TotpService, passwordGenerationService: PasswordGenerationService,\n messagingService: MessagingService, eventService: EventService, policyService: PolicyService) {\n super(cipherService, folderService, i18nService, platformUtilsService, auditService, stateService,\n userService, collectionService, totpService, passwordGenerationService, messagingService,\n eventService, policyService);\n }\n\n async load() {\n this.title = this.i18nService.t('viewItem');\n }\n\n protected async loadCipher() {\n return Promise.resolve(this.originalCipher);\n }\n}\n","import { Component, ComponentFactoryResolver, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\nimport { ToasterService } from 'angular2-toaster';\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 { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { EmergencyAccessStatusType } from 'jslib/enums/emergencyAccessStatusType';\nimport { EmergencyAccessType } from 'jslib/enums/emergencyAccessType';\nimport { Utils } from 'jslib/misc/utils';\nimport { EmergencyAccessConfirmRequest } from 'jslib/models/request/emergencyAccessConfirmRequest';\nimport { EmergencyAccessGranteeDetailsResponse, EmergencyAccessGrantorDetailsResponse } from 'jslib/models/response/emergencyAccessResponse';\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { ModalComponent } from '../modal.component';\nimport { EmergencyAccessAddEditComponent } from './emergency-access-add-edit.component';\nimport { EmergencyAccessConfirmComponent } from './emergency-access-confirm.component';\nimport { EmergencyAccessTakeoverComponent } from './emergency-access-takeover.component';\n\n@Component({\n selector: 'emergency-access',\n templateUrl: 'emergency-access.component.html',\n})\nexport class EmergencyAccessComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef, static: true }) addEditModalRef: ViewContainerRef;\n @ViewChild('takeoverTemplate', { read: ViewContainerRef, static: true}) takeoverModalRef: ViewContainerRef;\n @ViewChild('confirmTemplate', { read: ViewContainerRef, static: true }) confirmModalRef: ViewContainerRef;\n\n canAccessPremium: boolean;\n trustedContacts: EmergencyAccessGranteeDetailsResponse[];\n grantedContacts: EmergencyAccessGrantorDetailsResponse[];\n emergencyAccessType = EmergencyAccessType;\n emergencyAccessStatusType = EmergencyAccessStatusType;\n actionPromise: Promise;\n\n private modal: ModalComponent = null;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private componentFactoryResolver: ComponentFactoryResolver,\n private platformUtilsService: PlatformUtilsService,\n private toasterService: ToasterService, private cryptoService: CryptoService,\n private storageService: StorageService, private userService: UserService,\n private messagingService: MessagingService) { }\n\n async ngOnInit() {\n this.canAccessPremium = await this.userService.canAccessPremium();\n this.load();\n }\n\n async load() {\n this.trustedContacts = (await this.apiService.getEmergencyAccessTrusted()).data;\n this.grantedContacts = (await this.apiService.getEmergencyAccessGranted()).data;\n }\n\n async premiumRequired() {\n if (!this.canAccessPremium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n\n edit(details: EmergencyAccessGranteeDetailsResponse) {\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 EmergencyAccessAddEditComponent, this.addEditModalRef);\n\n childComponent.name = details?.name ?? details?.email;\n childComponent.emergencyAccessId = details?.id;\n childComponent.readOnly = !this.canAccessPremium;\n childComponent.onSaved.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeleted.subscribe(() => {\n this.modal.close();\n this.remove(details);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n invite() {\n this.edit(null);\n }\n\n async reinvite(contact: EmergencyAccessGranteeDetailsResponse) {\n if (this.actionPromise != null) {\n return;\n }\n this.actionPromise = this.apiService.postEmergencyAccessReinvite(contact.id);\n await this.actionPromise;\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenReinvited', contact.email));\n this.actionPromise = null;\n }\n\n async confirm(contact: EmergencyAccessGranteeDetailsResponse) {\n function updateUser() {\n contact.status = EmergencyAccessStatusType.Confirmed;\n }\n\n if (this.actionPromise != null) {\n return;\n }\n\n const autoConfirm = await this.storageService.get(ConstantsService.autoConfirmFingerprints);\n if (autoConfirm == null || !autoConfirm) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.confirmModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EmergencyAccessConfirmComponent, this.confirmModalRef);\n\n childComponent.name = contact?.name ?? contact?.email;\n childComponent.emergencyAccessId = contact.id;\n childComponent.userId = contact?.granteeId;\n childComponent.onConfirmed.subscribe(async () => {\n this.modal.close();\n\n childComponent.formPromise = this.doConfirmation(contact);\n await childComponent.formPromise;\n\n updateUser();\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenConfirmed', contact.name || contact.email));\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n return;\n }\n\n this.actionPromise = this.doConfirmation(contact);\n await this.actionPromise;\n updateUser();\n\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenConfirmed', contact.name || contact.email));\n this.actionPromise = null;\n }\n\n async remove(details: EmergencyAccessGranteeDetailsResponse | EmergencyAccessGrantorDetailsResponse) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('removeUserConfirmation'), details.name || details.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.deleteEmergencyAccess(details.id);\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', details.name || details.email));\n\n if (details instanceof EmergencyAccessGranteeDetailsResponse) {\n this.removeGrantee(details);\n } else {\n this.removeGrantor(details);\n }\n } catch { }\n }\n\n async requestAccess(details: EmergencyAccessGrantorDetailsResponse) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('requestAccessConfirmation', details.waitTimeDays.toString()),\n details.name || details.email,\n this.i18nService.t('requestAccess'),\n this.i18nService.t('no'),\n 'warning',\n );\n\n if (!confirmed) {\n return false;\n }\n\n await this.apiService.postEmergencyAccessInitiate(details.id);\n\n details.status = EmergencyAccessStatusType.RecoveryInitiated;\n this.toasterService.popAsync('success', null, this.i18nService.t('requestSent', details.name || details.email));\n }\n\n async approve(details: EmergencyAccessGranteeDetailsResponse) {\n const type = this.i18nService.t(details.type === EmergencyAccessType.View ? 'view' : 'takeover');\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('approveAccessConfirmation', details.name, type),\n details.name || details.email,\n this.i18nService.t('approve'),\n this.i18nService.t('no'),\n 'warning',\n );\n\n if (!confirmed) {\n return false;\n }\n\n await this.apiService.postEmergencyAccessApprove(details.id);\n details.status = EmergencyAccessStatusType.RecoveryApproved;\n\n this.toasterService.popAsync('success', null, this.i18nService.t('emergencyApproved', details.name || details.email));\n }\n\n async reject(details: EmergencyAccessGranteeDetailsResponse) {\n await this.apiService.postEmergencyAccessReject(details.id);\n details.status = EmergencyAccessStatusType.Confirmed;\n\n this.toasterService.popAsync('success', null, this.i18nService.t('emergencyRejected', details.name || details.email));\n }\n\n async takeover(details: EmergencyAccessGrantorDetailsResponse) {\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 EmergencyAccessTakeoverComponent, this.takeoverModalRef);\n\n childComponent.name = details != null ? details.name || details.email : null;\n childComponent.email = details.email;\n childComponent.emergencyAccessId = details != null ? details.id : null;\n\n childComponent.onDone.subscribe(() => {\n this.modal.close();\n this.toasterService.popAsync('success', null, this.i18nService.t('passwordResetFor', details.name || details.email));\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private removeGrantee(details: EmergencyAccessGranteeDetailsResponse) {\n const index = this.trustedContacts.indexOf(details);\n if (index > -1) {\n this.trustedContacts.splice(index, 1);\n }\n }\n\n private removeGrantor(details: EmergencyAccessGrantorDetailsResponse) {\n const index = this.grantedContacts.indexOf(details);\n if (index > -1) {\n this.grantedContacts.splice(index, 1);\n }\n }\n\n // Encrypt the master password hash using the grantees public key, and send it to bitwarden for escrow.\n private async doConfirmation(details: EmergencyAccessGranteeDetailsResponse) {\n const encKey = await this.cryptoService.getEncKey();\n const publicKeyResponse = await this.apiService.getUserPublicKey(details.granteeId);\n const publicKey = Utils.fromB64ToArray(publicKeyResponse.publicKey);\n\n try {\n // tslint:disable-next-line\n console.log('User\\'s fingerprint: ' +\n (await this.cryptoService.getFingerprint(details.granteeId, publicKey.buffer)).join('-'));\n } catch { }\n\n const encryptedKey = await this.cryptoService.rsaEncrypt(encKey.key, publicKey.buffer);\n const request = new EmergencyAccessConfirmRequest();\n request.key = encryptedKey.encryptedString;\n await this.apiService.postEmergencyAccessConfirm(details.id, request);\n }\n}\n","
\n

{{'emergencyAccess' | i18n}}

\n
\n

\n {{'emergencyAccessDesc' | i18n}}\n \n {{'learnMore' | i18n}}.\n \n

\n\n
\n

\n {{'trustedEmergencyContacts' | i18n}}\n \n {{'premium' | i18n}}\n \n

\n
\n \n
\n
\n\n\n \n \n \n \n \n \n \n
\n \n \n {{c.email}}\n {{'invited' | i18n}}\n {{'accepted' | i18n}}\n {{'emergencyAccessRecoveryInitiated' | i18n}}\n {{'emergencyAccessRecoveryApproved' | i18n}}\n \n {{'view' | i18n}}\n {{'takeover' | i18n}}\n\n {{c.name}}\n \n \n
\n\n

{{'noTrustedContacts' | i18n}}

\n\n
\n

{{'designatedEmergencyContacts' | i18n}}

\n
\n\n\n \n \n \n \n \n \n \n
\n \n \n {{c.email}}\n {{'invited' | i18n}}\n {{'accepted' | i18n}}\n {{'emergencyAccessRecoveryInitiated' | i18n}}\n {{'emergencyAccessRecoveryApproved' | i18n}}\n \n {{'view' | i18n}}\n {{'takeover' | i18n}}\n\n {{c.name}}\n \n \n
\n\n

{{'noGrantedAccess' | i18n}}

\n\n\n\n\n","export enum EmergencyAccessType\n{\n View = 0,\n Takeover = 1,\n}\n","import { EmergencyAccessStatusType } from '../../enums/emergencyAccessStatusType';\nimport { EmergencyAccessType } from '../../enums/emergencyAccessType';\nimport { KdfType } from '../../enums/kdfType';\nimport { BaseResponse } from './baseResponse';\nimport { CipherResponse } from './cipherResponse';\n\nexport class EmergencyAccessGranteeDetailsResponse extends BaseResponse {\n id: string;\n granteeId: string;\n name: string;\n email: string;\n type: EmergencyAccessType;\n status: EmergencyAccessStatusType;\n waitTimeDays: number;\n creationDate: string;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.granteeId = this.getResponseProperty('GranteeId');\n this.name = this.getResponseProperty('Name');\n this.email = this.getResponseProperty('Email');\n this.type = this.getResponseProperty('Type');\n this.status = this.getResponseProperty('Status');\n this.waitTimeDays = this.getResponseProperty('WaitTimeDays');\n this.creationDate = this.getResponseProperty('CreationDate');\n }\n}\n\nexport class EmergencyAccessGrantorDetailsResponse extends BaseResponse {\n id: string;\n grantorId: string;\n name: string;\n email: string;\n type: EmergencyAccessType;\n status: EmergencyAccessStatusType;\n waitTimeDays: number;\n creationDate: string;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.grantorId = this.getResponseProperty('GrantorId');\n this.name = this.getResponseProperty('Name');\n this.email = this.getResponseProperty('Email');\n this.type = this.getResponseProperty('Type');\n this.status = this.getResponseProperty('Status');\n this.waitTimeDays = this.getResponseProperty('WaitTimeDays');\n this.creationDate = this.getResponseProperty('CreationDate');\n }\n}\n\nexport class EmergencyAccessTakeoverResponse extends BaseResponse {\n keyEncrypted: string;\n kdf: KdfType;\n kdfIterations: number;\n\n constructor(response: any) {\n super(response);\n\n this.keyEncrypted = this.getResponseProperty('KeyEncrypted');\n this.kdf = this.getResponseProperty('Kdf');\n this.kdfIterations = this.getResponseProperty('KdfIterations');\n }\n}\n\nexport class EmergencyAccessViewResponse extends BaseResponse {\n keyEncrypted: string;\n ciphers: CipherResponse[] = [];\n\n constructor(response: any) {\n super(response);\n\n this.keyEncrypted = this.getResponseProperty('KeyEncrypted');\n\n const ciphers = this.getResponseProperty('Ciphers');\n if (ciphers != null) {\n this.ciphers = ciphers.map((c: any) => new CipherResponse(c));\n }\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\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 { EmergencyAccessType } from 'jslib/enums/emergencyAccessType';\nimport { EmergencyAccessInviteRequest } from 'jslib/models/request/emergencyAccessInviteRequest';\nimport { EmergencyAccessUpdateRequest } from 'jslib/models/request/emergencyAccessUpdateRequest';\n\n@Component({\n selector: 'emergency-access-add-edit',\n templateUrl: 'emergency-access-add-edit.component.html',\n})\nexport class EmergencyAccessAddEditComponent implements OnInit {\n @Input() name: string;\n @Input() emergencyAccessId: string;\n @Output() onSaved = new EventEmitter();\n @Output() onDeleted = new EventEmitter();\n\n loading = true;\n readOnly: boolean = false;\n editMode: boolean = false;\n title: string;\n email: string;\n type: EmergencyAccessType = EmergencyAccessType.View;\n\n formPromise: Promise;\n\n emergencyAccessType = EmergencyAccessType;\n waitTimes: { name: string; value: number; }[];\n waitTime: number;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private toasterService: ToasterService) { }\n\n async ngOnInit() {\n this.editMode = this.loading = this.emergencyAccessId != null;\n\n this.waitTimes = [\n { name: this.i18nService.t('oneDay'), value: 1 },\n { name: this.i18nService.t('days', '2'), value: 2 },\n { name: this.i18nService.t('days', '7'), value: 7 },\n { name: this.i18nService.t('days', '14'), value: 14 },\n { name: this.i18nService.t('days', '30'), value: 30 },\n { name: this.i18nService.t('days', '90'), value: 90 },\n ];\n\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editEmergencyContact');\n try {\n const emergencyAccess = await this.apiService.getEmergencyAccess(this.emergencyAccessId);\n this.type = emergencyAccess.type;\n this.waitTime = emergencyAccess.waitTimeDays;\n } catch { }\n } else {\n this.title = this.i18nService.t('inviteEmergencyContact');\n this.waitTime = this.waitTimes[2].value;\n }\n\n this.loading = false;\n }\n\n async submit() {\n try {\n if (this.editMode) {\n const request = new EmergencyAccessUpdateRequest();\n request.type = this.type;\n request.waitTimeDays = this.waitTime;\n\n this.formPromise = this.apiService.putEmergencyAccess(this.emergencyAccessId, request);\n } else {\n const request = new EmergencyAccessInviteRequest();\n request.email = this.email.trim();\n request.type = this.type;\n request.waitTimeDays = this.waitTime;\n\n this.formPromise = this.apiService.postEmergencyAccessInvite(request);\n }\n\n await this.formPromise;\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedUserId' : 'invitedUsers', this.name));\n this.onSaved.emit();\n } catch { }\n }\n\n async delete() {\n this.onDeleted.emit();\n }\n}\n","
\n
\n
\n
\n

\n {{'premium' | i18n}}\n {{title}}\n {{name}}\n

\n \n
\n
\n \n {{'loading' | i18n}}\n
\n
\n \n

{{'inviteEmergencyContactDesc' | i18n}}

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

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

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n {{'waitTimeDesc' | i18n}}\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'emergency-access-confirm',\n templateUrl: 'emergency-access-confirm.component.html',\n})\nexport class EmergencyAccessConfirmComponent implements OnInit {\n @Input() name: string;\n @Input() userId: string;\n @Input() emergencyAccessId: string;\n @Input() formPromise: Promise;\n @Output() onConfirmed = new EventEmitter();\n\n dontAskAgain = false;\n loading = true;\n fingerprint: string;\n\n constructor(private apiService: ApiService, private cryptoService: CryptoService,\n private storageService: StorageService) { }\n\n async ngOnInit() {\n try {\n const publicKeyResponse = await this.apiService.getUserPublicKey(this.userId);\n if (publicKeyResponse != null) {\n const publicKey = Utils.fromB64ToArray(publicKeyResponse.publicKey);\n const fingerprint = await this.cryptoService.getFingerprint(this.userId, publicKey.buffer);\n if (fingerprint != null) {\n this.fingerprint = fingerprint.join('-');\n }\n }\n } catch { }\n this.loading = false;\n }\n\n async submit() {\n if (this.loading) {\n return;\n }\n\n if (this.dontAskAgain) {\n await this.storageService.save(ConstantsService.autoConfirmFingerprints, true);\n }\n\n try {\n this.onConfirmed.emit();\n } catch { }\n }\n}\n","
\n
\n
\n
\n

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

\n \n
\n
\n

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

\n

{{fingerprint}}

\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\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 { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { PolicyService } from 'jslib/abstractions/policy.service';\nimport { UserService } from 'jslib/abstractions/user.service';\nimport { ChangePasswordComponent } from 'jslib/angular/components/change-password.component';\n\nimport { KdfType } from 'jslib/enums/kdfType';\nimport { SymmetricCryptoKey } from 'jslib/models/domain/symmetricCryptoKey';\nimport { EmergencyAccessPasswordRequest } from 'jslib/models/request/emergencyAccessPasswordRequest';\n\n@Component({\n selector: 'emergency-access-takeover',\n templateUrl: 'emergency-access-takeover.component.html',\n})\nexport class EmergencyAccessTakeoverComponent extends ChangePasswordComponent implements OnInit {\n @Output() onDone = new EventEmitter();\n @Input() emergencyAccessId: string;\n @Input() name: string;\n @Input() email: string;\n @Input() kdf: KdfType;\n @Input() kdfIterations: number;\n\n formPromise: Promise;\n\n constructor(i18nService: I18nService, cryptoService: CryptoService,\n messagingService: MessagingService, userService: UserService,\n passwordGenerationService: PasswordGenerationService,\n platformUtilsService: PlatformUtilsService, policyService: PolicyService,\n private apiService: ApiService, private toasterService: ToasterService) {\n super(i18nService, cryptoService, messagingService, userService, passwordGenerationService,\n platformUtilsService, policyService);\n }\n\n // tslint:disable-next-line\n async ngOnInit() { }\n\n async submit() {\n if (!await this.strongPassword()) {\n return;\n }\n\n const takeoverResponse = await this.apiService.postEmergencyAccessTakeover(this.emergencyAccessId);\n\n const oldKeyBuffer = await this.cryptoService.rsaDecrypt(takeoverResponse.keyEncrypted);\n const oldEncKey = new SymmetricCryptoKey(oldKeyBuffer);\n\n if (oldEncKey == null) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'), this.i18nService.t('unexpectedError'));\n return;\n }\n\n const key = await this.cryptoService.makeKey(this.masterPassword, this.email, takeoverResponse.kdf, takeoverResponse.kdfIterations);\n const masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, key);\n\n const encKey = await this.cryptoService.remakeEncKey(key, oldEncKey);\n\n const request = new EmergencyAccessPasswordRequest();\n request.newMasterPasswordHash = masterPasswordHash;\n request.key = encKey[1].encryptedString;\n\n this.apiService.postEmergencyAccessPassword(this.emergencyAccessId, request);\n\n try {\n this.onDone.emit();\n } catch { }\n }\n}\n","
\n
\n
\n
\n

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

\n \n
\n
\n {{'loggedOutWarning' | 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","import { DeviceType } from '../enums/deviceType';\nimport { PolicyType } from '../enums/policyType';\n\nimport { ApiService as ApiServiceAbstraction } from '../abstractions/api.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { TokenService } from '../abstractions/token.service';\n\nimport { EnvironmentUrls } from '../models/domain/environmentUrls';\n\nimport { BitPayInvoiceRequest } from '../models/request/bitPayInvoiceRequest';\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\nimport { CipherCreateRequest } from '../models/request/cipherCreateRequest';\nimport { CipherRequest } from '../models/request/cipherRequest';\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\nimport { CollectionRequest } from '../models/request/collectionRequest';\nimport { DeleteRecoverRequest } from '../models/request/deleteRecoverRequest';\nimport { EmailRequest } from '../models/request/emailRequest';\nimport { EmailTokenRequest } from '../models/request/emailTokenRequest';\nimport { EmergencyAccessAcceptRequest } from '../models/request/emergencyAccessAcceptRequest';\nimport { EmergencyAccessConfirmRequest } from '../models/request/emergencyAccessConfirmRequest';\nimport { EmergencyAccessInviteRequest } from '../models/request/emergencyAccessInviteRequest';\nimport { EmergencyAccessPasswordRequest } from '../models/request/emergencyAccessPasswordRequest';\nimport { EmergencyAccessUpdateRequest } from '../models/request/emergencyAccessUpdateRequest';\nimport { EventRequest } from '../models/request/eventRequest';\nimport { FolderRequest } from '../models/request/folderRequest';\nimport { GroupRequest } from '../models/request/groupRequest';\nimport { IapCheckRequest } from '../models/request/iapCheckRequest';\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\nimport { ImportDirectoryRequest } from '../models/request/importDirectoryRequest';\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\nimport { KdfRequest } from '../models/request/kdfRequest';\nimport { KeysRequest } from '../models/request/keysRequest';\nimport { OrganizationCreateRequest } from '../models/request/organizationCreateRequest';\nimport { OrganizationTaxInfoUpdateRequest } from '../models/request/organizationTaxInfoUpdateRequest';\nimport { OrganizationUpdateRequest } from '../models/request/organizationUpdateRequest';\nimport { OrganizationUpgradeRequest } from '../models/request/organizationUpgradeRequest';\nimport { OrganizationUserAcceptRequest } from '../models/request/organizationUserAcceptRequest';\nimport { OrganizationUserConfirmRequest } from '../models/request/organizationUserConfirmRequest';\nimport { OrganizationUserInviteRequest } from '../models/request/organizationUserInviteRequest';\nimport { OrganizationUserUpdateGroupsRequest } from '../models/request/organizationUserUpdateGroupsRequest';\nimport { OrganizationUserUpdateRequest } from '../models/request/organizationUserUpdateRequest';\nimport { PasswordHintRequest } from '../models/request/passwordHintRequest';\nimport { PasswordRequest } from '../models/request/passwordRequest';\nimport { PasswordVerificationRequest } from '../models/request/passwordVerificationRequest';\nimport { PaymentRequest } from '../models/request/paymentRequest';\nimport { PolicyRequest } from '../models/request/policyRequest';\nimport { PreloginRequest } from '../models/request/preloginRequest';\nimport { RegisterRequest } from '../models/request/registerRequest';\nimport { SeatRequest } from '../models/request/seatRequest';\nimport { SelectionReadOnlyRequest } from '../models/request/selectionReadOnlyRequest';\nimport { SendAccessRequest } from '../models/request/sendAccessRequest';\nimport { SendRequest } from '../models/request/sendRequest';\nimport { SetPasswordRequest } from '../models/request/setPasswordRequest';\nimport { StorageRequest } from '../models/request/storageRequest';\nimport { TaxInfoUpdateRequest } from '../models/request/taxInfoUpdateRequest';\nimport { TokenRequest } from '../models/request/tokenRequest';\nimport { TwoFactorEmailRequest } from '../models/request/twoFactorEmailRequest';\nimport { TwoFactorProviderRequest } from '../models/request/twoFactorProviderRequest';\nimport { TwoFactorRecoveryRequest } from '../models/request/twoFactorRecoveryRequest';\nimport { UpdateDomainsRequest } from '../models/request/updateDomainsRequest';\nimport { UpdateKeyRequest } from '../models/request/updateKeyRequest';\nimport { UpdateProfileRequest } from '../models/request/updateProfileRequest';\nimport { UpdateTwoFactorAuthenticatorRequest } from '../models/request/updateTwoFactorAuthenticatorRequest';\nimport { UpdateTwoFactorDuoRequest } from '../models/request/updateTwoFactorDuoRequest';\nimport { UpdateTwoFactorEmailRequest } from '../models/request/updateTwoFactorEmailRequest';\nimport { UpdateTwoFactorU2fDeleteRequest } from '../models/request/updateTwoFactorU2fDeleteRequest';\nimport { UpdateTwoFactorU2fRequest } from '../models/request/updateTwoFactorU2fRequest';\nimport { UpdateTwoFactorYubioOtpRequest } from '../models/request/updateTwoFactorYubioOtpRequest';\nimport { VerifyBankRequest } from '../models/request/verifyBankRequest';\nimport { VerifyDeleteRecoverRequest } from '../models/request/verifyDeleteRecoverRequest';\nimport { VerifyEmailRequest } from '../models/request/verifyEmailRequest';\n\nimport { ApiKeyResponse } from '../models/response/apiKeyResponse';\nimport { BillingResponse } from '../models/response/billingResponse';\nimport { BreachAccountResponse } from '../models/response/breachAccountResponse';\nimport { CipherResponse } from '../models/response/cipherResponse';\nimport {\n CollectionGroupDetailsResponse,\n CollectionResponse,\n} from '../models/response/collectionResponse';\nimport { DomainsResponse } from '../models/response/domainsResponse';\nimport {\n EmergencyAccessGranteeDetailsResponse,\n EmergencyAccessGrantorDetailsResponse,\n EmergencyAccessTakeoverResponse,\n EmergencyAccessViewResponse\n} from '../models/response/emergencyAccessResponse';\nimport { ErrorResponse } from '../models/response/errorResponse';\nimport { EventResponse } from '../models/response/eventResponse';\nimport { FolderResponse } from '../models/response/folderResponse';\nimport {\n GroupDetailsResponse,\n GroupResponse,\n} from '../models/response/groupResponse';\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\nimport { ListResponse } from '../models/response/listResponse';\nimport { OrganizationResponse } from '../models/response/organizationResponse';\nimport { OrganizationSubscriptionResponse } from '../models/response/organizationSubscriptionResponse';\nimport {\n OrganizationUserDetailsResponse,\n OrganizationUserUserDetailsResponse,\n} from '../models/response/organizationUserResponse';\nimport { PaymentResponse } from '../models/response/paymentResponse';\nimport { PlanResponse } from '../models/response/planResponse';\nimport { PolicyResponse } from '../models/response/policyResponse';\nimport { PreloginResponse } from '../models/response/preloginResponse';\nimport { ProfileResponse } from '../models/response/profileResponse';\nimport { SelectionReadOnlyResponse } from '../models/response/selectionReadOnlyResponse';\nimport { SendAccessResponse } from '../models/response/sendAccessResponse';\nimport { SendResponse } from '../models/response/sendResponse';\nimport { SubscriptionResponse } from '../models/response/subscriptionResponse';\nimport { SyncResponse } from '../models/response/syncResponse';\nimport { TaxInfoResponse } from '../models/response/taxInfoResponse';\nimport { TaxRateResponse } from '../models/response/taxRateResponse';\nimport { TwoFactorAuthenticatorResponse } from '../models/response/twoFactorAuthenticatorResponse';\nimport { TwoFactorDuoResponse } from '../models/response/twoFactorDuoResponse';\nimport { TwoFactorEmailResponse } from '../models/response/twoFactorEmailResponse';\nimport { TwoFactorProviderResponse } from '../models/response/twoFactorProviderResponse';\nimport { TwoFactorRecoverResponse } from '../models/response/twoFactorRescoverResponse';\nimport {\n ChallengeResponse,\n TwoFactorU2fResponse,\n} from '../models/response/twoFactorU2fResponse';\nimport { TwoFactorYubiKeyResponse } from '../models/response/twoFactorYubiKeyResponse';\nimport { UserKeyResponse } from '../models/response/userKeyResponse';\n\nexport class ApiService implements ApiServiceAbstraction {\n urlsSet: boolean = false;\n apiBaseUrl: string;\n identityBaseUrl: string;\n eventsBaseUrl: string;\n\n private device: DeviceType;\n private deviceType: string;\n private isWebClient = false;\n private isDesktopClient = false;\n private usingBaseUrl = false;\n\n constructor(private tokenService: TokenService, private platformUtilsService: PlatformUtilsService,\n private logoutCallback: (expired: boolean) => Promise, private customUserAgent: string = null) {\n this.device = platformUtilsService.getDevice();\n this.deviceType = this.device.toString();\n this.isWebClient = this.device === DeviceType.IEBrowser || this.device === DeviceType.ChromeBrowser ||\n this.device === DeviceType.EdgeBrowser || this.device === DeviceType.FirefoxBrowser ||\n this.device === DeviceType.OperaBrowser || this.device === DeviceType.SafariBrowser ||\n this.device === DeviceType.UnknownBrowser || this.device === DeviceType.VivaldiBrowser;\n this.isDesktopClient = this.device === DeviceType.WindowsDesktop || this.device === DeviceType.MacOsDesktop ||\n this.device === DeviceType.LinuxDesktop;\n }\n\n setUrls(urls: EnvironmentUrls): void {\n this.urlsSet = true;\n\n if (urls.base != null) {\n this.usingBaseUrl = true;\n this.apiBaseUrl = urls.base + '/api';\n this.identityBaseUrl = urls.base + '/identity';\n this.eventsBaseUrl = urls.base + '/events';\n return;\n }\n\n this.apiBaseUrl = urls.api;\n this.identityBaseUrl = urls.identity;\n this.eventsBaseUrl = urls.events;\n\n // Production\n if (this.apiBaseUrl == null) {\n this.apiBaseUrl = 'https://api.bitwarden.com';\n }\n if (this.identityBaseUrl == null) {\n this.identityBaseUrl = 'https://identity.bitwarden.com';\n }\n if (this.eventsBaseUrl == null) {\n this.eventsBaseUrl = 'https://events.bitwarden.com';\n }\n }\n\n // Auth APIs\n\n async postIdentityToken(request: TokenRequest): Promise {\n const headers = new Headers({\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\n 'Accept': 'application/json',\n 'Device-Type': this.deviceType,\n });\n if (this.customUserAgent != null) {\n headers.set('User-Agent', this.customUserAgent);\n }\n const response = await this.fetch(new Request(this.identityBaseUrl + '/connect/token', {\n body: this.qsStringify(request.toIdentityToken(request.clientId ?? this.platformUtilsService.identityClientId)),\n credentials: this.getCredentials(),\n cache: 'no-store',\n headers: headers,\n method: 'POST',\n }));\n\n let responseJson: any = null;\n if (this.isJsonResponse(response)) {\n responseJson = await response.json();\n }\n\n if (responseJson != null) {\n if (response.status === 200) {\n return new IdentityTokenResponse(responseJson);\n } else if (response.status === 400 && responseJson.TwoFactorProviders2 &&\n Object.keys(responseJson.TwoFactorProviders2).length) {\n await this.tokenService.clearTwoFactorToken(request.email);\n return new IdentityTwoFactorResponse(responseJson);\n }\n }\n\n return Promise.reject(new ErrorResponse(responseJson, response.status, true));\n }\n\n async refreshIdentityToken(): Promise {\n try {\n await this.doRefreshToken();\n } catch (e) {\n return Promise.reject(null);\n }\n }\n\n // Account APIs\n\n async getProfile(): Promise {\n const r = await this.send('GET', '/accounts/profile', null, true, true);\n return new ProfileResponse(r);\n }\n\n async getUserBilling(): Promise {\n const r = await this.send('GET', '/accounts/billing', null, true, true);\n return new BillingResponse(r);\n }\n\n async getUserSubscription(): Promise {\n const r = await this.send('GET', '/accounts/subscription', null, true, true);\n return new SubscriptionResponse(r);\n }\n\n async getTaxInfo(): Promise {\n const r = await this.send('GET', '/accounts/tax', null, true, true);\n return new TaxInfoResponse(r);\n }\n\n async putProfile(request: UpdateProfileRequest): Promise {\n const r = await this.send('PUT', '/accounts/profile', request, true, true);\n return new ProfileResponse(r);\n }\n\n putTaxInfo(request: TaxInfoUpdateRequest): Promise {\n return this.send('PUT', '/accounts/tax', request, true, false);\n }\n\n async postPrelogin(request: PreloginRequest): Promise {\n const r = await this.send('POST', '/accounts/prelogin', request, false, true);\n return new PreloginResponse(r);\n }\n\n postEmailToken(request: EmailTokenRequest): Promise {\n return this.send('POST', '/accounts/email-token', request, true, false);\n }\n\n postEmail(request: EmailRequest): Promise {\n return this.send('POST', '/accounts/email', request, true, false);\n }\n\n postPassword(request: PasswordRequest): Promise {\n return this.send('POST', '/accounts/password', request, true, false);\n }\n\n setPassword(request: SetPasswordRequest): Promise {\n return this.send('POST', '/accounts/set-password', request, true, false);\n }\n\n postSecurityStamp(request: PasswordVerificationRequest): Promise {\n return this.send('POST', '/accounts/security-stamp', request, true, false);\n }\n\n deleteAccount(request: PasswordVerificationRequest): Promise {\n return this.send('DELETE', '/accounts', request, true, false);\n }\n\n async getAccountRevisionDate(): Promise {\n const r = await this.send('GET', '/accounts/revision-date', null, true, true);\n return r as number;\n }\n\n postPasswordHint(request: PasswordHintRequest): Promise {\n return this.send('POST', '/accounts/password-hint', request, false, false);\n }\n\n postRegister(request: RegisterRequest): Promise {\n return this.send('POST', '/accounts/register', request, false, false);\n }\n\n async postPremium(data: FormData): Promise {\n const r = await this.send('POST', '/accounts/premium', data, true, true);\n return new PaymentResponse(r);\n }\n\n async postIapCheck(request: IapCheckRequest): Promise {\n return this.send('POST', '/accounts/iap-check', request, true, false);\n }\n\n postReinstatePremium(): Promise {\n return this.send('POST', '/accounts/reinstate-premium', null, true, false);\n }\n\n postCancelPremium(): Promise {\n return this.send('POST', '/accounts/cancel-premium', null, true, false);\n }\n\n async postAccountStorage(request: StorageRequest): Promise {\n const r = await this.send('POST', '/accounts/storage', request, true, true);\n return new PaymentResponse(r);\n }\n\n postAccountPayment(request: PaymentRequest): Promise {\n return this.send('POST', '/accounts/payment', request, true, false);\n }\n\n postAccountLicense(data: FormData): Promise {\n return this.send('POST', '/accounts/license', data, true, false);\n }\n\n postAccountKeys(request: KeysRequest): Promise {\n return this.send('POST', '/accounts/keys', request, true, false);\n }\n\n postAccountKey(request: UpdateKeyRequest): Promise {\n return this.send('POST', '/accounts/key', request, true, false);\n }\n\n postAccountVerifyEmail(): Promise {\n return this.send('POST', '/accounts/verify-email', null, true, false);\n }\n\n postAccountVerifyEmailToken(request: VerifyEmailRequest): Promise {\n return this.send('POST', '/accounts/verify-email-token', request, false, false);\n }\n\n postAccountVerifyPassword(request: PasswordVerificationRequest): Promise {\n return this.send('POST', '/accounts/verify-password', request, true, false);\n }\n\n postAccountRecoverDelete(request: DeleteRecoverRequest): Promise {\n return this.send('POST', '/accounts/delete-recover', request, false, false);\n }\n\n postAccountRecoverDeleteToken(request: VerifyDeleteRecoverRequest): Promise {\n return this.send('POST', '/accounts/delete-recover-token', request, false, false);\n }\n\n postAccountKdf(request: KdfRequest): Promise {\n return this.send('POST', '/accounts/kdf', request, true, false);\n }\n\n async getEnterprisePortalSignInToken(): Promise {\n const r = await this.send('GET', '/accounts/enterprise-portal-signin-token', null, true, true);\n return r as string;\n }\n\n async deleteSsoUser(organizationId: string): Promise {\n return this.send('DELETE', '/accounts/sso/' + organizationId, null, true, false);\n }\n\n async getSsoUserIdentifier(): Promise {\n return this.send('GET', '/accounts/sso/user-identifier', null, true, true);\n }\n\n async postUserApiKey(id: string, request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/accounts/api-key', request, true, true);\n return new ApiKeyResponse(r);\n }\n\n async postUserRotateApiKey(id: string, request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/accounts/rotate-api-key', request, true, true);\n return new ApiKeyResponse(r);\n }\n\n // Folder APIs\n\n async getFolder(id: string): Promise {\n const r = await this.send('GET', '/folders/' + id, null, true, true);\n return new FolderResponse(r);\n }\n\n async postFolder(request: FolderRequest): Promise {\n const r = await this.send('POST', '/folders', request, true, true);\n return new FolderResponse(r);\n }\n\n async putFolder(id: string, request: FolderRequest): Promise {\n const r = await this.send('PUT', '/folders/' + id, request, true, true);\n return new FolderResponse(r);\n }\n\n deleteFolder(id: string): Promise {\n return this.send('DELETE', '/folders/' + id, null, true, false);\n }\n\n // Send APIs\n\n async getSend(id: string): Promise {\n const r = await this.send('GET', '/sends/' + id, null, true, true);\n return new SendResponse(r);\n }\n\n async postSendAccess(id: string, request: SendAccessRequest): Promise {\n const r = await this.send('POST', '/sends/access/' + id, request, false, true);\n return new SendAccessResponse(r);\n }\n\n async getSends(): Promise> {\n const r = await this.send('GET', '/sends', null, true, true);\n return new ListResponse(r, SendResponse);\n }\n\n async postSend(request: SendRequest): Promise {\n const r = await this.send('POST', '/sends', request, true, true);\n return new SendResponse(r);\n }\n\n async postSendFile(data: FormData): Promise {\n const r = await this.send('POST', '/sends/file', data, true, true);\n return new SendResponse(r);\n }\n\n async putSend(id: string, request: SendRequest): Promise {\n const r = await this.send('PUT', '/sends/' + id, request, true, true);\n return new SendResponse(r);\n }\n\n async putSendRemovePassword(id: string): Promise {\n const r = await this.send('PUT', '/sends/' + id + '/remove-password', null, true, true);\n return new SendResponse(r);\n }\n\n deleteSend(id: string): Promise {\n return this.send('DELETE', '/sends/' + id, null, true, false);\n }\n\n // Cipher APIs\n\n async getCipher(id: string): Promise {\n const r = await this.send('GET', '/ciphers/' + id, null, true, true);\n return new CipherResponse(r);\n }\n\n async getCipherAdmin(id: string): Promise {\n const r = await this.send('GET', '/ciphers/' + id + '/admin', null, true, true);\n return new CipherResponse(r);\n }\n\n async getCiphersOrganization(organizationId: string): Promise> {\n const r = await this.send('GET', '/ciphers/organization-details?organizationId=' + organizationId,\n null, true, true);\n return new ListResponse(r, CipherResponse);\n }\n\n async postCipher(request: CipherRequest): Promise {\n const r = await this.send('POST', '/ciphers', request, true, true);\n return new CipherResponse(r);\n }\n\n async postCipherCreate(request: CipherCreateRequest): Promise {\n const r = await this.send('POST', '/ciphers/create', request, true, true);\n return new CipherResponse(r);\n }\n\n async postCipherAdmin(request: CipherCreateRequest): Promise {\n const r = await this.send('POST', '/ciphers/admin', request, true, true);\n return new CipherResponse(r);\n }\n\n async putCipher(id: string, request: CipherRequest): Promise {\n const r = await this.send('PUT', '/ciphers/' + id, request, true, true);\n return new CipherResponse(r);\n }\n\n async putCipherAdmin(id: string, request: CipherRequest): Promise {\n const r = await this.send('PUT', '/ciphers/' + id + '/admin', request, true, true);\n return new CipherResponse(r);\n }\n\n deleteCipher(id: string): Promise {\n return this.send('DELETE', '/ciphers/' + id, null, true, false);\n }\n\n deleteCipherAdmin(id: string): Promise {\n return this.send('DELETE', '/ciphers/' + id + '/admin', null, true, false);\n }\n\n deleteManyCiphers(request: CipherBulkDeleteRequest): Promise {\n return this.send('DELETE', '/ciphers', request, true, false);\n }\n\n deleteManyCiphersAdmin(request: CipherBulkDeleteRequest): Promise {\n return this.send('DELETE', '/ciphers/admin', request, true, false);\n }\n\n putMoveCiphers(request: CipherBulkMoveRequest): Promise {\n return this.send('PUT', '/ciphers/move', request, true, false);\n }\n\n async putShareCipher(id: string, request: CipherShareRequest): Promise {\n const r = await this.send('PUT', '/ciphers/' + id + '/share', request, true, true);\n return new CipherResponse(r);\n }\n\n putShareCiphers(request: CipherBulkShareRequest): Promise {\n return this.send('PUT', '/ciphers/share', request, true, false);\n }\n\n putCipherCollections(id: string, request: CipherCollectionsRequest): Promise {\n return this.send('PUT', '/ciphers/' + id + '/collections', request, true, false);\n }\n\n putCipherCollectionsAdmin(id: string, request: CipherCollectionsRequest): Promise {\n return this.send('PUT', '/ciphers/' + id + '/collections-admin', request, true, false);\n }\n\n postPurgeCiphers(request: PasswordVerificationRequest, organizationId: string = null): Promise {\n let path = '/ciphers/purge';\n if (organizationId != null) {\n path += '?organizationId=' + organizationId;\n }\n return this.send('POST', path, request, true, false);\n }\n\n postImportCiphers(request: ImportCiphersRequest): Promise {\n return this.send('POST', '/ciphers/import', request, true, false);\n }\n\n postImportOrganizationCiphers(organizationId: string, request: ImportOrganizationCiphersRequest): Promise {\n return this.send('POST', '/ciphers/import-organization?organizationId=' + organizationId, request, true, false);\n }\n\n putDeleteCipher(id: string): Promise {\n return this.send('PUT', '/ciphers/' + id + '/delete', null, true, false);\n }\n\n putDeleteCipherAdmin(id: string): Promise {\n return this.send('PUT', '/ciphers/' + id + '/delete-admin', null, true, false);\n }\n\n putDeleteManyCiphers(request: CipherBulkDeleteRequest): Promise {\n return this.send('PUT', '/ciphers/delete', request, true, false);\n }\n\n putDeleteManyCiphersAdmin(request: CipherBulkDeleteRequest): Promise {\n return this.send('PUT', '/ciphers/delete-admin', request, true, false);\n }\n\n async putRestoreCipher(id: string): Promise {\n const r = await this.send('PUT', '/ciphers/' + id + '/restore', null, true, true);\n return new CipherResponse(r);\n }\n\n async putRestoreCipherAdmin(id: string): Promise {\n const r = await this.send('PUT', '/ciphers/' + id + '/restore-admin', null, true, true);\n return new CipherResponse(r);\n }\n\n async putRestoreManyCiphers(request: CipherBulkDeleteRequest): Promise> {\n const r = await this.send('PUT', '/ciphers/restore', request, true, true);\n return new ListResponse(r, CipherResponse);\n }\n\n // Attachments APIs\n\n async postCipherAttachment(id: string, data: FormData): Promise {\n const r = await this.send('POST', '/ciphers/' + id + '/attachment', data, true, true);\n return new CipherResponse(r);\n }\n\n async postCipherAttachmentAdmin(id: string, data: FormData): Promise {\n const r = await this.send('POST', '/ciphers/' + id + '/attachment-admin', data, true, true);\n return new CipherResponse(r);\n }\n\n deleteCipherAttachment(id: string, attachmentId: string): Promise {\n return this.send('DELETE', '/ciphers/' + id + '/attachment/' + attachmentId, null, true, false);\n }\n\n deleteCipherAttachmentAdmin(id: string, attachmentId: string): Promise {\n return this.send('DELETE', '/ciphers/' + id + '/attachment/' + attachmentId + '/admin', null, true, false);\n }\n\n postShareCipherAttachment(id: string, attachmentId: string, data: FormData,\n organizationId: string): Promise {\n return this.send('POST', '/ciphers/' + id + '/attachment/' +\n attachmentId + '/share?organizationId=' + organizationId, data, true, false);\n }\n\n // Collections APIs\n\n async getCollectionDetails(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections/' + id + '/details',\n null, true, true);\n return new CollectionGroupDetailsResponse(r);\n }\n\n async getUserCollections(): Promise> {\n const r = await this.send('GET', '/collections', null, true, true);\n return new ListResponse(r, CollectionResponse);\n }\n\n async getCollections(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections', null, true, true);\n return new ListResponse(r, CollectionResponse);\n }\n\n async getCollectionUsers(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections/' + id + '/users',\n null, true, true);\n return r.map((dr: any) => new SelectionReadOnlyResponse(dr));\n }\n\n async postCollection(organizationId: string, request: CollectionRequest): Promise {\n const r = await this.send('POST', '/organizations/' + organizationId + '/collections', request, true, true);\n return new CollectionResponse(r);\n }\n\n async putCollection(organizationId: string, id: string, request: CollectionRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/collections/' + id,\n request, true, true);\n return new CollectionResponse(r);\n }\n\n async putCollectionUsers(organizationId: string, id: string, request: SelectionReadOnlyRequest[]): Promise {\n await this.send('PUT', '/organizations/' + organizationId + '/collections/' + id + '/users',\n request, true, false);\n }\n\n deleteCollection(organizationId: string, id: string): Promise {\n return this.send('DELETE', '/organizations/' + organizationId + '/collections/' + id, null, true, false);\n }\n\n deleteCollectionUser(organizationId: string, id: string, organizationUserId: string): Promise {\n return this.send('DELETE',\n '/organizations/' + organizationId + '/collections/' + id + '/user/' + organizationUserId,\n null, true, false);\n }\n\n // Groups APIs\n\n async getGroupDetails(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups/' + id + '/details',\n null, true, true);\n return new GroupDetailsResponse(r);\n }\n\n async getGroups(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups', null, true, true);\n return new ListResponse(r, GroupResponse);\n }\n\n async getGroupUsers(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups/' + id + '/users',\n null, true, true);\n return r;\n }\n\n async postGroup(organizationId: string, request: GroupRequest): Promise {\n const r = await this.send('POST', '/organizations/' + organizationId + '/groups', request, true, true);\n return new GroupResponse(r);\n }\n\n async putGroup(organizationId: string, id: string, request: GroupRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/groups/' + id, request, true, true);\n return new GroupResponse(r);\n }\n\n async putGroupUsers(organizationId: string, id: string, request: string[]): Promise {\n await this.send('PUT', '/organizations/' + organizationId + '/groups/' + id + '/users', request, true, false);\n }\n\n deleteGroup(organizationId: string, id: string): Promise {\n return this.send('DELETE', '/organizations/' + organizationId + '/groups/' + id, null, true, false);\n }\n\n deleteGroupUser(organizationId: string, id: string, organizationUserId: string): Promise {\n return this.send('DELETE',\n '/organizations/' + organizationId + '/groups/' + id + '/user/' + organizationUserId, null, true, false);\n }\n\n // Policy APIs\n\n async getPolicy(organizationId: string, type: PolicyType): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/policies/' + type, null, true, true);\n return new PolicyResponse(r);\n }\n\n async getPolicies(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/policies', null, true, true);\n return new ListResponse(r, PolicyResponse);\n }\n\n async getPoliciesByToken(organizationId: string, token: string, email: string, organizationUserId: string):\n Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/policies/token?' +\n 'token=' + encodeURIComponent(token) + '&email=' + encodeURIComponent(email) +\n '&organizationUserId=' + organizationUserId, null, false, true);\n return new ListResponse(r, PolicyResponse);\n }\n\n async putPolicy(organizationId: string, type: PolicyType, request: PolicyRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/policies/' + type, request, true, true);\n return new PolicyResponse(r);\n }\n\n // Organization User APIs\n\n async getOrganizationUser(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/users/' + id, null, true, true);\n return new OrganizationUserDetailsResponse(r);\n }\n\n async getOrganizationUserGroups(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/users/' + id + '/groups',\n null, true, true);\n return r;\n }\n\n async getOrganizationUsers(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/users', null, true, true);\n return new ListResponse(r, OrganizationUserUserDetailsResponse);\n }\n\n postOrganizationUserInvite(organizationId: string, request: OrganizationUserInviteRequest): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/users/invite', request, true, false);\n }\n\n postOrganizationUserReinvite(organizationId: string, id: string): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/reinvite', null, true, false);\n }\n\n postOrganizationUserAccept(organizationId: string, id: string,\n request: OrganizationUserAcceptRequest): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/accept', request, true, false);\n }\n\n postOrganizationUserConfirm(organizationId: string, id: string,\n request: OrganizationUserConfirmRequest): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/confirm',\n request, true, false);\n }\n\n putOrganizationUser(organizationId: string, id: string, request: OrganizationUserUpdateRequest): Promise {\n return this.send('PUT', '/organizations/' + organizationId + '/users/' + id, request, true, false);\n }\n\n putOrganizationUserGroups(organizationId: string, id: string,\n request: OrganizationUserUpdateGroupsRequest): Promise {\n return this.send('PUT', '/organizations/' + organizationId + '/users/' + id + '/groups', request, true, false);\n }\n\n deleteOrganizationUser(organizationId: string, id: string): Promise {\n return this.send('DELETE', '/organizations/' + organizationId + '/users/' + id, null, true, false);\n }\n\n // Plan APIs\n\n async getPlans(): Promise> {\n const r = await this.send('GET', '/plans/', null, true, true);\n return new ListResponse(r, PlanResponse);\n }\n\n async postImportDirectory(organizationId: string, request: ImportDirectoryRequest): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/import', request, true, false);\n }\n\n async getTaxRates(): Promise> {\n const r = await this.send('GET', '/plans/sales-tax-rates/', null, true, true);\n return new ListResponse(r, TaxRateResponse);\n }\n\n // Settings APIs\n\n async getSettingsDomains(): Promise {\n const r = await this.send('GET', '/settings/domains', null, true, true);\n return new DomainsResponse(r);\n }\n\n async putSettingsDomains(request: UpdateDomainsRequest): Promise {\n const r = await this.send('PUT', '/settings/domains', request, true, true);\n return new DomainsResponse(r);\n }\n\n // Sync APIs\n\n async getSync(): Promise {\n const path = this.isDesktopClient || this.isWebClient ? '/sync?excludeDomains=true' : '/sync';\n const r = await this.send('GET', path, null, true, true);\n return new SyncResponse(r);\n }\n\n // Two-factor APIs\n\n async getTwoFactorProviders(): Promise> {\n const r = await this.send('GET', '/two-factor', null, true, true);\n return new ListResponse(r, TwoFactorProviderResponse);\n }\n\n async getTwoFactorOrganizationProviders(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/two-factor', null, true, true);\n return new ListResponse(r, TwoFactorProviderResponse);\n }\n\n async getTwoFactorAuthenticator(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-authenticator', request, true, true);\n return new TwoFactorAuthenticatorResponse(r);\n }\n\n async getTwoFactorEmail(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-email', request, true, true);\n return new TwoFactorEmailResponse(r);\n }\n\n async getTwoFactorDuo(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-duo', request, true, true);\n return new TwoFactorDuoResponse(r);\n }\n\n async getTwoFactorOrganizationDuo(organizationId: string,\n request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/organizations/' + organizationId + '/two-factor/get-duo',\n request, true, true);\n return new TwoFactorDuoResponse(r);\n }\n\n async getTwoFactorYubiKey(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-yubikey', request, true, true);\n return new TwoFactorYubiKeyResponse(r);\n }\n\n async getTwoFactorU2f(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-u2f', request, true, true);\n return new TwoFactorU2fResponse(r);\n }\n\n async getTwoFactorU2fChallenge(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-u2f-challenge', request, true, true);\n return new ChallengeResponse(r);\n }\n\n async getTwoFactorRecover(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-recover', request, true, true);\n return new TwoFactorRecoverResponse(r);\n }\n\n async putTwoFactorAuthenticator(\n request: UpdateTwoFactorAuthenticatorRequest): Promise {\n const r = await this.send('PUT', '/two-factor/authenticator', request, true, true);\n return new TwoFactorAuthenticatorResponse(r);\n }\n\n async putTwoFactorEmail(request: UpdateTwoFactorEmailRequest): Promise {\n const r = await this.send('PUT', '/two-factor/email', request, true, true);\n return new TwoFactorEmailResponse(r);\n }\n\n async putTwoFactorDuo(request: UpdateTwoFactorDuoRequest): Promise {\n const r = await this.send('PUT', '/two-factor/duo', request, true, true);\n return new TwoFactorDuoResponse(r);\n }\n\n async putTwoFactorOrganizationDuo(organizationId: string,\n request: UpdateTwoFactorDuoRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/two-factor/duo', request, true, true);\n return new TwoFactorDuoResponse(r);\n }\n\n async putTwoFactorYubiKey(request: UpdateTwoFactorYubioOtpRequest): Promise {\n const r = await this.send('PUT', '/two-factor/yubikey', request, true, true);\n return new TwoFactorYubiKeyResponse(r);\n }\n\n async putTwoFactorU2f(request: UpdateTwoFactorU2fRequest): Promise {\n const r = await this.send('PUT', '/two-factor/u2f', request, true, true);\n return new TwoFactorU2fResponse(r);\n }\n\n async deleteTwoFactorU2f(request: UpdateTwoFactorU2fDeleteRequest): Promise {\n const r = await this.send('DELETE', '/two-factor/u2f', request, true, true);\n return new TwoFactorU2fResponse(r);\n }\n\n async putTwoFactorDisable(request: TwoFactorProviderRequest): Promise {\n const r = await this.send('PUT', '/two-factor/disable', request, true, true);\n return new TwoFactorProviderResponse(r);\n }\n\n async putTwoFactorOrganizationDisable(organizationId: string,\n request: TwoFactorProviderRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/two-factor/disable',\n request, true, true);\n return new TwoFactorProviderResponse(r);\n }\n\n postTwoFactorRecover(request: TwoFactorRecoveryRequest): Promise {\n return this.send('POST', '/two-factor/recover', request, false, false);\n }\n\n postTwoFactorEmailSetup(request: TwoFactorEmailRequest): Promise {\n return this.send('POST', '/two-factor/send-email', request, true, false);\n }\n\n postTwoFactorEmail(request: TwoFactorEmailRequest): Promise {\n return this.send('POST', '/two-factor/send-email-login', request, false, false);\n }\n\n // Emergency Access APIs\n\n async getEmergencyAccessTrusted(): Promise> {\n const r = await this.send('GET', '/emergency-access/trusted', null, true, true);\n return new ListResponse(r, EmergencyAccessGranteeDetailsResponse);\n }\n\n async getEmergencyAccessGranted(): Promise> {\n const r = await this.send('GET', '/emergency-access/granted', null, true, true);\n return new ListResponse(r, EmergencyAccessGrantorDetailsResponse);\n }\n\n async getEmergencyAccess(id: string): Promise {\n const r = await this.send('GET', '/emergency-access/' + id, null, true, true);\n return new EmergencyAccessGranteeDetailsResponse(r);\n }\n\n putEmergencyAccess(id: string, request: EmergencyAccessUpdateRequest): Promise {\n return this.send('PUT', '/emergency-access/' + id, request, true, false);\n }\n\n deleteEmergencyAccess(id: string): Promise {\n return this.send('DELETE', '/emergency-access/' + id, null, true, false);\n }\n\n postEmergencyAccessInvite(request: EmergencyAccessInviteRequest): Promise {\n return this.send('POST', '/emergency-access/invite', request, true, false);\n }\n\n postEmergencyAccessReinvite(id: string): Promise {\n return this.send('POST', '/emergency-access/' + id + '/reinvite', null, true, false);\n }\n\n postEmergencyAccessAccept(id: string, request: EmergencyAccessAcceptRequest): Promise {\n return this.send('POST', '/emergency-access/' + id + '/accept', request, true, false);\n }\n\n postEmergencyAccessConfirm(id: string, request: EmergencyAccessConfirmRequest): Promise {\n return this.send('POST', '/emergency-access/' + id + '/confirm', request, true, false);\n }\n\n postEmergencyAccessInitiate(id: string): Promise {\n return this.send('POST', '/emergency-access/' + id + '/initiate', null, true, false);\n }\n\n postEmergencyAccessApprove(id: string): Promise {\n return this.send('POST', '/emergency-access/' + id + '/approve', null, true, false);\n }\n\n postEmergencyAccessReject(id: string): Promise {\n return this.send('POST', '/emergency-access/' + id + '/reject', null, true, false);\n }\n\n async postEmergencyAccessTakeover(id: string): Promise {\n const r = await this.send('POST', '/emergency-access/' + id + '/takeover', null, true, true);\n return new EmergencyAccessTakeoverResponse(r);\n }\n\n async postEmergencyAccessPassword(id: string, request: EmergencyAccessPasswordRequest): Promise {\n const r = await this.send('POST', '/emergency-access/' + id + '/password', request, true, true);\n }\n\n async postEmergencyAccessView(id: string): Promise {\n const r = await this.send('POST', '/emergency-access/' + id + '/view', null, true, true);\n return new EmergencyAccessViewResponse(r);\n }\n\n // Organization APIs\n\n async getOrganization(id: string): Promise {\n const r = await this.send('GET', '/organizations/' + id, null, true, true);\n return new OrganizationResponse(r);\n }\n\n async getOrganizationBilling(id: string): Promise {\n const r = await this.send('GET', '/organizations/' + id + '/billing', null, true, true);\n return new BillingResponse(r);\n }\n\n async getOrganizationSubscription(id: string): Promise {\n const r = await this.send('GET', '/organizations/' + id + '/subscription', null, true, true);\n return new OrganizationSubscriptionResponse(r);\n }\n\n async getOrganizationLicense(id: string, installationId: string): Promise {\n return this.send('GET', '/organizations/' + id + '/license?installationId=' + installationId,\n null, true, true);\n }\n\n async getOrganizationTaxInfo(id: string): Promise {\n const r = await this.send('GET', '/organizations/' + id + '/tax', null, true, true);\n return new TaxInfoResponse(r);\n }\n\n async postOrganization(request: OrganizationCreateRequest): Promise {\n const r = await this.send('POST', '/organizations', request, true, true);\n return new OrganizationResponse(r);\n }\n\n async putOrganization(id: string, request: OrganizationUpdateRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + id, request, true, true);\n return new OrganizationResponse(r);\n }\n\n async putOrganizationTaxInfo(id: string, request: OrganizationTaxInfoUpdateRequest): Promise {\n return this.send('PUT', '/organizations/' + id + '/tax', request, true, false);\n }\n\n postLeaveOrganization(id: string): Promise {\n return this.send('POST', '/organizations/' + id + '/leave', null, true, false);\n }\n\n async postOrganizationLicense(data: FormData): Promise {\n const r = await this.send('POST', '/organizations/license', data, true, true);\n return new OrganizationResponse(r);\n }\n\n async postOrganizationLicenseUpdate(id: string, data: FormData): Promise {\n return this.send('POST', '/organizations/' + id + '/license', data, true, false);\n }\n\n async postOrganizationApiKey(id: string, request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/organizations/' + id + '/api-key', request, true, true);\n return new ApiKeyResponse(r);\n }\n\n async postOrganizationRotateApiKey(id: string, request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/organizations/' + id + '/rotate-api-key', request, true, true);\n return new ApiKeyResponse(r);\n }\n\n async postOrganizationUpgrade(id: string, request: OrganizationUpgradeRequest): Promise {\n const r = await this.send('POST', '/organizations/' + id + '/upgrade', request, true, true);\n return new PaymentResponse(r);\n }\n\n async postOrganizationSeat(id: string, request: SeatRequest): Promise {\n const r = await this.send('POST', '/organizations/' + id + '/seat', request, true, true);\n return new PaymentResponse(r);\n }\n\n async postOrganizationStorage(id: string, request: StorageRequest): Promise {\n const r = await this.send('POST', '/organizations/' + id + '/storage', request, true, true);\n return new PaymentResponse(r);\n }\n\n postOrganizationPayment(id: string, request: PaymentRequest): Promise {\n return this.send('POST', '/organizations/' + id + '/payment', request, true, false);\n }\n\n postOrganizationVerifyBank(id: string, request: VerifyBankRequest): Promise {\n return this.send('POST', '/organizations/' + id + '/verify-bank', request, true, false);\n }\n\n postOrganizationCancel(id: string): Promise {\n return this.send('POST', '/organizations/' + id + '/cancel', null, true, false);\n }\n\n postOrganizationReinstate(id: string): Promise {\n return this.send('POST', '/organizations/' + id + '/reinstate', null, true, false);\n }\n\n deleteOrganization(id: string, request: PasswordVerificationRequest): Promise {\n return this.send('DELETE', '/organizations/' + id, request, true, false);\n }\n\n // Event APIs\n\n async getEvents(start: string, end: string, token: string): Promise> {\n const r = await this.send('GET', this.addEventParameters('/events', start, end, token), null, true, true);\n return new ListResponse(r, EventResponse);\n }\n\n async getEventsCipher(id: string, start: string, end: string,\n token: string): Promise> {\n const r = await this.send('GET', this.addEventParameters('/ciphers/' + id + '/events', start, end, token),\n null, true, true);\n return new ListResponse(r, EventResponse);\n }\n\n async getEventsOrganization(id: string, start: string, end: string,\n token: string): Promise> {\n const r = await this.send('GET', this.addEventParameters('/organizations/' + id + '/events', start, end, token),\n null, true, true);\n return new ListResponse(r, EventResponse);\n }\n\n async getEventsOrganizationUser(organizationId: string, id: string,\n start: string, end: string, token: string): Promise> {\n const r = await this.send('GET',\n this.addEventParameters('/organizations/' + organizationId + '/users/' + id + '/events', start, end, token),\n null, true, true);\n return new ListResponse(r, EventResponse);\n }\n\n async postEventsCollect(request: EventRequest[]): Promise {\n const authHeader = await this.getActiveBearerToken();\n const headers = new Headers({\n 'Device-Type': this.deviceType,\n 'Authorization': 'Bearer ' + authHeader,\n 'Content-Type': 'application/json; charset=utf-8',\n });\n if (this.customUserAgent != null) {\n headers.set('User-Agent', this.customUserAgent);\n }\n const response = await this.fetch(new Request(this.eventsBaseUrl + '/collect', {\n cache: 'no-store',\n credentials: this.getCredentials(),\n method: 'POST',\n body: JSON.stringify(request),\n headers: headers,\n }));\n if (response.status !== 200) {\n return Promise.reject('Event post failed.');\n }\n }\n\n // User APIs\n\n async getUserPublicKey(id: string): Promise {\n const r = await this.send('GET', '/users/' + id + '/public-key', null, true, true);\n return new UserKeyResponse(r);\n }\n\n // HIBP APIs\n\n async getHibpBreach(username: string): Promise {\n const r = await this.send('GET', '/hibp/breach?username=' + username, null, true, true);\n return r.map((a: any) => new BreachAccountResponse(a));\n }\n\n // Misc\n\n async postBitPayInvoice(request: BitPayInvoiceRequest): Promise {\n const r = await this.send('POST', '/bitpay-invoice', request, true, true);\n return r as string;\n }\n\n async postSetupPayment(): Promise {\n const r = await this.send('POST', '/setup-payment', null, true, true);\n return r as string;\n }\n\n // Helpers\n\n async getActiveBearerToken(): Promise {\n let accessToken = await this.tokenService.getToken();\n if (this.tokenService.tokenNeedsRefresh()) {\n const tokenResponse = await this.doRefreshToken();\n accessToken = tokenResponse.accessToken;\n }\n return accessToken;\n }\n\n fetch(request: Request): Promise {\n if (request.method === 'GET') {\n request.headers.set('Cache-Control', 'no-store');\n request.headers.set('Pragma', 'no-cache');\n }\n return this.nativeFetch(request);\n }\n\n nativeFetch(request: Request): Promise {\n return fetch(request);\n }\n\n async preValidateSso(identifier: string): Promise {\n if (identifier == null || identifier === '') {\n throw new Error('Organization Identifier was not provided.');\n }\n const headers = new Headers({\n 'Accept': 'application/json',\n 'Device-Type': this.deviceType,\n });\n if (this.customUserAgent != null) {\n headers.set('User-Agent', this.customUserAgent);\n }\n\n const path = `/account/prevalidate?domainHint=${encodeURIComponent(identifier)}`;\n const response = await this.fetch(new Request(this.identityBaseUrl + path, {\n cache: 'no-store',\n credentials: this.getCredentials(),\n headers: headers,\n method: 'GET',\n }));\n\n if (response.status === 200) {\n return true;\n } else {\n const error = await this.handleError(response, false, true);\n return Promise.reject(error);\n }\n }\n\n private async send(method: 'GET' | 'POST' | 'PUT' | 'DELETE', path: string, body: any,\n authed: boolean, hasResponse: boolean): Promise {\n const headers = new Headers({\n 'Device-Type': this.deviceType,\n });\n if (this.customUserAgent != null) {\n headers.set('User-Agent', this.customUserAgent);\n }\n\n const requestInit: RequestInit = {\n cache: 'no-store',\n credentials: this.getCredentials(),\n method: method,\n };\n\n if (authed) {\n const authHeader = await this.getActiveBearerToken();\n headers.set('Authorization', 'Bearer ' + authHeader);\n }\n if (body != null) {\n if (typeof body === 'string') {\n requestInit.body = body;\n headers.set('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');\n } else if (typeof body === 'object') {\n if (body instanceof FormData) {\n requestInit.body = body;\n } else {\n headers.set('Content-Type', 'application/json; charset=utf-8');\n requestInit.body = JSON.stringify(body);\n }\n }\n }\n if (hasResponse) {\n headers.set('Accept', 'application/json');\n }\n\n requestInit.headers = headers;\n const response = await this.fetch(new Request(this.apiBaseUrl + path, requestInit));\n\n if (hasResponse && response.status === 200) {\n const responseJson = await response.json();\n return responseJson;\n } else if (response.status !== 200) {\n const error = await this.handleError(response, false, authed);\n return Promise.reject(error);\n }\n }\n\n private async handleError(response: Response, tokenError: boolean, authed: boolean): Promise {\n if (authed && ((tokenError && response.status === 400) || response.status === 401 || response.status === 403)) {\n await this.logoutCallback(true);\n return null;\n }\n\n let responseJson: any = null;\n if (this.isJsonResponse(response)) {\n responseJson = await response.json();\n }\n\n return new ErrorResponse(responseJson, response.status, tokenError);\n }\n\n private async doRefreshToken(): Promise {\n const refreshToken = await this.tokenService.getRefreshToken();\n if (refreshToken == null || refreshToken === '') {\n throw new Error();\n }\n const headers = new Headers({\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\n 'Accept': 'application/json',\n 'Device-Type': this.deviceType,\n });\n if (this.customUserAgent != null) {\n headers.set('User-Agent', this.customUserAgent);\n }\n\n const decodedToken = this.tokenService.decodeToken();\n const response = await this.fetch(new Request(this.identityBaseUrl + '/connect/token', {\n body: this.qsStringify({\n grant_type: 'refresh_token',\n client_id: decodedToken.client_id,\n refresh_token: refreshToken,\n }),\n cache: 'no-store',\n credentials: this.getCredentials(),\n headers: headers,\n method: 'POST',\n }));\n\n if (response.status === 200) {\n const responseJson = await response.json();\n const tokenResponse = new IdentityTokenResponse(responseJson);\n await this.tokenService.setTokens(tokenResponse.accessToken, tokenResponse.refreshToken);\n return tokenResponse;\n } else {\n const error = await this.handleError(response, true, true);\n return Promise.reject(error);\n }\n }\n\n private qsStringify(params: any): string {\n return Object.keys(params).map((key) => {\n return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);\n }).join('&');\n }\n\n private getCredentials(): RequestCredentials {\n if (this.device !== DeviceType.SafariExtension && (!this.isWebClient || this.usingBaseUrl)) {\n return 'include';\n }\n return undefined;\n }\n\n private addEventParameters(base: string, start: string, end: string, token: string) {\n if (start != null) {\n base += ('?start=' + start);\n }\n if (end != null) {\n base += (base.indexOf('?') > -1 ? '&' : '?');\n base += ('end=' + end);\n }\n if (token != null) {\n base += (base.indexOf('?') > -1 ? '&' : '?');\n base += ('continuationToken=' + token);\n }\n return base;\n }\n\n private isJsonResponse(response: Response): boolean {\n const typeHeader = response.headers.get('content-type');\n return typeHeader != null && typeHeader.indexOf('application/json') > -1;\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nexport class CollectionResponse extends BaseResponse {\n id: string;\n organizationId: string;\n name: string;\n externalId: string;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.organizationId = this.getResponseProperty('OrganizationId');\n this.name = this.getResponseProperty('Name');\n this.externalId = this.getResponseProperty('ExternalId');\n }\n}\n\nexport class CollectionDetailsResponse extends CollectionResponse {\n readOnly: boolean;\n\n constructor(response: any) {\n super(response);\n this.readOnly = this.getResponseProperty('ReadOnly') || false;\n }\n}\n\nexport class CollectionGroupDetailsResponse extends CollectionResponse {\n groups: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n const groups = this.getResponseProperty('Groups');\n if (groups != null) {\n this.groups = groups.map((g: any) => new SelectionReadOnlyResponse(g));\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { GlobalDomainResponse } from './globalDomainResponse';\n\nexport class DomainsResponse extends BaseResponse {\n equivalentDomains: string[][];\n globalEquivalentDomains: GlobalDomainResponse[] = [];\n\n constructor(response: any) {\n super(response);\n this.equivalentDomains = this.getResponseProperty('EquivalentDomains');\n const globalEquivalentDomains = this.getResponseProperty('GlobalEquivalentDomains');\n if (globalEquivalentDomains != null) {\n this.globalEquivalentDomains = globalEquivalentDomains.map((d: any) => new GlobalDomainResponse(d));\n } else {\n this.globalEquivalentDomains = [];\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class ErrorResponse extends BaseResponse {\n message: string;\n validationErrors: { [key: string]: string[]; };\n statusCode: number;\n\n constructor(response: any, status: number, identityResponse?: boolean) {\n super(response);\n let errorModel = null;\n if (response != null) {\n const responseErrorModel = this.getResponseProperty('ErrorModel');\n if (responseErrorModel && identityResponse) {\n errorModel = responseErrorModel;\n } else {\n errorModel = response;\n }\n }\n\n if (errorModel) {\n this.message = this.getResponseProperty('Message', errorModel);\n this.validationErrors = this.getResponseProperty('ValidationErrors', errorModel);\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 == null) {\n return this.message;\n }\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 return this.message;\n }\n\n getAllMessages(): string[] {\n const messages: string[] = [];\n if (this.validationErrors == null) {\n return messages;\n }\n for (const key in this.validationErrors) {\n if (!this.validationErrors.hasOwnProperty(key)) {\n continue;\n }\n this.validationErrors[key].forEach((item: string) => {\n let prefix = '';\n if (key.indexOf('[') > -1 && key.indexOf(']') > -1) {\n const lastSep = key.lastIndexOf('.');\n prefix = key.substr(0, lastSep > -1 ? lastSep : key.length) + ': ';\n }\n messages.push(prefix + item);\n });\n }\n return messages;\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class FolderResponse extends BaseResponse {\n id: string;\n name: string;\n revisionDate: string;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.name = this.getResponseProperty('Name');\n this.revisionDate = this.getResponseProperty('RevisionDate');\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { PlanResponse } from './planResponse';\n\nimport { PlanType } from '../../enums/planType';\n\nexport class OrganizationResponse extends BaseResponse {\n id: string;\n identifier: 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: PlanResponse;\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 useApi: boolean;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.identifier = this.getResponseProperty('Identifier');\n this.name = this.getResponseProperty('Name');\n this.businessName = this.getResponseProperty('BusinessName');\n this.businessAddress1 = this.getResponseProperty('BusinessAddress1');\n this.businessAddress2 = this.getResponseProperty('BusinessAddress2');\n this.businessAddress3 = this.getResponseProperty('BusinessAddress3');\n this.businessCountry = this.getResponseProperty('BusinessCountry');\n this.businessTaxNumber = this.getResponseProperty('BusinessTaxNumber');\n this.billingEmail = this.getResponseProperty('BillingEmail');\n const plan = this.getResponseProperty('Plan');\n this.plan = plan == null ? null : new PlanResponse(plan);\n this.planType = this.getResponseProperty('PlanType');\n this.seats = this.getResponseProperty('Seats');\n this.maxCollections = this.getResponseProperty('MaxCollections');\n this.maxStorageGb = this.getResponseProperty('MaxStorageGb');\n this.useGroups = this.getResponseProperty('UseGroups');\n this.useDirectory = this.getResponseProperty('UseDirectory');\n this.useEvents = this.getResponseProperty('UseEvents');\n this.useTotp = this.getResponseProperty('UseTotp');\n this.use2fa = this.getResponseProperty('Use2fa');\n this.useApi = this.getResponseProperty('UseApi');\n }\n}\n","import { PlanType } from '../../enums/planType';\nimport { ProductType } from '../../enums/productType';\n\nimport { BaseResponse } from './baseResponse';\n\nexport class PlanResponse extends BaseResponse {\n type: PlanType;\n product: ProductType;\n name: string;\n isAnnual: boolean;\n nameLocalizationKey: string;\n descriptionLocalizationKey: string;\n canBeUsedByBusiness: boolean;\n baseSeats: number;\n baseStorageGb: number;\n maxCollections: number;\n maxUsers: number;\n\n hasAdditionalSeatsOption: boolean;\n maxAdditionalSeats: number;\n hasAdditionalStorageOption: boolean;\n maxAdditionalStorage: number;\n hasPremiumAccessOption: boolean;\n trialPeriodDays: number;\n\n hasSelfHost: boolean;\n hasPolicies: boolean;\n hasGroups: boolean;\n hasDirectory: boolean;\n hasEvents: boolean;\n hasTotp: boolean;\n has2fa: boolean;\n hasApi: boolean;\n hasSso: boolean;\n usersGetPremium: boolean;\n\n upgradeSortOrder: number;\n displaySortOrder: number;\n legacyYear: number;\n disabled: boolean;\n\n stripePlanId: string;\n stripeSeatPlanId: string;\n stripeStoragePlanId: string;\n stripePremiumAccessPlanId: string;\n basePrice: number;\n seatPrice: number;\n additionalStoragePricePerGb: number;\n premiumAccessOptionPrice: number;\n\n constructor(response: any) {\n super(response);\n this.type = this.getResponseProperty('Type');\n this.product = this.getResponseProperty('Product');\n this.name = this.getResponseProperty('Name');\n this.isAnnual = this.getResponseProperty('IsAnnual');\n this.nameLocalizationKey = this.getResponseProperty('NameLocalizationKey');\n this.descriptionLocalizationKey = this.getResponseProperty('DescriptionLocalizationKey');\n this.canBeUsedByBusiness = this.getResponseProperty('CanBeUsedByBusiness');\n this.baseSeats = this.getResponseProperty('BaseSeats');\n this.baseStorageGb = this.getResponseProperty('BaseStorageGb');\n this.maxCollections = this.getResponseProperty('MaxCollections');\n this.maxUsers = this.getResponseProperty('MaxUsers');\n this.hasAdditionalSeatsOption = this.getResponseProperty('HasAdditionalSeatsOption');\n this.maxAdditionalSeats = this.getResponseProperty('MaxAdditionalSeats');\n this.hasAdditionalStorageOption = this.getResponseProperty('HasAdditionalStorageOption');\n this.maxAdditionalStorage = this.getResponseProperty('MaxAdditionalStorage');\n this.hasPremiumAccessOption = this.getResponseProperty('HasPremiumAccessOption');\n this.trialPeriodDays = this.getResponseProperty('TrialPeriodDays');\n this.hasSelfHost = this.getResponseProperty('HasSelfHost');\n this.hasPolicies = this.getResponseProperty('HasPolicies');\n this.hasGroups = this.getResponseProperty('HasGroups');\n this.hasDirectory = this.getResponseProperty('HasDirectory');\n this.hasEvents = this.getResponseProperty('HasEvents');\n this.hasTotp = this.getResponseProperty('HasTotp');\n this.has2fa = this.getResponseProperty('Has2fa');\n this.hasApi = this.getResponseProperty('HasApi');\n this.hasSso = this.getResponseProperty('HasSso');\n this.usersGetPremium = this.getResponseProperty('UsersGetPremium');\n this.upgradeSortOrder = this.getResponseProperty('UpgradeSortOrder');\n this.displaySortOrder = this.getResponseProperty('SortOrder');\n this.legacyYear = this.getResponseProperty('LegacyYear');\n this.disabled = this.getResponseProperty('Disabled');\n this.stripePlanId = this.getResponseProperty('StripePlanId');\n this.stripeSeatPlanId = this.getResponseProperty('StripeSeatPlanId');\n this.stripeStoragePlanId = this.getResponseProperty('StripeStoragePlanId');\n this.stripePremiumAccessPlanId = this.getResponseProperty('StripePremiumAccessPlanId');\n this.basePrice = this.getResponseProperty('BasePrice');\n this.seatPrice = this.getResponseProperty('SeatPrice');\n this.additionalStoragePricePerGb = this.getResponseProperty('AdditionalStoragePricePerGb');\n this.premiumAccessOptionPrice = this.getResponseProperty('PremiumAccessOptionPrice');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class SubscriptionResponse extends BaseResponse {\n storageName: string;\n storageGb: number;\n maxStorageGb: number;\n subscription: BillingSubscriptionResponse;\n upcomingInvoice: BillingSubscriptionUpcomingInvoiceResponse;\n license: any;\n expiration: string;\n usingInAppPurchase: boolean;\n\n constructor(response: any) {\n super(response);\n this.storageName = this.getResponseProperty('StorageName');\n this.storageGb = this.getResponseProperty('StorageGb');\n this.maxStorageGb = this.getResponseProperty('MaxStorageGb');\n this.license = this.getResponseProperty('License');\n this.expiration = this.getResponseProperty('Expiration');\n this.usingInAppPurchase = this.getResponseProperty('UsingInAppPurchase');\n const subscription = this.getResponseProperty('Subscription');\n const upcomingInvoice = this.getResponseProperty('UpcomingInvoice');\n this.subscription = subscription == null ? null : new BillingSubscriptionResponse(subscription);\n this.upcomingInvoice = upcomingInvoice == null ? null :\n new BillingSubscriptionUpcomingInvoiceResponse(upcomingInvoice);\n }\n}\n\nexport class BillingSubscriptionResponse extends BaseResponse {\n trialStartDate: string;\n trialEndDate: string;\n periodStartDate: string;\n periodEndDate: string;\n cancelledDate: string;\n cancelAtEndDate: boolean;\n status: string;\n cancelled: boolean;\n items: BillingSubscriptionItemResponse[] = [];\n\n constructor(response: any) {\n super(response);\n this.trialEndDate = this.getResponseProperty('TrialStartDate');\n this.trialEndDate = this.getResponseProperty('TrialEndDate');\n this.periodStartDate = this.getResponseProperty('PeriodStartDate');\n this.periodEndDate = this.getResponseProperty('PeriodEndDate');\n this.cancelledDate = this.getResponseProperty('CancelledDate');\n this.cancelAtEndDate = this.getResponseProperty('CancelAtEndDate');\n this.status = this.getResponseProperty('Status');\n this.cancelled = this.getResponseProperty('Cancelled');\n const items = this.getResponseProperty('Items');\n if (items != null) {\n this.items = items.map((i: any) => new BillingSubscriptionItemResponse(i));\n }\n }\n}\n\nexport class BillingSubscriptionItemResponse extends BaseResponse {\n name: string;\n amount: number;\n quantity: number;\n interval: string;\n\n constructor(response: any) {\n super(response);\n this.name = this.getResponseProperty('Name');\n this.amount = this.getResponseProperty('Amount');\n this.quantity = this.getResponseProperty('Quantity');\n this.interval = this.getResponseProperty('Interval');\n }\n}\n\nexport class BillingSubscriptionUpcomingInvoiceResponse extends BaseResponse {\n date: string;\n amount: number;\n\n constructor(response: any) {\n super(response);\n this.date = this.getResponseProperty('Date');\n this.amount = this.getResponseProperty('Amount');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { PolicyType } from '../../enums/policyType';\n\nexport class PolicyResponse extends BaseResponse {\n id: string;\n organizationId: string;\n type: PolicyType;\n data: any;\n enabled: boolean;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.organizationId = this.getResponseProperty('OrganizationId');\n this.type = this.getResponseProperty('Type');\n this.data = this.getResponseProperty('Data');\n this.enabled = this.getResponseProperty('Enabled');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { SendType } from '../../enums/sendType';\n\nimport { SendFileApi } from '../api/sendFileApi';\nimport { SendTextApi } from '../api/sendTextApi';\n\nexport class SendResponse extends BaseResponse {\n id: string;\n accessId: string;\n type: SendType;\n name: string;\n notes: string;\n file: SendFileApi;\n text: SendTextApi;\n key: string;\n maxAccessCount?: number;\n accessCount: number;\n revisionDate: string;\n expirationDate: string;\n deletionDate: string;\n password: string;\n disable: boolean;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.accessId = this.getResponseProperty('AccessId');\n this.type = this.getResponseProperty('Type');\n this.name = this.getResponseProperty('Name');\n this.notes = this.getResponseProperty('Notes');\n this.key = this.getResponseProperty('Key');\n this.maxAccessCount = this.getResponseProperty('MaxAccessCount');\n this.accessCount = this.getResponseProperty('AccessCount');\n this.revisionDate = this.getResponseProperty('RevisionDate');\n this.expirationDate = this.getResponseProperty('ExpirationDate');\n this.deletionDate = this.getResponseProperty('DeletionDate');\n this.password = this.getResponseProperty('Password');\n this.disable = this.getResponseProperty('Disabled') || false;\n\n const text = this.getResponseProperty('Text');\n if (text != null) {\n this.text = new SendTextApi(text);\n }\n\n const file = this.getResponseProperty('File');\n if (file != null) {\n this.file = new SendFileApi(file);\n }\n }\n}\n","import { Utils } from '../misc/utils';\n\nimport { AppIdService as AppIdServiceAbstraction } from '../abstractions/appId.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nexport class AppIdService implements AppIdServiceAbstraction {\n constructor(private storageService: StorageService) {\n }\n\n getAppId(): Promise {\n return this.makeAndGetAppId('appId');\n }\n\n getAnonymousAppId(): Promise {\n return this.makeAndGetAppId('anonymousAppId');\n }\n\n private async makeAndGetAppId(key: string) {\n const existingId = await this.storageService.get(key);\n if (existingId != null) {\n return existingId;\n }\n\n const guid = Utils.newGuid();\n await this.storageService.save(key, guid);\n return guid;\n }\n}\n","import { ApiService } from '../abstractions/api.service';\nimport { AuditService as AuditServiceAbstraction } from '../abstractions/audit.service';\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\n\nimport { throttle } from '../misc/throttle';\nimport { Utils } from '../misc/utils';\n\nimport { BreachAccountResponse } from '../models/response/breachAccountResponse';\nimport { ErrorResponse } from '../models/response/errorResponse';\n\nconst PwnedPasswordsApi = 'https://api.pwnedpasswords.com/range/';\n\nexport class AuditService implements AuditServiceAbstraction {\n constructor(private cryptoFunctionService: CryptoFunctionService, private apiService: ApiService) { }\n\n @throttle(100, () => 'passwordLeaked')\n async passwordLeaked(password: string): Promise {\n const hashBytes = await this.cryptoFunctionService.hash(password, 'sha1');\n const hash = Utils.fromBufferToHex(hashBytes).toUpperCase();\n const hashStart = hash.substr(0, 5);\n const hashEnding = hash.substr(5);\n\n const response = await this.apiService.nativeFetch(new Request(PwnedPasswordsApi + hashStart));\n const leakedHashes = await response.text();\n const match = leakedHashes.split(/\\r?\\n/).find((v) => {\n return v.split(':')[0] === hashEnding;\n });\n\n return match != null ? parseInt(match.split(':')[1], 10) : 0;\n }\n\n async breachedAccounts(username: string): Promise {\n try {\n return await this.apiService.getHibpBreach(username);\n } catch (e) {\n const error = e as ErrorResponse;\n if (error.statusCode === 404) {\n return [];\n }\n throw new Error();\n }\n }\n}\n","import { CipherType } from '../enums/cipherType';\nimport { FieldType } from '../enums/fieldType';\nimport { UriMatchType } from '../enums/uriMatchType';\n\nimport { CipherData } from '../models/data/cipherData';\n\nimport { Attachment } from '../models/domain/attachment';\nimport { Card } from '../models/domain/card';\nimport { Cipher } from '../models/domain/cipher';\nimport { CipherString } from '../models/domain/cipherString';\nimport Domain from '../models/domain/domainBase';\nimport { Field } from '../models/domain/field';\nimport { Identity } from '../models/domain/identity';\nimport { Login } from '../models/domain/login';\nimport { LoginUri } from '../models/domain/loginUri';\nimport { Password } from '../models/domain/password';\nimport { SecureNote } from '../models/domain/secureNote';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\nimport { CipherBulkRestoreRequest } from '../models/request/cipherBulkRestoreRequest';\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\nimport { CipherCreateRequest } from '../models/request/cipherCreateRequest';\nimport { CipherRequest } from '../models/request/cipherRequest';\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\n\nimport { CipherResponse } from '../models/response/cipherResponse';\nimport { ErrorResponse } from '../models/response/errorResponse';\n\nimport { AttachmentView } from '../models/view/attachmentView';\nimport { CipherView } from '../models/view/cipherView';\nimport { FieldView } from '../models/view/fieldView';\nimport { PasswordHistoryView } from '../models/view/passwordHistoryView';\nimport { View } from '../models/view/view';\n\nimport { SortedCiphersCache } from '../models/domain/sortedCiphersCache';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { CipherService as CipherServiceAbstraction } from '../abstractions/cipher.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport { SearchService } from '../abstractions/search.service';\nimport { SettingsService } from '../abstractions/settings.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { ConstantsService } from './constants.service';\n\nimport { sequentialize } from '../misc/sequentialize';\nimport { Utils } from '../misc/utils';\n\nconst Keys = {\n ciphersPrefix: 'ciphers_',\n localData: 'sitesLocalData',\n neverDomains: 'neverDomains',\n};\n\nconst DomainMatchBlacklist = new Map>([\n ['google.com', new Set(['script.google.com'])],\n]);\n\nexport class CipherService implements CipherServiceAbstraction {\n // tslint:disable-next-line\n _decryptedCipherCache: CipherView[];\n\n private sortedCiphersCache: SortedCiphersCache = new SortedCiphersCache(this.sortCiphersByLastUsed);\n\n constructor(private cryptoService: CryptoService, private userService: UserService,\n private settingsService: SettingsService, private apiService: ApiService,\n private storageService: StorageService, private i18nService: I18nService,\n private searchService: () => SearchService) {\n }\n\n get decryptedCipherCache() {\n return this._decryptedCipherCache;\n }\n set decryptedCipherCache(value: CipherView[]) {\n this._decryptedCipherCache = value;\n if (this.searchService != null) {\n if (value == null) {\n this.searchService().clearIndex();\n } else {\n this.searchService().indexCiphers();\n }\n }\n }\n\n clearCache(): void {\n this.decryptedCipherCache = null;\n this.sortedCiphersCache.clear();\n }\n\n async encrypt(model: CipherView, key?: SymmetricCryptoKey, originalCipher: Cipher = null): Promise {\n // Adjust password history\n if (model.id != null) {\n if (originalCipher == null) {\n originalCipher = await this.get(model.id);\n }\n if (originalCipher != null) {\n const existingCipher = await originalCipher.decrypt();\n model.passwordHistory = existingCipher.passwordHistory || [];\n if (model.type === CipherType.Login && existingCipher.type === CipherType.Login) {\n if (existingCipher.login.password != null && existingCipher.login.password !== '' &&\n existingCipher.login.password !== model.login.password) {\n const ph = new PasswordHistoryView();\n ph.password = existingCipher.login.password;\n ph.lastUsedDate = model.login.passwordRevisionDate = new Date();\n model.passwordHistory.splice(0, 0, ph);\n } else {\n model.login.passwordRevisionDate = existingCipher.login.passwordRevisionDate;\n }\n }\n if (existingCipher.hasFields) {\n const existingHiddenFields = existingCipher.fields.filter((f) => f.type === FieldType.Hidden &&\n f.name != null && f.name !== '' && f.value != null && f.value !== '');\n const hiddenFields = model.fields == null ? [] :\n model.fields.filter((f) => f.type === FieldType.Hidden && f.name != null && f.name !== '');\n existingHiddenFields.forEach((ef) => {\n const matchedField = hiddenFields.find((f) => f.name === ef.name);\n if (matchedField == null || matchedField.value !== ef.value) {\n const ph = new PasswordHistoryView();\n ph.password = ef.name + ': ' + ef.value;\n ph.lastUsedDate = new Date();\n model.passwordHistory.splice(0, 0, ph);\n }\n });\n }\n }\n if (model.passwordHistory != null && model.passwordHistory.length === 0) {\n model.passwordHistory = null;\n } else if (model.passwordHistory != null && model.passwordHistory.length > 5) {\n // only save last 5 history\n model.passwordHistory = model.passwordHistory.slice(0, 5);\n }\n }\n\n const cipher = new Cipher();\n cipher.id = model.id;\n cipher.folderId = model.folderId;\n cipher.favorite = model.favorite;\n cipher.organizationId = model.organizationId;\n cipher.type = model.type;\n cipher.collectionIds = model.collectionIds;\n cipher.revisionDate = model.revisionDate;\n\n if (key == null && cipher.organizationId != null) {\n key = await this.cryptoService.getOrgKey(cipher.organizationId);\n if (key == null) {\n throw new Error('Cannot encrypt cipher for organization. No key.');\n }\n }\n await Promise.all([\n this.encryptObjProperty(model, cipher, {\n name: null,\n notes: null,\n }, key),\n this.encryptCipherData(cipher, model, key),\n this.encryptFields(model.fields, key).then((fields) => {\n cipher.fields = fields;\n }),\n this.encryptPasswordHistories(model.passwordHistory, key).then((ph) => {\n cipher.passwordHistory = ph;\n }),\n this.encryptAttachments(model.attachments, key).then((attachments) => {\n cipher.attachments = attachments;\n }),\n ]);\n\n return cipher;\n }\n\n async encryptAttachments(attachmentsModel: AttachmentView[], key: SymmetricCryptoKey): Promise {\n if (attachmentsModel == null || attachmentsModel.length === 0) {\n return null;\n }\n\n const promises: Promise[] = [];\n const encAttachments: Attachment[] = [];\n attachmentsModel.forEach(async (model) => {\n const attachment = new Attachment();\n attachment.id = model.id;\n attachment.size = model.size;\n attachment.sizeName = model.sizeName;\n attachment.url = model.url;\n const promise = this.encryptObjProperty(model, attachment, {\n fileName: null,\n }, key).then(async () => {\n if (model.key != null) {\n attachment.key = await this.cryptoService.encrypt(model.key.key, key);\n }\n encAttachments.push(attachment);\n });\n promises.push(promise);\n });\n\n await Promise.all(promises);\n return encAttachments;\n }\n\n async encryptFields(fieldsModel: FieldView[], key: SymmetricCryptoKey): Promise {\n if (!fieldsModel || !fieldsModel.length) {\n return null;\n }\n\n const self = this;\n const encFields: Field[] = [];\n await fieldsModel.reduce((promise, field) => {\n return promise.then(() => {\n return self.encryptField(field, key);\n }).then((encField: Field) => {\n encFields.push(encField);\n });\n }, Promise.resolve());\n\n return encFields;\n }\n\n async encryptField(fieldModel: FieldView, key: SymmetricCryptoKey): Promise {\n const field = new Field();\n field.type = fieldModel.type;\n // normalize boolean type field values\n if (fieldModel.type === FieldType.Boolean && fieldModel.value !== 'true') {\n fieldModel.value = 'false';\n }\n\n await this.encryptObjProperty(fieldModel, field, {\n name: null,\n value: null,\n }, key);\n\n return field;\n }\n\n async encryptPasswordHistories(phModels: PasswordHistoryView[], key: SymmetricCryptoKey): Promise {\n if (!phModels || !phModels.length) {\n return null;\n }\n\n const self = this;\n const encPhs: Password[] = [];\n await phModels.reduce((promise, ph) => {\n return promise.then(() => {\n return self.encryptPasswordHistory(ph, key);\n }).then((encPh: Password) => {\n encPhs.push(encPh);\n });\n }, Promise.resolve());\n\n return encPhs;\n }\n\n async encryptPasswordHistory(phModel: PasswordHistoryView, key: SymmetricCryptoKey): Promise {\n const ph = new Password();\n ph.lastUsedDate = phModel.lastUsedDate;\n\n await this.encryptObjProperty(phModel, ph, {\n password: null,\n }, key);\n\n return ph;\n }\n\n async get(id: string): Promise {\n const userId = await this.userService.getUserId();\n const localData = await this.storageService.get(Keys.localData);\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n if (ciphers == null || !ciphers.hasOwnProperty(id)) {\n return null;\n }\n\n return new Cipher(ciphers[id], false, localData ? localData[id] : null);\n }\n\n async getAll(): Promise {\n const userId = await this.userService.getUserId();\n const localData = await this.storageService.get(Keys.localData);\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n const response: Cipher[] = [];\n for (const id in ciphers) {\n if (ciphers.hasOwnProperty(id)) {\n response.push(new Cipher(ciphers[id], false, localData ? localData[id] : null));\n }\n }\n return response;\n }\n\n @sequentialize(() => 'getAllDecrypted')\n async getAllDecrypted(): Promise {\n if (this.decryptedCipherCache != null) {\n return this.decryptedCipherCache;\n }\n\n const decCiphers: CipherView[] = [];\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n throw new Error('No key.');\n }\n\n const promises: any[] = [];\n const ciphers = await this.getAll();\n ciphers.forEach((cipher) => {\n promises.push(cipher.decrypt().then((c) => decCiphers.push(c)));\n });\n\n await Promise.all(promises);\n decCiphers.sort(this.getLocaleSortingFunction());\n this.decryptedCipherCache = decCiphers;\n return this.decryptedCipherCache;\n }\n\n async getAllDecryptedForGrouping(groupingId: string, folder: boolean = true): Promise {\n const ciphers = await this.getAllDecrypted();\n\n return ciphers.filter((cipher) => {\n if (cipher.isDeleted) {\n return false;\n }\n if (folder && cipher.folderId === groupingId) {\n return true;\n } else if (!folder && cipher.collectionIds != null && cipher.collectionIds.indexOf(groupingId) > -1) {\n return true;\n }\n\n return false;\n });\n }\n\n async getAllDecryptedForUrl(url: string, includeOtherTypes?: CipherType[],\n defaultMatch: UriMatchType = null): Promise {\n if (url == null && includeOtherTypes == null) {\n return Promise.resolve([]);\n }\n\n const domain = Utils.getDomain(url);\n const eqDomainsPromise = domain == null ? Promise.resolve([]) :\n this.settingsService.getEquivalentDomains().then((eqDomains: any[][]) => {\n let matches: any[] = [];\n eqDomains.forEach((eqDomain) => {\n if (eqDomain.length && eqDomain.indexOf(domain) >= 0) {\n matches = matches.concat(eqDomain);\n }\n });\n\n if (!matches.length) {\n matches.push(domain);\n }\n\n return matches;\n });\n\n const result = await Promise.all([eqDomainsPromise, this.getAllDecrypted()]);\n const matchingDomains = result[0];\n const ciphers = result[1];\n\n if (defaultMatch == null) {\n defaultMatch = await this.storageService.get(ConstantsService.defaultUriMatch);\n if (defaultMatch == null) {\n defaultMatch = UriMatchType.Domain;\n }\n }\n\n return ciphers.filter((cipher) => {\n if (cipher.deletedDate != null) {\n return false;\n }\n if (includeOtherTypes != null && includeOtherTypes.indexOf(cipher.type) > -1) {\n return true;\n }\n\n if (url != null && cipher.type === CipherType.Login && cipher.login.uris != null) {\n for (let i = 0; i < cipher.login.uris.length; i++) {\n const u = cipher.login.uris[i];\n if (u.uri == null) {\n continue;\n }\n\n const match = u.match == null ? defaultMatch : u.match;\n switch (match) {\n case UriMatchType.Domain:\n if (domain != null && u.domain != null && matchingDomains.indexOf(u.domain) > -1) {\n if (DomainMatchBlacklist.has(u.domain)) {\n const domainUrlHost = Utils.getHost(url);\n if (!DomainMatchBlacklist.get(u.domain).has(domainUrlHost)) {\n return true;\n }\n } else {\n return true;\n }\n }\n break;\n case UriMatchType.Host:\n const urlHost = Utils.getHost(url);\n if (urlHost != null && urlHost === Utils.getHost(u.uri)) {\n return true;\n }\n break;\n case UriMatchType.Exact:\n if (url === u.uri) {\n return true;\n }\n break;\n case UriMatchType.StartsWith:\n if (url.startsWith(u.uri)) {\n return true;\n }\n break;\n case UriMatchType.RegularExpression:\n try {\n const regex = new RegExp(u.uri, 'i');\n if (regex.test(url)) {\n return true;\n }\n } catch { }\n break;\n case UriMatchType.Never:\n default:\n break;\n }\n }\n }\n\n return false;\n });\n }\n\n async getAllFromApiForOrganization(organizationId: string): Promise {\n const ciphers = await this.apiService.getCiphersOrganization(organizationId);\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.getLocaleSortingFunction());\n return decCiphers;\n } else {\n return [];\n }\n }\n\n async getLastUsedForUrl(url: string): Promise {\n return this.getCipherForUrl(url, true, false);\n }\n\n async getLastLaunchedForUrl(url: string): Promise {\n return this.getCipherForUrl(url, false, true);\n }\n\n async getNextCipherForUrl(url: string): Promise {\n return this.getCipherForUrl(url, false, false);\n }\n\n updateLastUsedIndexForUrl(url: string) {\n this.sortedCiphersCache.updateLastUsedIndex(url);\n }\n\n async updateLastUsedDate(id: string): Promise {\n let ciphersLocalData = await this.storageService.get(Keys.localData);\n if (!ciphersLocalData) {\n ciphersLocalData = {};\n }\n\n if (ciphersLocalData[id]) {\n ciphersLocalData[id].lastUsedDate = new Date().getTime();\n } else {\n ciphersLocalData[id] = {\n lastUsedDate: new Date().getTime(),\n };\n }\n\n await this.storageService.save(Keys.localData, ciphersLocalData);\n\n if (this.decryptedCipherCache == null) {\n return;\n }\n\n for (let i = 0; i < this.decryptedCipherCache.length; i++) {\n const cached = this.decryptedCipherCache[i];\n if (cached.id === id) {\n cached.localData = ciphersLocalData[id];\n break;\n }\n }\n }\n\n async updateLastLaunchedDate(id: string): Promise {\n let ciphersLocalData = await this.storageService.get(Keys.localData);\n if (!ciphersLocalData) {\n ciphersLocalData = {};\n }\n\n if (ciphersLocalData[id]) {\n ciphersLocalData[id].lastLaunched = new Date().getTime();\n } else {\n ciphersLocalData[id] = {\n lastUsedDate: new Date().getTime(),\n };\n }\n\n await this.storageService.save(Keys.localData, ciphersLocalData);\n\n if (this.decryptedCipherCache == null) {\n return;\n }\n\n for (let i = 0; i < this.decryptedCipherCache.length; i++) {\n const cached = this.decryptedCipherCache[i];\n if (cached.id === id) {\n cached.localData = ciphersLocalData[id];\n break;\n }\n }\n }\n\n async saveNeverDomain(domain: string): Promise {\n if (domain == null) {\n return;\n }\n\n let domains = await this.storageService.get<{ [id: string]: any; }>(Keys.neverDomains);\n if (!domains) {\n domains = {};\n }\n domains[domain] = null;\n await this.storageService.save(Keys.neverDomains, domains);\n }\n\n async saveWithServer(cipher: Cipher): Promise {\n let response: CipherResponse;\n if (cipher.id == null) {\n if (cipher.collectionIds != null) {\n const request = new CipherCreateRequest(cipher);\n response = await this.apiService.postCipherCreate(request);\n } else {\n const request = new CipherRequest(cipher);\n response = await this.apiService.postCipher(request);\n }\n cipher.id = response.id;\n } else {\n const request = new CipherRequest(cipher);\n response = await this.apiService.putCipher(cipher.id, request);\n }\n\n const userId = await this.userService.getUserId();\n const data = new CipherData(response, userId, cipher.collectionIds);\n await this.upsert(data);\n }\n\n async shareWithServer(cipher: CipherView, organizationId: string, collectionIds: string[]): Promise {\n const attachmentPromises: Promise[] = [];\n if (cipher.attachments != null) {\n cipher.attachments.forEach((attachment) => {\n if (attachment.key == null) {\n attachmentPromises.push(this.shareAttachmentWithServer(attachment, cipher.id, organizationId));\n }\n });\n }\n await Promise.all(attachmentPromises);\n\n cipher.organizationId = organizationId;\n cipher.collectionIds = collectionIds;\n const encCipher = await this.encrypt(cipher);\n const request = new CipherShareRequest(encCipher);\n const response = await this.apiService.putShareCipher(cipher.id, request);\n const userId = await this.userService.getUserId();\n const data = new CipherData(response, userId, collectionIds);\n await this.upsert(data);\n }\n\n async shareManyWithServer(ciphers: CipherView[], organizationId: string, collectionIds: string[]): Promise {\n const promises: Promise[] = [];\n const encCiphers: Cipher[] = [];\n for (const cipher of ciphers) {\n cipher.organizationId = organizationId;\n cipher.collectionIds = collectionIds;\n promises.push(this.encrypt(cipher).then((c) => {\n encCiphers.push(c);\n }));\n }\n await Promise.all(promises);\n const request = new CipherBulkShareRequest(encCiphers, collectionIds);\n await this.apiService.putShareCiphers(request);\n const userId = await this.userService.getUserId();\n await this.upsert(encCiphers.map((c) => c.toCipherData(userId)));\n }\n\n saveAttachmentWithServer(cipher: Cipher, unencryptedFile: any, admin = false): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsArrayBuffer(unencryptedFile);\n reader.onload = async (evt: any) => {\n try {\n const cData = await this.saveAttachmentRawWithServer(cipher,\n unencryptedFile.name, evt.target.result, admin);\n resolve(cData);\n } catch (e) {\n reject(e);\n }\n };\n reader.onerror = (evt) => {\n reject('Error reading file.');\n };\n });\n }\n\n async saveAttachmentRawWithServer(cipher: Cipher, filename: string,\n data: ArrayBuffer, admin = false): Promise {\n const key = await this.cryptoService.getOrgKey(cipher.organizationId);\n const encFileName = await this.cryptoService.encrypt(filename, key);\n\n const dataEncKey = await this.cryptoService.makeEncKey(key);\n const encData = await this.cryptoService.encryptToBytes(data, dataEncKey[0]);\n\n const fd = new FormData();\n try {\n const blob = new Blob([encData], { type: 'application/octet-stream' });\n fd.append('key', dataEncKey[1].encryptedString);\n fd.append('data', blob, encFileName.encryptedString);\n } catch (e) {\n if (Utils.isNode && !Utils.isBrowser) {\n fd.append('key', dataEncKey[1].encryptedString);\n fd.append('data', Buffer.from(encData) as any, {\n filepath: encFileName.encryptedString,\n contentType: 'application/octet-stream',\n } as any);\n } else {\n throw e;\n }\n }\n\n let response: CipherResponse;\n try {\n if (admin) {\n response = await this.apiService.postCipherAttachmentAdmin(cipher.id, fd);\n } else {\n response = await this.apiService.postCipherAttachment(cipher.id, fd);\n }\n } catch (e) {\n throw new Error((e as ErrorResponse).getSingleMessage());\n }\n\n const userId = await this.userService.getUserId();\n const cData = new CipherData(response, userId, cipher.collectionIds);\n if (!admin) {\n await this.upsert(cData);\n }\n return new Cipher(cData);\n }\n\n async saveCollectionsWithServer(cipher: Cipher): Promise {\n const request = new CipherCollectionsRequest(cipher.collectionIds);\n await this.apiService.putCipherCollections(cipher.id, request);\n const userId = await this.userService.getUserId();\n const data = cipher.toCipherData(userId);\n await this.upsert(data);\n }\n\n async upsert(cipher: CipherData | CipherData[]): Promise {\n const userId = await this.userService.getUserId();\n let ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n if (ciphers == null) {\n ciphers = {};\n }\n\n if (cipher instanceof CipherData) {\n const c = cipher as CipherData;\n ciphers[c.id] = c;\n } else {\n (cipher as CipherData[]).forEach((c) => {\n ciphers[c.id] = c;\n });\n }\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async replace(ciphers: { [id: string]: CipherData; }): Promise {\n const userId = await this.userService.getUserId();\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async clear(userId: string): Promise {\n await this.storageService.remove(Keys.ciphersPrefix + userId);\n this.clearCache();\n }\n\n async moveManyWithServer(ids: string[], folderId: string): Promise {\n await this.apiService.putMoveCiphers(new CipherBulkMoveRequest(ids, folderId));\n\n const userId = await this.userService.getUserId();\n let ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n if (ciphers == null) {\n ciphers = {};\n }\n\n ids.forEach((id) => {\n if (ciphers.hasOwnProperty(id)) {\n ciphers[id].folderId = folderId;\n }\n });\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async delete(id: string | string[]): Promise {\n const userId = await this.userService.getUserId();\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n if (ciphers == null) {\n return;\n }\n\n if (typeof id === 'string') {\n if (ciphers[id] == null) {\n return;\n }\n delete ciphers[id];\n } else {\n (id as string[]).forEach((i) => {\n delete ciphers[i];\n });\n }\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async deleteWithServer(id: string): Promise {\n await this.apiService.deleteCipher(id);\n await this.delete(id);\n }\n\n async deleteManyWithServer(ids: string[]): Promise {\n await this.apiService.deleteManyCiphers(new CipherBulkDeleteRequest(ids));\n await this.delete(ids);\n }\n\n async deleteAttachment(id: string, attachmentId: string): Promise {\n const userId = await this.userService.getUserId();\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n\n if (ciphers == null || !ciphers.hasOwnProperty(id) || ciphers[id].attachments == null) {\n return;\n }\n\n for (let i = 0; i < ciphers[id].attachments.length; i++) {\n if (ciphers[id].attachments[i].id === attachmentId) {\n ciphers[id].attachments.splice(i, 1);\n }\n }\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async deleteAttachmentWithServer(id: string, attachmentId: string): Promise {\n try {\n await this.apiService.deleteCipherAttachment(id, attachmentId);\n } catch (e) {\n return Promise.reject((e as ErrorResponse).getSingleMessage());\n }\n await this.deleteAttachment(id, attachmentId);\n }\n\n sortCiphersByLastUsed(a: CipherView, b: CipherView): number {\n const aLastUsed = a.localData && a.localData.lastUsedDate ? a.localData.lastUsedDate as number : null;\n const bLastUsed = b.localData && b.localData.lastUsedDate ? b.localData.lastUsedDate as number : null;\n\n const bothNotNull = aLastUsed != null && bLastUsed != null;\n if (bothNotNull && aLastUsed < bLastUsed) {\n return 1;\n }\n if (aLastUsed != null && bLastUsed == null) {\n return -1;\n }\n\n if (bothNotNull && aLastUsed > bLastUsed) {\n return -1;\n }\n if (bLastUsed != null && aLastUsed == null) {\n return 1;\n }\n\n return 0;\n }\n\n sortCiphersByLastUsedThenName(a: CipherView, b: CipherView): number {\n const result = this.sortCiphersByLastUsed(a, b);\n if (result !== 0) {\n return result;\n }\n\n return this.getLocaleSortingFunction()(a, b);\n }\n\n getLocaleSortingFunction(): (a: CipherView, b: CipherView) => number {\n return (a, b) => {\n let aName = a.name;\n let bName = b.name;\n\n if (aName == null && bName != null) {\n return -1;\n }\n if (aName != null && bName == null) {\n return 1;\n }\n if (aName == null && bName == null) {\n return 0;\n }\n\n const result = this.i18nService.collator ? this.i18nService.collator.compare(aName, bName) :\n aName.localeCompare(bName);\n\n if (result !== 0 || a.type !== CipherType.Login || b.type !== CipherType.Login) {\n return result;\n }\n\n if (a.login.username != null) {\n aName += a.login.username;\n }\n\n if (b.login.username != null) {\n bName += b.login.username;\n }\n\n return this.i18nService.collator ? this.i18nService.collator.compare(aName, bName) :\n aName.localeCompare(bName);\n };\n }\n\n async softDelete(id: string | string[]): Promise {\n const userId = await this.userService.getUserId();\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n if (ciphers == null) {\n return;\n }\n\n const setDeletedDate = (cipherId: string) => {\n if (ciphers[cipherId] == null) {\n return;\n }\n ciphers[cipherId].deletedDate = new Date().toISOString();\n };\n\n if (typeof id === 'string') {\n setDeletedDate(id);\n } else {\n (id as string[]).forEach(setDeletedDate);\n }\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async softDeleteWithServer(id: string): Promise {\n await this.apiService.putDeleteCipher(id);\n await this.softDelete(id);\n }\n\n async softDeleteManyWithServer(ids: string[]): Promise {\n await this.apiService.putDeleteManyCiphers(new CipherBulkDeleteRequest(ids));\n await this.softDelete(ids);\n }\n\n async restore(cipher: { id: string, revisionDate: string; } | { id: string, revisionDate: string; }[]) {\n const userId = await this.userService.getUserId();\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n if (ciphers == null) {\n return;\n }\n\n const clearDeletedDate = (c: { id: string, revisionDate: string; }) => {\n if (ciphers[c.id] == null) {\n return;\n }\n ciphers[c.id].deletedDate = null;\n ciphers[c.id].revisionDate = c.revisionDate;\n };\n\n\n if (cipher.constructor.name === 'Array') {\n (cipher as { id: string, revisionDate: string; }[]).forEach(clearDeletedDate);\n } else {\n clearDeletedDate(cipher as { id: string, revisionDate: string; });\n }\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async restoreWithServer(id: string): Promise {\n const response = await this.apiService.putRestoreCipher(id);\n await this.restore({ id: id, revisionDate: response.revisionDate });\n }\n\n async restoreManyWithServer(ids: string[]): Promise {\n const response = await this.apiService.putRestoreManyCiphers(new CipherBulkRestoreRequest(ids));\n const restores: { id: string, revisionDate: string; }[] = [];\n for (const cipher of response.data) {\n restores.push({ id: cipher.id, revisionDate: cipher.revisionDate });\n }\n await this.restore(restores);\n }\n\n // Helpers\n\n private async shareAttachmentWithServer(attachmentView: AttachmentView, cipherId: string,\n organizationId: string): Promise {\n const attachmentResponse = await this.apiService.nativeFetch(\n new Request(attachmentView.url, { cache: 'no-store' }));\n if (attachmentResponse.status !== 200) {\n throw Error('Failed to download attachment: ' + attachmentResponse.status.toString());\n }\n\n const buf = await attachmentResponse.arrayBuffer();\n const decBuf = await this.cryptoService.decryptFromBytes(buf, null);\n const key = await this.cryptoService.getOrgKey(organizationId);\n const encFileName = await this.cryptoService.encrypt(attachmentView.fileName, key);\n\n const dataEncKey = await this.cryptoService.makeEncKey(key);\n const encData = await this.cryptoService.encryptToBytes(decBuf, dataEncKey[0]);\n\n const fd = new FormData();\n try {\n const blob = new Blob([encData], { type: 'application/octet-stream' });\n fd.append('key', dataEncKey[1].encryptedString);\n fd.append('data', blob, encFileName.encryptedString);\n } catch (e) {\n if (Utils.isNode && !Utils.isBrowser) {\n fd.append('key', dataEncKey[1].encryptedString);\n fd.append('data', Buffer.from(encData) as any, {\n filepath: encFileName.encryptedString,\n contentType: 'application/octet-stream',\n } as any);\n } else {\n throw e;\n }\n }\n\n try {\n await this.apiService.postShareCipherAttachment(cipherId, attachmentView.id, fd, organizationId);\n } catch (e) {\n throw new Error((e as ErrorResponse).getSingleMessage());\n }\n }\n\n private async encryptObjProperty(model: V, obj: D,\n map: any, key: SymmetricCryptoKey): Promise {\n const promises = [];\n const self = 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, theObj) {\n const p = Promise.resolve().then(() => {\n const modelProp = (model as any)[(map[theProp] || theProp)];\n if (modelProp && modelProp !== '') {\n return self.cryptoService.encrypt(modelProp, key);\n }\n return null;\n }).then((val: CipherString) => {\n (theObj as any)[theProp] = val;\n });\n promises.push(p);\n })(prop, obj);\n }\n\n await Promise.all(promises);\n }\n\n private async encryptCipherData(cipher: Cipher, model: CipherView, key: SymmetricCryptoKey) {\n switch (cipher.type) {\n case CipherType.Login:\n cipher.login = new Login();\n cipher.login.passwordRevisionDate = model.login.passwordRevisionDate;\n await this.encryptObjProperty(model.login, cipher.login, {\n username: null,\n password: null,\n totp: null,\n }, key);\n\n if (model.login.uris != null) {\n cipher.login.uris = [];\n for (let i = 0; i < model.login.uris.length; i++) {\n const loginUri = new LoginUri();\n loginUri.match = model.login.uris[i].match;\n await this.encryptObjProperty(model.login.uris[i], loginUri, {\n uri: null,\n }, key);\n cipher.login.uris.push(loginUri);\n }\n }\n return;\n case CipherType.SecureNote:\n cipher.secureNote = new SecureNote();\n cipher.secureNote.type = model.secureNote.type;\n return;\n case CipherType.Card:\n cipher.card = new Card();\n await this.encryptObjProperty(model.card, cipher.card, {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n }, key);\n return;\n case CipherType.Identity:\n cipher.identity = new Identity();\n await this.encryptObjProperty(model.identity, cipher.identity, {\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 }, key);\n return;\n default:\n throw new Error('Unknown cipher type.');\n }\n }\n\n private async getCipherForUrl(url: string, lastUsed: boolean, lastLaunched: boolean): Promise {\n if (!this.sortedCiphersCache.isCached(url)) {\n const ciphers = await this.getAllDecryptedForUrl(url);\n if (!ciphers) {\n return null;\n }\n this.sortedCiphersCache.addCiphers(url, ciphers);\n }\n\n if (lastLaunched) {\n return this.sortedCiphersCache.getLastLaunched(url);\n } else if (lastUsed) {\n return this.sortedCiphersCache.getLastUsed(url);\n } else {\n return this.sortedCiphersCache.getNext(url);\n }\n }\n}\n","/**\n * Use as a Decorator on async functions, it will prevent multiple 'active' calls as the same time\n *\n * If a promise was returned from a previous call to this function, that hasn't yet resolved it will\n * be returned, instead of calling the original function again\n *\n * Results are not cached, once the promise has returned, the next call will result in a fresh call\n *\n * Read more at https://github.com/bitwarden/jslib/pull/7\n */\nexport function sequentialize(cacheKey: (args: any[]) => string) {\n return (target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n const originalMethod: () => Promise = descriptor.value;\n const caches = new Map>>();\n\n const getCache = (obj: any) => {\n let cache = caches.get(obj);\n if (cache != null) {\n return cache;\n }\n cache = new Map>();\n caches.set(obj, cache);\n return cache;\n };\n\n return {\n value: function(...args: any[]) {\n const cache = getCache(this);\n const argsCacheKey = cacheKey(args);\n let response = cache.get(argsCacheKey);\n if (response != null) {\n return response;\n }\n\n const onFinally = () => {\n cache.delete(argsCacheKey);\n if (cache.size === 0) {\n caches.delete(this);\n }\n };\n response = originalMethod.apply(this, args).then((val: any) => {\n onFinally();\n return val;\n }).catch((err: any) => {\n onFinally();\n throw err;\n });\n\n cache.set(argsCacheKey, response);\n return response;\n },\n };\n };\n}\n","import { CollectionData } from '../models/data/collectionData';\n\nimport { Collection } from '../models/domain/collection';\nimport { TreeNode } from '../models/domain/treeNode';\n\nimport { CollectionView } from '../models/view/collectionView';\n\nimport { CollectionService as CollectionServiceAbstraction } from '../abstractions/collection.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { ServiceUtils } from '../misc/serviceUtils';\nimport { Utils } from '../misc/utils';\n\nconst Keys = {\n collectionsPrefix: 'collections_',\n};\nconst NestingDelimiter = '/';\n\nexport class CollectionService implements CollectionServiceAbstraction {\n decryptedCollectionCache: CollectionView[];\n\n constructor(private cryptoService: CryptoService, private userService: UserService,\n private storageService: StorageService, private i18nService: I18nService) {\n }\n\n clearCache(): void {\n this.decryptedCollectionCache = null;\n }\n\n async encrypt(model: CollectionView): Promise {\n if (model.organizationId == null) {\n throw new Error('Collection has no organization id.');\n }\n const key = await this.cryptoService.getOrgKey(model.organizationId);\n if (key == null) {\n throw new Error('No key for this collection\\'s organization.');\n }\n const collection = new Collection();\n collection.id = model.id;\n collection.organizationId = model.organizationId;\n collection.readOnly = model.readOnly;\n collection.name = await this.cryptoService.encrypt(model.name, key);\n return collection;\n }\n\n async decryptMany(collections: Collection[]): Promise {\n if (collections == null) {\n return [];\n }\n const decCollections: CollectionView[] = [];\n const promises: Promise[] = [];\n collections.forEach((collection) => {\n promises.push(collection.decrypt().then((c) => decCollections.push(c)));\n });\n await Promise.all(promises);\n return decCollections.sort(Utils.getSortFunction(this.i18nService, 'name'));\n }\n\n async get(id: string): Promise {\n const userId = await this.userService.getUserId();\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\n Keys.collectionsPrefix + userId);\n if (collections == null || !collections.hasOwnProperty(id)) {\n return null;\n }\n\n return new Collection(collections[id]);\n }\n\n async getAll(): Promise {\n const userId = await this.userService.getUserId();\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\n Keys.collectionsPrefix + userId);\n const response: Collection[] = [];\n for (const id in collections) {\n if (collections.hasOwnProperty(id)) {\n response.push(new Collection(collections[id]));\n }\n }\n return response;\n }\n\n async getAllDecrypted(): Promise {\n if (this.decryptedCollectionCache != null) {\n return this.decryptedCollectionCache;\n }\n\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n throw new Error('No key.');\n }\n\n const collections = await this.getAll();\n this.decryptedCollectionCache = await this.decryptMany(collections);\n return this.decryptedCollectionCache;\n }\n\n async getAllNested(collections: CollectionView[] = null): Promise[]> {\n if (collections == null) {\n collections = await this.getAllDecrypted();\n }\n const nodes: TreeNode[] = [];\n collections.forEach((c) => {\n const collectionCopy = new CollectionView();\n collectionCopy.id = c.id;\n collectionCopy.organizationId = c.organizationId;\n const parts = c.name != null ? c.name.replace(/^\\/+|\\/+$/g, '').split(NestingDelimiter) : [];\n ServiceUtils.nestedTraverse(nodes, 0, parts, collectionCopy, null, NestingDelimiter);\n });\n return nodes;\n }\n\n async getNested(id: string): Promise> {\n const collections = await this.getAllNested();\n return ServiceUtils.getTreeNodeObject(collections, id) as TreeNode;\n }\n\n async upsert(collection: CollectionData | CollectionData[]): Promise {\n const userId = await this.userService.getUserId();\n let collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\n Keys.collectionsPrefix + userId);\n if (collections == null) {\n collections = {};\n }\n\n if (collection instanceof CollectionData) {\n const c = collection as CollectionData;\n collections[c.id] = c;\n } else {\n (collection as CollectionData[]).forEach((c) => {\n collections[c.id] = c;\n });\n }\n\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\n this.decryptedCollectionCache = null;\n }\n\n async replace(collections: { [id: string]: CollectionData; }): Promise {\n const userId = await this.userService.getUserId();\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\n this.decryptedCollectionCache = null;\n }\n\n async clear(userId: string): Promise {\n await this.storageService.remove(Keys.collectionsPrefix + userId);\n this.decryptedCollectionCache = null;\n }\n\n async delete(id: string | string[]): Promise {\n const userId = await this.userService.getUserId();\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\n Keys.collectionsPrefix + userId);\n if (collections == null) {\n return;\n }\n\n if (typeof id === 'string') {\n const i = id as string;\n delete collections[id];\n } else {\n (id as string[]).forEach((i) => {\n delete collections[i];\n });\n }\n\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\n this.decryptedCollectionCache = null;\n }\n}\n","import {\n ITreeNodeObject,\n TreeNode,\n} from '../models/domain/treeNode';\n\nexport class ServiceUtils {\n static nestedTraverse(nodeTree: TreeNode[], partIndex: number, parts: string[],\n obj: ITreeNodeObject, parent: ITreeNodeObject, delimiter: string) {\n if (parts.length <= partIndex) {\n return;\n }\n\n const end = partIndex === parts.length - 1;\n const partName = parts[partIndex];\n\n for (let i = 0; i < nodeTree.length; i++) {\n if (nodeTree[i].node.name !== parts[partIndex]) {\n continue;\n }\n if (end && nodeTree[i].node.id !== obj.id) {\n // Another node with the same name.\n nodeTree.push(new TreeNode(obj, partName, parent));\n return;\n }\n ServiceUtils.nestedTraverse(nodeTree[i].children, partIndex + 1, parts,\n obj, nodeTree[i].node, delimiter);\n return;\n }\n\n if (nodeTree.filter((n) => n.node.name === partName).length === 0) {\n if (end) {\n nodeTree.push(new TreeNode(obj, partName, parent));\n return;\n }\n const newPartName = parts[partIndex] + delimiter + parts[partIndex + 1];\n ServiceUtils.nestedTraverse(nodeTree, 0, [newPartName, ...parts.slice(partIndex + 2)],\n obj, parent, delimiter);\n }\n }\n\n static getTreeNodeObject(nodeTree: TreeNode[], id: string): TreeNode {\n for (let i = 0; i < nodeTree.length; i++) {\n if (nodeTree[i].node.id === id) {\n return nodeTree[i];\n } else if (nodeTree[i].children != null) {\n const node = ServiceUtils.getTreeNodeObject(nodeTree[i].children, id);\n if (node !== null) {\n return node;\n }\n }\n }\n return null;\n }\n}\n","import { CryptoService } from '../abstractions/crypto.service';\n\nexport class ContainerService {\n constructor(private cryptoService: CryptoService) {\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","import * as bigInt from 'big-integer';\n\nimport { EncryptionType } from '../enums/encryptionType';\nimport { KdfType } from '../enums/kdfType';\n\nimport { CipherString } from '../models/domain/cipherString';\nimport { EncryptedObject } from '../models/domain/encryptedObject';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\nimport { ProfileOrganizationResponse } from '../models/response/profileOrganizationResponse';\n\nimport { CryptoService as CryptoServiceAbstraction } from '../abstractions/crypto.service';\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\nimport { LogService } from '../abstractions/log.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nimport { ConstantsService } from './constants.service';\n\nimport { sequentialize } from '../misc/sequentialize';\nimport { Utils } from '../misc/utils';\nimport { EEFLongWordList } from '../misc/wordlist';\n\nconst Keys = {\n key: 'key', // Master Key\n encOrgKeys: 'encOrgKeys',\n encPrivateKey: 'encPrivateKey',\n encKey: 'encKey', // Generated Symmetric Key\n keyHash: 'keyHash',\n};\n\nexport class CryptoService implements CryptoServiceAbstraction {\n private key: SymmetricCryptoKey;\n private encKey: SymmetricCryptoKey;\n private legacyEtmKey: SymmetricCryptoKey;\n private keyHash: string;\n private publicKey: ArrayBuffer;\n private privateKey: ArrayBuffer;\n private orgKeys: Map;\n\n constructor(private storageService: StorageService, private secureStorageService: StorageService,\n private cryptoFunctionService: CryptoFunctionService, private platformUtilService: PlatformUtilsService,\n private logService: LogService) {\n }\n\n async setKey(key: SymmetricCryptoKey): Promise {\n this.key = key;\n\n const option = await this.storageService.get(ConstantsService.vaultTimeoutKey);\n const biometric = await this.storageService.get(ConstantsService.biometricUnlockKey);\n if (option != null && !(biometric && this.platformUtilService.supportsSecureStorage())) {\n // if we have a lock option set, we do not store the key\n return;\n }\n\n return this.secureStorageService.save(Keys.key, key.keyB64);\n }\n\n setKeyHash(keyHash: string): Promise<{}> {\n this.keyHash = keyHash;\n return this.storageService.save(Keys.keyHash, keyHash);\n }\n\n async setEncKey(encKey: string): Promise<{}> {\n if (encKey == null) {\n return;\n }\n\n await this.storageService.save(Keys.encKey, encKey);\n this.encKey = null;\n }\n\n async setEncPrivateKey(encPrivateKey: string): Promise<{}> {\n if (encPrivateKey == null) {\n return;\n }\n\n await this.storageService.save(Keys.encPrivateKey, encPrivateKey);\n this.privateKey = null;\n }\n\n setOrgKeys(orgs: ProfileOrganizationResponse[]): Promise<{}> {\n const orgKeys: any = {};\n orgs.forEach((org) => {\n orgKeys[org.id] = org.key;\n });\n\n this.orgKeys = null;\n return this.storageService.save(Keys.encOrgKeys, orgKeys);\n }\n\n async getKey(): Promise {\n if (this.key != null) {\n return this.key;\n }\n\n const key = await this.secureStorageService.get(Keys.key);\n if (key != null) {\n this.key = new SymmetricCryptoKey(Utils.fromB64ToArray(key).buffer);\n }\n\n return key == null ? null : this.key;\n }\n\n async getKeyHash(): Promise {\n if (this.keyHash != null) {\n return this.keyHash;\n }\n\n const keyHash = await this.storageService.get(Keys.keyHash);\n if (keyHash != null) {\n this.keyHash = keyHash;\n }\n\n return keyHash == null ? null : this.keyHash;\n }\n\n @sequentialize(() => 'getEncKey')\n async getEncKey(key: SymmetricCryptoKey = null): Promise {\n if (this.encKey != null) {\n return this.encKey;\n }\n\n const encKey = await this.storageService.get(Keys.encKey);\n if (encKey == null) {\n return null;\n }\n\n if (key == null) {\n key = await this.getKey();\n }\n if (key == null) {\n return null;\n }\n\n let decEncKey: ArrayBuffer;\n const encKeyCipher = new CipherString(encKey);\n if (encKeyCipher.encryptionType === EncryptionType.AesCbc256_B64) {\n decEncKey = await this.decryptToBytes(encKeyCipher, key);\n } else if (encKeyCipher.encryptionType === EncryptionType.AesCbc256_HmacSha256_B64) {\n const newKey = await this.stretchKey(key);\n decEncKey = await this.decryptToBytes(encKeyCipher, newKey);\n } else {\n throw new Error('Unsupported encKey type.');\n }\n\n if (decEncKey == null) {\n return null;\n }\n this.encKey = new SymmetricCryptoKey(decEncKey);\n return this.encKey;\n }\n\n async getPublicKey(): Promise {\n if (this.publicKey != null) {\n return this.publicKey;\n }\n\n const privateKey = await this.getPrivateKey();\n if (privateKey == null) {\n return null;\n }\n\n this.publicKey = await this.cryptoFunctionService.rsaExtractPublicKey(privateKey);\n return this.publicKey;\n }\n\n async getPrivateKey(): Promise {\n if (this.privateKey != null) {\n return this.privateKey;\n }\n\n const encPrivateKey = await this.storageService.get(Keys.encPrivateKey);\n if (encPrivateKey == null) {\n return null;\n }\n\n this.privateKey = await this.decryptToBytes(new CipherString(encPrivateKey), null);\n return this.privateKey;\n }\n\n async getFingerprint(userId: string, publicKey?: ArrayBuffer): Promise {\n if (publicKey == null) {\n publicKey = await this.getPublicKey();\n }\n if (publicKey === null) {\n throw new Error('No public key available.');\n }\n const keyFingerprint = await this.cryptoFunctionService.hash(publicKey, 'sha256');\n const userFingerprint = await this.cryptoFunctionService.hkdfExpand(keyFingerprint, userId, 32, 'sha256');\n return this.hashPhrase(userFingerprint);\n }\n\n @sequentialize(() => 'getOrgKeys')\n async getOrgKeys(): Promise> {\n if (this.orgKeys != null && this.orgKeys.size > 0) {\n return this.orgKeys;\n }\n\n const encOrgKeys = await this.storageService.get(Keys.encOrgKeys);\n if (encOrgKeys == null) {\n return null;\n }\n\n const orgKeys: Map = new Map();\n let setKey = false;\n\n for (const orgId in encOrgKeys) {\n if (!encOrgKeys.hasOwnProperty(orgId)) {\n continue;\n }\n\n const decValue = await this.rsaDecrypt(encOrgKeys[orgId]);\n orgKeys.set(orgId, new SymmetricCryptoKey(decValue));\n setKey = true;\n }\n\n if (setKey) {\n this.orgKeys = orgKeys;\n }\n\n return this.orgKeys;\n }\n\n async getOrgKey(orgId: string): Promise {\n if (orgId == null) {\n return null;\n }\n\n const orgKeys = await this.getOrgKeys();\n if (orgKeys == null || !orgKeys.has(orgId)) {\n return null;\n }\n\n return orgKeys.get(orgId);\n }\n\n async hasKey(): Promise {\n return (await this.getKey()) != null;\n }\n\n async hasEncKey(): Promise {\n const encKey = await this.storageService.get(Keys.encKey);\n return encKey != null;\n }\n\n clearKey(): Promise {\n this.key = this.legacyEtmKey = null;\n return this.secureStorageService.remove(Keys.key);\n }\n\n clearKeyHash(): Promise {\n this.keyHash = null;\n return this.storageService.remove(Keys.keyHash);\n }\n\n clearEncKey(memoryOnly?: boolean): Promise {\n this.encKey = null;\n if (memoryOnly) {\n return Promise.resolve();\n }\n return this.storageService.remove(Keys.encKey);\n }\n\n clearKeyPair(memoryOnly?: boolean): Promise {\n this.privateKey = null;\n this.publicKey = null;\n if (memoryOnly) {\n return Promise.resolve();\n }\n return this.storageService.remove(Keys.encPrivateKey);\n }\n\n clearOrgKeys(memoryOnly?: boolean): Promise {\n this.orgKeys = null;\n if (memoryOnly) {\n return Promise.resolve();\n }\n return this.storageService.remove(Keys.encOrgKeys);\n }\n\n clearPinProtectedKey(): Promise {\n return this.storageService.remove(ConstantsService.pinProtectedKey);\n }\n\n clearKeys(): Promise {\n return Promise.all([\n this.clearKey(),\n this.clearKeyHash(),\n this.clearOrgKeys(),\n this.clearEncKey(),\n this.clearKeyPair(),\n this.clearPinProtectedKey(),\n ]);\n }\n\n async toggleKey(): Promise {\n const key = await this.getKey();\n const option = await this.storageService.get(ConstantsService.vaultTimeoutKey);\n const biometric = await this.storageService.get(ConstantsService.biometricUnlockKey);\n if ((!biometric && this.platformUtilService.supportsSecureStorage()) && (option != null || option === 0)) {\n // if we have a lock option set, clear the key\n await this.clearKey();\n this.key = key;\n return;\n }\n\n await this.setKey(key);\n }\n\n async makeKey(password: string, salt: string, kdf: KdfType, kdfIterations: number):\n Promise {\n let key: ArrayBuffer = null;\n if (kdf == null || kdf === KdfType.PBKDF2_SHA256) {\n if (kdfIterations == null) {\n kdfIterations = 5000;\n } else if (kdfIterations < 5000) {\n throw new Error('PBKDF2 iteration minimum is 5000.');\n }\n key = await this.cryptoFunctionService.pbkdf2(password, salt, 'sha256', kdfIterations);\n } else {\n throw new Error('Unknown Kdf.');\n }\n return new SymmetricCryptoKey(key);\n }\n\n async makeKeyFromPin(pin: string, salt: string, kdf: KdfType, kdfIterations: number,\n protectedKeyCs: CipherString = null):\n Promise {\n if (protectedKeyCs == null) {\n const pinProtectedKey = await this.storageService.get(ConstantsService.pinProtectedKey);\n if (pinProtectedKey == null) {\n throw new Error('No PIN protected key found.');\n }\n protectedKeyCs = new CipherString(pinProtectedKey);\n }\n const pinKey = await this.makePinKey(pin, salt, kdf, kdfIterations);\n const decKey = await this.decryptToBytes(protectedKeyCs, pinKey);\n return new SymmetricCryptoKey(decKey);\n }\n\n async makeShareKey(): Promise<[CipherString, SymmetricCryptoKey]> {\n const shareKey = await this.cryptoFunctionService.randomBytes(64);\n const publicKey = await this.getPublicKey();\n const encShareKey = await this.rsaEncrypt(shareKey, publicKey);\n return [encShareKey, new SymmetricCryptoKey(shareKey)];\n }\n\n async makeKeyPair(key?: SymmetricCryptoKey): Promise<[string, CipherString]> {\n const keyPair = await this.cryptoFunctionService.rsaGenerateKeyPair(2048);\n const publicB64 = Utils.fromBufferToB64(keyPair[0]);\n const privateEnc = await this.encrypt(keyPair[1], key);\n return [publicB64, privateEnc];\n }\n\n async makePinKey(pin: string, salt: string, kdf: KdfType, kdfIterations: number): Promise {\n const pinKey = await this.makeKey(pin, salt, kdf, kdfIterations);\n return await this.stretchKey(pinKey);\n }\n\n async makeSendKey(keyMaterial: ArrayBuffer): Promise {\n const sendKey = await this.cryptoFunctionService.hkdf(keyMaterial, 'bitwarden-send', 'send', 64, 'sha256');\n return new SymmetricCryptoKey(sendKey);\n }\n\n async hashPassword(password: string, key: SymmetricCryptoKey): Promise {\n if (key == null) {\n key = await this.getKey();\n }\n if (password == null || key == null) {\n throw new Error('Invalid parameters.');\n }\n\n const hash = await this.cryptoFunctionService.pbkdf2(key.key, password, 'sha256', 1);\n return Utils.fromBufferToB64(hash);\n }\n\n async makeEncKey(key: SymmetricCryptoKey): Promise<[SymmetricCryptoKey, CipherString]> {\n const theKey = await this.getKeyForEncryption(key);\n const encKey = await this.cryptoFunctionService.randomBytes(64);\n return this.buildEncKey(theKey, encKey);\n }\n\n async remakeEncKey(key: SymmetricCryptoKey, encKey?: SymmetricCryptoKey): Promise<[SymmetricCryptoKey, CipherString]> {\n if (encKey == null) {\n encKey = await this.getEncKey();\n }\n return this.buildEncKey(key, encKey.key);\n }\n\n async encrypt(plainValue: string | ArrayBuffer, key?: SymmetricCryptoKey): Promise {\n if (plainValue == null) {\n return Promise.resolve(null);\n }\n\n let plainBuf: ArrayBuffer;\n if (typeof (plainValue) === 'string') {\n plainBuf = Utils.fromUtf8ToArray(plainValue).buffer;\n } else {\n plainBuf = plainValue;\n }\n\n const encObj = await this.aesEncrypt(plainBuf, key);\n const iv = Utils.fromBufferToB64(encObj.iv);\n const data = Utils.fromBufferToB64(encObj.data);\n const mac = encObj.mac != null ? Utils.fromBufferToB64(encObj.mac) : null;\n return new CipherString(encObj.key.encType, data, iv, mac);\n }\n\n async encryptToBytes(plainValue: ArrayBuffer, key?: SymmetricCryptoKey): Promise {\n const encValue = await this.aesEncrypt(plainValue, key);\n let macLen = 0;\n if (encValue.mac != null) {\n macLen = encValue.mac.byteLength;\n }\n\n const encBytes = new Uint8Array(1 + encValue.iv.byteLength + macLen + encValue.data.byteLength);\n encBytes.set([encValue.key.encType]);\n encBytes.set(new Uint8Array(encValue.iv), 1);\n if (encValue.mac != null) {\n encBytes.set(new Uint8Array(encValue.mac), 1 + encValue.iv.byteLength);\n }\n\n encBytes.set(new Uint8Array(encValue.data), 1 + encValue.iv.byteLength + macLen);\n return encBytes.buffer;\n }\n\n async rsaEncrypt(data: ArrayBuffer, publicKey?: ArrayBuffer): Promise {\n if (publicKey == null) {\n publicKey = await this.getPublicKey();\n }\n if (publicKey == null) {\n throw new Error('Public key unavailable.');\n }\n\n const encBytes = await this.cryptoFunctionService.rsaEncrypt(data, publicKey, 'sha1');\n return new CipherString(EncryptionType.Rsa2048_OaepSha1_B64, Utils.fromBufferToB64(encBytes));\n }\n\n async rsaDecrypt(encValue: string): Promise {\n const headerPieces = encValue.split('.');\n let encType: EncryptionType = null;\n let encPieces: string[];\n\n if (headerPieces.length === 1) {\n encType = EncryptionType.Rsa2048_OaepSha256_B64;\n encPieces = [headerPieces[0]];\n } else if (headerPieces.length === 2) {\n try {\n encType = parseInt(headerPieces[0], null);\n encPieces = headerPieces[1].split('|');\n } catch (e) { }\n }\n\n switch (encType) {\n case EncryptionType.Rsa2048_OaepSha256_B64:\n case EncryptionType.Rsa2048_OaepSha1_B64:\n // HmacSha256 types are deprecated\n case EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:\n case EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:\n break;\n default:\n throw new Error('encType unavailable.');\n }\n\n if (encPieces == null || encPieces.length <= 0) {\n throw new Error('encPieces unavailable.');\n }\n\n const data = Utils.fromB64ToArray(encPieces[0]).buffer;\n const privateKey = await this.getPrivateKey();\n if (privateKey == null) {\n throw new Error('No private key.');\n }\n\n let alg: 'sha1' | 'sha256' = 'sha1';\n switch (encType) {\n case EncryptionType.Rsa2048_OaepSha256_B64:\n case EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:\n alg = 'sha256';\n break;\n case EncryptionType.Rsa2048_OaepSha1_B64:\n case EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:\n break;\n default:\n throw new Error('encType unavailable.');\n }\n\n return this.cryptoFunctionService.rsaDecrypt(data, privateKey, alg);\n }\n\n async decryptToBytes(cipherString: CipherString, key?: SymmetricCryptoKey): Promise {\n const iv = Utils.fromB64ToArray(cipherString.iv).buffer;\n const data = Utils.fromB64ToArray(cipherString.data).buffer;\n const mac = cipherString.mac ? Utils.fromB64ToArray(cipherString.mac).buffer : null;\n const decipher = await this.aesDecryptToBytes(cipherString.encryptionType, data, iv, mac, key);\n if (decipher == null) {\n return null;\n }\n\n return decipher;\n }\n\n async decryptToUtf8(cipherString: CipherString, key?: SymmetricCryptoKey): Promise {\n return await this.aesDecryptToUtf8(cipherString.encryptionType, cipherString.data,\n cipherString.iv, cipherString.mac, key);\n }\n\n async decryptFromBytes(encBuf: ArrayBuffer, key: SymmetricCryptoKey): Promise {\n if (encBuf == null) {\n throw new Error('no encBuf.');\n }\n\n const encBytes = new Uint8Array(encBuf);\n const encType = encBytes[0];\n let ctBytes: Uint8Array = null;\n let ivBytes: Uint8Array = null;\n let macBytes: Uint8Array = null;\n\n switch (encType) {\n case EncryptionType.AesCbc128_HmacSha256_B64:\n case EncryptionType.AesCbc256_HmacSha256_B64:\n if (encBytes.length <= 49) { // 1 + 16 + 32 + ctLength\n return null;\n }\n\n ivBytes = encBytes.slice(1, 17);\n macBytes = encBytes.slice(17, 49);\n ctBytes = encBytes.slice(49);\n break;\n case EncryptionType.AesCbc256_B64:\n if (encBytes.length <= 17) { // 1 + 16 + ctLength\n return null;\n }\n\n ivBytes = encBytes.slice(1, 17);\n ctBytes = encBytes.slice(17);\n break;\n default:\n return null;\n }\n\n return await this.aesDecryptToBytes(encType, ctBytes.buffer, ivBytes.buffer,\n macBytes != null ? macBytes.buffer : null, key);\n }\n\n // EFForg/OpenWireless\n // ref https://github.com/EFForg/OpenWireless/blob/master/app/js/diceware.js\n async randomNumber(min: number, max: number): Promise {\n let rval = 0;\n const range = max - min + 1;\n const bitsNeeded = Math.ceil(Math.log2(range));\n if (bitsNeeded > 53) {\n throw new Error('We cannot generate numbers larger than 53 bits.');\n }\n\n const bytesNeeded = Math.ceil(bitsNeeded / 8);\n const mask = Math.pow(2, bitsNeeded) - 1;\n // 7776 -> (2^13 = 8192) -1 == 8191 or 0x00001111 11111111\n\n // Fill a byte array with N random numbers\n const byteArray = new Uint8Array(await this.cryptoFunctionService.randomBytes(bytesNeeded));\n\n let p = (bytesNeeded - 1) * 8;\n for (let i = 0; i < bytesNeeded; i++) {\n rval += byteArray[i] * Math.pow(2, p);\n p -= 8;\n }\n\n // Use & to apply the mask and reduce the number of recursive lookups\n // tslint:disable-next-line\n rval = rval & mask;\n\n if (rval >= range) {\n // Integer out of acceptable range\n return this.randomNumber(min, max);\n }\n\n // Return an integer that falls within the range\n return min + rval;\n }\n\n // Helpers\n\n private async aesEncrypt(data: ArrayBuffer, key: SymmetricCryptoKey): Promise {\n const obj = new EncryptedObject();\n obj.key = await this.getKeyForEncryption(key);\n obj.iv = await this.cryptoFunctionService.randomBytes(16);\n obj.data = await this.cryptoFunctionService.aesEncrypt(data, obj.iv, obj.key.encKey);\n\n if (obj.key.macKey != null) {\n const macData = new Uint8Array(obj.iv.byteLength + obj.data.byteLength);\n macData.set(new Uint8Array(obj.iv), 0);\n macData.set(new Uint8Array(obj.data), obj.iv.byteLength);\n obj.mac = await this.cryptoFunctionService.hmac(macData.buffer, obj.key.macKey, 'sha256');\n }\n\n return obj;\n }\n\n private async aesDecryptToUtf8(encType: EncryptionType, data: string, iv: string, mac: string,\n key: SymmetricCryptoKey): Promise {\n const keyForEnc = await this.getKeyForEncryption(key);\n const theKey = this.resolveLegacyKey(encType, keyForEnc);\n\n if (theKey.macKey != null && mac == null) {\n this.logService.error('mac required.');\n return null;\n }\n\n if (theKey.encType !== encType) {\n this.logService.error('encType unavailable.');\n return null;\n }\n\n const fastParams = this.cryptoFunctionService.aesDecryptFastParameters(data, iv, mac, theKey);\n if (fastParams.macKey != null && fastParams.mac != null) {\n const computedMac = await this.cryptoFunctionService.hmacFast(fastParams.macData,\n fastParams.macKey, 'sha256');\n const macsEqual = await this.cryptoFunctionService.compareFast(fastParams.mac, computedMac);\n if (!macsEqual) {\n this.logService.error('mac failed.');\n return null;\n }\n }\n\n return this.cryptoFunctionService.aesDecryptFast(fastParams);\n }\n\n private async aesDecryptToBytes(encType: EncryptionType, data: ArrayBuffer, iv: ArrayBuffer,\n mac: ArrayBuffer, key: SymmetricCryptoKey): Promise {\n const keyForEnc = await this.getKeyForEncryption(key);\n const theKey = this.resolveLegacyKey(encType, keyForEnc);\n\n if (theKey.macKey != null && mac == null) {\n return null;\n }\n\n if (theKey.encType !== encType) {\n return null;\n }\n\n if (theKey.macKey != null && mac != null) {\n const macData = new Uint8Array(iv.byteLength + data.byteLength);\n macData.set(new Uint8Array(iv), 0);\n macData.set(new Uint8Array(data), iv.byteLength);\n const computedMac = await this.cryptoFunctionService.hmac(macData.buffer, theKey.macKey, 'sha256');\n if (computedMac === null) {\n return null;\n }\n\n const macsMatch = await this.cryptoFunctionService.compare(mac, computedMac);\n if (!macsMatch) {\n this.logService.error('mac failed.');\n return null;\n }\n }\n\n return await this.cryptoFunctionService.aesDecrypt(data, iv, theKey.encKey);\n }\n\n private async getKeyForEncryption(key?: SymmetricCryptoKey): Promise {\n if (key != null) {\n return key;\n }\n\n const encKey = await this.getEncKey();\n if (encKey != null) {\n return encKey;\n }\n\n return await this.getKey();\n }\n\n private resolveLegacyKey(encType: EncryptionType, key: SymmetricCryptoKey): SymmetricCryptoKey {\n if (encType === EncryptionType.AesCbc128_HmacSha256_B64 &&\n key.encType === EncryptionType.AesCbc256_B64) {\n // Old encrypt-then-mac scheme, make a new key\n if (this.legacyEtmKey == null) {\n this.legacyEtmKey = new SymmetricCryptoKey(key.key, EncryptionType.AesCbc128_HmacSha256_B64);\n }\n return this.legacyEtmKey;\n }\n\n return key;\n }\n\n private async stretchKey(key: SymmetricCryptoKey): Promise {\n const newKey = new Uint8Array(64);\n const encKey = await this.cryptoFunctionService.hkdfExpand(key.key, 'enc', 32, 'sha256');\n const macKey = await this.cryptoFunctionService.hkdfExpand(key.key, 'mac', 32, 'sha256');\n newKey.set(new Uint8Array(encKey));\n newKey.set(new Uint8Array(macKey), 32);\n return new SymmetricCryptoKey(newKey.buffer);\n }\n\n private async hashPhrase(hash: ArrayBuffer, minimumEntropy: number = 64) {\n const entropyPerWord = Math.log(EEFLongWordList.length) / Math.log(2);\n let numWords = Math.ceil(minimumEntropy / entropyPerWord);\n\n const hashArr = Array.from(new Uint8Array(hash));\n const entropyAvailable = hashArr.length * 4;\n if (numWords * entropyPerWord > entropyAvailable) {\n throw new Error('Output entropy of hash function is too small');\n }\n\n const phrase: string[] = [];\n let hashNumber = bigInt.fromArray(hashArr, 256);\n while (numWords--) {\n const remainder = hashNumber.mod(EEFLongWordList.length);\n hashNumber = hashNumber.divide(EEFLongWordList.length);\n phrase.push(EEFLongWordList[remainder as any]);\n }\n return phrase;\n }\n\n private async buildEncKey(key: SymmetricCryptoKey, encKey: ArrayBuffer)\n : Promise<[SymmetricCryptoKey, CipherString]> {\n let encKeyEnc: CipherString = null;\n if (key.key.byteLength === 32) {\n const newKey = await this.stretchKey(key);\n encKeyEnc = await this.encrypt(encKey, newKey);\n } else if (key.key.byteLength === 64) {\n encKeyEnc = await this.encrypt(encKey, key);\n } else {\n throw new Error('Invalid key size.');\n }\n return [new SymmetricCryptoKey(encKey), encKeyEnc];\n }\n}\n","// EFF's Long Wordlist from https://www.eff.org/dice\nexport const EEFLongWordList = [\n 'abacus',\n 'abdomen',\n 'abdominal',\n 'abide',\n 'abiding',\n 'ability',\n 'ablaze',\n 'able',\n 'abnormal',\n 'abrasion',\n 'abrasive',\n 'abreast',\n 'abridge',\n 'abroad',\n 'abruptly',\n 'absence',\n 'absentee',\n 'absently',\n 'absinthe',\n 'absolute',\n 'absolve',\n 'abstain',\n 'abstract',\n 'absurd',\n 'accent',\n 'acclaim',\n 'acclimate',\n 'accompany',\n 'account',\n 'accuracy',\n 'accurate',\n 'accustom',\n 'acetone',\n 'achiness',\n 'aching',\n 'acid',\n 'acorn',\n 'acquaint',\n 'acquire',\n 'acre',\n 'acrobat',\n 'acronym',\n 'acting',\n 'action',\n 'activate',\n 'activator',\n 'active',\n 'activism',\n 'activist',\n 'activity',\n 'actress',\n 'acts',\n 'acutely',\n 'acuteness',\n 'aeration',\n 'aerobics',\n 'aerosol',\n 'aerospace',\n 'afar',\n 'affair',\n 'affected',\n 'affecting',\n 'affection',\n 'affidavit',\n 'affiliate',\n 'affirm',\n 'affix',\n 'afflicted',\n 'affluent',\n 'afford',\n 'affront',\n 'aflame',\n 'afloat',\n 'aflutter',\n 'afoot',\n 'afraid',\n 'afterglow',\n 'afterlife',\n 'aftermath',\n 'aftermost',\n 'afternoon',\n 'aged',\n 'ageless',\n 'agency',\n 'agenda',\n 'agent',\n 'aggregate',\n 'aghast',\n 'agile',\n 'agility',\n 'aging',\n 'agnostic',\n 'agonize',\n 'agonizing',\n 'agony',\n 'agreeable',\n 'agreeably',\n 'agreed',\n 'agreeing',\n 'agreement',\n 'aground',\n 'ahead',\n 'ahoy',\n 'aide',\n 'aids',\n 'aim',\n 'ajar',\n 'alabaster',\n 'alarm',\n 'albatross',\n 'album',\n 'alfalfa',\n 'algebra',\n 'algorithm',\n 'alias',\n 'alibi',\n 'alienable',\n 'alienate',\n 'aliens',\n 'alike',\n 'alive',\n 'alkaline',\n 'alkalize',\n 'almanac',\n 'almighty',\n 'almost',\n 'aloe',\n 'aloft',\n 'aloha',\n 'alone',\n 'alongside',\n 'aloof',\n 'alphabet',\n 'alright',\n 'although',\n 'altitude',\n 'alto',\n 'aluminum',\n 'alumni',\n 'always',\n 'amaretto',\n 'amaze',\n 'amazingly',\n 'amber',\n 'ambiance',\n 'ambiguity',\n 'ambiguous',\n 'ambition',\n 'ambitious',\n 'ambulance',\n 'ambush',\n 'amendable',\n 'amendment',\n 'amends',\n 'amenity',\n 'amiable',\n 'amicably',\n 'amid',\n 'amigo',\n 'amino',\n 'amiss',\n 'ammonia',\n 'ammonium',\n 'amnesty',\n 'amniotic',\n 'among',\n 'amount',\n 'amperage',\n 'ample',\n 'amplifier',\n 'amplify',\n 'amply',\n 'amuck',\n 'amulet',\n 'amusable',\n 'amused',\n 'amusement',\n 'amuser',\n 'amusing',\n 'anaconda',\n 'anaerobic',\n 'anagram',\n 'anatomist',\n 'anatomy',\n 'anchor',\n 'anchovy',\n 'ancient',\n 'android',\n 'anemia',\n 'anemic',\n 'aneurism',\n 'anew',\n 'angelfish',\n 'angelic',\n 'anger',\n 'angled',\n 'angler',\n 'angles',\n 'angling',\n 'angrily',\n 'angriness',\n 'anguished',\n 'angular',\n 'animal',\n 'animate',\n 'animating',\n 'animation',\n 'animator',\n 'anime',\n 'animosity',\n 'ankle',\n 'annex',\n 'annotate',\n 'announcer',\n 'annoying',\n 'annually',\n 'annuity',\n 'anointer',\n 'another',\n 'answering',\n 'antacid',\n 'antarctic',\n 'anteater',\n 'antelope',\n 'antennae',\n 'anthem',\n 'anthill',\n 'anthology',\n 'antibody',\n 'antics',\n 'antidote',\n 'antihero',\n 'antiquely',\n 'antiques',\n 'antiquity',\n 'antirust',\n 'antitoxic',\n 'antitrust',\n 'antiviral',\n 'antivirus',\n 'antler',\n 'antonym',\n 'antsy',\n 'anvil',\n 'anybody',\n 'anyhow',\n 'anymore',\n 'anyone',\n 'anyplace',\n 'anything',\n 'anytime',\n 'anyway',\n 'anywhere',\n 'aorta',\n 'apache',\n 'apostle',\n 'appealing',\n 'appear',\n 'appease',\n 'appeasing',\n 'appendage',\n 'appendix',\n 'appetite',\n 'appetizer',\n 'applaud',\n 'applause',\n 'apple',\n 'appliance',\n 'applicant',\n 'applied',\n 'apply',\n 'appointee',\n 'appraisal',\n 'appraiser',\n 'apprehend',\n 'approach',\n 'approval',\n 'approve',\n 'apricot',\n 'april',\n 'apron',\n 'aptitude',\n 'aptly',\n 'aqua',\n 'aqueduct',\n 'arbitrary',\n 'arbitrate',\n 'ardently',\n 'area',\n 'arena',\n 'arguable',\n 'arguably',\n 'argue',\n 'arise',\n 'armadillo',\n 'armband',\n 'armchair',\n 'armed',\n 'armful',\n 'armhole',\n 'arming',\n 'armless',\n 'armoire',\n 'armored',\n 'armory',\n 'armrest',\n 'army',\n 'aroma',\n 'arose',\n 'around',\n 'arousal',\n 'arrange',\n 'array',\n 'arrest',\n 'arrival',\n 'arrive',\n 'arrogance',\n 'arrogant',\n 'arson',\n 'art',\n 'ascend',\n 'ascension',\n 'ascent',\n 'ascertain',\n 'ashamed',\n 'ashen',\n 'ashes',\n 'ashy',\n 'aside',\n 'askew',\n 'asleep',\n 'asparagus',\n 'aspect',\n 'aspirate',\n 'aspire',\n 'aspirin',\n 'astonish',\n 'astound',\n 'astride',\n 'astrology',\n 'astronaut',\n 'astronomy',\n 'astute',\n 'atlantic',\n 'atlas',\n 'atom',\n 'atonable',\n 'atop',\n 'atrium',\n 'atrocious',\n 'atrophy',\n 'attach',\n 'attain',\n 'attempt',\n 'attendant',\n 'attendee',\n 'attention',\n 'attentive',\n 'attest',\n 'attic',\n 'attire',\n 'attitude',\n 'attractor',\n 'attribute',\n 'atypical',\n 'auction',\n 'audacious',\n 'audacity',\n 'audible',\n 'audibly',\n 'audience',\n 'audio',\n 'audition',\n 'augmented',\n 'august',\n 'authentic',\n 'author',\n 'autism',\n 'autistic',\n 'autograph',\n 'automaker',\n 'automated',\n 'automatic',\n 'autopilot',\n 'available',\n 'avalanche',\n 'avatar',\n 'avenge',\n 'avenging',\n 'avenue',\n 'average',\n 'aversion',\n 'avert',\n 'aviation',\n 'aviator',\n 'avid',\n 'avoid',\n 'await',\n 'awaken',\n 'award',\n 'aware',\n 'awhile',\n 'awkward',\n 'awning',\n 'awoke',\n 'awry',\n 'axis',\n 'babble',\n 'babbling',\n 'babied',\n 'baboon',\n 'backache',\n 'backboard',\n 'backboned',\n 'backdrop',\n 'backed',\n 'backer',\n 'backfield',\n 'backfire',\n 'backhand',\n 'backing',\n 'backlands',\n 'backlash',\n 'backless',\n 'backlight',\n 'backlit',\n 'backlog',\n 'backpack',\n 'backpedal',\n 'backrest',\n 'backroom',\n 'backshift',\n 'backside',\n 'backslid',\n 'backspace',\n 'backspin',\n 'backstab',\n 'backstage',\n 'backtalk',\n 'backtrack',\n 'backup',\n 'backward',\n 'backwash',\n 'backwater',\n 'backyard',\n 'bacon',\n 'bacteria',\n 'bacterium',\n 'badass',\n 'badge',\n 'badland',\n 'badly',\n 'badness',\n 'baffle',\n 'baffling',\n 'bagel',\n 'bagful',\n 'baggage',\n 'bagged',\n 'baggie',\n 'bagginess',\n 'bagging',\n 'baggy',\n 'bagpipe',\n 'baguette',\n 'baked',\n 'bakery',\n 'bakeshop',\n 'baking',\n 'balance',\n 'balancing',\n 'balcony',\n 'balmy',\n 'balsamic',\n 'bamboo',\n 'banana',\n 'banish',\n 'banister',\n 'banjo',\n 'bankable',\n 'bankbook',\n 'banked',\n 'banker',\n 'banking',\n 'banknote',\n 'bankroll',\n 'banner',\n 'bannister',\n 'banshee',\n 'banter',\n 'barbecue',\n 'barbed',\n 'barbell',\n 'barber',\n 'barcode',\n 'barge',\n 'bargraph',\n 'barista',\n 'baritone',\n 'barley',\n 'barmaid',\n 'barman',\n 'barn',\n 'barometer',\n 'barrack',\n 'barracuda',\n 'barrel',\n 'barrette',\n 'barricade',\n 'barrier',\n 'barstool',\n 'bartender',\n 'barterer',\n 'bash',\n 'basically',\n 'basics',\n 'basil',\n 'basin',\n 'basis',\n 'basket',\n 'batboy',\n 'batch',\n 'bath',\n 'baton',\n 'bats',\n 'battalion',\n 'battered',\n 'battering',\n 'battery',\n 'batting',\n 'battle',\n 'bauble',\n 'bazooka',\n 'blabber',\n 'bladder',\n 'blade',\n 'blah',\n 'blame',\n 'blaming',\n 'blanching',\n 'blandness',\n 'blank',\n 'blaspheme',\n 'blasphemy',\n 'blast',\n 'blatancy',\n 'blatantly',\n 'blazer',\n 'blazing',\n 'bleach',\n 'bleak',\n 'bleep',\n 'blemish',\n 'blend',\n 'bless',\n 'blighted',\n 'blimp',\n 'bling',\n 'blinked',\n 'blinker',\n 'blinking',\n 'blinks',\n 'blip',\n 'blissful',\n 'blitz',\n 'blizzard',\n 'bloated',\n 'bloating',\n 'blob',\n 'blog',\n 'bloomers',\n 'blooming',\n 'blooper',\n 'blot',\n 'blouse',\n 'blubber',\n 'bluff',\n 'bluish',\n 'blunderer',\n 'blunt',\n 'blurb',\n 'blurred',\n 'blurry',\n 'blurt',\n 'blush',\n 'blustery',\n 'boaster',\n 'boastful',\n 'boasting',\n 'boat',\n 'bobbed',\n 'bobbing',\n 'bobble',\n 'bobcat',\n 'bobsled',\n 'bobtail',\n 'bodacious',\n 'body',\n 'bogged',\n 'boggle',\n 'bogus',\n 'boil',\n 'bok',\n 'bolster',\n 'bolt',\n 'bonanza',\n 'bonded',\n 'bonding',\n 'bondless',\n 'boned',\n 'bonehead',\n 'boneless',\n 'bonelike',\n 'boney',\n 'bonfire',\n 'bonnet',\n 'bonsai',\n 'bonus',\n 'bony',\n 'boogeyman',\n 'boogieman',\n 'book',\n 'boondocks',\n 'booted',\n 'booth',\n 'bootie',\n 'booting',\n 'bootlace',\n 'bootleg',\n 'boots',\n 'boozy',\n 'borax',\n 'boring',\n 'borough',\n 'borrower',\n 'borrowing',\n 'boss',\n 'botanical',\n 'botanist',\n 'botany',\n 'botch',\n 'both',\n 'bottle',\n 'bottling',\n 'bottom',\n 'bounce',\n 'bouncing',\n 'bouncy',\n 'bounding',\n 'boundless',\n 'bountiful',\n 'bovine',\n 'boxcar',\n 'boxer',\n 'boxing',\n 'boxlike',\n 'boxy',\n 'breach',\n 'breath',\n 'breeches',\n 'breeching',\n 'breeder',\n 'breeding',\n 'breeze',\n 'breezy',\n 'brethren',\n 'brewery',\n 'brewing',\n 'briar',\n 'bribe',\n 'brick',\n 'bride',\n 'bridged',\n 'brigade',\n 'bright',\n 'brilliant',\n 'brim',\n 'bring',\n 'brink',\n 'brisket',\n 'briskly',\n 'briskness',\n 'bristle',\n 'brittle',\n 'broadband',\n 'broadcast',\n 'broaden',\n 'broadly',\n 'broadness',\n 'broadside',\n 'broadways',\n 'broiler',\n 'broiling',\n 'broken',\n 'broker',\n 'bronchial',\n 'bronco',\n 'bronze',\n 'bronzing',\n 'brook',\n 'broom',\n 'brought',\n 'browbeat',\n 'brownnose',\n 'browse',\n 'browsing',\n 'bruising',\n 'brunch',\n 'brunette',\n 'brunt',\n 'brush',\n 'brussels',\n 'brute',\n 'brutishly',\n 'bubble',\n 'bubbling',\n 'bubbly',\n 'buccaneer',\n 'bucked',\n 'bucket',\n 'buckle',\n 'buckshot',\n 'buckskin',\n 'bucktooth',\n 'buckwheat',\n 'buddhism',\n 'buddhist',\n 'budding',\n 'buddy',\n 'budget',\n 'buffalo',\n 'buffed',\n 'buffer',\n 'buffing',\n 'buffoon',\n 'buggy',\n 'bulb',\n 'bulge',\n 'bulginess',\n 'bulgur',\n 'bulk',\n 'bulldog',\n 'bulldozer',\n 'bullfight',\n 'bullfrog',\n 'bullhorn',\n 'bullion',\n 'bullish',\n 'bullpen',\n 'bullring',\n 'bullseye',\n 'bullwhip',\n 'bully',\n 'bunch',\n 'bundle',\n 'bungee',\n 'bunion',\n 'bunkbed',\n 'bunkhouse',\n 'bunkmate',\n 'bunny',\n 'bunt',\n 'busboy',\n 'bush',\n 'busily',\n 'busload',\n 'bust',\n 'busybody',\n 'buzz',\n 'cabana',\n 'cabbage',\n 'cabbie',\n 'cabdriver',\n 'cable',\n 'caboose',\n 'cache',\n 'cackle',\n 'cacti',\n 'cactus',\n 'caddie',\n 'caddy',\n 'cadet',\n 'cadillac',\n 'cadmium',\n 'cage',\n 'cahoots',\n 'cake',\n 'calamari',\n 'calamity',\n 'calcium',\n 'calculate',\n 'calculus',\n 'caliber',\n 'calibrate',\n 'calm',\n 'caloric',\n 'calorie',\n 'calzone',\n 'camcorder',\n 'cameo',\n 'camera',\n 'camisole',\n 'camper',\n 'campfire',\n 'camping',\n 'campsite',\n 'campus',\n 'canal',\n 'canary',\n 'cancel',\n 'candied',\n 'candle',\n 'candy',\n 'cane',\n 'canine',\n 'canister',\n 'cannabis',\n 'canned',\n 'canning',\n 'cannon',\n 'cannot',\n 'canola',\n 'canon',\n 'canopener',\n 'canopy',\n 'canteen',\n 'canyon',\n 'capable',\n 'capably',\n 'capacity',\n 'cape',\n 'capillary',\n 'capital',\n 'capitol',\n 'capped',\n 'capricorn',\n 'capsize',\n 'capsule',\n 'caption',\n 'captivate',\n 'captive',\n 'captivity',\n 'capture',\n 'caramel',\n 'carat',\n 'caravan',\n 'carbon',\n 'cardboard',\n 'carded',\n 'cardiac',\n 'cardigan',\n 'cardinal',\n 'cardstock',\n 'carefully',\n 'caregiver',\n 'careless',\n 'caress',\n 'caretaker',\n 'cargo',\n 'caring',\n 'carless',\n 'carload',\n 'carmaker',\n 'carnage',\n 'carnation',\n 'carnival',\n 'carnivore',\n 'carol',\n 'carpenter',\n 'carpentry',\n 'carpool',\n 'carport',\n 'carried',\n 'carrot',\n 'carrousel',\n 'carry',\n 'cartel',\n 'cartload',\n 'carton',\n 'cartoon',\n 'cartridge',\n 'cartwheel',\n 'carve',\n 'carving',\n 'carwash',\n 'cascade',\n 'case',\n 'cash',\n 'casing',\n 'casino',\n 'casket',\n 'cassette',\n 'casually',\n 'casualty',\n 'catacomb',\n 'catalog',\n 'catalyst',\n 'catalyze',\n 'catapult',\n 'cataract',\n 'catatonic',\n 'catcall',\n 'catchable',\n 'catcher',\n 'catching',\n 'catchy',\n 'caterer',\n 'catering',\n 'catfight',\n 'catfish',\n 'cathedral',\n 'cathouse',\n 'catlike',\n 'catnap',\n 'catnip',\n 'catsup',\n 'cattail',\n 'cattishly',\n 'cattle',\n 'catty',\n 'catwalk',\n 'caucasian',\n 'caucus',\n 'causal',\n 'causation',\n 'cause',\n 'causing',\n 'cauterize',\n 'caution',\n 'cautious',\n 'cavalier',\n 'cavalry',\n 'caviar',\n 'cavity',\n 'cedar',\n 'celery',\n 'celestial',\n 'celibacy',\n 'celibate',\n 'celtic',\n 'cement',\n 'census',\n 'ceramics',\n 'ceremony',\n 'certainly',\n 'certainty',\n 'certified',\n 'certify',\n 'cesarean',\n 'cesspool',\n 'chafe',\n 'chaffing',\n 'chain',\n 'chair',\n 'chalice',\n 'challenge',\n 'chamber',\n 'chamomile',\n 'champion',\n 'chance',\n 'change',\n 'channel',\n 'chant',\n 'chaos',\n 'chaperone',\n 'chaplain',\n 'chapped',\n 'chaps',\n 'chapter',\n 'character',\n 'charbroil',\n 'charcoal',\n 'charger',\n 'charging',\n 'chariot',\n 'charity',\n 'charm',\n 'charred',\n 'charter',\n 'charting',\n 'chase',\n 'chasing',\n 'chaste',\n 'chastise',\n 'chastity',\n 'chatroom',\n 'chatter',\n 'chatting',\n 'chatty',\n 'cheating',\n 'cheddar',\n 'cheek',\n 'cheer',\n 'cheese',\n 'cheesy',\n 'chef',\n 'chemicals',\n 'chemist',\n 'chemo',\n 'cherisher',\n 'cherub',\n 'chess',\n 'chest',\n 'chevron',\n 'chevy',\n 'chewable',\n 'chewer',\n 'chewing',\n 'chewy',\n 'chief',\n 'chihuahua',\n 'childcare',\n 'childhood',\n 'childish',\n 'childless',\n 'childlike',\n 'chili',\n 'chill',\n 'chimp',\n 'chip',\n 'chirping',\n 'chirpy',\n 'chitchat',\n 'chivalry',\n 'chive',\n 'chloride',\n 'chlorine',\n 'choice',\n 'chokehold',\n 'choking',\n 'chomp',\n 'chooser',\n 'choosing',\n 'choosy',\n 'chop',\n 'chosen',\n 'chowder',\n 'chowtime',\n 'chrome',\n 'chubby',\n 'chuck',\n 'chug',\n 'chummy',\n 'chump',\n 'chunk',\n 'churn',\n 'chute',\n 'cider',\n 'cilantro',\n 'cinch',\n 'cinema',\n 'cinnamon',\n 'circle',\n 'circling',\n 'circular',\n 'circulate',\n 'circus',\n 'citable',\n 'citadel',\n 'citation',\n 'citizen',\n 'citric',\n 'citrus',\n 'city',\n 'civic',\n 'civil',\n 'clad',\n 'claim',\n 'clambake',\n 'clammy',\n 'clamor',\n 'clamp',\n 'clamshell',\n 'clang',\n 'clanking',\n 'clapped',\n 'clapper',\n 'clapping',\n 'clarify',\n 'clarinet',\n 'clarity',\n 'clash',\n 'clasp',\n 'class',\n 'clatter',\n 'clause',\n 'clavicle',\n 'claw',\n 'clay',\n 'clean',\n 'clear',\n 'cleat',\n 'cleaver',\n 'cleft',\n 'clench',\n 'clergyman',\n 'clerical',\n 'clerk',\n 'clever',\n 'clicker',\n 'client',\n 'climate',\n 'climatic',\n 'cling',\n 'clinic',\n 'clinking',\n 'clip',\n 'clique',\n 'cloak',\n 'clobber',\n 'clock',\n 'clone',\n 'cloning',\n 'closable',\n 'closure',\n 'clothes',\n 'clothing',\n 'cloud',\n 'clover',\n 'clubbed',\n 'clubbing',\n 'clubhouse',\n 'clump',\n 'clumsily',\n 'clumsy',\n 'clunky',\n 'clustered',\n 'clutch',\n 'clutter',\n 'coach',\n 'coagulant',\n 'coastal',\n 'coaster',\n 'coasting',\n 'coastland',\n 'coastline',\n 'coat',\n 'coauthor',\n 'cobalt',\n 'cobbler',\n 'cobweb',\n 'cocoa',\n 'coconut',\n 'cod',\n 'coeditor',\n 'coerce',\n 'coexist',\n 'coffee',\n 'cofounder',\n 'cognition',\n 'cognitive',\n 'cogwheel',\n 'coherence',\n 'coherent',\n 'cohesive',\n 'coil',\n 'coke',\n 'cola',\n 'cold',\n 'coleslaw',\n 'coliseum',\n 'collage',\n 'collapse',\n 'collar',\n 'collected',\n 'collector',\n 'collide',\n 'collie',\n 'collision',\n 'colonial',\n 'colonist',\n 'colonize',\n 'colony',\n 'colossal',\n 'colt',\n 'coma',\n 'come',\n 'comfort',\n 'comfy',\n 'comic',\n 'coming',\n 'comma',\n 'commence',\n 'commend',\n 'comment',\n 'commerce',\n 'commode',\n 'commodity',\n 'commodore',\n 'common',\n 'commotion',\n 'commute',\n 'commuting',\n 'compacted',\n 'compacter',\n 'compactly',\n 'compactor',\n 'companion',\n 'company',\n 'compare',\n 'compel',\n 'compile',\n 'comply',\n 'component',\n 'composed',\n 'composer',\n 'composite',\n 'compost',\n 'composure',\n 'compound',\n 'compress',\n 'comprised',\n 'computer',\n 'computing',\n 'comrade',\n 'concave',\n 'conceal',\n 'conceded',\n 'concept',\n 'concerned',\n 'concert',\n 'conch',\n 'concierge',\n 'concise',\n 'conclude',\n 'concrete',\n 'concur',\n 'condense',\n 'condiment',\n 'condition',\n 'condone',\n 'conducive',\n 'conductor',\n 'conduit',\n 'cone',\n 'confess',\n 'confetti',\n 'confidant',\n 'confident',\n 'confider',\n 'confiding',\n 'configure',\n 'confined',\n 'confining',\n 'confirm',\n 'conflict',\n 'conform',\n 'confound',\n 'confront',\n 'confused',\n 'confusing',\n 'confusion',\n 'congenial',\n 'congested',\n 'congrats',\n 'congress',\n 'conical',\n 'conjoined',\n 'conjure',\n 'conjuror',\n 'connected',\n 'connector',\n 'consensus',\n 'consent',\n 'console',\n 'consoling',\n 'consonant',\n 'constable',\n 'constant',\n 'constrain',\n 'constrict',\n 'construct',\n 'consult',\n 'consumer',\n 'consuming',\n 'contact',\n 'container',\n 'contempt',\n 'contend',\n 'contented',\n 'contently',\n 'contents',\n 'contest',\n 'context',\n 'contort',\n 'contour',\n 'contrite',\n 'control',\n 'contusion',\n 'convene',\n 'convent',\n 'copartner',\n 'cope',\n 'copied',\n 'copier',\n 'copilot',\n 'coping',\n 'copious',\n 'copper',\n 'copy',\n 'coral',\n 'cork',\n 'cornball',\n 'cornbread',\n 'corncob',\n 'cornea',\n 'corned',\n 'corner',\n 'cornfield',\n 'cornflake',\n 'cornhusk',\n 'cornmeal',\n 'cornstalk',\n 'corny',\n 'coronary',\n 'coroner',\n 'corporal',\n 'corporate',\n 'corral',\n 'correct',\n 'corridor',\n 'corrode',\n 'corroding',\n 'corrosive',\n 'corsage',\n 'corset',\n 'cortex',\n 'cosigner',\n 'cosmetics',\n 'cosmic',\n 'cosmos',\n 'cosponsor',\n 'cost',\n 'cottage',\n 'cotton',\n 'couch',\n 'cough',\n 'could',\n 'countable',\n 'countdown',\n 'counting',\n 'countless',\n 'country',\n 'county',\n 'courier',\n 'covenant',\n 'cover',\n 'coveted',\n 'coveting',\n 'coyness',\n 'cozily',\n 'coziness',\n 'cozy',\n 'crabbing',\n 'crabgrass',\n 'crablike',\n 'crabmeat',\n 'cradle',\n 'cradling',\n 'crafter',\n 'craftily',\n 'craftsman',\n 'craftwork',\n 'crafty',\n 'cramp',\n 'cranberry',\n 'crane',\n 'cranial',\n 'cranium',\n 'crank',\n 'crate',\n 'crave',\n 'craving',\n 'crawfish',\n 'crawlers',\n 'crawling',\n 'crayfish',\n 'crayon',\n 'crazed',\n 'crazily',\n 'craziness',\n 'crazy',\n 'creamed',\n 'creamer',\n 'creamlike',\n 'crease',\n 'creasing',\n 'creatable',\n 'create',\n 'creation',\n 'creative',\n 'creature',\n 'credible',\n 'credibly',\n 'credit',\n 'creed',\n 'creme',\n 'creole',\n 'crepe',\n 'crept',\n 'crescent',\n 'crested',\n 'cresting',\n 'crestless',\n 'crevice',\n 'crewless',\n 'crewman',\n 'crewmate',\n 'crib',\n 'cricket',\n 'cried',\n 'crier',\n 'crimp',\n 'crimson',\n 'cringe',\n 'cringing',\n 'crinkle',\n 'crinkly',\n 'crisped',\n 'crisping',\n 'crisply',\n 'crispness',\n 'crispy',\n 'criteria',\n 'critter',\n 'croak',\n 'crock',\n 'crook',\n 'croon',\n 'crop',\n 'cross',\n 'crouch',\n 'crouton',\n 'crowbar',\n 'crowd',\n 'crown',\n 'crucial',\n 'crudely',\n 'crudeness',\n 'cruelly',\n 'cruelness',\n 'cruelty',\n 'crumb',\n 'crummiest',\n 'crummy',\n 'crumpet',\n 'crumpled',\n 'cruncher',\n 'crunching',\n 'crunchy',\n 'crusader',\n 'crushable',\n 'crushed',\n 'crusher',\n 'crushing',\n 'crust',\n 'crux',\n 'crying',\n 'cryptic',\n 'crystal',\n 'cubbyhole',\n 'cube',\n 'cubical',\n 'cubicle',\n 'cucumber',\n 'cuddle',\n 'cuddly',\n 'cufflink',\n 'culinary',\n 'culminate',\n 'culpable',\n 'culprit',\n 'cultivate',\n 'cultural',\n 'culture',\n 'cupbearer',\n 'cupcake',\n 'cupid',\n 'cupped',\n 'cupping',\n 'curable',\n 'curator',\n 'curdle',\n 'cure',\n 'curfew',\n 'curing',\n 'curled',\n 'curler',\n 'curliness',\n 'curling',\n 'curly',\n 'curry',\n 'curse',\n 'cursive',\n 'cursor',\n 'curtain',\n 'curtly',\n 'curtsy',\n 'curvature',\n 'curve',\n 'curvy',\n 'cushy',\n 'cusp',\n 'cussed',\n 'custard',\n 'custodian',\n 'custody',\n 'customary',\n 'customer',\n 'customize',\n 'customs',\n 'cut',\n 'cycle',\n 'cyclic',\n 'cycling',\n 'cyclist',\n 'cylinder',\n 'cymbal',\n 'cytoplasm',\n 'cytoplast',\n 'dab',\n 'dad',\n 'daffodil',\n 'dagger',\n 'daily',\n 'daintily',\n 'dainty',\n 'dairy',\n 'daisy',\n 'dallying',\n 'dance',\n 'dancing',\n 'dandelion',\n 'dander',\n 'dandruff',\n 'dandy',\n 'danger',\n 'dangle',\n 'dangling',\n 'daredevil',\n 'dares',\n 'daringly',\n 'darkened',\n 'darkening',\n 'darkish',\n 'darkness',\n 'darkroom',\n 'darling',\n 'darn',\n 'dart',\n 'darwinism',\n 'dash',\n 'dastardly',\n 'data',\n 'datebook',\n 'dating',\n 'daughter',\n 'daunting',\n 'dawdler',\n 'dawn',\n 'daybed',\n 'daybreak',\n 'daycare',\n 'daydream',\n 'daylight',\n 'daylong',\n 'dayroom',\n 'daytime',\n 'dazzler',\n 'dazzling',\n 'deacon',\n 'deafening',\n 'deafness',\n 'dealer',\n 'dealing',\n 'dealmaker',\n 'dealt',\n 'dean',\n 'debatable',\n 'debate',\n 'debating',\n 'debit',\n 'debrief',\n 'debtless',\n 'debtor',\n 'debug',\n 'debunk',\n 'decade',\n 'decaf',\n 'decal',\n 'decathlon',\n 'decay',\n 'deceased',\n 'deceit',\n 'deceiver',\n 'deceiving',\n 'december',\n 'decency',\n 'decent',\n 'deception',\n 'deceptive',\n 'decibel',\n 'decidable',\n 'decimal',\n 'decimeter',\n 'decipher',\n 'deck',\n 'declared',\n 'decline',\n 'decode',\n 'decompose',\n 'decorated',\n 'decorator',\n 'decoy',\n 'decrease',\n 'decree',\n 'dedicate',\n 'dedicator',\n 'deduce',\n 'deduct',\n 'deed',\n 'deem',\n 'deepen',\n 'deeply',\n 'deepness',\n 'deface',\n 'defacing',\n 'defame',\n 'default',\n 'defeat',\n 'defection',\n 'defective',\n 'defendant',\n 'defender',\n 'defense',\n 'defensive',\n 'deferral',\n 'deferred',\n 'defiance',\n 'defiant',\n 'defile',\n 'defiling',\n 'define',\n 'definite',\n 'deflate',\n 'deflation',\n 'deflator',\n 'deflected',\n 'deflector',\n 'defog',\n 'deforest',\n 'defraud',\n 'defrost',\n 'deftly',\n 'defuse',\n 'defy',\n 'degraded',\n 'degrading',\n 'degrease',\n 'degree',\n 'dehydrate',\n 'deity',\n 'dejected',\n 'delay',\n 'delegate',\n 'delegator',\n 'delete',\n 'deletion',\n 'delicacy',\n 'delicate',\n 'delicious',\n 'delighted',\n 'delirious',\n 'delirium',\n 'deliverer',\n 'delivery',\n 'delouse',\n 'delta',\n 'deluge',\n 'delusion',\n 'deluxe',\n 'demanding',\n 'demeaning',\n 'demeanor',\n 'demise',\n 'democracy',\n 'democrat',\n 'demote',\n 'demotion',\n 'demystify',\n 'denatured',\n 'deniable',\n 'denial',\n 'denim',\n 'denote',\n 'dense',\n 'density',\n 'dental',\n 'dentist',\n 'denture',\n 'deny',\n 'deodorant',\n 'deodorize',\n 'departed',\n 'departure',\n 'depict',\n 'deplete',\n 'depletion',\n 'deplored',\n 'deploy',\n 'deport',\n 'depose',\n 'depraved',\n 'depravity',\n 'deprecate',\n 'depress',\n 'deprive',\n 'depth',\n 'deputize',\n 'deputy',\n 'derail',\n 'deranged',\n 'derby',\n 'derived',\n 'desecrate',\n 'deserve',\n 'deserving',\n 'designate',\n 'designed',\n 'designer',\n 'designing',\n 'deskbound',\n 'desktop',\n 'deskwork',\n 'desolate',\n 'despair',\n 'despise',\n 'despite',\n 'destiny',\n 'destitute',\n 'destruct',\n 'detached',\n 'detail',\n 'detection',\n 'detective',\n 'detector',\n 'detention',\n 'detergent',\n 'detest',\n 'detonate',\n 'detonator',\n 'detoxify',\n 'detract',\n 'deuce',\n 'devalue',\n 'deviancy',\n 'deviant',\n 'deviate',\n 'deviation',\n 'deviator',\n 'device',\n 'devious',\n 'devotedly',\n 'devotee',\n 'devotion',\n 'devourer',\n 'devouring',\n 'devoutly',\n 'dexterity',\n 'dexterous',\n 'diabetes',\n 'diabetic',\n 'diabolic',\n 'diagnoses',\n 'diagnosis',\n 'diagram',\n 'dial',\n 'diameter',\n 'diaper',\n 'diaphragm',\n 'diary',\n 'dice',\n 'dicing',\n 'dictate',\n 'dictation',\n 'dictator',\n 'difficult',\n 'diffused',\n 'diffuser',\n 'diffusion',\n 'diffusive',\n 'dig',\n 'dilation',\n 'diligence',\n 'diligent',\n 'dill',\n 'dilute',\n 'dime',\n 'diminish',\n 'dimly',\n 'dimmed',\n 'dimmer',\n 'dimness',\n 'dimple',\n 'diner',\n 'dingbat',\n 'dinghy',\n 'dinginess',\n 'dingo',\n 'dingy',\n 'dining',\n 'dinner',\n 'diocese',\n 'dioxide',\n 'diploma',\n 'dipped',\n 'dipper',\n 'dipping',\n 'directed',\n 'direction',\n 'directive',\n 'directly',\n 'directory',\n 'direness',\n 'dirtiness',\n 'disabled',\n 'disagree',\n 'disallow',\n 'disarm',\n 'disarray',\n 'disaster',\n 'disband',\n 'disbelief',\n 'disburse',\n 'discard',\n 'discern',\n 'discharge',\n 'disclose',\n 'discolor',\n 'discount',\n 'discourse',\n 'discover',\n 'discuss',\n 'disdain',\n 'disengage',\n 'disfigure',\n 'disgrace',\n 'dish',\n 'disinfect',\n 'disjoin',\n 'disk',\n 'dislike',\n 'disliking',\n 'dislocate',\n 'dislodge',\n 'disloyal',\n 'dismantle',\n 'dismay',\n 'dismiss',\n 'dismount',\n 'disobey',\n 'disorder',\n 'disown',\n 'disparate',\n 'disparity',\n 'dispatch',\n 'dispense',\n 'dispersal',\n 'dispersed',\n 'disperser',\n 'displace',\n 'display',\n 'displease',\n 'disposal',\n 'dispose',\n 'disprove',\n 'dispute',\n 'disregard',\n 'disrupt',\n 'dissuade',\n 'distance',\n 'distant',\n 'distaste',\n 'distill',\n 'distinct',\n 'distort',\n 'distract',\n 'distress',\n 'district',\n 'distrust',\n 'ditch',\n 'ditto',\n 'ditzy',\n 'dividable',\n 'divided',\n 'dividend',\n 'dividers',\n 'dividing',\n 'divinely',\n 'diving',\n 'divinity',\n 'divisible',\n 'divisibly',\n 'division',\n 'divisive',\n 'divorcee',\n 'dizziness',\n 'dizzy',\n 'doable',\n 'docile',\n 'dock',\n 'doctrine',\n 'document',\n 'dodge',\n 'dodgy',\n 'doily',\n 'doing',\n 'dole',\n 'dollar',\n 'dollhouse',\n 'dollop',\n 'dolly',\n 'dolphin',\n 'domain',\n 'domelike',\n 'domestic',\n 'dominion',\n 'dominoes',\n 'donated',\n 'donation',\n 'donator',\n 'donor',\n 'donut',\n 'doodle',\n 'doorbell',\n 'doorframe',\n 'doorknob',\n 'doorman',\n 'doormat',\n 'doornail',\n 'doorpost',\n 'doorstep',\n 'doorstop',\n 'doorway',\n 'doozy',\n 'dork',\n 'dormitory',\n 'dorsal',\n 'dosage',\n 'dose',\n 'dotted',\n 'doubling',\n 'douche',\n 'dove',\n 'down',\n 'dowry',\n 'doze',\n 'drab',\n 'dragging',\n 'dragonfly',\n 'dragonish',\n 'dragster',\n 'drainable',\n 'drainage',\n 'drained',\n 'drainer',\n 'drainpipe',\n 'dramatic',\n 'dramatize',\n 'drank',\n 'drapery',\n 'drastic',\n 'draw',\n 'dreaded',\n 'dreadful',\n 'dreadlock',\n 'dreamboat',\n 'dreamily',\n 'dreamland',\n 'dreamless',\n 'dreamlike',\n 'dreamt',\n 'dreamy',\n 'drearily',\n 'dreary',\n 'drench',\n 'dress',\n 'drew',\n 'dribble',\n 'dried',\n 'drier',\n 'drift',\n 'driller',\n 'drilling',\n 'drinkable',\n 'drinking',\n 'dripping',\n 'drippy',\n 'drivable',\n 'driven',\n 'driver',\n 'driveway',\n 'driving',\n 'drizzle',\n 'drizzly',\n 'drone',\n 'drool',\n 'droop',\n 'drop-down',\n 'dropbox',\n 'dropkick',\n 'droplet',\n 'dropout',\n 'dropper',\n 'drove',\n 'drown',\n 'drowsily',\n 'drudge',\n 'drum',\n 'dry',\n 'dubbed',\n 'dubiously',\n 'duchess',\n 'duckbill',\n 'ducking',\n 'duckling',\n 'ducktail',\n 'ducky',\n 'duct',\n 'dude',\n 'duffel',\n 'dugout',\n 'duh',\n 'duke',\n 'duller',\n 'dullness',\n 'duly',\n 'dumping',\n 'dumpling',\n 'dumpster',\n 'duo',\n 'dupe',\n 'duplex',\n 'duplicate',\n 'duplicity',\n 'durable',\n 'durably',\n 'duration',\n 'duress',\n 'during',\n 'dusk',\n 'dust',\n 'dutiful',\n 'duty',\n 'duvet',\n 'dwarf',\n 'dweeb',\n 'dwelled',\n 'dweller',\n 'dwelling',\n 'dwindle',\n 'dwindling',\n 'dynamic',\n 'dynamite',\n 'dynasty',\n 'dyslexia',\n 'dyslexic',\n 'each',\n 'eagle',\n 'earache',\n 'eardrum',\n 'earflap',\n 'earful',\n 'earlobe',\n 'early',\n 'earmark',\n 'earmuff',\n 'earphone',\n 'earpiece',\n 'earplugs',\n 'earring',\n 'earshot',\n 'earthen',\n 'earthlike',\n 'earthling',\n 'earthly',\n 'earthworm',\n 'earthy',\n 'earwig',\n 'easeful',\n 'easel',\n 'easiest',\n 'easily',\n 'easiness',\n 'easing',\n 'eastbound',\n 'eastcoast',\n 'easter',\n 'eastward',\n 'eatable',\n 'eaten',\n 'eatery',\n 'eating',\n 'eats',\n 'ebay',\n 'ebony',\n 'ebook',\n 'ecard',\n 'eccentric',\n 'echo',\n 'eclair',\n 'eclipse',\n 'ecologist',\n 'ecology',\n 'economic',\n 'economist',\n 'economy',\n 'ecosphere',\n 'ecosystem',\n 'edge',\n 'edginess',\n 'edging',\n 'edgy',\n 'edition',\n 'editor',\n 'educated',\n 'education',\n 'educator',\n 'eel',\n 'effective',\n 'effects',\n 'efficient',\n 'effort',\n 'eggbeater',\n 'egging',\n 'eggnog',\n 'eggplant',\n 'eggshell',\n 'egomaniac',\n 'egotism',\n 'egotistic',\n 'either',\n 'eject',\n 'elaborate',\n 'elastic',\n 'elated',\n 'elbow',\n 'eldercare',\n 'elderly',\n 'eldest',\n 'electable',\n 'election',\n 'elective',\n 'elephant',\n 'elevate',\n 'elevating',\n 'elevation',\n 'elevator',\n 'eleven',\n 'elf',\n 'eligible',\n 'eligibly',\n 'eliminate',\n 'elite',\n 'elitism',\n 'elixir',\n 'elk',\n 'ellipse',\n 'elliptic',\n 'elm',\n 'elongated',\n 'elope',\n 'eloquence',\n 'eloquent',\n 'elsewhere',\n 'elude',\n 'elusive',\n 'elves',\n 'email',\n 'embargo',\n 'embark',\n 'embassy',\n 'embattled',\n 'embellish',\n 'ember',\n 'embezzle',\n 'emblaze',\n 'emblem',\n 'embody',\n 'embolism',\n 'emboss',\n 'embroider',\n 'emcee',\n 'emerald',\n 'emergency',\n 'emission',\n 'emit',\n 'emote',\n 'emoticon',\n 'emotion',\n 'empathic',\n 'empathy',\n 'emperor',\n 'emphases',\n 'emphasis',\n 'emphasize',\n 'emphatic',\n 'empirical',\n 'employed',\n 'employee',\n 'employer',\n 'emporium',\n 'empower',\n 'emptier',\n 'emptiness',\n 'empty',\n 'emu',\n 'enable',\n 'enactment',\n 'enamel',\n 'enchanted',\n 'enchilada',\n 'encircle',\n 'enclose',\n 'enclosure',\n 'encode',\n 'encore',\n 'encounter',\n 'encourage',\n 'encroach',\n 'encrust',\n 'encrypt',\n 'endanger',\n 'endeared',\n 'endearing',\n 'ended',\n 'ending',\n 'endless',\n 'endnote',\n 'endocrine',\n 'endorphin',\n 'endorse',\n 'endowment',\n 'endpoint',\n 'endurable',\n 'endurance',\n 'enduring',\n 'energetic',\n 'energize',\n 'energy',\n 'enforced',\n 'enforcer',\n 'engaged',\n 'engaging',\n 'engine',\n 'engorge',\n 'engraved',\n 'engraver',\n 'engraving',\n 'engross',\n 'engulf',\n 'enhance',\n 'enigmatic',\n 'enjoyable',\n 'enjoyably',\n 'enjoyer',\n 'enjoying',\n 'enjoyment',\n 'enlarged',\n 'enlarging',\n 'enlighten',\n 'enlisted',\n 'enquirer',\n 'enrage',\n 'enrich',\n 'enroll',\n 'enslave',\n 'ensnare',\n 'ensure',\n 'entail',\n 'entangled',\n 'entering',\n 'entertain',\n 'enticing',\n 'entire',\n 'entitle',\n 'entity',\n 'entomb',\n 'entourage',\n 'entrap',\n 'entree',\n 'entrench',\n 'entrust',\n 'entryway',\n 'entwine',\n 'enunciate',\n 'envelope',\n 'enviable',\n 'enviably',\n 'envious',\n 'envision',\n 'envoy',\n 'envy',\n 'enzyme',\n 'epic',\n 'epidemic',\n 'epidermal',\n 'epidermis',\n 'epidural',\n 'epilepsy',\n 'epileptic',\n 'epilogue',\n 'epiphany',\n 'episode',\n 'equal',\n 'equate',\n 'equation',\n 'equator',\n 'equinox',\n 'equipment',\n 'equity',\n 'equivocal',\n 'eradicate',\n 'erasable',\n 'erased',\n 'eraser',\n 'erasure',\n 'ergonomic',\n 'errand',\n 'errant',\n 'erratic',\n 'error',\n 'erupt',\n 'escalate',\n 'escalator',\n 'escapable',\n 'escapade',\n 'escapist',\n 'escargot',\n 'eskimo',\n 'esophagus',\n 'espionage',\n 'espresso',\n 'esquire',\n 'essay',\n 'essence',\n 'essential',\n 'establish',\n 'estate',\n 'esteemed',\n 'estimate',\n 'estimator',\n 'estranged',\n 'estrogen',\n 'etching',\n 'eternal',\n 'eternity',\n 'ethanol',\n 'ether',\n 'ethically',\n 'ethics',\n 'euphemism',\n 'evacuate',\n 'evacuee',\n 'evade',\n 'evaluate',\n 'evaluator',\n 'evaporate',\n 'evasion',\n 'evasive',\n 'even',\n 'everglade',\n 'evergreen',\n 'everybody',\n 'everyday',\n 'everyone',\n 'evict',\n 'evidence',\n 'evident',\n 'evil',\n 'evoke',\n 'evolution',\n 'evolve',\n 'exact',\n 'exalted',\n 'example',\n 'excavate',\n 'excavator',\n 'exceeding',\n 'exception',\n 'excess',\n 'exchange',\n 'excitable',\n 'exciting',\n 'exclaim',\n 'exclude',\n 'excluding',\n 'exclusion',\n 'exclusive',\n 'excretion',\n 'excretory',\n 'excursion',\n 'excusable',\n 'excusably',\n 'excuse',\n 'exemplary',\n 'exemplify',\n 'exemption',\n 'exerciser',\n 'exert',\n 'exes',\n 'exfoliate',\n 'exhale',\n 'exhaust',\n 'exhume',\n 'exile',\n 'existing',\n 'exit',\n 'exodus',\n 'exonerate',\n 'exorcism',\n 'exorcist',\n 'expand',\n 'expanse',\n 'expansion',\n 'expansive',\n 'expectant',\n 'expedited',\n 'expediter',\n 'expel',\n 'expend',\n 'expenses',\n 'expensive',\n 'expert',\n 'expire',\n 'expiring',\n 'explain',\n 'expletive',\n 'explicit',\n 'explode',\n 'exploit',\n 'explore',\n 'exploring',\n 'exponent',\n 'exporter',\n 'exposable',\n 'expose',\n 'exposure',\n 'express',\n 'expulsion',\n 'exquisite',\n 'extended',\n 'extending',\n 'extent',\n 'extenuate',\n 'exterior',\n 'external',\n 'extinct',\n 'extortion',\n 'extradite',\n 'extras',\n 'extrovert',\n 'extrude',\n 'extruding',\n 'exuberant',\n 'fable',\n 'fabric',\n 'fabulous',\n 'facebook',\n 'facecloth',\n 'facedown',\n 'faceless',\n 'facelift',\n 'faceplate',\n 'faceted',\n 'facial',\n 'facility',\n 'facing',\n 'facsimile',\n 'faction',\n 'factoid',\n 'factor',\n 'factsheet',\n 'factual',\n 'faculty',\n 'fade',\n 'fading',\n 'failing',\n 'falcon',\n 'fall',\n 'false',\n 'falsify',\n 'fame',\n 'familiar',\n 'family',\n 'famine',\n 'famished',\n 'fanatic',\n 'fancied',\n 'fanciness',\n 'fancy',\n 'fanfare',\n 'fang',\n 'fanning',\n 'fantasize',\n 'fantastic',\n 'fantasy',\n 'fascism',\n 'fastball',\n 'faster',\n 'fasting',\n 'fastness',\n 'faucet',\n 'favorable',\n 'favorably',\n 'favored',\n 'favoring',\n 'favorite',\n 'fax',\n 'feast',\n 'federal',\n 'fedora',\n 'feeble',\n 'feed',\n 'feel',\n 'feisty',\n 'feline',\n 'felt-tip',\n 'feminine',\n 'feminism',\n 'feminist',\n 'feminize',\n 'femur',\n 'fence',\n 'fencing',\n 'fender',\n 'ferment',\n 'fernlike',\n 'ferocious',\n 'ferocity',\n 'ferret',\n 'ferris',\n 'ferry',\n 'fervor',\n 'fester',\n 'festival',\n 'festive',\n 'festivity',\n 'fetal',\n 'fetch',\n 'fever',\n 'fiber',\n 'fiction',\n 'fiddle',\n 'fiddling',\n 'fidelity',\n 'fidgeting',\n 'fidgety',\n 'fifteen',\n 'fifth',\n 'fiftieth',\n 'fifty',\n 'figment',\n 'figure',\n 'figurine',\n 'filing',\n 'filled',\n 'filler',\n 'filling',\n 'film',\n 'filter',\n 'filth',\n 'filtrate',\n 'finale',\n 'finalist',\n 'finalize',\n 'finally',\n 'finance',\n 'financial',\n 'finch',\n 'fineness',\n 'finer',\n 'finicky',\n 'finished',\n 'finisher',\n 'finishing',\n 'finite',\n 'finless',\n 'finlike',\n 'fiscally',\n 'fit',\n 'five',\n 'flaccid',\n 'flagman',\n 'flagpole',\n 'flagship',\n 'flagstick',\n 'flagstone',\n 'flail',\n 'flakily',\n 'flaky',\n 'flame',\n 'flammable',\n 'flanked',\n 'flanking',\n 'flannels',\n 'flap',\n 'flaring',\n 'flashback',\n 'flashbulb',\n 'flashcard',\n 'flashily',\n 'flashing',\n 'flashy',\n 'flask',\n 'flatbed',\n 'flatfoot',\n 'flatly',\n 'flatness',\n 'flatten',\n 'flattered',\n 'flatterer',\n 'flattery',\n 'flattop',\n 'flatware',\n 'flatworm',\n 'flavored',\n 'flavorful',\n 'flavoring',\n 'flaxseed',\n 'fled',\n 'fleshed',\n 'fleshy',\n 'flick',\n 'flier',\n 'flight',\n 'flinch',\n 'fling',\n 'flint',\n 'flip',\n 'flirt',\n 'float',\n 'flock',\n 'flogging',\n 'flop',\n 'floral',\n 'florist',\n 'floss',\n 'flounder',\n 'flyable',\n 'flyaway',\n 'flyer',\n 'flying',\n 'flyover',\n 'flypaper',\n 'foam',\n 'foe',\n 'fog',\n 'foil',\n 'folic',\n 'folk',\n 'follicle',\n 'follow',\n 'fondling',\n 'fondly',\n 'fondness',\n 'fondue',\n 'font',\n 'food',\n 'fool',\n 'footage',\n 'football',\n 'footbath',\n 'footboard',\n 'footer',\n 'footgear',\n 'foothill',\n 'foothold',\n 'footing',\n 'footless',\n 'footman',\n 'footnote',\n 'footpad',\n 'footpath',\n 'footprint',\n 'footrest',\n 'footsie',\n 'footsore',\n 'footwear',\n 'footwork',\n 'fossil',\n 'foster',\n 'founder',\n 'founding',\n 'fountain',\n 'fox',\n 'foyer',\n 'fraction',\n 'fracture',\n 'fragile',\n 'fragility',\n 'fragment',\n 'fragrance',\n 'fragrant',\n 'frail',\n 'frame',\n 'framing',\n 'frantic',\n 'fraternal',\n 'frayed',\n 'fraying',\n 'frays',\n 'freckled',\n 'freckles',\n 'freebase',\n 'freebee',\n 'freebie',\n 'freedom',\n 'freefall',\n 'freehand',\n 'freeing',\n 'freeload',\n 'freely',\n 'freemason',\n 'freeness',\n 'freestyle',\n 'freeware',\n 'freeway',\n 'freewill',\n 'freezable',\n 'freezing',\n 'freight',\n 'french',\n 'frenzied',\n 'frenzy',\n 'frequency',\n 'frequent',\n 'fresh',\n 'fretful',\n 'fretted',\n 'friction',\n 'friday',\n 'fridge',\n 'fried',\n 'friend',\n 'frighten',\n 'frightful',\n 'frigidity',\n 'frigidly',\n 'frill',\n 'fringe',\n 'frisbee',\n 'frisk',\n 'fritter',\n 'frivolous',\n 'frolic',\n 'from',\n 'front',\n 'frostbite',\n 'frosted',\n 'frostily',\n 'frosting',\n 'frostlike',\n 'frosty',\n 'froth',\n 'frown',\n 'frozen',\n 'fructose',\n 'frugality',\n 'frugally',\n 'fruit',\n 'frustrate',\n 'frying',\n 'gab',\n 'gaffe',\n 'gag',\n 'gainfully',\n 'gaining',\n 'gains',\n 'gala',\n 'gallantly',\n 'galleria',\n 'gallery',\n 'galley',\n 'gallon',\n 'gallows',\n 'gallstone',\n 'galore',\n 'galvanize',\n 'gambling',\n 'game',\n 'gaming',\n 'gamma',\n 'gander',\n 'gangly',\n 'gangrene',\n 'gangway',\n 'gap',\n 'garage',\n 'garbage',\n 'garden',\n 'gargle',\n 'garland',\n 'garlic',\n 'garment',\n 'garnet',\n 'garnish',\n 'garter',\n 'gas',\n 'gatherer',\n 'gathering',\n 'gating',\n 'gauging',\n 'gauntlet',\n 'gauze',\n 'gave',\n 'gawk',\n 'gazing',\n 'gear',\n 'gecko',\n 'geek',\n 'geiger',\n 'gem',\n 'gender',\n 'generic',\n 'generous',\n 'genetics',\n 'genre',\n 'gentile',\n 'gentleman',\n 'gently',\n 'gents',\n 'geography',\n 'geologic',\n 'geologist',\n 'geology',\n 'geometric',\n 'geometry',\n 'geranium',\n 'gerbil',\n 'geriatric',\n 'germicide',\n 'germinate',\n 'germless',\n 'germproof',\n 'gestate',\n 'gestation',\n 'gesture',\n 'getaway',\n 'getting',\n 'getup',\n 'giant',\n 'gibberish',\n 'giblet',\n 'giddily',\n 'giddiness',\n 'giddy',\n 'gift',\n 'gigabyte',\n 'gigahertz',\n 'gigantic',\n 'giggle',\n 'giggling',\n 'giggly',\n 'gigolo',\n 'gilled',\n 'gills',\n 'gimmick',\n 'girdle',\n 'giveaway',\n 'given',\n 'giver',\n 'giving',\n 'gizmo',\n 'gizzard',\n 'glacial',\n 'glacier',\n 'glade',\n 'gladiator',\n 'gladly',\n 'glamorous',\n 'glamour',\n 'glance',\n 'glancing',\n 'glandular',\n 'glare',\n 'glaring',\n 'glass',\n 'glaucoma',\n 'glazing',\n 'gleaming',\n 'gleeful',\n 'glider',\n 'gliding',\n 'glimmer',\n 'glimpse',\n 'glisten',\n 'glitch',\n 'glitter',\n 'glitzy',\n 'gloater',\n 'gloating',\n 'gloomily',\n 'gloomy',\n 'glorified',\n 'glorifier',\n 'glorify',\n 'glorious',\n 'glory',\n 'gloss',\n 'glove',\n 'glowing',\n 'glowworm',\n 'glucose',\n 'glue',\n 'gluten',\n 'glutinous',\n 'glutton',\n 'gnarly',\n 'gnat',\n 'goal',\n 'goatskin',\n 'goes',\n 'goggles',\n 'going',\n 'goldfish',\n 'goldmine',\n 'goldsmith',\n 'golf',\n 'goliath',\n 'gonad',\n 'gondola',\n 'gone',\n 'gong',\n 'good',\n 'gooey',\n 'goofball',\n 'goofiness',\n 'goofy',\n 'google',\n 'goon',\n 'gopher',\n 'gore',\n 'gorged',\n 'gorgeous',\n 'gory',\n 'gosling',\n 'gossip',\n 'gothic',\n 'gotten',\n 'gout',\n 'gown',\n 'grab',\n 'graceful',\n 'graceless',\n 'gracious',\n 'gradation',\n 'graded',\n 'grader',\n 'gradient',\n 'grading',\n 'gradually',\n 'graduate',\n 'graffiti',\n 'grafted',\n 'grafting',\n 'grain',\n 'granddad',\n 'grandkid',\n 'grandly',\n 'grandma',\n 'grandpa',\n 'grandson',\n 'granite',\n 'granny',\n 'granola',\n 'grant',\n 'granular',\n 'grape',\n 'graph',\n 'grapple',\n 'grappling',\n 'grasp',\n 'grass',\n 'gratified',\n 'gratify',\n 'grating',\n 'gratitude',\n 'gratuity',\n 'gravel',\n 'graveness',\n 'graves',\n 'graveyard',\n 'gravitate',\n 'gravity',\n 'gravy',\n 'gray',\n 'grazing',\n 'greasily',\n 'greedily',\n 'greedless',\n 'greedy',\n 'green',\n 'greeter',\n 'greeting',\n 'grew',\n 'greyhound',\n 'grid',\n 'grief',\n 'grievance',\n 'grieving',\n 'grievous',\n 'grill',\n 'grimace',\n 'grimacing',\n 'grime',\n 'griminess',\n 'grimy',\n 'grinch',\n 'grinning',\n 'grip',\n 'gristle',\n 'grit',\n 'groggily',\n 'groggy',\n 'groin',\n 'groom',\n 'groove',\n 'grooving',\n 'groovy',\n 'grope',\n 'ground',\n 'grouped',\n 'grout',\n 'grove',\n 'grower',\n 'growing',\n 'growl',\n 'grub',\n 'grudge',\n 'grudging',\n 'grueling',\n 'gruffly',\n 'grumble',\n 'grumbling',\n 'grumbly',\n 'grumpily',\n 'grunge',\n 'grunt',\n 'guacamole',\n 'guidable',\n 'guidance',\n 'guide',\n 'guiding',\n 'guileless',\n 'guise',\n 'gulf',\n 'gullible',\n 'gully',\n 'gulp',\n 'gumball',\n 'gumdrop',\n 'gumminess',\n 'gumming',\n 'gummy',\n 'gurgle',\n 'gurgling',\n 'guru',\n 'gush',\n 'gusto',\n 'gusty',\n 'gutless',\n 'guts',\n 'gutter',\n 'guy',\n 'guzzler',\n 'gyration',\n 'habitable',\n 'habitant',\n 'habitat',\n 'habitual',\n 'hacked',\n 'hacker',\n 'hacking',\n 'hacksaw',\n 'had',\n 'haggler',\n 'haiku',\n 'half',\n 'halogen',\n 'halt',\n 'halved',\n 'halves',\n 'hamburger',\n 'hamlet',\n 'hammock',\n 'hamper',\n 'hamster',\n 'hamstring',\n 'handbag',\n 'handball',\n 'handbook',\n 'handbrake',\n 'handcart',\n 'handclap',\n 'handclasp',\n 'handcraft',\n 'handcuff',\n 'handed',\n 'handful',\n 'handgrip',\n 'handgun',\n 'handheld',\n 'handiness',\n 'handiwork',\n 'handlebar',\n 'handled',\n 'handler',\n 'handling',\n 'handmade',\n 'handoff',\n 'handpick',\n 'handprint',\n 'handrail',\n 'handsaw',\n 'handset',\n 'handsfree',\n 'handshake',\n 'handstand',\n 'handwash',\n 'handwork',\n 'handwoven',\n 'handwrite',\n 'handyman',\n 'hangnail',\n 'hangout',\n 'hangover',\n 'hangup',\n 'hankering',\n 'hankie',\n 'hanky',\n 'haphazard',\n 'happening',\n 'happier',\n 'happiest',\n 'happily',\n 'happiness',\n 'happy',\n 'harbor',\n 'hardcopy',\n 'hardcore',\n 'hardcover',\n 'harddisk',\n 'hardened',\n 'hardener',\n 'hardening',\n 'hardhat',\n 'hardhead',\n 'hardiness',\n 'hardly',\n 'hardness',\n 'hardship',\n 'hardware',\n 'hardwired',\n 'hardwood',\n 'hardy',\n 'harmful',\n 'harmless',\n 'harmonica',\n 'harmonics',\n 'harmonize',\n 'harmony',\n 'harness',\n 'harpist',\n 'harsh',\n 'harvest',\n 'hash',\n 'hassle',\n 'haste',\n 'hastily',\n 'hastiness',\n 'hasty',\n 'hatbox',\n 'hatchback',\n 'hatchery',\n 'hatchet',\n 'hatching',\n 'hatchling',\n 'hate',\n 'hatless',\n 'hatred',\n 'haunt',\n 'haven',\n 'hazard',\n 'hazelnut',\n 'hazily',\n 'haziness',\n 'hazing',\n 'hazy',\n 'headache',\n 'headband',\n 'headboard',\n 'headcount',\n 'headdress',\n 'headed',\n 'header',\n 'headfirst',\n 'headgear',\n 'heading',\n 'headlamp',\n 'headless',\n 'headlock',\n 'headphone',\n 'headpiece',\n 'headrest',\n 'headroom',\n 'headscarf',\n 'headset',\n 'headsman',\n 'headstand',\n 'headstone',\n 'headway',\n 'headwear',\n 'heap',\n 'heat',\n 'heave',\n 'heavily',\n 'heaviness',\n 'heaving',\n 'hedge',\n 'hedging',\n 'heftiness',\n 'hefty',\n 'helium',\n 'helmet',\n 'helper',\n 'helpful',\n 'helping',\n 'helpless',\n 'helpline',\n 'hemlock',\n 'hemstitch',\n 'hence',\n 'henchman',\n 'henna',\n 'herald',\n 'herbal',\n 'herbicide',\n 'herbs',\n 'heritage',\n 'hermit',\n 'heroics',\n 'heroism',\n 'herring',\n 'herself',\n 'hertz',\n 'hesitancy',\n 'hesitant',\n 'hesitate',\n 'hexagon',\n 'hexagram',\n 'hubcap',\n 'huddle',\n 'huddling',\n 'huff',\n 'hug',\n 'hula',\n 'hulk',\n 'hull',\n 'human',\n 'humble',\n 'humbling',\n 'humbly',\n 'humid',\n 'humiliate',\n 'humility',\n 'humming',\n 'hummus',\n 'humongous',\n 'humorist',\n 'humorless',\n 'humorous',\n 'humpback',\n 'humped',\n 'humvee',\n 'hunchback',\n 'hundredth',\n 'hunger',\n 'hungrily',\n 'hungry',\n 'hunk',\n 'hunter',\n 'hunting',\n 'huntress',\n 'huntsman',\n 'hurdle',\n 'hurled',\n 'hurler',\n 'hurling',\n 'hurray',\n 'hurricane',\n 'hurried',\n 'hurry',\n 'hurt',\n 'husband',\n 'hush',\n 'husked',\n 'huskiness',\n 'hut',\n 'hybrid',\n 'hydrant',\n 'hydrated',\n 'hydration',\n 'hydrogen',\n 'hydroxide',\n 'hyperlink',\n 'hypertext',\n 'hyphen',\n 'hypnoses',\n 'hypnosis',\n 'hypnotic',\n 'hypnotism',\n 'hypnotist',\n 'hypnotize',\n 'hypocrisy',\n 'hypocrite',\n 'ibuprofen',\n 'ice',\n 'iciness',\n 'icing',\n 'icky',\n 'icon',\n 'icy',\n 'idealism',\n 'idealist',\n 'idealize',\n 'ideally',\n 'idealness',\n 'identical',\n 'identify',\n 'identity',\n 'ideology',\n 'idiocy',\n 'idiom',\n 'idly',\n 'igloo',\n 'ignition',\n 'ignore',\n 'iguana',\n 'illicitly',\n 'illusion',\n 'illusive',\n 'image',\n 'imaginary',\n 'imagines',\n 'imaging',\n 'imbecile',\n 'imitate',\n 'imitation',\n 'immature',\n 'immerse',\n 'immersion',\n 'imminent',\n 'immobile',\n 'immodest',\n 'immorally',\n 'immortal',\n 'immovable',\n 'immovably',\n 'immunity',\n 'immunize',\n 'impaired',\n 'impale',\n 'impart',\n 'impatient',\n 'impeach',\n 'impeding',\n 'impending',\n 'imperfect',\n 'imperial',\n 'impish',\n 'implant',\n 'implement',\n 'implicate',\n 'implicit',\n 'implode',\n 'implosion',\n 'implosive',\n 'imply',\n 'impolite',\n 'important',\n 'importer',\n 'impose',\n 'imposing',\n 'impotence',\n 'impotency',\n 'impotent',\n 'impound',\n 'imprecise',\n 'imprint',\n 'imprison',\n 'impromptu',\n 'improper',\n 'improve',\n 'improving',\n 'improvise',\n 'imprudent',\n 'impulse',\n 'impulsive',\n 'impure',\n 'impurity',\n 'iodine',\n 'iodize',\n 'ion',\n 'ipad',\n 'iphone',\n 'ipod',\n 'irate',\n 'irk',\n 'iron',\n 'irregular',\n 'irrigate',\n 'irritable',\n 'irritably',\n 'irritant',\n 'irritate',\n 'islamic',\n 'islamist',\n 'isolated',\n 'isolating',\n 'isolation',\n 'isotope',\n 'issue',\n 'issuing',\n 'italicize',\n 'italics',\n 'item',\n 'itinerary',\n 'itunes',\n 'ivory',\n 'ivy',\n 'jab',\n 'jackal',\n 'jacket',\n 'jackknife',\n 'jackpot',\n 'jailbird',\n 'jailbreak',\n 'jailer',\n 'jailhouse',\n 'jalapeno',\n 'jam',\n 'janitor',\n 'january',\n 'jargon',\n 'jarring',\n 'jasmine',\n 'jaundice',\n 'jaunt',\n 'java',\n 'jawed',\n 'jawless',\n 'jawline',\n 'jaws',\n 'jaybird',\n 'jaywalker',\n 'jazz',\n 'jeep',\n 'jeeringly',\n 'jellied',\n 'jelly',\n 'jersey',\n 'jester',\n 'jet',\n 'jiffy',\n 'jigsaw',\n 'jimmy',\n 'jingle',\n 'jingling',\n 'jinx',\n 'jitters',\n 'jittery',\n 'job',\n 'jockey',\n 'jockstrap',\n 'jogger',\n 'jogging',\n 'john',\n 'joining',\n 'jokester',\n 'jokingly',\n 'jolliness',\n 'jolly',\n 'jolt',\n 'jot',\n 'jovial',\n 'joyfully',\n 'joylessly',\n 'joyous',\n 'joyride',\n 'joystick',\n 'jubilance',\n 'jubilant',\n 'judge',\n 'judgingly',\n 'judicial',\n 'judiciary',\n 'judo',\n 'juggle',\n 'juggling',\n 'jugular',\n 'juice',\n 'juiciness',\n 'juicy',\n 'jujitsu',\n 'jukebox',\n 'july',\n 'jumble',\n 'jumbo',\n 'jump',\n 'junction',\n 'juncture',\n 'june',\n 'junior',\n 'juniper',\n 'junkie',\n 'junkman',\n 'junkyard',\n 'jurist',\n 'juror',\n 'jury',\n 'justice',\n 'justifier',\n 'justify',\n 'justly',\n 'justness',\n 'juvenile',\n 'kabob',\n 'kangaroo',\n 'karaoke',\n 'karate',\n 'karma',\n 'kebab',\n 'keenly',\n 'keenness',\n 'keep',\n 'keg',\n 'kelp',\n 'kennel',\n 'kept',\n 'kerchief',\n 'kerosene',\n 'kettle',\n 'kick',\n 'kiln',\n 'kilobyte',\n 'kilogram',\n 'kilometer',\n 'kilowatt',\n 'kilt',\n 'kimono',\n 'kindle',\n 'kindling',\n 'kindly',\n 'kindness',\n 'kindred',\n 'kinetic',\n 'kinfolk',\n 'king',\n 'kinship',\n 'kinsman',\n 'kinswoman',\n 'kissable',\n 'kisser',\n 'kissing',\n 'kitchen',\n 'kite',\n 'kitten',\n 'kitty',\n 'kiwi',\n 'kleenex',\n 'knapsack',\n 'knee',\n 'knelt',\n 'knickers',\n 'knoll',\n 'koala',\n 'kooky',\n 'kosher',\n 'krypton',\n 'kudos',\n 'kung',\n 'labored',\n 'laborer',\n 'laboring',\n 'laborious',\n 'labrador',\n 'ladder',\n 'ladies',\n 'ladle',\n 'ladybug',\n 'ladylike',\n 'lagged',\n 'lagging',\n 'lagoon',\n 'lair',\n 'lake',\n 'lance',\n 'landed',\n 'landfall',\n 'landfill',\n 'landing',\n 'landlady',\n 'landless',\n 'landline',\n 'landlord',\n 'landmark',\n 'landmass',\n 'landmine',\n 'landowner',\n 'landscape',\n 'landside',\n 'landslide',\n 'language',\n 'lankiness',\n 'lanky',\n 'lantern',\n 'lapdog',\n 'lapel',\n 'lapped',\n 'lapping',\n 'laptop',\n 'lard',\n 'large',\n 'lark',\n 'lash',\n 'lasso',\n 'last',\n 'latch',\n 'late',\n 'lather',\n 'latitude',\n 'latrine',\n 'latter',\n 'latticed',\n 'launch',\n 'launder',\n 'laundry',\n 'laurel',\n 'lavender',\n 'lavish',\n 'laxative',\n 'lazily',\n 'laziness',\n 'lazy',\n 'lecturer',\n 'left',\n 'legacy',\n 'legal',\n 'legend',\n 'legged',\n 'leggings',\n 'legible',\n 'legibly',\n 'legislate',\n 'lego',\n 'legroom',\n 'legume',\n 'legwarmer',\n 'legwork',\n 'lemon',\n 'lend',\n 'length',\n 'lens',\n 'lent',\n 'leotard',\n 'lesser',\n 'letdown',\n 'lethargic',\n 'lethargy',\n 'letter',\n 'lettuce',\n 'level',\n 'leverage',\n 'levers',\n 'levitate',\n 'levitator',\n 'liability',\n 'liable',\n 'liberty',\n 'librarian',\n 'library',\n 'licking',\n 'licorice',\n 'lid',\n 'life',\n 'lifter',\n 'lifting',\n 'liftoff',\n 'ligament',\n 'likely',\n 'likeness',\n 'likewise',\n 'liking',\n 'lilac',\n 'lilly',\n 'lily',\n 'limb',\n 'limeade',\n 'limelight',\n 'limes',\n 'limit',\n 'limping',\n 'limpness',\n 'line',\n 'lingo',\n 'linguini',\n 'linguist',\n 'lining',\n 'linked',\n 'linoleum',\n 'linseed',\n 'lint',\n 'lion',\n 'lip',\n 'liquefy',\n 'liqueur',\n 'liquid',\n 'lisp',\n 'list',\n 'litigate',\n 'litigator',\n 'litmus',\n 'litter',\n 'little',\n 'livable',\n 'lived',\n 'lively',\n 'liver',\n 'livestock',\n 'lividly',\n 'living',\n 'lizard',\n 'lubricant',\n 'lubricate',\n 'lucid',\n 'luckily',\n 'luckiness',\n 'luckless',\n 'lucrative',\n 'ludicrous',\n 'lugged',\n 'lukewarm',\n 'lullaby',\n 'lumber',\n 'luminance',\n 'luminous',\n 'lumpiness',\n 'lumping',\n 'lumpish',\n 'lunacy',\n 'lunar',\n 'lunchbox',\n 'luncheon',\n 'lunchroom',\n 'lunchtime',\n 'lung',\n 'lurch',\n 'lure',\n 'luridness',\n 'lurk',\n 'lushly',\n 'lushness',\n 'luster',\n 'lustfully',\n 'lustily',\n 'lustiness',\n 'lustrous',\n 'lusty',\n 'luxurious',\n 'luxury',\n 'lying',\n 'lyrically',\n 'lyricism',\n 'lyricist',\n 'lyrics',\n 'macarena',\n 'macaroni',\n 'macaw',\n 'mace',\n 'machine',\n 'machinist',\n 'magazine',\n 'magenta',\n 'maggot',\n 'magical',\n 'magician',\n 'magma',\n 'magnesium',\n 'magnetic',\n 'magnetism',\n 'magnetize',\n 'magnifier',\n 'magnify',\n 'magnitude',\n 'magnolia',\n 'mahogany',\n 'maimed',\n 'majestic',\n 'majesty',\n 'majorette',\n 'majority',\n 'makeover',\n 'maker',\n 'makeshift',\n 'making',\n 'malformed',\n 'malt',\n 'mama',\n 'mammal',\n 'mammary',\n 'mammogram',\n 'manager',\n 'managing',\n 'manatee',\n 'mandarin',\n 'mandate',\n 'mandatory',\n 'mandolin',\n 'manger',\n 'mangle',\n 'mango',\n 'mangy',\n 'manhandle',\n 'manhole',\n 'manhood',\n 'manhunt',\n 'manicotti',\n 'manicure',\n 'manifesto',\n 'manila',\n 'mankind',\n 'manlike',\n 'manliness',\n 'manly',\n 'manmade',\n 'manned',\n 'mannish',\n 'manor',\n 'manpower',\n 'mantis',\n 'mantra',\n 'manual',\n 'many',\n 'map',\n 'marathon',\n 'marauding',\n 'marbled',\n 'marbles',\n 'marbling',\n 'march',\n 'mardi',\n 'margarine',\n 'margarita',\n 'margin',\n 'marigold',\n 'marina',\n 'marine',\n 'marital',\n 'maritime',\n 'marlin',\n 'marmalade',\n 'maroon',\n 'married',\n 'marrow',\n 'marry',\n 'marshland',\n 'marshy',\n 'marsupial',\n 'marvelous',\n 'marxism',\n 'mascot',\n 'masculine',\n 'mashed',\n 'mashing',\n 'massager',\n 'masses',\n 'massive',\n 'mastiff',\n 'matador',\n 'matchbook',\n 'matchbox',\n 'matcher',\n 'matching',\n 'matchless',\n 'material',\n 'maternal',\n 'maternity',\n 'math',\n 'mating',\n 'matriarch',\n 'matrimony',\n 'matrix',\n 'matron',\n 'matted',\n 'matter',\n 'maturely',\n 'maturing',\n 'maturity',\n 'mauve',\n 'maverick',\n 'maximize',\n 'maximum',\n 'maybe',\n 'mayday',\n 'mayflower',\n 'moaner',\n 'moaning',\n 'mobile',\n 'mobility',\n 'mobilize',\n 'mobster',\n 'mocha',\n 'mocker',\n 'mockup',\n 'modified',\n 'modify',\n 'modular',\n 'modulator',\n 'module',\n 'moisten',\n 'moistness',\n 'moisture',\n 'molar',\n 'molasses',\n 'mold',\n 'molecular',\n 'molecule',\n 'molehill',\n 'mollusk',\n 'mom',\n 'monastery',\n 'monday',\n 'monetary',\n 'monetize',\n 'moneybags',\n 'moneyless',\n 'moneywise',\n 'mongoose',\n 'mongrel',\n 'monitor',\n 'monkhood',\n 'monogamy',\n 'monogram',\n 'monologue',\n 'monopoly',\n 'monorail',\n 'monotone',\n 'monotype',\n 'monoxide',\n 'monsieur',\n 'monsoon',\n 'monstrous',\n 'monthly',\n 'monument',\n 'moocher',\n 'moodiness',\n 'moody',\n 'mooing',\n 'moonbeam',\n 'mooned',\n 'moonlight',\n 'moonlike',\n 'moonlit',\n 'moonrise',\n 'moonscape',\n 'moonshine',\n 'moonstone',\n 'moonwalk',\n 'mop',\n 'morale',\n 'morality',\n 'morally',\n 'morbidity',\n 'morbidly',\n 'morphine',\n 'morphing',\n 'morse',\n 'mortality',\n 'mortally',\n 'mortician',\n 'mortified',\n 'mortify',\n 'mortuary',\n 'mosaic',\n 'mossy',\n 'most',\n 'mothball',\n 'mothproof',\n 'motion',\n 'motivate',\n 'motivator',\n 'motive',\n 'motocross',\n 'motor',\n 'motto',\n 'mountable',\n 'mountain',\n 'mounted',\n 'mounting',\n 'mourner',\n 'mournful',\n 'mouse',\n 'mousiness',\n 'moustache',\n 'mousy',\n 'mouth',\n 'movable',\n 'move',\n 'movie',\n 'moving',\n 'mower',\n 'mowing',\n 'much',\n 'muck',\n 'mud',\n 'mug',\n 'mulberry',\n 'mulch',\n 'mule',\n 'mulled',\n 'mullets',\n 'multiple',\n 'multiply',\n 'multitask',\n 'multitude',\n 'mumble',\n 'mumbling',\n 'mumbo',\n 'mummified',\n 'mummify',\n 'mummy',\n 'mumps',\n 'munchkin',\n 'mundane',\n 'municipal',\n 'muppet',\n 'mural',\n 'murkiness',\n 'murky',\n 'murmuring',\n 'muscular',\n 'museum',\n 'mushily',\n 'mushiness',\n 'mushroom',\n 'mushy',\n 'music',\n 'musket',\n 'muskiness',\n 'musky',\n 'mustang',\n 'mustard',\n 'muster',\n 'mustiness',\n 'musty',\n 'mutable',\n 'mutate',\n 'mutation',\n 'mute',\n 'mutilated',\n 'mutilator',\n 'mutiny',\n 'mutt',\n 'mutual',\n 'muzzle',\n 'myself',\n 'myspace',\n 'mystified',\n 'mystify',\n 'myth',\n 'nacho',\n 'nag',\n 'nail',\n 'name',\n 'naming',\n 'nanny',\n 'nanometer',\n 'nape',\n 'napkin',\n 'napped',\n 'napping',\n 'nappy',\n 'narrow',\n 'nastily',\n 'nastiness',\n 'national',\n 'native',\n 'nativity',\n 'natural',\n 'nature',\n 'naturist',\n 'nautical',\n 'navigate',\n 'navigator',\n 'navy',\n 'nearby',\n 'nearest',\n 'nearly',\n 'nearness',\n 'neatly',\n 'neatness',\n 'nebula',\n 'nebulizer',\n 'nectar',\n 'negate',\n 'negation',\n 'negative',\n 'neglector',\n 'negligee',\n 'negligent',\n 'negotiate',\n 'nemeses',\n 'nemesis',\n 'neon',\n 'nephew',\n 'nerd',\n 'nervous',\n 'nervy',\n 'nest',\n 'net',\n 'neurology',\n 'neuron',\n 'neurosis',\n 'neurotic',\n 'neuter',\n 'neutron',\n 'never',\n 'next',\n 'nibble',\n 'nickname',\n 'nicotine',\n 'niece',\n 'nifty',\n 'nimble',\n 'nimbly',\n 'nineteen',\n 'ninetieth',\n 'ninja',\n 'nintendo',\n 'ninth',\n 'nuclear',\n 'nuclei',\n 'nucleus',\n 'nugget',\n 'nullify',\n 'number',\n 'numbing',\n 'numbly',\n 'numbness',\n 'numeral',\n 'numerate',\n 'numerator',\n 'numeric',\n 'numerous',\n 'nuptials',\n 'nursery',\n 'nursing',\n 'nurture',\n 'nutcase',\n 'nutlike',\n 'nutmeg',\n 'nutrient',\n 'nutshell',\n 'nuttiness',\n 'nutty',\n 'nuzzle',\n 'nylon',\n 'oaf',\n 'oak',\n 'oasis',\n 'oat',\n 'obedience',\n 'obedient',\n 'obituary',\n 'object',\n 'obligate',\n 'obliged',\n 'oblivion',\n 'oblivious',\n 'oblong',\n 'obnoxious',\n 'oboe',\n 'obscure',\n 'obscurity',\n 'observant',\n 'observer',\n 'observing',\n 'obsessed',\n 'obsession',\n 'obsessive',\n 'obsolete',\n 'obstacle',\n 'obstinate',\n 'obstruct',\n 'obtain',\n 'obtrusive',\n 'obtuse',\n 'obvious',\n 'occultist',\n 'occupancy',\n 'occupant',\n 'occupier',\n 'occupy',\n 'ocean',\n 'ocelot',\n 'octagon',\n 'octane',\n 'october',\n 'octopus',\n 'ogle',\n 'oil',\n 'oink',\n 'ointment',\n 'okay',\n 'old',\n 'olive',\n 'olympics',\n 'omega',\n 'omen',\n 'ominous',\n 'omission',\n 'omit',\n 'omnivore',\n 'onboard',\n 'oncoming',\n 'ongoing',\n 'onion',\n 'online',\n 'onlooker',\n 'only',\n 'onscreen',\n 'onset',\n 'onshore',\n 'onslaught',\n 'onstage',\n 'onto',\n 'onward',\n 'onyx',\n 'oops',\n 'ooze',\n 'oozy',\n 'opacity',\n 'opal',\n 'open',\n 'operable',\n 'operate',\n 'operating',\n 'operation',\n 'operative',\n 'operator',\n 'opium',\n 'opossum',\n 'opponent',\n 'oppose',\n 'opposing',\n 'opposite',\n 'oppressed',\n 'oppressor',\n 'opt',\n 'opulently',\n 'osmosis',\n 'other',\n 'otter',\n 'ouch',\n 'ought',\n 'ounce',\n 'outage',\n 'outback',\n 'outbid',\n 'outboard',\n 'outbound',\n 'outbreak',\n 'outburst',\n 'outcast',\n 'outclass',\n 'outcome',\n 'outdated',\n 'outdoors',\n 'outer',\n 'outfield',\n 'outfit',\n 'outflank',\n 'outgoing',\n 'outgrow',\n 'outhouse',\n 'outing',\n 'outlast',\n 'outlet',\n 'outline',\n 'outlook',\n 'outlying',\n 'outmatch',\n 'outmost',\n 'outnumber',\n 'outplayed',\n 'outpost',\n 'outpour',\n 'output',\n 'outrage',\n 'outrank',\n 'outreach',\n 'outright',\n 'outscore',\n 'outsell',\n 'outshine',\n 'outshoot',\n 'outsider',\n 'outskirts',\n 'outsmart',\n 'outsource',\n 'outspoken',\n 'outtakes',\n 'outthink',\n 'outward',\n 'outweigh',\n 'outwit',\n 'oval',\n 'ovary',\n 'oven',\n 'overact',\n 'overall',\n 'overarch',\n 'overbid',\n 'overbill',\n 'overbite',\n 'overblown',\n 'overboard',\n 'overbook',\n 'overbuilt',\n 'overcast',\n 'overcoat',\n 'overcome',\n 'overcook',\n 'overcrowd',\n 'overdraft',\n 'overdrawn',\n 'overdress',\n 'overdrive',\n 'overdue',\n 'overeager',\n 'overeater',\n 'overexert',\n 'overfed',\n 'overfeed',\n 'overfill',\n 'overflow',\n 'overfull',\n 'overgrown',\n 'overhand',\n 'overhang',\n 'overhaul',\n 'overhead',\n 'overhear',\n 'overheat',\n 'overhung',\n 'overjoyed',\n 'overkill',\n 'overlabor',\n 'overlaid',\n 'overlap',\n 'overlay',\n 'overload',\n 'overlook',\n 'overlord',\n 'overlying',\n 'overnight',\n 'overpass',\n 'overpay',\n 'overplant',\n 'overplay',\n 'overpower',\n 'overprice',\n 'overrate',\n 'overreach',\n 'overreact',\n 'override',\n 'overripe',\n 'overrule',\n 'overrun',\n 'overshoot',\n 'overshot',\n 'oversight',\n 'oversized',\n 'oversleep',\n 'oversold',\n 'overspend',\n 'overstate',\n 'overstay',\n 'overstep',\n 'overstock',\n 'overstuff',\n 'oversweet',\n 'overtake',\n 'overthrow',\n 'overtime',\n 'overtly',\n 'overtone',\n 'overture',\n 'overturn',\n 'overuse',\n 'overvalue',\n 'overview',\n 'overwrite',\n 'owl',\n 'oxford',\n 'oxidant',\n 'oxidation',\n 'oxidize',\n 'oxidizing',\n 'oxygen',\n 'oxymoron',\n 'oyster',\n 'ozone',\n 'paced',\n 'pacemaker',\n 'pacific',\n 'pacifier',\n 'pacifism',\n 'pacifist',\n 'pacify',\n 'padded',\n 'padding',\n 'paddle',\n 'paddling',\n 'padlock',\n 'pagan',\n 'pager',\n 'paging',\n 'pajamas',\n 'palace',\n 'palatable',\n 'palm',\n 'palpable',\n 'palpitate',\n 'paltry',\n 'pampered',\n 'pamperer',\n 'pampers',\n 'pamphlet',\n 'panama',\n 'pancake',\n 'pancreas',\n 'panda',\n 'pandemic',\n 'pang',\n 'panhandle',\n 'panic',\n 'panning',\n 'panorama',\n 'panoramic',\n 'panther',\n 'pantomime',\n 'pantry',\n 'pants',\n 'pantyhose',\n 'paparazzi',\n 'papaya',\n 'paper',\n 'paprika',\n 'papyrus',\n 'parabola',\n 'parachute',\n 'parade',\n 'paradox',\n 'paragraph',\n 'parakeet',\n 'paralegal',\n 'paralyses',\n 'paralysis',\n 'paralyze',\n 'paramedic',\n 'parameter',\n 'paramount',\n 'parasail',\n 'parasite',\n 'parasitic',\n 'parcel',\n 'parched',\n 'parchment',\n 'pardon',\n 'parish',\n 'parka',\n 'parking',\n 'parkway',\n 'parlor',\n 'parmesan',\n 'parole',\n 'parrot',\n 'parsley',\n 'parsnip',\n 'partake',\n 'parted',\n 'parting',\n 'partition',\n 'partly',\n 'partner',\n 'partridge',\n 'party',\n 'passable',\n 'passably',\n 'passage',\n 'passcode',\n 'passenger',\n 'passerby',\n 'passing',\n 'passion',\n 'passive',\n 'passivism',\n 'passover',\n 'passport',\n 'password',\n 'pasta',\n 'pasted',\n 'pastel',\n 'pastime',\n 'pastor',\n 'pastrami',\n 'pasture',\n 'pasty',\n 'patchwork',\n 'patchy',\n 'paternal',\n 'paternity',\n 'path',\n 'patience',\n 'patient',\n 'patio',\n 'patriarch',\n 'patriot',\n 'patrol',\n 'patronage',\n 'patronize',\n 'pauper',\n 'pavement',\n 'paver',\n 'pavestone',\n 'pavilion',\n 'paving',\n 'pawing',\n 'payable',\n 'payback',\n 'paycheck',\n 'payday',\n 'payee',\n 'payer',\n 'paying',\n 'payment',\n 'payphone',\n 'payroll',\n 'pebble',\n 'pebbly',\n 'pecan',\n 'pectin',\n 'peculiar',\n 'peddling',\n 'pediatric',\n 'pedicure',\n 'pedigree',\n 'pedometer',\n 'pegboard',\n 'pelican',\n 'pellet',\n 'pelt',\n 'pelvis',\n 'penalize',\n 'penalty',\n 'pencil',\n 'pendant',\n 'pending',\n 'penholder',\n 'penknife',\n 'pennant',\n 'penniless',\n 'penny',\n 'penpal',\n 'pension',\n 'pentagon',\n 'pentagram',\n 'pep',\n 'perceive',\n 'percent',\n 'perch',\n 'percolate',\n 'perennial',\n 'perfected',\n 'perfectly',\n 'perfume',\n 'periscope',\n 'perish',\n 'perjurer',\n 'perjury',\n 'perkiness',\n 'perky',\n 'perm',\n 'peroxide',\n 'perpetual',\n 'perplexed',\n 'persecute',\n 'persevere',\n 'persuaded',\n 'persuader',\n 'pesky',\n 'peso',\n 'pessimism',\n 'pessimist',\n 'pester',\n 'pesticide',\n 'petal',\n 'petite',\n 'petition',\n 'petri',\n 'petroleum',\n 'petted',\n 'petticoat',\n 'pettiness',\n 'petty',\n 'petunia',\n 'phantom',\n 'phobia',\n 'phoenix',\n 'phonebook',\n 'phoney',\n 'phonics',\n 'phoniness',\n 'phony',\n 'phosphate',\n 'photo',\n 'phrase',\n 'phrasing',\n 'placard',\n 'placate',\n 'placidly',\n 'plank',\n 'planner',\n 'plant',\n 'plasma',\n 'plaster',\n 'plastic',\n 'plated',\n 'platform',\n 'plating',\n 'platinum',\n 'platonic',\n 'platter',\n 'platypus',\n 'plausible',\n 'plausibly',\n 'playable',\n 'playback',\n 'player',\n 'playful',\n 'playgroup',\n 'playhouse',\n 'playing',\n 'playlist',\n 'playmaker',\n 'playmate',\n 'playoff',\n 'playpen',\n 'playroom',\n 'playset',\n 'plaything',\n 'playtime',\n 'plaza',\n 'pleading',\n 'pleat',\n 'pledge',\n 'plentiful',\n 'plenty',\n 'plethora',\n 'plexiglas',\n 'pliable',\n 'plod',\n 'plop',\n 'plot',\n 'plow',\n 'ploy',\n 'pluck',\n 'plug',\n 'plunder',\n 'plunging',\n 'plural',\n 'plus',\n 'plutonium',\n 'plywood',\n 'poach',\n 'pod',\n 'poem',\n 'poet',\n 'pogo',\n 'pointed',\n 'pointer',\n 'pointing',\n 'pointless',\n 'pointy',\n 'poise',\n 'poison',\n 'poker',\n 'poking',\n 'polar',\n 'police',\n 'policy',\n 'polio',\n 'polish',\n 'politely',\n 'polka',\n 'polo',\n 'polyester',\n 'polygon',\n 'polygraph',\n 'polymer',\n 'poncho',\n 'pond',\n 'pony',\n 'popcorn',\n 'pope',\n 'poplar',\n 'popper',\n 'poppy',\n 'popsicle',\n 'populace',\n 'popular',\n 'populate',\n 'porcupine',\n 'pork',\n 'porous',\n 'porridge',\n 'portable',\n 'portal',\n 'portfolio',\n 'porthole',\n 'portion',\n 'portly',\n 'portside',\n 'poser',\n 'posh',\n 'posing',\n 'possible',\n 'possibly',\n 'possum',\n 'postage',\n 'postal',\n 'postbox',\n 'postcard',\n 'posted',\n 'poster',\n 'posting',\n 'postnasal',\n 'posture',\n 'postwar',\n 'pouch',\n 'pounce',\n 'pouncing',\n 'pound',\n 'pouring',\n 'pout',\n 'powdered',\n 'powdering',\n 'powdery',\n 'power',\n 'powwow',\n 'pox',\n 'praising',\n 'prance',\n 'prancing',\n 'pranker',\n 'prankish',\n 'prankster',\n 'prayer',\n 'praying',\n 'preacher',\n 'preaching',\n 'preachy',\n 'preamble',\n 'precinct',\n 'precise',\n 'precision',\n 'precook',\n 'precut',\n 'predator',\n 'predefine',\n 'predict',\n 'preface',\n 'prefix',\n 'preflight',\n 'preformed',\n 'pregame',\n 'pregnancy',\n 'pregnant',\n 'preheated',\n 'prelaunch',\n 'prelaw',\n 'prelude',\n 'premiere',\n 'premises',\n 'premium',\n 'prenatal',\n 'preoccupy',\n 'preorder',\n 'prepaid',\n 'prepay',\n 'preplan',\n 'preppy',\n 'preschool',\n 'prescribe',\n 'preseason',\n 'preset',\n 'preshow',\n 'president',\n 'presoak',\n 'press',\n 'presume',\n 'presuming',\n 'preteen',\n 'pretended',\n 'pretender',\n 'pretense',\n 'pretext',\n 'pretty',\n 'pretzel',\n 'prevail',\n 'prevalent',\n 'prevent',\n 'preview',\n 'previous',\n 'prewar',\n 'prewashed',\n 'prideful',\n 'pried',\n 'primal',\n 'primarily',\n 'primary',\n 'primate',\n 'primer',\n 'primp',\n 'princess',\n 'print',\n 'prior',\n 'prism',\n 'prison',\n 'prissy',\n 'pristine',\n 'privacy',\n 'private',\n 'privatize',\n 'prize',\n 'proactive',\n 'probable',\n 'probably',\n 'probation',\n 'probe',\n 'probing',\n 'probiotic',\n 'problem',\n 'procedure',\n 'process',\n 'proclaim',\n 'procreate',\n 'procurer',\n 'prodigal',\n 'prodigy',\n 'produce',\n 'product',\n 'profane',\n 'profanity',\n 'professed',\n 'professor',\n 'profile',\n 'profound',\n 'profusely',\n 'progeny',\n 'prognosis',\n 'program',\n 'progress',\n 'projector',\n 'prologue',\n 'prolonged',\n 'promenade',\n 'prominent',\n 'promoter',\n 'promotion',\n 'prompter',\n 'promptly',\n 'prone',\n 'prong',\n 'pronounce',\n 'pronto',\n 'proofing',\n 'proofread',\n 'proofs',\n 'propeller',\n 'properly',\n 'property',\n 'proponent',\n 'proposal',\n 'propose',\n 'props',\n 'prorate',\n 'protector',\n 'protegee',\n 'proton',\n 'prototype',\n 'protozoan',\n 'protract',\n 'protrude',\n 'proud',\n 'provable',\n 'proved',\n 'proven',\n 'provided',\n 'provider',\n 'providing',\n 'province',\n 'proving',\n 'provoke',\n 'provoking',\n 'provolone',\n 'prowess',\n 'prowler',\n 'prowling',\n 'proximity',\n 'proxy',\n 'prozac',\n 'prude',\n 'prudishly',\n 'prune',\n 'pruning',\n 'pry',\n 'psychic',\n 'public',\n 'publisher',\n 'pucker',\n 'pueblo',\n 'pug',\n 'pull',\n 'pulmonary',\n 'pulp',\n 'pulsate',\n 'pulse',\n 'pulverize',\n 'puma',\n 'pumice',\n 'pummel',\n 'punch',\n 'punctual',\n 'punctuate',\n 'punctured',\n 'pungent',\n 'punisher',\n 'punk',\n 'pupil',\n 'puppet',\n 'puppy',\n 'purchase',\n 'pureblood',\n 'purebred',\n 'purely',\n 'pureness',\n 'purgatory',\n 'purge',\n 'purging',\n 'purifier',\n 'purify',\n 'purist',\n 'puritan',\n 'purity',\n 'purple',\n 'purplish',\n 'purposely',\n 'purr',\n 'purse',\n 'pursuable',\n 'pursuant',\n 'pursuit',\n 'purveyor',\n 'pushcart',\n 'pushchair',\n 'pusher',\n 'pushiness',\n 'pushing',\n 'pushover',\n 'pushpin',\n 'pushup',\n 'pushy',\n 'putdown',\n 'putt',\n 'puzzle',\n 'puzzling',\n 'pyramid',\n 'pyromania',\n 'python',\n 'quack',\n 'quadrant',\n 'quail',\n 'quaintly',\n 'quake',\n 'quaking',\n 'qualified',\n 'qualifier',\n 'qualify',\n 'quality',\n 'qualm',\n 'quantum',\n 'quarrel',\n 'quarry',\n 'quartered',\n 'quarterly',\n 'quarters',\n 'quartet',\n 'quench',\n 'query',\n 'quicken',\n 'quickly',\n 'quickness',\n 'quicksand',\n 'quickstep',\n 'quiet',\n 'quill',\n 'quilt',\n 'quintet',\n 'quintuple',\n 'quirk',\n 'quit',\n 'quiver',\n 'quizzical',\n 'quotable',\n 'quotation',\n 'quote',\n 'rabid',\n 'race',\n 'racing',\n 'racism',\n 'rack',\n 'racoon',\n 'radar',\n 'radial',\n 'radiance',\n 'radiantly',\n 'radiated',\n 'radiation',\n 'radiator',\n 'radio',\n 'radish',\n 'raffle',\n 'raft',\n 'rage',\n 'ragged',\n 'raging',\n 'ragweed',\n 'raider',\n 'railcar',\n 'railing',\n 'railroad',\n 'railway',\n 'raisin',\n 'rake',\n 'raking',\n 'rally',\n 'ramble',\n 'rambling',\n 'ramp',\n 'ramrod',\n 'ranch',\n 'rancidity',\n 'random',\n 'ranged',\n 'ranger',\n 'ranging',\n 'ranked',\n 'ranking',\n 'ransack',\n 'ranting',\n 'rants',\n 'rare',\n 'rarity',\n 'rascal',\n 'rash',\n 'rasping',\n 'ravage',\n 'raven',\n 'ravine',\n 'raving',\n 'ravioli',\n 'ravishing',\n 'reabsorb',\n 'reach',\n 'reacquire',\n 'reaction',\n 'reactive',\n 'reactor',\n 'reaffirm',\n 'ream',\n 'reanalyze',\n 'reappear',\n 'reapply',\n 'reappoint',\n 'reapprove',\n 'rearrange',\n 'rearview',\n 'reason',\n 'reassign',\n 'reassure',\n 'reattach',\n 'reawake',\n 'rebalance',\n 'rebate',\n 'rebel',\n 'rebirth',\n 'reboot',\n 'reborn',\n 'rebound',\n 'rebuff',\n 'rebuild',\n 'rebuilt',\n 'reburial',\n 'rebuttal',\n 'recall',\n 'recant',\n 'recapture',\n 'recast',\n 'recede',\n 'recent',\n 'recess',\n 'recharger',\n 'recipient',\n 'recital',\n 'recite',\n 'reckless',\n 'reclaim',\n 'recliner',\n 'reclining',\n 'recluse',\n 'reclusive',\n 'recognize',\n 'recoil',\n 'recollect',\n 'recolor',\n 'reconcile',\n 'reconfirm',\n 'reconvene',\n 'recopy',\n 'record',\n 'recount',\n 'recoup',\n 'recovery',\n 'recreate',\n 'rectal',\n 'rectangle',\n 'rectified',\n 'rectify',\n 'recycled',\n 'recycler',\n 'recycling',\n 'reemerge',\n 'reenact',\n 'reenter',\n 'reentry',\n 'reexamine',\n 'referable',\n 'referee',\n 'reference',\n 'refill',\n 'refinance',\n 'refined',\n 'refinery',\n 'refining',\n 'refinish',\n 'reflected',\n 'reflector',\n 'reflex',\n 'reflux',\n 'refocus',\n 'refold',\n 'reforest',\n 'reformat',\n 'reformed',\n 'reformer',\n 'reformist',\n 'refract',\n 'refrain',\n 'refreeze',\n 'refresh',\n 'refried',\n 'refueling',\n 'refund',\n 'refurbish',\n 'refurnish',\n 'refusal',\n 'refuse',\n 'refusing',\n 'refutable',\n 'refute',\n 'regain',\n 'regalia',\n 'regally',\n 'reggae',\n 'regime',\n 'region',\n 'register',\n 'registrar',\n 'registry',\n 'regress',\n 'regretful',\n 'regroup',\n 'regular',\n 'regulate',\n 'regulator',\n 'rehab',\n 'reheat',\n 'rehire',\n 'rehydrate',\n 'reimburse',\n 'reissue',\n 'reiterate',\n 'rejoice',\n 'rejoicing',\n 'rejoin',\n 'rekindle',\n 'relapse',\n 'relapsing',\n 'relatable',\n 'related',\n 'relation',\n 'relative',\n 'relax',\n 'relay',\n 'relearn',\n 'release',\n 'relenting',\n 'reliable',\n 'reliably',\n 'reliance',\n 'reliant',\n 'relic',\n 'relieve',\n 'relieving',\n 'relight',\n 'relish',\n 'relive',\n 'reload',\n 'relocate',\n 'relock',\n 'reluctant',\n 'rely',\n 'remake',\n 'remark',\n 'remarry',\n 'rematch',\n 'remedial',\n 'remedy',\n 'remember',\n 'reminder',\n 'remindful',\n 'remission',\n 'remix',\n 'remnant',\n 'remodeler',\n 'remold',\n 'remorse',\n 'remote',\n 'removable',\n 'removal',\n 'removed',\n 'remover',\n 'removing',\n 'rename',\n 'renderer',\n 'rendering',\n 'rendition',\n 'renegade',\n 'renewable',\n 'renewably',\n 'renewal',\n 'renewed',\n 'renounce',\n 'renovate',\n 'renovator',\n 'rentable',\n 'rental',\n 'rented',\n 'renter',\n 'reoccupy',\n 'reoccur',\n 'reopen',\n 'reorder',\n 'repackage',\n 'repacking',\n 'repaint',\n 'repair',\n 'repave',\n 'repaying',\n 'repayment',\n 'repeal',\n 'repeated',\n 'repeater',\n 'repent',\n 'rephrase',\n 'replace',\n 'replay',\n 'replica',\n 'reply',\n 'reporter',\n 'repose',\n 'repossess',\n 'repost',\n 'repressed',\n 'reprimand',\n 'reprint',\n 'reprise',\n 'reproach',\n 'reprocess',\n 'reproduce',\n 'reprogram',\n 'reps',\n 'reptile',\n 'reptilian',\n 'repugnant',\n 'repulsion',\n 'repulsive',\n 'repurpose',\n 'reputable',\n 'reputably',\n 'request',\n 'require',\n 'requisite',\n 'reroute',\n 'rerun',\n 'resale',\n 'resample',\n 'rescuer',\n 'reseal',\n 'research',\n 'reselect',\n 'reseller',\n 'resemble',\n 'resend',\n 'resent',\n 'reset',\n 'reshape',\n 'reshoot',\n 'reshuffle',\n 'residence',\n 'residency',\n 'resident',\n 'residual',\n 'residue',\n 'resigned',\n 'resilient',\n 'resistant',\n 'resisting',\n 'resize',\n 'resolute',\n 'resolved',\n 'resonant',\n 'resonate',\n 'resort',\n 'resource',\n 'respect',\n 'resubmit',\n 'result',\n 'resume',\n 'resupply',\n 'resurface',\n 'resurrect',\n 'retail',\n 'retainer',\n 'retaining',\n 'retake',\n 'retaliate',\n 'retention',\n 'rethink',\n 'retinal',\n 'retired',\n 'retiree',\n 'retiring',\n 'retold',\n 'retool',\n 'retorted',\n 'retouch',\n 'retrace',\n 'retract',\n 'retrain',\n 'retread',\n 'retreat',\n 'retrial',\n 'retrieval',\n 'retriever',\n 'retry',\n 'return',\n 'retying',\n 'retype',\n 'reunion',\n 'reunite',\n 'reusable',\n 'reuse',\n 'reveal',\n 'reveler',\n 'revenge',\n 'revenue',\n 'reverb',\n 'revered',\n 'reverence',\n 'reverend',\n 'reversal',\n 'reverse',\n 'reversing',\n 'reversion',\n 'revert',\n 'revisable',\n 'revise',\n 'revision',\n 'revisit',\n 'revivable',\n 'revival',\n 'reviver',\n 'reviving',\n 'revocable',\n 'revoke',\n 'revolt',\n 'revolver',\n 'revolving',\n 'reward',\n 'rewash',\n 'rewind',\n 'rewire',\n 'reword',\n 'rework',\n 'rewrap',\n 'rewrite',\n 'rhyme',\n 'ribbon',\n 'ribcage',\n 'rice',\n 'riches',\n 'richly',\n 'richness',\n 'rickety',\n 'ricotta',\n 'riddance',\n 'ridden',\n 'ride',\n 'riding',\n 'rifling',\n 'rift',\n 'rigging',\n 'rigid',\n 'rigor',\n 'rimless',\n 'rimmed',\n 'rind',\n 'rink',\n 'rinse',\n 'rinsing',\n 'riot',\n 'ripcord',\n 'ripeness',\n 'ripening',\n 'ripping',\n 'ripple',\n 'rippling',\n 'riptide',\n 'rise',\n 'rising',\n 'risk',\n 'risotto',\n 'ritalin',\n 'ritzy',\n 'rival',\n 'riverbank',\n 'riverbed',\n 'riverboat',\n 'riverside',\n 'riveter',\n 'riveting',\n 'roamer',\n 'roaming',\n 'roast',\n 'robbing',\n 'robe',\n 'robin',\n 'robotics',\n 'robust',\n 'rockband',\n 'rocker',\n 'rocket',\n 'rockfish',\n 'rockiness',\n 'rocking',\n 'rocklike',\n 'rockslide',\n 'rockstar',\n 'rocky',\n 'rogue',\n 'roman',\n 'romp',\n 'rope',\n 'roping',\n 'roster',\n 'rosy',\n 'rotten',\n 'rotting',\n 'rotunda',\n 'roulette',\n 'rounding',\n 'roundish',\n 'roundness',\n 'roundup',\n 'roundworm',\n 'routine',\n 'routing',\n 'rover',\n 'roving',\n 'royal',\n 'rubbed',\n 'rubber',\n 'rubbing',\n 'rubble',\n 'rubdown',\n 'ruby',\n 'ruckus',\n 'rudder',\n 'rug',\n 'ruined',\n 'rule',\n 'rumble',\n 'rumbling',\n 'rummage',\n 'rumor',\n 'runaround',\n 'rundown',\n 'runner',\n 'running',\n 'runny',\n 'runt',\n 'runway',\n 'rupture',\n 'rural',\n 'ruse',\n 'rush',\n 'rust',\n 'rut',\n 'sabbath',\n 'sabotage',\n 'sacrament',\n 'sacred',\n 'sacrifice',\n 'sadden',\n 'saddlebag',\n 'saddled',\n 'saddling',\n 'sadly',\n 'sadness',\n 'safari',\n 'safeguard',\n 'safehouse',\n 'safely',\n 'safeness',\n 'saffron',\n 'saga',\n 'sage',\n 'sagging',\n 'saggy',\n 'said',\n 'saint',\n 'sake',\n 'salad',\n 'salami',\n 'salaried',\n 'salary',\n 'saline',\n 'salon',\n 'saloon',\n 'salsa',\n 'salt',\n 'salutary',\n 'salute',\n 'salvage',\n 'salvaging',\n 'salvation',\n 'same',\n 'sample',\n 'sampling',\n 'sanction',\n 'sanctity',\n 'sanctuary',\n 'sandal',\n 'sandbag',\n 'sandbank',\n 'sandbar',\n 'sandblast',\n 'sandbox',\n 'sanded',\n 'sandfish',\n 'sanding',\n 'sandlot',\n 'sandpaper',\n 'sandpit',\n 'sandstone',\n 'sandstorm',\n 'sandworm',\n 'sandy',\n 'sanitary',\n 'sanitizer',\n 'sank',\n 'santa',\n 'sapling',\n 'sappiness',\n 'sappy',\n 'sarcasm',\n 'sarcastic',\n 'sardine',\n 'sash',\n 'sasquatch',\n 'sassy',\n 'satchel',\n 'satiable',\n 'satin',\n 'satirical',\n 'satisfied',\n 'satisfy',\n 'saturate',\n 'saturday',\n 'sauciness',\n 'saucy',\n 'sauna',\n 'savage',\n 'savanna',\n 'saved',\n 'savings',\n 'savior',\n 'savor',\n 'saxophone',\n 'say',\n 'scabbed',\n 'scabby',\n 'scalded',\n 'scalding',\n 'scale',\n 'scaling',\n 'scallion',\n 'scallop',\n 'scalping',\n 'scam',\n 'scandal',\n 'scanner',\n 'scanning',\n 'scant',\n 'scapegoat',\n 'scarce',\n 'scarcity',\n 'scarecrow',\n 'scared',\n 'scarf',\n 'scarily',\n 'scariness',\n 'scarring',\n 'scary',\n 'scavenger',\n 'scenic',\n 'schedule',\n 'schematic',\n 'scheme',\n 'scheming',\n 'schilling',\n 'schnapps',\n 'scholar',\n 'science',\n 'scientist',\n 'scion',\n 'scoff',\n 'scolding',\n 'scone',\n 'scoop',\n 'scooter',\n 'scope',\n 'scorch',\n 'scorebook',\n 'scorecard',\n 'scored',\n 'scoreless',\n 'scorer',\n 'scoring',\n 'scorn',\n 'scorpion',\n 'scotch',\n 'scoundrel',\n 'scoured',\n 'scouring',\n 'scouting',\n 'scouts',\n 'scowling',\n 'scrabble',\n 'scraggly',\n 'scrambled',\n 'scrambler',\n 'scrap',\n 'scratch',\n 'scrawny',\n 'screen',\n 'scribble',\n 'scribe',\n 'scribing',\n 'scrimmage',\n 'script',\n 'scroll',\n 'scrooge',\n 'scrounger',\n 'scrubbed',\n 'scrubber',\n 'scruffy',\n 'scrunch',\n 'scrutiny',\n 'scuba',\n 'scuff',\n 'sculptor',\n 'sculpture',\n 'scurvy',\n 'scuttle',\n 'secluded',\n 'secluding',\n 'seclusion',\n 'second',\n 'secrecy',\n 'secret',\n 'sectional',\n 'sector',\n 'secular',\n 'securely',\n 'security',\n 'sedan',\n 'sedate',\n 'sedation',\n 'sedative',\n 'sediment',\n 'seduce',\n 'seducing',\n 'segment',\n 'seismic',\n 'seizing',\n 'seldom',\n 'selected',\n 'selection',\n 'selective',\n 'selector',\n 'self',\n 'seltzer',\n 'semantic',\n 'semester',\n 'semicolon',\n 'semifinal',\n 'seminar',\n 'semisoft',\n 'semisweet',\n 'senate',\n 'senator',\n 'send',\n 'senior',\n 'senorita',\n 'sensation',\n 'sensitive',\n 'sensitize',\n 'sensually',\n 'sensuous',\n 'sepia',\n 'september',\n 'septic',\n 'septum',\n 'sequel',\n 'sequence',\n 'sequester',\n 'series',\n 'sermon',\n 'serotonin',\n 'serpent',\n 'serrated',\n 'serve',\n 'service',\n 'serving',\n 'sesame',\n 'sessions',\n 'setback',\n 'setting',\n 'settle',\n 'settling',\n 'setup',\n 'sevenfold',\n 'seventeen',\n 'seventh',\n 'seventy',\n 'severity',\n 'shabby',\n 'shack',\n 'shaded',\n 'shadily',\n 'shadiness',\n 'shading',\n 'shadow',\n 'shady',\n 'shaft',\n 'shakable',\n 'shakily',\n 'shakiness',\n 'shaking',\n 'shaky',\n 'shale',\n 'shallot',\n 'shallow',\n 'shame',\n 'shampoo',\n 'shamrock',\n 'shank',\n 'shanty',\n 'shape',\n 'shaping',\n 'share',\n 'sharpener',\n 'sharper',\n 'sharpie',\n 'sharply',\n 'sharpness',\n 'shawl',\n 'sheath',\n 'shed',\n 'sheep',\n 'sheet',\n 'shelf',\n 'shell',\n 'shelter',\n 'shelve',\n 'shelving',\n 'sherry',\n 'shield',\n 'shifter',\n 'shifting',\n 'shiftless',\n 'shifty',\n 'shimmer',\n 'shimmy',\n 'shindig',\n 'shine',\n 'shingle',\n 'shininess',\n 'shining',\n 'shiny',\n 'ship',\n 'shirt',\n 'shivering',\n 'shock',\n 'shone',\n 'shoplift',\n 'shopper',\n 'shopping',\n 'shoptalk',\n 'shore',\n 'shortage',\n 'shortcake',\n 'shortcut',\n 'shorten',\n 'shorter',\n 'shorthand',\n 'shortlist',\n 'shortly',\n 'shortness',\n 'shorts',\n 'shortwave',\n 'shorty',\n 'shout',\n 'shove',\n 'showbiz',\n 'showcase',\n 'showdown',\n 'shower',\n 'showgirl',\n 'showing',\n 'showman',\n 'shown',\n 'showoff',\n 'showpiece',\n 'showplace',\n 'showroom',\n 'showy',\n 'shrank',\n 'shrapnel',\n 'shredder',\n 'shredding',\n 'shrewdly',\n 'shriek',\n 'shrill',\n 'shrimp',\n 'shrine',\n 'shrink',\n 'shrivel',\n 'shrouded',\n 'shrubbery',\n 'shrubs',\n 'shrug',\n 'shrunk',\n 'shucking',\n 'shudder',\n 'shuffle',\n 'shuffling',\n 'shun',\n 'shush',\n 'shut',\n 'shy',\n 'siamese',\n 'siberian',\n 'sibling',\n 'siding',\n 'sierra',\n 'siesta',\n 'sift',\n 'sighing',\n 'silenced',\n 'silencer',\n 'silent',\n 'silica',\n 'silicon',\n 'silk',\n 'silliness',\n 'silly',\n 'silo',\n 'silt',\n 'silver',\n 'similarly',\n 'simile',\n 'simmering',\n 'simple',\n 'simplify',\n 'simply',\n 'sincere',\n 'sincerity',\n 'singer',\n 'singing',\n 'single',\n 'singular',\n 'sinister',\n 'sinless',\n 'sinner',\n 'sinuous',\n 'sip',\n 'siren',\n 'sister',\n 'sitcom',\n 'sitter',\n 'sitting',\n 'situated',\n 'situation',\n 'sixfold',\n 'sixteen',\n 'sixth',\n 'sixties',\n 'sixtieth',\n 'sixtyfold',\n 'sizable',\n 'sizably',\n 'size',\n 'sizing',\n 'sizzle',\n 'sizzling',\n 'skater',\n 'skating',\n 'skedaddle',\n 'skeletal',\n 'skeleton',\n 'skeptic',\n 'sketch',\n 'skewed',\n 'skewer',\n 'skid',\n 'skied',\n 'skier',\n 'skies',\n 'skiing',\n 'skilled',\n 'skillet',\n 'skillful',\n 'skimmed',\n 'skimmer',\n 'skimming',\n 'skimpily',\n 'skincare',\n 'skinhead',\n 'skinless',\n 'skinning',\n 'skinny',\n 'skintight',\n 'skipper',\n 'skipping',\n 'skirmish',\n 'skirt',\n 'skittle',\n 'skydiver',\n 'skylight',\n 'skyline',\n 'skype',\n 'skyrocket',\n 'skyward',\n 'slab',\n 'slacked',\n 'slacker',\n 'slacking',\n 'slackness',\n 'slacks',\n 'slain',\n 'slam',\n 'slander',\n 'slang',\n 'slapping',\n 'slapstick',\n 'slashed',\n 'slashing',\n 'slate',\n 'slather',\n 'slaw',\n 'sled',\n 'sleek',\n 'sleep',\n 'sleet',\n 'sleeve',\n 'slept',\n 'sliceable',\n 'sliced',\n 'slicer',\n 'slicing',\n 'slick',\n 'slider',\n 'slideshow',\n 'sliding',\n 'slighted',\n 'slighting',\n 'slightly',\n 'slimness',\n 'slimy',\n 'slinging',\n 'slingshot',\n 'slinky',\n 'slip',\n 'slit',\n 'sliver',\n 'slobbery',\n 'slogan',\n 'sloped',\n 'sloping',\n 'sloppily',\n 'sloppy',\n 'slot',\n 'slouching',\n 'slouchy',\n 'sludge',\n 'slug',\n 'slum',\n 'slurp',\n 'slush',\n 'sly',\n 'small',\n 'smartly',\n 'smartness',\n 'smasher',\n 'smashing',\n 'smashup',\n 'smell',\n 'smelting',\n 'smile',\n 'smilingly',\n 'smirk',\n 'smite',\n 'smith',\n 'smitten',\n 'smock',\n 'smog',\n 'smoked',\n 'smokeless',\n 'smokiness',\n 'smoking',\n 'smoky',\n 'smolder',\n 'smooth',\n 'smother',\n 'smudge',\n 'smudgy',\n 'smuggler',\n 'smuggling',\n 'smugly',\n 'smugness',\n 'snack',\n 'snagged',\n 'snaking',\n 'snap',\n 'snare',\n 'snarl',\n 'snazzy',\n 'sneak',\n 'sneer',\n 'sneeze',\n 'sneezing',\n 'snide',\n 'sniff',\n 'snippet',\n 'snipping',\n 'snitch',\n 'snooper',\n 'snooze',\n 'snore',\n 'snoring',\n 'snorkel',\n 'snort',\n 'snout',\n 'snowbird',\n 'snowboard',\n 'snowbound',\n 'snowcap',\n 'snowdrift',\n 'snowdrop',\n 'snowfall',\n 'snowfield',\n 'snowflake',\n 'snowiness',\n 'snowless',\n 'snowman',\n 'snowplow',\n 'snowshoe',\n 'snowstorm',\n 'snowsuit',\n 'snowy',\n 'snub',\n 'snuff',\n 'snuggle',\n 'snugly',\n 'snugness',\n 'speak',\n 'spearfish',\n 'spearhead',\n 'spearman',\n 'spearmint',\n 'species',\n 'specimen',\n 'specked',\n 'speckled',\n 'specks',\n 'spectacle',\n 'spectator',\n 'spectrum',\n 'speculate',\n 'speech',\n 'speed',\n 'spellbind',\n 'speller',\n 'spelling',\n 'spendable',\n 'spender',\n 'spending',\n 'spent',\n 'spew',\n 'sphere',\n 'spherical',\n 'sphinx',\n 'spider',\n 'spied',\n 'spiffy',\n 'spill',\n 'spilt',\n 'spinach',\n 'spinal',\n 'spindle',\n 'spinner',\n 'spinning',\n 'spinout',\n 'spinster',\n 'spiny',\n 'spiral',\n 'spirited',\n 'spiritism',\n 'spirits',\n 'spiritual',\n 'splashed',\n 'splashing',\n 'splashy',\n 'splatter',\n 'spleen',\n 'splendid',\n 'splendor',\n 'splice',\n 'splicing',\n 'splinter',\n 'splotchy',\n 'splurge',\n 'spoilage',\n 'spoiled',\n 'spoiler',\n 'spoiling',\n 'spoils',\n 'spoken',\n 'spokesman',\n 'sponge',\n 'spongy',\n 'sponsor',\n 'spoof',\n 'spookily',\n 'spooky',\n 'spool',\n 'spoon',\n 'spore',\n 'sporting',\n 'sports',\n 'sporty',\n 'spotless',\n 'spotlight',\n 'spotted',\n 'spotter',\n 'spotting',\n 'spotty',\n 'spousal',\n 'spouse',\n 'spout',\n 'sprain',\n 'sprang',\n 'sprawl',\n 'spray',\n 'spree',\n 'sprig',\n 'spring',\n 'sprinkled',\n 'sprinkler',\n 'sprint',\n 'sprite',\n 'sprout',\n 'spruce',\n 'sprung',\n 'spry',\n 'spud',\n 'spur',\n 'sputter',\n 'spyglass',\n 'squabble',\n 'squad',\n 'squall',\n 'squander',\n 'squash',\n 'squatted',\n 'squatter',\n 'squatting',\n 'squeak',\n 'squealer',\n 'squealing',\n 'squeamish',\n 'squeegee',\n 'squeeze',\n 'squeezing',\n 'squid',\n 'squiggle',\n 'squiggly',\n 'squint',\n 'squire',\n 'squirt',\n 'squishier',\n 'squishy',\n 'stability',\n 'stabilize',\n 'stable',\n 'stack',\n 'stadium',\n 'staff',\n 'stage',\n 'staging',\n 'stagnant',\n 'stagnate',\n 'stainable',\n 'stained',\n 'staining',\n 'stainless',\n 'stalemate',\n 'staleness',\n 'stalling',\n 'stallion',\n 'stamina',\n 'stammer',\n 'stamp',\n 'stand',\n 'stank',\n 'staple',\n 'stapling',\n 'starboard',\n 'starch',\n 'stardom',\n 'stardust',\n 'starfish',\n 'stargazer',\n 'staring',\n 'stark',\n 'starless',\n 'starlet',\n 'starlight',\n 'starlit',\n 'starring',\n 'starry',\n 'starship',\n 'starter',\n 'starting',\n 'startle',\n 'startling',\n 'startup',\n 'starved',\n 'starving',\n 'stash',\n 'state',\n 'static',\n 'statistic',\n 'statue',\n 'stature',\n 'status',\n 'statute',\n 'statutory',\n 'staunch',\n 'stays',\n 'steadfast',\n 'steadier',\n 'steadily',\n 'steadying',\n 'steam',\n 'steed',\n 'steep',\n 'steerable',\n 'steering',\n 'steersman',\n 'stegosaur',\n 'stellar',\n 'stem',\n 'stench',\n 'stencil',\n 'step',\n 'stereo',\n 'sterile',\n 'sterility',\n 'sterilize',\n 'sterling',\n 'sternness',\n 'sternum',\n 'stew',\n 'stick',\n 'stiffen',\n 'stiffly',\n 'stiffness',\n 'stifle',\n 'stifling',\n 'stillness',\n 'stilt',\n 'stimulant',\n 'stimulate',\n 'stimuli',\n 'stimulus',\n 'stinger',\n 'stingily',\n 'stinging',\n 'stingray',\n 'stingy',\n 'stinking',\n 'stinky',\n 'stipend',\n 'stipulate',\n 'stir',\n 'stitch',\n 'stock',\n 'stoic',\n 'stoke',\n 'stole',\n 'stomp',\n 'stonewall',\n 'stoneware',\n 'stonework',\n 'stoning',\n 'stony',\n 'stood',\n 'stooge',\n 'stool',\n 'stoop',\n 'stoplight',\n 'stoppable',\n 'stoppage',\n 'stopped',\n 'stopper',\n 'stopping',\n 'stopwatch',\n 'storable',\n 'storage',\n 'storeroom',\n 'storewide',\n 'storm',\n 'stout',\n 'stove',\n 'stowaway',\n 'stowing',\n 'straddle',\n 'straggler',\n 'strained',\n 'strainer',\n 'straining',\n 'strangely',\n 'stranger',\n 'strangle',\n 'strategic',\n 'strategy',\n 'stratus',\n 'straw',\n 'stray',\n 'streak',\n 'stream',\n 'street',\n 'strength',\n 'strenuous',\n 'strep',\n 'stress',\n 'stretch',\n 'strewn',\n 'stricken',\n 'strict',\n 'stride',\n 'strife',\n 'strike',\n 'striking',\n 'strive',\n 'striving',\n 'strobe',\n 'strode',\n 'stroller',\n 'strongbox',\n 'strongly',\n 'strongman',\n 'struck',\n 'structure',\n 'strudel',\n 'struggle',\n 'strum',\n 'strung',\n 'strut',\n 'stubbed',\n 'stubble',\n 'stubbly',\n 'stubborn',\n 'stucco',\n 'stuck',\n 'student',\n 'studied',\n 'studio',\n 'study',\n 'stuffed',\n 'stuffing',\n 'stuffy',\n 'stumble',\n 'stumbling',\n 'stump',\n 'stung',\n 'stunned',\n 'stunner',\n 'stunning',\n 'stunt',\n 'stupor',\n 'sturdily',\n 'sturdy',\n 'styling',\n 'stylishly',\n 'stylist',\n 'stylized',\n 'stylus',\n 'suave',\n 'subarctic',\n 'subatomic',\n 'subdivide',\n 'subdued',\n 'subduing',\n 'subfloor',\n 'subgroup',\n 'subheader',\n 'subject',\n 'sublease',\n 'sublet',\n 'sublevel',\n 'sublime',\n 'submarine',\n 'submerge',\n 'submersed',\n 'submitter',\n 'subpanel',\n 'subpar',\n 'subplot',\n 'subprime',\n 'subscribe',\n 'subscript',\n 'subsector',\n 'subside',\n 'subsiding',\n 'subsidize',\n 'subsidy',\n 'subsoil',\n 'subsonic',\n 'substance',\n 'subsystem',\n 'subtext',\n 'subtitle',\n 'subtly',\n 'subtotal',\n 'subtract',\n 'subtype',\n 'suburb',\n 'subway',\n 'subwoofer',\n 'subzero',\n 'succulent',\n 'such',\n 'suction',\n 'sudden',\n 'sudoku',\n 'suds',\n 'sufferer',\n 'suffering',\n 'suffice',\n 'suffix',\n 'suffocate',\n 'suffrage',\n 'sugar',\n 'suggest',\n 'suing',\n 'suitable',\n 'suitably',\n 'suitcase',\n 'suitor',\n 'sulfate',\n 'sulfide',\n 'sulfite',\n 'sulfur',\n 'sulk',\n 'sullen',\n 'sulphate',\n 'sulphuric',\n 'sultry',\n 'superbowl',\n 'superglue',\n 'superhero',\n 'superior',\n 'superjet',\n 'superman',\n 'supermom',\n 'supernova',\n 'supervise',\n 'supper',\n 'supplier',\n 'supply',\n 'support',\n 'supremacy',\n 'supreme',\n 'surcharge',\n 'surely',\n 'sureness',\n 'surface',\n 'surfacing',\n 'surfboard',\n 'surfer',\n 'surgery',\n 'surgical',\n 'surging',\n 'surname',\n 'surpass',\n 'surplus',\n 'surprise',\n 'surreal',\n 'surrender',\n 'surrogate',\n 'surround',\n 'survey',\n 'survival',\n 'survive',\n 'surviving',\n 'survivor',\n 'sushi',\n 'suspect',\n 'suspend',\n 'suspense',\n 'sustained',\n 'sustainer',\n 'swab',\n 'swaddling',\n 'swagger',\n 'swampland',\n 'swan',\n 'swapping',\n 'swarm',\n 'sway',\n 'swear',\n 'sweat',\n 'sweep',\n 'swell',\n 'swept',\n 'swerve',\n 'swifter',\n 'swiftly',\n 'swiftness',\n 'swimmable',\n 'swimmer',\n 'swimming',\n 'swimsuit',\n 'swimwear',\n 'swinger',\n 'swinging',\n 'swipe',\n 'swirl',\n 'switch',\n 'swivel',\n 'swizzle',\n 'swooned',\n 'swoop',\n 'swoosh',\n 'swore',\n 'sworn',\n 'swung',\n 'sycamore',\n 'sympathy',\n 'symphonic',\n 'symphony',\n 'symptom',\n 'synapse',\n 'syndrome',\n 'synergy',\n 'synopses',\n 'synopsis',\n 'synthesis',\n 'synthetic',\n 'syrup',\n 'system',\n 't-shirt',\n 'tabasco',\n 'tabby',\n 'tableful',\n 'tables',\n 'tablet',\n 'tableware',\n 'tabloid',\n 'tackiness',\n 'tacking',\n 'tackle',\n 'tackling',\n 'tacky',\n 'taco',\n 'tactful',\n 'tactical',\n 'tactics',\n 'tactile',\n 'tactless',\n 'tadpole',\n 'taekwondo',\n 'tag',\n 'tainted',\n 'take',\n 'taking',\n 'talcum',\n 'talisman',\n 'tall',\n 'talon',\n 'tamale',\n 'tameness',\n 'tamer',\n 'tamper',\n 'tank',\n 'tanned',\n 'tannery',\n 'tanning',\n 'tantrum',\n 'tapeless',\n 'tapered',\n 'tapering',\n 'tapestry',\n 'tapioca',\n 'tapping',\n 'taps',\n 'tarantula',\n 'target',\n 'tarmac',\n 'tarnish',\n 'tarot',\n 'tartar',\n 'tartly',\n 'tartness',\n 'task',\n 'tassel',\n 'taste',\n 'tastiness',\n 'tasting',\n 'tasty',\n 'tattered',\n 'tattle',\n 'tattling',\n 'tattoo',\n 'taunt',\n 'tavern',\n 'thank',\n 'that',\n 'thaw',\n 'theater',\n 'theatrics',\n 'thee',\n 'theft',\n 'theme',\n 'theology',\n 'theorize',\n 'thermal',\n 'thermos',\n 'thesaurus',\n 'these',\n 'thesis',\n 'thespian',\n 'thicken',\n 'thicket',\n 'thickness',\n 'thieving',\n 'thievish',\n 'thigh',\n 'thimble',\n 'thing',\n 'think',\n 'thinly',\n 'thinner',\n 'thinness',\n 'thinning',\n 'thirstily',\n 'thirsting',\n 'thirsty',\n 'thirteen',\n 'thirty',\n 'thong',\n 'thorn',\n 'those',\n 'thousand',\n 'thrash',\n 'thread',\n 'threaten',\n 'threefold',\n 'thrift',\n 'thrill',\n 'thrive',\n 'thriving',\n 'throat',\n 'throbbing',\n 'throng',\n 'throttle',\n 'throwaway',\n 'throwback',\n 'thrower',\n 'throwing',\n 'thud',\n 'thumb',\n 'thumping',\n 'thursday',\n 'thus',\n 'thwarting',\n 'thyself',\n 'tiara',\n 'tibia',\n 'tidal',\n 'tidbit',\n 'tidiness',\n 'tidings',\n 'tidy',\n 'tiger',\n 'tighten',\n 'tightly',\n 'tightness',\n 'tightrope',\n 'tightwad',\n 'tigress',\n 'tile',\n 'tiling',\n 'till',\n 'tilt',\n 'timid',\n 'timing',\n 'timothy',\n 'tinderbox',\n 'tinfoil',\n 'tingle',\n 'tingling',\n 'tingly',\n 'tinker',\n 'tinkling',\n 'tinsel',\n 'tinsmith',\n 'tint',\n 'tinwork',\n 'tiny',\n 'tipoff',\n 'tipped',\n 'tipper',\n 'tipping',\n 'tiptoeing',\n 'tiptop',\n 'tiring',\n 'tissue',\n 'trace',\n 'tracing',\n 'track',\n 'traction',\n 'tractor',\n 'trade',\n 'trading',\n 'tradition',\n 'traffic',\n 'tragedy',\n 'trailing',\n 'trailside',\n 'train',\n 'traitor',\n 'trance',\n 'tranquil',\n 'transfer',\n 'transform',\n 'translate',\n 'transpire',\n 'transport',\n 'transpose',\n 'trapdoor',\n 'trapeze',\n 'trapezoid',\n 'trapped',\n 'trapper',\n 'trapping',\n 'traps',\n 'trash',\n 'travel',\n 'traverse',\n 'travesty',\n 'tray',\n 'treachery',\n 'treading',\n 'treadmill',\n 'treason',\n 'treat',\n 'treble',\n 'tree',\n 'trekker',\n 'tremble',\n 'trembling',\n 'tremor',\n 'trench',\n 'trend',\n 'trespass',\n 'triage',\n 'trial',\n 'triangle',\n 'tribesman',\n 'tribunal',\n 'tribune',\n 'tributary',\n 'tribute',\n 'triceps',\n 'trickery',\n 'trickily',\n 'tricking',\n 'trickle',\n 'trickster',\n 'tricky',\n 'tricolor',\n 'tricycle',\n 'trident',\n 'tried',\n 'trifle',\n 'trifocals',\n 'trillion',\n 'trilogy',\n 'trimester',\n 'trimmer',\n 'trimming',\n 'trimness',\n 'trinity',\n 'trio',\n 'tripod',\n 'tripping',\n 'triumph',\n 'trivial',\n 'trodden',\n 'trolling',\n 'trombone',\n 'trophy',\n 'tropical',\n 'tropics',\n 'trouble',\n 'troubling',\n 'trough',\n 'trousers',\n 'trout',\n 'trowel',\n 'truce',\n 'truck',\n 'truffle',\n 'trump',\n 'trunks',\n 'trustable',\n 'trustee',\n 'trustful',\n 'trusting',\n 'trustless',\n 'truth',\n 'try',\n 'tubby',\n 'tubeless',\n 'tubular',\n 'tucking',\n 'tuesday',\n 'tug',\n 'tuition',\n 'tulip',\n 'tumble',\n 'tumbling',\n 'tummy',\n 'turban',\n 'turbine',\n 'turbofan',\n 'turbojet',\n 'turbulent',\n 'turf',\n 'turkey',\n 'turmoil',\n 'turret',\n 'turtle',\n 'tusk',\n 'tutor',\n 'tutu',\n 'tux',\n 'tweak',\n 'tweed',\n 'tweet',\n 'tweezers',\n 'twelve',\n 'twentieth',\n 'twenty',\n 'twerp',\n 'twice',\n 'twiddle',\n 'twiddling',\n 'twig',\n 'twilight',\n 'twine',\n 'twins',\n 'twirl',\n 'twistable',\n 'twisted',\n 'twister',\n 'twisting',\n 'twisty',\n 'twitch',\n 'twitter',\n 'tycoon',\n 'tying',\n 'tyke',\n 'udder',\n 'ultimate',\n 'ultimatum',\n 'ultra',\n 'umbilical',\n 'umbrella',\n 'umpire',\n 'unabashed',\n 'unable',\n 'unadorned',\n 'unadvised',\n 'unafraid',\n 'unaired',\n 'unaligned',\n 'unaltered',\n 'unarmored',\n 'unashamed',\n 'unaudited',\n 'unawake',\n 'unaware',\n 'unbaked',\n 'unbalance',\n 'unbeaten',\n 'unbend',\n 'unbent',\n 'unbiased',\n 'unbitten',\n 'unblended',\n 'unblessed',\n 'unblock',\n 'unbolted',\n 'unbounded',\n 'unboxed',\n 'unbraided',\n 'unbridle',\n 'unbroken',\n 'unbuckled',\n 'unbundle',\n 'unburned',\n 'unbutton',\n 'uncanny',\n 'uncapped',\n 'uncaring',\n 'uncertain',\n 'unchain',\n 'unchanged',\n 'uncharted',\n 'uncheck',\n 'uncivil',\n 'unclad',\n 'unclaimed',\n 'unclamped',\n 'unclasp',\n 'uncle',\n 'unclip',\n 'uncloak',\n 'unclog',\n 'unclothed',\n 'uncoated',\n 'uncoiled',\n 'uncolored',\n 'uncombed',\n 'uncommon',\n 'uncooked',\n 'uncork',\n 'uncorrupt',\n 'uncounted',\n 'uncouple',\n 'uncouth',\n 'uncover',\n 'uncross',\n 'uncrown',\n 'uncrushed',\n 'uncured',\n 'uncurious',\n 'uncurled',\n 'uncut',\n 'undamaged',\n 'undated',\n 'undaunted',\n 'undead',\n 'undecided',\n 'undefined',\n 'underage',\n 'underarm',\n 'undercoat',\n 'undercook',\n 'undercut',\n 'underdog',\n 'underdone',\n 'underfed',\n 'underfeed',\n 'underfoot',\n 'undergo',\n 'undergrad',\n 'underhand',\n 'underline',\n 'underling',\n 'undermine',\n 'undermost',\n 'underpaid',\n 'underpass',\n 'underpay',\n 'underrate',\n 'undertake',\n 'undertone',\n 'undertook',\n 'undertow',\n 'underuse',\n 'underwear',\n 'underwent',\n 'underwire',\n 'undesired',\n 'undiluted',\n 'undivided',\n 'undocked',\n 'undoing',\n 'undone',\n 'undrafted',\n 'undress',\n 'undrilled',\n 'undusted',\n 'undying',\n 'unearned',\n 'unearth',\n 'unease',\n 'uneasily',\n 'uneasy',\n 'uneatable',\n 'uneaten',\n 'unedited',\n 'unelected',\n 'unending',\n 'unengaged',\n 'unenvied',\n 'unequal',\n 'unethical',\n 'uneven',\n 'unexpired',\n 'unexposed',\n 'unfailing',\n 'unfair',\n 'unfasten',\n 'unfazed',\n 'unfeeling',\n 'unfiled',\n 'unfilled',\n 'unfitted',\n 'unfitting',\n 'unfixable',\n 'unfixed',\n 'unflawed',\n 'unfocused',\n 'unfold',\n 'unfounded',\n 'unframed',\n 'unfreeze',\n 'unfrosted',\n 'unfrozen',\n 'unfunded',\n 'unglazed',\n 'ungloved',\n 'unglue',\n 'ungodly',\n 'ungraded',\n 'ungreased',\n 'unguarded',\n 'unguided',\n 'unhappily',\n 'unhappy',\n 'unharmed',\n 'unhealthy',\n 'unheard',\n 'unhearing',\n 'unheated',\n 'unhelpful',\n 'unhidden',\n 'unhinge',\n 'unhitched',\n 'unholy',\n 'unhook',\n 'unicorn',\n 'unicycle',\n 'unified',\n 'unifier',\n 'uniformed',\n 'uniformly',\n 'unify',\n 'unimpeded',\n 'uninjured',\n 'uninstall',\n 'uninsured',\n 'uninvited',\n 'union',\n 'uniquely',\n 'unisexual',\n 'unison',\n 'unissued',\n 'unit',\n 'universal',\n 'universe',\n 'unjustly',\n 'unkempt',\n 'unkind',\n 'unknotted',\n 'unknowing',\n 'unknown',\n 'unlaced',\n 'unlatch',\n 'unlawful',\n 'unleaded',\n 'unlearned',\n 'unleash',\n 'unless',\n 'unleveled',\n 'unlighted',\n 'unlikable',\n 'unlimited',\n 'unlined',\n 'unlinked',\n 'unlisted',\n 'unlit',\n 'unlivable',\n 'unloaded',\n 'unloader',\n 'unlocked',\n 'unlocking',\n 'unlovable',\n 'unloved',\n 'unlovely',\n 'unloving',\n 'unluckily',\n 'unlucky',\n 'unmade',\n 'unmanaged',\n 'unmanned',\n 'unmapped',\n 'unmarked',\n 'unmasked',\n 'unmasking',\n 'unmatched',\n 'unmindful',\n 'unmixable',\n 'unmixed',\n 'unmolded',\n 'unmoral',\n 'unmovable',\n 'unmoved',\n 'unmoving',\n 'unnamable',\n 'unnamed',\n 'unnatural',\n 'unneeded',\n 'unnerve',\n 'unnerving',\n 'unnoticed',\n 'unopened',\n 'unopposed',\n 'unpack',\n 'unpadded',\n 'unpaid',\n 'unpainted',\n 'unpaired',\n 'unpaved',\n 'unpeeled',\n 'unpicked',\n 'unpiloted',\n 'unpinned',\n 'unplanned',\n 'unplanted',\n 'unpleased',\n 'unpledged',\n 'unplowed',\n 'unplug',\n 'unpopular',\n 'unproven',\n 'unquote',\n 'unranked',\n 'unrated',\n 'unraveled',\n 'unreached',\n 'unread',\n 'unreal',\n 'unreeling',\n 'unrefined',\n 'unrelated',\n 'unrented',\n 'unrest',\n 'unretired',\n 'unrevised',\n 'unrigged',\n 'unripe',\n 'unrivaled',\n 'unroasted',\n 'unrobed',\n 'unroll',\n 'unruffled',\n 'unruly',\n 'unrushed',\n 'unsaddle',\n 'unsafe',\n 'unsaid',\n 'unsalted',\n 'unsaved',\n 'unsavory',\n 'unscathed',\n 'unscented',\n 'unscrew',\n 'unsealed',\n 'unseated',\n 'unsecured',\n 'unseeing',\n 'unseemly',\n 'unseen',\n 'unselect',\n 'unselfish',\n 'unsent',\n 'unsettled',\n 'unshackle',\n 'unshaken',\n 'unshaved',\n 'unshaven',\n 'unsheathe',\n 'unshipped',\n 'unsightly',\n 'unsigned',\n 'unskilled',\n 'unsliced',\n 'unsmooth',\n 'unsnap',\n 'unsocial',\n 'unsoiled',\n 'unsold',\n 'unsolved',\n 'unsorted',\n 'unspoiled',\n 'unspoken',\n 'unstable',\n 'unstaffed',\n 'unstamped',\n 'unsteady',\n 'unsterile',\n 'unstirred',\n 'unstitch',\n 'unstopped',\n 'unstuck',\n 'unstuffed',\n 'unstylish',\n 'unsubtle',\n 'unsubtly',\n 'unsuited',\n 'unsure',\n 'unsworn',\n 'untagged',\n 'untainted',\n 'untaken',\n 'untamed',\n 'untangled',\n 'untapped',\n 'untaxed',\n 'unthawed',\n 'unthread',\n 'untidy',\n 'untie',\n 'until',\n 'untimed',\n 'untimely',\n 'untitled',\n 'untoasted',\n 'untold',\n 'untouched',\n 'untracked',\n 'untrained',\n 'untreated',\n 'untried',\n 'untrimmed',\n 'untrue',\n 'untruth',\n 'unturned',\n 'untwist',\n 'untying',\n 'unusable',\n 'unused',\n 'unusual',\n 'unvalued',\n 'unvaried',\n 'unvarying',\n 'unveiled',\n 'unveiling',\n 'unvented',\n 'unviable',\n 'unvisited',\n 'unvocal',\n 'unwanted',\n 'unwarlike',\n 'unwary',\n 'unwashed',\n 'unwatched',\n 'unweave',\n 'unwed',\n 'unwelcome',\n 'unwell',\n 'unwieldy',\n 'unwilling',\n 'unwind',\n 'unwired',\n 'unwitting',\n 'unwomanly',\n 'unworldly',\n 'unworn',\n 'unworried',\n 'unworthy',\n 'unwound',\n 'unwoven',\n 'unwrapped',\n 'unwritten',\n 'unzip',\n 'upbeat',\n 'upchuck',\n 'upcoming',\n 'upcountry',\n 'update',\n 'upfront',\n 'upgrade',\n 'upheaval',\n 'upheld',\n 'uphill',\n 'uphold',\n 'uplifted',\n 'uplifting',\n 'upload',\n 'upon',\n 'upper',\n 'upright',\n 'uprising',\n 'upriver',\n 'uproar',\n 'uproot',\n 'upscale',\n 'upside',\n 'upstage',\n 'upstairs',\n 'upstart',\n 'upstate',\n 'upstream',\n 'upstroke',\n 'upswing',\n 'uptake',\n 'uptight',\n 'uptown',\n 'upturned',\n 'upward',\n 'upwind',\n 'uranium',\n 'urban',\n 'urchin',\n 'urethane',\n 'urgency',\n 'urgent',\n 'urging',\n 'urologist',\n 'urology',\n 'usable',\n 'usage',\n 'useable',\n 'used',\n 'uselessly',\n 'user',\n 'usher',\n 'usual',\n 'utensil',\n 'utility',\n 'utilize',\n 'utmost',\n 'utopia',\n 'utter',\n 'vacancy',\n 'vacant',\n 'vacate',\n 'vacation',\n 'vagabond',\n 'vagrancy',\n 'vagrantly',\n 'vaguely',\n 'vagueness',\n 'valiant',\n 'valid',\n 'valium',\n 'valley',\n 'valuables',\n 'value',\n 'vanilla',\n 'vanish',\n 'vanity',\n 'vanquish',\n 'vantage',\n 'vaporizer',\n 'variable',\n 'variably',\n 'varied',\n 'variety',\n 'various',\n 'varmint',\n 'varnish',\n 'varsity',\n 'varying',\n 'vascular',\n 'vaseline',\n 'vastly',\n 'vastness',\n 'veal',\n 'vegan',\n 'veggie',\n 'vehicular',\n 'velcro',\n 'velocity',\n 'velvet',\n 'vendetta',\n 'vending',\n 'vendor',\n 'veneering',\n 'vengeful',\n 'venomous',\n 'ventricle',\n 'venture',\n 'venue',\n 'venus',\n 'verbalize',\n 'verbally',\n 'verbose',\n 'verdict',\n 'verify',\n 'verse',\n 'version',\n 'versus',\n 'vertebrae',\n 'vertical',\n 'vertigo',\n 'very',\n 'vessel',\n 'vest',\n 'veteran',\n 'veto',\n 'vexingly',\n 'viability',\n 'viable',\n 'vibes',\n 'vice',\n 'vicinity',\n 'victory',\n 'video',\n 'viewable',\n 'viewer',\n 'viewing',\n 'viewless',\n 'viewpoint',\n 'vigorous',\n 'village',\n 'villain',\n 'vindicate',\n 'vineyard',\n 'vintage',\n 'violate',\n 'violation',\n 'violator',\n 'violet',\n 'violin',\n 'viper',\n 'viral',\n 'virtual',\n 'virtuous',\n 'virus',\n 'visa',\n 'viscosity',\n 'viscous',\n 'viselike',\n 'visible',\n 'visibly',\n 'vision',\n 'visiting',\n 'visitor',\n 'visor',\n 'vista',\n 'vitality',\n 'vitalize',\n 'vitally',\n 'vitamins',\n 'vivacious',\n 'vividly',\n 'vividness',\n 'vixen',\n 'vocalist',\n 'vocalize',\n 'vocally',\n 'vocation',\n 'voice',\n 'voicing',\n 'void',\n 'volatile',\n 'volley',\n 'voltage',\n 'volumes',\n 'voter',\n 'voting',\n 'voucher',\n 'vowed',\n 'vowel',\n 'voyage',\n 'wackiness',\n 'wad',\n 'wafer',\n 'waffle',\n 'waged',\n 'wager',\n 'wages',\n 'waggle',\n 'wagon',\n 'wake',\n 'waking',\n 'walk',\n 'walmart',\n 'walnut',\n 'walrus',\n 'waltz',\n 'wand',\n 'wannabe',\n 'wanted',\n 'wanting',\n 'wasabi',\n 'washable',\n 'washbasin',\n 'washboard',\n 'washbowl',\n 'washcloth',\n 'washday',\n 'washed',\n 'washer',\n 'washhouse',\n 'washing',\n 'washout',\n 'washroom',\n 'washstand',\n 'washtub',\n 'wasp',\n 'wasting',\n 'watch',\n 'water',\n 'waviness',\n 'waving',\n 'wavy',\n 'whacking',\n 'whacky',\n 'wham',\n 'wharf',\n 'wheat',\n 'whenever',\n 'whiff',\n 'whimsical',\n 'whinny',\n 'whiny',\n 'whisking',\n 'whoever',\n 'whole',\n 'whomever',\n 'whoopee',\n 'whooping',\n 'whoops',\n 'why',\n 'wick',\n 'widely',\n 'widen',\n 'widget',\n 'widow',\n 'width',\n 'wieldable',\n 'wielder',\n 'wife',\n 'wifi',\n 'wikipedia',\n 'wildcard',\n 'wildcat',\n 'wilder',\n 'wildfire',\n 'wildfowl',\n 'wildland',\n 'wildlife',\n 'wildly',\n 'wildness',\n 'willed',\n 'willfully',\n 'willing',\n 'willow',\n 'willpower',\n 'wilt',\n 'wimp',\n 'wince',\n 'wincing',\n 'wind',\n 'wing',\n 'winking',\n 'winner',\n 'winnings',\n 'winter',\n 'wipe',\n 'wired',\n 'wireless',\n 'wiring',\n 'wiry',\n 'wisdom',\n 'wise',\n 'wish',\n 'wisplike',\n 'wispy',\n 'wistful',\n 'wizard',\n 'wobble',\n 'wobbling',\n 'wobbly',\n 'wok',\n 'wolf',\n 'wolverine',\n 'womanhood',\n 'womankind',\n 'womanless',\n 'womanlike',\n 'womanly',\n 'womb',\n 'woof',\n 'wooing',\n 'wool',\n 'woozy',\n 'word',\n 'work',\n 'worried',\n 'worrier',\n 'worrisome',\n 'worry',\n 'worsening',\n 'worshiper',\n 'worst',\n 'wound',\n 'woven',\n 'wow',\n 'wrangle',\n 'wrath',\n 'wreath',\n 'wreckage',\n 'wrecker',\n 'wrecking',\n 'wrench',\n 'wriggle',\n 'wriggly',\n 'wrinkle',\n 'wrinkly',\n 'wrist',\n 'writing',\n 'written',\n 'wrongdoer',\n 'wronged',\n 'wrongful',\n 'wrongly',\n 'wrongness',\n 'wrought',\n 'xbox',\n 'xerox',\n 'yahoo',\n 'yam',\n 'yanking',\n 'yapping',\n 'yard',\n 'yarn',\n 'yeah',\n 'yearbook',\n 'yearling',\n 'yearly',\n 'yearning',\n 'yeast',\n 'yelling',\n 'yelp',\n 'yen',\n 'yesterday',\n 'yiddish',\n 'yield',\n 'yin',\n 'yippee',\n 'yo-yo',\n 'yodel',\n 'yoga',\n 'yogurt',\n 'yonder',\n 'yoyo',\n 'yummy',\n 'zap',\n 'zealous',\n 'zebra',\n 'zen',\n 'zeppelin',\n 'zero',\n 'zestfully',\n 'zesty',\n 'zigzagged',\n 'zipfile',\n 'zipping',\n 'zippy',\n 'zips',\n 'zit',\n 'zodiac',\n 'zombie',\n 'zone',\n 'zoning',\n 'zookeeper',\n 'zoologist',\n 'zoology',\n 'zoom',\n];\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 { NotificationsService } from '../abstractions/notifications.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 notificationsUrl: string;\n eventsUrl: string;\n enterpriseUrl: string;\n\n constructor(private apiService: ApiService, private storageService: StorageService,\n private notificationsService: NotificationsService) { }\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 notifications: null,\n events: null,\n webVault: null,\n enterprise: null,\n };\n\n const envUrls = new EnvironmentUrls();\n\n if (urls.base) {\n this.baseUrl = envUrls.base = urls.base;\n 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 this.notificationsUrl = urls.notifications;\n this.eventsUrl = envUrls.events = urls.events;\n this.enterpriseUrl = urls.enterprise;\n 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 urls.notifications = this.formatUrl(urls.notifications);\n urls.events = this.formatUrl(urls.events);\n urls.enterprise = this.formatUrl(urls.enterprise);\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 notifications: urls.notifications,\n events: urls.events,\n enterprise: urls.enterprise,\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 this.notificationsUrl = urls.notifications;\n this.eventsUrl = urls.events;\n this.enterpriseUrl = urls.enterprise;\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 envUrls.events = this.eventsUrl;\n }\n\n this.apiService.setUrls(envUrls);\n if (this.notificationsService != null) {\n this.notificationsService.init(this);\n }\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.trim();\n }\n}\n","import { FolderData } from '../models/data/folderData';\n\nimport { Folder } from '../models/domain/folder';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\nimport { TreeNode } from '../models/domain/treeNode';\n\nimport { FolderRequest } from '../models/request/folderRequest';\n\nimport { FolderResponse } from '../models/response/folderResponse';\n\nimport { FolderView } from '../models/view/folderView';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { CipherService } from '../abstractions/cipher.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { FolderService as FolderServiceAbstraction } from '../abstractions/folder.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\nimport { CipherData } from '../models/data/cipherData';\n\nimport { ServiceUtils } from '../misc/serviceUtils';\nimport { Utils } from '../misc/utils';\n\nconst Keys = {\n foldersPrefix: 'folders_',\n ciphersPrefix: 'ciphers_',\n};\nconst NestingDelimiter = '/';\n\nexport class FolderService implements FolderServiceAbstraction {\n decryptedFolderCache: FolderView[];\n\n constructor(private cryptoService: CryptoService, private userService: UserService,\n private apiService: ApiService, private storageService: StorageService,\n private i18nService: I18nService, private cipherService: CipherService) { }\n\n clearCache(): void {\n this.decryptedFolderCache = null;\n }\n\n async encrypt(model: FolderView, key?: SymmetricCryptoKey): Promise {\n const folder = new Folder();\n folder.id = model.id;\n folder.name = await this.cryptoService.encrypt(model.name, key);\n return folder;\n }\n\n async get(id: string): Promise {\n const userId = await this.userService.getUserId();\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\n Keys.foldersPrefix + userId);\n if (folders == null || !folders.hasOwnProperty(id)) {\n return null;\n }\n\n return new Folder(folders[id]);\n }\n\n async getAll(): Promise {\n const userId = await this.userService.getUserId();\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\n Keys.foldersPrefix + userId);\n const response: Folder[] = [];\n for (const id in folders) {\n if (folders.hasOwnProperty(id)) {\n response.push(new Folder(folders[id]));\n }\n }\n return response;\n }\n\n async getAllDecrypted(): Promise {\n if (this.decryptedFolderCache != null) {\n return this.decryptedFolderCache;\n }\n\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n throw new Error('No key.');\n }\n\n const decFolders: FolderView[] = [];\n const promises: Promise[] = [];\n const folders = await this.getAll();\n folders.forEach((folder) => {\n promises.push(folder.decrypt().then((f) => decFolders.push(f)));\n });\n\n await Promise.all(promises);\n decFolders.sort(Utils.getSortFunction(this.i18nService, 'name'));\n\n const noneFolder = new FolderView();\n noneFolder.name = this.i18nService.t('noneFolder');\n decFolders.push(noneFolder);\n\n this.decryptedFolderCache = decFolders;\n return this.decryptedFolderCache;\n }\n\n async getAllNested(): Promise[]> {\n const folders = await this.getAllDecrypted();\n const nodes: TreeNode[] = [];\n folders.forEach((f) => {\n const folderCopy = new FolderView();\n folderCopy.id = f.id;\n folderCopy.revisionDate = f.revisionDate;\n const parts = f.name != null ? f.name.replace(/^\\/+|\\/+$/g, '').split(NestingDelimiter) : [];\n ServiceUtils.nestedTraverse(nodes, 0, parts, folderCopy, null, NestingDelimiter);\n });\n return nodes;\n }\n\n async getNested(id: string): Promise> {\n const folders = await this.getAllNested();\n return ServiceUtils.getTreeNodeObject(folders, id) as TreeNode;\n }\n\n async saveWithServer(folder: Folder): Promise {\n const request = new FolderRequest(folder);\n\n let response: FolderResponse;\n if (folder.id == null) {\n response = await this.apiService.postFolder(request);\n folder.id = response.id;\n } else {\n response = await this.apiService.putFolder(folder.id, request);\n }\n\n const userId = await this.userService.getUserId();\n const data = new FolderData(response, userId);\n await this.upsert(data);\n }\n\n async upsert(folder: FolderData | FolderData[]): Promise {\n const userId = await this.userService.getUserId();\n let folders = await this.storageService.get<{ [id: string]: FolderData; }>(\n Keys.foldersPrefix + userId);\n if (folders == null) {\n folders = {};\n }\n\n if (folder instanceof FolderData) {\n const f = folder as FolderData;\n folders[f.id] = f;\n } else {\n (folder as FolderData[]).forEach((f) => {\n folders[f.id] = f;\n });\n }\n\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\n this.decryptedFolderCache = null;\n }\n\n async replace(folders: { [id: string]: FolderData; }): Promise {\n const userId = await this.userService.getUserId();\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\n this.decryptedFolderCache = null;\n }\n\n async clear(userId: string): Promise {\n await this.storageService.remove(Keys.foldersPrefix + userId);\n this.decryptedFolderCache = null;\n }\n\n async delete(id: string | string[]): Promise {\n const userId = await this.userService.getUserId();\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\n Keys.foldersPrefix + userId);\n if (folders == null) {\n return;\n }\n\n if (typeof id === 'string') {\n if (folders[id] == null) {\n return;\n }\n delete folders[id];\n } else {\n (id as string[]).forEach((i) => {\n delete folders[i];\n });\n }\n\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\n this.decryptedFolderCache = null;\n\n // Items in a deleted folder are re-assigned to \"No Folder\"\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(Keys.ciphersPrefix + userId);\n if (ciphers != null) {\n const updates: CipherData[] = [];\n for (const cId in ciphers) {\n if (ciphers[cId].folderId === id) {\n ciphers[cId].folderId = null;\n updates.push(ciphers[cId]);\n }\n }\n if (updates.length > 0) {\n this.cipherService.upsert(updates);\n }\n }\n }\n\n async deleteWithServer(id: string): Promise {\n await this.apiService.deleteFolder(id);\n await this.delete(id);\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 localeNames = new Map([\n ['af', 'Afrikaans'],\n ['be', 'Беларуская'],\n ['bg', 'български'],\n ['ca', 'català'],\n ['cs', 'čeština'],\n ['da', 'dansk'],\n ['de', 'Deutsch'],\n ['el', 'Ελληνικά'],\n ['en', 'English'],\n ['en-GB', 'English (British)'],\n ['eo', 'Esperanto'],\n ['es', 'español'],\n ['et', 'eesti'],\n ['fa', 'فارسی'],\n ['fi', 'suomi'],\n ['fr', 'français'],\n ['he', 'עברית'],\n ['hi', 'हिन्दी'],\n ['hr', 'hrvatski'],\n ['hu', 'magyar'],\n ['id', 'Bahasa Indonesia'],\n ['it', 'italiano'],\n ['ja', '日本語'],\n ['ko', '한국어'],\n ['lv', 'Latvietis'],\n ['ml', 'മലയാളം'],\n ['nb', 'norsk (bokmål)'],\n ['nl', 'Nederlands'],\n ['pl', 'polski'],\n ['pt-BR', 'português do Brasil'],\n ['pt-PT', 'português'],\n ['ro', 'română'],\n ['ru', 'русский'],\n ['sk', 'slovenčina'],\n ['sr', 'Српски'],\n ['sv', 'svenska'],\n ['th', 'ไทย'],\n ['tr', 'Türkçe'],\n ['uk', 'українська'],\n ['vi', 'Tiếng Việt'],\n ['zh-CN', '中文(中国大陆)'],\n ['zh-TW', '中文(台灣)'],\n ]);\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 * as zxcvbn from 'zxcvbn';\n\nimport { CipherString } from '../models/domain/cipherString';\nimport { GeneratedPasswordHistory } from '../models/domain/generatedPasswordHistory';\nimport { PasswordGeneratorPolicyOptions } from '../models/domain/passwordGeneratorPolicyOptions';\nimport { Policy } from '../models/domain/policy';\n\nimport { CryptoService } from '../abstractions/crypto.service';\nimport {\n PasswordGenerationService as PasswordGenerationServiceAbstraction,\n} from '../abstractions/passwordGeneration.service';\nimport { PolicyService } from '../abstractions/policy.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nimport { EEFLongWordList } from '../misc/wordlist';\n\nimport { PolicyType } from '../enums/policyType';\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 type: 'password',\n numWords: 3,\n wordSeparator: '-',\n capitalize: false,\n includeNumber: false,\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: GeneratedPasswordHistory[];\n\n constructor(private cryptoService: CryptoService, private storageService: StorageService,\n private policyService: PolicyService) { }\n\n async generatePassword(options: any): Promise {\n // overload defaults with given options\n const o = Object.assign({}, DefaultOptions, options);\n\n if (o.type === 'passphrase') {\n return this.generatePassphrase(options);\n }\n\n // sanitize\n this.sanitizePasswordLength(o, true);\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 = 'ABCDEFGHJKLMNPQRSTUVWXYZ';\n if (o.ambiguous) {\n uppercaseCharSet += 'IO';\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 generatePassphrase(options: any): Promise {\n const o = Object.assign({}, DefaultOptions, options);\n\n if (o.numWords == null || o.numWords <= 2) {\n o.numWords = DefaultOptions.numWords;\n }\n if (o.wordSeparator == null || o.wordSeparator.length === 0 || o.wordSeparator.length > 1) {\n o.wordSeparator = ' ';\n }\n if (o.capitalize == null) {\n o.capitalize = false;\n }\n if (o.includeNumber == null) {\n o.includeNumber = false;\n }\n\n const listLength = EEFLongWordList.length - 1;\n const wordList = new Array(o.numWords);\n for (let i = 0; i < o.numWords; i++) {\n const wordIndex = await this.cryptoService.randomNumber(0, listLength);\n if (o.capitalize) {\n wordList[i] = this.capitalize(EEFLongWordList[wordIndex]);\n } else {\n wordList[i] = EEFLongWordList[wordIndex];\n }\n }\n\n if (o.includeNumber) {\n await this.appendRandomNumberToRandomWord(wordList);\n }\n return wordList.join(o.wordSeparator);\n }\n\n async getOptions(): Promise<[any, PasswordGeneratorPolicyOptions]> {\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 = Object.assign({}, DefaultOptions, options);\n }\n }\n const enforcedOptions = await this.enforcePasswordGeneratorPoliciesOnOptions(this.optionsCache);\n this.optionsCache = enforcedOptions[0];\n return [this.optionsCache, enforcedOptions[1]];\n }\n\n async enforcePasswordGeneratorPoliciesOnOptions(options: any): Promise<[any, PasswordGeneratorPolicyOptions]> {\n let enforcedPolicyOptions = await this.getPasswordGeneratorPolicyOptions();\n if (enforcedPolicyOptions != null) {\n if (options.length < enforcedPolicyOptions.minLength) {\n options.length = enforcedPolicyOptions.minLength;\n }\n\n if (enforcedPolicyOptions.useUppercase) {\n options.uppercase = true;\n }\n\n if (enforcedPolicyOptions.useLowercase) {\n options.lowercase = true;\n }\n\n if (enforcedPolicyOptions.useNumbers) {\n options.number = true;\n }\n\n if (options.minNumber < enforcedPolicyOptions.numberCount) {\n options.minNumber = enforcedPolicyOptions.numberCount;\n }\n\n if (enforcedPolicyOptions.useSpecial) {\n options.special = true;\n }\n\n if (options.minSpecial < enforcedPolicyOptions.specialCount) {\n options.minSpecial = enforcedPolicyOptions.specialCount;\n }\n\n // Must normalize these fields because the receiving call expects all options to pass the current rules\n if (options.minSpecial + options.minNumber > options.length) {\n options.minSpecial = options.length - options.minNumber;\n }\n\n if (options.numWords < enforcedPolicyOptions.minNumberWords) {\n options.numWords = enforcedPolicyOptions.minNumberWords;\n }\n\n if (enforcedPolicyOptions.capitalize) {\n options.capitalize = true;\n }\n\n if (enforcedPolicyOptions.includeNumber) {\n options.includeNumber = true;\n }\n\n // Force default type if password/passphrase selected via policy\n if (enforcedPolicyOptions.defaultType === 'password' ||\n enforcedPolicyOptions.defaultType === 'passphrase') {\n options.type = enforcedPolicyOptions.defaultType;\n }\n } else { // UI layer expects an instantiated object to prevent more explicit null checks\n enforcedPolicyOptions = new PasswordGeneratorPolicyOptions();\n }\n return [options, enforcedPolicyOptions];\n }\n\n async getPasswordGeneratorPolicyOptions(): Promise {\n const policies: Policy[] = this.policyService == null ? null :\n await this.policyService.getAll(PolicyType.PasswordGenerator);\n let enforcedOptions: PasswordGeneratorPolicyOptions = null;\n\n if (policies == null || policies.length === 0) {\n return enforcedOptions;\n }\n\n policies.forEach((currentPolicy) => {\n if (!currentPolicy.enabled || currentPolicy.data == null) {\n return;\n }\n\n if (enforcedOptions == null) {\n enforcedOptions = new PasswordGeneratorPolicyOptions();\n }\n\n // Password wins in multi-org collisions\n if (currentPolicy.data.defaultType != null && enforcedOptions.defaultType !== 'password') {\n enforcedOptions.defaultType = currentPolicy.data.defaultType;\n }\n\n if (currentPolicy.data.minLength != null\n && currentPolicy.data.minLength > enforcedOptions.minLength) {\n enforcedOptions.minLength = currentPolicy.data.minLength;\n }\n\n if (currentPolicy.data.useUpper) {\n enforcedOptions.useUppercase = true;\n }\n\n if (currentPolicy.data.useLower) {\n enforcedOptions.useLowercase = true;\n }\n\n if (currentPolicy.data.useNumbers) {\n enforcedOptions.useNumbers = true;\n }\n\n if (currentPolicy.data.minNumbers != null\n && currentPolicy.data.minNumbers > enforcedOptions.numberCount) {\n enforcedOptions.numberCount = currentPolicy.data.minNumbers;\n }\n\n if (currentPolicy.data.useSpecial) {\n enforcedOptions.useSpecial = true;\n }\n\n if (currentPolicy.data.minSpecial != null\n && currentPolicy.data.minSpecial > enforcedOptions.specialCount) {\n enforcedOptions.specialCount = currentPolicy.data.minSpecial;\n }\n\n if (currentPolicy.data.minNumberWords != null\n && currentPolicy.data.minNumberWords > enforcedOptions.minNumberWords) {\n enforcedOptions.minNumberWords = currentPolicy.data.minNumberWords;\n }\n\n if (currentPolicy.data.capitalize) {\n enforcedOptions.capitalize = true;\n }\n\n if (currentPolicy.data.includeNumber) {\n enforcedOptions.includeNumber = true;\n }\n });\n\n return enforcedOptions;\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 GeneratedPasswordHistory(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 passwordStrength(password: string, userInputs: string[] = null): zxcvbn.ZXCVBNResult {\n if (password == null || password.length === 0) {\n return null;\n }\n let globalUserInputs = ['bitwarden', 'bit', 'warden'];\n if (userInputs != null && userInputs.length > 0) {\n globalUserInputs = globalUserInputs.concat(userInputs);\n }\n // Use a hash set to get rid of any duplicate user inputs\n const finalUserInputs = Array.from(new Set(globalUserInputs));\n const result = zxcvbn(password, finalUserInputs);\n return result;\n }\n\n normalizeOptions(options: any, enforcedPolicyOptions: PasswordGeneratorPolicyOptions) {\n options.minLowercase = 0;\n options.minUppercase = 0;\n\n if (!options.length || options.length < 5) {\n options.length = 5;\n } else if (options.length > 128) {\n options.length = 128;\n }\n\n if (options.length < enforcedPolicyOptions.minLength) {\n options.length = enforcedPolicyOptions.minLength;\n }\n\n if (!options.minNumber) {\n options.minNumber = 0;\n } else if (options.minNumber > options.length) {\n options.minNumber = options.length;\n } else if (options.minNumber > 9) {\n options.minNumber = 9;\n }\n\n if (options.minNumber < enforcedPolicyOptions.numberCount) {\n options.minNumber = enforcedPolicyOptions.numberCount;\n }\n\n if (!options.minSpecial) {\n options.minSpecial = 0;\n } else if (options.minSpecial > options.length) {\n options.minSpecial = options.length;\n } else if (options.minSpecial > 9) {\n options.minSpecial = 9;\n }\n\n if (options.minSpecial < enforcedPolicyOptions.specialCount) {\n options.minSpecial = enforcedPolicyOptions.specialCount;\n }\n\n if (options.minSpecial + options.minNumber > options.length) {\n options.minSpecial = options.length - options.minNumber;\n }\n\n if (options.numWords == null || options.length < 3) {\n options.numWords = 3;\n } else if (options.numWords > 20) {\n options.numWords = 20;\n }\n\n if (options.numWords < enforcedPolicyOptions.minNumberWords) {\n options.numWords = enforcedPolicyOptions.minNumberWords;\n }\n\n if (options.wordSeparator != null && options.wordSeparator.length > 1) {\n options.wordSeparator = options.wordSeparator[0];\n }\n\n this.sanitizePasswordLength(options, false);\n }\n\n private capitalize(str: string) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n }\n\n private async appendRandomNumberToRandomWord(wordList: string[]) {\n if (wordList == null || wordList.length <= 0) {\n return;\n }\n const index = await this.cryptoService.randomNumber(0, wordList.length - 1);\n const num = await this.cryptoService.randomNumber(0, 9);\n wordList[index] = wordList[index] + num;\n }\n\n private async encryptHistory(history: GeneratedPasswordHistory[]): 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 GeneratedPasswordHistory(encrypted.encryptedString, item.date);\n });\n\n return await Promise.all(promises);\n }\n\n private async decryptHistory(history: GeneratedPasswordHistory[]): 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 GeneratedPasswordHistory(decrypted, item.date);\n });\n\n return await Promise.all(promises);\n }\n\n private matchesPrevious(password: string, history: GeneratedPasswordHistory[]): 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 private sanitizePasswordLength(options: any, forGeneration: boolean) {\n let minUppercaseCalc = 0;\n let minLowercaseCalc = 0;\n let minNumberCalc: number = options.minNumber;\n let minSpecialCalc: number = options.minSpecial;\n\n if (options.uppercase && options.minUppercase <= 0) {\n minUppercaseCalc = 1;\n } else if (!options.uppercase) {\n minUppercaseCalc = 0;\n }\n\n if (options.lowercase && options.minLowercase <= 0) {\n minLowercaseCalc = 1;\n } else if (!options.lowercase) {\n minLowercaseCalc = 0;\n }\n\n if (options.number && options.minNumber <= 0) {\n minNumberCalc = 1;\n } else if (!options.number) {\n minNumberCalc = 0;\n }\n\n if (options.special && options.minSpecial <= 0) {\n minSpecialCalc = 1;\n } else if (!options.special) {\n minSpecialCalc = 0;\n }\n\n // This should never happen but is a final safety net\n if (!options.length || options.length < 1) {\n options.length = 10;\n }\n\n const minLength: number = minUppercaseCalc + minLowercaseCalc + minNumberCalc + minSpecialCalc;\n // Normalize and Generation both require this modification\n if (options.length < minLength) {\n options.length = minLength;\n }\n\n // Apply other changes if the options object passed in is for generation\n if (forGeneration) {\n options.minUppercase = minUppercaseCalc;\n options.minLowercase = minLowercaseCalc;\n options.minNumber = minNumberCalc;\n options.minSpecial = minSpecialCalc;\n }\n }\n}\n","import { SettingsService as SettingsServiceAbstraction } from '../abstractions/settings.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\n\nconst Keys = {\n settingsPrefix: 'settings_',\n equivalentDomains: 'equivalentDomains',\n};\n\nexport class SettingsService implements SettingsServiceAbstraction {\n private settingsCache: any;\n\n constructor(private userService: UserService, private storageService: StorageService) {\n }\n\n clearCache(): void {\n this.settingsCache = null;\n }\n\n getEquivalentDomains(): Promise {\n return this.getSettingsKey(Keys.equivalentDomains);\n }\n\n async setEquivalentDomains(equivalentDomains: string[][]): Promise {\n await this.setSettingsKey(Keys.equivalentDomains, equivalentDomains);\n }\n\n async clear(userId: string): Promise {\n await this.storageService.remove(Keys.settingsPrefix + userId);\n this.clearCache();\n }\n\n // Helpers\n\n private async getSettings(): Promise {\n if (this.settingsCache == null) {\n const userId = await this.userService.getUserId();\n this.settingsCache = this.storageService.get(Keys.settingsPrefix + userId);\n }\n return this.settingsCache;\n }\n\n private async getSettingsKey(key: string): Promise {\n const settings = await this.getSettings();\n if (settings != null && settings[key]) {\n return settings[key];\n }\n return null;\n }\n\n private async setSettingsKey(key: string, value: any): Promise {\n const userId = await this.userService.getUserId();\n let settings = await this.getSettings();\n if (!settings) {\n settings = {};\n }\n\n settings[key] = value;\n await this.storageService.save(Keys.settingsPrefix + userId, settings);\n this.settingsCache = settings;\n }\n}\n","import { StateService as StateServiceAbstraction } from '../abstractions/state.service';\n\nexport class StateService implements StateServiceAbstraction {\n private state: any = {};\n\n get(key: string): Promise {\n if (this.state.hasOwnProperty(key)) {\n return Promise.resolve(this.state[key]);\n }\n return Promise.resolve(null);\n }\n\n save(key: string, obj: any): Promise {\n this.state[key] = obj;\n return Promise.resolve();\n }\n\n remove(key: string): Promise {\n delete this.state[key];\n return Promise.resolve();\n }\n\n purge(): Promise {\n this.state = {};\n return Promise.resolve();\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 { PolicyService } from '../abstractions/policy.service';\nimport { SendService } from '../abstractions/send.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';\nimport { PolicyData } from '../models/data/policyData';\nimport { SendData } from '../models/data/sendData';\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 {\n SyncCipherNotification,\n SyncFolderNotification,\n SyncSendNotification,\n} from '../models/response/notificationResponse';\nimport { PolicyResponse } from '../models/response/policyResponse';\nimport { ProfileResponse } from '../models/response/profileResponse';\nimport { SendResponse } from '../models/response/sendResponse';\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 policyService: PolicyService,\n private sendService: SendService, 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 async fullSync(forceSync: boolean, allowThrowOnError = false): Promise {\n this.syncStarted();\n const isAuthenticated = await this.userService.isAuthenticated();\n if (!isAuthenticated) {\n return this.syncCompleted(false);\n }\n\n const now = new Date();\n let needsSync = false;\n try {\n needsSync = await this.needsSyncing(forceSync);\n } catch (e) {\n if (allowThrowOnError) {\n throw e;\n }\n }\n\n if (!needsSync) {\n await this.setLastSync(now);\n return this.syncCompleted(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.syncSends(userId, response.sends);\n await this.syncSettings(userId, response.domains);\n await this.syncPolicies(response.policies);\n\n await this.setLastSync(now);\n return this.syncCompleted(true);\n } catch (e) {\n if (allowThrowOnError) {\n throw e;\n } else {\n return this.syncCompleted(false);\n }\n }\n }\n\n async syncUpsertFolder(notification: SyncFolderNotification, isEdit: boolean): Promise {\n this.syncStarted();\n if (await this.userService.isAuthenticated()) {\n try {\n const localFolder = await this.folderService.get(notification.id);\n if ((!isEdit && localFolder == null) ||\n (isEdit && localFolder != null && localFolder.revisionDate < notification.revisionDate)) {\n const remoteFolder = await this.apiService.getFolder(notification.id);\n if (remoteFolder != null) {\n const userId = await this.userService.getUserId();\n await this.folderService.upsert(new FolderData(remoteFolder, userId));\n this.messagingService.send('syncedUpsertedFolder', { folderId: notification.id });\n return this.syncCompleted(true);\n }\n }\n } catch { }\n }\n return this.syncCompleted(false);\n }\n\n async syncDeleteFolder(notification: SyncFolderNotification): Promise {\n this.syncStarted();\n if (await this.userService.isAuthenticated()) {\n await this.folderService.delete(notification.id);\n this.messagingService.send('syncedDeletedFolder', { folderId: notification.id });\n this.syncCompleted(true);\n return true;\n }\n return this.syncCompleted(false);\n }\n\n async syncUpsertCipher(notification: SyncCipherNotification, isEdit: boolean): Promise {\n this.syncStarted();\n if (await this.userService.isAuthenticated()) {\n try {\n let shouldUpdate = true;\n const localCipher = await this.cipherService.get(notification.id);\n if (localCipher != null && localCipher.revisionDate >= notification.revisionDate) {\n shouldUpdate = false;\n }\n\n let checkCollections = false;\n if (shouldUpdate) {\n if (isEdit) {\n shouldUpdate = localCipher != null;\n checkCollections = true;\n } else {\n if (notification.collectionIds == null || notification.organizationId == null) {\n shouldUpdate = localCipher == null;\n } else {\n shouldUpdate = false;\n checkCollections = true;\n }\n }\n }\n\n if (!shouldUpdate && checkCollections && notification.organizationId != null &&\n notification.collectionIds != null && notification.collectionIds.length > 0) {\n const collections = await this.collectionService.getAll();\n if (collections != null) {\n for (let i = 0; i < collections.length; i++) {\n if (notification.collectionIds.indexOf(collections[i].id) > -1) {\n shouldUpdate = true;\n break;\n }\n }\n }\n }\n\n if (shouldUpdate) {\n const remoteCipher = await this.apiService.getCipher(notification.id);\n if (remoteCipher != null) {\n const userId = await this.userService.getUserId();\n await this.cipherService.upsert(new CipherData(remoteCipher, userId));\n this.messagingService.send('syncedUpsertedCipher', { cipherId: notification.id });\n return this.syncCompleted(true);\n }\n }\n } catch (e) {\n if (e != null && e.statusCode === 404 && isEdit) {\n await this.cipherService.delete(notification.id);\n this.messagingService.send('syncedDeletedCipher', { cipherId: notification.id });\n return this.syncCompleted(true);\n }\n }\n }\n return this.syncCompleted(false);\n }\n\n async syncDeleteCipher(notification: SyncCipherNotification): Promise {\n this.syncStarted();\n if (await this.userService.isAuthenticated()) {\n await this.cipherService.delete(notification.id);\n this.messagingService.send('syncedDeletedCipher', { cipherId: notification.id });\n return this.syncCompleted(true);\n }\n return this.syncCompleted(false);\n }\n\n async syncUpsertSend(notification: SyncSendNotification, isEdit: boolean): Promise {\n this.syncStarted();\n if (await this.userService.isAuthenticated()) {\n try {\n const localSend = await this.sendService.get(notification.id);\n if ((!isEdit && localSend == null) ||\n (isEdit && localSend != null && localSend.revisionDate < notification.revisionDate)) {\n const remoteSend = await this.apiService.getSend(notification.id);\n if (remoteSend != null) {\n const userId = await this.userService.getUserId();\n await this.sendService.upsert(new SendData(remoteSend, userId));\n this.messagingService.send('syncedUpsertedSend', { sendId: notification.id });\n return this.syncCompleted(true);\n }\n }\n } catch { }\n }\n return this.syncCompleted(false);\n }\n\n async syncDeleteSend(notification: SyncSendNotification): Promise {\n this.syncStarted();\n if (await this.userService.isAuthenticated()) {\n await this.sendService.delete(notification.id);\n this.messagingService.send('syncedDeletedSend', { sendId: notification.id });\n this.syncCompleted(true);\n return true;\n }\n return this.syncCompleted(false);\n }\n\n // Helpers\n\n private syncStarted() {\n this.syncInProgress = true;\n this.messagingService.send('syncStarted');\n }\n\n private syncCompleted(successfully: boolean): boolean {\n this.syncInProgress = false;\n this.messagingService.send('syncCompleted', { successfully: successfully });\n return successfully;\n }\n\n private async needsSyncing(forceSync: boolean) {\n if (forceSync) {\n return true;\n }\n\n const lastSync = await this.getLastSync();\n if (lastSync == null || lastSync.getTime() === 0) {\n return true;\n }\n\n const response = await this.apiService.getAccountRevisionDate();\n if (new Date(response) <= lastSync) {\n return false;\n }\n return true;\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\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 syncSends(userId: string, response: SendResponse[]) {\n const sends: { [id: string]: SendData; } = {};\n response.forEach((s) => {\n sends[s.id] = new SendData(s, userId);\n });\n return await this.sendService.replace(sends);\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 private async syncPolicies(response: PolicyResponse[]) {\n const policies: { [id: string]: PolicyData; } = {};\n if (response != null) {\n response.forEach((p) => {\n policies[p.id] = new PolicyData(p);\n });\n }\n return await this.policyService.replace(policies);\n }\n}\n","import { SendType } from '../../enums/sendType';\n\nimport { SendFileData } from './sendFileData';\nimport { SendTextData } from './sendTextData';\n\nimport { SendResponse } from '../response/sendResponse';\n\nexport class SendData {\n id: string;\n accessId: string;\n userId: string;\n type: SendType;\n name: string;\n notes: string;\n file: SendFileData;\n text: SendTextData;\n key: string;\n maxAccessCount?: number;\n accessCount: number;\n revisionDate: string;\n expirationDate: string;\n deletionDate: string;\n password: string;\n disabled: boolean;\n\n constructor(response?: SendResponse, userId?: string) {\n if (response == null) {\n return;\n }\n\n this.id = response.id;\n this.accessId = response.accessId;\n this.userId = userId;\n this.type = response.type;\n this.name = response.name;\n this.notes = response.notes;\n this.key = response.key;\n this.maxAccessCount = response.maxAccessCount;\n this.accessCount = response.accessCount;\n this.revisionDate = response.revisionDate;\n this.expirationDate = response.expirationDate;\n this.deletionDate = response.deletionDate;\n this.password = response.password;\n this.disabled = response.disable;\n\n switch (this.type) {\n case SendType.Text:\n this.text = new SendTextData(response.text);\n break;\n case SendType.File:\n this.file = new SendFileData(response.file);\n break;\n default:\n break;\n }\n }\n}\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 async setToken(token: string): Promise {\n this.token = token;\n this.decodedToken = null;\n\n if (await this.skipTokenStorage()) {\n // if we have a vault timeout and the action is log out, don't store token\n return;\n }\n\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 async setRefreshToken(refreshToken: string): Promise {\n this.refreshToken = refreshToken;\n\n if (await this.skipTokenStorage()) {\n // if we have a vault timeout and the action is log out, don't store token\n return;\n }\n\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 async toggleTokens(): Promise {\n const token = await this.getToken();\n const refreshToken = await this.getRefreshToken();\n const timeout = await this.storageService.get(ConstantsService.vaultTimeoutKey);\n const action = await this.storageService.get(ConstantsService.vaultTimeoutActionKey);\n if ((timeout != null || timeout === 0) && action === 'logOut') {\n // if we have a vault timeout and the action is log out, reset tokens\n await this.clearToken();\n this.token = token;\n this.refreshToken = refreshToken;\n return;\n }\n\n await this.setToken(token);\n await this.setRefreshToken(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 private async skipTokenStorage(): Promise {\n const timeout = await this.storageService.get(ConstantsService.vaultTimeoutKey);\n const action = await this.storageService.get(ConstantsService.vaultTimeoutActionKey);\n return timeout != null && action === 'logOut';\n }\n}\n","import { ConstantsService } from './constants.service';\n\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { TotpService as TotpServiceAbstraction } from '../abstractions/totp.service';\n\nimport { Utils } from '../misc/utils';\n\nconst B32Chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567';\nconst SteamChars = '23456789BCDFGHJKMNPQRTVWXY';\n\nexport class TotpService implements TotpServiceAbstraction {\n constructor(private storageService: StorageService, private cryptoFunctionService: CryptoFunctionService) { }\n\n async getCode(key: string): Promise {\n if (key == null) {\n return null;\n }\n let period = 30;\n let alg: 'sha1' | 'sha256' | 'sha512' = 'sha1';\n let digits = 6;\n let keyB32 = key;\n const isOtpAuth = key.toLowerCase().indexOf('otpauth://') === 0;\n const isSteamAuth = !isOtpAuth && key.toLowerCase().indexOf('steam://') === 0;\n if (isOtpAuth) {\n const params = Utils.getQueryParams(key);\n if (params.has('digits') && params.get('digits') != null) {\n try {\n const digitParams = parseInt(params.get('digits').trim(), null);\n if (digitParams > 10) {\n digits = 10;\n } else if (digitParams > 0) {\n digits = digitParams;\n }\n } catch { }\n }\n if (params.has('period') && params.get('period') != null) {\n try {\n const periodParam = parseInt(params.get('period').trim(), null);\n if (periodParam > 0) {\n period = periodParam;\n }\n } catch { }\n }\n if (params.has('secret') && params.get('secret') != null) {\n keyB32 = params.get('secret');\n }\n if (params.has('algorithm') && params.get('algorithm') != null) {\n const algParam = params.get('algorithm').toLowerCase();\n if (algParam === 'sha1' || algParam === 'sha256' || algParam === 'sha512') {\n alg = algParam;\n }\n }\n } else if (isSteamAuth) {\n keyB32 = key.substr('steam://'.length);\n digits = 5;\n }\n\n const epoch = Math.round(new Date().getTime() / 1000.0);\n const timeHex = this.leftPad(this.decToHex(Math.floor(epoch / period)), 16, '0');\n const timeBytes = Utils.fromHexToArray(timeHex);\n const keyBytes = this.b32ToBytes(keyB32);\n\n if (!keyBytes.length || !timeBytes.length) {\n return null;\n }\n\n const hash = await this.sign(keyBytes, timeBytes, alg);\n if (hash.length === 0) {\n return null;\n }\n\n /* tslint:disable */\n const offset = (hash[hash.length - 1] & 0xf);\n const binary = ((hash[offset] & 0x7f) << 24) | ((hash[offset + 1] & 0xff) << 16) |\n ((hash[offset + 2] & 0xff) << 8) | (hash[offset + 3] & 0xff);\n /* tslint:enable */\n\n let otp = '';\n if (isSteamAuth) {\n // tslint:disable-next-line\n let fullCode = binary & 0x7fffffff;\n for (let i = 0; i < digits; i++) {\n otp += SteamChars[fullCode % SteamChars.length];\n fullCode = Math.trunc(fullCode / SteamChars.length);\n }\n } else {\n otp = (binary % Math.pow(10, digits)).toString();\n otp = this.leftPad(otp, digits, '0');\n }\n\n return otp;\n }\n\n getTimeInterval(key: string): number {\n let period = 30;\n if (key != null && key.toLowerCase().indexOf('otpauth://') === 0) {\n const params = Utils.getQueryParams(key);\n if (params.has('period') && params.get('period') != null) {\n try {\n period = parseInt(params.get('period').trim(), null);\n } catch { }\n }\n }\n return period;\n }\n\n async isAutoCopyEnabled(): Promise {\n return !(await this.storageService.get(ConstantsService.disableAutoTotpCopyKey));\n }\n\n // Helpers\n\n private leftPad(s: string, l: number, p: string): string {\n if (l + 1 >= s.length) {\n s = Array(l + 1 - s.length).join(p) + s;\n }\n return s;\n }\n\n private decToHex(d: number): string {\n return (d < 15.5 ? '0' : '') + Math.round(d).toString(16);\n }\n\n private b32ToHex(s: string): string {\n s = s.toUpperCase();\n let cleanedInput = '';\n\n for (let i = 0; i < s.length; i++) {\n if (B32Chars.indexOf(s[i]) < 0) {\n continue;\n }\n\n cleanedInput += s[i];\n }\n s = cleanedInput;\n\n let bits = '';\n let hex = '';\n for (let i = 0; i < s.length; i++) {\n const byteIndex = B32Chars.indexOf(s.charAt(i));\n if (byteIndex < 0) {\n continue;\n }\n bits += this.leftPad(byteIndex.toString(2), 5, '0');\n }\n for (let i = 0; i + 4 <= bits.length; i += 4) {\n const chunk = bits.substr(i, 4);\n hex = hex + parseInt(chunk, 2).toString(16);\n }\n return hex;\n }\n\n private b32ToBytes(s: string): Uint8Array {\n return Utils.fromHexToArray(this.b32ToHex(s));\n }\n\n private async sign(keyBytes: Uint8Array, timeBytes: Uint8Array, alg: 'sha1' | 'sha256' | 'sha512') {\n const signature = await this.cryptoFunctionService.hmac(timeBytes.buffer, keyBytes.buffer, alg);\n return new Uint8Array(signature);\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\nimport { KdfType } from '../enums/kdfType';\n\nconst Keys = {\n userId: 'userId',\n userEmail: 'userEmail',\n stamp: 'securityStamp',\n kdf: 'kdf',\n kdfIterations: 'kdfIterations',\n organizationsPrefix: 'organizations_',\n};\n\nexport class UserService implements UserServiceAbstraction {\n private userId: string;\n private email: string;\n private stamp: string;\n private kdf: KdfType;\n private kdfIterations: number;\n\n constructor(private tokenService: TokenService, private storageService: StorageService) { }\n\n setInformation(userId: string, email: string, kdf: KdfType, kdfIterations: number): Promise {\n this.email = email;\n this.userId = userId;\n this.kdf = kdf;\n this.kdfIterations = kdfIterations;\n\n return Promise.all([\n this.storageService.save(Keys.userEmail, email),\n this.storageService.save(Keys.userId, userId),\n this.storageService.save(Keys.kdf, kdf),\n this.storageService.save(Keys.kdfIterations, kdfIterations),\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 this.userId = await this.storageService.get(Keys.userId);\n }\n return this.userId;\n }\n\n async getEmail(): Promise {\n if (this.email == null) {\n this.email = await this.storageService.get(Keys.userEmail);\n }\n return this.email;\n }\n\n async getSecurityStamp(): Promise {\n if (this.stamp == null) {\n this.stamp = await this.storageService.get(Keys.stamp);\n }\n return this.stamp;\n }\n\n async getKdf(): Promise {\n if (this.kdf == null) {\n this.kdf = await this.storageService.get(Keys.kdf);\n }\n return this.kdf;\n }\n\n async getKdfIterations(): Promise {\n if (this.kdfIterations == null) {\n this.kdfIterations = await this.storageService.get(Keys.kdfIterations);\n }\n return this.kdfIterations;\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.storageService.remove(Keys.kdf),\n this.storageService.remove(Keys.kdfIterations),\n this.clearOrganizations(userId),\n ]);\n\n this.userId = this.email = this.stamp = null;\n this.kdf = null;\n this.kdfIterations = 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 canAccessPremium(): Promise {\n const authed = await this.isAuthenticated();\n if (!authed) {\n return false;\n }\n\n const tokenPremium = this.tokenService.getPremium();\n if (tokenPremium) {\n return true;\n }\n\n const orgs = await this.getAllOrganizations();\n for (let i = 0; i < orgs.length; i++) {\n if (orgs[i].usersGetPremium && orgs[i].enabled) {\n return true;\n }\n }\n return false;\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';\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 { MessagingService } from '../abstractions/messaging.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { SearchService } from '../abstractions/search.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { TokenService } from '../abstractions/token.service';\nimport { UserService } from '../abstractions/user.service';\nimport { VaultTimeoutService as VaultTimeoutServiceAbstraction } from '../abstractions/vaultTimeout.service';\n\nimport { CipherString } from '../models/domain/cipherString';\n\nexport class VaultTimeoutService implements VaultTimeoutServiceAbstraction {\n pinProtectedKey: CipherString = null;\n biometricLocked: boolean = true;\n\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 searchService: SearchService,\n private userService: UserService, private tokenService: TokenService,\n private lockedCallback: () => Promise = null, private loggedOutCallback: () => Promise = null) {\n }\n\n init(checkOnInterval: boolean) {\n if (this.inited) {\n return;\n }\n\n this.inited = true;\n if (checkOnInterval) {\n this.checkVaultTimeout();\n setInterval(() => this.checkVaultTimeout(), 10 * 1000); // check every 10 seconds\n }\n }\n\n // Keys aren't stored for a device that is locked or logged out.\n async isLocked(): Promise {\n const hasKey = await this.cryptoService.hasKey();\n if (hasKey) {\n if (await this.isBiometricLockSet() && this.biometricLocked) {\n return true;\n }\n }\n return !hasKey;\n }\n\n async checkVaultTimeout(): Promise {\n if (await this.platformUtilsService.isViewOpen()) {\n // Do not lock\n return;\n }\n\n // \"is logged out check\" - similar to isLocked, below\n const authed = await this.userService.isAuthenticated();\n if (!authed) {\n return;\n }\n\n if (await this.isLocked()) {\n return;\n }\n\n // This has the potential to be removed. Evaluate after all platforms complete with auto-logout\n let vaultTimeout = this.platformUtilsService.lockTimeout();\n if (vaultTimeout == null) {\n vaultTimeout = await this.storageService.get(ConstantsService.vaultTimeoutKey);\n }\n\n if (vaultTimeout == null || vaultTimeout < 0) {\n return;\n }\n\n const lastActive = await this.storageService.get(ConstantsService.lastActiveKey);\n if (lastActive == null) {\n return;\n }\n\n const vaultTimeoutSeconds = vaultTimeout * 60;\n const diffSeconds = ((new Date()).getTime() - lastActive) / 1000;\n if (diffSeconds >= vaultTimeoutSeconds) {\n // Pivot based on the saved vault timeout action\n const timeoutAction = await this.storageService.get(ConstantsService.vaultTimeoutActionKey);\n timeoutAction === 'logOut' ? await this.logOut() : await this.lock(true);\n }\n }\n\n async lock(allowSoftLock = false): Promise {\n const authed = await this.userService.isAuthenticated();\n if (!authed) {\n return;\n }\n\n this.biometricLocked = true;\n if (allowSoftLock) {\n const biometricLocked = await this.isBiometricLockSet();\n if (biometricLocked && this.platformUtilsService.supportsSecureStorage()) {\n this.messagingService.send('locked');\n if (this.lockedCallback != null) {\n await this.lockedCallback();\n }\n return;\n }\n }\n\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.searchService.clearIndex();\n this.messagingService.send('locked');\n if (this.lockedCallback != null) {\n await this.lockedCallback();\n }\n }\n\n async logOut(): Promise {\n if (this.loggedOutCallback != null) {\n await this.loggedOutCallback();\n }\n }\n\n async setVaultTimeoutOptions(timeout: number, action: string): Promise {\n await this.storageService.save(ConstantsService.vaultTimeoutKey, timeout);\n await this.storageService.save(ConstantsService.vaultTimeoutActionKey, action);\n await this.cryptoService.toggleKey();\n await this.tokenService.toggleTokens();\n }\n\n async isPinLockSet(): Promise<[boolean, boolean]> {\n const protectedPin = await this.storageService.get(ConstantsService.protectedPin);\n const pinProtectedKey = await this.storageService.get(ConstantsService.pinProtectedKey);\n return [protectedPin != null, pinProtectedKey != null];\n }\n\n async isBiometricLockSet(): Promise {\n return await this.storageService.get(ConstantsService.biometricUnlockKey);\n }\n\n clear(): Promise {\n this.pinProtectedKey = null;\n return this.storageService.remove(ConstantsService.protectedPin);\n }\n}\n","import { LogLevelType } from '../enums/logLevelType';\n\nimport { LogService as LogServiceAbstraction } from '../abstractions/log.service';\n\nimport * as hrtime from 'browser-hrtime';\n\nexport class ConsoleLogService implements LogServiceAbstraction {\n protected timersMap: Map = new Map();\n\n constructor(protected isDev: boolean, protected filter: (level: LogLevelType) => boolean = null) { }\n\n debug(message: string) {\n if (!this.isDev) {\n return;\n }\n this.write(LogLevelType.Debug, message);\n }\n\n info(message: string) {\n this.write(LogLevelType.Info, message);\n }\n\n warning(message: string) {\n this.write(LogLevelType.Warning, message);\n }\n\n error(message: string) {\n this.write(LogLevelType.Error, message);\n }\n\n write(level: LogLevelType, message: string) {\n if (this.filter != null && this.filter(level)) {\n return;\n }\n\n switch (level) {\n case LogLevelType.Debug:\n // tslint:disable-next-line\n console.log(message);\n break;\n case LogLevelType.Info:\n // tslint:disable-next-line\n console.log(message);\n break;\n case LogLevelType.Warning:\n // tslint:disable-next-line\n console.warn(message);\n break;\n case LogLevelType.Error:\n // tslint:disable-next-line\n console.error(message);\n break;\n default:\n break;\n }\n }\n\n time(label: string = 'default') {\n if (!this.timersMap.has(label)) {\n this.timersMap.set(label, hrtime());\n }\n }\n\n timeEnd(label: string = 'default'): [number, number] {\n const elapsed = hrtime(this.timersMap.get(label));\n this.timersMap.delete(label);\n this.write(LogLevelType.Info, `${label}: ${elapsed[0] * 1000 + elapsed[1] / 10e6}ms`);\n return elapsed;\n }\n}\n","import { Cipher } from './cipher';\n\nimport { CipherView } from '../view/cipherView';\n\nimport { Cipher as CipherDomain } from '../domain/cipher';\n\nexport class CipherWithIds extends Cipher {\n id: string;\n collectionIds: string[];\n\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\n build(o: CipherView | CipherDomain) {\n this.id = o.id;\n super.build(o);\n this.collectionIds = o.collectionIds;\n }\n}\n","import { Collection } from './collection';\n\nimport { CollectionView } from '../view/collectionView';\n\nimport { Collection as CollectionDomain } from '../domain/collection';\n\nexport class CollectionWithId extends Collection {\n id: string;\n\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\n build(o: CollectionView | CollectionDomain) {\n this.id = o.id;\n super.build(o);\n }\n}\n","import { Folder } from './folder';\n\nimport { FolderView } from '../view/folderView';\n\nimport { Folder as FolderDomain } from '../domain/folder';\n\nexport class FolderWithId extends Folder {\n id: string;\n\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\n build(o: FolderView | FolderDomain) {\n this.id = o.id;\n super.build(o);\n }\n}\n","import { ImportResult } from '../../models/domain/importResult';\nimport { BaseImporter } from '../baseImporter';\nimport { Importer } from '../importer';\n\nimport { CipherType } from '../../enums/cipherType';\nimport { FieldType } from '../../enums/fieldType';\nimport { CipherView } from '../../models/view';\nimport { CipherImportContext } from './cipherImportContext';\n\nexport const IgnoredProperties = ['ainfo', 'autosubmit', 'notesplain', 'ps', 'scope', 'tags', 'title', 'uuid', 'notes'];\n\nexport abstract class OnePasswordCsvImporter extends BaseImporter implements Importer {\n protected loginPropertyParsers = [this.setLoginUsername, this.setLoginPassword, this.setLoginUris];\n protected creditCardPropertyParsers = [this.setCreditCardNumber, this.setCreditCardVerification, this.setCreditCardCardholderName, this.setCreditCardExpiry];\n protected identityPropertyParsers = [this.setIdentityFirstName, this.setIdentityInitial, this.setIdentityLastName, this.setIdentityUserName, this.setIdentityEmail, this.setIdentityPhone, this.setIdentityCompany];\n\n abstract setCipherType(value: any, cipher: CipherView): void;\n\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true, {\n quoteChar: '\"',\n escapeChar: '\\\\',\n });\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (this.isNullOrWhitespace(this.getProp(value, 'title'))) {\n return;\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(this.getProp(value, 'title'), '--');\n\n this.setNotes(value, cipher);\n\n this.setCipherType(value, cipher);\n\n let altUsername: string = null;\n for (const property in value) {\n if (!value.hasOwnProperty(property) || this.isNullOrWhitespace(value[property])) {\n continue;\n }\n\n const context = new CipherImportContext(value, property, cipher);\n if (cipher.type === CipherType.Login && this.setKnownLoginValue(context)) {\n continue;\n } else if (cipher.type === CipherType.Card && this.setKnownCreditCardValue(context)) {\n continue;\n } else if (cipher.type === CipherType.Identity && this.setKnownIdentityValue(context)) {\n continue;\n }\n\n altUsername = this.setUnknownValue(context, altUsername);\n }\n\n if (cipher.type === CipherType.Login && !this.isNullOrWhitespace(altUsername) &&\n this.isNullOrWhitespace(cipher.login.username) && altUsername.indexOf('://') === -1) {\n cipher.login.username = altUsername;\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n\n protected getProp(obj: any, name: string): any {\n const lowerObj = Object.entries(obj).reduce((agg: any, entry: [string, any]) => {\n agg[entry[0].toLowerCase()] = entry[1];\n return agg;\n }, {});\n return lowerObj[name.toLowerCase()];\n }\n\n protected getPropByRegexp(obj: any, regexp: RegExp): any {\n const matchingKeys = Object.keys(obj).reduce((agg: string[], key: string) => {\n if (key.match(regexp)) {\n agg.push(key);\n }\n return agg;\n }, []);\n if (matchingKeys.length === 0) {\n return null;\n } else {\n return obj[matchingKeys[0]];\n }\n }\n\n protected getPropIncluding(obj: any, name: string): any {\n const includesMap = Object.keys(obj).reduce((agg: string[], entry: string) => {\n if (entry.toLowerCase().includes(name.toLowerCase())) {\n agg.push(entry);\n }\n return agg;\n }, []);\n if (includesMap.length === 0) {\n return null;\n } else {\n return obj[includesMap[0]];\n }\n }\n\n protected setNotes(importRecord: any, cipher: CipherView) {\n cipher.notes = this.getValueOrDefault(this.getProp(importRecord, 'notesPlain'), '') + '\\n' +\n this.getValueOrDefault(this.getProp(importRecord, 'notes'), '') + '\\n';\n cipher.notes.trim();\n\n }\n\n protected setKnownLoginValue(context: CipherImportContext): boolean {\n return this.loginPropertyParsers.reduce((agg: boolean, func) => {\n if (!agg) {\n agg = func.bind(this)(context);\n }\n return agg;\n }, false);\n }\n\n protected setKnownCreditCardValue(context: CipherImportContext): boolean {\n return this.creditCardPropertyParsers.reduce((agg: boolean, func) => {\n if (!agg) {\n agg = func.bind(this)(context);\n }\n return agg;\n }, false);\n }\n\n protected setKnownIdentityValue(context: CipherImportContext): boolean {\n return this.identityPropertyParsers.reduce((agg: boolean, func) => {\n if (!agg) {\n agg = func.bind(this)(context);\n }\n return agg;\n }, false);\n }\n\n protected setUnknownValue(context: CipherImportContext, altUsername: string): string {\n if (IgnoredProperties.indexOf(context.lowerProperty) === -1 && !context.lowerProperty.startsWith('section:') &&\n !context.lowerProperty.startsWith('section ')) {\n if (altUsername == null && context.lowerProperty === 'email') {\n return context.importRecord[context.property];\n }\n else if (context.lowerProperty === 'created date' || context.lowerProperty === 'modified date') {\n const readableDate = new Date(parseInt(context.importRecord[context.property], 10) * 1000).toUTCString();\n this.processKvp(context.cipher, '1Password ' + context.property, readableDate);\n return null;\n }\n if (context.lowerProperty.includes('password') || context.lowerProperty.includes('key') || context.lowerProperty.includes('secret')) {\n this.processKvp(context.cipher, context.property, context.importRecord[context.property], FieldType.Hidden);\n } else {\n this.processKvp(context.cipher, context.property, context.importRecord[context.property]);\n }\n }\n return null;\n }\n\n protected setIdentityFirstName(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.identity.firstName) && context.lowerProperty.includes('first name')) {\n context.cipher.identity.firstName = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setIdentityInitial(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.identity.middleName) && context.lowerProperty.includes('initial')) {\n context.cipher.identity.middleName = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setIdentityLastName(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.identity.lastName) && context.lowerProperty.includes('last name')) {\n context.cipher.identity.lastName = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setIdentityUserName(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.identity.username) && context.lowerProperty.includes('username')) {\n context.cipher.identity.username = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setIdentityCompany(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.identity.company) && context.lowerProperty.includes('company')) {\n context.cipher.identity.company = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setIdentityPhone(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.identity.phone) && context.lowerProperty.includes('default phone')) {\n context.cipher.identity.phone = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setIdentityEmail(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.identity.email) && context.lowerProperty.includes('email')) {\n context.cipher.identity.email = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setCreditCardNumber(context: CipherImportContext): boolean {\n if (this.isNullOrWhitespace(context.cipher.card.number) && context.lowerProperty.includes('number')) {\n context.cipher.card.number = context.importRecord[context.property];\n context.cipher.card.brand = this.getCardBrand(context.cipher.card.number);\n return true;\n }\n return false;\n }\n\n protected setCreditCardVerification(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.card.code) && context.lowerProperty.includes('verification number')) {\n context.cipher.card.code = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setCreditCardCardholderName(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.card.cardholderName) && context.lowerProperty.includes('cardholder name')) {\n context.cipher.card.cardholderName = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setCreditCardExpiry(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.card.expiration) && context.lowerProperty.includes('expiry date') &&\n context.importRecord[context.property].length === 7) {\n context.cipher.card.expMonth = (context.importRecord[context.property] as string).substr(0, 2);\n if (context.cipher.card.expMonth[0] === '0') {\n context.cipher.card.expMonth = context.cipher.card.expMonth.substr(1, 1);\n }\n context.cipher.card.expYear = (context.importRecord[context.property] as string).substr(3, 4);\n return true;\n }\n return false;\n }\n\n protected setLoginPassword(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.login.password) && context.lowerProperty === 'password') {\n context.cipher.login.password = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setLoginUsername(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.login.username) && context.lowerProperty === 'username') {\n context.cipher.login.username = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setLoginUris(context: CipherImportContext) {\n if ((context.cipher.login.uris == null || context.cipher.login.uris.length === 0) && context.lowerProperty === 'urls') {\n const urls = context.importRecord[context.property].split(this.newLineRegex);\n context.cipher.login.uris = this.makeUriArray(urls);\n return true;\n } else if ((context.lowerProperty === 'url')) {\n if (context.cipher.login.uris == null) {\n context.cipher.login.uris = [];\n }\n context.cipher.login.uris.concat(this.makeUriArray(context.importRecord[context.property]));\n return true;\n }\n return false;\n }\n}\n","export { AttachmentView } from './attachmentView';\nexport { CardView } from './cardView';\nexport { CipherView } from './cipherView';\nexport { FieldView } from './fieldView';\nexport { IdentityView } from './identityView';\nexport { LoginUriView } from './loginUriView';\nexport { LoginView } from './loginView';\nexport { SecureNoteView } from './secureNoteView';\nexport { View } from './view';\n","export enum NotificationType {\n SyncCipherUpdate = 0,\n SyncCipherCreate = 1,\n SyncLoginDelete = 2,\n SyncFolderDelete = 3,\n SyncCiphers = 4,\n\n SyncVault = 5,\n SyncOrgKeys = 6,\n SyncFolderCreate = 7,\n SyncFolderUpdate = 8,\n SyncCipherDelete = 9,\n SyncSettings = 10,\n\n LogOut = 11,\n\n SyncSendCreate = 12,\n SyncSendUpdate = 13,\n SyncSendDelete = 14,\n}\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, { preserveWhitespaces: true });\n","import 'core-js';\n\nimport { ToasterModule } from 'angular2-toaster';\nimport { Angulartics2Module } from 'angulartics2';\nimport { Angulartics2GoogleAnalytics } from 'angulartics2/ga';\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\n\nimport { AppRoutingModule } from './app-routing.module';\n\nimport { DragDropModule } from '@angular/cdk/drag-drop';\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 { PasswordStrengthComponent } from './components/password-strength.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 { AcceptEmergencyComponent } from './accounts/accept-emergency.component';\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 { SetPasswordComponent } from './accounts/set-password.component';\nimport { SsoComponent } from './accounts/sso.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 { PoliciesComponent as OrgPoliciesComponent } from './organizations/manage/policies.component';\nimport { PolicyEditComponent as OrgPolicyEditComponent } from './organizations/manage/policy-edit.component';\nimport { UserAddEditComponent as OrgUserAddEditComponent } from './organizations/manage/user-add-edit.component';\nimport { UserConfirmComponent as OrgUserConfirmComponent } from './organizations/manage/user-confirm.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 { ChangePlanComponent } from './organizations/settings/change-plan.component';\nimport { DeleteOrganizationComponent } from './organizations/settings/delete-organization.component';\nimport { DownloadLicenseComponent } from './organizations/settings/download-license.component';\nimport { OrganizationBillingComponent } from './organizations/settings/organization-billing.component';\nimport { OrganizationSubscriptionComponent } from './organizations/settings/organization-subscription.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 {\n ExposedPasswordsReportComponent as OrgExposedPasswordsReportComponent,\n} from './organizations/tools/exposed-passwords-report.component';\nimport { ImportComponent as OrgImportComponent } from './organizations/tools/import.component';\nimport {\n InactiveTwoFactorReportComponent as OrgInactiveTwoFactorReportComponent,\n} from './organizations/tools/inactive-two-factor-report.component';\nimport {\n ReusedPasswordsReportComponent as OrgReusedPasswordsReportComponent,\n} from './organizations/tools/reused-passwords-report.component';\nimport { ToolsComponent as OrgToolsComponent } from './organizations/tools/tools.component';\nimport {\n UnsecuredWebsitesReportComponent as OrgUnsecuredWebsitesReportComponent,\n} from './organizations/tools/unsecured-websites-report.component';\nimport {\n WeakPasswordsReportComponent as OrgWeakPasswordsReportComponent,\n} from './organizations/tools/weak-passwords-report.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 { AccessComponent } from './send/access.component';\nimport { AddEditComponent as SendAddEditComponent } from './send/add-edit.component';\nimport { SendComponent } from './send/send.component';\n\nimport { AccountComponent } from './settings/account.component';\nimport { AddCreditComponent } from './settings/add-credit.component';\nimport { AdjustPaymentComponent } from './settings/adjust-payment.component';\nimport { AdjustStorageComponent } from './settings/adjust-storage.component';\nimport { ApiKeyComponent } from './settings/api-key.component';\nimport { ChangeEmailComponent } from './settings/change-email.component';\nimport { ChangeKdfComponent } from './settings/change-kdf.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 { EmergencyAccessAddEditComponent } from './settings/emergency-access-add-edit.component';\nimport { EmergencyAccessComponent } from './settings/emergency-access.component';\nimport { EmergencyAccessConfirmComponent } from './settings/emergency-access-confirm.component';\nimport { EmergencyAccessTakeoverComponent } from './settings/emergency-access-takeover.component';\nimport { EmergencyAccessViewComponent } from './settings/emergency-access-view.component';\nimport { EmergencyAddEditComponent } from './settings/emergency-add-edit.component';\nimport { LinkSsoComponent } from './settings/link-sso.component';\nimport { OptionsComponent } from './settings/options.component';\nimport { OrganizationPlansComponent } from './settings/organization-plans.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 { TaxInfoComponent } from './settings/tax-info.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 { UserSubscriptionComponent } from './settings/user-subscription.component';\nimport { VerifyEmailComponent } from './settings/verify-email.component';\n\nimport { BreachReportComponent } from './tools/breach-report.component';\nimport { ExportComponent } from './tools/export.component';\nimport { ExposedPasswordsReportComponent } from './tools/exposed-passwords-report.component';\nimport { ImportComponent } from './tools/import.component';\nimport { InactiveTwoFactorReportComponent } from './tools/inactive-two-factor-report.component';\nimport { PasswordGeneratorHistoryComponent } from './tools/password-generator-history.component';\nimport { PasswordGeneratorComponent } from './tools/password-generator.component';\nimport { ReusedPasswordsReportComponent } from './tools/reused-passwords-report.component';\nimport { ToolsComponent } from './tools/tools.component';\nimport { UnsecuredWebsitesReportComponent } from './tools/unsecured-websites-report.component';\nimport { WeakPasswordsReportComponent } from './tools/weak-passwords-report.component';\n\nimport { AddEditComponent } from './vault/add-edit.component';\nimport { AttachmentsComponent } from './vault/attachments.component';\nimport { BulkActionsComponent } from './vault/bulk-actions.component';\nimport { BulkDeleteComponent } from './vault/bulk-delete.component';\nimport { BulkMoveComponent } from './vault/bulk-move.component';\nimport { BulkRestoreComponent } from './vault/bulk-restore.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 { CalloutComponent } from 'jslib/angular/components/callout.component';\nimport { IconComponent } from 'jslib/angular/components/icon.component';\n\nimport { A11yTitleDirective } from 'jslib/angular/directives/a11y-title.directive';\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 { SelectCopyDirective } from 'jslib/angular/directives/select-copy.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 { ColorPasswordPipe } from 'jslib/angular/pipes/color-password.pipe';\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 {\n registerLocaleData,\n DatePipe,\n} from '@angular/common';\nimport localeCa from '@angular/common/locales/ca';\nimport localeCs from '@angular/common/locales/cs';\nimport localeDa from '@angular/common/locales/da';\nimport localeDe from '@angular/common/locales/de';\nimport localeEl from '@angular/common/locales/el';\nimport localeEnGb from '@angular/common/locales/en-GB';\nimport localeEs from '@angular/common/locales/es';\nimport localeEt from '@angular/common/locales/et';\nimport localeFr from '@angular/common/locales/fr';\nimport localeHe from '@angular/common/locales/he';\nimport localeIt from '@angular/common/locales/it';\nimport localeJa from '@angular/common/locales/ja';\nimport localeKo from '@angular/common/locales/ko';\nimport localeLv from '@angular/common/locales/lv';\nimport localeMl from '@angular/common/locales/ml';\nimport localeNb from '@angular/common/locales/nb';\nimport localeNl from '@angular/common/locales/nl';\nimport localePl from '@angular/common/locales/pl';\nimport localePtBr from '@angular/common/locales/pt';\nimport localePtPt from '@angular/common/locales/pt-PT';\nimport localeRu from '@angular/common/locales/ru';\nimport localeSk from '@angular/common/locales/sk';\nimport localeSv from '@angular/common/locales/sv';\nimport localeUk from '@angular/common/locales/uk';\nimport localeZhCn from '@angular/common/locales/zh-Hans';\nimport localeZhTw from '@angular/common/locales/zh-Hant';\n\nregisterLocaleData(localeCa, 'ca');\nregisterLocaleData(localeCs, 'cs');\nregisterLocaleData(localeDa, 'da');\nregisterLocaleData(localeDe, 'de');\nregisterLocaleData(localeEl, 'el');\nregisterLocaleData(localeEnGb, 'en-GB');\nregisterLocaleData(localeEs, 'es');\nregisterLocaleData(localeEt, 'et');\nregisterLocaleData(localeFr, 'fr');\nregisterLocaleData(localeHe, 'he');\nregisterLocaleData(localeIt, 'it');\nregisterLocaleData(localeJa, 'ja');\nregisterLocaleData(localeKo, 'ko');\nregisterLocaleData(localeLv, 'lv');\nregisterLocaleData(localeMl, 'ml');\nregisterLocaleData(localeNb, 'nb');\nregisterLocaleData(localeNl, 'nl');\nregisterLocaleData(localePl, 'pl');\nregisterLocaleData(localePtBr, 'pt-BR');\nregisterLocaleData(localePtPt, 'pt-PT');\nregisterLocaleData(localeRu, 'ru');\nregisterLocaleData(localeSk, 'sk');\nregisterLocaleData(localeSv, 'sv');\nregisterLocaleData(localeUk, 'uk');\nregisterLocaleData(localeZhCn, 'zh-CN');\nregisterLocaleData(localeZhTw, 'zh-TW');\n\n@NgModule({\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n FormsModule,\n AppRoutingModule,\n ServicesModule,\n Angulartics2Module.forRoot({\n pageTracking: {\n clearQueryParams: true,\n },\n }),\n ToasterModule.forRoot(),\n InfiniteScrollModule,\n DragDropModule,\n ],\n declarations: [\n A11yTitleDirective,\n AcceptEmergencyComponent,\n AccessComponent,\n AcceptOrganizationComponent,\n AccountComponent,\n SetPasswordComponent,\n AddCreditComponent,\n AddEditComponent,\n AdjustPaymentComponent,\n AdjustSeatsComponent,\n AdjustStorageComponent,\n ApiActionDirective,\n ApiKeyComponent,\n AppComponent,\n AttachmentsComponent,\n AutofocusDirective,\n AvatarComponent,\n BlurClickDirective,\n BoxRowDirective,\n BreachReportComponent,\n BulkActionsComponent,\n BulkDeleteComponent,\n BulkMoveComponent,\n BulkRestoreComponent,\n BulkShareComponent,\n CalloutComponent,\n ChangeEmailComponent,\n ChangeKdfComponent,\n ChangePasswordComponent,\n ChangePlanComponent,\n CiphersComponent,\n CollectionsComponent,\n ColorPasswordPipe,\n CreateOrganizationComponent,\n DeauthorizeSessionsComponent,\n DeleteAccountComponent,\n DeleteOrganizationComponent,\n DomainRulesComponent,\n DownloadLicenseComponent,\n EmergencyAccessAddEditComponent,\n EmergencyAccessComponent,\n EmergencyAccessConfirmComponent,\n EmergencyAccessTakeoverComponent,\n EmergencyAccessViewComponent,\n EmergencyAddEditComponent,\n ExportComponent,\n ExposedPasswordsReportComponent,\n FallbackSrcDirective,\n FolderAddEditComponent,\n FooterComponent,\n FrontendLayoutComponent,\n GroupingsComponent,\n HintComponent,\n I18nPipe,\n IconComponent,\n ImportComponent,\n InactiveTwoFactorReportComponent,\n InputVerbatimDirective,\n LinkSsoComponent,\n LockComponent,\n LoginComponent,\n ModalComponent,\n NavbarComponent,\n OptionsComponent,\n OrgAccountComponent,\n OrgAddEditComponent,\n OrganizationBillingComponent,\n OrganizationPlansComponent,\n OrganizationSubscriptionComponent,\n OrgAttachmentsComponent,\n OrgCiphersComponent,\n OrgCollectionAddEditComponent,\n OrgCollectionsComponent,\n OrgEntityEventsComponent,\n OrgEntityUsersComponent,\n OrgEventsComponent,\n OrgExportComponent,\n OrgExposedPasswordsReportComponent,\n OrgImportComponent,\n OrgInactiveTwoFactorReportComponent,\n OrgGroupAddEditComponent,\n OrgGroupingsComponent,\n OrgGroupsComponent,\n OrgManageCollectionsComponent,\n OrgManageComponent,\n OrgPeopleComponent,\n OrgPolicyEditComponent,\n OrgPoliciesComponent,\n OrgReusedPasswordsReportComponent,\n OrgSettingComponent,\n OrgToolsComponent,\n OrgTwoFactorSetupComponent,\n OrgUserAddEditComponent,\n OrgUserConfirmComponent,\n OrgUserGroupsComponent,\n OrganizationsComponent,\n OrganizationLayoutComponent,\n OrgUnsecuredWebsitesReportComponent,\n OrgVaultComponent,\n OrgWeakPasswordsReportComponent,\n PasswordGeneratorComponent,\n PasswordGeneratorHistoryComponent,\n PasswordStrengthComponent,\n PaymentComponent,\n PremiumComponent,\n ProfileComponent,\n PurgeVaultComponent,\n RecoverDeleteComponent,\n RecoverTwoFactorComponent,\n RegisterComponent,\n ReusedPasswordsReportComponent,\n SearchCiphersPipe,\n SearchPipe,\n SelectCopyDirective,\n SendAddEditComponent,\n SendComponent,\n SettingsComponent,\n ShareComponent,\n SsoComponent,\n StopClickDirective,\n StopPropDirective,\n TaxInfoComponent,\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 UnsecuredWebsitesReportComponent,\n UpdateKeyComponent,\n UpdateLicenseComponent,\n UserBillingComponent,\n UserLayoutComponent,\n UserSubscriptionComponent,\n VaultComponent,\n VerifyEmailComponent,\n VerifyEmailTokenComponent,\n VerifyRecoverDeleteComponent,\n WeakPasswordsReportComponent,\n ],\n entryComponents: [\n AddEditComponent,\n ApiKeyComponent,\n AttachmentsComponent,\n BulkActionsComponent,\n BulkDeleteComponent,\n BulkMoveComponent,\n BulkRestoreComponent,\n BulkShareComponent,\n CollectionsComponent,\n DeauthorizeSessionsComponent,\n DeleteAccountComponent,\n DeleteOrganizationComponent,\n EmergencyAccessAddEditComponent,\n EmergencyAccessConfirmComponent,\n EmergencyAccessTakeoverComponent,\n EmergencyAddEditComponent,\n FolderAddEditComponent,\n ModalComponent,\n OrgAddEditComponent,\n OrgAttachmentsComponent,\n OrgCollectionAddEditComponent,\n OrgCollectionsComponent,\n OrgEntityEventsComponent,\n OrgEntityUsersComponent,\n OrgGroupAddEditComponent,\n OrgPolicyEditComponent,\n OrgUserAddEditComponent,\n OrgUserConfirmComponent,\n OrgUserGroupsComponent,\n PasswordGeneratorHistoryComponent,\n PurgeVaultComponent,\n SendAddEditComponent,\n ShareComponent,\n TwoFactorAuthenticatorComponent,\n TwoFactorDuoComponent,\n TwoFactorEmailComponent,\n TwoFactorOptionsComponent,\n TwoFactorRecoveryComponent,\n TwoFactorU2fComponent,\n TwoFactorYubiKeyComponent,\n UpdateKeyComponent,\n ],\n providers: [DatePipe],\n bootstrap: [AppComponent],\n})\nexport class AppModule { }\n","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 { AcceptEmergencyComponent } from './accounts/accept-emergency.component';\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 { SetPasswordComponent } from './accounts/set-password.component';\nimport { SsoComponent } from './accounts/sso.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';\nimport { PoliciesComponent as OrgPoliciesComponent } from './organizations/manage/policies.component';\n\nimport { AccountComponent as OrgAccountComponent } from './organizations/settings/account.component';\nimport { OrganizationBillingComponent } from './organizations/settings/organization-billing.component';\nimport { OrganizationSubscriptionComponent } from './organizations/settings/organization-subscription.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 {\n ExposedPasswordsReportComponent as OrgExposedPasswordsReportComponent,\n} from './organizations/tools/exposed-passwords-report.component';\nimport { ImportComponent as OrgImportComponent } from './organizations/tools/import.component';\nimport {\n InactiveTwoFactorReportComponent as OrgInactiveTwoFactorReportComponent,\n} from './organizations/tools/inactive-two-factor-report.component';\nimport {\n ReusedPasswordsReportComponent as OrgReusedPasswordsReportComponent,\n} from './organizations/tools/reused-passwords-report.component';\nimport { ToolsComponent as OrgToolsComponent } from './organizations/tools/tools.component';\nimport {\n UnsecuredWebsitesReportComponent as OrgUnsecuredWebsitesReportComponent,\n} from './organizations/tools/unsecured-websites-report.component';\nimport {\n WeakPasswordsReportComponent as OrgWeakPasswordsReportComponent,\n} from './organizations/tools/weak-passwords-report.component';\n\nimport { VaultComponent as OrgVaultComponent } from './organizations/vault/vault.component';\n\nimport { AccessComponent } from './send/access.component';\nimport { SendComponent } from './send/send.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';\nimport { UserSubscriptionComponent } from './settings/user-subscription.component';\n\nimport { BreachReportComponent } from './tools/breach-report.component';\nimport { ExportComponent } from './tools/export.component';\nimport { ExposedPasswordsReportComponent } from './tools/exposed-passwords-report.component';\nimport { ImportComponent } from './tools/import.component';\nimport { InactiveTwoFactorReportComponent } from './tools/inactive-two-factor-report.component';\nimport { PasswordGeneratorComponent } from './tools/password-generator.component';\nimport { ReusedPasswordsReportComponent } from './tools/reused-passwords-report.component';\nimport { ToolsComponent } from './tools/tools.component';\nimport { UnsecuredWebsitesReportComponent } from './tools/unsecured-websites-report.component';\nimport { WeakPasswordsReportComponent } from './tools/weak-passwords-report.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 { Permissions } from 'jslib/enums/permissions';\n\nimport { EmergencyAccessViewComponent } from './settings/emergency-access-view.component';\nimport { EmergencyAccessComponent } from './settings/emergency-access.component';\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: 'sso', component: SsoComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'enterpriseSingleSignOn' },\n },\n {\n path: 'set-password', component: SetPasswordComponent,\n data: { titleId: 'setMasterPassword' },\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 {\n path: 'accept-emergency',\n component: AcceptEmergencyComponent,\n data: { titleId: 'acceptEmergency' },\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 path: 'send/:sendId/:key',\n component: AccessComponent,\n data: { title: 'Bitwarden Send' },\n },*/\n ],\n },\n {\n path: '',\n component: UserLayoutComponent,\n canActivate: [AuthGuardService],\n children: [\n { path: 'vault', component: VaultComponent, data: { titleId: 'myVault' } },\n { path: 'sends', component: SendComponent, data: { title: 'Send' } },\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: 'billing' } },\n {\n path: 'subscription',\n component: UserSubscriptionComponent,\n data: { titleId: 'premiumMembership' },\n },\n { path: 'organizations', component: OrganizationsComponent, data: { titleId: 'organizations' } },\n {\n path: 'create-organization',\n component: CreateOrganizationComponent,\n data: { titleId: 'newOrganization' },\n },\n {\n path: 'emergency-access',\n children: [\n {\n path: '',\n component: EmergencyAccessComponent,\n data: { titleId: 'emergencyAccess'},\n },\n {\n path: ':id',\n component: EmergencyAccessViewComponent,\n data: { titleId: 'emergencyAccess'},\n },\n ],\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 path: 'reused-passwords-report',\n component: ReusedPasswordsReportComponent,\n data: { titleId: 'reusedPasswordsReport' },\n },\n {\n path: 'unsecured-websites-report',\n component: UnsecuredWebsitesReportComponent,\n data: { titleId: 'unsecuredWebsitesReport' },\n },\n {\n path: 'weak-passwords-report',\n component: WeakPasswordsReportComponent,\n data: { titleId: 'weakPasswordsReport' },\n },\n {\n path: 'exposed-passwords-report',\n component: ExposedPasswordsReportComponent,\n data: { titleId: 'exposedPasswordsReport' },\n },\n {\n path: 'inactive-two-factor-report',\n component: InactiveTwoFactorReportComponent,\n data: { titleId: 'inactive2faReport' },\n },\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: { permissions: [Permissions.AccessImportExport, Permissions.AccessReports] },\n children: [\n {\n path: '',\n pathMatch: 'full',\n redirectTo: 'import',\n },\n {\n path: 'import',\n component: OrgImportComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'importData',\n permissions: [Permissions.AccessImportExport],\n },\n },\n {\n path: 'export',\n component: OrgExportComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'exportVault',\n permissions: [Permissions.AccessImportExport],\n },\n },\n {\n path: 'exposed-passwords-report',\n component: OrgExposedPasswordsReportComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'exposedPasswordsReport',\n permissions: [Permissions.AccessReports],\n },\n },\n {\n path: 'inactive-two-factor-report',\n component: OrgInactiveTwoFactorReportComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'inactive2faReport',\n permissions: [Permissions.AccessReports],\n },\n },\n {\n path: 'reused-passwords-report',\n component: OrgReusedPasswordsReportComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'reusedPasswordsReport',\n permissions: [Permissions.AccessReports],\n },\n },\n {\n path: 'unsecured-websites-report',\n component: OrgUnsecuredWebsitesReportComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'unsecuredWebsitesReport',\n permissions: [Permissions.AccessReports],\n },\n },\n {\n path: 'weak-passwords-report',\n component: OrgWeakPasswordsReportComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'weakPasswordsReport',\n permissions: [Permissions.AccessReports],\n },\n },\n ],\n },\n {\n path: 'manage',\n component: OrgManageComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n permissions: [\n Permissions.ManageAssignedCollections,\n Permissions.ManageAllCollections,\n Permissions.AccessEventLogs,\n Permissions.ManageGroups,\n Permissions.ManageUsers,\n Permissions.ManagePolicies,\n ],\n },\n children: [\n {\n path: '',\n pathMatch: 'full',\n redirectTo: 'people',\n },\n {\n path: 'collections',\n component: OrgManageCollectionsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'collections',\n permissions: [Permissions.ManageAssignedCollections, Permissions.ManageAllCollections],\n },\n },\n {\n path: 'events',\n component: OrgEventsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'eventLogs',\n permissions: [Permissions.AccessEventLogs],\n },\n },\n {\n path: 'groups',\n component: OrgGroupsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'groups',\n permissions: [Permissions.ManageGroups],\n },\n },\n {\n path: 'people',\n component: OrgPeopleComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'people',\n permissions: [Permissions.ManageUsers],\n },\n },\n {\n path: 'policies',\n component: OrgPoliciesComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'policies',\n permissions: [Permissions.ManagePolicies],\n },\n },\n ],\n },\n {\n path: 'settings',\n component: OrgSettingsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: { permissions: [Permissions.ManageOrganization] },\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: 'billing' },\n },\n {\n path: 'subscription',\n component: OrganizationSubscriptionComponent,\n data: { titleId: 'subscription' },\n },\n ],\n },\n ],\n },\n { path: '**', redirectTo: '' },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {\n useHash: true,\n paramsInheritanceStrategy: 'always',\n /*enableTracing: true,*/\n })],\n exports: [RouterModule],\n})\nexport class AppRoutingModule { }\n","import { BroadcasterService as BroadcasterServiceAbstraction } from '../abstractions/broadcaster.service';\n\nexport class BroadcasterService implements BroadcasterServiceAbstraction {\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);\n }\n return;\n }\n\n this.subscribers.forEach((value) => {\n value(message);\n });\n }\n\n subscribe(id: string, messageCallback: (message: any) => any) {\n this.subscribers.set(id, messageCallback);\n }\n\n unsubscribe(id: string) {\n if (this.subscribers.has(id)) {\n this.subscribers.delete(id);\n }\n }\n}\n","export function getDomain(host: string): string | null {\n return null;\n}\n","export class EmergencyAccessAcceptRequest {\n token: string;\n}\n","export class OrganizationUserAcceptRequest {\n token: string;\n}\n","import { Router } from '@angular/router';\n\nimport { PasswordHintRequest } from '../../models/request/passwordHintRequest';\n\nimport { ApiService } from '../../abstractions/api.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nexport class HintComponent {\n email: string = '';\n formPromise: Promise;\n\n protected successRoute = 'login';\n protected onSuccessfulSubmit: () => void;\n\n constructor(protected router: Router, protected i18nService: I18nService,\n protected apiService: ApiService, protected platformUtilsService: PlatformUtilsService) { }\n\n async submit() {\n if (this.email == null || this.email === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('emailRequired'));\n return;\n }\n if (this.email.indexOf('@') === -1) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidEmail'));\n return;\n }\n\n try {\n this.formPromise = this.apiService.postPasswordHint(new PasswordHintRequest(this.email));\n await this.formPromise;\n this.platformUtilsService.eventTrack('Requested Hint');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('masterPassSent'));\n if (this.onSuccessfulSubmit != null) {\n this.onSuccessfulSubmit();\n } else if (this.router != null) {\n this.router.navigate([this.successRoute]);\n }\n } catch { }\n }\n}\n","export class PasswordHintRequest {\n email: string;\n\n constructor(email: string) {\n this.email = email;\n }\n}\n","import { OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ApiService } from '../../abstractions/api.service';\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { EnvironmentService } from '../../abstractions/environment.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { MessagingService } from '../../abstractions/messaging.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { StateService } from '../../abstractions/state.service';\nimport { StorageService } from '../../abstractions/storage.service';\nimport { UserService } from '../../abstractions/user.service';\nimport { VaultTimeoutService } from '../../abstractions/vaultTimeout.service';\n\nimport { ConstantsService } from '../../services/constants.service';\n\nimport { CipherString } from '../../models/domain/cipherString';\nimport { SymmetricCryptoKey } from '../../models/domain/symmetricCryptoKey';\n\nimport { PasswordVerificationRequest } from '../../models/request/passwordVerificationRequest';\n\nimport { Utils } from '../../misc/utils';\n\nexport class LockComponent implements OnInit {\n masterPassword: string = '';\n pin: string = '';\n showPassword: boolean = false;\n email: string;\n pinLock: boolean = false;\n webVaultHostname: string = '';\n formPromise: Promise;\n supportsBiometric: boolean;\n biometricLock: boolean;\n biometricText: string;\n\n protected successRoute: string = 'vault';\n protected onSuccessfulSubmit: () => void;\n\n private invalidPinAttempts = 0;\n private pinSet: [boolean, boolean];\n\n constructor(protected router: Router, protected i18nService: I18nService,\n protected platformUtilsService: PlatformUtilsService, protected messagingService: MessagingService,\n protected userService: UserService, protected cryptoService: CryptoService,\n protected storageService: StorageService, protected vaultTimeoutService: VaultTimeoutService,\n protected environmentService: EnvironmentService, protected stateService: StateService,\n protected apiService: ApiService) { }\n\n async ngOnInit() {\n this.pinSet = await this.vaultTimeoutService.isPinLockSet();\n this.pinLock = (this.pinSet[0] && this.vaultTimeoutService.pinProtectedKey != null) || this.pinSet[1];\n this.supportsBiometric = await this.platformUtilsService.supportsBiometric();\n this.biometricLock = await this.vaultTimeoutService.isBiometricLockSet() && (await this.cryptoService.hasKey() || !this.platformUtilsService.supportsSecureStorage());\n this.biometricText = await this.storageService.get(ConstantsService.biometricText);\n this.email = await this.userService.getEmail();\n let vaultUrl = this.environmentService.getWebVaultUrl();\n if (vaultUrl == null) {\n vaultUrl = 'https://bitwarden.com';\n }\n this.webVaultHostname = Utils.getHostname(vaultUrl);\n }\n\n async submit() {\n if (this.pinLock && (this.pin == null || this.pin === '')) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('pinRequired'));\n return;\n }\n if (!this.pinLock && (this.masterPassword == null || this.masterPassword === '')) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const kdf = await this.userService.getKdf();\n const kdfIterations = await this.userService.getKdfIterations();\n\n if (this.pinLock) {\n let failed = true;\n try {\n if (this.pinSet[0]) {\n const key = await this.cryptoService.makeKeyFromPin(this.pin, this.email, kdf, kdfIterations,\n this.vaultTimeoutService.pinProtectedKey);\n const encKey = await this.cryptoService.getEncKey(key);\n const protectedPin = await this.storageService.get(ConstantsService.protectedPin);\n const decPin = await this.cryptoService.decryptToUtf8(new CipherString(protectedPin), encKey);\n failed = decPin !== this.pin;\n if (!failed) {\n await this.setKeyAndContinue(key);\n }\n } else {\n const key = await this.cryptoService.makeKeyFromPin(this.pin, this.email, kdf, kdfIterations);\n failed = false;\n await this.setKeyAndContinue(key);\n }\n } catch {\n failed = true;\n }\n\n if (failed) {\n this.invalidPinAttempts++;\n if (this.invalidPinAttempts >= 5) {\n this.messagingService.send('logout');\n return;\n }\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidPin'));\n }\n } else {\n const key = await this.cryptoService.makeKey(this.masterPassword, this.email, kdf, kdfIterations);\n const keyHash = await this.cryptoService.hashPassword(this.masterPassword, key);\n\n let passwordValid = false;\n\n if (keyHash != null) {\n const storedKeyHash = await this.cryptoService.getKeyHash();\n if (storedKeyHash != null) {\n passwordValid = storedKeyHash === keyHash;\n } else {\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = keyHash;\n try {\n this.formPromise = this.apiService.postAccountVerifyPassword(request);\n await this.formPromise;\n passwordValid = true;\n await this.cryptoService.setKeyHash(keyHash);\n } catch { }\n }\n }\n\n if (passwordValid) {\n if (this.pinSet[0]) {\n const protectedPin = await this.storageService.get(ConstantsService.protectedPin);\n const encKey = await this.cryptoService.getEncKey(key);\n const decPin = await this.cryptoService.decryptToUtf8(new CipherString(protectedPin), encKey);\n const pinKey = await this.cryptoService.makePinKey(decPin, this.email, kdf, kdfIterations);\n this.vaultTimeoutService.pinProtectedKey = await this.cryptoService.encrypt(key.key, pinKey);\n }\n this.setKeyAndContinue(key);\n } else {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidMasterPassword'));\n }\n }\n }\n\n async logOut() {\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('logOutConfirmation'),\n this.i18nService.t('logOut'), this.i18nService.t('logOut'), this.i18nService.t('cancel'));\n if (confirmed) {\n this.messagingService.send('logout');\n }\n }\n\n async unlockBiometric() {\n if (!this.biometricLock) {\n return;\n }\n const success = await this.platformUtilsService.authenticateBiometric();\n\n if (success) {\n await this.doContinue();\n }\n }\n\n togglePassword() {\n this.platformUtilsService.eventTrack('Toggled Master Password on Unlock');\n this.showPassword = !this.showPassword;\n document.getElementById(this.pinLock ? 'pin' : 'masterPassword').focus();\n }\n\n private async setKeyAndContinue(key: SymmetricCryptoKey) {\n await this.cryptoService.setKey(key);\n this.doContinue();\n }\n\n private async doContinue() {\n this.vaultTimeoutService.biometricLocked = false;\n const disableFavicon = await this.storageService.get(ConstantsService.disableFaviconKey);\n await this.stateService.save(ConstantsService.disableFaviconKey, !!disableFavicon);\n this.messagingService.send('unlocked');\n if (this.onSuccessfulSubmit != null) {\n this.onSuccessfulSubmit();\n } else if (this.router != null) {\n this.router.navigate([this.successRoute]);\n }\n }\n}\n","import {\n Directive,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { Router } from '@angular/router';\n\nimport { AuthResult } from '../../models/domain/authResult';\n\nimport { AuthService } from '../../abstractions/auth.service';\nimport { CryptoFunctionService } from '../../abstractions/cryptoFunction.service';\nimport { EnvironmentService } from '../../abstractions/environment.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { StateService } from '../../abstractions/state.service';\nimport { StorageService } from '../../abstractions/storage.service';\n\nimport { ConstantsService } from '../../services/constants.service';\n\nimport { Utils } from '../../misc/utils';\n\nconst Keys = {\n rememberedEmail: 'rememberedEmail',\n rememberEmail: 'rememberEmail',\n};\n\n@Directive()\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 onSuccessfulLoginTwoFactorNavigate: () => Promise;\n\n protected twoFactorRoute = '2fa';\n protected successRoute = 'vault';\n\n constructor(protected authService: AuthService, protected router: Router,\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\n protected stateService: StateService, protected environmentService: EnvironmentService,\n protected passwordGenerationService: PasswordGenerationService,\n protected cryptoFunctionService: CryptoFunctionService, 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.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('emailRequired'));\n return;\n }\n if (this.email.indexOf('@') === -1) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidEmail'));\n return;\n }\n if (this.masterPassword == null || this.masterPassword === '') {\n this.platformUtilsService.showToast('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.platformUtilsService.eventTrack('Logged In To Two-step');\n if (this.onSuccessfulLoginTwoFactorNavigate != null) {\n this.onSuccessfulLoginTwoFactorNavigate();\n } else {\n this.router.navigate([this.twoFactorRoute]);\n }\n } else {\n const disableFavicon = await this.storageService.get(ConstantsService.disableFaviconKey);\n await this.stateService.save(ConstantsService.disableFaviconKey, !!disableFavicon);\n if (this.onSuccessfulLogin != null) {\n this.onSuccessfulLogin();\n }\n this.platformUtilsService.eventTrack('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.platformUtilsService.eventTrack('Toggled Master Password on Login');\n this.showPassword = !this.showPassword;\n document.getElementById('masterPassword').focus();\n }\n\n async launchSsoBrowser(clientId: string, ssoRedirectUri: string) {\n // Generate necessary sso params\n const passwordOptions: any = {\n type: 'password',\n length: 64,\n uppercase: true,\n lowercase: true,\n numbers: true,\n special: false,\n };\n const state = await this.passwordGenerationService.generatePassword(passwordOptions);\n const ssoCodeVerifier = await this.passwordGenerationService.generatePassword(passwordOptions);\n const codeVerifierHash = await this.cryptoFunctionService.hash(ssoCodeVerifier, 'sha256');\n const codeChallenge = Utils.fromBufferToUrlB64(codeVerifierHash);\n\n // Save sso params\n await this.storageService.save(ConstantsService.ssoStateKey, state);\n await this.storageService.save(ConstantsService.ssoCodeVerifierKey, ssoCodeVerifier);\n\n // Build URI\n const webUrl = this.environmentService.getWebVaultUrl() == null ? 'https://vault.bitwarden.com' :\n this.environmentService.getWebVaultUrl();\n\n // Launch browser\n this.platformUtilsService.launchUri(webUrl + '/#/sso?clientId=' + clientId +\n '&redirectUri=' + encodeURIComponent(ssoRedirectUri) +\n '&state=' + state + '&codeChallenge=' + codeChallenge);\n }\n}\n","export class DeleteRecoverRequest {\n email: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class TwoFactorRecoveryRequest extends PasswordVerificationRequest {\n recoveryCode: string;\n email: string;\n}\n","import { Router } from '@angular/router';\n\nimport { KeysRequest } from '../../models/request/keysRequest';\nimport { ReferenceEventRequest } from '../../models/request/referenceEventRequest';\nimport { RegisterRequest } from '../../models/request/registerRequest';\n\nimport { ApiService } from '../../abstractions/api.service';\nimport { AuthService } from '../../abstractions/auth.service';\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { StateService } from '../../abstractions/state.service';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class RegisterComponent {\n name: string = '';\n email: string = '';\n masterPassword: string = '';\n confirmMasterPassword: string = '';\n hint: string = '';\n showPassword: boolean = false;\n formPromise: Promise;\n masterPasswordScore: number;\n referenceData: ReferenceEventRequest;\n showTerms = true;\n acceptPolicies: boolean = false;\n\n protected successRoute = 'login';\n private masterPasswordStrengthTimeout: any;\n\n constructor(protected authService: AuthService, protected router: Router,\n protected i18nService: I18nService, protected cryptoService: CryptoService,\n protected apiService: ApiService, protected stateService: StateService,\n protected platformUtilsService: PlatformUtilsService,\n protected passwordGenerationService: PasswordGenerationService) {\n this.showTerms = !platformUtilsService.isSelfHost();\n }\n\n get masterPasswordScoreWidth() {\n return this.masterPasswordScore == null ? 0 : (this.masterPasswordScore + 1) * 20;\n }\n\n get masterPasswordScoreColor() {\n switch (this.masterPasswordScore) {\n case 4:\n return 'success';\n case 3:\n return 'primary';\n case 2:\n return 'warning';\n default:\n return 'danger';\n }\n }\n\n get masterPasswordScoreText() {\n switch (this.masterPasswordScore) {\n case 4:\n return this.i18nService.t('strong');\n case 3:\n return this.i18nService.t('good');\n case 2:\n return this.i18nService.t('weak');\n default:\n return this.masterPasswordScore != null ? this.i18nService.t('weak') : null;\n }\n }\n\n async submit() {\n if (!this.acceptPolicies && this.showTerms) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('acceptPoliciesError'));\n return;\n }\n\n if (this.email == null || this.email === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('emailRequired'));\n return;\n }\n if (this.email.indexOf('@') === -1) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidEmail'));\n return;\n }\n if (this.masterPassword == null || this.masterPassword === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n if (this.masterPassword.length < 8) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassLength'));\n return;\n }\n if (this.masterPassword !== this.confirmMasterPassword) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassDoesntMatch'));\n return;\n }\n\n const strengthResult = this.passwordGenerationService.passwordStrength(this.masterPassword,\n this.getPasswordStrengthUserInput());\n if (strengthResult != null && strengthResult.score < 3) {\n const result = await this.platformUtilsService.showDialog(this.i18nService.t('weakMasterPasswordDesc'),\n this.i18nService.t('weakMasterPassword'), this.i18nService.t('yes'), this.i18nService.t('no'),\n 'warning');\n if (!result) {\n return;\n }\n }\n\n if (this.hint === this.masterPassword) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'), this.i18nService.t('hintEqualsPassword'));\n return;\n }\n\n this.name = this.name === '' ? null : this.name;\n this.email = this.email.trim().toLowerCase();\n const kdf = KdfType.PBKDF2_SHA256;\n const useLowerKdf = this.platformUtilsService.isIE();\n const kdfIterations = useLowerKdf ? 10000 : 100000;\n const key = await this.cryptoService.makeKey(this.masterPassword, this.email, kdf, kdfIterations);\n const encKey = await this.cryptoService.makeEncKey(key);\n const hashedPassword = await this.cryptoService.hashPassword(this.masterPassword, key);\n const keys = await this.cryptoService.makeKeyPair(encKey[0]);\n const request = new RegisterRequest(this.email, this.name, hashedPassword,\n this.hint, encKey[1].encryptedString, kdf, kdfIterations, this.referenceData);\n request.keys = new KeysRequest(keys[0], keys[1].encryptedString);\n const orgInvite = await this.stateService.get('orgInvitation');\n if (orgInvite != null && orgInvite.token != null && orgInvite.organizationUserId != null) {\n request.token = orgInvite.token;\n request.organizationUserId = orgInvite.organizationUserId;\n }\n\n try {\n this.formPromise = this.apiService.postRegister(request);\n await this.formPromise;\n this.platformUtilsService.eventTrack('Registered');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('newAccountCreated'));\n this.router.navigate([this.successRoute], { queryParams: { email: this.email } });\n } catch { }\n }\n\n togglePassword(confirmField: boolean) {\n this.platformUtilsService.eventTrack('Toggled Master Password on Register');\n this.showPassword = !this.showPassword;\n document.getElementById(confirmField ? 'masterPasswordRetype' : 'masterPassword').focus();\n }\n\n updatePasswordStrength() {\n if (this.masterPasswordStrengthTimeout != null) {\n clearTimeout(this.masterPasswordStrengthTimeout);\n }\n this.masterPasswordStrengthTimeout = setTimeout(() => {\n const strengthResult = this.passwordGenerationService.passwordStrength(this.masterPassword,\n this.getPasswordStrengthUserInput());\n this.masterPasswordScore = strengthResult == null ? null : strengthResult.score;\n }, 300);\n }\n\n private getPasswordStrengthUserInput() {\n let userInput: string[] = [];\n const atPosition = this.email.indexOf('@');\n if (atPosition > -1) {\n userInput = userInput.concat(this.email.substr(0, atPosition).trim().toLowerCase().split(/[^A-Za-z0-9]/));\n }\n if (this.name != null && this.name !== '') {\n userInput = userInput.concat(this.name.trim().toLowerCase().split(' '));\n }\n return userInput;\n }\n}\n","import { KeysRequest } from './keysRequest';\nimport { ReferenceEventRequest } from './referenceEventRequest';\n\nimport { KdfType } from '../../enums/kdfType';\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 kdf: KdfType;\n kdfIterations: number;\n referenceData: ReferenceEventRequest;\n\n constructor(email: string, name: string, masterPasswordHash: string, masterPasswordHint: string, key: string,\n kdf: KdfType, kdfIterations: number, referenceData: ReferenceEventRequest) {\n this.name = name;\n this.email = email;\n this.masterPasswordHash = masterPasswordHash;\n this.masterPasswordHint = masterPasswordHint ? masterPasswordHint : null;\n this.key = key;\n this.kdf = kdf;\n this.kdfIterations = kdfIterations;\n this.referenceData = referenceData;\n }\n}\n","export class ReferenceEventRequest {\n id: string;\n layout: string;\n flow: string;\n}\n","import {\n ActivatedRoute,\n Router\n} from '@angular/router';\n\nimport { ApiService } from '../../abstractions/api.service';\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { MessagingService } from '../../abstractions/messaging.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { PolicyService } from '../../abstractions/policy.service';\nimport { SyncService } from '../../abstractions/sync.service';\nimport { UserService } from '../../abstractions/user.service';\n\nimport { CipherString } from '../../models/domain/cipherString';\nimport { SymmetricCryptoKey } from '../../models/domain/symmetricCryptoKey';\n\nimport { KeysRequest } from '../../models/request/keysRequest';\nimport { SetPasswordRequest } from '../../models/request/setPasswordRequest';\n\nimport { ChangePasswordComponent as BaseChangePasswordComponent } from './change-password.component';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class SetPasswordComponent extends BaseChangePasswordComponent {\n syncLoading: boolean = true;\n showPassword: boolean = false;\n hint: string = '';\n identifier: string = null;\n\n onSuccessfulChangePassword: () => Promise;\n successRoute = 'vault';\n\n constructor(i18nService: I18nService, cryptoService: CryptoService, messagingService: MessagingService,\n userService: UserService, passwordGenerationService: PasswordGenerationService,\n platformUtilsService: PlatformUtilsService, policyService: PolicyService, private router: Router,\n private apiService: ApiService, private syncService: SyncService, private route: ActivatedRoute) {\n super(i18nService, cryptoService, messagingService, userService, passwordGenerationService,\n platformUtilsService, policyService);\n }\n\n async ngOnInit() {\n await this.syncService.fullSync(true);\n this.syncLoading = false;\n\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.identifier != null) {\n this.identifier = qParams.identifier;\n }\n\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n\n super.ngOnInit();\n }\n\n async setupSubmitActions() {\n this.kdf = KdfType.PBKDF2_SHA256;\n const useLowerKdf = this.platformUtilsService.isIE();\n this.kdfIterations = useLowerKdf ? 10000 : 100000;\n return true;\n }\n\n async performSubmitActions(masterPasswordHash: string, key: SymmetricCryptoKey,\n encKey: [SymmetricCryptoKey, CipherString]) {\n const request = new SetPasswordRequest();\n request.masterPasswordHash = masterPasswordHash;\n request.key = encKey[1].encryptedString;\n request.masterPasswordHint = this.hint;\n request.kdf = this.kdf;\n request.kdfIterations = this.kdfIterations;\n request.orgIdentifier = this.identifier;\n\n const keys = await this.cryptoService.makeKeyPair(encKey[0]);\n request.keys = new KeysRequest(keys[0], keys[1].encryptedString);\n\n try {\n this.formPromise = this.apiService.setPassword(request);\n await this.formPromise;\n\n await this.userService.setInformation(await this.userService.getUserId(), await this.userService.getEmail(),\n this.kdf, this.kdfIterations);\n await this.cryptoService.setKey(key);\n await this.cryptoService.setKeyHash(masterPasswordHash);\n await this.cryptoService.setEncKey(encKey[1].encryptedString);\n await this.cryptoService.setEncPrivateKey(keys[1].encryptedString);\n\n if (this.onSuccessfulChangePassword != null) {\n this.onSuccessfulChangePassword();\n } else {\n this.router.navigate([this.successRoute]);\n }\n } catch {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n }\n }\n\n togglePassword(confirmField: boolean) {\n this.platformUtilsService.eventTrack('Toggled Master Password on Set Password');\n this.showPassword = !this.showPassword;\n document.getElementById(confirmField ? 'masterPasswordRetype' : 'masterPassword').focus();\n }\n}\n","import { KeysRequest } from './keysRequest';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class SetPasswordRequest {\n masterPasswordHash: string;\n key: string;\n masterPasswordHint: string;\n keys: KeysRequest;\n kdf: KdfType;\n kdfIterations: number;\n orgIdentifier: string;\n}\n","import {\n Directive,\n EventEmitter,\n OnInit,\n Output,\n} from '@angular/core';\nimport { Router } from '@angular/router';\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\n@Directive()\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 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.platformUtilsService.eventTrack('Selected Recover');\n this.platformUtilsService.launchUri('https://help.bitwarden.com/article/lost-two-step-device/');\n this.onRecoverSelected.emit();\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n EventEmitter,\n OnDestroy,\n Output,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { MessagingService } from '../../abstractions/messaging.service';\n\n@Component({\n selector: 'app-modal',\n template: ``,\n})\nexport class ModalComponent implements OnDestroy {\n @Output() onClose = new EventEmitter();\n @Output() onClosed = new EventEmitter();\n @Output() onShow = new EventEmitter();\n @Output() onShown = new EventEmitter();\n @ViewChild('container', { read: ViewContainerRef, static: true }) container: ViewContainerRef;\n parentContainer: ViewContainerRef = null;\n fade: boolean = true;\n\n constructor(protected componentFactoryResolver: ComponentFactoryResolver,\n protected messagingService: MessagingService) { }\n\n ngOnDestroy() {\n document.body.classList.remove('modal-open');\n document.body.removeChild(document.querySelector('.modal-backdrop'));\n }\n\n show(type: Type, parentContainer: ViewContainerRef, fade: boolean = true,\n setComponentParameters: (component: T) => void = null): T {\n this.onShow.emit();\n this.messagingService.send('modalShow');\n this.parentContainer = parentContainer;\n this.fade = fade;\n\n document.body.classList.add('modal-open');\n const backdrop = document.createElement('div');\n backdrop.className = 'modal-backdrop' + (this.fade ? ' fade' : '');\n document.body.appendChild(backdrop);\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(type);\n const componentRef = this.container.createComponent(factory);\n if (setComponentParameters != null) {\n setComponentParameters(componentRef.instance);\n }\n\n document.querySelector('.modal-dialog').addEventListener('click', (e: Event) => {\n e.stopPropagation();\n });\n\n const modals = Array.from(document.querySelectorAll('.modal, .modal *[data-dismiss=\"modal\"]'));\n for (const closeElement of modals) {\n closeElement.addEventListener('click', (event) => {\n this.close();\n });\n }\n\n this.onShown.emit();\n this.messagingService.send('modalShown');\n return componentRef.instance;\n }\n\n close() {\n this.onClose.emit();\n this.messagingService.send('modalClose');\n this.onClosed.emit();\n this.messagingService.send('modalClosed');\n if (this.parentContainer != null) {\n this.parentContainer.clear();\n }\n }\n}\n","import {\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nimport { TwoFactorEmailRequest } from '../../models/request/twoFactorEmailRequest';\n\nimport { AuthResult } from '../../models/domain';\n\nimport { ApiService } from '../../abstractions/api.service';\nimport { AuthService } from '../../abstractions/auth.service';\nimport { EnvironmentService } from '../../abstractions/environment.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { StateService } from '../../abstractions/state.service';\nimport { StorageService } from '../../abstractions/storage.service';\n\nimport { TwoFactorProviders } from '../../services/auth.service';\nimport { ConstantsService } from '../../services/constants.service';\n\nimport * as DuoWebSDK from 'duo_web_sdk';\nimport { U2f } from '../../misc/u2f';\n\nexport class TwoFactorComponent implements OnInit, OnDestroy {\n token: string = '';\n remember: boolean = false;\n u2fReady: boolean = false;\n initU2f: boolean = true;\n providers = TwoFactorProviders;\n providerType = TwoFactorProviderType;\n selectedProviderType: TwoFactorProviderType = TwoFactorProviderType.Authenticator;\n u2fSupported: boolean = false;\n u2f: U2f = null;\n title: string = '';\n twoFactorEmail: string = null;\n formPromise: Promise;\n emailPromise: Promise;\n identifier: string = null;\n onSuccessfulLogin: () => Promise;\n onSuccessfulLoginNavigate: () => Promise;\n\n protected loginRoute = 'login';\n protected successRoute = 'vault';\n\n constructor(protected authService: AuthService, protected router: Router,\n protected i18nService: I18nService, protected apiService: ApiService,\n protected platformUtilsService: PlatformUtilsService, protected win: Window,\n protected environmentService: EnvironmentService, protected stateService: StateService,\n protected storageService: StorageService, protected route: ActivatedRoute) {\n this.u2fSupported = this.platformUtilsService.supportsU2f(win);\n }\n\n async ngOnInit() {\n if (!this.authing || this.authService.twoFactorProvidersData == null) {\n this.router.navigate([this.loginRoute]);\n return;\n }\n\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.identifier != null) {\n this.identifier = qParams.identifier;\n }\n\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n\n if (this.needsLock) {\n this.successRoute = 'lock';\n }\n\n if (this.initU2f && this.win != null && this.u2fSupported) {\n let customWebVaultUrl: string = null;\n if (this.environmentService.baseUrl != null) {\n customWebVaultUrl = this.environmentService.baseUrl;\n } else if (this.environmentService.webVaultUrl != null) {\n customWebVaultUrl = this.environmentService.webVaultUrl;\n }\n\n this.u2f = new U2f(this.win, customWebVaultUrl, (token: string) => {\n this.token = token;\n this.submit();\n }, (error: string) => {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'), error);\n }, (info: string) => {\n if (info === 'ready') {\n this.u2fReady = true;\n }\n });\n }\n\n this.selectedProviderType = this.authService.getDefaultTwoFactorProvider(this.u2fSupported);\n await this.init();\n }\n\n ngOnDestroy(): void {\n this.cleanupU2f();\n this.u2f = null;\n }\n\n async init() {\n if (this.selectedProviderType == null) {\n this.title = this.i18nService.t('loginUnavailable');\n return;\n }\n\n this.cleanupU2f();\n this.title = (TwoFactorProviders as any)[this.selectedProviderType].name;\n const providerData = this.authService.twoFactorProvidersData.get(this.selectedProviderType);\n switch (this.selectedProviderType) {\n case TwoFactorProviderType.U2f:\n if (!this.u2fSupported || this.u2f == null) {\n break;\n }\n\n if (providerData.Challenge != null) {\n setTimeout(() => {\n this.u2f.init(JSON.parse(providerData.Challenge));\n }, 500);\n } else {\n // TODO: Deprecated. Remove in future version.\n const challenges = JSON.parse(providerData.Challenges);\n if (challenges != null && challenges.length > 0) {\n this.u2f.init({\n appId: challenges[0].appId,\n challenge: challenges[0].challenge,\n keys: challenges.map((c: any) => {\n return {\n version: c.version,\n keyHandle: c.keyHandle,\n };\n }),\n });\n }\n }\n break;\n case TwoFactorProviderType.Duo:\n case TwoFactorProviderType.OrganizationDuo:\n setTimeout(() => {\n DuoWebSDK.init({\n iframe: undefined,\n host: providerData.Host,\n sig_request: providerData.Signature,\n submit_callback: async (f: HTMLFormElement) => {\n const sig = f.querySelector('input[name=\"sig_response\"]') as HTMLInputElement;\n if (sig != null) {\n this.token = sig.value;\n await this.submit();\n }\n },\n });\n }, 0);\n break;\n case TwoFactorProviderType.Email:\n this.twoFactorEmail = providerData.Email;\n if (this.authService.twoFactorProvidersData.size > 1) {\n await this.sendEmail(false);\n }\n break;\n default:\n break;\n }\n }\n\n async submit() {\n if (this.token == null || this.token === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('verificationCodeRequired'));\n return;\n }\n\n if (this.selectedProviderType === TwoFactorProviderType.U2f) {\n if (this.u2f != null) {\n this.u2f.stop();\n } else {\n return;\n }\n } else if (this.selectedProviderType === TwoFactorProviderType.Email ||\n this.selectedProviderType === TwoFactorProviderType.Authenticator) {\n this.token = this.token.replace(' ', '').trim();\n }\n\n try {\n this.formPromise = this.authService.logInTwoFactor(this.selectedProviderType, this.token, this.remember);\n const response: AuthResult = await this.formPromise;\n const disableFavicon = await this.storageService.get(ConstantsService.disableFaviconKey);\n await this.stateService.save(ConstantsService.disableFaviconKey, !!disableFavicon);\n if (this.onSuccessfulLogin != null) {\n this.onSuccessfulLogin();\n }\n this.platformUtilsService.eventTrack('Logged In From Two-step');\n if (response.resetMasterPassword) {\n this.successRoute = 'set-password';\n }\n if (this.onSuccessfulLoginNavigate != null) {\n this.onSuccessfulLoginNavigate();\n } else {\n this.router.navigate([this.successRoute], {\n queryParams: {\n identifier: this.identifier,\n },\n });\n }\n } catch {\n if (this.selectedProviderType === TwoFactorProviderType.U2f && this.u2f != null) {\n this.u2f.start();\n }\n }\n }\n\n async sendEmail(doToast: boolean) {\n if (this.selectedProviderType !== TwoFactorProviderType.Email) {\n return;\n }\n\n if (this.emailPromise != null) {\n return;\n }\n\n try {\n const request = new TwoFactorEmailRequest(this.authService.email, this.authService.masterPasswordHash);\n this.emailPromise = this.apiService.postTwoFactorEmail(request);\n await this.emailPromise;\n if (doToast) {\n this.platformUtilsService.showToast('success', null,\n this.i18nService.t('verificationCodeEmailSent', this.twoFactorEmail));\n }\n } catch { }\n\n this.emailPromise = null;\n }\n\n private cleanupU2f() {\n if (this.u2f != null) {\n this.u2f.stop();\n this.u2f.cleanup();\n }\n }\n\n get authing(): boolean {\n return this.authService.authingWithPassword() || this.authService.authingWithSso() || this.authService.authingWithApiKey();\n }\n\n get needsLock(): boolean {\n return this.authService.authingWithSso() || this.authService.authingWithApiKey();\n }\n}\n","import { DeviceType } from '../../enums/deviceType';\n\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nexport class DeviceRequest {\n type: DeviceType;\n name: string;\n identifier: string;\n pushToken?: string;\n\n constructor(appId: string, platformUtilsService: PlatformUtilsService) {\n this.type = platformUtilsService.getDevice();\n this.name = platformUtilsService.getDeviceString();\n this.identifier = appId;\n this.pushToken = null;\n }\n}\n","export class PreloginRequest {\n email: string;\n\n constructor(email: string) {\n this.email = email;\n }\n}\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nimport { DeviceRequest } from './deviceRequest';\n\nexport class TokenRequest {\n email: string;\n masterPasswordHash: string;\n code: string;\n codeVerifier: string;\n redirectUri: string;\n clientId: string;\n clientSecret: string;\n token: string;\n provider: TwoFactorProviderType;\n remember: boolean;\n device?: DeviceRequest;\n\n constructor(credentials: string[], codes: string[], clientIdClientSecret: string[], provider: TwoFactorProviderType,\n token: string, remember: boolean, device?: DeviceRequest) {\n if (credentials != null && credentials.length > 1) {\n this.email = credentials[0];\n this.masterPasswordHash = credentials[1];\n } else if (codes != null && codes.length > 2) {\n this.code = codes[0];\n this.codeVerifier = codes[1];\n this.redirectUri = codes[2];\n } else if (clientIdClientSecret != null && clientIdClientSecret.length > 1) {\n this.clientId = clientIdClientSecret[0];\n this.clientSecret = clientIdClientSecret[1];\n }\n this.token = token;\n this.provider = provider;\n this.remember = remember;\n this.device = device != null ? device : null;\n }\n\n toIdentityToken(clientId: string) {\n const obj: any = {\n scope: 'api offline_access',\n client_id: clientId,\n };\n\n if (this.clientSecret != null) {\n obj.scope = 'api';\n obj.grant_type = 'client_credentials';\n obj.client_secret = this.clientSecret;\n } else if (this.masterPasswordHash != null && this.email != null) {\n obj.grant_type = 'password';\n obj.username = this.email;\n obj.password = this.masterPasswordHash;\n } else if (this.code != null && this.codeVerifier != null && this.redirectUri != null) {\n obj.grant_type = 'authorization_code';\n obj.code = this.code;\n obj.code_verifier = this.codeVerifier;\n obj.redirect_uri = this.redirectUri;\n } else {\n throw new Error('must provide credentials or codes');\n }\n\n if (this.device) {\n obj.deviceType = this.device.type;\n obj.deviceIdentifier = this.device.identifier;\n obj.deviceName = this.device.name;\n // no push tokens for browser apps yet\n // obj.devicePushToken = this.device.pushToken;\n }\n\n if (this.token && this.provider != null) {\n obj.twoFactorToken = this.token;\n obj.twoFactorProvider = this.provider;\n obj.twoFactorRemember = this.remember ? '1' : '0';\n }\n\n return obj;\n }\n}\n","export class U2f {\n private iframe: HTMLIFrameElement = null;\n private connectorLink: HTMLAnchorElement;\n private parseFunction = this.parseMessage.bind(this);\n\n constructor(private win: Window, private webVaultUrl: string, private successCallback: Function,\n private errorCallback: Function, private infoCallback: Function) {\n this.connectorLink = win.document.createElement('a');\n this.webVaultUrl = webVaultUrl != null && webVaultUrl !== '' ? webVaultUrl : 'https://vault.bitwarden.com';\n }\n\n init(data: any): void {\n this.connectorLink.href = this.webVaultUrl + '/u2f-connector.html' +\n '?data=' + this.base64Encode(JSON.stringify(data)) +\n '&parent=' + encodeURIComponent(this.win.document.location.href) +\n '&v=1';\n\n this.iframe = this.win.document.getElementById('u2f_iframe') as HTMLIFrameElement;\n this.iframe.src = this.connectorLink.href;\n\n this.win.addEventListener('message', this.parseFunction, false);\n }\n\n stop() {\n this.sendMessage('stop');\n }\n\n start() {\n this.sendMessage('start');\n }\n\n sendMessage(message: any) {\n if (!this.iframe || !this.iframe.src || !this.iframe.contentWindow) {\n return;\n }\n\n this.iframe.contentWindow.postMessage(message, this.iframe.src);\n }\n\n base64Encode(str: string): string {\n return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (match, p1) => {\n return String.fromCharCode(('0x' + p1) as any);\n }));\n }\n\n cleanup() {\n this.win.removeEventListener('message', this.parseFunction, false);\n }\n\n private parseMessage(event: MessageEvent) {\n if (!this.validMessage(event)) {\n return;\n }\n\n const parts: string[] = event.data.split('|');\n if (parts[0] === 'success' && this.successCallback) {\n this.successCallback(parts[1]);\n } else if (parts[0] === 'error' && this.errorCallback) {\n this.errorCallback(parts[1]);\n } else if (parts[0] === 'info' && this.infoCallback) {\n this.infoCallback(parts[1]);\n }\n }\n\n private validMessage(event: MessageEvent) {\n if (event.origin == null || event.origin === '' || event.origin !== (this.connectorLink as any).origin ||\n event.data == null || typeof (event.data) !== 'string') {\n return false;\n }\n\n return event.data.indexOf('success|') === 0 || event.data.indexOf('error|') === 0 ||\n event.data.indexOf('info|') === 0;\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","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","import { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class GroupRequest {\n name: string;\n accessAll: boolean;\n externalId: string;\n collections: SelectionReadOnlyRequest[] = [];\n}\n","import { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nimport { OrganizationUserType } from '../../enums/organizationUserType';\nimport { PermissionsApi } from '../api/permissionsApi';\n\nexport class OrganizationUserInviteRequest {\n emails: string[] = [];\n type: OrganizationUserType;\n accessAll: boolean;\n collections: SelectionReadOnlyRequest[] = [];\n permissions: PermissionsApi;\n}\n","import { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nimport { OrganizationUserType } from '../../enums/organizationUserType';\nimport { PermissionsApi } from '../api/permissionsApi';\n\nexport class OrganizationUserUpdateRequest {\n type: OrganizationUserType;\n accessAll: boolean;\n collections: SelectionReadOnlyRequest[] = [];\n permissions: PermissionsApi;\n}\n","export class OrganizationUserUpdateGroupsRequest {\n groupIds: string[] = [];\n}\n","export abstract class AppIdService {\n getAppId: () => Promise;\n getAnonymousAppId: () => Promise;\n}\n","import { LogLevelType } from '../enums/logLevelType';\n\nexport abstract class LogService {\n debug: (message: string) => void;\n info: (message: string) => void;\n warning: (message: string) => void;\n error: (message: string) => void;\n write: (level: LogLevelType, message: string) => void;\n time: (label: string) => void;\n timeEnd: (label: string) => [number, number];\n}\n","import { PolicyType } from '../../enums/policyType';\n\nexport class PolicyRequest {\n type: PolicyType;\n enabled: boolean;\n data: any;\n}\n","export class OrganizationUpdateRequest {\n name: string;\n identifier: string;\n businessName: string;\n billingEmail: string;\n}\n","export enum TransactionType {\n Charge = 0,\n Credit = 1,\n PromotionalCredit = 2,\n ReferralCredit = 3,\n Refund = 4,\n}\n","export class VerifyBankRequest {\n amount1: number;\n amount2: number;\n}\n","export class BitPayInvoiceRequest {\n userId: string;\n organizationId: string;\n credit: boolean;\n amount: number;\n returnUrl: string;\n name: string;\n email: string;\n}\n","import { PaymentMethodType } from '../../enums/paymentMethodType';\nimport { OrganizationTaxInfoUpdateRequest } from '../request/organizationTaxInfoUpdateRequest';\n\nexport class PaymentRequest extends OrganizationTaxInfoUpdateRequest {\n paymentMethodType: PaymentMethodType;\n paymentToken: string;\n}\n","import { PaymentMethodType } from '../../enums/paymentMethodType';\nimport { PlanType } from '../../enums/planType';\n\nexport class OrganizationCreateRequest {\n name: string;\n businessName: string;\n billingEmail: string;\n planType: PlanType;\n key: string;\n paymentMethodType: PaymentMethodType;\n paymentToken: string;\n additionalSeats: number;\n additionalStorageGb: number;\n premiumAccessAddon: boolean;\n collectionName: string;\n taxIdNumber: string;\n billingAddressLine1: string;\n billingAddressLine2: string;\n billingAddressCity: string;\n billingAddressState: string;\n billingAddressPostalCode: string;\n billingAddressCountry: string;\n}\n","import { PlanType } from '../../enums/planType';\n\nexport class OrganizationUpgradeRequest {\n businessName: string;\n planType: PlanType;\n additionalSeats: number;\n additionalStorageGb: number;\n premiumAccessAddon: boolean;\n billingAddressCountry: string;\n billingAddressPostalCode: string;\n}\n","export class SeatRequest {\n seatAdjustment: number;\n}\n","export class StorageRequest {\n storageGbAdjustment: number;\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","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 UpdateTwoFactorU2fDeleteRequest extends PasswordVerificationRequest {\n id: number;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorU2fRequest extends PasswordVerificationRequest {\n deviceResponse: string;\n name: string;\n id: number;\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 {\n Directive,\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { EventService } from '../../abstractions/event.service';\nimport { ExportService } from '../../abstractions/export.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { EventType } from '../../enums/eventType';\n\n@Directive()\nexport class ExportComponent {\n @Output() onSaved = new EventEmitter();\n\n formPromise: Promise;\n masterPassword: string;\n format: 'json' | 'encrypted_json' | 'csv' = 'json';\n showPassword = false;\n\n constructor(protected cryptoService: CryptoService, protected i18nService: I18nService,\n protected platformUtilsService: PlatformUtilsService, protected exportService: ExportService,\n protected eventService: EventService, protected win: Window) { }\n\n get encryptedFormat() {\n return this.format === 'encrypted_json';\n }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidMasterPassword'));\n return;\n }\n\n const acceptedWarning = await this.platformUtilsService.showDialog(\n this.i18nService.t(this.encryptedFormat ? 'encExportWarningDesc' : 'exportWarningDesc'),\n this.i18nService.t('confirmVaultExport'), this.i18nService.t('exportVault'),\n this.i18nService.t('cancel'), 'warning');\n\n if (!acceptedWarning) {\n return;\n }\n\n const keyHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n const storedKeyHash = await this.cryptoService.getKeyHash();\n if (storedKeyHash != null && keyHash != null && storedKeyHash === keyHash) {\n try {\n this.formPromise = this.getExportData();\n const data = await this.formPromise;\n this.platformUtilsService.eventTrack('Exported Data');\n this.downloadFile(data);\n this.saved();\n await this.collectEvent();\n } catch { }\n } else {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidMasterPassword'));\n }\n }\n\n togglePassword() {\n this.platformUtilsService.eventTrack('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(this.format);\n }\n\n protected getFileName(prefix?: string) {\n let extension = this.format;\n if (this.format === 'encrypted_json') {\n if (prefix == null) {\n prefix = 'encrypted';\n } else {\n prefix = 'encrypted_' + prefix;\n }\n extension = 'json';\n }\n return this.exportService.getFileName(prefix, extension);\n }\n\n protected async collectEvent(): Promise {\n await this.eventService.collect(EventType.User_ClientExportedVault);\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","export class AttachmentRequest {\n fileName: string;\n key: string;\n}\n","import {\n CdkDragDrop,\n moveItemInArray,\n} from '@angular/cdk/drag-drop';\nimport {\n Directive,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { CipherType } from '../../enums/cipherType';\nimport { EventType } from '../../enums/eventType';\nimport { FieldType } from '../../enums/fieldType';\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { PolicyType } from '../../enums/policyType';\nimport { SecureNoteType } from '../../enums/secureNoteType';\nimport { UriMatchType } from '../../enums/uriMatchType';\n\nimport { AuditService } from '../../abstractions/audit.service';\nimport { CipherService } from '../../abstractions/cipher.service';\nimport { CollectionService } from '../../abstractions/collection.service';\nimport { EventService } from '../../abstractions/event.service';\nimport { FolderService } from '../../abstractions/folder.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { MessagingService } from '../../abstractions/messaging.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { PolicyService } from '../../abstractions/policy.service';\nimport { StateService } from '../../abstractions/state.service';\nimport { UserService } from '../../abstractions/user.service';\n\nimport { Cipher } from '../../models/domain/cipher';\n\nimport { CardView } from '../../models/view/cardView';\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 { IdentityView } from '../../models/view/identityView';\nimport { LoginUriView } from '../../models/view/loginUriView';\nimport { LoginView } from '../../models/view/loginView';\nimport { SecureNoteView } from '../../models/view/secureNoteView';\n\nimport { Utils } from '../../misc/utils';\n\n@Directive()\nexport class AddEditComponent implements OnInit {\n @Input() cloneMode: boolean = false;\n @Input() folderId: string = null;\n @Input() cipherId: string;\n @Input() type: CipherType;\n @Input() collectionIds: string[];\n @Input() organizationId: string = null;\n @Output() onSavedCipher = new EventEmitter();\n @Output() onDeletedCipher = new EventEmitter();\n @Output() onRestoredCipher = new EventEmitter();\n @Output() onCancelled = new EventEmitter();\n @Output() onEditAttachments = new EventEmitter();\n @Output() onShareCipher = new EventEmitter();\n @Output() onEditCollections = new EventEmitter();\n @Output() onGeneratePassword = new EventEmitter();\n\n editMode: boolean = false;\n cipher: CipherView;\n folders: FolderView[];\n collections: CollectionView[] = [];\n title: string;\n formPromise: Promise;\n deletePromise: Promise;\n restorePromise: 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 ownershipOptions: any[] = [];\n currentDate = new Date();\n allowPersonal = true;\n\n protected writeableCollections: CollectionView[];\n private previousCipherId: string;\n\n constructor(protected cipherService: CipherService, protected folderService: FolderService,\n protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,\n protected auditService: AuditService, protected stateService: StateService,\n protected userService: UserService, protected collectionService: CollectionService,\n protected messagingService: MessagingService, protected eventService: EventService,\n protected policyService: PolicyService) {\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 ngOnInit() {\n await this.init();\n }\n\n async init() {\n const policies = await this.policyService.getAll(PolicyType.PersonalOwnership);\n const myEmail = await this.userService.getEmail();\n this.ownershipOptions.push({ name: myEmail, value: null });\n const orgs = await this.userService.getAllOrganizations();\n orgs.sort(Utils.getSortFunction(this.i18nService, 'name')).forEach((o) => {\n if (o.enabled && o.status === OrganizationUserStatusType.Confirmed) {\n this.ownershipOptions.push({ name: o.name, value: o.id });\n if (policies != null && o.usePolicies && !o.canManagePolicies && this.allowPersonal) {\n for (const policy of policies) {\n if (policy.organizationId === o.id && policy.enabled) {\n this.allowPersonal = false;\n this.ownershipOptions.splice(0, 1);\n // Default to the organization who owns this policy for now (if necessary)\n if (this.organizationId == null) {\n this.organizationId = o.id;\n }\n break;\n }\n }\n }\n }\n });\n this.writeableCollections = await this.loadCollections();\n }\n\n async load() {\n this.editMode = this.cipherId != null;\n if (this.editMode) {\n this.editMode = true;\n if (this.cloneMode) {\n this.cloneMode = true;\n this.title = this.i18nService.t('addItem');\n } else {\n this.title = this.i18nService.t('editItem');\n }\n } else {\n this.title = this.i18nService.t('addItem');\n }\n\n const addEditCipherInfo: any = await this.stateService.get('addEditCipherInfo');\n if (addEditCipherInfo != null) {\n this.cipher = addEditCipherInfo.cipher;\n this.collectionIds = addEditCipherInfo.collectionIds;\n }\n await this.stateService.remove('addEditCipherInfo');\n\n if (this.cipher == null) {\n if (this.editMode) {\n const cipher = await this.loadCipher();\n this.cipher = await cipher.decrypt();\n\n // Adjust Cipher Name if Cloning\n if (this.cloneMode) {\n this.cipher.name += ' - ' + this.i18nService.t('clone');\n // If not allowing personal ownership, update cipher's org Id to prompt downstream changes\n if (this.cipher.organizationId == null && !this.allowPersonal) {\n this.cipher.organizationId = this.organizationId;\n }\n }\n } else {\n this.cipher = new CipherView();\n this.cipher.organizationId = this.organizationId == null ? null : this.organizationId;\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 if (this.cipher != null && (!this.editMode || addEditCipherInfo != null || this.cloneMode)) {\n await this.organizationChanged();\n if (this.collectionIds != null && this.collectionIds.length > 0 && this.collections.length > 0) {\n this.collections.forEach((c) => {\n if (this.collectionIds.indexOf(c.id) > -1) {\n (c as any).checked = true;\n }\n });\n }\n }\n\n this.folders = await this.folderService.getAllDecrypted();\n\n if (this.editMode && this.previousCipherId !== this.cipherId) {\n this.eventService.collect(EventType.Cipher_ClientViewed, this.cipherId);\n }\n this.previousCipherId = this.cipherId;\n }\n\n async submit(): Promise {\n if (this.cipher.isDeleted) {\n return this.restore();\n }\n\n if (this.cipher.name == null || this.cipher.name === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nameRequired'));\n return false;\n }\n\n if ((!this.editMode || this.cloneMode) && !this.allowPersonal && this.cipher.organizationId == null) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('personalOwnershipSubmitError'));\n return false;\n }\n\n if ((!this.editMode || this.cloneMode) && 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 // Allows saving of selected collections during \"Add\" and \"Clone\" flows\n if ((!this.editMode || this.cloneMode) && this.cipher.organizationId != null) {\n this.cipher.collectionIds = this.collections == null ? [] :\n this.collections.filter((c) => (c as any).checked).map((c) => c.id);\n }\n\n // Clear current Cipher Id to trigger \"Add\" cipher flow\n if (this.cloneMode) {\n this.cipher.id = 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.platformUtilsService.eventTrack(this.editMode && !this.cloneMode ? 'Edited Cipher' : 'Added Cipher');\n this.platformUtilsService.showToast('success', null,\n this.i18nService.t(this.editMode && !this.cloneMode ? 'editedItem' : 'addedItem'));\n this.onSavedCipher.emit(this.cipher);\n this.messagingService.send(this.editMode && !this.cloneMode ? 'editedCipher' : 'addedCipher');\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 f.newField = true;\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 trackByFunction(index: number, item: any) {\n return index;\n }\n\n cancel() {\n this.onCancelled.emit(this.cipher);\n }\n\n attachments() {\n this.onEditAttachments.emit(this.cipher);\n }\n\n share() {\n this.onShareCipher.emit(this.cipher);\n }\n\n editCollections() {\n this.onEditCollections.emit(this.cipher);\n }\n\n async delete(): Promise {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t(this.cipher.isDeleted ? 'permanentlyDeleteItemConfirmation' : 'deleteItemConfirmation'),\n this.i18nService.t('deleteItem'), 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.platformUtilsService.eventTrack((this.cipher.isDeleted ? 'Permanently ' : '') + 'Deleted Cipher');\n this.platformUtilsService.showToast('success', null,\n this.i18nService.t(this.cipher.isDeleted ? 'permanentlyDeletedItem' : 'deletedItem'));\n this.onDeletedCipher.emit(this.cipher);\n this.messagingService.send(this.cipher.isDeleted ? 'permanentlyDeletedCipher' : 'deletedCipher');\n } catch { }\n\n return true;\n }\n\n async restore(): Promise {\n if (!this.cipher.isDeleted) {\n return false;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('restoreItemConfirmation'), this.i18nService.t('restoreItem'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.restorePromise = this.restoreCipher();\n await this.restorePromise;\n this.platformUtilsService.eventTrack('Restored Cipher');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('restoredItem'));\n this.onRestoredCipher.emit(this.cipher);\n this.messagingService.send('restoredCipher');\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.platformUtilsService.eventTrack('Toggled Password on Edit');\n this.showPassword = !this.showPassword;\n document.getElementById('loginPassword').focus();\n if (this.editMode && this.showPassword) {\n this.eventService.collect(EventType.Cipher_ClientToggledPasswordVisible, this.cipherId);\n }\n }\n\n toggleCardCode() {\n this.platformUtilsService.eventTrack('Toggled CardCode on Edit');\n this.showCardCode = !this.showCardCode;\n document.getElementById('cardCode').focus();\n if (this.editMode && this.showCardCode) {\n this.eventService.collect(EventType.Cipher_ClientToggledCardCodeVisible, this.cipherId);\n }\n }\n\n toggleFieldValue(field: FieldView) {\n const f = (field as any);\n f.showValue = !f.showValue;\n if (this.editMode && f.showValue) {\n this.eventService.collect(EventType.Cipher_ClientToggledHiddenFieldVisible, this.cipherId);\n }\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 drop(event: CdkDragDrop) {\n moveItemInArray(this.cipher.fields, event.previousIndex, event.currentIndex);\n }\n\n async organizationChanged() {\n if (this.writeableCollections != null) {\n this.writeableCollections.forEach((c) => (c as any).checked = false);\n }\n if (this.cipher.organizationId != null) {\n this.collections = this.writeableCollections.filter((c) => c.organizationId === this.cipher.organizationId);\n const org = await this.userService.getOrganization(this.cipher.organizationId);\n if (org != null) {\n this.cipher.organizationUseTotp = org.useTotp;\n }\n } else {\n this.collections = [];\n }\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.platformUtilsService.eventTrack('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.platformUtilsService.showToast('warning', null,\n this.i18nService.t('passwordExposed', matches.toString()));\n } else {\n this.platformUtilsService.showToast('success', null, this.i18nService.t('passwordSafe'));\n }\n }\n\n protected async loadCollections() {\n const allCollections = await this.collectionService.getAllDecrypted();\n return allCollections.filter((c) => !c.readOnly);\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.cipher.isDeleted ? this.cipherService.deleteWithServer(this.cipher.id)\n : this.cipherService.softDeleteWithServer(this.cipher.id);\n }\n\n protected restoreCipher() {\n return this.cipherService.restoreWithServer(this.cipher.id);\n }\n}\n","import {\n Directive,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\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 { UserService } from '../../abstractions/user.service';\n\nimport { Cipher } from '../../models/domain/cipher';\n\nimport { AttachmentView } from '../../models/view/attachmentView';\nimport { CipherView } from '../../models/view/cipherView';\n\n@Directive()\nexport class AttachmentsComponent implements OnInit {\n @Input() cipherId: string;\n @Output() onUploadedAttachment = new EventEmitter();\n @Output() onDeletedAttachment = new EventEmitter();\n @Output() onReuploadedAttachment = new EventEmitter();\n\n cipher: CipherView;\n cipherDomain: Cipher;\n hasUpdatedKey: boolean;\n canAccessAttachments: boolean;\n formPromise: Promise;\n deletePromises: { [id: string]: Promise; } = {};\n reuploadPromises: { [id: string]: Promise; } = {};\n\n constructor(protected cipherService: CipherService, protected i18nService: I18nService,\n protected cryptoService: CryptoService, protected userService: UserService,\n protected platformUtilsService: PlatformUtilsService, protected win: Window) { }\n\n async ngOnInit() {\n await this.init();\n }\n\n async submit() {\n if (!this.hasUpdatedKey) {\n this.platformUtilsService.showToast('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.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n if (files[0].size > 104857600) { // 100 MB\n this.platformUtilsService.showToast('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.platformUtilsService.eventTrack('Added Attachment');\n this.platformUtilsService.showToast('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.platformUtilsService.eventTrack('Deleted Attachment');\n this.platformUtilsService.showToast('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.platformUtilsService.showToast('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-store' }));\n if (response.status !== 200) {\n this.platformUtilsService.showToast('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 = attachment.key != null ? attachment.key :\n 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.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n }\n\n a.downloading = false;\n }\n\n protected async init() {\n this.cipherDomain = await this.loadCipher();\n this.cipher = await this.cipherDomain.decrypt();\n\n this.hasUpdatedKey = await this.cryptoService.hasEncKey();\n const canAccessPremium = await this.userService.canAccessPremium();\n this.canAccessAttachments = canAccessPremium || 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 protected async reuploadCipherAttachment(attachment: AttachmentView, admin: boolean) {\n const a = (attachment as any);\n if (attachment.key != null || a.downloading || this.reuploadPromises[attachment.id] != null) {\n return;\n }\n\n try {\n this.reuploadPromises[attachment.id] = Promise.resolve().then(async () => {\n // 1. Download\n a.downloading = true;\n const response = await fetch(new Request(attachment.url, { cache: 'no-store' }));\n if (response.status !== 200) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n a.downloading = false;\n return;\n }\n\n try {\n // 2. Resave\n const buf = await response.arrayBuffer();\n const key = attachment.key != null ? attachment.key :\n await this.cryptoService.getOrgKey(this.cipher.organizationId);\n const decBuf = await this.cryptoService.decryptFromBytes(buf, key);\n this.cipherDomain = await this.cipherService.saveAttachmentRawWithServer(\n this.cipherDomain, attachment.fileName, decBuf, admin);\n this.cipher = await this.cipherDomain.decrypt();\n\n // 3. Delete old\n this.deletePromises[attachment.id] = this.deleteCipherAttachment(attachment.id);\n await this.deletePromises[attachment.id];\n const foundAttachment = this.cipher.attachments.filter((a2) => a2.id === attachment.id);\n if (foundAttachment.length > 0) {\n const i = this.cipher.attachments.indexOf(foundAttachment[0]);\n if (i > -1) {\n this.cipher.attachments.splice(i, 1);\n }\n }\n\n this.platformUtilsService.eventTrack('Reuploaded Attachment');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('attachmentSaved'));\n this.onReuploadedAttachment.emit();\n } catch (e) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n }\n\n a.downloading = false;\n });\n await this.reuploadPromises[attachment.id];\n } catch { }\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 Directive,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { SearchService } from '../../abstractions/search.service';\n\nimport { CipherView } from '../../models/view/cipherView';\n\n@Directive()\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 pagedCiphers: CipherView[] = [];\n searchText: string;\n searchPlaceholder: string = null;\n filter: (cipher: CipherView) => boolean = null;\n deleted: boolean = false;\n\n protected searchPending = false;\n protected didScroll = false;\n protected pageSize = 100;\n\n private searchTimeout: any = null;\n private pagedCiphersCount = 0;\n private refreshing = false;\n\n constructor(protected searchService: SearchService) { }\n\n async load(filter: (cipher: CipherView) => boolean = null, deleted: boolean = false) {\n this.deleted = deleted || false;\n await this.applyFilter(filter);\n this.loaded = true;\n }\n\n loadMore() {\n if (this.ciphers.length <= this.pageSize) {\n return;\n }\n const pagedLength = this.pagedCiphers.length;\n let pagedSize = this.pageSize;\n if (this.refreshing && pagedLength === 0 && this.pagedCiphersCount > this.pageSize) {\n pagedSize = this.pagedCiphersCount;\n }\n if (this.ciphers.length > pagedLength) {\n this.pagedCiphers = this.pagedCiphers.concat(this.ciphers.slice(pagedLength, pagedLength + pagedSize));\n }\n this.pagedCiphersCount = this.pagedCiphers.length;\n this.didScroll = this.pagedCiphers.length > this.pageSize;\n }\n\n async reload(filter: (cipher: CipherView) => boolean = null, deleted: boolean = false) {\n this.loaded = false;\n this.ciphers = [];\n await this.load(filter, deleted);\n }\n\n async refresh() {\n try {\n this.refreshing = true;\n await this.reload(this.filter, this.deleted);\n } finally {\n this.refreshing = false;\n }\n }\n\n async applyFilter(filter: (cipher: CipherView) => boolean = null) {\n this.filter = filter;\n await this.search(null);\n }\n\n async search(timeout: number = null) {\n this.searchPending = false;\n if (this.searchTimeout != null) {\n clearTimeout(this.searchTimeout);\n }\n const deletedFilter: (cipher: CipherView) => boolean = (c) => c.isDeleted === this.deleted;\n if (timeout == null) {\n this.ciphers = await this.searchService.searchCiphers(this.searchText, [this.filter, deletedFilter], null);\n await this.resetPaging();\n return;\n }\n this.searchPending = true;\n this.searchTimeout = setTimeout(async () => {\n this.ciphers = await this.searchService.searchCiphers(this.searchText, [this.filter, deletedFilter], null);\n await this.resetPaging();\n this.searchPending = false;\n }, timeout);\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 isSearching() {\n return !this.searchPending && this.searchService.isSearchable(this.searchText);\n }\n\n isPaging() {\n const searching = this.isSearching();\n if (searching && this.didScroll) {\n this.resetPaging();\n }\n return !searching && this.ciphers.length > this.pageSize;\n }\n\n async resetPaging() {\n this.pagedCiphers = [];\n this.loadMore();\n }\n}\n","import {\n Directive,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { CipherService } from '../../abstractions/cipher.service';\nimport { CollectionService } from '../../abstractions/collection.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { CipherView } from '../../models/view/cipherView';\nimport { CollectionView } from '../../models/view/collectionView';\n\nimport { Cipher } from '../../models/domain/cipher';\n\n@Directive()\nexport class CollectionsComponent implements OnInit {\n @Input() cipherId: string;\n @Input() allowSelectNone = false;\n @Output() onSavedCollections = new EventEmitter();\n\n formPromise: Promise;\n cipher: CipherView;\n collectionIds: string[];\n collections: CollectionView[] = [];\n\n protected cipherDomain: Cipher;\n\n constructor(protected collectionService: CollectionService, protected platformUtilsService: PlatformUtilsService,\n protected i18nService: I18nService, protected cipherService: CipherService) { }\n\n async ngOnInit() {\n await this.load();\n }\n\n async load() {\n this.cipherDomain = await this.loadCipher();\n this.collectionIds = this.loadCipherCollections();\n this.cipher = await this.cipherDomain.decrypt();\n this.collections = await this.loadCollections();\n\n this.collections.forEach((c) => (c as any).checked = false);\n if (this.collectionIds != null) {\n this.collections.forEach((c) => {\n (c as any).checked = this.collectionIds != null && this.collectionIds.indexOf(c.id) > -1;\n });\n }\n }\n\n async submit() {\n const selectedCollectionIds = this.collections\n .filter((c) => !!(c as any).checked)\n .map((c) => c.id);\n if (!this.allowSelectNone && selectedCollectionIds.length === 0) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectOneCollection'));\n return;\n }\n this.cipherDomain.collectionIds = selectedCollectionIds;\n try {\n this.formPromise = this.saveCollections();\n await this.formPromise;\n this.onSavedCollections.emit();\n this.platformUtilsService.eventTrack('Edited Cipher Collections');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('editedItem'));\n } catch { }\n }\n\n protected loadCipher() {\n return this.cipherService.get(this.cipherId);\n }\n\n protected loadCipherCollections() {\n return this.cipherDomain.collectionIds;\n }\n\n protected async loadCollections() {\n const allCollections = await this.collectionService.getAllDecrypted();\n return allCollections.filter((c) => !c.readOnly && c.organizationId === this.cipher.organizationId);\n }\n\n protected saveCollections() {\n return this.cipherService.saveCollectionsWithServer(this.cipherDomain);\n }\n}\n","import {\n Directive,\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 { TreeNode } from '../../models/domain/treeNode';\n\nimport { CollectionService } from '../../abstractions/collection.service';\nimport { FolderService } from '../../abstractions/folder.service';\nimport { StorageService } from '../../abstractions/storage.service';\nimport { UserService } from '../../abstractions/user.service';\n\nimport { ConstantsService } from '../../services/constants.service';\n\n@Directive()\nexport class GroupingsComponent {\n @Input() showFolders = true;\n @Input() showCollections = true;\n @Input() showFavorites = true;\n @Input() showTrash = true;\n\n @Output() onAllClicked = new EventEmitter();\n @Output() onFavoritesClicked = new EventEmitter();\n @Output() onTrashClicked = 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 nestedFolders: TreeNode[];\n collections: CollectionView[];\n nestedCollections: TreeNode[];\n loaded: boolean = false;\n cipherType = CipherType;\n selectedAll: boolean = false;\n selectedFavorites: boolean = false;\n selectedTrash: boolean = false;\n selectedType: CipherType = null;\n selectedFolder: boolean = false;\n selectedFolderId: string = null;\n selectedCollectionId: string = null;\n\n private collapsedGroupings: Set;\n private collapsedGroupingsKey: string;\n\n constructor(protected collectionService: CollectionService, protected folderService: FolderService,\n protected storageService: StorageService, protected userService: UserService) { }\n\n async load(setLoaded = true) {\n const userId = await this.userService.getUserId();\n this.collapsedGroupingsKey = ConstantsService.collapsedGroupingsKey + '_' + userId;\n const collapsedGroupings = await this.storageService.get(this.collapsedGroupingsKey);\n if (collapsedGroupings == null) {\n this.collapsedGroupings = new Set();\n } else {\n this.collapsedGroupings = new Set(collapsedGroupings);\n }\n\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 this.nestedCollections = await this.collectionService.getAllNested(this.collections);\n }\n\n async loadFolders() {\n if (!this.showFolders) {\n return;\n }\n this.folders = await this.folderService.getAllDecrypted();\n this.nestedFolders = await this.folderService.getAllNested();\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 selectTrash() {\n this.clearSelections();\n this.selectedTrash = true;\n this.onTrashClicked.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.selectedTrash = false;\n this.selectedType = null;\n this.selectedFolder = false;\n this.selectedFolderId = null;\n this.selectedCollectionId = null;\n }\n\n collapse(grouping: FolderView | CollectionView, idPrefix = '') {\n if (grouping.id == null) {\n return;\n }\n const id = idPrefix + grouping.id;\n if (this.isCollapsed(grouping, idPrefix)) {\n this.collapsedGroupings.delete(id);\n } else {\n this.collapsedGroupings.add(id);\n }\n this.storageService.save(this.collapsedGroupingsKey, this.collapsedGroupings);\n }\n\n isCollapsed(grouping: FolderView | CollectionView, idPrefix = '') {\n return this.collapsedGroupings.has(idPrefix + grouping.id);\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","import { EmailTokenRequest } from './emailTokenRequest';\n\nexport class EmailRequest extends EmailTokenRequest {\n newMasterPasswordHash: string;\n token: string;\n key: string;\n}\n","import { PasswordRequest } from './passwordRequest';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class KdfRequest extends PasswordRequest {\n kdf: KdfType;\n kdfIterations: number;\n}\n","export class UpdateDomainsRequest {\n equivalentDomains: string[][];\n excludedGlobalEquivalentDomains: number[];\n}\n","import {\n Directive,\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\nimport { PasswordGeneratorPolicyOptions } from '../../models/domain/passwordGeneratorPolicyOptions';\n\n@Directive()\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 enforcedPolicyOptions: PasswordGeneratorPolicyOptions;\n\n constructor(protected passwordGenerationService: PasswordGenerationService,\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\n private win: Window) { }\n\n async ngOnInit() {\n const optionsResponse = await this.passwordGenerationService.getOptions();\n this.options = optionsResponse[0];\n this.enforcedPolicyOptions = optionsResponse[1];\n this.avoidAmbiguous = !this.options.ambiguous;\n this.options.type = this.options.type === 'passphrase' ? 'passphrase' : 'password';\n this.password = await this.passwordGenerationService.generatePassword(this.options);\n this.platformUtilsService.eventTrack('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.platformUtilsService.eventTrack('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.platformUtilsService.eventTrack('Regenerated Password');\n }\n\n copy() {\n this.platformUtilsService.eventTrack('Copied Generated Password');\n const copyOptions = this.win != null ? { window: this.win } : null;\n this.platformUtilsService.copyToClipboard(this.password, copyOptions);\n this.platformUtilsService.showToast('info', null,\n this.i18nService.t('valueCopied', this.i18nService.t('password')));\n }\n\n select() {\n this.platformUtilsService.eventTrack('Selected Generated Password');\n this.onSelected.emit(this.password);\n }\n\n toggleOptions() {\n this.showOptions = !this.showOptions;\n }\n\n private normalizeOptions() {\n // Application level normalize options depedent on class variables\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 if (this.win != null) {\n const lowercase = this.win.document.querySelector('#lowercase') as HTMLInputElement;\n if (lowercase) {\n lowercase.checked = true;\n }\n }\n }\n\n this.passwordGenerationService.normalizeOptions(this.options, this.enforcedPolicyOptions);\n }\n}\n","import { OnInit } from '@angular/core';\n\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { GeneratedPasswordHistory } from '../../models/domain/generatedPasswordHistory';\n\nexport class PasswordGeneratorHistoryComponent implements OnInit {\n history: GeneratedPasswordHistory[] = [];\n\n constructor(protected passwordGenerationService: PasswordGenerationService,\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\n private win: Window) { }\n\n async ngOnInit() {\n this.history = await this.passwordGenerationService.getHistory();\n }\n\n clear() {\n this.history = [];\n this.passwordGenerationService.clear();\n }\n\n copy(password: string) {\n this.platformUtilsService.eventTrack('Copied Historical Password');\n const copyOptions = this.win != null ? { window: this.win } : null;\n this.platformUtilsService.copyToClipboard(password, copyOptions);\n this.platformUtilsService.showToast('info', null,\n this.i18nService.t('valueCopied', this.i18nService.t('password')));\n }\n}\n","import {\n Directive,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\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\n@Directive()\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 platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n await this.init();\n }\n\n async submit(): Promise {\n if (this.folder.name == null || this.folder.name === '') {\n this.platformUtilsService.showToast('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.platformUtilsService.eventTrack(this.editMode ? 'Edited Folder' : 'Added Folder');\n this.platformUtilsService.showToast('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.platformUtilsService.eventTrack('Deleted Folder');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('deletedFolder'));\n this.onDeletedFolder.emit(this.folder);\n } catch { }\n\n return true;\n }\n\n protected async init() {\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","import {\n Directive,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\n\nimport { CipherService } from '../../abstractions/cipher.service';\nimport { CollectionService } from '../../abstractions/collection.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { UserService } from '../../abstractions/user.service';\n\nimport { Organization } from '../../models/domain/organization';\nimport { CipherView } from '../../models/view/cipherView';\nimport { CollectionView } from '../../models/view/collectionView';\n\nimport { Utils } from '../../misc/utils';\n\n@Directive()\nexport class ShareComponent implements OnInit {\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 protected writeableCollections: CollectionView[] = [];\n\n constructor(protected collectionService: CollectionService, protected platformUtilsService: PlatformUtilsService,\n protected i18nService: I18nService, protected userService: UserService,\n protected cipherService: CipherService) { }\n\n async ngOnInit() {\n await this.load();\n }\n\n async load() {\n const allCollections = await this.collectionService.getAllDecrypted();\n this.writeableCollections = allCollections.map((c) => c).filter((c) => !c.readOnly);\n const orgs = await this.userService.getAllOrganizations();\n this.organizations = orgs.sort(Utils.getSortFunction(this.i18nService, 'name'))\n .filter((o) => o.enabled && o.status === OrganizationUserStatusType.Confirmed);\n\n const cipherDomain = await this.cipherService.get(this.cipherId);\n this.cipher = await cipherDomain.decrypt();\n if (this.organizationId == null && this.organizations.length > 0) {\n this.organizationId = this.organizations[0].id;\n }\n this.filterCollections();\n }\n\n filterCollections() {\n this.writeableCollections.forEach((c) => (c as any).checked = 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(): Promise {\n const selectedCollectionIds = this.collections\n .filter((c) => !!(c as any).checked)\n .map((c) => c.id);\n if (selectedCollectionIds.length === 0) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectOneCollection'));\n return;\n }\n\n const cipherDomain = await this.cipherService.get(this.cipherId);\n const cipherView = await cipherDomain.decrypt();\n\n try {\n this.formPromise = this.cipherService.shareWithServer(cipherView, this.organizationId,\n selectedCollectionIds).then(async () => {\n this.onSharedCipher.emit();\n this.platformUtilsService.eventTrack('Shared Cipher');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('sharedItem'));\n });\n await this.formPromise;\n return true;\n } catch { }\n return false;\n }\n\n get canSave() {\n if (this.collections != null) {\n for (let i = 0; i < this.collections.length; i++) {\n if ((this.collections[i] as any).checked) {\n return true;\n }\n }\n }\n return false;\n }\n}\n","export { AttachmentData } from './attachmentData';\nexport { CardData } from './cardData';\nexport { CipherData } from './cipherData';\nexport { CollectionData } from './collectionData';\nexport { FieldData } from './fieldData';\nexport { FolderData } from './folderData';\nexport { IdentityData } from './identityData';\nexport { LoginData } from './loginData';\nexport { LoginUriData } from './loginUriData';\nexport { SecureNoteData } from './secureNoteData';\n","export { Attachment } from './attachment';\nexport { AuthResult } from './authResult';\nexport { Card } from './card';\nexport { Cipher } from './cipher';\nexport { CipherString } from './cipherString';\nexport { Collection } from './collection';\nexport { EncryptedObject } from './encryptedObject';\nexport { EnvironmentUrls } from './environmentUrls';\nexport { Field } from './field';\nexport { Folder } from './folder';\nexport { Identity } from './identity';\nexport { Login } from './login';\nexport { LoginUri } from './loginUri';\nexport { GeneratedPasswordHistory } from './generatedPasswordHistory';\nexport { SecureNote } from './secureNote';\nexport { SymmetricCryptoKey } from './symmetricCryptoKey';\n","export class EmergencyAccessConfirmRequest {\n key: string;\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class AttachmentResponse extends BaseResponse {\n id: string;\n url: string;\n fileName: string;\n key: string;\n size: string;\n sizeName: string;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.url = this.getResponseProperty('Url');\n this.fileName = this.getResponseProperty('FileName');\n this.key = this.getResponseProperty('Key');\n this.size = this.getResponseProperty('Size');\n this.sizeName = this.getResponseProperty('SizeName');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class PasswordHistoryResponse extends BaseResponse {\n password: string;\n lastUsedDate: string;\n\n constructor(response: any) {\n super(response);\n this.password = this.getResponseProperty('Password');\n this.lastUsedDate = this.getResponseProperty('LastUsedDate');\n }\n}\n","import { EmergencyAccessType } from '../../enums/emergencyAccessType';\n\nexport class EmergencyAccessInviteRequest {\n email: string;\n type: EmergencyAccessType;\n waitTimeDays: number;\n}\n","export class EmergencyAccessPasswordRequest {\n newMasterPasswordHash: string;\n key: string;\n}\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 { ConsoleLogService } from 'jslib/services/consoleLog.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 { EventService as EventLoggingService } from 'jslib/services/event.service';\nimport { ExportService } from 'jslib/services/export.service';\nimport { FolderService } from 'jslib/services/folder.service';\nimport { ImportService } from 'jslib/services/import.service';\nimport { NotificationsService } from 'jslib/services/notifications.service';\nimport { PasswordGenerationService } from 'jslib/services/passwordGeneration.service';\nimport { PolicyService } from 'jslib/services/policy.service';\nimport { SearchService } from 'jslib/services/search.service';\nimport { SendService } from 'jslib/services/send.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 { VaultTimeoutService } from 'jslib/services/vaultTimeout.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 { EventService as EventLoggingServiceAbstraction } from 'jslib/abstractions/event.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 { ImportService as ImportServiceAbstraction } from 'jslib/abstractions/import.service';\nimport { LogService as LogServiceAbstraction } from 'jslib/abstractions/log.service';\nimport { MessagingService as MessagingServiceAbstraction } from 'jslib/abstractions/messaging.service';\nimport { NotificationsService as NotificationsServiceAbstraction } from 'jslib/abstractions/notifications.service';\nimport {\n PasswordGenerationService as PasswordGenerationServiceAbstraction,\n} from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService as PlatformUtilsServiceAbstraction } from 'jslib/abstractions/platformUtils.service';\nimport { PolicyService as PolicyServiceAbstraction } from 'jslib/abstractions/policy.service';\nimport { SearchService as SearchServiceAbstraction } from 'jslib/abstractions/search.service';\nimport { SendService as SendServiceAbstraction } from 'jslib/abstractions/send.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';\nimport { VaultTimeoutService as VaultTimeoutServiceAbstraction } from 'jslib/abstractions/vaultTimeout.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, messagingService);\nconst storageService: StorageServiceAbstraction = new HtmlStorageService(platformUtilsService);\nconst secureStorageService: StorageServiceAbstraction = new MemoryStorageService();\nconst cryptoFunctionService: CryptoFunctionServiceAbstraction = new WebCryptoFunctionService(window,\n platformUtilsService);\nconst consoleLogService = new ConsoleLogService(false);\nconst cryptoService = new CryptoService(storageService,\n platformUtilsService.isDev() ? storageService : secureStorageService, cryptoFunctionService, platformUtilsService,\n consoleLogService);\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 userService = new UserService(tokenService, storageService);\nconst settingsService = new SettingsService(userService, storageService);\nexport let searchService: SearchService = null;\nconst cipherService = new CipherService(cryptoService, userService, settingsService,\n apiService, storageService, i18nService, () => searchService);\nconst folderService = new FolderService(cryptoService, userService, apiService, storageService,\n i18nService, cipherService);\nconst collectionService = new CollectionService(cryptoService, userService, storageService, i18nService);\nsearchService = new SearchService(cipherService, consoleLogService);\nconst policyService = new PolicyService(userService, storageService);\nconst sendService = new SendService(cryptoService, userService, apiService, storageService,\n i18nService, cryptoFunctionService);\nconst vaultTimeoutService = new VaultTimeoutService(cipherService, folderService, collectionService,\n cryptoService, platformUtilsService, storageService, messagingService, searchService, userService, tokenService,\n null, async () => messagingService.send('logout', { expired: false }));\nconst syncService = new SyncService(userService, apiService, settingsService,\n folderService, cipherService, cryptoService, collectionService, storageService, messagingService, policyService,\n sendService, async (expired: boolean) => messagingService.send('logout', { expired: expired }));\nconst passwordGenerationService = new PasswordGenerationService(cryptoService, storageService, policyService);\nconst totpService = new TotpService(storageService, cryptoFunctionService);\nconst containerService = new ContainerService(cryptoService);\nconst authService = new AuthService(cryptoService, apiService,\n userService, tokenService, appIdService, i18nService, platformUtilsService, messagingService, vaultTimeoutService,\n consoleLogService);\nconst exportService = new ExportService(folderService, cipherService, apiService);\nconst importService = new ImportService(cipherService, folderService, apiService, i18nService, collectionService);\nconst notificationsService = new NotificationsService(userService, syncService, appIdService,\n apiService, vaultTimeoutService, async () => messagingService.send('logout', { expired: true }), consoleLogService);\nconst environmentService = new EnvironmentService(apiService, storageService, notificationsService);\nconst auditService = new AuditService(cryptoFunctionService, apiService);\nconst eventLoggingService = new EventLoggingService(storageService, apiService, userService, cipherService);\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 await (storageService as HtmlStorageService).init();\n const isDev = platformUtilsService.isDev();\n if (!isDev && platformUtilsService.isSelfHost()) {\n environmentService.baseUrl = window.location.origin;\n } else {\n environmentService.notificationsUrl = isDev ? 'http://localhost:61840' :\n 'https://notifications.bitwarden.com'; // window.location.origin + '/notifications';\n environmentService.enterpriseUrl = isDev ? 'http://localhost:52313' :\n 'https://portal.bitwarden.com'; // window.location.origin + '/portal';\n }\n apiService.setUrls({\n base: isDev ? null : window.location.origin,\n api: isDev ? 'http://localhost:4000' : null,\n identity: isDev ? 'http://localhost:33656' : null,\n events: isDev ? 'http://localhost:46273' : null,\n\n // Uncomment these (and comment out the above) if you want to target production\n // servers for local development.\n\n // base: null,\n // api: 'https://api.bitwarden.com',\n // identity: 'https://identity.bitwarden.com',\n // events: 'https://events.bitwarden.com',\n });\n setTimeout(() => notificationsService.init(environmentService), 3000);\n\n vaultTimeoutService.init(true);\n const locale = await storageService.get(ConstantsService.localeKey);\n await i18nService.init(locale);\n eventLoggingService.init(true);\n 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 stateService.save('enableGravatars', await storageService.get('enableGravatars'));\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: VaultTimeoutServiceAbstraction, useValue: vaultTimeoutService },\n { provide: StorageServiceAbstraction, useValue: storageService },\n { provide: StateServiceAbstraction, useValue: stateService },\n { provide: ExportServiceAbstraction, useValue: exportService },\n { provide: SearchServiceAbstraction, useValue: searchService },\n { provide: ImportServiceAbstraction, useValue: importService },\n { provide: NotificationsServiceAbstraction, useValue: notificationsService },\n { provide: CryptoFunctionServiceAbstraction, useValue: cryptoFunctionService },\n { provide: EventLoggingServiceAbstraction, useValue: eventLoggingService },\n { provide: PolicyServiceAbstraction, useValue: policyService },\n { provide: SendServiceAbstraction, useValue: sendService },\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","import { MessagingService } from 'jslib/abstractions/messaging.service';\n\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nexport class BroadcasterMessagingService implements MessagingService {\n constructor(private broadcasterService: BroadcasterService) { }\n\n send(subscriber: string, arg: any = {}) {\n const message = Object.assign({}, { command: subscriber }, arg);\n this.broadcasterService.send(message);\n }\n}\n","import { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { 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, 'rememberEmail', 'enableGravatars', 'enableFullWidth',\n ConstantsService.localeKey, ConstantsService.autoConfirmFingerprints,\n ConstantsService.vaultTimeoutKey, ConstantsService.vaultTimeoutActionKey, ConstantsService.ssoCodeVerifierKey,\n ConstantsService.ssoStateKey, 'ssoOrgIdentifier']);\n private localStorageStartsWithKeys = ['twoFactorToken_', ConstantsService.collapsedGroupingsKey + '_'];\n private memoryStorageStartsWithKeys = ['ciphers_', 'folders_', 'collections_', 'settings_', 'lastSync_'];\n private memoryStorage = new Map();\n\n constructor(private platformUtilsService: PlatformUtilsService) { }\n\n async init() {\n // LockOption -> VaultTimeout (uses the same legacy string value for backwards compat)\n const vaultTimeout = await this.get(ConstantsService.vaultTimeoutKey);\n if (vaultTimeout == null && !this.platformUtilsService.isDev()) {\n await this.save(ConstantsService.vaultTimeoutKey, 15);\n }\n\n // Default Action to lock\n const vaultTimeoutAction = await this.get(ConstantsService.vaultTimeoutActionKey);\n if (vaultTimeoutAction == null) {\n await this.save(ConstantsService.vaultTimeoutActionKey, 'lock');\n }\n }\n\n get(key: string): Promise {\n let json: string = null;\n if (this.isLocalStorage(key)) {\n json = window.localStorage.getItem(key);\n } else if (this.isMemoryStorage(key)) {\n json = this.memoryStorage.get(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 if (this.isMemoryStorage(key)) {\n this.memoryStorage.set(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 if (this.isMemoryStorage(key)) {\n this.memoryStorage.delete(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 private isMemoryStorage(key: string): boolean {\n for (const swKey of this.memoryStorageStartsWithKeys) {\n if (key.startsWith(swKey)) {\n return true;\n }\n }\n return false;\n }\n}\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 { 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';\nexport { VaultTimeoutService } from './vaultTimeout.service';\n","import { BaseResponse } from './baseResponse';\n\nexport class ApiKeyResponse extends BaseResponse {\n apiKey: string;\n\n constructor(response: any) {\n super(response);\n this.apiKey = this.getResponseProperty('ApiKey');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { PaymentMethodType } from '../../enums/paymentMethodType';\nimport { TransactionType } from '../../enums/transactionType';\n\nexport class BillingResponse extends BaseResponse {\n balance: number;\n paymentSource: BillingSourceResponse;\n invoices: BillingInvoiceResponse[] = [];\n transactions: BillingTransactionResponse[] = [];\n\n constructor(response: any) {\n super(response);\n this.balance = this.getResponseProperty('Balance');\n const paymentSource = this.getResponseProperty('PaymentSource');\n const transactions = this.getResponseProperty('Transactions');\n const invoices = this.getResponseProperty('Invoices');\n this.paymentSource = paymentSource == null ? null : new BillingSourceResponse(paymentSource);\n if (transactions != null) {\n this.transactions = transactions.map((t: any) => new BillingTransactionResponse(t));\n }\n if (invoices != null) {\n this.invoices = invoices.map((i: any) => new BillingInvoiceResponse(i));\n }\n }\n}\n\nexport class BillingSourceResponse extends BaseResponse {\n type: PaymentMethodType;\n cardBrand: string;\n description: string;\n needsVerification: boolean;\n\n constructor(response: any) {\n super(response);\n this.type = this.getResponseProperty('Type');\n this.cardBrand = this.getResponseProperty('CardBrand');\n this.description = this.getResponseProperty('Description');\n this.needsVerification = this.getResponseProperty('NeedsVerification');\n }\n}\n\nexport class BillingInvoiceResponse extends BaseResponse {\n url: string;\n pdfUrl: string;\n number: string;\n paid: boolean;\n date: string;\n amount: number;\n\n constructor(response: any) {\n super(response);\n this.url = this.getResponseProperty('Url');\n this.pdfUrl = this.getResponseProperty('PdfUrl');\n this.number = this.getResponseProperty('Number');\n this.paid = this.getResponseProperty('Paid');\n this.date = this.getResponseProperty('Date');\n this.amount = this.getResponseProperty('Amount');\n }\n}\n\nexport class BillingTransactionResponse extends BaseResponse {\n createdDate: string;\n amount: number;\n refunded: boolean;\n partiallyRefunded: boolean;\n refundedAmount: number;\n type: TransactionType;\n paymentMethodType: PaymentMethodType;\n details: string;\n\n constructor(response: any) {\n super(response);\n this.createdDate = this.getResponseProperty('CreatedDate');\n this.amount = this.getResponseProperty('Amount');\n this.refunded = this.getResponseProperty('Refunded');\n this.partiallyRefunded = this.getResponseProperty('PartiallyRefunded');\n this.refundedAmount = this.getResponseProperty('RefundedAmount');\n this.type = this.getResponseProperty('Type');\n this.paymentMethodType = this.getResponseProperty('PaymentMethodType');\n this.details = this.getResponseProperty('Details');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class BreachAccountResponse extends BaseResponse {\n addedDate: string;\n breachDate: string;\n dataClasses: string[];\n description: string;\n domain: string;\n isActive: boolean;\n isVerified: boolean;\n logoPath: string;\n modifiedDate: string;\n name: string;\n pwnCount: number;\n title: string;\n\n constructor(response: any) {\n super(response);\n this.addedDate = this.getResponseProperty('AddedDate');\n this.breachDate = this.getResponseProperty('BreachDate');\n this.dataClasses = this.getResponseProperty('DataClasses');\n this.description = this.getResponseProperty('Description');\n this.domain = this.getResponseProperty('Domain');\n this.isActive = this.getResponseProperty('IsActive');\n this.isVerified = this.getResponseProperty('IsVerified');\n this.logoPath = this.getResponseProperty('LogoPath');\n this.modifiedDate = this.getResponseProperty('ModifiedDate');\n this.name = this.getResponseProperty('Name');\n this.pwnCount = this.getResponseProperty('PwnCount');\n this.title = this.getResponseProperty('Title');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class GlobalDomainResponse extends BaseResponse {\n type: number;\n domains: string[];\n excluded: boolean;\n\n constructor(response: any) {\n super(response);\n this.type = this.getResponseProperty('Type');\n this.domains = this.getResponseProperty('Domains');\n this.excluded = this.getResponseProperty('Excluded');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { DeviceType } from '../../enums/deviceType';\nimport { EventType } from '../../enums/eventType';\n\nexport class EventResponse extends BaseResponse {\n type: EventType;\n userId: string;\n organizationId: string;\n cipherId: string;\n collectionId: string;\n groupId: string;\n policyId: string;\n organizationUserId: string;\n actingUserId: string;\n date: string;\n deviceType: DeviceType;\n ipAddress: string;\n\n constructor(response: any) {\n super(response);\n this.type = this.getResponseProperty('Type');\n this.userId = this.getResponseProperty('UserId');\n this.organizationId = this.getResponseProperty('OrganizationId');\n this.cipherId = this.getResponseProperty('CipherId');\n this.collectionId = this.getResponseProperty('CollectionId');\n this.groupId = this.getResponseProperty('GroupId');\n this.policyId = this.getResponseProperty('PolicyId');\n this.organizationUserId = this.getResponseProperty('OrganizationUserId');\n this.actingUserId = this.getResponseProperty('ActingUserId');\n this.date = this.getResponseProperty('Date');\n this.deviceType = this.getResponseProperty('DeviceType');\n this.ipAddress = this.getResponseProperty('IpAddress');\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nexport class GroupResponse extends BaseResponse {\n id: string;\n organizationId: string;\n name: string;\n accessAll: boolean;\n externalId: string;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.organizationId = this.getResponseProperty('OrganizationId');\n this.name = this.getResponseProperty('Name');\n this.accessAll = this.getResponseProperty('AccessAll');\n this.externalId = this.getResponseProperty('ExternalId');\n }\n}\n\nexport class GroupDetailsResponse extends GroupResponse {\n collections: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n const collections = this.getResponseProperty('Collections');\n if (collections != null) {\n this.collections = collections.map((c: any) => new SelectionReadOnlyResponse(c));\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class IdentityTokenResponse extends BaseResponse {\n accessToken: string;\n expiresIn: number;\n refreshToken: string;\n tokenType: string;\n\n resetMasterPassword: boolean;\n privateKey: string;\n key: string;\n twoFactorToken: string;\n kdf: KdfType;\n kdfIterations: number;\n\n constructor(response: any) {\n super(response);\n this.accessToken = response.access_token;\n this.expiresIn = response.expires_in;\n this.refreshToken = response.refresh_token;\n this.tokenType = response.token_type;\n\n this.resetMasterPassword = this.getResponseProperty('ResetMasterPassword');\n this.privateKey = this.getResponseProperty('PrivateKey');\n this.key = this.getResponseProperty('Key');\n this.twoFactorToken = this.getResponseProperty('TwoFactorToken');\n this.kdf = this.getResponseProperty('Kdf');\n this.kdfIterations = this.getResponseProperty('KdfIterations');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nexport class IdentityTwoFactorResponse extends BaseResponse {\n twoFactorProviders: TwoFactorProviderType[];\n twoFactorProviders2 = new Map();\n\n constructor(response: any) {\n super(response);\n this.twoFactorProviders = this.getResponseProperty('TwoFactorProviders');\n const twoFactorProviders2 = this.getResponseProperty('TwoFactorProviders2');\n if (twoFactorProviders2 != null) {\n for (const prop in twoFactorProviders2) {\n if (twoFactorProviders2.hasOwnProperty(prop)) {\n this.twoFactorProviders2.set(parseInt(prop, null), twoFactorProviders2[prop]);\n }\n }\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class ListResponse extends BaseResponse {\n data: T[];\n continuationToken: string;\n\n constructor(response: any, t: new (dataResponse: any) => T) {\n super(response);\n const data = this.getResponseProperty('Data');\n this.data = data == null ? [] : data.map((dr: any) => new t(dr));\n this.continuationToken = this.getResponseProperty('ContinuationToken');\n }\n}\n","import { OrganizationResponse } from './organizationResponse';\nimport {\n BillingSubscriptionResponse,\n BillingSubscriptionUpcomingInvoiceResponse,\n} from './subscriptionResponse';\n\nexport class OrganizationSubscriptionResponse extends OrganizationResponse {\n storageName: string;\n storageGb: number;\n subscription: BillingSubscriptionResponse;\n upcomingInvoice: BillingSubscriptionUpcomingInvoiceResponse;\n expiration: string;\n\n constructor(response: any) {\n super(response);\n this.storageName = this.getResponseProperty('StorageName');\n this.storageGb = this.getResponseProperty('StorageGb');\n const subscription = this.getResponseProperty('Subscription');\n this.subscription = subscription == null ? null : new BillingSubscriptionResponse(subscription);\n const upcomingInvoice = this.getResponseProperty('UpcomingInvoice');\n this.upcomingInvoice = upcomingInvoice == null ? null :\n new BillingSubscriptionUpcomingInvoiceResponse(upcomingInvoice);\n this.expiration = this.getResponseProperty('Expiration');\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nimport { PermissionsApi } from '../api/permissionsApi';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class OrganizationUserResponse extends BaseResponse {\n id: string;\n userId: string;\n type: OrganizationUserType;\n status: OrganizationUserStatusType;\n accessAll: boolean;\n permissions: PermissionsApi;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.userId = this.getResponseProperty('UserId');\n this.type = this.getResponseProperty('Type');\n this.status = this.getResponseProperty('Status');\n this.permissions = new PermissionsApi(this.getResponseProperty('Permissions'));\n this.accessAll = this.getResponseProperty('AccessAll');\n }\n}\n\nexport class OrganizationUserUserDetailsResponse extends OrganizationUserResponse {\n name: string;\n email: string;\n twoFactorEnabled: boolean;\n\n constructor(response: any) {\n super(response);\n this.name = this.getResponseProperty('Name');\n this.email = this.getResponseProperty('Email');\n this.twoFactorEnabled = this.getResponseProperty('TwoFactorEnabled');\n }\n}\n\nexport class OrganizationUserDetailsResponse extends OrganizationUserResponse {\n collections: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n const collections = this.getResponseProperty('Collections');\n if (collections != null) {\n this.collections = collections.map((c: any) => new SelectionReadOnlyResponse(c));\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { ProfileResponse } from './profileResponse';\n\nexport class PaymentResponse extends BaseResponse {\n userProfile: ProfileResponse;\n paymentIntentClientSecret: string;\n success: boolean;\n\n constructor(response: any) {\n super(response);\n const userProfile = this.getResponseProperty('UserProfile');\n if (userProfile != null) {\n this.userProfile = new ProfileResponse(userProfile);\n }\n this.paymentIntentClientSecret = this.getResponseProperty('PaymentIntentClientSecret');\n this.success = this.getResponseProperty('Success');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\nimport { PermissionsApi } from '../api/permissionsApi';\n\nexport class ProfileOrganizationResponse extends BaseResponse {\n id: string;\n name: string;\n usePolicies: boolean;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n useApi: boolean;\n useBusinessPortal: boolean;\n useSso: 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 ssoBound: boolean;\n identifier: string;\n permissions: PermissionsApi;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.name = this.getResponseProperty('Name');\n this.usePolicies = this.getResponseProperty('UsePolicies');\n this.useGroups = this.getResponseProperty('UseGroups');\n this.useDirectory = this.getResponseProperty('UseDirectory');\n this.useEvents = this.getResponseProperty('UseEvents');\n this.useTotp = this.getResponseProperty('UseTotp');\n this.use2fa = this.getResponseProperty('Use2fa');\n this.useApi = this.getResponseProperty('UseApi');\n this.useBusinessPortal = this.getResponseProperty('UseBusinessPortal');\n this.useSso = this.getResponseProperty('UseSso');\n this.selfHost = this.getResponseProperty('SelfHost');\n this.usersGetPremium = this.getResponseProperty('UsersGetPremium');\n this.seats = this.getResponseProperty('Seats');\n this.maxCollections = this.getResponseProperty('MaxCollections');\n this.maxStorageGb = this.getResponseProperty('MaxStorageGb');\n this.key = this.getResponseProperty('Key');\n this.status = this.getResponseProperty('Status');\n this.type = this.getResponseProperty('Type');\n this.enabled = this.getResponseProperty('Enabled');\n this.ssoBound = this.getResponseProperty('SsoBound');\n this.identifier = this.getResponseProperty('Identifier');\n this.permissions = new PermissionsApi(this.getResponseProperty('permissions'));\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class PreloginResponse extends BaseResponse {\n kdf: KdfType;\n kdfIterations: number;\n\n constructor(response: any) {\n super(response);\n this.kdf = this.getResponseProperty('Kdf');\n this.kdfIterations = this.getResponseProperty('KdfIterations');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { SendType } from '../../enums/sendType';\n\nimport { SendFileApi } from '../api/sendFileApi';\nimport { SendTextApi } from '../api/sendTextApi';\n\nexport class SendAccessResponse extends BaseResponse {\n id: string;\n type: SendType;\n name: string;\n file: SendFileApi;\n text: SendTextApi;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.type = this.getResponseProperty('Type');\n this.name = this.getResponseProperty('Name');\n\n const text = this.getResponseProperty('Text');\n if (text != null) {\n this.text = new SendTextApi(text);\n }\n\n const file = this.getResponseProperty('File');\n if (file != null) {\n this.file = new SendFileApi(file);\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { CipherResponse } from './cipherResponse';\nimport { CollectionDetailsResponse } from './collectionResponse';\nimport { DomainsResponse } from './domainsResponse';\nimport { FolderResponse } from './folderResponse';\nimport { PolicyResponse } from './policyResponse';\nimport { ProfileResponse } from './profileResponse';\nimport { SendResponse } from './sendResponse';\n\nexport class SyncResponse extends BaseResponse {\n profile?: ProfileResponse;\n folders: FolderResponse[] = [];\n collections: CollectionDetailsResponse[] = [];\n ciphers: CipherResponse[] = [];\n domains?: DomainsResponse;\n policies?: PolicyResponse[] = [];\n sends: SendResponse[] = [];\n\n constructor(response: any) {\n super(response);\n\n const profile = this.getResponseProperty('Profile');\n if (profile != null) {\n this.profile = new ProfileResponse(profile);\n }\n\n const folders = this.getResponseProperty('Folders');\n if (folders != null) {\n this.folders = folders.map((f: any) => new FolderResponse(f));\n }\n\n const collections = this.getResponseProperty('Collections');\n if (collections != null) {\n this.collections = collections.map((c: any) => new CollectionDetailsResponse(c));\n }\n\n const ciphers = this.getResponseProperty('Ciphers');\n if (ciphers != null) {\n this.ciphers = ciphers.map((c: any) => new CipherResponse(c));\n }\n\n const domains = this.getResponseProperty('Domains');\n if (domains != null) {\n this.domains = new DomainsResponse(domains);\n }\n\n const policies = this.getResponseProperty('Policies');\n if (policies != null) {\n this.policies = policies.map((p: any) => new PolicyResponse(p));\n }\n\n const sends = this.getResponseProperty('Sends');\n if (sends != null) {\n this.sends = sends.map((s: any) => new SendResponse(s));\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TaxInfoResponse extends BaseResponse {\n taxId: string;\n taxIdType: string;\n line1: string;\n line2: string;\n city: string;\n state: string;\n country: string;\n postalCode: string;\n\n constructor(response: any) {\n super(response);\n this.taxId = this.getResponseProperty('TaxIdNumber');\n this.taxIdType = this.getResponseProperty('TaxIdType');\n this.line1 = this.getResponseProperty('Line1');\n this.line2 = this.getResponseProperty('Line2');\n this.city = this.getResponseProperty('City');\n this.state = this.getResponseProperty('State');\n this.postalCode = this.getResponseProperty('PostalCode');\n this.country = this.getResponseProperty('Country');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TaxRateResponse extends BaseResponse {\n id: string;\n country: string;\n state: string;\n postalCode: string;\n rate: number;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.country = this.getResponseProperty('Country');\n this.state = this.getResponseProperty('State');\n this.postalCode = this.getResponseProperty('PostalCode');\n this.rate = this.getResponseProperty('Rate');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TwoFactorAuthenticatorResponse extends BaseResponse {\n enabled: boolean;\n key: string;\n\n constructor(response: any) {\n super(response);\n this.enabled = this.getResponseProperty('Enabled');\n this.key = this.getResponseProperty('Key');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TwoFactorDuoResponse extends BaseResponse {\n enabled: boolean;\n host: string;\n secretKey: string;\n integrationKey: string;\n\n constructor(response: any) {\n super(response);\n this.enabled = this.getResponseProperty('Enabled');\n this.host = this.getResponseProperty('Host');\n this.secretKey = this.getResponseProperty('SecretKey');\n this.integrationKey = this.getResponseProperty('IntegrationKey');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TwoFactorEmailResponse extends BaseResponse {\n enabled: boolean;\n email: string;\n\n constructor(response: any) {\n super(response);\n this.enabled = this.getResponseProperty('Enabled');\n this.email = this.getResponseProperty('Email');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nexport class TwoFactorProviderResponse extends BaseResponse {\n enabled: boolean;\n type: TwoFactorProviderType;\n\n constructor(response: any) {\n super(response);\n this.enabled = this.getResponseProperty('Enabled');\n this.type = this.getResponseProperty('Type');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TwoFactorRecoverResponse extends BaseResponse {\n code: string;\n\n constructor(response: any) {\n super(response);\n this.code = this.getResponseProperty('Code');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TwoFactorU2fResponse extends BaseResponse {\n enabled: boolean;\n keys: KeyResponse[];\n\n constructor(response: any) {\n super(response);\n this.enabled = this.getResponseProperty('Enabled');\n const keys = this.getResponseProperty('Keys');\n this.keys = keys == null ? null : keys.map((k: any) => new KeyResponse(k));\n }\n}\n\nexport class KeyResponse extends BaseResponse {\n name: string;\n id: number;\n compromised: boolean;\n\n constructor(response: any) {\n super(response);\n this.name = this.getResponseProperty('Name');\n this.id = this.getResponseProperty('Id');\n this.compromised = this.getResponseProperty('Compromised');\n }\n}\n\nexport class ChallengeResponse extends BaseResponse {\n userId: string;\n appId: string;\n challenge: string;\n version: string;\n\n constructor(response: any) {\n super(response);\n this.userId = this.getResponseProperty('UserId');\n this.appId = this.getResponseProperty('AppId');\n this.challenge = this.getResponseProperty('Challenge');\n this.version = this.getResponseProperty('Version');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TwoFactorYubiKeyResponse extends BaseResponse {\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 super(response);\n this.enabled = this.getResponseProperty('Enabled');\n this.key1 = this.getResponseProperty('Key1');\n this.key2 = this.getResponseProperty('Key2');\n this.key3 = this.getResponseProperty('Key3');\n this.key4 = this.getResponseProperty('Key4');\n this.key5 = this.getResponseProperty('Key5');\n this.nfc = this.getResponseProperty('Nfc');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class UserKeyResponse extends BaseResponse {\n userId: string;\n publicKey: string;\n\n constructor(response: any) {\n super(response);\n this.userId = this.getResponseProperty('UserId');\n this.publicKey = this.getResponseProperty('PublicKey');\n }\n}\n","/**\n * Use as a Decorator on async functions, it will limit how many times the function can be\n * in-flight at a time.\n *\n * Calls beyond the limit will be queued, and run when one of the active calls finishes\n */\nexport function throttle(limit: number, throttleKey: (args: any[]) => string) {\n return (target: any, propertyKey: string | symbol,\n descriptor: TypedPropertyDescriptor<(...args: any[]) => Promise>) => {\n const originalMethod: () => Promise = descriptor.value;\n const allThrottles = new Map void)[]>>();\n\n const getThrottles = (obj: any) => {\n let throttles = allThrottles.get(obj);\n if (throttles != null) {\n return throttles;\n }\n throttles = new Map void)[]>();\n allThrottles.set(obj, throttles);\n return throttles;\n };\n\n return {\n value: function(...args: any[]) {\n const throttles = getThrottles(this);\n const argsThrottleKey = throttleKey(args);\n let queue = throttles.get(argsThrottleKey);\n if (queue == null) {\n queue = [];\n throttles.set(argsThrottleKey, queue);\n }\n\n return new Promise((resolve, reject) => {\n const exec = () => {\n const onFinally = () => {\n queue.splice(queue.indexOf(exec), 1);\n if (queue.length >= limit) {\n queue[limit - 1]();\n } else if (queue.length === 0) {\n throttles.delete(argsThrottleKey);\n if (throttles.size === 0) {\n allThrottles.delete(this);\n }\n }\n };\n originalMethod.apply(this, args).then((val: any) => {\n onFinally();\n return val;\n }).catch((err: any) => {\n onFinally();\n throw err;\n }).then(resolve, reject);\n };\n queue.push(exec);\n if (queue.length <= limit) {\n exec();\n }\n });\n },\n };\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 CipherBulkRestoreRequest {\n ids: string[];\n\n constructor(ids: string[]) {\n this.ids = ids == null ? [] : ids;\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","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 { CipherView } from '../view';\n\nconst CacheTTL = 3000;\n\nexport class SortedCiphersCache {\n private readonly sortedCiphersByUrl: Map = new Map();\n private readonly timeouts: Map = new Map();\n\n constructor(private readonly comparator: (a: CipherView, b: CipherView) => number) { }\n\n isCached(url: string) {\n return this.sortedCiphersByUrl.has(url);\n }\n\n addCiphers(url: string, ciphers: CipherView[]) {\n ciphers.sort(this.comparator);\n this.sortedCiphersByUrl.set(url, new Ciphers(ciphers));\n this.resetTimer(url);\n }\n\n getLastUsed(url: string) {\n this.resetTimer(url);\n return this.isCached(url) ? this.sortedCiphersByUrl.get(url).getLastUsed() : null;\n }\n\n getLastLaunched(url: string) {\n return this.isCached(url) ? this.sortedCiphersByUrl.get(url).getLastLaunched() : null;\n }\n\n getNext(url: string) {\n this.resetTimer(url);\n return this.isCached(url) ? this.sortedCiphersByUrl.get(url).getNext() : null;\n }\n\n updateLastUsedIndex(url: string) {\n if (this.isCached(url)) {\n this.sortedCiphersByUrl.get(url).updateLastUsedIndex();\n }\n }\n\n clear() {\n this.sortedCiphersByUrl.clear();\n this.timeouts.clear();\n }\n\n private resetTimer(url: string) {\n clearTimeout(this.timeouts.get(url));\n this.timeouts.set(url, setTimeout(() => {\n this.sortedCiphersByUrl.delete(url);\n this.timeouts.delete(url);\n }, CacheTTL));\n }\n}\n\nclass Ciphers {\n lastUsedIndex = -1;\n\n constructor(private readonly ciphers: CipherView[]) { }\n\n getLastUsed() {\n this.lastUsedIndex = Math.max(this.lastUsedIndex, 0);\n return this.ciphers[this.lastUsedIndex];\n }\n\n getLastLaunched() {\n const usedCiphers = this.ciphers.filter(cipher => cipher.localData?.lastLaunched);\n const sortedCiphers = usedCiphers.sort((x, y) => y.localData.lastLaunched.valueOf() - x.localData.lastLaunched.valueOf());\n return sortedCiphers[0];\n }\n\n getNextIndex() {\n return (this.lastUsedIndex + 1) % this.ciphers.length;\n }\n\n getNext() {\n return this.ciphers[this.getNextIndex()];\n }\n\n updateLastUsedIndex() {\n this.lastUsedIndex = this.getNextIndex();\n }\n}\n","export class TreeNode {\n parent: T;\n node: T;\n children: TreeNode[] = [];\n\n constructor(node: T, name: string, parent: T) {\n this.parent = parent;\n this.node = node;\n this.node.name = name;\n }\n}\n\nexport interface ITreeNodeObject {\n id: string;\n name: string;\n}\n","import Domain from './domainBase';\n\nexport class PasswordGeneratorPolicyOptions extends Domain {\n defaultType: string = '';\n minLength: number = 0;\n useUppercase: boolean = false;\n useLowercase: boolean = false;\n useNumbers: boolean = false;\n numberCount: number = 0;\n useSpecial: boolean = false;\n specialCount: number = 0;\n minNumberWords: number = 0;\n capitalize: boolean = false;\n includeNumber: boolean = false;\n\n inEffect() {\n return this.defaultType !== '' ||\n this.minLength > 0 ||\n this.numberCount > 0 ||\n this.specialCount > 0 ||\n this.useUppercase ||\n this.useLowercase ||\n this.useNumbers ||\n this.useSpecial ||\n this.minNumberWords > 0 ||\n this.capitalize ||\n this.includeNumber;\n }\n}\n","import { ProfileOrganizationResponse } from '../response/profileOrganizationResponse';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\nimport { PermissionsApi } from '../api/permissionsApi';\n\nexport class OrganizationData {\n id: string;\n name: string;\n status: OrganizationUserStatusType;\n type: OrganizationUserType;\n enabled: boolean;\n usePolicies: boolean;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n useApi: boolean;\n useBusinessPortal: boolean;\n useSso: boolean;\n selfHost: boolean;\n usersGetPremium: boolean;\n seats: number;\n maxCollections: number;\n maxStorageGb?: number;\n ssoBound: boolean;\n identifier: string;\n permissions: PermissionsApi;\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.usePolicies = response.usePolicies;\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.useApi = response.useApi;\n this.useBusinessPortal = response.useBusinessPortal;\n this.useSso = response.useSso;\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.ssoBound = response.ssoBound;\n this.identifier = response.identifier;\n this.permissions = response.permissions;\n }\n}\n","import { SendFileApi } from '../api/sendFileApi';\n\nexport class SendFileData {\n id: string;\n url: string;\n fileName: string;\n key: string;\n size: string;\n sizeName: string;\n\n constructor(data?: SendFileApi) {\n if (data == null) {\n return;\n }\n\n this.id = data.id;\n this.url = data.url;\n this.fileName = data.fileName;\n this.key = data.key;\n this.size = data.size;\n this.sizeName = data.sizeName;\n }\n}\n","import { SendTextApi } from '../api/sendTextApi';\n\nexport class SendTextData {\n text: string;\n hidden: boolean;\n\n constructor(data?: SendTextApi) {\n if (data == null) {\n return;\n }\n\n this.text = data.text;\n this.hidden = data.hidden;\n }\n}\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', 'ca', 'cs', 'da', 'de', 'el', 'en-GB', 'es', 'et', 'fr', 'he', 'it', 'ja', 'ko', 'lv', 'ml', 'nb',\n 'nl', 'pl', 'pt-PT', 'pt-BR', 'ru', 'sk', 'sv', 'uk', 'zh-CN', 'zh-TW',\n ];\n }\n}\n","import { StorageService } from 'jslib/abstractions/storage.service';\n\nexport class MemoryStorageService implements StorageService {\n private store = new Map();\n\n get(key: string): Promise {\n if (this.store.has(key)) {\n const obj = this.store.get(key);\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 this.store.set(key, obj);\n return Promise.resolve();\n }\n\n remove(key: string): Promise {\n this.store.delete(key);\n return Promise.resolve();\n }\n}\n","import Swal, { SweetAlertIcon } from 'sweetalert2/dist/sweetalert2.js';\n\nimport { DeviceType } from 'jslib/enums/deviceType';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\nexport class WebPlatformUtilsService implements PlatformUtilsService {\n identityClientId: string = 'web';\n\n private browserCache: DeviceType = null;\n\n constructor(private i18nService: I18nService, private messagingService: MessagingService) { }\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(' Edg/') !== -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 isViewOpen(): Promise {\n return Promise.resolve(false);\n }\n\n lockTimeout(): number {\n return null;\n }\n\n launchUri(uri: string, options?: any): void {\n const a = document.createElement('a');\n a.href = uri;\n if (options == null || !options.sameWindow) {\n a.target = '_blank';\n a.rel = 'noreferrer noopener';\n }\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 let type: string = null;\n const fileNameLower = fileName.toLowerCase();\n let doDownload = true;\n if (fileNameLower.endsWith('.pdf')) {\n type = 'application/pdf';\n doDownload = false;\n } else if (fileNameLower.endsWith('.xlsx')) {\n type = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';\n } else if (fileNameLower.endsWith('.docx')) {\n type = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';\n } else if (fileNameLower.endsWith('.pptx')) {\n type = 'application/vnd.openxmlformats-officedocument.presentationml.presentation';\n } else if (fileNameLower.endsWith('.csv')) {\n type = 'text/csv';\n } else if (fileNameLower.endsWith('.png')) {\n type = 'image/png';\n } else if (fileNameLower.endsWith('.jpg') || fileNameLower.endsWith('.jpeg')) {\n type = 'image/jpeg';\n } else if (fileNameLower.endsWith('.gif')) {\n type = 'image/gif';\n }\n if (type != null) {\n blobOptions = blobOptions || {};\n if (blobOptions.type == null) {\n blobOptions.type = type;\n }\n }\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 if (doDownload) {\n a.download = fileName;\n } else {\n a.target = '_blank';\n }\n a.href = URL.createObjectURL(blob);\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()) && !Utils.isMobileBrowser);\n }\n\n supportsDuo(): boolean {\n return true;\n }\n\n showToast(type: 'error' | 'success' | 'warning' | 'info', title: string, text: string | string[],\n options?: any): void {\n this.messagingService.send('showToast', {\n text: text,\n title: title,\n type: type,\n options: options,\n });\n }\n\n async showDialog(text: string, title?: string, confirmText?: string, cancelText?: string, type?: string) {\n let iconClasses: string = null;\n if (type != null) {\n // If you add custom types to this part, the type to SweetAlertIcon cast below needs to be changed.\n switch (type) {\n case 'success':\n iconClasses = 'fa-check text-success';\n break;\n case 'warning':\n iconClasses = 'fa-warning text-warning';\n break;\n case 'error':\n iconClasses = 'fa-bolt text-danger';\n break;\n case 'info':\n iconClasses = 'fa-info-circle text-info';\n break;\n default:\n break;\n }\n }\n\n const iconHtmlStr = iconClasses != null ? `` : undefined;\n const confirmed = await Swal.fire({\n heightAuto: false,\n buttonsStyling: false,\n icon: type as SweetAlertIcon, // required to be any of the SweetAlertIcons to output the iconHtml.\n iconHtml: iconHtmlStr,\n text: text,\n title: title,\n showCancelButton: (cancelText != null),\n cancelButtonText: cancelText,\n showConfirmButton: true,\n confirmButtonText: confirmText == null ? this.i18nService.t('ok') : confirmText,\n });\n\n return confirmed.value;\n }\n\n eventTrack(action: string, label?: string, options?: any) {\n this.messagingService.send('analyticsEventTrack', {\n action: action,\n label: label,\n options: options,\n });\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 let win = window;\n let doc = window.document;\n if (options && (options.window || options.win)) {\n win = options.window || options.win;\n doc = win.document;\n } else if (options && options.doc) {\n doc = options.doc;\n }\n if ((win as any).clipboardData && (win as any).clipboardData.setData) {\n // IE specific code path to prevent textarea being shown while dialog is visible.\n (win 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 when modal is open if appending to body\n if (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 readFromClipboard(options?: any): Promise {\n throw new Error('Cannot read from clipboard on web.');\n }\n\n supportsBiometric() {\n return Promise.resolve(false);\n }\n\n authenticateBiometric() {\n return Promise.resolve(false);\n }\n\n supportsSecureStorage() {\n return false;\n }\n\n getDefaultSystemTheme() {\n return null as 'light' | 'dark';\n }\n\n onDefaultSystemThemeChange() {\n /* noop */\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 return;\n\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","export enum LogLevelType {\n Debug,\n Info,\n Warning,\n Error,\n}\n","import { EventType } from '../enums/eventType';\n\nimport { EventData } from '../models/data/eventData';\n\nimport { EventRequest } from '../models/request/eventRequest';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { CipherService } from '../abstractions/cipher.service';\nimport { EventService as EventServiceAbstraction } from '../abstractions/event.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { ConstantsService } from './constants.service';\n\nexport class EventService implements EventServiceAbstraction {\n private inited = false;\n\n constructor(private storageService: StorageService, private apiService: ApiService,\n private userService: UserService, private cipherService: CipherService) { }\n\n init(checkOnInterval: boolean) {\n if (this.inited) {\n return;\n }\n\n this.inited = true;\n if (checkOnInterval) {\n this.uploadEvents();\n setInterval(() => this.uploadEvents(), 60 * 1000); // check every 60 seconds\n }\n }\n\n async collect(eventType: EventType, cipherId: string = null, uploadImmediately = false): Promise {\n const authed = await this.userService.isAuthenticated();\n if (!authed) {\n return;\n }\n const organizations = await this.userService.getAllOrganizations();\n if (organizations == null) {\n return;\n }\n const orgIds = new Set(organizations.filter((o) => o.useEvents).map((o) => o.id));\n if (orgIds.size === 0) {\n return;\n }\n if (cipherId != null) {\n const cipher = await this.cipherService.get(cipherId);\n if (cipher == null || cipher.organizationId == null || !orgIds.has(cipher.organizationId)) {\n return;\n }\n }\n let eventCollection = await this.storageService.get(ConstantsService.eventCollectionKey);\n if (eventCollection == null) {\n eventCollection = [];\n }\n const event = new EventData();\n event.type = eventType;\n event.cipherId = cipherId;\n event.date = new Date().toISOString();\n eventCollection.push(event);\n await this.storageService.save(ConstantsService.eventCollectionKey, eventCollection);\n if (uploadImmediately) {\n await this.uploadEvents();\n }\n }\n\n async uploadEvents(): Promise {\n const authed = await this.userService.isAuthenticated();\n if (!authed) {\n return;\n }\n const eventCollection = await this.storageService.get(ConstantsService.eventCollectionKey);\n if (eventCollection == null || eventCollection.length === 0) {\n return;\n }\n const request = eventCollection.map((e) => {\n const req = new EventRequest();\n req.type = e.type;\n req.cipherId = e.cipherId;\n req.date = e.date;\n return req;\n });\n try {\n await this.apiService.postEventsCollect(request);\n this.clearEvents();\n } catch { }\n }\n\n async clearEvents(): Promise {\n await this.storageService.remove(ConstantsService.eventCollectionKey);\n }\n}\n","import { EventType } from '../../enums/eventType';\n\nexport class EventData {\n type: EventType;\n cipherId: string;\n date: string;\n}\n","import { EventType } from '../../enums/eventType';\n\nexport class EventRequest {\n type: EventType;\n cipherId: string;\n date: string;\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';\nimport { Folder } from '../models/domain/folder';\n\nimport { CipherData } from '../models/data/cipherData';\nimport { CollectionData } from '../models/data/collectionData';\nimport { CollectionDetailsResponse } from '../models/response/collectionResponse';\n\nimport { CipherWithIds as CipherExport } from '../models/export/cipherWithIds';\nimport { CollectionWithId as CollectionExport } from '../models/export/collectionWithId';\nimport { FolderWithId as FolderExport } from '../models/export/folderWithId';\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' | 'encrypted_json' = 'csv'): Promise {\n if (format === 'encrypted_json') {\n return this.getEncryptedExport();\n } else {\n return this.getDecryptedExport(format);\n }\n }\n\n async getOrganizationExport(organizationId: string,\n format: 'csv' | 'json' | 'encrypted_json' = 'csv'): Promise {\n if (format === 'encrypted_json') {\n return this.getOrganizationEncryptedExport(organizationId);\n } else {\n return this.getOrganizationDecryptedExport(organizationId, format);\n }\n }\n\n getFileName(prefix: string = null, extension: string = 'csv'): 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 + '.' + extension;\n }\n\n private async getDecryptedExport(format: '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.filter(f => f.deletedDate == null);\n }));\n\n await Promise.all(promises);\n\n if (format === 'csv') {\n const foldersMap = new Map();\n decFolders.forEach((f) => {\n if (f.id != null) {\n foldersMap.set(f.id, f);\n }\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 if (c.organizationId != null) {\n return;\n }\n\n const cipher: any = {};\n cipher.folder = c.folderId != null && foldersMap.has(c.folderId) ?\n 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 return papa.unparse(exportCiphers);\n } else {\n const jsonDoc: any = {\n encrypted: false,\n folders: [],\n items: [],\n };\n\n decFolders.forEach((f) => {\n if (f.id == null) {\n return;\n }\n const folder = new FolderExport();\n folder.build(f);\n jsonDoc.folders.push(folder);\n });\n\n decCiphers.forEach((c) => {\n if (c.organizationId != null) {\n return;\n }\n const cipher = new CipherExport();\n cipher.build(c);\n cipher.collectionIds = null;\n jsonDoc.items.push(cipher);\n });\n\n return JSON.stringify(jsonDoc, null, ' ');\n }\n }\n\n private async getEncryptedExport(): Promise {\n let folders: Folder[] = [];\n let ciphers: Cipher[] = [];\n const promises = [];\n\n promises.push(this.folderService.getAll().then((f) => {\n folders = f;\n }));\n\n promises.push(this.cipherService.getAll().then((c) => {\n ciphers = c.filter((f) => f.deletedDate == null);\n }));\n\n await Promise.all(promises);\n\n const jsonDoc: any = {\n encrypted: true,\n folders: [],\n items: [],\n };\n\n folders.forEach((f) => {\n if (f.id == null) {\n return;\n }\n const folder = new FolderExport();\n folder.build(f);\n jsonDoc.folders.push(folder);\n });\n\n ciphers.forEach((c) => {\n if (c.organizationId != null) {\n return;\n }\n const cipher = new CipherExport();\n cipher.build(c);\n cipher.collectionIds = null;\n jsonDoc.items.push(cipher);\n });\n\n return JSON.stringify(jsonDoc, null, ' ');\n }\n\n private async getOrganizationDecryptedExport(organizationId: string, format: '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.filter((c) => c.deletedDate === null).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 if (format === 'csv') {\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 return papa.unparse(exportCiphers);\n } else {\n const jsonDoc: any = {\n encrypted: false,\n collections: [],\n items: [],\n };\n\n decCollections.forEach((c) => {\n const collection = new CollectionExport();\n collection.build(c);\n jsonDoc.collections.push(collection);\n });\n\n decCiphers.forEach((c) => {\n const cipher = new CipherExport();\n cipher.build(c);\n jsonDoc.items.push(cipher);\n });\n return JSON.stringify(jsonDoc, null, ' ');\n }\n }\n\n private async getOrganizationEncryptedExport(organizationId: string): Promise {\n const collections: Collection[] = [];\n const ciphers: Cipher[] = [];\n const promises = [];\n\n promises.push(this.apiService.getCollections(organizationId).then((c) => {\n const collectionPromises: any = [];\n if (c != null && c.data != null && c.data.length > 0) {\n c.data.forEach((r) => {\n const collection = new Collection(new CollectionData(r as CollectionDetailsResponse));\n collections.push(collection);\n });\n }\n return Promise.all(collectionPromises);\n }));\n\n promises.push(this.apiService.getCiphersOrganization(organizationId).then((c) => {\n const cipherPromises: any = [];\n if (c != null && c.data != null && c.data.length > 0) {\n c.data.filter((item) => item.deletedDate === null).forEach((item) => {\n const cipher = new Cipher(new CipherData(item));\n ciphers.push(cipher);\n });\n }\n return Promise.all(cipherPromises);\n }));\n\n await Promise.all(promises);\n\n const jsonDoc: any = {\n encrypted: true,\n collections: [],\n items: [],\n };\n\n collections.forEach((c) => {\n const collection = new CollectionExport();\n collection.build(c);\n jsonDoc.collections.push(collection);\n });\n\n ciphers.forEach((c) => {\n const cipher = new CipherExport();\n cipher.build(c);\n jsonDoc.items.push(cipher);\n });\n return JSON.stringify(jsonDoc, null, ' ');\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 { CipherType } from '../../enums/cipherType';\n\nimport { CipherView } from '../view/cipherView';\n\nimport { Cipher as CipherDomain } from '../domain/cipher';\nimport { CipherString } from '../domain/cipherString';\n\nimport { Card } from './card';\nimport { Field } from './field';\nimport { Identity } from './identity';\nimport { Login } from './login';\nimport { SecureNote } from './secureNote';\n\nexport class Cipher {\n static template(): Cipher {\n const req = new Cipher();\n req.organizationId = null;\n req.folderId = null;\n req.type = CipherType.Login;\n req.name = 'Item name';\n req.notes = 'Some notes about this item.';\n req.favorite = false;\n req.fields = [];\n req.login = null;\n req.secureNote = null;\n req.card = null;\n req.identity = null;\n return req;\n }\n\n static toView(req: Cipher, view = new CipherView()) {\n view.type = req.type;\n view.folderId = req.folderId;\n if (view.organizationId == null) {\n view.organizationId = req.organizationId;\n }\n view.name = req.name;\n view.notes = req.notes;\n view.favorite = req.favorite;\n\n if (req.fields != null) {\n view.fields = req.fields.map((f) => Field.toView(f));\n }\n\n switch (req.type) {\n case CipherType.Login:\n view.login = Login.toView(req.login);\n break;\n case CipherType.SecureNote:\n view.secureNote = SecureNote.toView(req.secureNote);\n break;\n case CipherType.Card:\n view.card = Card.toView(req.card);\n break;\n case CipherType.Identity:\n view.identity = Identity.toView(req.identity);\n break;\n }\n\n return view;\n }\n\n static toDomain(req: Cipher, domain = new CipherDomain()) {\n domain.type = req.type;\n domain.folderId = req.folderId;\n if (domain.organizationId == null) {\n domain.organizationId = req.organizationId;\n }\n domain.name = req.name != null ? new CipherString(req.name) : null;\n domain.notes = req.notes != null ? new CipherString(req.notes) : null;\n domain.favorite = req.favorite;\n\n if (req.fields != null) {\n domain.fields = req.fields.map((f) => Field.toDomain(f));\n }\n\n switch (req.type) {\n case CipherType.Login:\n domain.login = Login.toDomain(req.login);\n break;\n case CipherType.SecureNote:\n domain.secureNote = SecureNote.toDomain(req.secureNote);\n break;\n case CipherType.Card:\n domain.card = Card.toDomain(req.card);\n break;\n case CipherType.Identity:\n domain.identity = Identity.toDomain(req.identity);\n break;\n }\n\n return domain;\n }\n\n type: CipherType;\n folderId: string;\n organizationId: string;\n name: string;\n notes: string;\n favorite: boolean;\n fields: Field[];\n login: Login;\n secureNote: SecureNote;\n card: Card;\n identity: Identity;\n\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\n build(o: CipherView | CipherDomain) {\n this.organizationId = o.organizationId;\n this.folderId = o.folderId;\n this.type = o.type;\n\n if (o instanceof CipherView) {\n this.name = o.name;\n this.notes = o.notes;\n } else {\n this.name = o.name?.encryptedString;\n this.notes = o.notes?.encryptedString;\n }\n\n this.favorite = o.favorite;\n\n if (o.fields != null) {\n if (o instanceof CipherView) {\n this.fields = o.fields.map((f) => new Field(f));\n } else {\n this.fields = o.fields.map((f) => new Field(f));\n }\n }\n\n switch (o.type) {\n case CipherType.Login:\n this.login = new Login(o.login);\n break;\n case CipherType.SecureNote:\n this.secureNote = new SecureNote(o.secureNote);\n break;\n case CipherType.Card:\n this.card = new Card(o.card);\n break;\n case CipherType.Identity:\n this.identity = new Identity(o.identity);\n break;\n }\n }\n}\n","import { CardView } from '../view/cardView';\n\nimport { Card as CardDomain } from '../domain/card';\nimport { CipherString } from '../domain/cipherString';\n\nexport class Card {\n static template(): Card {\n const req = new Card();\n req.cardholderName = 'John Doe';\n req.brand = 'visa';\n req.number = '4242424242424242';\n req.expMonth = '04';\n req.expYear = '2023';\n req.code = '123';\n return req;\n }\n\n static toView(req: Card, view = new CardView()) {\n view.cardholderName = req.cardholderName;\n view.brand = req.brand;\n view.number = req.number;\n view.expMonth = req.expMonth;\n view.expYear = req.expYear;\n view.code = req.code;\n return view;\n }\n\n static toDomain(req: Card, domain = new CardDomain()) {\n domain.cardholderName = req.cardholderName != null ? new CipherString(req.cardholderName) : null;\n domain.brand = req.brand != null ? new CipherString(req.brand) : null;\n domain.number = req.number != null ? new CipherString(req.number) : null;\n domain.expMonth = req.expMonth != null ? new CipherString(req.expMonth) : null;\n domain.expYear = req.expYear != null ? new CipherString(req.expYear) : null;\n domain.code = req.code != null ? new CipherString(req.code) : null;\n return domain;\n }\n\n cardholderName: string;\n brand: string;\n number: string;\n expMonth: string;\n expYear: string;\n code: string;\n\n constructor(o?: CardView | CardDomain) {\n if (o == null) {\n return;\n }\n\n if (o instanceof CardView) {\n this.cardholderName = o.cardholderName;\n this.brand = o.brand;\n this.number = o.number;\n this.expMonth = o.expMonth;\n this.expYear = o.expYear;\n this.code = o.code;\n } else {\n this.cardholderName = o.cardholderName?.encryptedString;\n this.brand = o.brand?.encryptedString;\n this.number = o.number?.encryptedString;\n this.expMonth = o.expMonth?.encryptedString;\n this.expYear = o.expYear?.encryptedString;\n this.code = o.code?.encryptedString;\n }\n }\n}\n","import { FieldType } from '../../enums/fieldType';\n\nimport { FieldView } from '../view/fieldView';\n\nimport { CipherString } from '../domain/cipherString';\nimport { Field as FieldDomain } from '../domain/field';\n\nexport class Field {\n static template(): Field {\n const req = new Field();\n req.name = 'Field name';\n req.value = 'Some value';\n req.type = FieldType.Text;\n return req;\n }\n\n static toView(req: Field, view = new FieldView()) {\n view.type = req.type;\n view.value = req.value;\n view.name = req.name;\n return view;\n }\n\n static toDomain(req: Field, domain = new FieldDomain()) {\n domain.type = req.type;\n domain.value = req.value != null ? new CipherString(req.value) : null;\n domain.name = req.name != null ? new CipherString(req.name) : null;\n return domain;\n }\n\n name: string;\n value: string;\n type: FieldType;\n\n constructor(o?: FieldView | FieldDomain) {\n if (o == null) {\n return;\n }\n\n if (o instanceof FieldView) {\n this.name = o.name;\n this.value = o.value;\n } else {\n this.name = o.name?.encryptedString;\n this.value = o.value?.encryptedString;\n }\n this.type = o.type;\n }\n}\n","import { IdentityView } from '../view/identityView';\n\nimport { CipherString } from '../domain/cipherString';\nimport { Identity as IdentityDomain } from '../domain/identity';\n\nexport class Identity {\n static template(): Identity {\n const req = new Identity();\n req.title = 'Mr';\n req.firstName = 'John';\n req.middleName = 'William';\n req.lastName = 'Doe';\n req.address1 = '123 Any St';\n req.address2 = 'Apt #123';\n req.address3 = null;\n req.city = 'New York';\n req.state = 'NY';\n req.postalCode = '10001';\n req.country = 'US';\n req.company = 'Acme Inc.';\n req.email = 'john@company.com';\n req.phone = '5555551234';\n req.ssn = '000-123-4567';\n req.username = 'jdoe';\n req.passportNumber = 'US-123456789';\n req.licenseNumber = 'D123-12-123-12333';\n return req;\n }\n\n static toView(req: Identity, view = new IdentityView()) {\n view.title = req.title;\n view.firstName = req.firstName;\n view.middleName = req.middleName;\n view.lastName = req.lastName;\n view.address1 = req.address1;\n view.address2 = req.address2;\n view.address3 = req.address3;\n view.city = req.city;\n view.state = req.state;\n view.postalCode = req.postalCode;\n view.country = req.country;\n view.company = req.company;\n view.email = req.email;\n view.phone = req.phone;\n view.ssn = req.ssn;\n view.username = req.username;\n view.passportNumber = req.passportNumber;\n view.licenseNumber = req.licenseNumber;\n return view;\n }\n\n static toDomain(req: Identity, domain = new IdentityDomain()) {\n domain.title = req.title != null ? new CipherString(req.title) : null;\n domain.firstName = req.firstName != null ? new CipherString(req.firstName) : null;\n domain.middleName = req.middleName != null ? new CipherString(req.middleName) : null;\n domain.lastName = req.lastName != null ? new CipherString(req.lastName) : null;\n domain.address1 = req.address1 != null ? new CipherString(req.address1) : null;\n domain.address2 = req.address2 != null ? new CipherString(req.address2) : null;\n domain.address3 = req.address3 != null ? new CipherString(req.address3) : null;\n domain.city = req.city != null ? new CipherString(req.city) : null;\n domain.state = req.state != null ? new CipherString(req.state) : null;\n domain.postalCode = req.postalCode != null ? new CipherString(req.postalCode) : null;\n domain.country = req.country != null ? new CipherString(req.country) : null;\n domain.company = req.company != null ? new CipherString(req.company) : null;\n domain.email = req.email != null ? new CipherString(req.email) : null;\n domain.phone = req.phone != null ? new CipherString(req.phone) : null;\n domain.ssn = req.ssn != null ? new CipherString(req.ssn) : null;\n domain.username = req.username != null ? new CipherString(req.username) : null;\n domain.passportNumber = req.passportNumber != null ? new CipherString(req.passportNumber) : null;\n domain.licenseNumber = req.licenseNumber != null ? new CipherString(req.licenseNumber) : null;\n return domain;\n }\n\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(o?: IdentityView | IdentityDomain) {\n if (o == null) {\n return;\n }\n\n if (o instanceof IdentityView) {\n this.title = o.title;\n this.firstName = o.firstName;\n this.middleName = o.middleName;\n this.lastName = o.lastName;\n this.address1 = o.address1;\n this.address2 = o.address2;\n this.address3 = o.address3;\n this.city = o.city;\n this.state = o.state;\n this.postalCode = o.postalCode;\n this.country = o.country;\n this.company = o.company;\n this.email = o.email;\n this.phone = o.phone;\n this.ssn = o.ssn;\n this.username = o.username;\n this.passportNumber = o.passportNumber;\n this.licenseNumber = o.licenseNumber;\n } else {\n this.title = o.title?.encryptedString;\n this.firstName = o.firstName?.encryptedString;\n this.middleName = o.middleName?.encryptedString;\n this.lastName = o.lastName?.encryptedString;\n this.address1 = o.address1?.encryptedString;\n this.address2 = o.address2?.encryptedString;\n this.address3 = o.address3?.encryptedString;\n this.city = o.city?.encryptedString;\n this.state = o.state?.encryptedString;\n this.postalCode = o.postalCode?.encryptedString;\n this.country = o.country?.encryptedString;\n this.company = o.company?.encryptedString;\n this.email = o.email?.encryptedString;\n this.phone = o.phone?.encryptedString;\n this.ssn = o.ssn?.encryptedString;\n this.username = o.username?.encryptedString;\n this.passportNumber = o.passportNumber?.encryptedString;\n this.licenseNumber = o.licenseNumber?.encryptedString;\n }\n }\n}\n","import { LoginUri } from './loginUri';\n\nimport { LoginView } from '../view/loginView';\n\nimport { CipherString } from '../domain/cipherString';\nimport { Login as LoginDomain } from '../domain/login';\n\nexport class Login {\n static template(): Login {\n const req = new Login();\n req.uris = [];\n req.username = 'jdoe';\n req.password = 'myp@ssword123';\n req.totp = 'JBSWY3DPEHPK3PXP';\n return req;\n }\n\n static toView(req: Login, view = new LoginView()) {\n if (req.uris != null) {\n view.uris = req.uris.map((u) => LoginUri.toView(u));\n }\n view.username = req.username;\n view.password = req.password;\n view.totp = req.totp;\n return view;\n }\n\n static toDomain(req: Login, domain = new LoginDomain()) {\n if (req.uris != null) {\n domain.uris = req.uris.map((u) => LoginUri.toDomain(u));\n }\n domain.username = req.username != null ? new CipherString(req.username) : null;\n domain.password = req.password != null ? new CipherString(req.password) : null;\n domain.totp = req.totp != null ? new CipherString(req.totp) : null;\n return domain;\n }\n\n uris: LoginUri[];\n username: string;\n password: string;\n totp: string;\n\n constructor(o?: LoginView | LoginDomain) {\n if (o == null) {\n return;\n }\n\n if (o.uris != null) {\n if (o instanceof LoginView) {\n this.uris = o.uris.map((u) => new LoginUri(u));\n } else {\n this.uris = o.uris.map((u) => new LoginUri(u));\n }\n }\n\n if (o instanceof LoginView) {\n this.username = o.username;\n this.password = o.password;\n this.totp = o.totp;\n } else {\n this.username = o.username?.encryptedString;\n this.password = o.password?.encryptedString;\n this.totp = o.totp?.encryptedString;\n }\n }\n}\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { LoginUriView } from '../view/loginUriView';\n\nimport { CipherString } from '../domain/cipherString';\nimport { LoginUri as LoginUriDomain } from '../domain/loginUri';\n\nexport class LoginUri {\n static template(): LoginUri {\n const req = new LoginUri();\n req.uri = 'https://google.com';\n req.match = null;\n return req;\n }\n\n static toView(req: LoginUri, view = new LoginUriView()) {\n view.uri = req.uri;\n view.match = req.match;\n return view;\n }\n\n static toDomain(req: LoginUri, domain = new LoginUriDomain()) {\n domain.uri = req.uri != null ? new CipherString(req.uri) : null;\n domain.match = req.match;\n return domain;\n }\n\n uri: string;\n match: UriMatchType = null;\n\n constructor(o?: LoginUriView | LoginUriDomain) {\n if (o == null) {\n return;\n }\n\n if (o instanceof LoginUriView) {\n this.uri = o.uri;\n } else {\n this.uri = o.uri?.encryptedString;\n }\n this.match = o.match;\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\n\nimport { SecureNoteView } from '../view/secureNoteView';\n\nimport { SecureNote as SecureNoteDomain } from '../domain/secureNote';\n\nexport class SecureNote {\n static template(): SecureNote {\n const req = new SecureNote();\n req.type = SecureNoteType.Generic;\n return req;\n }\n\n static toView(req: SecureNote, view = new SecureNoteView()) {\n view.type = req.type;\n return view;\n }\n\n static toDomain(req: SecureNote, view = new SecureNoteDomain()) {\n view.type = req.type;\n return view;\n }\n\n type: SecureNoteType;\n\n constructor(o?: SecureNoteView | SecureNoteDomain) {\n if (o == null) {\n return;\n }\n\n this.type = o.type;\n }\n}\n","import { CollectionView } from '../view/collectionView';\n\nimport { CipherString } from '../domain/cipherString';\nimport { Collection as CollectionDomain } from '../domain/collection';\n\nexport class Collection {\n static template(): Collection {\n const req = new Collection();\n req.organizationId = '00000000-0000-0000-0000-000000000000';\n req.name = 'Collection name';\n req.externalId = null;\n return req;\n }\n\n static toView(req: Collection, view = new CollectionView()) {\n view.name = req.name;\n view.externalId = req.externalId;\n if (view.organizationId == null) {\n view.organizationId = req.organizationId;\n }\n return view;\n }\n\n static toDomain(req: Collection, domain = new CollectionDomain()) {\n domain.name = req.name != null ? new CipherString(req.name) : null;\n domain.externalId = req.externalId;\n if (domain.organizationId == null) {\n domain.organizationId = req.organizationId;\n }\n return domain;\n }\n\n organizationId: string;\n name: string;\n externalId: string;\n\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\n build(o: CollectionView | CollectionDomain) {\n this.organizationId = o.organizationId;\n if (o instanceof CollectionView) {\n this.name = o.name;\n } else {\n this.name = o.name?.encryptedString;\n }\n this.externalId = o.externalId;\n }\n}\n","import { FolderView } from '../view/folderView';\n\nimport { CipherString } from '../domain/cipherString';\nimport { Folder as FolderDomain } from '../domain/folder';\n\nexport class Folder {\n static template(): Folder {\n const req = new Folder();\n req.name = 'Folder name';\n return req;\n }\n\n static toView(req: Folder, view = new FolderView()) {\n view.name = req.name;\n return view;\n }\n\n static toDomain(req: Folder, domain = new FolderDomain()) {\n domain.name = req.name != null ? new CipherString(req.name) : null;\n return domain;\n }\n\n name: string;\n\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\n build(o: FolderView | FolderDomain) {\n if (o instanceof FolderView) {\n this.name = o.name;\n } else {\n this.name = o.name?.encryptedString;\n }\n }\n}\n","import { ApiService } from '../abstractions/api.service';\nimport { CipherService } from '../abstractions/cipher.service';\nimport { CollectionService } from '../abstractions/collection.service';\nimport { FolderService } from '../abstractions/folder.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport {\n ImportOption,\n ImportService as ImportServiceAbstraction,\n} from '../abstractions/import.service';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherType } from '../enums/cipherType';\n\nimport { Utils } from '../misc/utils';\n\nimport { CipherRequest } from '../models/request/cipherRequest';\nimport { CollectionRequest } from '../models/request/collectionRequest';\nimport { FolderRequest } from '../models/request/folderRequest';\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\nimport { KvpRequest } from '../models/request/kvpRequest';\n\nimport { CipherView } from '../models/view/cipherView';\n\nimport { AscendoCsvImporter } from '../importers/ascendoCsvImporter';\nimport { AvastCsvImporter } from '../importers/avastCsvImporter';\nimport { AvastJsonImporter } from '../importers/avastJsonImporter';\nimport { AviraCsvImporter } from '../importers/aviraCsvImporter';\nimport { BitwardenCsvImporter } from '../importers/bitwardenCsvImporter';\nimport { BitwardenJsonImporter } from '../importers/bitwardenJsonImporter';\nimport { BlackBerryCsvImporter } from '../importers/blackBerryCsvImporter';\nimport { BlurCsvImporter } from '../importers/blurCsvImporter';\nimport { ButtercupCsvImporter } from '../importers/buttercupCsvImporter';\nimport { ChromeCsvImporter } from '../importers/chromeCsvImporter';\nimport { ClipperzHtmlImporter } from '../importers/clipperzHtmlImporter';\nimport { CodebookCsvImporter } from '../importers/codebookCsvImporter';\nimport { DashlaneJsonImporter } from '../importers/dashlaneJsonImporter';\nimport { EncryptrCsvImporter } from '../importers/encryptrCsvImporter';\nimport { EnpassCsvImporter } from '../importers/enpassCsvImporter';\nimport { EnpassJsonImporter } from '../importers/enpassJsonImporter';\nimport { FirefoxCsvImporter } from '../importers/firefoxCsvImporter';\nimport { FSecureFskImporter } from '../importers/fsecureFskImporter';\nimport { GnomeJsonImporter } from '../importers/gnomeJsonImporter';\nimport { Importer } from '../importers/importer';\nimport { KasperskyTxtImporter } from '../importers/kasperskyTxtImporter';\nimport { KeePass2XmlImporter } from '../importers/keepass2XmlImporter';\nimport { KeePassXCsvImporter } from '../importers/keepassxCsvImporter';\nimport { KeeperCsvImporter } from '../importers/keeperCsvImporter';\nimport { LastPassCsvImporter } from '../importers/lastpassCsvImporter';\nimport { LogMeOnceCsvImporter } from '../importers/logMeOnceCsvImporter';\nimport { MeldiumCsvImporter } from '../importers/meldiumCsvImporter';\nimport { MSecureCsvImporter } from '../importers/msecureCsvImporter';\nimport { MykiCsvImporter } from '../importers/mykiCsvImporter';\nimport { OnePassword1PifImporter } from '../importers/onepasswordImporters/onepassword1PifImporter';\nimport { OnePasswordMacCsvImporter } from '../importers/onepasswordImporters/onepasswordMacCsvImporter';\nimport { OnePasswordWinCsvImporter } from '../importers/onepasswordImporters/onepasswordWinCsvImporter';\nimport { PadlockCsvImporter } from '../importers/padlockCsvImporter';\nimport { PassKeepCsvImporter } from '../importers/passkeepCsvImporter';\nimport { PassmanJsonImporter } from '../importers/passmanJsonImporter';\nimport { PasspackCsvImporter } from '../importers/passpackCsvImporter';\nimport { PasswordAgentCsvImporter } from '../importers/passwordAgentCsvImporter';\nimport { PasswordBossJsonImporter } from '../importers/passwordBossJsonImporter';\nimport { PasswordDragonXmlImporter } from '../importers/passwordDragonXmlImporter';\nimport { PasswordSafeXmlImporter } from '../importers/passwordSafeXmlImporter';\nimport { PasswordWalletTxtImporter } from '../importers/passwordWalletTxtImporter';\nimport { RememBearCsvImporter } from '../importers/rememBearCsvImporter';\nimport { RoboFormCsvImporter } from '../importers/roboformCsvImporter';\nimport { SafeInCloudXmlImporter } from '../importers/safeInCloudXmlImporter';\nimport { SaferPassCsvImporter } from '../importers/saferpassCsvImport';\nimport { SecureSafeCsvImporter } from '../importers/secureSafeCsvImporter';\nimport { SplashIdCsvImporter } from '../importers/splashIdCsvImporter';\nimport { StickyPasswordXmlImporter } from '../importers/stickyPasswordXmlImporter';\nimport { TrueKeyCsvImporter } from '../importers/truekeyCsvImporter';\nimport { UpmCsvImporter } from '../importers/upmCsvImporter';\nimport { YotiCsvImporter } from '../importers/yotiCsvImporter';\nimport { ZohoVaultCsvImporter } from '../importers/zohoVaultCsvImporter';\n\nexport class ImportService implements ImportServiceAbstraction {\n featuredImportOptions = [\n { id: 'bitwardenjson', name: 'Bitwarden (json)' },\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: 'dashlanejson', name: 'Dashlane (json)' },\n ];\n\n regularImportOptions: ImportOption[] = [\n { id: 'keepassxcsv', name: 'KeePassX (csv)' },\n { id: '1passwordwincsv', name: '1Password 6 and 7 Windows (csv)' },\n { id: '1passwordmaccsv', name: '1Password 6 and 7 Mac (csv)' },\n { id: 'roboformcsv', name: 'RoboForm (csv)' },\n { id: 'keepercsv', name: 'Keeper (csv)' },\n { id: 'enpasscsv', name: 'Enpass (csv)' },\n { id: 'enpassjson', name: 'Enpass (json)' },\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 { id: 'passpackcsv', name: 'Passpack (csv)' },\n { id: 'passmanjson', name: 'Passman (json)' },\n { id: 'avastcsv', name: 'Avast Passwords (csv)' },\n { id: 'avastjson', name: 'Avast Passwords (json)' },\n { id: 'fsecurefsk', name: 'F-Secure KEY (fsk)' },\n { id: 'kasperskytxt', name: 'Kaspersky Password Manager (txt)' },\n { id: 'remembearcsv', name: 'RememBear (csv)' },\n { id: 'passwordwallettxt', name: 'PasswordWallet (txt)' },\n { id: 'mykicsv', name: 'Myki (csv)' },\n { id: 'securesafecsv', name: 'SecureSafe (csv)' },\n { id: 'logmeoncecsv', name: 'LogMeOnce (csv)' },\n { id: 'blackberrycsv', name: 'BlackBerry Password Keeper (csv)' },\n { id: 'buttercupcsv', name: 'Buttercup (csv)' },\n { id: 'codebookcsv', name: 'Codebook (csv)' },\n { id: 'encryptrcsv', name: 'Encryptr (csv)' },\n { id: 'yoticsv', name: 'Yoti (csv)' },\n ];\n\n constructor(private cipherService: CipherService, private folderService: FolderService,\n private apiService: ApiService, private i18nService: I18nService,\n private collectionService: CollectionService) { }\n\n getImportOptions(): ImportOption[] {\n return this.featuredImportOptions.concat(this.regularImportOptions);\n }\n\n async import(importer: Importer, fileContents: string, organizationId: string = null): Promise {\n const importResult = await importer.parse(fileContents);\n if (importResult.success) {\n if (importResult.folders.length === 0 && importResult.ciphers.length === 0) {\n return new Error(this.i18nService.t('importNothingError'));\n } else if (importResult.ciphers.length > 0) {\n const halfway = Math.floor(importResult.ciphers.length / 2);\n const last = importResult.ciphers.length - 1;\n\n if (this.badData(importResult.ciphers[0]) &&\n this.badData(importResult.ciphers[halfway]) &&\n this.badData(importResult.ciphers[last])) {\n return new Error(this.i18nService.t('importFormatError'));\n }\n }\n await this.postImport(importResult, organizationId);\n return null;\n } else {\n return new Error(this.i18nService.t('importFormatError'));\n }\n }\n\n getImporter(format: string, organizationId: string = null): Importer {\n const importer = this.getImporterInstance(format);\n if (importer == null) {\n return null;\n }\n importer.organizationId = organizationId;\n return importer;\n }\n\n private getImporterInstance(format: string) {\n if (format == null || format === '') {\n return null;\n }\n\n switch (format) {\n case 'bitwardencsv':\n return new BitwardenCsvImporter();\n case 'bitwardenjson':\n return new BitwardenJsonImporter();\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 '1passwordmaccsv':\n return new OnePasswordMacCsvImporter();\n case 'keepercsv':\n return new KeeperCsvImporter();\n case 'passworddragonxml':\n return new PasswordDragonXmlImporter();\n case 'enpasscsv':\n return new EnpassCsvImporter();\n case 'enpassjson':\n return new EnpassJsonImporter();\n case 'pwsafexml':\n return new PasswordSafeXmlImporter();\n case 'dashlanejson':\n return new DashlaneJsonImporter();\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 case 'passpackcsv':\n return new PasspackCsvImporter();\n case 'passmanjson':\n return new PassmanJsonImporter();\n case 'avastcsv':\n return new AvastCsvImporter();\n case 'avastjson':\n return new AvastJsonImporter();\n case 'fsecurefsk':\n return new FSecureFskImporter();\n case 'kasperskytxt':\n return new KasperskyTxtImporter();\n case 'remembearcsv':\n return new RememBearCsvImporter();\n case 'passwordwallettxt':\n return new PasswordWalletTxtImporter();\n case 'mykicsv':\n return new MykiCsvImporter();\n case 'securesafecsv':\n return new SecureSafeCsvImporter();\n case 'logmeoncecsv':\n return new LogMeOnceCsvImporter();\n case 'blackberrycsv':\n return new BlackBerryCsvImporter();\n case 'buttercupcsv':\n return new ButtercupCsvImporter();\n case 'codebookcsv':\n return new CodebookCsvImporter();\n case 'encryptrcsv':\n return new EncryptrCsvImporter();\n case 'yoticsv':\n return new YotiCsvImporter();\n default:\n return null;\n }\n }\n\n private async postImport(importResult: ImportResult, organizationId: string = null) {\n if (organizationId == null) {\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 } else {\n const request = new ImportOrganizationCiphersRequest();\n for (let i = 0; i < importResult.ciphers.length; i++) {\n importResult.ciphers[i].organizationId = 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 = 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(organizationId, request);\n }\n }\n\n private badData(c: CipherView) {\n return (c.name == null || c.name === '--') &&\n (c.type === CipherType.Login && c.login != null && Utils.isNullOrWhitespace(c.login.password));\n }\n}\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: KvpRequest[] = [];\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: KvpRequest[] = [];\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","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class AscendoCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (value.length < 2) {\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.length % 2) === 0) {\n for (let i = 0; i < value.length - 2; i += 2) {\n const val: string = value[i + 2];\n const field: string = value[i + 1];\n if (this.isNullOrWhitespace(val) || this.isNullOrWhitespace(field)) {\n continue;\n }\n\n const fieldLower = field.toLowerCase();\n if (cipher.login.password == null && this.passwordFieldNames.indexOf(fieldLower) > -1) {\n cipher.login.password = this.getValueOrDefault(val);\n } else if (cipher.login.username == null &&\n this.usernameFieldNames.indexOf(fieldLower) > -1) {\n cipher.login.username = this.getValueOrDefault(val);\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\n this.uriFieldNames.indexOf(fieldLower) > -1) {\n cipher.login.uris = this.makeUriArray(val);\n } else {\n this.processKvp(cipher, field, val);\n }\n }\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class AvastCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name);\n cipher.login.uris = this.makeUriArray(value.web);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.username = this.getValueOrDefault(value.login);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(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\nexport class AvastJsonImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n if (results.logins != null) {\n results.logins.forEach((value: any) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.custName);\n cipher.notes = this.getValueOrDefault(value.note);\n cipher.login.uris = this.makeUriArray(value.url);\n cipher.login.password = this.getValueOrDefault(value.pwd);\n cipher.login.username = this.getValueOrDefault(value.loginName);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n }\n\n if (results.notes != null) {\n results.notes.forEach((value: any) => {\n const cipher = this.initLoginCipher();\n cipher.type = CipherType.SecureNote;\n cipher.secureNote.type = SecureNoteType.Generic;\n cipher.name = this.getValueOrDefault(value.label);\n cipher.notes = this.getValueOrDefault(value.text);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n }\n\n if (results.cards != null) {\n results.cards.forEach((value: any) => {\n const cipher = this.initLoginCipher();\n cipher.type = CipherType.Card;\n cipher.name = this.getValueOrDefault(value.custName);\n cipher.notes = this.getValueOrDefault(value.note);\n cipher.card.cardholderName = this.getValueOrDefault(value.holderName);\n cipher.card.number = this.getValueOrDefault(value.cardNumber);\n cipher.card.code = this.getValueOrDefault(value.cvv);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n if (value.expirationDate != null) {\n if (value.expirationDate.month != null) {\n cipher.card.expMonth = value.expirationDate.month + '';\n }\n if (value.expirationDate.year != null) {\n cipher.card.expYear = value.expirationDate.year + '';\n }\n }\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n }\n\n result.success = true;\n return Promise.resolve(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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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 'note':\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n break;\n default:\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 }\n\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherWithIds } from '../models/export/cipherWithIds';\nimport { CollectionWithId } from '../models/export/collectionWithId';\nimport { FolderWithId } from '../models/export/folderWithId';\n\nexport class BitwardenJsonImporter extends BaseImporter implements Importer {\n private results: any;\n private result: ImportResult;\n\n async parse(data: string): Promise {\n this.result = new ImportResult();\n this.results = JSON.parse(data);\n if (this.results == null || this.results.items == null || this.results.items.length === 0) {\n this.result.success = false;\n return this.result;\n }\n\n if (this.results.encrypted) {\n await this.parseEncrypted();\n } else {\n this.parseDecrypted();\n }\n\n this.result.success = true;\n return this.result;\n }\n\n private async parseEncrypted() {\n const groupingsMap = new Map();\n\n if (this.organization && this.results.collections != null) {\n for (const c of this.results.collections as CollectionWithId[]) {\n const collection = CollectionWithId.toDomain(c);\n if (collection != null) {\n collection.id = null;\n collection.organizationId = this.organizationId;\n const view = await collection.decrypt();\n groupingsMap.set(c.id, this.result.collections.length);\n this.result.collections.push(view);\n }\n }\n } else if (!this.organization && this.results.folders != null) {\n for (const f of this.results.folders as FolderWithId[]) {\n const folder = FolderWithId.toDomain(f);\n if (folder != null) {\n folder.id = null;\n const view = await folder.decrypt();\n groupingsMap.set(f.id, this.result.folders.length);\n this.result.folders.push(view);\n }\n }\n }\n\n for (const c of this.results.items as CipherWithIds[]) {\n const cipher = CipherWithIds.toDomain(c);\n // reset ids incase they were set for some reason\n cipher.id = null;\n cipher.folderId = null;\n cipher.organizationId = this.organizationId;\n cipher.collectionIds = null;\n\n // make sure password history is limited\n if (cipher.passwordHistory != null && cipher.passwordHistory.length > 5) {\n cipher.passwordHistory = cipher.passwordHistory.slice(0, 5);\n }\n\n if (!this.organization && c.folderId != null && groupingsMap.has(c.folderId)) {\n this.result.folderRelationships.push([this.result.ciphers.length, groupingsMap.get(c.folderId)]);\n } else if (this.organization && c.collectionIds != null) {\n c.collectionIds.forEach((cId) => {\n if (groupingsMap.has(cId)) {\n this.result.collectionRelationships.push([this.result.ciphers.length, groupingsMap.get(cId)]);\n }\n });\n }\n\n const view = await cipher.decrypt();\n this.cleanupCipher(view);\n this.result.ciphers.push(view);\n }\n }\n\n private parseDecrypted() {\n const groupingsMap = new Map();\n if (this.organization && this.results.collections != null) {\n this.results.collections.forEach((c: CollectionWithId) => {\n const collection = CollectionWithId.toView(c);\n if (collection != null) {\n collection.id = null;\n collection.organizationId = null;\n groupingsMap.set(c.id, this.result.collections.length);\n this.result.collections.push(collection);\n }\n });\n } else if (!this.organization && this.results.folders != null) {\n this.results.folders.forEach((f: FolderWithId) => {\n const folder = FolderWithId.toView(f);\n if (folder != null) {\n folder.id = null;\n groupingsMap.set(f.id, this.result.folders.length);\n this.result.folders.push(folder);\n }\n });\n }\n\n this.results.items.forEach((c: CipherWithIds) => {\n const cipher = CipherWithIds.toView(c);\n // reset ids incase they were set for some reason\n cipher.id = null;\n cipher.folderId = null;\n cipher.organizationId = null;\n cipher.collectionIds = null;\n\n // make sure password history is limited\n if (cipher.passwordHistory != null && cipher.passwordHistory.length > 5) {\n cipher.passwordHistory = cipher.passwordHistory.slice(0, 5);\n }\n\n if (!this.organization && c.folderId != null && groupingsMap.has(c.folderId)) {\n this.result.folderRelationships.push([this.result.ciphers.length, groupingsMap.get(c.folderId)]);\n } else if (this.organization && c.collectionIds != null) {\n c.collectionIds.forEach((cId) => {\n if (groupingsMap.has(cId)) {\n this.result.collectionRelationships.push([this.result.ciphers.length, groupingsMap.get(cId)]);\n }\n });\n }\n\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class BlackBerryCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (value.grouping === 'list') {\n return;\n }\n const cipher = this.initLoginCipher();\n cipher.favorite = value.fav === '1';\n cipher.name = this.getValueOrDefault(value.name);\n cipher.notes = this.getValueOrDefault(value.extra);\n if (value.grouping !== 'note') {\n cipher.login.uris = this.makeUriArray(value.url);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.username = this.getValueOrDefault(value.username);\n }\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nconst OfficialProps = [\n '!group_id', '!group_name', 'title', 'username', 'password', 'URL', 'id',\n];\n\nexport class ButtercupCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n this.processFolder(result, this.getValueOrDefault(value['!group_name']));\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.title, '--');\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\n let processingCustomFields = false;\n for (const prop in value) {\n if (value.hasOwnProperty(prop)) {\n if (!processingCustomFields && OfficialProps.indexOf(prop) === -1) {\n processingCustomFields = true;\n }\n if (processingCustomFields) {\n this.processKvp(cipher, prop, value[prop]);\n }\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 Promise.resolve(result);\n }\n}\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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class ClipperzHtmlImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n const textarea = doc.querySelector('textarea');\n if (textarea == null || this.isNullOrWhitespace(textarea.textContent)) {\n result.errorMessage = 'Missing textarea.';\n result.success = false;\n return Promise.resolve(result);\n }\n\n const entries = JSON.parse(textarea.textContent);\n entries.forEach((entry: any) => {\n const cipher = this.initLoginCipher();\n if (!this.isNullOrWhitespace(entry.label)) {\n cipher.name = entry.label.split(' ')[0];\n }\n if (entry.data != null && !this.isNullOrWhitespace(entry.data.notes)) {\n cipher.notes = entry.data.notes.split('\\\\n').join('\\n');\n }\n\n if (entry.currentVersion != null && entry.currentVersion.fields != null) {\n for (const property in entry.currentVersion.fields) {\n if (!entry.currentVersion.fields.hasOwnProperty(property)) {\n continue;\n }\n\n const field = entry.currentVersion.fields[property];\n const actionType = field.actionType != null ? field.actionType.toLowerCase() : null;\n switch (actionType) {\n case 'password':\n cipher.login.password = this.getValueOrDefault(field.value);\n break;\n case 'email':\n case 'username':\n case 'user':\n case 'name':\n cipher.login.username = this.getValueOrDefault(field.value);\n break;\n case 'url':\n cipher.login.uris = this.makeUriArray(field.value);\n break;\n default:\n const labelLower = field.label != null ? field.label.toLowerCase() : null;\n if (cipher.login.password == null && this.passwordFieldNames.indexOf(labelLower) > -1) {\n cipher.login.password = this.getValueOrDefault(field.value);\n } else if (cipher.login.username == null &&\n this.usernameFieldNames.indexOf(labelLower) > -1) {\n cipher.login.username = this.getValueOrDefault(field.value);\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\n this.uriFieldNames.indexOf(labelLower) > -1) {\n cipher.login.uris = this.makeUriArray(field.value);\n } else {\n this.processKvp(cipher, field.label, field.value);\n }\n break;\n }\n }\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class CodebookCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n this.processFolder(result, this.getValueOrDefault(value.Category));\n\n const cipher = this.initLoginCipher();\n cipher.favorite = this.getValueOrDefault(value.Favorite) === 'True';\n cipher.name = this.getValueOrDefault(value.Entry, '--');\n cipher.notes = this.getValueOrDefault(value.Note);\n cipher.login.username = this.getValueOrDefault(value.Username, value.Email);\n cipher.login.password = this.getValueOrDefault(value.Password);\n cipher.login.totp = this.getValueOrDefault(value.TOTP);\n cipher.login.uris = this.makeUriArray(value.Website);\n\n if (!this.isNullOrWhitespace(value.Username)) {\n this.processKvp(cipher, 'Email', value.Email);\n }\n this.processKvp(cipher, 'Phone', value.Phone);\n this.processKvp(cipher, 'PIN', value.PIN);\n this.processKvp(cipher, 'Account', value.Account);\n this.processKvp(cipher, 'Date', value.Date);\n\n this.convertToNoteIfNeeded(cipher);\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 Promise.resolve(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 { CipherView } from '../models/view/cipherView';\nimport { IdentityView } from '../models/view/identityView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nconst HandledResults = new Set(['ADDRESS', 'AUTHENTIFIANT', 'BANKSTATEMENT', 'IDCARD', 'IDENTITY',\n 'PAYMENTMEANS_CREDITCARD', 'PAYMENTMEAN_PAYPAL', 'EMAIL']);\n\nexport class DashlaneJsonImporter extends BaseImporter implements Importer {\n private result: ImportResult;\n\n parse(data: string): Promise {\n this.result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || results.length === 0) {\n this.result.success = false;\n return Promise.resolve(this.result);\n }\n\n if (results.ADDRESS != null) {\n this.processAddress(results.ADDRESS);\n }\n if (results.AUTHENTIFIANT != null) {\n this.processAuth(results.AUTHENTIFIANT);\n }\n if (results.BANKSTATEMENT != null) {\n this.processNote(results.BANKSTATEMENT, 'BankAccountName');\n }\n if (results.IDCARD != null) {\n this.processNote(results.IDCARD, 'Fullname');\n }\n if (results.PAYMENTMEANS_CREDITCARD != null) {\n this.processCard(results.PAYMENTMEANS_CREDITCARD);\n }\n if (results.IDENTITY != null) {\n this.processIdentity(results.IDENTITY);\n }\n\n for (const key in results) {\n if (results.hasOwnProperty(key) && !HandledResults.has(key)) {\n this.processNote(results[key], null, 'Generic Note');\n }\n }\n\n this.result.success = true;\n return Promise.resolve(this.result);\n }\n\n private processAuth(results: any[]) {\n results.forEach((credential: any) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(credential.title);\n\n cipher.login.username = this.getValueOrDefault(credential.login,\n this.getValueOrDefault(credential.secondaryLogin));\n if (this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = this.getValueOrDefault(credential.email);\n } else if (!this.isNullOrWhitespace(credential.email)) {\n cipher.notes = ('Email: ' + credential.email + '\\n');\n }\n\n cipher.login.password = this.getValueOrDefault(credential.password);\n cipher.login.uris = this.makeUriArray(credential.domain);\n cipher.notes += this.getValueOrDefault(credential.note, '');\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n\n private processIdentity(results: any[]) {\n results.forEach((obj: any) => {\n const cipher = new CipherView();\n cipher.identity = new IdentityView();\n cipher.type = CipherType.Identity;\n cipher.name = this.getValueOrDefault(obj.fullName, '');\n const nameParts = cipher.name.split(' ');\n if (nameParts.length > 0) {\n cipher.identity.firstName = this.getValueOrDefault(nameParts[0]);\n }\n if (nameParts.length === 2) {\n cipher.identity.lastName = this.getValueOrDefault(nameParts[1]);\n } else if (nameParts.length === 3) {\n cipher.identity.middleName = this.getValueOrDefault(nameParts[1]);\n cipher.identity.lastName = this.getValueOrDefault(nameParts[2]);\n }\n cipher.identity.username = this.getValueOrDefault(obj.pseudo);\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n\n private processAddress(results: any[]) {\n results.forEach((obj: any) => {\n const cipher = new CipherView();\n cipher.identity = new IdentityView();\n cipher.type = CipherType.Identity;\n cipher.name = this.getValueOrDefault(obj.addressName);\n cipher.identity.address1 = this.getValueOrDefault(obj.addressFull);\n cipher.identity.city = this.getValueOrDefault(obj.city);\n cipher.identity.state = this.getValueOrDefault(obj.state);\n cipher.identity.postalCode = this.getValueOrDefault(obj.zipcode);\n cipher.identity.country = this.getValueOrDefault(obj.country);\n if (cipher.identity.country != null) {\n cipher.identity.country = cipher.identity.country.toUpperCase();\n }\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n\n private processCard(results: any[]) {\n results.forEach((obj: any) => {\n const cipher = new CipherView();\n cipher.card = new CardView();\n cipher.type = CipherType.Card;\n cipher.name = this.getValueOrDefault(obj.bank);\n cipher.card.number = this.getValueOrDefault(obj.cardNumber);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n cipher.card.cardholderName = this.getValueOrDefault(obj.owner);\n if (!this.isNullOrWhitespace(cipher.card.brand)) {\n if (this.isNullOrWhitespace(cipher.name)) {\n cipher.name = cipher.card.brand;\n } else {\n cipher.name += (' - ' + cipher.card.brand);\n }\n }\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n\n private processNote(results: any[], nameProperty: string, name: string = null) {\n results.forEach((obj: any) => {\n const cipher = new CipherView();\n cipher.secureNote = new SecureNoteView();\n cipher.type = CipherType.SecureNote;\n cipher.secureNote.type = SecureNoteType.Generic;\n if (name != null) {\n cipher.name = name;\n } else {\n cipher.name = this.getValueOrDefault(obj[nameProperty]);\n }\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && key !== nameProperty) {\n this.processKvp(cipher, key, obj[key].toString());\n }\n }\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\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';\n\nimport { CipherType } from '../enums/cipherType';\n\nexport class EncryptrCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.Label, '--');\n cipher.notes = this.getValueOrDefault(value.Notes);\n const text = this.getValueOrDefault(value.Text);\n if (!this.isNullOrWhitespace(text)) {\n if (this.isNullOrWhitespace(cipher.notes)) {\n cipher.notes = text;\n } else {\n cipher.notes += ('\\n\\n' + text);\n }\n }\n\n const type = value['Entry Type'];\n if (type === 'Password') {\n cipher.login.username = this.getValueOrDefault(value.Username);\n cipher.login.password = this.getValueOrDefault(value.Password);\n cipher.login.uris = this.makeUriArray(value['Site URL']);\n } else if (type === 'Credit Card') {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n cipher.card.cardholderName = this.getValueOrDefault(value['Name on card']);\n cipher.card.number = this.getValueOrDefault(value['Card Number']);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n cipher.card.code = this.getValueOrDefault(value.CVV);\n const expiry = this.getValueOrDefault(value.Expiry);\n if (!this.isNullOrWhitespace(expiry)) {\n const expParts = expiry.split('/');\n if (expParts.length > 1) {\n cipher.card.expMonth = parseInt(expParts[0], null).toString();\n cipher.card.expYear = (2000 + parseInt(expParts[1], null)).toString();\n }\n }\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n let firstRow = true;\n results.forEach((value) => {\n if (value.length < 2 || (firstRow && (value[0] === 'Title' || 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 || (!this.containsField(value, 'username') &&\n !this.containsField(value, 'password') && !this.containsField(value, 'email') &&\n !this.containsField(value, 'url'))) {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n }\n\n if (this.containsField(value, 'cardholder') && this.containsField(value, 'number') &&\n this.containsField(value, 'expiry date')) {\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 if (this.setCardExpiration(cipher, fieldValue)) {\n continue;\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 Promise.resolve(result);\n }\n\n private containsField(fields: any[], name: string) {\n if (fields == null || name == null) {\n return false;\n }\n return fields.filter((f) => !this.isNullOrWhitespace(f) &&\n f.toLowerCase() === name.toLowerCase()).length > 0;\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 { CipherView } from '../models/view/cipherView';\nimport { FolderView } from '../models/view/folderView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { FieldType } from '../enums/fieldType';\n\nexport class EnpassJsonImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || results.items == null || results.items.length === 0) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n const foldersMap = new Map();\n const foldersIndexMap = new Map();\n const folderTree = this.buildFolderTree(results.folders);\n this.flattenFolderTree(null, folderTree, foldersMap);\n foldersMap.forEach((val, key) => {\n foldersIndexMap.set(key, result.folders.length);\n const f = new FolderView();\n f.name = val;\n result.folders.push(f);\n });\n\n results.items.forEach((item: any) => {\n if (item.folders != null && item.folders.length > 0 && foldersIndexMap.has(item.folders[0])) {\n result.folderRelationships.push([result.ciphers.length, foldersIndexMap.get(item.folders[0])]);\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(item.title);\n cipher.favorite = item.favorite > 0;\n\n if (item.template_type != null && item.fields != null && item.fields.length > 0) {\n if (item.template_type.indexOf('login.') === 0 || item.template_type.indexOf('password.') === 0) {\n this.processLogin(cipher, item.fields);\n } else if (item.template_type.indexOf('creditcard.') === 0) {\n this.processCard(cipher, item.fields);\n } else if (item.template_type.indexOf('identity.') < 0 &&\n item.fields.some((f: any) => f.type === 'password' && !this.isNullOrWhitespace(f.value))) {\n this.processLogin(cipher, item.fields);\n } else {\n this.processNote(cipher, item.fields);\n }\n }\n\n cipher.notes += ('\\n' + this.getValueOrDefault(item.note, ''));\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n\n private processLogin(cipher: CipherView, fields: any[]) {\n const urls: string[] = [];\n fields.forEach((field: any) => {\n if (this.isNullOrWhitespace(field.value) || field.type === 'section') {\n return;\n }\n\n if ((field.type === 'username' || field.type === 'email') &&\n this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = field.value;\n } else if (field.type === 'password' && this.isNullOrWhitespace(cipher.login.password)) {\n cipher.login.password = field.value;\n } else if (field.type === 'totp' && this.isNullOrWhitespace(cipher.login.totp)) {\n cipher.login.totp = field.value;\n } else if (field.type === 'url') {\n urls.push(field.value);\n } else {\n this.processKvp(cipher, field.label, field.value,\n field.sensitive === 1 ? FieldType.Hidden : FieldType.Text);\n }\n });\n cipher.login.uris = this.makeUriArray(urls);\n }\n\n private processCard(cipher: CipherView, fields: any[]) {\n cipher.card = new CardView();\n cipher.type = CipherType.Card;\n fields.forEach((field: any) => {\n if (this.isNullOrWhitespace(field.value) || field.type === 'section' || field.type === 'ccType') {\n return;\n }\n\n if (field.type === 'ccName' && this.isNullOrWhitespace(cipher.card.cardholderName)) {\n cipher.card.cardholderName = field.value;\n } else if (field.type === 'ccNumber' && this.isNullOrWhitespace(cipher.card.number)) {\n cipher.card.number = field.value;\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n } else if (field.type === 'ccCvc' && this.isNullOrWhitespace(cipher.card.code)) {\n cipher.card.code = field.value;\n } else if (field.type === 'ccExpiry' && this.isNullOrWhitespace(cipher.card.expYear)) {\n if (!this.setCardExpiration(cipher, field.value)) {\n this.processKvp(cipher, field.label, field.value,\n field.sensitive === 1 ? FieldType.Hidden : FieldType.Text);\n }\n } else {\n this.processKvp(cipher, field.label, field.value,\n field.sensitive === 1 ? FieldType.Hidden : FieldType.Text);\n }\n });\n }\n\n private processNote(cipher: CipherView, fields: any[]) {\n fields.forEach((field: any) => {\n if (this.isNullOrWhitespace(field.value) || field.type === 'section') {\n return;\n }\n this.processKvp(cipher, field.label, field.value,\n field.sensitive === 1 ? FieldType.Hidden : FieldType.Text);\n });\n }\n\n private buildFolderTree(folders: any[]): any[] {\n if (folders == null) {\n return [];\n }\n const folderTree: any[] = [];\n const map = new Map([]);\n folders.forEach((obj: any) => {\n map.set(obj.uuid, obj);\n obj.children = [];\n });\n folders.forEach((obj: any) => {\n if (obj.parent_uuid != null && obj.parent_uuid !== '' && map.has(obj.parent_uuid)) {\n map.get(obj.parent_uuid).children.push(obj);\n } else {\n folderTree.push(obj);\n }\n });\n return folderTree;\n }\n\n private flattenFolderTree(titlePrefix: string, tree: any[], map: Map) {\n if (tree == null) {\n return;\n }\n tree.forEach((f: any) => {\n if (f.title != null && f.title.trim() !== '') {\n let title = f.title.trim();\n if (titlePrefix != null && titlePrefix.trim() !== '') {\n title = titlePrefix + '/' + title;\n }\n map.set(f.uuid, title);\n if (f.children != null && f.children.length !== 0) {\n this.flattenFolderTree(title, f.children, map);\n }\n }\n });\n }\n}\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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n const url = this.getValueOrDefault(value.url, this.getValueOrDefault(value.hostname));\n cipher.name = this.getValueOrDefault(this.nameFromUrl(url), '--');\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(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';\n\nimport { CipherType } from '../enums/cipherType';\n\nexport class FSecureFskImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || results.data == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n for (const key in results.data) {\n if (!results.data.hasOwnProperty(key)) {\n continue;\n }\n\n const value = results.data[key];\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.service);\n cipher.notes = this.getValueOrDefault(value.notes);\n\n if (value.style === 'website') {\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 } else if (value.style === 'creditcard') {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n cipher.card.cardholderName = this.getValueOrDefault(value.username);\n cipher.card.number = this.getValueOrDefault(value.creditNumber);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n cipher.card.code = this.getValueOrDefault(value.creditCvv);\n if (!this.isNullOrWhitespace(value.creditExpiry)) {\n if (!this.setCardExpiration(cipher, value.creditExpiry)) {\n this.processKvp(cipher, 'Expiration', value.creditExpiry);\n }\n }\n if (!this.isNullOrWhitespace(value.password)) {\n this.processKvp(cipher, 'PIN', value.password);\n }\n } else {\n continue;\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n }\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class GnomeJsonImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || Object.keys(results).length === 0) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n for (const keyRing in results) {\n if (!results.hasOwnProperty(keyRing) || this.isNullOrWhitespace(keyRing) ||\n results[keyRing].length === 0) {\n continue;\n }\n\n results[keyRing].forEach((value: any) => {\n if (this.isNullOrWhitespace(value.display_name) || value.display_name.indexOf('http') !== 0) {\n return;\n }\n\n this.processFolder(result, keyRing);\n const cipher = this.initLoginCipher();\n cipher.name = value.display_name.replace('http://', '').replace('https://', '');\n if (cipher.name.length > 30) {\n cipher.name = cipher.name.substring(0, 30);\n }\n cipher.login.password = this.getValueOrDefault(value.secret);\n cipher.login.uris = this.makeUriArray(value.display_name);\n\n if (value.attributes != null) {\n cipher.login.username = value.attributes != null ?\n this.getValueOrDefault(value.attributes.username_value) : null;\n for (const attr in value.attributes) {\n if (!value.attributes.hasOwnProperty(attr) || attr === 'username_value' ||\n attr === 'xdg:schema') {\n continue;\n }\n this.processKvp(cipher, attr, value.attributes[attr]);\n }\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n }\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nconst NotesHeader = 'Notes\\n\\n';\nconst ApplicationsHeader = 'Applications\\n\\n';\nconst WebsitesHeader = 'Websites\\n\\n';\nconst Delimiter = '\\n---\\n';\n\nexport class KasperskyTxtImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n\n let notesData: string;\n let applicationsData: string;\n let websitesData: string;\n let workingData = this.splitNewLine(data).join('\\n');\n\n if (workingData.indexOf(NotesHeader) !== -1) {\n const parts = workingData.split(NotesHeader);\n if (parts.length > 1) {\n workingData = parts[0];\n notesData = parts[1];\n }\n }\n if (workingData.indexOf(ApplicationsHeader) !== -1) {\n const parts = workingData.split(ApplicationsHeader);\n if (parts.length > 1) {\n workingData = parts[0];\n applicationsData = parts[1];\n }\n }\n if (workingData.indexOf(WebsitesHeader) === 0) {\n const parts = workingData.split(WebsitesHeader);\n if (parts.length > 1) {\n workingData = parts[0];\n websitesData = parts[1];\n }\n }\n\n const notes = this.parseDataCategory(notesData);\n const applications = this.parseDataCategory(applicationsData);\n const websites = this.parseDataCategory(websitesData);\n\n notes.forEach((n) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(n.get('Name'));\n cipher.notes = this.getValueOrDefault(n.get('Text'));\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n websites.concat(applications).forEach((w) => {\n const cipher = this.initLoginCipher();\n const nameKey = w.has('Website name') ? 'Website name' : 'Application';\n cipher.name = this.getValueOrDefault(w.get(nameKey), '');\n if (!this.isNullOrWhitespace(w.get('Login name'))) {\n if (!this.isNullOrWhitespace(cipher.name)) {\n cipher.name += ': ';\n }\n cipher.name += w.get('Login name');\n }\n cipher.notes = this.getValueOrDefault(w.get('Comment'));\n if (w.has('Website URL')) {\n cipher.login.uris = this.makeUriArray(w.get('Website URL'));\n }\n cipher.login.username = this.getValueOrDefault(w.get('Login'));\n cipher.login.password = this.getValueOrDefault(w.get('Password'));\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n\n private parseDataCategory(data: string): Map[] {\n if (this.isNullOrWhitespace(data) || data.indexOf(Delimiter) === -1) {\n return [];\n }\n const items: Map[] = [];\n data.split(Delimiter).forEach((p) => {\n if (p.indexOf('\\n') === -1) {\n return;\n }\n const item = new Map();\n let itemComment: string;\n let itemCommentKey: string;\n p.split('\\n').forEach((l) => {\n if (itemComment != null) {\n itemComment += ('\\n' + l);\n return;\n }\n const colonIndex = l.indexOf(':');\n let key: string;\n let val: string;\n if (colonIndex === -1) {\n return;\n } else {\n key = l.substring(0, colonIndex);\n if (l.length > colonIndex + 1) {\n val = l.substring(colonIndex + 2);\n }\n }\n if (key != null) {\n item.set(key, val);\n }\n if (key === 'Comment' || key === 'Text') {\n itemComment = val;\n itemCommentKey = key;\n }\n });\n if (itemComment != null && itemCommentKey != null) {\n item.set(itemCommentKey, itemComment);\n }\n if (item.size === 0) {\n return;\n }\n items.push(item);\n });\n return items;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { FieldType } from '../enums/fieldType';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { FolderView } from '../models/view/folderView';\n\nexport class KeePass2XmlImporter extends BaseImporter implements Importer {\n result = new ImportResult();\n\n parse(data: string): Promise {\n const doc = this.parseXml(data);\n if (doc == null) {\n this.result.success = false;\n return Promise.resolve(this.result);\n }\n\n const rootGroup = doc.querySelector('KeePassFile > Root > Group');\n if (rootGroup == null) {\n this.result.errorMessage = 'Missing `KeePassFile > Root > Group` node.';\n this.result.success = false;\n return Promise.resolve(this.result);\n }\n\n this.traverse(rootGroup, true, '');\n\n if (this.organization) {\n this.moveFoldersToCollections(this.result);\n }\n\n this.result.success = true;\n return Promise.resolve(this.result);\n }\n\n traverse(node: Element, isRootNode: boolean, groupPrefixName: string) {\n const folderIndex = this.result.folders.length;\n let groupName = groupPrefixName;\n\n if (!isRootNode) {\n if (groupName !== '') {\n groupName += '/';\n }\n const nameEl = this.querySelectorDirectChild(node, 'Name');\n groupName += nameEl == null ? '-' : nameEl.textContent;\n const folder = new FolderView();\n folder.name = groupName;\n this.result.folders.push(folder);\n }\n\n this.querySelectorAllDirectChild(node, 'Entry').forEach((entry) => {\n const cipherIndex = this.result.ciphers.length;\n\n const cipher = this.initLoginCipher();\n this.querySelectorAllDirectChild(entry, 'String').forEach((entryString) => {\n const valueEl = this.querySelectorDirectChild(entryString, 'Value');\n const value = valueEl != null ? valueEl.textContent : null;\n if (this.isNullOrWhitespace(value)) {\n return;\n }\n const keyEl = this.querySelectorDirectChild(entryString, 'Key');\n const key = keyEl != null ? keyEl.textContent : null;\n\n if (key === 'URL') {\n cipher.login.uris = this.makeUriArray(value);\n } else if (key === 'UserName') {\n cipher.login.username = value;\n } else if (key === 'Password') {\n cipher.login.password = value;\n } else if (key === 'otp') {\n cipher.login.totp = value.replace('key=', '');\n } else if (key === 'Title') {\n cipher.name = value;\n } else if (key === 'Notes') {\n cipher.notes += (value + '\\n');\n } else {\n let type = FieldType.Text;\n const attrs = (valueEl.attributes as any);\n if (attrs.length > 0 && attrs.ProtectInMemory != null &&\n attrs.ProtectInMemory.value === 'True') {\n type = FieldType.Hidden;\n }\n this.processKvp(cipher, key, value, type);\n }\n });\n\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n\n if (!isRootNode) {\n this.result.folderRelationships.push([cipherIndex, folderIndex]);\n }\n });\n\n this.querySelectorAllDirectChild(node, 'Group').forEach((group) => {\n this.traverse(group, false, groupName);\n });\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class KeePassXCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (this.isNullOrWhitespace(value.Title)) {\n return;\n }\n\n value.Group = !this.isNullOrWhitespace(value.Group) && value.Group.startsWith('Root/') ?\n value.Group.replace('Root/', '') : value.Group;\n const groupName = !this.isNullOrWhitespace(value.Group) ? value.Group : null;\n this.processFolder(result, groupName);\n\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value.Notes);\n cipher.name = this.getValueOrDefault(value.Title, '--');\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 if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(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';\n\nexport class KeeperCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(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 { CipherView } from '../models/view/cipherView';\nimport { FolderView } from '../models/view/folderView';\nimport { IdentityView } from '../models/view/identityView';\nimport { LoginView } from '../models/view/loginView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class LastPassCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value, index) => {\n const cipherIndex = result.ciphers.length;\n let folderIndex = result.folders.length;\n let grouping = value.grouping;\n if (grouping != null) {\n grouping = grouping.replace(/\\\\/g, '/').replace(/[\\x00-\\x1F\\x7F-\\x9F]/g, '');\n }\n const hasFolder = this.getValueOrDefault(grouping, '(none)') !== '(none)';\n let addFolder = hasFolder;\n\n if (hasFolder) {\n for (let i = 0; i < result.folders.length; i++) {\n if (result.folders[i].name === grouping) {\n addFolder = false;\n folderIndex = i;\n break;\n }\n }\n }\n\n const cipher = this.buildBaseCipher(value);\n if (cipher.type === CipherType.Login) {\n cipher.notes = this.getValueOrDefault(value.extra);\n cipher.login = new LoginView();\n cipher.login.uris = this.makeUriArray(value.url);\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n } else if (cipher.type === CipherType.SecureNote) {\n this.parseSecureNote(value, cipher);\n } else if (cipher.type === CipherType.Card) {\n cipher.card = this.parseCard(value);\n cipher.notes = this.getValueOrDefault(value.notes);\n } else if (cipher.type === CipherType.Identity) {\n cipher.identity = this.parseIdentity(value);\n cipher.notes = this.getValueOrDefault(value.notes);\n if (!this.isNullOrWhitespace(value.ccnum)) {\n // there is a card on this identity too\n const cardCipher = this.buildBaseCipher(value);\n cardCipher.identity = null;\n cardCipher.type = CipherType.Card;\n cardCipher.card = this.parseCard(value);\n result.ciphers.push(cardCipher);\n }\n }\n\n result.ciphers.push(cipher);\n\n if (addFolder) {\n const f = new FolderView();\n f.name = grouping;\n result.folders.push(f);\n }\n if (hasFolder) {\n result.folderRelationships.push([cipherIndex, folderIndex]);\n }\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(result);\n }\n\n private buildBaseCipher(value: any) {\n const cipher = new CipherView();\n if (value.hasOwnProperty('profilename') && value.hasOwnProperty('profilelanguage')) {\n // form fill\n cipher.favorite = false;\n cipher.name = this.getValueOrDefault(value.profilename, '--');\n cipher.type = CipherType.Card;\n\n if (!this.isNullOrWhitespace(value.title) || !this.isNullOrWhitespace(value.firstname) ||\n !this.isNullOrWhitespace(value.lastname) || !this.isNullOrWhitespace(value.address1) ||\n !this.isNullOrWhitespace(value.phone) || !this.isNullOrWhitespace(value.username) ||\n !this.isNullOrWhitespace(value.email)) {\n cipher.type = CipherType.Identity;\n }\n } else {\n // site or secure note\n cipher.favorite = !this.organization && this.getValueOrDefault(value.fav, '0') === '1';\n cipher.name = this.getValueOrDefault(value.name, '--');\n cipher.type = value.url === 'http://sn' ? CipherType.SecureNote : CipherType.Login;\n }\n return cipher;\n }\n\n private parseCard(value: any): CardView {\n const card = new CardView();\n card.cardholderName = this.getValueOrDefault(value.ccname);\n card.number = this.getValueOrDefault(value.ccnum);\n card.code = this.getValueOrDefault(value.cccsc);\n card.brand = this.getCardBrand(value.ccnum);\n\n if (!this.isNullOrWhitespace(value.ccexp) && value.ccexp.indexOf('-') > -1) {\n const ccexpParts = (value.ccexp as string).split('-');\n if (ccexpParts.length > 1) {\n card.expYear = ccexpParts[0];\n card.expMonth = ccexpParts[1];\n if (card.expMonth.length === 2 && card.expMonth[0] === '0') {\n card.expMonth = card.expMonth[1];\n }\n }\n }\n\n return card;\n }\n\n private parseIdentity(value: any): IdentityView {\n const identity = new IdentityView();\n identity.title = this.getValueOrDefault(value.title);\n identity.firstName = this.getValueOrDefault(value.firstname);\n identity.middleName = this.getValueOrDefault(value.middlename);\n identity.lastName = this.getValueOrDefault(value.lastname);\n identity.username = this.getValueOrDefault(value.username);\n identity.company = this.getValueOrDefault(value.company);\n identity.ssn = this.getValueOrDefault(value.ssn);\n identity.address1 = this.getValueOrDefault(value.address1);\n identity.address2 = this.getValueOrDefault(value.address2);\n identity.address3 = this.getValueOrDefault(value.address3);\n identity.city = this.getValueOrDefault(value.city);\n identity.state = this.getValueOrDefault(value.state);\n identity.postalCode = this.getValueOrDefault(value.zip);\n identity.country = this.getValueOrDefault(value.country);\n identity.email = this.getValueOrDefault(value.email);\n identity.phone = this.getValueOrDefault(value.phone);\n\n if (!this.isNullOrWhitespace(identity.title)) {\n identity.title = identity.title.charAt(0).toUpperCase() + identity.title.slice(1);\n }\n\n return identity;\n }\n\n private parseSecureNote(value: any, cipher: CipherView) {\n const extraParts = this.splitNewLine(value.extra);\n let processedNote = false;\n\n if (extraParts.length) {\n const typeParts = extraParts[0].split(':');\n if (typeParts.length > 1 && typeParts[0] === 'NoteType' &&\n (typeParts[1] === 'Credit Card' || typeParts[1] === 'Address')) {\n if (typeParts[1] === 'Credit Card') {\n const mappedData = this.parseSecureNoteMapping(cipher, extraParts, {\n 'Number': 'number',\n 'Name on Card': 'cardholderName',\n 'Security Code': 'code',\n // LP provides date in a format like 'June,2020'\n // Store in expMonth, then parse and modify\n 'Expiration Date': 'expMonth',\n });\n\n if (this.isNullOrWhitespace(mappedData.expMonth) || mappedData.expMonth === ',') {\n // No expiration data\n mappedData.expMonth = undefined;\n } else {\n const [monthString, year] = mappedData.expMonth.split(',');\n // Parse month name into number\n if (!this.isNullOrWhitespace(monthString)) {\n const month = new Date(Date.parse(monthString.trim() + ' 1, 2012')).getMonth() + 1;\n if (isNaN(month)) {\n mappedData.expMonth = undefined;\n } else {\n mappedData.expMonth = month.toString();\n }\n } else {\n mappedData.expMonth = undefined;\n }\n if (!this.isNullOrWhitespace(year)) {\n mappedData.expYear = year;\n }\n }\n\n cipher.type = CipherType.Card;\n cipher.card = mappedData;\n } else if (typeParts[1] === 'Address') {\n const mappedData = this.parseSecureNoteMapping(cipher, extraParts, {\n 'Title': 'title',\n 'First Name': 'firstName',\n 'Last Name': 'lastName',\n 'Middle Name': 'middleName',\n 'Company': 'company',\n 'Address 1': 'address1',\n 'Address 2': 'address2',\n 'Address 3': 'address3',\n 'City / Town': 'city',\n 'State': 'state',\n 'Zip / Postal Code': 'postalCode',\n 'Country': 'country',\n 'Email Address': 'email',\n 'Username': 'username',\n });\n cipher.type = CipherType.Identity;\n cipher.identity = mappedData;\n }\n processedNote = true;\n }\n }\n\n if (!processedNote) {\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n cipher.notes = this.getValueOrDefault(value.extra);\n }\n }\n\n private parseSecureNoteMapping(cipher: CipherView, extraParts: string[], map: any): T {\n const dataObj: any = {};\n\n let processingNotes = false;\n extraParts.forEach((extraPart) => {\n let key: string = null;\n let val: string = null;\n if (!processingNotes) {\n if (this.isNullOrWhitespace(extraPart)) {\n return;\n }\n const colonIndex = extraPart.indexOf(':');\n if (colonIndex === -1) {\n key = extraPart;\n } else {\n key = extraPart.substring(0, colonIndex);\n if (extraPart.length > colonIndex) {\n val = extraPart.substring(colonIndex + 1);\n }\n }\n if (this.isNullOrWhitespace(key) || this.isNullOrWhitespace(val) || key === 'NoteType') {\n return;\n }\n }\n\n if (processingNotes) {\n cipher.notes += ('\\n' + extraPart);\n } else if (key === 'Notes') {\n if (!this.isNullOrWhitespace(cipher.notes)) {\n cipher.notes += ('\\n' + val);\n } else {\n cipher.notes = val;\n }\n processingNotes = true;\n } else if (map.hasOwnProperty(key)) {\n dataObj[map[key]] = val;\n } else {\n this.processKvp(cipher, key, val);\n }\n });\n\n return dataObj;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class LogMeOnceCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (value.length < 4) {\n return;\n }\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.login.password = this.getValueOrDefault(value[3]);\n cipher.login.uris = this.makeUriArray(value[1]);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(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 { SecureNoteView } from '../models/view/secureNoteView';\n\nexport class MSecureCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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' || value[1] === 'Login') {\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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nimport { CardView } from '../models/view/cardView';\nimport { IdentityView } from '../models/view/identityView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class MykiCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.nickname, '--');\n cipher.notes = this.getValueOrDefault(value.additionalInfo);\n\n if (value.url !== undefined) {\n // Accounts\n cipher.login.uris = this.makeUriArray(value.url);\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.totp = this.getValueOrDefault(value.twoFactAuthToken);\n } else if (value.cardNumber !== undefined) {\n // Cards\n cipher.card = new CardView();\n cipher.type = CipherType.Card;\n cipher.card.cardholderName = this.getValueOrDefault(value.cardName);\n cipher.card.number = this.getValueOrDefault(value.cardNumber);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n cipher.card.expMonth = this.getValueOrDefault(value.exp_month);\n cipher.card.expYear = this.getValueOrDefault(value.exp_year);\n cipher.card.code = this.getValueOrDefault(value.cvv);\n } else if (value.firstName !== undefined) {\n // Identities\n cipher.identity = new IdentityView();\n cipher.type = CipherType.Identity;\n cipher.identity.title = this.getValueOrDefault(value.title);\n cipher.identity.firstName = this.getValueOrDefault(value.firstName);\n cipher.identity.middleName = this.getValueOrDefault(value.middleName);\n cipher.identity.lastName = this.getValueOrDefault(value.lastName);\n cipher.identity.phone = this.getValueOrDefault(value.number);\n cipher.identity.email = this.getValueOrDefault(value.email);\n cipher.identity.address1 = this.getValueOrDefault(value.firstAddressLine);\n cipher.identity.address2 = this.getValueOrDefault(value.secondAddressLine);\n cipher.identity.city = this.getValueOrDefault(value.city);\n cipher.identity.country = this.getValueOrDefault(value.country);\n cipher.identity.postalCode = this.getValueOrDefault(value.zipCode);\n } else if (value.content !== undefined) {\n // Notes\n cipher.secureNote = new SecureNoteView();\n cipher.type = CipherType.SecureNote;\n cipher.secureNote.type = SecureNoteType.Generic;\n cipher.name = this.getValueOrDefault(value.title, '--');\n cipher.notes = this.getValueOrDefault(value.content);\n } else {\n return;\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(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 { CipherView } from '../../models/view/cipherView';\nimport { IdentityView } from '../../models/view/identityView';\nimport { PasswordHistoryView } from '../../models/view/passwordHistoryView';\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 OnePassword1PifImporter extends BaseImporter implements Importer {\n result = new ImportResult();\n\n parse(data: string): Promise {\n data.split(this.newLineRegex).forEach((line) => {\n if (this.isNullOrWhitespace(line) || line[0] !== '{') {\n return;\n }\n const item = JSON.parse(line);\n if (item.trashed === true) {\n return;\n }\n const cipher = this.initLoginCipher();\n\n if (this.isNullOrWhitespace(item.hmac)) {\n this.processStandardItem(item, cipher);\n } else {\n this.processWinOpVaultItem(item, cipher);\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n\n this.result.success = true;\n return Promise.resolve(this.result);\n }\n\n private processWinOpVaultItem(item: any, cipher: CipherView) {\n if (item.overview != null) {\n cipher.name = this.getValueOrDefault(item.overview.title);\n if (item.overview.URLs != null) {\n const urls: string[] = [];\n item.overview.URLs.forEach((url: any) => {\n if (!this.isNullOrWhitespace(url.u)) {\n urls.push(url.u);\n }\n });\n cipher.login.uris = this.makeUriArray(urls);\n }\n }\n\n if (item.details != null) {\n if (item.details.passwordHistory != null) {\n this.parsePasswordHistory(item.details.passwordHistory, cipher);\n }\n if (!this.isNullOrWhitespace(item.details.ccnum) || !this.isNullOrWhitespace(item.details.cvv)) {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n } else if (!this.isNullOrWhitespace(item.details.firstname) ||\n !this.isNullOrWhitespace(item.details.address1)) {\n cipher.type = CipherType.Identity;\n cipher.identity = new IdentityView();\n }\n if (cipher.type === CipherType.Login && !this.isNullOrWhitespace(item.details.password)) {\n cipher.login.password = item.details.password;\n }\n if (!this.isNullOrWhitespace(item.details.notesPlain)) {\n cipher.notes = item.details.notesPlain.split(this.newLineRegex).join('\\n') + '\\n';\n }\n if (item.details.fields != null) {\n this.parseFields(item.details.fields, cipher, 'designation', 'value', 'name');\n }\n if (item.details.sections != null) {\n item.details.sections.forEach((section: any) => {\n if (section.fields != null) {\n this.parseFields(section.fields, cipher, 'n', 'v', 't');\n }\n });\n }\n }\n }\n\n private processStandardItem(item: any, cipher: CipherView) {\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 if (item.typeName === 'identities.Identity') {\n cipher.type = CipherType.Identity;\n cipher.identity = new IdentityView();\n } else {\n cipher.login.uris = this.makeUriArray(item.location);\n }\n\n if (item.secureContents != null) {\n if (item.secureContents.passwordHistory != null) {\n this.parsePasswordHistory(item.secureContents.passwordHistory, cipher);\n }\n if (!this.isNullOrWhitespace(item.secureContents.notesPlain)) {\n cipher.notes = item.secureContents.notesPlain.split(this.newLineRegex).join('\\n') + '\\n';\n }\n if (cipher.type === CipherType.Login) {\n if (!this.isNullOrWhitespace(item.secureContents.password)) {\n cipher.login.password = item.secureContents.password;\n }\n if (item.secureContents.URLs != null) {\n const urls: string[] = [];\n item.secureContents.URLs.forEach((u: any) => {\n if (!this.isNullOrWhitespace(u.url)) {\n urls.push(u.url);\n }\n });\n if (urls.length > 0) {\n cipher.login.uris = this.makeUriArray(urls);\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\n private parsePasswordHistory(items: any[], cipher: CipherView) {\n const maxSize = items.length > 5 ? 5 : items.length;\n cipher.passwordHistory = items\n .filter((h: any) => !this.isNullOrWhitespace(h.value) && h.time != null)\n .sort((a, b) => b.time - a.time)\n .slice(0, maxSize)\n .map((h: any) => {\n const ph = new PasswordHistoryView();\n ph.password = h.value;\n ph.lastUsedDate = new Date(('' + h.time).length >= 13 ? h.time : h.time * 1000);\n return ph;\n });\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 } else if (cipher.type === CipherType.Identity) {\n const identity = cipher.identity;\n if (this.isNullOrWhitespace(identity.firstName) && fieldDesignation === 'firstname') {\n identity.firstName = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(identity.lastName) && fieldDesignation === 'lastname') {\n identity.lastName = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(identity.middleName) && fieldDesignation === 'initial') {\n identity.middleName = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(identity.phone) && fieldDesignation === 'defphone') {\n identity.phone = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(identity.company) && fieldDesignation === 'company') {\n identity.company = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(identity.email) && fieldDesignation === 'email') {\n identity.email = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(identity.username) && fieldDesignation === 'username') {\n identity.username = fieldValue;\n return;\n } else if (fieldDesignation === 'address') {\n // fieldValue is an object casted into a string, so access the plain value instead\n const { street, city, country, zip } = field[valueKey];\n identity.address1 = this.getValueOrDefault(street);\n identity.city = this.getValueOrDefault(city);\n if (!this.isNullOrWhitespace(country)) {\n identity.country = country.toUpperCase();\n }\n identity.postalCode = this.getValueOrDefault(zip);\n return;\n }\n }\n\n const fieldName = this.isNullOrWhitespace(field[nameKey]) ? 'no_name' : field[nameKey];\n if (fieldName === 'password' && cipher.passwordHistory != null &&\n cipher.passwordHistory.some((h) => h.password === fieldValue)) {\n return;\n }\n\n const fieldType = field.k === 'concealed' ? FieldType.Hidden : FieldType.Text;\n this.processKvp(cipher, fieldName, fieldValue, fieldType);\n });\n }\n}\n","import { Importer } from '../importer';\nimport { IgnoredProperties, OnePasswordCsvImporter } from './onepasswordCsvImporter';\n\nimport { CipherType } from '../../enums/cipherType';\nimport { CardView, CipherView, IdentityView } from '../../models/view';\n\nexport class OnePasswordMacCsvImporter extends OnePasswordCsvImporter implements Importer {\n setCipherType(value: any, cipher: CipherView) {\n const onePassType = this.getValueOrDefault(this.getProp(value, 'type'), 'Login');\n switch (onePassType) {\n case 'Credit Card':\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n IgnoredProperties.push('type');\n break;\n case 'Identity':\n cipher.type = CipherType.Identity;\n cipher.identity = new IdentityView();\n IgnoredProperties.push('type');\n break;\n case 'Login':\n case 'Secure Note':\n IgnoredProperties.push('type');\n default:\n break;\n }\n }\n}\n","import { CipherView } from '../../models/view';\n\nexport class CipherImportContext {\n lowerProperty: string;\n constructor(public importRecord: any, public property: string, public cipher: CipherView) {\n this.lowerProperty = property.toLowerCase();\n }\n}\n","export class View {\n}\n","import { Importer } from '../importer';\nimport { CipherImportContext } from './cipherImportContext';\nimport { OnePasswordCsvImporter } from './onepasswordCsvImporter';\n\nimport { CipherType } from '../../enums/cipherType';\nimport { CardView, CipherView, IdentityView, LoginView } from '../../models/view';\n\nexport class OnePasswordWinCsvImporter extends OnePasswordCsvImporter implements Importer {\n constructor() {\n super();\n this.identityPropertyParsers.push(this.setIdentityAddress);\n }\n\n setCipherType(value: any, cipher: CipherView) {\n cipher.type = CipherType.Login;\n cipher.login = new LoginView();\n\n if (!this.isNullOrWhitespace(this.getPropByRegexp(value, /\\d+: number/i)) &&\n !this.isNullOrWhitespace(this.getPropByRegexp(value, /\\d+: expiry date/i))) {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n }\n\n if (!this.isNullOrWhitespace(this.getPropByRegexp(value, /name \\d+: first name/i)) ||\n !this.isNullOrWhitespace(this.getPropByRegexp(value, /name \\d+: initial/i)) ||\n !this.isNullOrWhitespace(this.getPropByRegexp(value, /name \\d+: last name/i)) ||\n !this.isNullOrWhitespace(this.getPropByRegexp(value, /internet \\d+: email/i))) {\n cipher.type = CipherType.Identity;\n cipher.identity = new IdentityView();\n }\n }\n\n setIdentityAddress(context: CipherImportContext) {\n if (context.lowerProperty.match(/address \\d+: address/i)) {\n this.processKvp(context.cipher, 'address', context.importRecord[context.property]);\n return true;\n }\n return false;\n }\n\n setCreditCardExpiry(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.card.expiration) && context.lowerProperty.includes('expiry date')) {\n const expSplit = (context.importRecord[context.property] as string).split('/');\n context.cipher.card.expMonth = expSplit[0];\n if (context.cipher.card.expMonth[0] === '0' && context.cipher.card.expMonth.length === 2) {\n context.cipher.card.expMonth = context.cipher.card.expMonth.substr(1, 1);\n }\n context.cipher.card.expYear = expSplit[2].length > 4 ? expSplit[2].substr(0, 4) : expSplit[2];\n return true;\n }\n return false;\n }\n}\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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PassKeepCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n this.processFolder(result, this.getValue('category', value));\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValue('description', value);\n cipher.name = this.getValueOrDefault(this.getValue('title', value), '--');\n cipher.login.username = this.getValue('username', value);\n cipher.login.password = this.getValue('password', value);\n cipher.login.uris = this.makeUriArray(this.getValue('site', value));\n this.processKvp(cipher, 'Password 2', this.getValue('password2', value));\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 Promise.resolve(result);\n }\n\n private getValue(key: string, value: any) {\n return this.getValueOrDefault(value[key], this.getValueOrDefault(value[(' ' + key)]));\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PassmanJsonImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || results.length === 0) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((credential: any) => {\n if (credential.tags != null && credential.tags.length > 0) {\n const folderName = credential.tags[0].text;\n this.processFolder(result, folderName);\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = credential.label;\n\n cipher.login.username = this.getValueOrDefault(credential.username);\n if (this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = this.getValueOrDefault(credential.email);\n } else if (!this.isNullOrWhitespace(credential.email)) {\n cipher.notes = ('Email: ' + credential.email + '\\n');\n }\n\n cipher.login.password = this.getValueOrDefault(credential.password);\n cipher.login.uris = this.makeUriArray(credential.url);\n cipher.notes += this.getValueOrDefault(credential.description, '');\n if (credential.otp != null) {\n cipher.login.totp = this.getValueOrDefault(credential.otp.secret);\n }\n\n if (credential.custom_fields != null) {\n credential.custom_fields.forEach((customField: any) => {\n switch (customField.field_type) {\n case 'text':\n case 'password':\n this.processKvp(cipher, customField.label, customField.value);\n break;\n }\n });\n }\n\n this.convertToNoteIfNeeded(cipher);\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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CollectionView } from '../models/view/collectionView';\n\nexport class PasspackCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n const tagsJson = !this.isNullOrWhitespace(value.Tags) ? JSON.parse(value.Tags) : null;\n const tags: string[] = tagsJson != null && tagsJson.tags != null && tagsJson.tags.length > 0 ?\n tagsJson.tags.map((tagJson: string) => {\n try {\n const t = JSON.parse(tagJson);\n return this.getValueOrDefault(t.tag);\n } catch { }\n return null;\n }).filter((t: string) => !this.isNullOrWhitespace(t)) : null;\n\n if (this.organization && tags != null && tags.length > 0) {\n tags.forEach((tag) => {\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 if (!this.organization && tags != null && tags.length > 0) {\n this.processFolder(result, tags[0]);\n }\n\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value.Notes, '');\n cipher.notes += ('\\n\\n' + this.getValueOrDefault(value['Shared Notes'], '') + '\\n');\n cipher.name = this.getValueOrDefault(value['Entry Name'], '--');\n cipher.login.username = this.getValueOrDefault(value['User ID']);\n cipher.login.password = this.getValueOrDefault(value.Password);\n cipher.login.uris = this.makeUriArray(value.URL);\n\n if (value.__parsed_extra != null && value.__parsed_extra.length > 0) {\n value.__parsed_extra.forEach((extra: string) => {\n if (!this.isNullOrWhitespace(extra)) {\n cipher.notes += ('\\n' + extra);\n }\n });\n }\n\n const fieldsJson = !this.isNullOrWhitespace(value['Extra Fields']) ?\n JSON.parse(value['Extra Fields']) : null;\n const fields = fieldsJson != null && fieldsJson.extraFields != null &&\n fieldsJson.extraFields.length > 0 ? fieldsJson.extraFields.map((fieldJson: string) => {\n try {\n return JSON.parse(fieldJson);\n } catch { }\n return null;\n }) : null;\n if (fields != null) {\n fields.forEach((f: any) => {\n if (f != null) {\n this.processKvp(cipher, f.name, f.data);\n }\n });\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PasswordAgentCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n let newVersion = true;\n results.forEach((value) => {\n if (value.length !== 5 && value.length < 9) {\n return;\n }\n const altFormat = value.length === 10 && value[0] === '0';\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[altFormat ? 1 : 0], '--');\n cipher.login.username = this.getValueOrDefault(value[altFormat ? 2 : 1]);\n cipher.login.password = this.getValueOrDefault(value[altFormat ? 3 : 2]);\n if (value.length === 5) {\n newVersion = false;\n cipher.notes = this.getValueOrDefault(value[4]);\n cipher.login.uris = this.makeUriArray(value[3]);\n } else {\n const folder = this.getValueOrDefault(value[altFormat ? 9 : 8], '(None)');\n let folderName = folder !== '(None)' ? folder.split('\\\\').join('/') : null;\n if (folderName != null) {\n folderName = folder.split(' > ').join('/');\n folderName = folder.split('>').join('/');\n }\n this.processFolder(result, folderName);\n cipher.notes = this.getValueOrDefault(value[altFormat ? 5 : 3]);\n cipher.login.uris = this.makeUriArray(value[4]);\n }\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (newVersion && this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(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 { FolderView } from '../models/view/folderView';\n\nimport { CipherType } from '../enums/cipherType';\n\nexport class PasswordBossJsonImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || results.items == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n const foldersMap = new Map();\n results.folders.forEach((value: any) => {\n foldersMap.set(value.id, value.name);\n });\n const foldersIndexMap = new Map();\n foldersMap.forEach((val, key) => {\n foldersIndexMap.set(key, result.folders.length);\n const f = new FolderView();\n f.name = val;\n result.folders.push(f);\n });\n\n results.items.forEach((value: any) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name, '--');\n cipher.login.uris = this.makeUriArray(value.login_url);\n\n if (value.folder != null && foldersIndexMap.has(value.folder)) {\n result.folderRelationships.push([result.ciphers.length, foldersIndexMap.get(value.folder)]);\n }\n\n if (value.identifiers == null) {\n return;\n }\n\n if (!this.isNullOrWhitespace(value.identifiers.notes)) {\n cipher.notes = value.identifiers.notes.split('\\\\r\\\\n').join('\\n').split('\\\\n').join('\\n');\n }\n\n if (value.type === 'CreditCard') {\n cipher.card = new CardView();\n cipher.type = CipherType.Card;\n }\n\n for (const property in value.identifiers) {\n if (!value.identifiers.hasOwnProperty(property)) {\n continue;\n }\n const valObj = value.identifiers[property];\n const val = valObj != null ? valObj.toString() : null;\n if (this.isNullOrWhitespace(val) || property === 'notes' || property === 'ignoreItemInSecurityScore') {\n continue;\n }\n\n if (property === 'custom_fields') {\n valObj.forEach((cf: any) => {\n this.processKvp(cipher, cf.name, cf.value);\n });\n continue;\n }\n\n if (cipher.type === CipherType.Card) {\n if (property === 'cardNumber') {\n cipher.card.number = val;\n cipher.card.brand = this.getCardBrand(val);\n continue;\n } else if (property === 'nameOnCard') {\n cipher.card.cardholderName = val;\n continue;\n } else if (property === 'security_code') {\n cipher.card.code = val;\n continue;\n } else if (property === 'expires') {\n try {\n const expDate = new Date(val);\n cipher.card.expYear = expDate.getFullYear().toString();\n cipher.card.expMonth = (expDate.getMonth() + 1).toString();\n } catch { }\n continue;\n } else if (property === 'cardType') {\n continue;\n }\n } else {\n if ((property === 'username' || property === 'email') &&\n this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = val;\n continue;\n } else if (property === 'password') {\n cipher.login.password = val;\n continue;\n } else if (property === 'totp') {\n cipher.login.totp = val;\n continue;\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\n this.uriFieldNames.indexOf(property) > -1) {\n cipher.login.uris = this.makeUriArray(val);\n continue;\n }\n }\n\n this.processKvp(cipher, property, val);\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\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): Promise {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PasswordSafeXmlImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n const passwordSafe = doc.querySelector('passwordsafe');\n if (passwordSafe == null) {\n result.errorMessage = 'Missing `passwordsafe` node.';\n result.success = false;\n return Promise.resolve(result);\n }\n\n const notesDelimiter = passwordSafe.getAttribute('delimiter');\n const entries = doc.querySelectorAll('passwordsafe > entry');\n Array.from(entries).forEach((entry) => {\n const group = this.querySelectorDirectChild(entry, 'group');\n const groupText = group != null && !this.isNullOrWhitespace(group.textContent) ?\n group.textContent.split('.').join('/') : null;\n this.processFolder(result, groupText);\n\n const title = this.querySelectorDirectChild(entry, 'title');\n const username = this.querySelectorDirectChild(entry, 'username');\n const email = this.querySelectorDirectChild(entry, 'email');\n const password = this.querySelectorDirectChild(entry, 'password');\n const url = this.querySelectorDirectChild(entry, 'url');\n const notes = this.querySelectorDirectChild(entry, 'notes');\n const cipher = this.initLoginCipher();\n cipher.name = title != null ? this.getValueOrDefault(title.textContent, '--') : '--';\n cipher.notes = notes != null ?\n this.getValueOrDefault(notes.textContent, '').split(notesDelimiter).join('\\n') : null;\n cipher.login.username = username != null ? this.getValueOrDefault(username.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 if (this.isNullOrWhitespace(cipher.login.username) && email != null) {\n cipher.login.username = this.getValueOrDefault(email.textContent);\n } else if (email != null && !this.isNullOrWhitespace(email.textContent)) {\n cipher.notes = this.isNullOrWhitespace(cipher.notes) ? 'Email: ' + email.textContent\n : (cipher.notes + '\\n' + 'Email: ' + email.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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PasswordWalletTxtImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (value.length < 1) {\n return;\n }\n if (value.length > 5) {\n this.processFolder(result, value[5]);\n }\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n if (value.length > 4) {\n cipher.notes = this.getValueOrDefault(value[4], '').split('¬').join('\\n');\n }\n if (value.length > 2) {\n cipher.login.username = this.getValueOrDefault(value[2]);\n }\n if (value.length > 3) {\n cipher.login.password = this.getValueOrDefault(value[3]);\n }\n if (value.length > 1) {\n cipher.login.uris = this.makeUriArray(value[1]);\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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { CipherType } from '../enums/cipherType';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\n\nexport class RememBearCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (value.trash === 'true') {\n return;\n }\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name);\n cipher.notes = this.getValueOrDefault(value.notes);\n if (value.type === 'LoginItem') {\n cipher.login.uris = this.makeUriArray(value.website);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.username = this.getValueOrDefault(value.username);\n } else if (value.type === 'CreditCardItem') {\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 cipher.card.code = this.getValueOrDefault(value.verification);\n\n try {\n const expMonth = this.getValueOrDefault(value.expiryMonth);\n if (expMonth != null) {\n const expMonthNumber = parseInt(expMonth, null);\n if (expMonthNumber != null && expMonthNumber >= 1 && expMonthNumber <= 12) {\n cipher.card.expMonth = expMonthNumber.toString();\n }\n }\n } catch { }\n try {\n const expYear = this.getValueOrDefault(value.expiryYear);\n if (expYear != null) {\n const expYearNumber = parseInt(expYear, null);\n if (expYearNumber != null) {\n cipher.card.expYear = expYearNumber.toString();\n }\n }\n } catch { }\n\n const pin = this.getValueOrDefault(value.pin);\n if (pin != null) {\n this.processKvp(cipher, 'PIN', pin);\n }\n const zip = this.getValueOrDefault(value.zipCode);\n if (zip != null) {\n this.processKvp(cipher, 'Zip Code', zip);\n }\n }\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class RoboFormCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n let i = 1;\n results.forEach((value) => {\n const folder = !this.isNullOrWhitespace(value.Folder) && value.Folder.startsWith('/') ?\n value.Folder.replace('/', '') : value.Folder;\n const folderName = !this.isNullOrWhitespace(folder) ? folder : null;\n this.processFolder(result, folderName);\n\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value.Note);\n cipher.name = this.getValueOrDefault(value.Name, '--');\n cipher.login.username = this.getValueOrDefault(value.Login);\n cipher.login.password = this.getValueOrDefault(value.Pwd);\n cipher.login.uris = this.makeUriArray(value.Url);\n\n if (!this.isNullOrWhitespace(value.Rf_fields)) {\n let fields: string[] = [value.Rf_fields];\n if (value.__parsed_extra != null && value.__parsed_extra.length > 0) {\n fields = fields.concat(value.__parsed_extra);\n }\n fields.forEach((field: string) => {\n const parts = field.split(':');\n if (parts.length < 3) {\n return;\n }\n const key = parts[0] === '-no-name-' ? null : parts[0];\n const val = parts.length === 4 && parts[2] === 'rck' ? parts[1] : parts[2];\n this.processKvp(cipher, key, val);\n });\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n\n if (i === results.length && cipher.name === '--' && this.isNullOrWhitespace(cipher.login.password)) {\n return;\n }\n\n result.ciphers.push(cipher);\n i++;\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(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): Promise {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(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 === 'one_time_password') {\n cipher.login.totp = 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 Promise.resolve(result);\n }\n}\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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class SecureSafeCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.Title);\n cipher.notes = this.getValueOrDefault(value.Comment);\n cipher.login.uris = this.makeUriArray(value.Url);\n cipher.login.password = this.getValueOrDefault(value.Password);\n cipher.login.username = this.getValueOrDefault(value.Username);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\nimport { CipherView } from '../models/view/cipherView';\n\nexport class SplashIdCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (value.length < 3) {\n return;\n }\n\n this.processFolder(result, this.getValueOrDefault(value[value.length - 1]));\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value[value.length - 2], '');\n cipher.name = this.getValueOrDefault(value[1], '--');\n\n if (value[0] === 'Web Logins' || value[0] === 'Servers' || value[0] === 'Email Accounts') {\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 this.parseFieldsToNotes(cipher, 5, value);\n } else {\n this.parseFieldsToNotes(cipher, 2, value);\n }\n\n this.convertToNoteIfNeeded(cipher);\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 Promise.resolve(result);\n }\n\n private parseFieldsToNotes(cipher: CipherView, startIndex: number, value: any) {\n // last 3 rows do not get parsed\n for (let i = startIndex; i < value.length - 3; i++) {\n if (this.isNullOrWhitespace(value[i])) {\n continue;\n }\n cipher.notes += (value[i] + '\\n');\n }\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class StickyPasswordXmlImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n const loginNodes = doc.querySelectorAll('root > Database > Logins > Login');\n Array.from(loginNodes).forEach((loginNode) => {\n const accountId = loginNode.getAttribute('ID');\n if (this.isNullOrWhitespace(accountId)) {\n return;\n }\n\n const usernameText = loginNode.getAttribute('Name');\n const passwordText = loginNode.getAttribute('Password');\n let titleText: string = null;\n let linkText: string = null;\n let notesText: string = null;\n let groupId: string = null;\n let groupText: string = null;\n\n const accountLogin = doc.querySelector('root > Database > Accounts > Account > ' +\n 'LoginLinks > Login[SourceLoginID=\"' + accountId + '\"]');\n if (accountLogin != null) {\n const account = accountLogin.parentElement.parentElement;\n if (account != null) {\n titleText = account.getAttribute('Name');\n linkText = account.getAttribute('Link');\n groupId = account.getAttribute('ParentID');\n notesText = account.getAttribute('Comments');\n if (!this.isNullOrWhitespace(notesText)) {\n notesText = notesText.split('/n').join('\\n');\n }\n }\n }\n\n if (!this.isNullOrWhitespace(groupId)) {\n groupText = this.buildGroupText(doc, groupId, '');\n this.processFolder(result, groupText);\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(titleText, '--');\n cipher.notes = this.getValueOrDefault(notesText);\n cipher.login.username = this.getValueOrDefault(usernameText);\n cipher.login.password = this.getValueOrDefault(passwordText);\n cipher.login.uris = this.makeUriArray(linkText);\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 Promise.resolve(result);\n }\n\n buildGroupText(doc: Document, groupId: string, groupText: string): string {\n const group = doc.querySelector('root > Database > Groups > Group[ID=\"' + groupId + '\"]');\n if (group == null) {\n return groupText;\n }\n if (!this.isNullOrWhitespace(groupText)) {\n groupText = '/' + groupText;\n }\n groupText = group.getAttribute('Name') + groupText;\n return this.buildGroupText(doc, group.getAttribute('ParentID'), groupText);\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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(result);\n }\n}\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): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class YotiCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(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['User name']);\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 Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\nimport { CipherView } from '../models/view';\n\nexport class ZohoVaultCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (this.isNullOrWhitespace(value['Password Name']) && this.isNullOrWhitespace(value['Secret Name'])) {\n return;\n }\n this.processFolder(result, this.getValueOrDefault(value.ChamberName));\n const cipher = this.initLoginCipher();\n cipher.favorite = this.getValueOrDefault(value.Favorite, '0') === '1';\n cipher.notes = this.getValueOrDefault(value.Notes);\n cipher.name = this.getValueOrDefault(\n value['Password Name'], this.getValueOrDefault(value['Secret Name'], '--'));\n cipher.login.uris = this.makeUriArray(\n this.getValueOrDefault(value['Password URL'], this.getValueOrDefault(value['Secret URL'])));\n this.parseData(cipher, value.SecretData);\n this.parseData(cipher, value.CustomData);\n this.convertToNoteIfNeeded(cipher);\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 Promise.resolve(result);\n }\n\n private parseData(cipher: CipherView, data: string) {\n if (this.isNullOrWhitespace(data)) {\n return;\n }\n const dataLines = this.splitNewLine(data);\n dataLines.forEach((line) => {\n const delimPosition = line.indexOf(':');\n if (delimPosition < 0) {\n return;\n }\n const field = line.substring(0, delimPosition);\n const value = line.length > delimPosition ? line.substring(delimPosition + 1) : null;\n if (this.isNullOrWhitespace(field) || this.isNullOrWhitespace(value) || field === 'SecretType') {\n return;\n }\n const fieldLower = field.toLowerCase();\n if (cipher.login.username == null && this.usernameFieldNames.indexOf(fieldLower) > -1) {\n cipher.login.username = value;\n } else if (cipher.login.password == null && this.passwordFieldNames.indexOf(fieldLower) > -1) {\n cipher.login.password = value;\n } else {\n this.processKvp(cipher, field, value);\n }\n });\n }\n}\n","import * as signalR from '@microsoft/signalr';\nimport * as signalRMsgPack from '@microsoft/signalr-protocol-msgpack';\n\nimport { NotificationType } from '../enums/notificationType';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { AppIdService } from '../abstractions/appId.service';\nimport { EnvironmentService } from '../abstractions/environment.service';\nimport { LogService } from '../abstractions/log.service';\nimport { NotificationsService as NotificationsServiceAbstraction } from '../abstractions/notifications.service';\nimport { SyncService } from '../abstractions/sync.service';\nimport { UserService } from '../abstractions/user.service';\nimport { VaultTimeoutService } from '../abstractions/vaultTimeout.service';\n\nimport {\n NotificationResponse,\n SyncCipherNotification,\n SyncFolderNotification,\n SyncSendNotification,\n} from '../models/response/notificationResponse';\n\nexport class NotificationsService implements NotificationsServiceAbstraction {\n private signalrConnection: signalR.HubConnection;\n private url: string;\n private connected = false;\n private inited = false;\n private inactive = false;\n private reconnectTimer: any = null;\n\n constructor(private userService: UserService, private syncService: SyncService,\n private appIdService: AppIdService, private apiService: ApiService,\n private vaultTimeoutService: VaultTimeoutService,\n private logoutCallback: () => Promise, private logService: LogService) {\n }\n\n async init(environmentService: EnvironmentService): Promise {\n this.inited = false;\n this.url = 'https://notifications.bitwarden.com';\n if (environmentService.notificationsUrl != null) {\n this.url = environmentService.notificationsUrl;\n } else if (environmentService.baseUrl != null) {\n this.url = environmentService.baseUrl + '/notifications';\n }\n\n // Set notifications server URL to `https://-` to effectively disable communication\n // with the notifications server from the client app\n if (this.url === 'https://-') {\n return;\n }\n\n if (this.signalrConnection != null) {\n this.signalrConnection.off('ReceiveMessage');\n this.signalrConnection.off('Heartbeat');\n await this.signalrConnection.stop();\n this.connected = false;\n this.signalrConnection = null;\n }\n\n this.signalrConnection = new signalR.HubConnectionBuilder()\n .withUrl(this.url + '/hub', {\n accessTokenFactory: () => this.apiService.getActiveBearerToken(),\n skipNegotiation: true,\n transport: signalR.HttpTransportType.WebSockets,\n })\n .withHubProtocol(new signalRMsgPack.MessagePackHubProtocol())\n // .configureLogging(signalR.LogLevel.Trace)\n .build();\n\n this.signalrConnection.on('ReceiveMessage',\n (data: any) => this.processNotification(new NotificationResponse(data)));\n this.signalrConnection.on('Heartbeat',\n (data: any) => { /*console.log('Heartbeat!');*/ });\n this.signalrConnection.onclose(() => {\n this.connected = false;\n this.reconnect(true);\n });\n this.inited = true;\n if (await this.isAuthedAndUnlocked()) {\n await this.reconnect(false);\n }\n }\n\n async updateConnection(sync = false): Promise {\n if (!this.inited) {\n return;\n }\n try {\n if (await this.isAuthedAndUnlocked()) {\n await this.reconnect(sync);\n } else {\n await this.signalrConnection.stop();\n }\n } catch (e) {\n this.logService.error(e.toString());\n }\n }\n\n async reconnectFromActivity(): Promise {\n this.inactive = false;\n if (this.inited && !this.connected) {\n await this.reconnect(true);\n }\n }\n\n async disconnectFromInactivity(): Promise {\n this.inactive = true;\n if (this.inited && this.connected) {\n await this.signalrConnection.stop();\n }\n }\n\n private async processNotification(notification: NotificationResponse) {\n const appId = await this.appIdService.getAppId();\n if (notification == null || notification.contextId === appId) {\n return;\n }\n\n const isAuthenticated = await this.userService.isAuthenticated();\n const payloadUserId = notification.payload.userId || notification.payload.UserId;\n const myUserId = await this.userService.getUserId();\n if (isAuthenticated && payloadUserId != null && payloadUserId !== myUserId) {\n return;\n }\n\n switch (notification.type) {\n case NotificationType.SyncCipherCreate:\n case NotificationType.SyncCipherUpdate:\n await this.syncService.syncUpsertCipher(notification.payload as SyncCipherNotification,\n notification.type === NotificationType.SyncCipherUpdate);\n break;\n case NotificationType.SyncCipherDelete:\n case NotificationType.SyncLoginDelete:\n await this.syncService.syncDeleteCipher(notification.payload as SyncCipherNotification);\n break;\n case NotificationType.SyncFolderCreate:\n case NotificationType.SyncFolderUpdate:\n await this.syncService.syncUpsertFolder(notification.payload as SyncFolderNotification,\n notification.type === NotificationType.SyncFolderUpdate);\n break;\n case NotificationType.SyncFolderDelete:\n await this.syncService.syncDeleteFolder(notification.payload as SyncFolderNotification);\n break;\n case NotificationType.SyncVault:\n case NotificationType.SyncCiphers:\n case NotificationType.SyncSettings:\n if (isAuthenticated) {\n await this.syncService.fullSync(false);\n }\n break;\n case NotificationType.SyncOrgKeys:\n if (isAuthenticated) {\n await this.apiService.refreshIdentityToken();\n await this.syncService.fullSync(true);\n // Stop so a reconnect can be made\n await this.signalrConnection.stop();\n }\n break;\n case NotificationType.LogOut:\n if (isAuthenticated) {\n this.logoutCallback();\n }\n break;\n case NotificationType.SyncSendCreate:\n case NotificationType.SyncSendUpdate:\n await this.syncService.syncUpsertSend(notification.payload as SyncSendNotification,\n notification.type === NotificationType.SyncSendUpdate);\n break;\n case NotificationType.SyncSendDelete:\n await this.syncService.syncDeleteSend(notification.payload as SyncSendNotification);\n default:\n break;\n }\n }\n\n private async reconnect(sync: boolean) {\n if (this.reconnectTimer != null) {\n clearTimeout(this.reconnectTimer);\n this.reconnectTimer = null;\n }\n if (this.connected || !this.inited || this.inactive) {\n return;\n }\n const authedAndUnlocked = await this.isAuthedAndUnlocked();\n if (!authedAndUnlocked) {\n return;\n }\n\n try {\n await this.signalrConnection.start();\n this.connected = true;\n if (sync) {\n await this.syncService.fullSync(false);\n }\n } catch { }\n\n if (!this.connected) {\n this.reconnectTimer = setTimeout(() => this.reconnect(sync), this.random(120000, 300000));\n }\n }\n\n private async isAuthedAndUnlocked() {\n if (await this.userService.isAuthenticated()) {\n const locked = await this.vaultTimeoutService.isLocked();\n return !locked;\n }\n return false;\n }\n\n private random(min: number, max: number) {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min + 1)) + min;\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { NotificationType } from '../../enums/notificationType';\n\nexport class NotificationResponse extends BaseResponse {\n contextId: string;\n type: NotificationType;\n payload: any;\n\n constructor(response: any) {\n super(response);\n this.contextId = this.getResponseProperty('ContextId');\n this.type = this.getResponseProperty('Type');\n\n const payload = this.getResponseProperty('Payload');\n switch (this.type) {\n case NotificationType.SyncCipherCreate:\n case NotificationType.SyncCipherDelete:\n case NotificationType.SyncCipherUpdate:\n case NotificationType.SyncLoginDelete:\n this.payload = new SyncCipherNotification(payload);\n break;\n case NotificationType.SyncFolderCreate:\n case NotificationType.SyncFolderDelete:\n case NotificationType.SyncFolderUpdate:\n this.payload = new SyncFolderNotification(payload);\n break;\n case NotificationType.SyncVault:\n case NotificationType.SyncCiphers:\n case NotificationType.SyncOrgKeys:\n case NotificationType.SyncSettings:\n case NotificationType.LogOut:\n this.payload = new UserNotification(payload);\n break;\n case NotificationType.SyncSendCreate:\n case NotificationType.SyncSendUpdate:\n case NotificationType.SyncSendDelete:\n this.payload = new SyncSendNotification(payload);\n default:\n break;\n }\n }\n}\n\nexport class SyncCipherNotification extends BaseResponse {\n id: string;\n userId: string;\n organizationId: string;\n collectionIds: string[];\n revisionDate: Date;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.userId = this.getResponseProperty('UserId');\n this.organizationId = this.getResponseProperty('OrganizationId');\n this.collectionIds = this.getResponseProperty('CollectionIds');\n this.revisionDate = new Date(this.getResponseProperty('RevisionDate'));\n }\n}\n\nexport class SyncFolderNotification extends BaseResponse {\n id: string;\n userId: string;\n revisionDate: Date;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.userId = this.getResponseProperty('UserId');\n this.revisionDate = new Date(this.getResponseProperty('RevisionDate'));\n }\n}\n\nexport class UserNotification extends BaseResponse {\n userId: string;\n date: Date;\n\n constructor(response: any) {\n super(response);\n this.userId = this.getResponseProperty('UserId');\n this.date = new Date(this.getResponseProperty('Date'));\n }\n}\n\nexport class SyncSendNotification extends BaseResponse {\n id: string;\n userId: string;\n revisionDate: Date;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.userId = this.getResponseProperty('UserId');\n this.revisionDate = new Date(this.getResponseProperty('RevisionDate'));\n }\n}\n","import { PolicyService as PolicyServiceAbstraction } from '../abstractions/policy.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { PolicyData } from '../models/data/policyData';\n\nimport { MasterPasswordPolicyOptions } from '../models/domain/masterPasswordPolicyOptions';\nimport { Policy } from '../models/domain/policy';\n\nimport { PolicyType } from '../enums/policyType';\n\nconst Keys = {\n policiesPrefix: 'policies_',\n};\n\nexport class PolicyService implements PolicyServiceAbstraction {\n policyCache: Policy[];\n\n constructor(private userService: UserService, private storageService: StorageService) {\n }\n\n clearCache(): void {\n this.policyCache = null;\n }\n\n async getAll(type?: PolicyType): Promise {\n if (this.policyCache == null) {\n const userId = await this.userService.getUserId();\n const policies = await this.storageService.get<{ [id: string]: PolicyData; }>(\n Keys.policiesPrefix + userId);\n const response: Policy[] = [];\n for (const id in policies) {\n if (policies.hasOwnProperty(id)) {\n response.push(new Policy(policies[id]));\n }\n }\n this.policyCache = response;\n }\n if (type != null) {\n return this.policyCache.filter((p) => p.type === type);\n } else {\n return this.policyCache;\n }\n }\n\n async replace(policies: { [id: string]: PolicyData; }): Promise {\n const userId = await this.userService.getUserId();\n await this.storageService.save(Keys.policiesPrefix + userId, policies);\n this.policyCache = null;\n }\n\n async clear(userId: string): Promise {\n await this.storageService.remove(Keys.policiesPrefix + userId);\n this.policyCache = null;\n }\n\n async getMasterPasswordPolicyOptions(policies?: Policy[]): Promise {\n let enforcedOptions: MasterPasswordPolicyOptions = null;\n\n if (policies == null) {\n policies = await this.getAll(PolicyType.MasterPassword);\n } else {\n policies = policies.filter((p) => p.type === PolicyType.MasterPassword);\n }\n\n if (policies == null || policies.length === 0) {\n return enforcedOptions;\n }\n\n policies.forEach((currentPolicy) => {\n if (!currentPolicy.enabled || currentPolicy.data == null) {\n return;\n }\n\n if (enforcedOptions == null) {\n enforcedOptions = new MasterPasswordPolicyOptions();\n }\n\n if (currentPolicy.data.minComplexity != null\n && currentPolicy.data.minComplexity > enforcedOptions.minComplexity) {\n enforcedOptions.minComplexity = currentPolicy.data.minComplexity;\n }\n\n if (currentPolicy.data.minLength != null\n && currentPolicy.data.minLength > enforcedOptions.minLength) {\n enforcedOptions.minLength = currentPolicy.data.minLength;\n }\n\n if (currentPolicy.data.requireUpper) {\n enforcedOptions.requireUpper = true;\n }\n\n if (currentPolicy.data.requireLower) {\n enforcedOptions.requireLower = true;\n }\n\n if (currentPolicy.data.requireNumbers) {\n enforcedOptions.requireNumbers = true;\n }\n\n if (currentPolicy.data.requireSpecial) {\n enforcedOptions.requireSpecial = true;\n }\n });\n\n return enforcedOptions;\n }\n\n evaluateMasterPassword(passwordStrength: number, newPassword: string,\n enforcedPolicyOptions: MasterPasswordPolicyOptions): boolean {\n if (enforcedPolicyOptions == null) {\n return true;\n }\n\n if (enforcedPolicyOptions.minComplexity > 0 && enforcedPolicyOptions.minComplexity > passwordStrength) {\n return false;\n }\n\n if (enforcedPolicyOptions.minLength > 0 && enforcedPolicyOptions.minLength > newPassword.length) {\n return false;\n }\n\n if (enforcedPolicyOptions.requireUpper && newPassword.toLocaleLowerCase() === newPassword) {\n return false;\n }\n\n if (enforcedPolicyOptions.requireLower && newPassword.toLocaleUpperCase() === newPassword) {\n return false;\n }\n\n if (enforcedPolicyOptions.requireNumbers && !(/[0-9]/.test(newPassword))) {\n return false;\n }\n\n if (enforcedPolicyOptions.requireSpecial && !(/[!@#$%\\^&*]/g.test(newPassword))) {\n return false;\n }\n\n return true;\n }\n}\n","import Domain from './domainBase';\n\nexport class MasterPasswordPolicyOptions extends Domain {\n minComplexity: number = 0;\n minLength: number = 0;\n requireUpper: boolean = false;\n requireLower: boolean = false;\n requireNumbers: boolean = false;\n requireSpecial: boolean = false;\n}\n","import * as lunr from 'lunr';\n\nimport { CipherView } from '../models/view/cipherView';\n\nimport { CipherService } from '../abstractions/cipher.service';\nimport { LogService } from '../abstractions/log.service';\nimport { SearchService as SearchServiceAbstraction } from '../abstractions/search.service';\n\nimport { CipherType } from '../enums/cipherType';\nimport { FieldType } from '../enums/fieldType';\nimport { UriMatchType } from '../enums/uriMatchType';\nimport { SendView } from '../models/view/sendView';\n\nexport class SearchService implements SearchServiceAbstraction {\n private indexing = false;\n private index: lunr.Index = null;\n\n constructor(private cipherService: CipherService, private logService: LogService) {\n }\n\n clearIndex(): void {\n this.index = null;\n }\n\n isSearchable(query: string): boolean {\n const notSearchable = query == null || (this.index == null && query.length < 2) ||\n (this.index != null && query.length < 2 && query.indexOf('>') !== 0);\n return !notSearchable;\n }\n\n async indexCiphers(): Promise {\n if (this.indexing) {\n return;\n }\n\n this.logService.time('search indexing');\n this.indexing = true;\n this.index = null;\n const builder = new lunr.Builder();\n builder.ref('id');\n builder.field('shortid', { boost: 100, extractor: (c: CipherView) => c.id.substr(0, 8) });\n builder.field('name', { boost: 10 });\n builder.field('subtitle', {\n boost: 5,\n extractor: (c: CipherView) => {\n if (c.subTitle != null && c.type === CipherType.Card) {\n return c.subTitle.replace(/\\*/g, '');\n }\n return c.subTitle;\n },\n });\n builder.field('notes');\n builder.field('login.username', {\n extractor: (c: CipherView) => c.type === CipherType.Login && c.login != null ? c.login.username : null,\n });\n builder.field('login.uris', { boost: 2, extractor: (c: CipherView) => this.uriExtractor(c) });\n builder.field('fields', { extractor: (c: CipherView) => this.fieldExtractor(c, false) });\n builder.field('fields_joined', { extractor: (c: CipherView) => this.fieldExtractor(c, true) });\n builder.field('attachments', { extractor: (c: CipherView) => this.attachmentExtractor(c, false) });\n builder.field('attachments_joined',\n { extractor: (c: CipherView) => this.attachmentExtractor(c, true) });\n builder.field('organizationid', { extractor: (c: CipherView) => c.organizationId });\n const ciphers = await this.cipherService.getAllDecrypted();\n ciphers.forEach((c) => builder.add(c));\n this.index = builder.build();\n this.indexing = false;\n\n this.logService.timeEnd('search indexing');\n }\n\n async searchCiphers(query: string,\n filter: (((cipher: CipherView) => boolean) | (((cipher: CipherView) => boolean)[])) = null,\n ciphers: CipherView[] = null):\n Promise {\n const results: CipherView[] = [];\n if (query != null) {\n query = query.trim().toLowerCase();\n }\n if (query === '') {\n query = null;\n }\n\n if (ciphers == null) {\n ciphers = await this.cipherService.getAllDecrypted();\n }\n\n if (filter != null && Array.isArray(filter) && filter.length > 0) {\n ciphers = ciphers.filter((c) => filter.every((f) => f == null || f(c)));\n } else if (filter != null) {\n ciphers = ciphers.filter(filter as (cipher: CipherView) => boolean);\n }\n\n if (!this.isSearchable(query)) {\n return ciphers;\n }\n\n if (this.indexing) {\n await new Promise((r) => setTimeout(r, 250));\n if (this.indexing) {\n await new Promise((r) => setTimeout(r, 500));\n }\n }\n\n const index = this.getIndexForSearch();\n if (index == null) {\n // Fall back to basic search if index is not available\n return this.searchCiphersBasic(ciphers, query);\n }\n\n const ciphersMap = new Map();\n ciphers.forEach((c) => ciphersMap.set(c.id, c));\n\n let searchResults: lunr.Index.Result[] = null;\n const isQueryString = query != null && query.length > 1 && query.indexOf('>') === 0;\n if (isQueryString) {\n try {\n searchResults = index.search(query.substr(1).trim());\n } catch { }\n } else {\n // tslint:disable-next-line\n const soWild = lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING;\n searchResults = index.query((q) => {\n lunr.tokenizer(query).forEach((token) => {\n const t = token.toString();\n q.term(t, { fields: ['name'], wildcard: soWild });\n q.term(t, { fields: ['subtitle'], wildcard: soWild });\n q.term(t, { fields: ['login.uris'], wildcard: soWild });\n q.term(t, {});\n });\n });\n }\n\n if (searchResults != null) {\n searchResults.forEach((r) => {\n if (ciphersMap.has(r.ref)) {\n results.push(ciphersMap.get(r.ref));\n }\n });\n }\n return results;\n }\n\n searchCiphersBasic(ciphers: CipherView[], query: string, deleted: boolean = false) {\n query = query.trim().toLowerCase();\n return ciphers.filter((c) => {\n if (deleted !== c.isDeleted) {\n return false;\n }\n if (c.name != null && c.name.toLowerCase().indexOf(query) > -1) {\n return true;\n }\n if (query.length >= 8 && c.id.startsWith(query)) {\n return true;\n }\n if (c.subTitle != null && c.subTitle.toLowerCase().indexOf(query) > -1) {\n return true;\n }\n if (c.login && c.login.uri != null && c.login.uri.toLowerCase().indexOf(query) > -1) {\n return true;\n }\n return false;\n });\n }\n\n searchSends(sends: SendView[], query: string) {\n query = query.trim().toLocaleLowerCase();\n\n return sends.filter(s => {\n if (s.name != null && s.name.toLowerCase().indexOf(query) > -1) {\n return true;\n }\n if (query.length >= 8 && (s.id.startsWith(query) || (s.file?.id != null && s.file.id.startsWith(query)))) {\n return true;\n }\n if (s.notes != null && s.notes.toLowerCase().indexOf(query) > -1) {\n return true;\n }\n if (s.text?.text != null && s.text.text.toLowerCase().indexOf(query) > -1) {\n return true;\n }\n if (s.file?.fileName != null && s.file.fileName.toLowerCase().indexOf(query) > -1) {\n return true;\n }\n });\n }\n\n getIndexForSearch(): lunr.Index {\n return this.index;\n }\n\n private fieldExtractor(c: CipherView, joined: boolean) {\n if (!c.hasFields) {\n return null;\n }\n let fields: string[] = [];\n c.fields.forEach((f) => {\n if (f.name != null) {\n fields.push(f.name);\n }\n if (f.type === FieldType.Text && f.value != null) {\n fields.push(f.value);\n }\n });\n fields = fields.filter((f) => f.trim() !== '');\n if (fields.length === 0) {\n return null;\n }\n return joined ? fields.join(' ') : fields;\n }\n\n private attachmentExtractor(c: CipherView, joined: boolean) {\n if (!c.hasAttachments) {\n return null;\n }\n let attachments: string[] = [];\n c.attachments.forEach((a) => {\n if (a != null && a.fileName != null) {\n if (joined && a.fileName.indexOf('.') > -1) {\n attachments.push(a.fileName.substr(0, a.fileName.lastIndexOf('.')));\n } else {\n attachments.push(a.fileName);\n }\n }\n });\n attachments = attachments.filter((f) => f.trim() !== '');\n if (attachments.length === 0) {\n return null;\n }\n return joined ? attachments.join(' ') : attachments;\n }\n\n private uriExtractor(c: CipherView) {\n if (c.type !== CipherType.Login || c.login == null || !c.login.hasUris) {\n return null;\n }\n const uris: string[] = [];\n c.login.uris.forEach((u) => {\n if (u.uri == null || u.uri === '') {\n return;\n }\n if (u.hostname != null) {\n uris.push(u.hostname);\n return;\n }\n let uri = u.uri;\n if (u.match !== UriMatchType.RegularExpression) {\n const protocolIndex = uri.indexOf('://');\n if (protocolIndex > -1) {\n uri = uri.substr(protocolIndex + 3);\n }\n const queryIndex = uri.search(/\\?|&|#/);\n if (queryIndex > -1) {\n uri = uri.substring(0, queryIndex);\n }\n }\n uris.push(uri);\n });\n return uris.length > 0 ? uris : null;\n }\n}\n","import { SendData } from '../models/data/sendData';\n\nimport { SendRequest } from '../models/request/sendRequest';\n\nimport { SendResponse } from '../models/response/sendResponse';\n\nimport { Send } from '../models/domain/send';\nimport { SendFile } from '../models/domain/sendFile';\nimport { SendText } from '../models/domain/sendText';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { SendType } from '../enums/sendType';\n\nimport { SendView } from '../models/view/sendView';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport { SendService as SendServiceAbstraction } from '../abstractions/send.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { Utils } from '../misc/utils';\n\nconst Keys = {\n sendsPrefix: 'sends_',\n};\n\nexport class SendService implements SendServiceAbstraction {\n decryptedSendCache: SendView[];\n\n constructor(private cryptoService: CryptoService, private userService: UserService,\n private apiService: ApiService, private storageService: StorageService,\n private i18nService: I18nService, private cryptoFunctionService: CryptoFunctionService) { }\n\n clearCache(): void {\n this.decryptedSendCache = null;\n }\n\n async encrypt(model: SendView, file: File, password: string,\n key?: SymmetricCryptoKey): Promise<[Send, ArrayBuffer]> {\n let fileData: ArrayBuffer = null;\n const send = new Send();\n send.id = model.id;\n send.type = model.type;\n send.disabled = model.disabled;\n send.maxAccessCount = model.maxAccessCount;\n if (model.key == null) {\n model.key = await this.cryptoFunctionService.randomBytes(16);\n model.cryptoKey = await this.cryptoService.makeSendKey(model.key);\n }\n if (password != null) {\n const passwordHash = await this.cryptoFunctionService.pbkdf2(password, model.key, 'sha256', 100000);\n send.password = Utils.fromBufferToB64(passwordHash);\n }\n send.key = await this.cryptoService.encrypt(model.key, key);\n send.name = await this.cryptoService.encrypt(model.name, model.cryptoKey);\n send.notes = await this.cryptoService.encrypt(model.notes, model.cryptoKey);\n if (send.type === SendType.Text) {\n send.text = new SendText();\n send.text.text = await this.cryptoService.encrypt(model.text.text, model.cryptoKey);\n send.text.hidden = model.text.hidden;\n } else if (send.type === SendType.File) {\n send.file = new SendFile();\n if (file != null) {\n fileData = await this.parseFile(send, file, model.cryptoKey);\n }\n }\n\n return [send, fileData];\n }\n\n async get(id: string): Promise {\n const userId = await this.userService.getUserId();\n const sends = await this.storageService.get<{ [id: string]: SendData; }>(\n Keys.sendsPrefix + userId);\n if (sends == null || !sends.hasOwnProperty(id)) {\n return null;\n }\n\n return new Send(sends[id]);\n }\n\n async getAll(): Promise {\n const userId = await this.userService.getUserId();\n const sends = await this.storageService.get<{ [id: string]: SendData; }>(\n Keys.sendsPrefix + userId);\n const response: Send[] = [];\n for (const id in sends) {\n if (sends.hasOwnProperty(id)) {\n response.push(new Send(sends[id]));\n }\n }\n return response;\n }\n\n async getAllDecrypted(): Promise {\n if (this.decryptedSendCache != null) {\n return this.decryptedSendCache;\n }\n\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n throw new Error('No key.');\n }\n\n const decSends: SendView[] = [];\n const promises: Promise[] = [];\n const sends = await this.getAll();\n sends.forEach((send) => {\n promises.push(send.decrypt().then((f) => decSends.push(f)));\n });\n\n await Promise.all(promises);\n decSends.sort(Utils.getSortFunction(this.i18nService, 'name'));\n\n this.decryptedSendCache = decSends;\n return this.decryptedSendCache;\n }\n\n async saveWithServer(sendData: [Send, ArrayBuffer]): Promise {\n const request = new SendRequest(sendData[0]);\n let response: SendResponse;\n if (sendData[0].id == null) {\n if (sendData[0].type === SendType.Text) {\n response = await this.apiService.postSend(request);\n } else {\n const fd = new FormData();\n try {\n const blob = new Blob([sendData[1]], { type: 'application/octet-stream' });\n fd.append('model', JSON.stringify(request));\n fd.append('data', blob, sendData[0].file.fileName.encryptedString);\n } catch (e) {\n if (Utils.isNode && !Utils.isBrowser) {\n fd.append('model', JSON.stringify(request));\n fd.append('data', Buffer.from(sendData[1]) as any, {\n filepath: sendData[0].file.fileName.encryptedString,\n contentType: 'application/octet-stream',\n } as any);\n } else {\n throw e;\n }\n }\n response = await this.apiService.postSendFile(fd);\n }\n sendData[0].id = response.id;\n } else {\n response = await this.apiService.putSend(sendData[0].id, request);\n }\n\n const userId = await this.userService.getUserId();\n const data = new SendData(response, userId);\n await this.upsert(data);\n }\n\n async upsert(send: SendData | SendData[]): Promise {\n const userId = await this.userService.getUserId();\n let sends = await this.storageService.get<{ [id: string]: SendData; }>(\n Keys.sendsPrefix + userId);\n if (sends == null) {\n sends = {};\n }\n\n if (send instanceof SendData) {\n const s = send as SendData;\n sends[s.id] = s;\n } else {\n (send as SendData[]).forEach((s) => {\n sends[s.id] = s;\n });\n }\n\n await this.storageService.save(Keys.sendsPrefix + userId, sends);\n this.decryptedSendCache = null;\n }\n\n async replace(sends: { [id: string]: SendData; }): Promise {\n const userId = await this.userService.getUserId();\n await this.storageService.save(Keys.sendsPrefix + userId, sends);\n this.decryptedSendCache = null;\n }\n\n async clear(userId: string): Promise {\n await this.storageService.remove(Keys.sendsPrefix + userId);\n this.decryptedSendCache = null;\n }\n\n async delete(id: string | string[]): Promise {\n const userId = await this.userService.getUserId();\n const sends = await this.storageService.get<{ [id: string]: SendData; }>(\n Keys.sendsPrefix + userId);\n if (sends == null) {\n return;\n }\n\n if (typeof id === 'string') {\n if (sends[id] == null) {\n return;\n }\n delete sends[id];\n } else {\n (id as string[]).forEach((i) => {\n delete sends[i];\n });\n }\n\n await this.storageService.save(Keys.sendsPrefix + userId, sends);\n this.decryptedSendCache = null;\n }\n\n async deleteWithServer(id: string): Promise {\n await this.apiService.deleteSend(id);\n await this.delete(id);\n }\n\n async removePasswordWithServer(id: string): Promise {\n const response = await this.apiService.putSendRemovePassword(id);\n const userId = await this.userService.getUserId();\n const data = new SendData(response, userId);\n await this.upsert(data);\n }\n\n private parseFile(send: Send, file: File, key: SymmetricCryptoKey): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsArrayBuffer(file);\n reader.onload = async (evt) => {\n try {\n send.file.fileName = await this.cryptoService.encrypt(file.name, key);\n const fileData = await this.cryptoService.encryptToBytes(evt.target.result as ArrayBuffer, key);\n resolve(fileData);\n } catch (e) {\n reject(e);\n }\n };\n reader.onerror = (evt) => {\n reject('Error reading file.');\n };\n });\n }\n}\n","import { SendType } from '../../enums/sendType';\n\nimport { SendFileApi } from '../api/sendFileApi';\nimport { SendTextApi } from '../api/sendTextApi';\n\nimport { Send } from '../domain/send';\n\nexport class SendRequest {\n type: SendType;\n name: string;\n notes: string;\n key: string;\n maxAccessCount?: number;\n expirationDate: string;\n deletionDate: string;\n text: SendTextApi;\n file: SendFileApi;\n password: string;\n disabled: boolean;\n\n constructor(send: Send) {\n this.type = send.type;\n this.name = send.name ? send.name.encryptedString : null;\n this.notes = send.notes ? send.notes.encryptedString : null;\n this.maxAccessCount = send.maxAccessCount;\n this.expirationDate = send.expirationDate != null ? send.expirationDate.toISOString() : null;\n this.deletionDate = send.deletionDate != null ? send.deletionDate.toISOString() : null;\n this.key = send.key != null ? send.key.encryptedString : null;\n this.password = send.password;\n this.disabled = send.disabled;\n\n switch (this.type) {\n case SendType.Text:\n this.text = new SendTextApi();\n this.text.text = send.text.text != null ? send.text.text.encryptedString : null;\n this.text.hidden = send.text.hidden;\n break;\n case SendType.File:\n this.file = new SendFileApi();\n this.file.fileName = send.file.fileName != null ? send.file.fileName.encryptedString : null;\n break;\n default:\n break;\n }\n }\n}\n","import { CryptoService } from '../../abstractions/crypto.service';\n\nimport { SendType } from '../../enums/sendType';\n\nimport { Utils } from '../../misc/utils';\n\nimport { SendData } from '../data/sendData';\n\nimport { SendView } from '../view/sendView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SendFile } from './sendFile';\nimport { SendText } from './sendText';\n\nexport class Send extends Domain {\n id: string;\n accessId: string;\n userId: string;\n type: SendType;\n name: CipherString;\n notes: CipherString;\n file: SendFile;\n text: SendText;\n key: CipherString;\n maxAccessCount?: number;\n accessCount: number;\n revisionDate: Date;\n expirationDate: Date;\n deletionDate: Date;\n password: string;\n disabled: boolean;\n\n constructor(obj?: SendData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n accessId: null,\n userId: null,\n name: null,\n notes: null,\n key: null,\n }, alreadyEncrypted, ['id', 'accessId', 'userId']);\n\n this.type = obj.type;\n this.maxAccessCount = obj.maxAccessCount;\n this.accessCount = obj.accessCount;\n this.password = obj.password;\n this.disabled = obj.disabled;\n this.revisionDate = obj.revisionDate != null ? new Date(obj.revisionDate) : null;\n this.deletionDate = obj.deletionDate != null ? new Date(obj.deletionDate) : null;\n this.expirationDate = obj.expirationDate != null ? new Date(obj.expirationDate) : null;\n\n switch (this.type) {\n case SendType.Text:\n this.text = new SendText(obj.text, alreadyEncrypted);\n break;\n case SendType.File:\n this.file = new SendFile(obj.file, alreadyEncrypted);\n break;\n default:\n break;\n }\n }\n\n async decrypt(): Promise {\n const model = new SendView(this);\n\n let cryptoService: CryptoService;\n const containerService = (Utils.global as any).bitwardenContainerService;\n if (containerService) {\n cryptoService = containerService.getCryptoService();\n } else {\n throw new Error('global bitwardenContainerService not initialized.');\n }\n\n try {\n model.key = await cryptoService.decryptToBytes(this.key, null);\n model.cryptoKey = await cryptoService.makeSendKey(model.key);\n } catch (e) {\n // TODO: error?\n }\n\n await this.decryptObj(model, {\n name: null,\n notes: null,\n }, null, model.cryptoKey);\n\n switch (this.type) {\n case SendType.File:\n model.file = await this.file.decrypt(model.cryptoKey);\n break;\n case SendType.Text:\n model.text = await this.text.decrypt(model.cryptoKey);\n break;\n default:\n break;\n }\n\n return model;\n }\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 { DecryptParameters } from '../models/domain/decryptParameters';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nexport class WebCryptoFunctionService implements CryptoFunctionService {\n private crypto: Crypto;\n private subtle: SubtleCrypto;\n private isIE: boolean;\n private isOldSafari: 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.isIE = platformUtilsService.isIE();\n const ua = win.navigator.userAgent;\n this.isOldSafari = platformUtilsService.isSafari() &&\n (ua.indexOf(' Version/10.') > -1 || ua.indexOf(' Version/9.') > -1);\n }\n\n async pbkdf2(password: string | ArrayBuffer, salt: string | ArrayBuffer, algorithm: 'sha256' | 'sha512',\n iterations: number): Promise {\n if (this.isIE || this.isOldSafari) {\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 hkdf(ikm: ArrayBuffer, salt: string | ArrayBuffer, info: string | ArrayBuffer,\n outputByteSize: number, algorithm: 'sha256' | 'sha512'): Promise {\n const saltBuf = this.toBuf(salt);\n const infoBuf = this.toBuf(info);\n\n const hkdfParams: HkdfParams = {\n name: 'HKDF',\n salt: saltBuf,\n info: infoBuf,\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n\n const impKey = await this.subtle.importKey('raw', ikm, { name: 'HKDF' } as any,\n false, ['deriveBits']);\n return await this.subtle.deriveBits(hkdfParams as any, impKey, outputByteSize * 8);\n }\n\n // ref: https://tools.ietf.org/html/rfc5869\n async hkdfExpand(prk: ArrayBuffer, info: string | ArrayBuffer, outputByteSize: number,\n algorithm: 'sha256' | 'sha512'): Promise {\n const hashLen = algorithm === 'sha256' ? 32 : 64;\n if (outputByteSize > 255 * hashLen) {\n throw new Error('outputByteSize is too large.');\n }\n const prkArr = new Uint8Array(prk);\n if (prkArr.length < hashLen) {\n throw new Error('prk is too small.');\n }\n const infoBuf = this.toBuf(info);\n const infoArr = new Uint8Array(infoBuf);\n let runningOkmLength = 0;\n let previousT = new Uint8Array(0);\n const n = Math.ceil(outputByteSize / hashLen);\n const okm = new Uint8Array(n * hashLen);\n for (let i = 0; i < n; i++) {\n const t = new Uint8Array(previousT.length + infoArr.length + 1);\n t.set(previousT);\n t.set(infoArr, previousT.length);\n t.set([i + 1], t.length - 1);\n previousT = new Uint8Array(await this.hmac(t.buffer, prk, algorithm));\n okm.set(previousT, runningOkmLength);\n runningOkmLength += previousT.length;\n if (runningOkmLength >= outputByteSize) {\n break;\n }\n }\n return okm.slice(0, outputByteSize).buffer;\n }\n\n async hash(value: string | ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512' | 'md5'): Promise {\n if ((this.isIE && algorithm === 'sha1') || algorithm === 'md5') {\n const md = algorithm === 'md5' ? forge.md.md5.create() : 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 if (this.isIE && algorithm === 'sha512') {\n const hmac = (forge as any).hmac.create();\n const keyBytes = this.toByteString(key);\n const valueBytes = this.toByteString(value);\n hmac.start(algorithm, keyBytes);\n hmac.update(valueBytes, 'raw');\n return Utils.fromByteStringToArray(hmac.digest().data).buffer;\n }\n\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' | 'md5'): string {\n if (algorithm === 'md5') {\n throw new Error('MD5 is not supported in WebCrypto.');\n }\n return algorithm === 'sha1' ? 'SHA-1' : algorithm === 'sha256' ? 'SHA-256' : 'SHA-512';\n }\n}\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 jq from 'jquery';\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\n\nimport {\n BodyOutputType,\n Toast,\n ToasterConfig,\n ToasterContainerComponent,\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 SecurityContext,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\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 { EventService } from 'jslib/abstractions/event.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { NotificationsService } from 'jslib/abstractions/notifications.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { PolicyService } from 'jslib/abstractions/policy.service';\nimport { SearchService } from 'jslib/abstractions/search.service';\nimport { SettingsService } from 'jslib/abstractions/settings.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { UserService } from 'jslib/abstractions/user.service';\nimport { VaultTimeoutService } from 'jslib/abstractions/vaultTimeout.service';\n\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { RouterService } from './services/router.service';\n\nconst BroadcasterSubscriptionId = 'AppComponent';\nconst IdleTimeout = 60000 * 10; // 10 minutes\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 private idleTimer: number = null;\n private isIdle = false;\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 vaultTimeoutService: VaultTimeoutService, private storageService: StorageService,\n private cryptoService: CryptoService, private collectionService: CollectionService,\n private sanitizer: DomSanitizer, private searchService: SearchService,\n private notificationsService: NotificationsService, private routerService: RouterService,\n private stateService: StateService, private eventService: EventService,\n private policyService: PolicyService) { }\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 'loggedOut':\n case 'unlocked':\n this.notificationsService.updateConnection(false);\n break;\n case 'authBlocked':\n this.router.navigate(['/']);\n break;\n case 'logout':\n this.logOut(!!message.expired);\n break;\n case 'lockVault':\n await this.vaultTimeoutService.lock();\n break;\n case 'locked':\n this.notificationsService.updateConnection(false);\n this.router.navigate(['lock']);\n break;\n case 'lockedUrl':\n window.setTimeout(() => this.routerService.setPreviousUrl(message.url), 500);\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 case 'showToast':\n this.showToast(message);\n break;\n case 'analyticsEventTrack':\n this.analytics.eventTrack.next({\n action: message.action,\n properties: { label: message.label },\n });\n break;\n case 'setFullWidth':\n this.setFullWidth();\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 this.setFullWidth();\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n private async logOut(expired: boolean) {\n await this.eventService.uploadEvents();\n const userId = await this.userService.getUserId();\n\n await Promise.all([\n this.eventService.clearEvents(),\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.policyService.clear(userId),\n this.passwordGenerationService.clear(),\n this.stateService.purge(),\n ]);\n\n this.searchService.clearIndex();\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\n Swal.close();\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 // Idle states\n if (this.isIdle) {\n this.isIdle = false;\n this.idleStateChanged();\n }\n if (this.idleTimer != null) {\n window.clearTimeout(this.idleTimer);\n this.idleTimer = null;\n }\n this.idleTimer = window.setTimeout(() => {\n if (!this.isIdle) {\n this.isIdle = true;\n this.idleStateChanged();\n }\n }, IdleTimeout);\n }\n\n private showToast(msg: any) {\n const toast: Toast = {\n type: msg.type,\n title: msg.title,\n };\n if (typeof (msg.text) === 'string') {\n toast.body = msg.text;\n } else if (msg.text.length === 1) {\n toast.body = msg.text[0];\n } else {\n let message = '';\n msg.text.forEach((t: string) =>\n message += ('

' + this.sanitizer.sanitize(SecurityContext.HTML, t) + '

'));\n toast.body = message;\n toast.bodyOutputType = BodyOutputType.TrustedHtml;\n }\n if (msg.options != null) {\n if (msg.options.trustedHtml === true) {\n toast.bodyOutputType = BodyOutputType.TrustedHtml;\n }\n if (msg.options.timeout != null && msg.options.timeout > 0) {\n toast.timeout = msg.options.timeout;\n }\n }\n this.toasterService.popAsync(toast);\n }\n\n private idleStateChanged() {\n if (this.isIdle) {\n this.notificationsService.disconnectFromInactivity();\n } else {\n this.notificationsService.reconnectFromActivity();\n }\n }\n\n private async setFullWidth() {\n const enableFullWidth = await this.storageService.get('enableFullWidth');\n if (enableFullWidth) {\n document.body.classList.add('full-width');\n } else {\n document.body.classList.remove('full-width');\n }\n }\n}\n","\n\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { CryptoFunctionService } from 'jslib/abstractions/cryptoFunction.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\nimport { SymmetricCryptoKey } from 'jslib/models/domain/symmetricCryptoKey';\nimport { SendAccess } from 'jslib/models/domain/sendAccess';\n\nimport { SendAccessView } from 'jslib/models/view/sendAccessView';\n\nimport { SendType } from 'jslib/enums/sendType';\nimport { SendAccessRequest } from 'jslib/models/request/sendAccessRequest';\nimport { ErrorResponse } from 'jslib/models/response/errorResponse';\n\nimport { SendAccessResponse } from 'jslib/models/response/sendAccessResponse';\n\n@Component({\n selector: 'app-send-access',\n templateUrl: 'access.component.html',\n})\nexport class AccessComponent implements OnInit {\n send: SendAccessView;\n sendType = SendType;\n downloading = false;\n loading = true;\n passwordRequired = false;\n formPromise: Promise;\n password: string;\n showText = false;\n unavailable = false;\n error = false;\n\n private id: string;\n private key: string;\n private decKey: SymmetricCryptoKey;\n\n constructor(private i18nService: I18nService, private cryptoFunctionService: CryptoFunctionService,\n private apiService: ApiService, private platformUtilsService: PlatformUtilsService,\n private route: ActivatedRoute, private cryptoService: CryptoService) {\n }\n\n get sendText() {\n if (this.send == null || this.send.text == null) {\n return null;\n }\n return this.showText ? this.send.text.text : this.send.text.maskedText;\n }\n\n ngOnInit() {\n this.route.params.subscribe(async (params) => {\n this.id = params.sendId;\n this.key = params.key;\n if (this.key == null || this.id == null) {\n return;\n }\n await this.load();\n });\n }\n\n async download() {\n if (this.send == null || this.decKey == null) {\n return;\n }\n\n if (this.downloading) {\n return;\n }\n\n this.downloading = true;\n const response = await fetch(new Request(this.send.file.url, { cache: 'no-store' }));\n if (response.status !== 200) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n this.downloading = false;\n return;\n }\n\n try {\n const buf = await response.arrayBuffer();\n const decBuf = await this.cryptoService.decryptFromBytes(buf, this.decKey);\n this.platformUtilsService.saveFile(window, decBuf, null, this.send.file.fileName);\n } catch (e) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n }\n\n this.downloading = false;\n }\n\n copyText() {\n this.platformUtilsService.copyToClipboard(this.send.text.text);\n this.platformUtilsService.showToast('success', null,\n this.i18nService.t('valueCopied', this.i18nService.t('sendTypeText')));\n }\n\n toggleText() {\n this.showText = !this.showText;\n }\n\n async load() {\n this.unavailable = false;\n this.error = false;\n const keyArray = Utils.fromUrlB64ToArray(this.key);\n const accessRequest = new SendAccessRequest();\n if (this.password != null) {\n const passwordHash = await this.cryptoFunctionService.pbkdf2(this.password, keyArray, 'sha256', 100000);\n accessRequest.password = Utils.fromBufferToB64(passwordHash);\n }\n try {\n let sendResponse: SendAccessResponse = null;\n if (this.loading) {\n sendResponse = await this.apiService.postSendAccess(this.id, accessRequest);\n } else {\n this.formPromise = this.apiService.postSendAccess(this.id, accessRequest);\n sendResponse = await this.formPromise;\n }\n this.passwordRequired = false;\n const sendAccess = new SendAccess(sendResponse);\n this.decKey = await this.cryptoService.makeSendKey(keyArray);\n this.send = await sendAccess.decrypt(this.decKey);\n this.showText = this.send.text != null ? !this.send.text.hidden : true;\n } catch (e) {\n if (e instanceof ErrorResponse) {\n if (e.statusCode === 401) {\n this.passwordRequired = true;\n } else if (e.statusCode === 404) {\n this.unavailable = true;\n } else {\n this.error = true;\n }\n }\n }\n this.loading = false;\n }\n}\n","
\n
\n
\n

Bitwarden Send

\n
\n
\n \n {{'loading' | i18n}}\n
\n
\n

{{'sendProtectedPassword' | i18n}}

\n

{{'sendProtectedPasswordDontKnow' | i18n}}

\n
\n \n \n
\n
\n \n
\n
\n
\n {{'sendAccessUnavailable' | i18n}}\n
\n
\n {{'unexpectedError' | i18n}}\n
\n
\n

{{send.name}}

\n
\n \n \n {{'sendHiddenByDefault' | i18n}}\n
\n \n
\n \n \n
\n \n \n

{{send.file.fileName}}

\n \n
\n
\n
\n
\n
\n
\n","import { SendType } from '../../enums/sendType';\n\nimport { SendAccessResponse } from '../response/sendAccessResponse';\n\nimport { SendAccessView } from '../view/sendAccessView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SendFile } from './sendFile';\nimport { SendText } from './sendText';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport class SendAccess extends Domain {\n id: string;\n type: SendType;\n name: CipherString;\n file: SendFile;\n text: SendText;\n\n constructor(obj?: SendAccessResponse, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n name: null,\n }, alreadyEncrypted, ['id']);\n\n this.type = obj.type;\n\n switch (this.type) {\n case SendType.Text:\n this.text = new SendText(obj.text, alreadyEncrypted);\n break;\n case SendType.File:\n this.file = new SendFile(obj.file, alreadyEncrypted);\n break;\n default:\n break;\n }\n }\n\n async decrypt(key: SymmetricCryptoKey): Promise {\n const model = new SendAccessView(this);\n\n await this.decryptObj(model, {\n name: null,\n }, null, key);\n\n switch (this.type) {\n case SendType.File:\n model.file = await this.file.decrypt(key);\n break;\n case SendType.Text:\n model.text = await this.text.decrypt(key);\n break;\n default:\n break;\n }\n\n return model;\n }\n}\n","import { SendType } from '../../enums/sendType';\n\nimport { SendAccess } from '../domain/sendAccess';\n\nimport { SendFileView } from './sendFileView';\nimport { SendTextView } from './sendTextView';\nimport { View } from './view';\n\nexport class SendAccessView implements View {\n id: string = null;\n name: string = null;\n type: SendType = null;\n text = new SendTextView();\n file = new SendFileView();\n\n constructor(s?: SendAccess) {\n if (!s) {\n return;\n }\n\n this.id = s.id;\n this.type = s.type;\n }\n}\n","export class SendAccessRequest {\n password: string;\n}\n","import {\n Directive,\n ElementRef,\n HostListener,\n} from '@angular/core';\n\n@Directive({\n selector: '[appBlurClick]',\n})\nexport class BlurClickDirective {\n constructor(private el: ElementRef) {\n }\n\n @HostListener('click') onClick() {\n this.el.nativeElement.blur();\n }\n}\n","import {\n Directive,\n ElementRef,\n HostListener,\n OnInit,\n} from '@angular/core';\n\n@Directive({\n selector: '[appBoxRow]',\n})\nexport class BoxRowDirective implements OnInit {\n el: HTMLElement = null;\n formEls: Element[];\n\n constructor(private elRef: ElementRef) {\n this.el = elRef.nativeElement;\n }\n\n ngOnInit(): void {\n this.formEls = Array.from(this.el.querySelectorAll('input:not([type=\"hidden\"]), select, textarea'));\n this.formEls.forEach((formEl) => {\n formEl.addEventListener('focus', (event: Event) => {\n this.el.classList.add('active');\n }, false);\n\n formEl.addEventListener('blur', (event: Event) => {\n this.el.classList.remove('active');\n }, false);\n });\n }\n\n @HostListener('click', ['$event']) onClick(event: Event) {\n const target = event.target as HTMLElement;\n if (target !== this.el && !target.classList.contains('progress') &&\n !target.classList.contains('progress-bar')) {\n return;\n }\n\n if (this.formEls.length > 0) {\n const formEl = (this.formEls[0] as HTMLElement);\n if (formEl.tagName.toLowerCase() === 'input') {\n const inputEl = (formEl as HTMLInputElement);\n if (inputEl.type != null && inputEl.type.toLowerCase() === 'checkbox') {\n inputEl.click();\n return;\n }\n }\n formEl.focus();\n }\n }\n}\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\n\nimport { CipherView } from '../../models/view/cipherView';\n\n@Pipe({\n name: 'searchCiphers',\n})\nexport class SearchCiphersPipe implements PipeTransform {\n transform(ciphers: CipherView[], searchText: string, deleted: boolean = false): CipherView[] {\n if (ciphers == null || ciphers.length === 0) {\n return [];\n }\n\n if (searchText == null || searchText.length < 2) {\n return ciphers.filter((c) => {\n return deleted !== c.isDeleted;\n });\n }\n\n searchText = searchText.trim().toLowerCase();\n return ciphers.filter((c) => {\n if (deleted !== c.isDeleted) {\n return false;\n }\n if (c.name != null && c.name.toLowerCase().indexOf(searchText) > -1) {\n return true;\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"],"sourceRoot":""} \ No newline at end of file diff --git a/app/polyfills.5767a6ed9bc20ebddf79.js b/app/polyfills.5767a6ed9bc20ebddf79.js deleted file mode 100644 index d1eea0ad..00000000 --- a/app/polyfills.5767a6ed9bc20ebddf79.js +++ /dev/null @@ -1,152 +0,0 @@ -!function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=733)}([,,function(t,e,n){var r=n(21),o=n(55),i=n(56),a=n(52),u=n(64),c=function(t,e,n){var s,f,l,h,p=t&c.F,v=t&c.G,d=t&c.S,y=t&c.P,g=t&c.B,b=v?r:d?r[e]||(r[e]={}):(r[e]||{}).prototype,m=v?o:o[e]||(o[e]={}),_=m.prototype||(m.prototype={});for(s in v&&(n=e),n)l=((f=!p&&b&&void 0!==b[s])?b:n)[s],h=g&&f?u(l,r):y&&"function"==typeof l?u(Function.call,l):l,b&&a(b,s,l,t&c.U),m[s]!=l&&i(m,s,h),y&&_[s]!=l&&(_[s]=l)};r.core=o,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,t.exports=c},,,,,,,,,,,,,,function(t,e,n){var r=n(23);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},,,,,function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},,,,,function(t,e,n){var r=n(132)("wks"),o=n(90),i=n(21).Symbol,a="function"==typeof i;(t.exports=function(t){return r[t]||(r[t]=a&&i[t]||(a?i:o)("Symbol."+t))}).store=r},,,function(t,e,n){var r=n(65),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},,function(t,e,n){var r=n(16),o=n(218),i=n(76),a=Object.defineProperty;e.f=n(35)?Object.defineProperty:function(t,e,n){if(r(t),e=i(e,!0),r(n),o)try{return a(t,e,n)}catch(u){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},,function(t,e,n){t.exports=!n(22)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},,,,,,,,function(t,e,n){var r=n(77);t.exports=function(t){return Object(r(t))}},,,,function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},,function(t,e,n){var r=n(2),o=n(22),i=n(77),a=/"/g,u=function(t,e,n,r){var o=String(i(t)),u="<"+e;return""!==n&&(u+=" "+n+'="'+String(r).replace(a,""")+'"'),u+">"+o+""};t.exports=function(t,e){var n={};n[t]=e(u),r(r.P+r.F*o(function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}),"String",n)}},,function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(21),o=n(56),i=n(51),a=n(90)("src"),u=Function.toString,c=(""+u).split("toString");n(55).inspectSource=function(t){return u.call(t)},(t.exports=function(t,e,n,u){var s="function"==typeof n;s&&(i(n,"name")||o(n,"name",e)),t[e]!==n&&(s&&(i(n,a)||o(n,a,t[e]?""+t[e]:c.join(String(e)))),t===r?t[e]=n:u?t[e]?t[e]=n:o(t,e,n):(delete t[e],o(t,e,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[a]||u.call(this)})},function(t,e,n){var r=n(115),o=n(77);t.exports=function(t){return r(o(t))}},,function(t,e){var n=t.exports={version:"2.6.2"};"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(33),o=n(85);t.exports=n(35)?function(t,e,n){return r.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},,function(t,e,n){var r=n(51),o=n(43),i=n(173)("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=o(t),r(t,i)?t[i]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},,function(t,e,n){var r=n(124),o=n(85),i=n(53),a=n(76),u=n(51),c=n(218),s=Object.getOwnPropertyDescriptor;e.f=n(35)?s:function(t,e){if(t=i(t),e=a(e,!0),c)try{return s(t,e)}catch(n){}if(u(t,e))return o(!r.f.call(t,e),t[e])}},function(t,e,n){"use strict";var r=n(22);t.exports=function(t,e){return!!t&&r(function(){e?t.call(null,function(){},1):t.call(null)})}},,,function(t,e,n){var r=n(47);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},,,function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var r=n(2),o=n(55),i=n(22);t.exports=function(t,e){var n=(o.Object||{})[t]||Object[t],a={};a[t]=e(n),r(r.S+r.F*i(function(){n(1)}),"Object",a)}},function(t,e,n){var r=n(64),o=n(115),i=n(43),a=n(31),u=n(232);t.exports=function(t,e){var n=1==t,c=2==t,s=3==t,f=4==t,l=6==t,h=5==t||l,p=e||u;return function(e,u,v){for(var d,y,g=i(e),b=o(g),m=r(u,v,3),_=a(b.length),w=0,S=n?p(e,_):c?p(e,0):void 0;_>w;w++)if((h||w in b)&&(y=m(d=b[w],w,g),t))if(n)S[w]=y;else if(y)switch(t){case 3:return!0;case 5:return d;case 6:return w;case 2:S.push(d)}else if(f)return!1;return l?-1:s||f?f:S}}},,,,,,function(t,e,n){var r=n(23);t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){"use strict";if(n(35)){var r=n(86),o=n(21),i=n(22),a=n(2),u=n(139),c=n(188),s=n(64),f=n(98),l=n(85),h=n(56),p=n(100),v=n(65),d=n(31),y=n(243),g=n(92),b=n(76),m=n(51),_=n(95),w=n(23),S=n(43),k=n(184),E=n(83),x=n(58),T=n(93).f,O=n(134),P=n(90),A=n(28),j=n(70),M=n(151),I=n(126),C=n(204),R=n(108),D=n(135),F=n(97),N=n(185),Z=n(234),L=n(33),B=n(60),U=L.f,z=B.f,H=o.RangeError,W=o.TypeError,K=o.Uint8Array,G=Array.prototype,q=c.ArrayBuffer,V=c.DataView,X=j(0),Y=j(2),J=j(3),$=j(4),Q=j(5),tt=j(6),et=M(!0),nt=M(!1),rt=C.values,ot=C.keys,it=C.entries,at=G.lastIndexOf,ut=G.reduce,ct=G.reduceRight,st=G.join,ft=G.sort,lt=G.slice,ht=G.toString,pt=G.toLocaleString,vt=A("iterator"),dt=A("toStringTag"),yt=P("typed_constructor"),gt=P("def_constructor"),bt=u.CONSTR,mt=u.TYPED,_t=u.VIEW,wt=j(1,function(t,e){return Tt(I(t,t[gt]),e)}),St=i(function(){return 1===new K(new Uint16Array([1]).buffer)[0]}),kt=!!K&&!!K.prototype.set&&i(function(){new K(1).set({})}),Et=function(t,e){var n=v(t);if(n<0||n%e)throw H("Wrong offset!");return n},xt=function(t){if(w(t)&&mt in t)return t;throw W(t+" is not a typed array!")},Tt=function(t,e){if(!(w(t)&&yt in t))throw W("It is not a typed array constructor!");return new t(e)},Ot=function(t,e){return Pt(I(t,t[gt]),e)},Pt=function(t,e){for(var n=0,r=e.length,o=Tt(t,r);r>n;)o[n]=e[n++];return o},At=function(t,e,n){U(t,e,{get:function(){return this._d[n]}})},jt=function(t){var e,n,r,o,i,a,u=S(t),c=arguments.length,f=c>1?arguments[1]:void 0,l=void 0!==f,h=O(u);if(null!=h&&!k(h)){for(a=h.call(u),r=[],e=0;!(i=a.next()).done;e++)r.push(i.value);u=r}for(l&&c>2&&(f=s(f,arguments[2],2)),e=0,n=d(u.length),o=Tt(this,n);n>e;e++)o[e]=l?f(u[e],e):u[e];return o},Mt=function(){for(var t=0,e=arguments.length,n=Tt(this,e);e>t;)n[t]=arguments[t++];return n},It=!!K&&i(function(){pt.call(new K(1))}),Ct=function(){return pt.apply(It?lt.call(xt(this)):xt(this),arguments)},Rt={copyWithin:function(t,e){return Z.call(xt(this),t,e,arguments.length>2?arguments[2]:void 0)},every:function(t){return $(xt(this),t,arguments.length>1?arguments[1]:void 0)},fill:function(t){return N.apply(xt(this),arguments)},filter:function(t){return Ot(this,Y(xt(this),t,arguments.length>1?arguments[1]:void 0))},find:function(t){return Q(xt(this),t,arguments.length>1?arguments[1]:void 0)},findIndex:function(t){return tt(xt(this),t,arguments.length>1?arguments[1]:void 0)},forEach:function(t){X(xt(this),t,arguments.length>1?arguments[1]:void 0)},indexOf:function(t){return nt(xt(this),t,arguments.length>1?arguments[1]:void 0)},includes:function(t){return et(xt(this),t,arguments.length>1?arguments[1]:void 0)},join:function(t){return st.apply(xt(this),arguments)},lastIndexOf:function(t){return at.apply(xt(this),arguments)},map:function(t){return wt(xt(this),t,arguments.length>1?arguments[1]:void 0)},reduce:function(t){return ut.apply(xt(this),arguments)},reduceRight:function(t){return ct.apply(xt(this),arguments)},reverse:function(){for(var t,e=xt(this).length,n=Math.floor(e/2),r=0;r1?arguments[1]:void 0)},sort:function(t){return ft.call(xt(this),t)},subarray:function(t,e){var n=xt(this),r=n.length,o=g(t,r);return new(I(n,n[gt]))(n.buffer,n.byteOffset+o*n.BYTES_PER_ELEMENT,d((void 0===e?r:g(e,r))-o))}},Dt=function(t,e){return Ot(this,lt.call(xt(this),t,e))},Ft=function(t){xt(this);var e=Et(arguments[1],1),n=this.length,r=S(t),o=d(r.length),i=0;if(o+e>n)throw H("Wrong length!");for(;i255?255:255&r),o.v[p](n*e+o.o,r,St)}(this,n,t)},enumerable:!0})};m?(v=n(function(t,n,r,o){f(t,v,s,"_d");var i,a,u,c,l=0,p=0;if(w(n)){if(!(n instanceof q||"ArrayBuffer"==(c=_(n))||"SharedArrayBuffer"==c))return mt in n?Pt(v,n):jt.call(v,n);i=n,p=Et(r,e);var g=n.byteLength;if(void 0===o){if(g%e)throw H("Wrong length!");if((a=g-p)<0)throw H("Wrong length!")}else if((a=d(o)*e)+p>g)throw H("Wrong length!");u=a/e}else u=y(n),i=new q(a=u*e);for(h(t,"_d",{b:i,o:p,l:a,e:u,v:new V(i)});ldocument.F=Object<\/script>"),t.close(),c=t.F;r--;)delete c.prototype[i[r]];return c()};t.exports=Object.create||function(t,e){var n;return null!==t?(u.prototype=r(t),n=new u,u.prototype=null,n[a]=t):n=c(),void 0===e?n:o(n,e)}},,function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){t.exports=!1},,,,function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e,n){var r=n(221),o=n(174);t.exports=Object.keys||function(t){return r(t,o)}},function(t,e,n){var r=n(65),o=Math.max,i=Math.min;t.exports=function(t,e){return(t=r(t))<0?o(t+e,0):i(t,e)}},function(t,e,n){var r=n(221),o=n(174).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},,function(t,e,n){var r=n(68),o=n(28)("toStringTag"),i="Arguments"==r(function(){return arguments}());t.exports=function(t){var e,n,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(n){}}(e=Object(t),o))?n:i?r(e):"Object"==(a=r(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,n){var r=n(28)("unscopables"),o=Array.prototype;null==o[r]&&n(56)(o,r,{}),t.exports=function(t){o[r][t]=!0}},function(t,e,n){"use strict";var r=n(21),o=n(33),i=n(35),a=n(28)("species");t.exports=function(t){var e=r[t];i&&e&&!e[a]&&o.f(e,a,{configurable:!0,get:function(){return this}})}},function(t,e){t.exports=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+": incorrect invocation!");return t}},function(t,e,n){var r=n(64),o=n(231),i=n(184),a=n(16),u=n(31),c=n(134),s={},f={};(e=t.exports=function(t,e,n,l,h){var p,v,d,y,g=h?function(){return t}:c(t),b=r(n,l,e?2:1),m=0;if("function"!=typeof g)throw TypeError(t+" is not iterable!");if(i(g)){for(p=u(t.length);p>m;m++)if((y=e?b(a(v=t[m])[0],v[1]):b(t[m]))===s||y===f)return y}else for(d=g.call(t);!(v=d.next()).done;)if((y=o(d,b,v.value,e))===s||y===f)return y}).BREAK=s,e.RETURN=f},function(t,e,n){var r=n(52);t.exports=function(t,e,n){for(var o in e)r(t,o,e[o],n);return t}},,,,,,,function(t,e,n){var r=n(33).f,o=n(51),i=n(28)("toStringTag");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,i)&&r(t,i,{configurable:!0,value:e})}},function(t,e){t.exports={}},function(t,e,n){var r=n(23);t.exports=function(t,e){if(!r(t)||t._t!==e)throw TypeError("Incompatible receiver, "+e+" required!");return t}},function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"==typeof window&&(n=window)}t.exports=n},,,,,function(t,e,n){var r=n(68);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e,n){var r=n(2),o=n(77),i=n(22),a=n(177),u="["+a+"]",c=RegExp("^"+u+u+"*"),s=RegExp(u+u+"*$"),f=function(t,e,n){var o={},u=i(function(){return!!a[t]()||"​…"!="​…"[t]()}),c=o[t]=u?e(l):a[t];n&&(o[n]=c),r(r.P+r.F*u,"String",o)},l=f.trim=function(t,e){return t=String(o(t)),1&e&&(t=t.replace(c,"")),2&e&&(t=t.replace(s,"")),t};t.exports=f},,,,,,,,function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){"use strict";var r=n(16);t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},function(t,e,n){var r=n(16),o=n(47),i=n(28)("species");t.exports=function(t,e){var n,a=r(t).constructor;return void 0===a||null==(n=r(a)[i])?e:o(n)}},,,,,,function(t,e,n){var r=n(55),o=n(21),i=o["__core-js_shared__"]||(o["__core-js_shared__"]={});(t.exports=function(t,e){return i[t]||(i[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:n(86)?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var r=n(95),o=n(28)("iterator"),i=n(108);t.exports=n(55).getIteratorMethod=function(t){if(null!=t)return t[o]||t["@@iterator"]||i[r(t)]}},function(t,e,n){var r=n(28)("iterator"),o=!1;try{var i=[7][r]();i.return=function(){o=!0},Array.from(i,function(){throw 2})}catch(a){}t.exports=function(t,e){if(!e&&!o)return!1;var n=!1;try{var i=[7],u=i[r]();u.next=function(){return{done:n=!0}},i[r]=function(){return u},t(i)}catch(a){}return n}},function(t,e,n){"use strict";var r=n(95),o=RegExp.prototype.exec;t.exports=function(t,e){var n=t.exec;if("function"==typeof n){var i=n.call(t,e);if("object"!=typeof i)throw new TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==r(t))throw new TypeError("RegExp#exec called on incompatible receiver");return o.call(t,e)}},function(t,e,n){"use strict";n(235);var r=n(52),o=n(56),i=n(22),a=n(77),u=n(28),c=n(186),s=u("species"),f=!i(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")}),l=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();t.exports=function(t,e,n){var h=u(t),p=!i(function(){var e={};return e[h]=function(){return 7},7!=""[t](e)}),v=p?!i(function(){var e=!1,n=/a/;return n.exec=function(){return e=!0,null},"split"===t&&(n.constructor={},n.constructor[s]=function(){return n}),n[h](""),!e}):void 0;if(!p||!v||"replace"===t&&!f||"split"===t&&!l){var d=/./[h],y=n(a,h,""[t],function(t,e,n,r,o){return e.exec===c?p&&!o?{done:!0,value:d.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}}),g=y[0],b=y[1];r(String.prototype,t,g),o(RegExp.prototype,h,2==e?function(t,e){return b.call(t,this,e)}:function(t){return b.call(t,this)})}}},function(t,e,n){"use strict";var r=n(21),o=n(2),i=n(52),a=n(100),u=n(82),c=n(99),s=n(98),f=n(23),l=n(22),h=n(135),p=n(107),v=n(178);t.exports=function(t,e,n,d,y,g){var b=r[t],m=b,_=y?"set":"add",w=m&&m.prototype,S={},k=function(t){var e=w[t];i(w,t,"delete"==t?function(t){return!(g&&!f(t))&&e.call(this,0===t?0:t)}:"has"==t?function(t){return!(g&&!f(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return g&&!f(t)?void 0:e.call(this,0===t?0:t)}:"add"==t?function(t){return e.call(this,0===t?0:t),this}:function(t,n){return e.call(this,0===t?0:t,n),this})};if("function"==typeof m&&(g||w.forEach&&!l(function(){(new m).entries().next()}))){var E=new m,x=E[_](g?{}:-0,1)!=E,T=l(function(){E.has(1)}),O=h(function(t){new m(t)}),P=!g&&l(function(){for(var t=new m,e=5;e--;)t[_](e,e);return!t.has(-0)});O||((m=e(function(e,n){s(e,m,t);var r=v(new b,e,m);return null!=n&&c(n,y,r[_],r),r})).prototype=w,w.constructor=m),(T||P)&&(k("delete"),k("has"),y&&k("get")),(P||x)&&k(_),g&&w.clear&&delete w.clear}else m=d.getConstructor(e,t,y,_),a(m.prototype,n),u.NEED=!0;return p(m,t),S[t]=m,o(o.G+o.W+o.F*(m!=b),S),g||d.setStrong(m,t,y),m}},function(t,e,n){for(var r,o=n(21),i=n(56),a=n(90),u=a("typed_array"),c=a("view"),s=!(!o.ArrayBuffer||!o.DataView),f=s,l=0,h="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");l<9;)(r=o[h[l++]])?(i(r.prototype,u,!0),i(r.prototype,c,!0)):f=!1;t.exports={ABV:s,CONSTR:f,TYPED:u,VIEW:c}},,,,,,,,,,,,function(t,e,n){var r=n(53),o=n(31),i=n(92);t.exports=function(t){return function(e,n,a){var u,c=r(e),s=o(c.length),f=i(a,s);if(t&&n!=n){for(;s>f;)if((u=c[f++])!=u)return!0}else for(;s>f;f++)if((t||f in c)&&c[f]===n)return t||f||0;return!t&&-1}}},function(t,e,n){var r=n(68);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){var r=n(65),o=n(77);t.exports=function(t){return function(e,n){var i,a,u=String(o(e)),c=r(n),s=u.length;return c<0||c>=s?t?"":void 0:(i=u.charCodeAt(c))<55296||i>56319||c+1===s||(a=u.charCodeAt(c+1))<56320||a>57343?t?u.charAt(c):i:t?u.slice(c,c+2):a-56320+(i-55296<<10)+65536}}},function(t,e,n){"use strict";var r=n(86),o=n(2),i=n(52),a=n(56),u=n(108),c=n(181),s=n(107),f=n(58),l=n(28)("iterator"),h=!([].keys&&"next"in[].keys()),p=function(){return this};t.exports=function(t,e,n,v,d,y,g){c(n,e,v);var b,m,_,w=function(t){if(!h&&t in x)return x[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},S=e+" Iterator",k="values"==d,E=!1,x=t.prototype,T=x[l]||x["@@iterator"]||d&&x[d],O=T||w(d),P=d?k?w("entries"):O:void 0,A="Array"==e&&x.entries||T;if(A&&(_=f(A.call(new t)))!==Object.prototype&&_.next&&(s(_,S,!0),r||"function"==typeof _[l]||a(_,l,p)),k&&T&&"values"!==T.name&&(E=!0,O=function(){return T.call(this)}),r&&!g||!h&&!E&&x[l]||a(x,l,O),u[e]=O,u[S]=p,d)if(b={values:k?O:w("values"),keys:y?O:w("keys"),entries:P},g)for(m in b)m in x||i(x,m,b[m]);else o(o.P+o.F*(h||E),e,b);return b}},function(t,e,n){var r=n(23),o=n(68),i=n(28)("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[i])?!!e:"RegExp"==o(t))}},,,,,,,,,,,,,,,,,function(t,e,n){var r=n(23),o=n(21).document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},function(t,e,n){var r=n(132)("keys"),o=n(90);t.exports=function(t){return r[t]||(r[t]=o(t))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){var r=n(21).document;t.exports=r&&r.documentElement},function(t,e,n){var r=n(23),o=n(16),i=function(t,e){if(o(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,r){try{(r=n(64)(Function.call,n(60).f(Object.prototype,"__proto__").set,2))(t,[]),e=!(t instanceof Array)}catch(o){e=!0}return function(t,n){return i(t,n),e?t.__proto__=n:r(t,n),t}}({},!1):void 0),check:i}},function(t,e){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},function(t,e,n){var r=n(23),o=n(176).set;t.exports=function(t,e,n){var i,a=e.constructor;return a!==n&&"function"==typeof a&&(i=a.prototype)!==n.prototype&&r(i)&&o&&o(t,i),t}},function(t,e){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,e){var n=Math.expm1;t.exports=!n||n(10)>22025.465794806718||n(10)<22025.465794806718||-2e-17!=n(-2e-17)?function(t){return 0==(t=+t)?t:t>-1e-6&&t<1e-6?t+t*t/2:Math.exp(t)-1}:n},function(t,e,n){"use strict";var r=n(83),o=n(85),i=n(107),a={};n(56)(a,n(28)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(a,{next:o(1,n)}),i(t,e+" Iterator")}},function(t,e,n){var r=n(155),o=n(77);t.exports=function(t,e,n){if(r(e))throw TypeError("String#"+n+" doesn't accept regex!");return String(o(t))}},function(t,e,n){var r=n(28)("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[r]=!1,!"/./"[t](e)}catch(o){}}return!0}},function(t,e,n){var r=n(108),o=n(28)("iterator"),i=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||i[o]===t)}},function(t,e,n){"use strict";var r=n(43),o=n(92),i=n(31);t.exports=function(t){for(var e=r(this),n=i(e.length),a=arguments.length,u=o(a>1?arguments[1]:void 0,n),c=a>2?arguments[2]:void 0,s=void 0===c?n:o(c,n);s>u;)e[u++]=t;return e}},function(t,e,n){"use strict";var r,o,i=n(125),a=RegExp.prototype.exec,u=String.prototype.replace,c=a,s=(r=/a/,o=/b*/g,a.call(r,"a"),a.call(o,"a"),0!==r.lastIndex||0!==o.lastIndex),f=void 0!==/()??/.exec("")[1];(s||f)&&(c=function(t){var e,n,r,o,c=this;return f&&(n=new RegExp("^"+c.source+"$(?!\\s)",i.call(c))),s&&(e=c.lastIndex),r=a.call(c,t),s&&r&&(c.lastIndex=c.global?r.index+r[0].length:e),f&&r&&r.length>1&&u.call(r[0],n,function(){for(o=1;o>1,f=23===e?O(2,-24)-O(2,-77):0,l=0,h=t<0||0===t&&1/t<0?1:0;for((t=T(t))!=t||t===E?(o=t!=t?1:0,r=c):(r=P(A(t)/j),t*(i=O(2,-r))<1&&(r--,i*=2),(t+=r+s>=1?f/i:f*O(2,1-s))*i>=2&&(r++,i/=2),r+s>=c?(o=0,r=c):r+s>=1?(o=(t*i-1)*O(2,e),r+=s):(o=t*O(2,s-1)*O(2,e),r=0));e>=8;a[l++]=255&o,o/=256,e-=8);for(r=r<0;a[l++]=255&r,r/=256,u-=8);return a[--l]|=128*h,a}function D(t,e,n){var r,o=8*n-e-1,i=(1<>1,u=o-7,c=n-1,s=t[c--],f=127&s;for(s>>=7;u>0;f=256*f+t[c],c--,u-=8);for(r=f&(1<<-u)-1,f>>=-u,u+=e;u>0;r=256*r+t[c],c--,u-=8);if(0===f)f=1-a;else{if(f===i)return r?NaN:s?-E:E;r+=O(2,e),f-=a}return(s?-1:1)*r*O(2,f-e)}function F(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]}function N(t){return[255&t]}function Z(t){return[255&t,t>>8&255]}function L(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]}function B(t){return R(t,52,8)}function U(t){return R(t,23,4)}function z(t,e,n){d(t[b],e,{get:function(){return this[n]}})}function H(t,e,n,r){var o=p(+n);if(o+e>t[I])throw k(m);var i=t[M]._b,a=o+t[C],u=i.slice(a,a+e);return r?u:u.reverse()}function W(t,e,n,r,o,i){var a=p(+n);if(a+e>t[I])throw k(m);for(var u=t[M]._b,c=a+t[C],s=r(+o),f=0;fV;)(K=q[V++])in _||u(_,K,x[K]);i||(G.constructor=_)}var X=new w(new _(2)),Y=w[b].setInt8;X.setInt8(0,2147483648),X.setInt8(1,2147483649),!X.getInt8(0)&&X.getInt8(1)||c(w[b],{setInt8:function(t,e){Y.call(this,t,e<<24>>24)},setUint8:function(t,e){Y.call(this,t,e<<24>>24)}},!0)}else _=function(t){f(this,_,"ArrayBuffer");var e=p(t);this._b=y.call(new Array(e),0),this[I]=e},w=function(t,e,n){f(this,w,"DataView"),f(t,_,"DataView");var r=t[I],o=l(e);if(o<0||o>r)throw k("Wrong offset!");if(o+(n=void 0===n?r-o:h(n))>r)throw k("Wrong length!");this[M]=t,this[C]=o,this[I]=n},o&&(z(_,"byteLength","_l"),z(w,"buffer","_b"),z(w,"byteLength","_l"),z(w,"byteOffset","_o")),c(w[b],{getInt8:function(t){return H(this,1,t)[0]<<24>>24},getUint8:function(t){return H(this,1,t)[0]},getInt16:function(t){var e=H(this,2,t,arguments[1]);return(e[1]<<8|e[0])<<16>>16},getUint16:function(t){var e=H(this,2,t,arguments[1]);return e[1]<<8|e[0]},getInt32:function(t){return F(H(this,4,t,arguments[1]))},getUint32:function(t){return F(H(this,4,t,arguments[1]))>>>0},getFloat32:function(t){return D(H(this,4,t,arguments[1]),23,4)},getFloat64:function(t){return D(H(this,8,t,arguments[1]),52,8)},setInt8:function(t,e){W(this,1,t,N,e)},setUint8:function(t,e){W(this,1,t,N,e)},setInt16:function(t,e){W(this,2,t,Z,e,arguments[2])},setUint16:function(t,e){W(this,2,t,Z,e,arguments[2])},setInt32:function(t,e){W(this,4,t,L,e,arguments[2])},setUint32:function(t,e){W(this,4,t,L,e,arguments[2])},setFloat32:function(t,e){W(this,4,t,U,e,arguments[2])},setFloat64:function(t,e){W(this,8,t,B,e,arguments[2])}});g(_,"ArrayBuffer"),g(w,"DataView"),u(w[b],a.VIEW,!0),e.ArrayBuffer=_,e.DataView=w},,,,,,,,,,,,function(t,e,n){"use strict";var r=n(91),o=n(133),i=n(124),a=n(43),u=n(115),c=Object.assign;t.exports=!c||n(22)(function(){var t={},e={},n=Symbol(),r="abcdefghijklmnopqrst";return t[n]=7,r.split("").forEach(function(t){e[t]=t}),7!=c({},t)[n]||Object.keys(c({},e)).join("")!=r})?function(t,e){for(var n=a(t),c=arguments.length,s=1,f=o.f,l=i.f;c>s;)for(var h,p=u(arguments[s++]),v=f?r(p).concat(f(p)):r(p),d=v.length,y=0;d>y;)l.call(p,h=v[y++])&&(n[h]=p[h]);return n}:c},function(t,e){t.exports=function(t,e,n){var r=void 0===n;switch(e.length){case 0:return r?t():t.call(n);case 1:return r?t(e[0]):t.call(n,e[0]);case 2:return r?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return r?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return r?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},function(t,e,n){"use strict";var r=n(65),o=n(77);t.exports=function(t){var e=String(o(this)),n="",i=r(t);if(i<0||i==1/0)throw RangeError("Count can't be negative");for(;i>0;(i>>>=1)&&(e+=e))1&i&&(n+=e);return n}},function(t,e,n){"use strict";var r=n(33),o=n(85);t.exports=function(t,e,n){e in t?r.f(t,e,o(0,n)):t[e]=n}},function(t,e,n){"use strict";var r=n(96),o=n(205),i=n(108),a=n(53);t.exports=n(154)(Array,"Array",function(t,e){this._t=a(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,o(1)):o(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])},"values"),i.Arguments=i.Array,r("keys"),r("values"),r("entries")},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var r,o,i,a=n(64),u=n(201),c=n(175),s=n(172),f=n(21),l=f.process,h=f.setImmediate,p=f.clearImmediate,v=f.MessageChannel,d=f.Dispatch,y=0,g={},b=function(){var t=+this;if(g.hasOwnProperty(t)){var e=g[t];delete g[t],e()}},m=function(t){b.call(t.data)};h&&p||(h=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return g[++y]=function(){u("function"==typeof t?t:Function(t),e)},r(y),y},p=function(t){delete g[t]},"process"==n(68)(l)?r=function(t){l.nextTick(a(b,t,1))}:d&&d.now?r=function(t){d.now(a(b,t,1))}:v?(i=(o=new v).port2,o.port1.onmessage=m,r=a(i.postMessage,i,1)):f.addEventListener&&"function"==typeof postMessage&&!f.importScripts?(r=function(t){f.postMessage(t+"","*")},f.addEventListener("message",m,!1)):r="onreadystatechange"in s("script")?function(t){c.appendChild(s("script")).onreadystatechange=function(){c.removeChild(this),b.call(t)}}:function(t){setTimeout(a(b,t,1),0)}),t.exports={set:h,clear:p}},function(t,e,n){"use strict";var r=n(47);function o(t){var e,n;this.promise=new t(function(t,r){if(void 0!==e||void 0!==n)throw TypeError("Bad Promise constructor");e=t,n=r}),this.resolve=r(e),this.reject=r(n)}t.exports.f=function(t){return new o(t)}},function(t,e,n){var r=n(21).navigator;t.exports=r&&r.userAgent||""},,,,,,,,,,function(t,e,n){t.exports=!n(35)&&!n(22)(function(){return 7!=Object.defineProperty(n(172)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){e.f=n(28)},function(t,e,n){var r=n(21),o=n(55),i=n(86),a=n(219),u=n(33).f;t.exports=function(t){var e=o.Symbol||(o.Symbol=i?{}:r.Symbol||{});"_"==t.charAt(0)||t in e||u(e,t,{value:a.f(t)})}},function(t,e,n){var r=n(51),o=n(53),i=n(151)(!1),a=n(173)("IE_PROTO");t.exports=function(t,e){var n,u=o(t),c=0,s=[];for(n in u)n!=a&&r(u,n)&&s.push(n);for(;e.length>c;)r(u,n=e[c++])&&(~i(s,n)||s.push(n));return s}},function(t,e,n){var r=n(33),o=n(16),i=n(91);t.exports=n(35)?Object.defineProperties:function(t,e){o(t);for(var n,a=i(e),u=a.length,c=0;u>c;)r.f(t,n=a[c++],e[n]);return t}},function(t,e,n){var r=n(53),o=n(93).f,i={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return a&&"[object Window]"==i.call(t)?function(t){try{return o(t)}catch(e){return a.slice()}}(t):o(r(t))}},function(t,e){t.exports=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}},function(t,e,n){"use strict";var r=n(47),o=n(23),i=n(201),a=[].slice,u={};t.exports=Function.bind||function(t){var e=r(this),n=a.call(arguments,1),c=function(){var r=n.concat(a.call(arguments));return this instanceof c?function(t,e,n){if(!(e in u)){for(var r=[],o=0;o>>0||(a.test(n)?16:10))}:r},function(t,e,n){var r=n(21).parseFloat,o=n(116).trim;t.exports=1/r(n(177)+"-0")!=-1/0?function(t){var e=o(String(t),3),n=r(e);return 0===n&&"-"==e.charAt(0)?-0:n}:r},function(t,e,n){var r=n(68);t.exports=function(t,e){if("number"!=typeof t&&"Number"!=r(t))throw TypeError(e);return+t}},function(t,e,n){var r=n(23),o=Math.floor;t.exports=function(t){return!r(t)&&isFinite(t)&&o(t)===t}},function(t,e){t.exports=Math.log1p||function(t){return(t=+t)>-1e-8&&t<1e-8?t-t*t/2:Math.log(1+t)}},function(t,e,n){var r=n(16);t.exports=function(t,e,n,o){try{return o?e(r(n)[0],n[1]):e(n)}catch(a){var i=t.return;throw void 0!==i&&r(i.call(t)),a}}},function(t,e,n){var r=n(399);t.exports=function(t,e){return new(r(t))(e)}},function(t,e,n){var r=n(47),o=n(43),i=n(115),a=n(31);t.exports=function(t,e,n,u,c){r(e);var s=o(t),f=i(s),l=a(s.length),h=c?l-1:0,p=c?-1:1;if(n<2)for(;;){if(h in f){u=f[h],h+=p;break}if(h+=p,c?h<0:l<=h)throw TypeError("Reduce of empty array with no initial value")}for(;c?h>=0:l>h;h+=p)h in f&&(u=e(u,f[h],h,s));return u}},function(t,e,n){"use strict";var r=n(43),o=n(92),i=n(31);t.exports=[].copyWithin||function(t,e){var n=r(this),a=i(n.length),u=o(t,a),c=o(e,a),s=arguments.length>2?arguments[2]:void 0,f=Math.min((void 0===s?a:o(s,a))-c,a-u),l=1;for(c0;)c in n?n[u]=n[c]:delete n[u],u+=l,c+=l;return n}},function(t,e,n){"use strict";var r=n(186);n(2)({target:"RegExp",proto:!0,forced:r!==/./.exec},{exec:r})},function(t,e,n){n(35)&&"g"!=/./g.flags&&n(33).f(RegExp.prototype,"flags",{configurable:!0,get:n(125)})},function(t,e,n){var r=n(21),o=n(206).set,i=r.MutationObserver||r.WebKitMutationObserver,a=r.process,u=r.Promise,c="process"==n(68)(a);t.exports=function(){var t,e,n,s=function(){var r,o;for(c&&(r=a.domain)&&r.exit();t;){o=t.fn,t=t.next;try{o()}catch(i){throw t?n():e=void 0,i}}e=void 0,r&&r.enter()};if(c)n=function(){a.nextTick(s)};else if(!i||r.navigator&&r.navigator.standalone)if(u&&u.resolve){var f=u.resolve(void 0);n=function(){f.then(s)}}else n=function(){o.call(r,s)};else{var l=!0,h=document.createTextNode("");new i(s).observe(h,{characterData:!0}),n=function(){h.data=l=!l}}return function(r){var o={fn:r,next:void 0};e&&(e.next=o),t||(t=o,n()),e=o}}},function(t,e,n){"use strict";var r=n(239),o=n(109);t.exports=n(138)("Map",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{get:function(t){var e=r.getEntry(o(this,"Map"),t);return e&&e.v},set:function(t,e){return r.def(o(this,"Map"),0===t?0:t,e)}},r,!0)},function(t,e,n){"use strict";var r=n(33).f,o=n(83),i=n(100),a=n(64),u=n(98),c=n(99),s=n(154),f=n(205),l=n(97),h=n(35),p=n(82).fastKey,v=n(109),d=h?"_s":"size",y=function(t,e){var n,r=p(e);if("F"!==r)return t._i[r];for(n=t._f;n;n=n.n)if(n.k==e)return n};t.exports={getConstructor:function(t,e,n,s){var f=t(function(t,r){u(t,f,e,"_i"),t._t=e,t._i=o(null),t._f=void 0,t._l=void 0,t[d]=0,null!=r&&c(r,n,t[s],t)});return i(f.prototype,{clear:function(){for(var t=v(this,e),n=t._i,r=t._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];t._f=t._l=void 0,t[d]=0},delete:function(t){var n=v(this,e),r=y(n,t);if(r){var o=r.n,i=r.p;delete n._i[r.i],r.r=!0,i&&(i.n=o),o&&(o.p=i),n._f==r&&(n._f=o),n._l==r&&(n._l=i),n[d]--}return!!r},forEach:function(t){v(this,e);for(var n,r=a(t,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(t){return!!y(v(this,e),t)}}),h&&r(f.prototype,"size",{get:function(){return v(this,e)[d]}}),f},def:function(t,e,n){var r,o,i=y(t,e);return i?i.v=n:(t._l=i={i:o=p(e,!0),k:e,v:n,p:r=t._l,n:void 0,r:!1},t._f||(t._f=i),r&&(r.n=i),t[d]++,"F"!==o&&(t._i[o]=i)),t},getEntry:y,setStrong:function(t,e,n){s(t,e,function(t,n){this._t=v(t,e),this._k=n,this._l=void 0},function(){for(var t=this._k,e=this._l;e&&e.r;)e=e.p;return this._t&&(this._l=e=e?e.n:this._t._f)?f(0,"keys"==t?e.k:"values"==t?e.v:[e.k,e.v]):(this._t=void 0,f(1))},n?"entries":"values",!n,!0),l(e)}}},function(t,e,n){"use strict";var r=n(239),o=n(109);t.exports=n(138)("Set",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return r.def(o(this,"Set"),t=0===t?0:t,t)}},r)},function(t,e,n){"use strict";var r,o=n(70)(0),i=n(52),a=n(82),u=n(200),c=n(242),s=n(23),f=n(22),l=n(109),h=a.getWeak,p=Object.isExtensible,v=c.ufstore,d={},y=function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},g={get:function(t){if(s(t)){var e=h(t);return!0===e?v(l(this,"WeakMap")).get(t):e?e[this._i]:void 0}},set:function(t,e){return c.def(l(this,"WeakMap"),t,e)}},b=t.exports=n(138)("WeakMap",y,g,c,!0,!0);f(function(){return 7!=(new b).set((Object.freeze||Object)(d),7).get(d)})&&(u((r=c.getConstructor(y,"WeakMap")).prototype,g),a.NEED=!0,o(["delete","has","get","set"],function(t){var e=b.prototype,n=e[t];i(e,t,function(e,o){if(s(e)&&!p(e)){this._f||(this._f=new r);var i=this._f[t](e,o);return"set"==t?this:i}return n.call(this,e,o)})}))},function(t,e,n){"use strict";var r=n(100),o=n(82).getWeak,i=n(16),a=n(23),u=n(98),c=n(99),s=n(70),f=n(51),l=n(109),h=s(5),p=s(6),v=0,d=function(t){return t._l||(t._l=new y)},y=function(){this.a=[]},g=function(t,e){return h(t.a,function(t){return t[0]===e})};y.prototype={get:function(t){var e=g(this,t);if(e)return e[1]},has:function(t){return!!g(this,t)},set:function(t,e){var n=g(this,t);n?n[1]=e:this.a.push([t,e])},delete:function(t){var e=p(this.a,function(e){return e[0]===t});return~e&&this.a.splice(e,1),!!~e}},t.exports={getConstructor:function(t,e,n,i){var s=t(function(t,r){u(t,s,e,"_i"),t._t=e,t._i=v++,t._l=void 0,null!=r&&c(r,n,t[i],t)});return r(s.prototype,{delete:function(t){if(!a(t))return!1;var n=o(t);return!0===n?d(l(this,e)).delete(t):n&&f(n,this._i)&&delete n[this._i]},has:function(t){if(!a(t))return!1;var n=o(t);return!0===n?d(l(this,e)).has(t):n&&f(n,this._i)}}),s},def:function(t,e,n){var r=o(i(e),!0);return!0===r?d(t).set(e,n):r[t._i]=n,t},ufstore:d}},function(t,e,n){var r=n(65),o=n(31);t.exports=function(t){if(void 0===t)return 0;var e=r(t),n=o(e);if(e!==n)throw RangeError("Wrong length!");return n}},function(t,e,n){var r=n(93),o=n(133),i=n(16),a=n(21).Reflect;t.exports=a&&a.ownKeys||function(t){var e=r.f(i(t)),n=o.f;return n?e.concat(n(t)):e}},,,,,,,,,,,,,,,,,,,,,,function(t,e,n){var r=n(179),o=Math.pow,i=o(2,-52),a=o(2,-23),u=o(2,127)*(2-a),c=o(2,-126);t.exports=Math.fround||function(t){var e,n,o=Math.abs(t),s=r(t);return ou||n!=n?s*(1/0):s*n}},function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(e){return{e:!0,v:e}}}},function(t,e,n){var r=n(16),o=n(23),i=n(207);t.exports=function(t,e){if(r(t),o(e)&&e.constructor===t)return e;var n=i.f(t);return(0,n.resolve)(e),n.promise}},function(t,e,n){var r=n(99);t.exports=function(t,e){var n=[];return r(t,!1,n.push,n,e),n}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){"use strict";var r=n(21),o=n(51),i=n(35),a=n(2),u=n(52),c=n(82).KEY,s=n(22),f=n(132),l=n(107),h=n(90),p=n(28),v=n(219),d=n(220),y=n(311),g=n(152),b=n(16),m=n(23),_=n(53),w=n(76),S=n(85),k=n(83),E=n(223),x=n(60),T=n(33),O=n(91),P=x.f,A=T.f,j=E.f,M=r.Symbol,I=r.JSON,C=I&&I.stringify,R=p("_hidden"),D=p("toPrimitive"),F={}.propertyIsEnumerable,N=f("symbol-registry"),Z=f("symbols"),L=f("op-symbols"),B=Object.prototype,U="function"==typeof M,z=r.QObject,H=!z||!z.prototype||!z.prototype.findChild,W=i&&s(function(){return 7!=k(A({},"a",{get:function(){return A(this,"a",{value:7}).a}})).a})?function(t,e,n){var r=P(B,e);r&&delete B[e],A(t,e,n),r&&t!==B&&A(B,e,r)}:A,K=function(t){var e=Z[t]=k(M.prototype);return e._k=t,e},G=U&&"symbol"==typeof M.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof M},q=function(t,e,n){return t===B&&q(L,e,n),b(t),e=w(e,!0),b(n),o(Z,e)?(n.enumerable?(o(t,R)&&t[R][e]&&(t[R][e]=!1),n=k(n,{enumerable:S(0,!1)})):(o(t,R)||A(t,R,S(1,{})),t[R][e]=!0),W(t,e,n)):A(t,e,n)},V=function(t,e){b(t);for(var n,r=y(e=_(e)),o=0,i=r.length;i>o;)q(t,n=r[o++],e[n]);return t},X=function(t){var e=F.call(this,t=w(t,!0));return!(this===B&&o(Z,t)&&!o(L,t))&&(!(e||!o(this,t)||!o(Z,t)||o(this,R)&&this[R][t])||e)},Y=function(t,e){if(t=_(t),e=w(e,!0),t!==B||!o(Z,e)||o(L,e)){var n=P(t,e);return!n||!o(Z,e)||o(t,R)&&t[R][e]||(n.enumerable=!0),n}},J=function(t){for(var e,n=j(_(t)),r=[],i=0;n.length>i;)o(Z,e=n[i++])||e==R||e==c||r.push(e);return r},$=function(t){for(var e,n=t===B,r=j(n?L:_(t)),i=[],a=0;r.length>a;)!o(Z,e=r[a++])||n&&!o(B,e)||i.push(Z[e]);return i};U||(u((M=function(){if(this instanceof M)throw TypeError("Symbol is not a constructor!");var t=h(arguments.length>0?arguments[0]:void 0),e=function(n){this===B&&e.call(L,n),o(this,R)&&o(this[R],t)&&(this[R][t]=!1),W(this,t,S(1,n))};return i&&H&&W(B,t,{configurable:!0,set:e}),K(t)}).prototype,"toString",function(){return this._k}),x.f=Y,T.f=q,n(93).f=E.f=J,n(124).f=X,n(133).f=$,i&&!n(86)&&u(B,"propertyIsEnumerable",X,!0),v.f=function(t){return K(p(t))}),a(a.G+a.W+a.F*!U,{Symbol:M});for(var Q="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),tt=0;Q.length>tt;)p(Q[tt++]);for(var et=O(p.store),nt=0;et.length>nt;)d(et[nt++]);a(a.S+a.F*!U,"Symbol",{for:function(t){return o(N,t+="")?N[t]:N[t]=M(t)},keyFor:function(t){if(!G(t))throw TypeError(t+" is not a symbol!");for(var e in N)if(N[e]===t)return e},useSetter:function(){H=!0},useSimple:function(){H=!1}}),a(a.S+a.F*!U,"Object",{create:function(t,e){return void 0===e?k(t):V(k(t),e)},defineProperty:q,defineProperties:V,getOwnPropertyDescriptor:Y,getOwnPropertyNames:J,getOwnPropertySymbols:$}),I&&a(a.S+a.F*(!U||s(function(){var t=M();return"[null]"!=C([t])||"{}"!=C({a:t})||"{}"!=C(Object(t))})),"JSON",{stringify:function(t){for(var e,n,r=[t],o=1;arguments.length>o;)r.push(arguments[o++]);if(n=e=r[1],(m(e)||void 0!==t)&&!G(t))return g(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!G(e))return e}),r[1]=e,C.apply(I,r)}}),M.prototype[D]||n(56)(M.prototype,D,M.prototype.valueOf),l(M,"Symbol"),l(Math,"Math",!0),l(r.JSON,"JSON",!0)},function(t,e,n){var r=n(91),o=n(133),i=n(124);t.exports=function(t){var e=r(t),n=o.f;if(n)for(var a,u=n(t),c=i.f,s=0;u.length>s;)c.call(t,a=u[s++])&&e.push(a);return e}},function(t,e,n){var r=n(2);r(r.S,"Object",{create:n(83)})},function(t,e,n){var r=n(2);r(r.S+r.F*!n(35),"Object",{defineProperty:n(33).f})},function(t,e,n){var r=n(2);r(r.S+r.F*!n(35),"Object",{defineProperties:n(222)})},function(t,e,n){var r=n(53),o=n(60).f;n(69)("getOwnPropertyDescriptor",function(){return function(t,e){return o(r(t),e)}})},function(t,e,n){var r=n(43),o=n(58);n(69)("getPrototypeOf",function(){return function(t){return o(r(t))}})},function(t,e,n){var r=n(43),o=n(91);n(69)("keys",function(){return function(t){return o(r(t))}})},function(t,e,n){n(69)("getOwnPropertyNames",function(){return n(223).f})},function(t,e,n){var r=n(23),o=n(82).onFreeze;n(69)("freeze",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(23),o=n(82).onFreeze;n(69)("seal",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(23),o=n(82).onFreeze;n(69)("preventExtensions",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(23);n(69)("isFrozen",function(t){return function(e){return!r(e)||!!t&&t(e)}})},function(t,e,n){var r=n(23);n(69)("isSealed",function(t){return function(e){return!r(e)||!!t&&t(e)}})},function(t,e,n){var r=n(23);n(69)("isExtensible",function(t){return function(e){return!!r(e)&&(!t||t(e))}})},function(t,e,n){var r=n(2);r(r.S+r.F,"Object",{assign:n(200)})},function(t,e,n){var r=n(2);r(r.S,"Object",{is:n(224)})},function(t,e,n){var r=n(2);r(r.S,"Object",{setPrototypeOf:n(176).set})},function(t,e,n){"use strict";var r=n(95),o={};o[n(28)("toStringTag")]="z",o+""!="[object z]"&&n(52)(Object.prototype,"toString",function(){return"[object "+r(this)+"]"},!0)},function(t,e,n){var r=n(2);r(r.P,"Function",{bind:n(225)})},function(t,e,n){var r=n(33).f,o=Function.prototype,i=/^\s*function ([^ (]*)/;"name"in o||n(35)&&r(o,"name",{configurable:!0,get:function(){try{return(""+this).match(i)[1]}catch(t){return""}}})},function(t,e,n){"use strict";var r=n(23),o=n(58),i=n(28)("hasInstance"),a=Function.prototype;i in a||n(33).f(a,i,{value:function(t){if("function"!=typeof this||!r(t))return!1;if(!r(this.prototype))return t instanceof this;for(;t=o(t);)if(this.prototype===t)return!0;return!1}})},function(t,e,n){var r=n(2),o=n(226);r(r.G+r.F*(parseInt!=o),{parseInt:o})},function(t,e,n){var r=n(2),o=n(227);r(r.G+r.F*(parseFloat!=o),{parseFloat:o})},function(t,e,n){"use strict";var r=n(21),o=n(51),i=n(68),a=n(178),u=n(76),c=n(22),s=n(93).f,f=n(60).f,l=n(33).f,h=n(116).trim,p=r.Number,v=p,d=p.prototype,y="Number"==i(n(83)(d)),g="trim"in String.prototype,b=function(t){var e=u(t,!1);if("string"==typeof e&&e.length>2){var n,r,o,i=(e=g?e.trim():h(e,3)).charCodeAt(0);if(43===i||45===i){if(88===(n=e.charCodeAt(2))||120===n)return NaN}else if(48===i){switch(e.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+e}for(var a,c=e.slice(2),s=0,f=c.length;so)return NaN;return parseInt(c,r)}}return+e};if(!p(" 0o1")||!p("0b1")||p("+0x1")){p=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof p&&(y?c(function(){d.valueOf.call(n)}):"Number"!=i(n))?a(new v(b(e)),n,p):b(e)};for(var m,_=n(35)?s(v):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),w=0;_.length>w;w++)o(v,m=_[w])&&!o(p,m)&&l(p,m,f(v,m));p.prototype=d,d.constructor=p,n(52)(r,"Number",p)}},function(t,e,n){"use strict";var r=n(2),o=n(65),i=n(228),a=n(202),u=1..toFixed,c=Math.floor,s=[0,0,0,0,0,0],f="Number.toFixed: incorrect invocation!",l=function(t,e){for(var n=-1,r=e;++n<6;)r+=t*s[n],s[n]=r%1e7,r=c(r/1e7)},h=function(t){for(var e=6,n=0;--e>=0;)n+=s[e],s[e]=c(n/t),n=n%t*1e7},p=function(){for(var t=6,e="";--t>=0;)if(""!==e||0===t||0!==s[t]){var n=String(s[t]);e=""===e?n:e+a.call("0",7-n.length)+n}return e},v=function(t,e,n){return 0===e?n:e%2==1?v(t,e-1,n*t):v(t*t,e/2,n)};r(r.P+r.F*(!!u&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!n(22)(function(){u.call({})})),"Number",{toFixed:function(t){var e,n,r,u,c=i(this,f),s=o(t),d="",y="0";if(s<0||s>20)throw RangeError(f);if(c!=c)return"NaN";if(c<=-1e21||c>=1e21)return String(c);if(c<0&&(d="-",c=-c),c>1e-21)if(n=(e=function(t){for(var e=0,n=t;n>=4096;)e+=12,n/=4096;for(;n>=2;)e+=1,n/=2;return e}(c*v(2,69,1))-69)<0?c*v(2,-e,1):c/v(2,e,1),n*=4503599627370496,(e=52-e)>0){for(l(0,n),r=s;r>=7;)l(1e7,0),r-=7;for(l(v(10,r,1),0),r=e-1;r>=23;)h(1<<23),r-=23;h(1<0?d+((u=y.length)<=s?"0."+a.call("0",s-u)+y:y.slice(0,u-s)+"."+y.slice(u-s)):d+y}})},function(t,e,n){"use strict";var r=n(2),o=n(22),i=n(228),a=1..toPrecision;r(r.P+r.F*(o(function(){return"1"!==a.call(1,void 0)})||!o(function(){a.call({})})),"Number",{toPrecision:function(t){var e=i(this,"Number#toPrecision: incorrect invocation!");return void 0===t?a.call(e):a.call(e,t)}})},function(t,e,n){var r=n(2);r(r.S,"Number",{EPSILON:Math.pow(2,-52)})},function(t,e,n){var r=n(2),o=n(21).isFinite;r(r.S,"Number",{isFinite:function(t){return"number"==typeof t&&o(t)}})},function(t,e,n){var r=n(2);r(r.S,"Number",{isInteger:n(229)})},function(t,e,n){var r=n(2);r(r.S,"Number",{isNaN:function(t){return t!=t}})},function(t,e,n){var r=n(2),o=n(229),i=Math.abs;r(r.S,"Number",{isSafeInteger:function(t){return o(t)&&i(t)<=9007199254740991}})},function(t,e,n){var r=n(2);r(r.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},function(t,e,n){var r=n(2);r(r.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},function(t,e,n){var r=n(2),o=n(227);r(r.S+r.F*(Number.parseFloat!=o),"Number",{parseFloat:o})},function(t,e,n){var r=n(2),o=n(226);r(r.S+r.F*(Number.parseInt!=o),"Number",{parseInt:o})},function(t,e,n){var r=n(2),o=n(230),i=Math.sqrt,a=Math.acosh;r(r.S+r.F*!(a&&710==Math.floor(a(Number.MAX_VALUE))&&a(1/0)==1/0),"Math",{acosh:function(t){return(t=+t)<1?NaN:t>94906265.62425156?Math.log(t)+Math.LN2:o(t-1+i(t-1)*i(t+1))}})},function(t,e,n){var r=n(2),o=Math.asinh;r(r.S+r.F*!(o&&1/o(0)>0),"Math",{asinh:function t(e){return isFinite(e=+e)&&0!=e?e<0?-t(-e):Math.log(e+Math.sqrt(e*e+1)):e}})},function(t,e,n){var r=n(2),o=Math.atanh;r(r.S+r.F*!(o&&1/o(-0)<0),"Math",{atanh:function(t){return 0==(t=+t)?t:Math.log((1+t)/(1-t))/2}})},function(t,e,n){var r=n(2),o=n(179);r(r.S,"Math",{cbrt:function(t){return o(t=+t)*Math.pow(Math.abs(t),1/3)}})},function(t,e,n){var r=n(2);r(r.S,"Math",{clz32:function(t){return(t>>>=0)?31-Math.floor(Math.log(t+.5)*Math.LOG2E):32}})},function(t,e,n){var r=n(2),o=Math.exp;r(r.S,"Math",{cosh:function(t){return(o(t=+t)+o(-t))/2}})},function(t,e,n){var r=n(2),o=n(180);r(r.S+r.F*(o!=Math.expm1),"Math",{expm1:o})},function(t,e,n){var r=n(2);r(r.S,"Math",{fround:n(266)})},function(t,e,n){var r=n(2),o=Math.abs;r(r.S,"Math",{hypot:function(t,e){for(var n,r,i=0,a=0,u=arguments.length,c=0;a0?(r=n/c)*r:n;return c===1/0?1/0:c*Math.sqrt(i)}})},function(t,e,n){var r=n(2),o=Math.imul;r(r.S+r.F*n(22)(function(){return-5!=o(4294967295,5)||2!=o.length}),"Math",{imul:function(t,e){var n=+t,r=+e,o=65535&n,i=65535&r;return 0|o*i+((65535&n>>>16)*i+o*(65535&r>>>16)<<16>>>0)}})},function(t,e,n){var r=n(2);r(r.S,"Math",{log10:function(t){return Math.log(t)*Math.LOG10E}})},function(t,e,n){var r=n(2);r(r.S,"Math",{log1p:n(230)})},function(t,e,n){var r=n(2);r(r.S,"Math",{log2:function(t){return Math.log(t)/Math.LN2}})},function(t,e,n){var r=n(2);r(r.S,"Math",{sign:n(179)})},function(t,e,n){var r=n(2),o=n(180),i=Math.exp;r(r.S+r.F*n(22)(function(){return-2e-17!=!Math.sinh(-2e-17)}),"Math",{sinh:function(t){return Math.abs(t=+t)<1?(o(t)-o(-t))/2:(i(t-1)-i(-t-1))*(Math.E/2)}})},function(t,e,n){var r=n(2),o=n(180),i=Math.exp;r(r.S,"Math",{tanh:function(t){var e=o(t=+t),n=o(-t);return e==1/0?1:n==1/0?-1:(e-n)/(i(t)+i(-t))}})},function(t,e,n){var r=n(2);r(r.S,"Math",{trunc:function(t){return(t>0?Math.floor:Math.ceil)(t)}})},function(t,e,n){var r=n(2),o=n(92),i=String.fromCharCode,a=String.fromCodePoint;r(r.S+r.F*(!!a&&1!=a.length),"String",{fromCodePoint:function(t){for(var e,n=[],r=arguments.length,a=0;r>a;){if(e=+arguments[a++],o(e,1114111)!==e)throw RangeError(e+" is not a valid code point");n.push(e<65536?i(e):i(55296+((e-=65536)>>10),e%1024+56320))}return n.join("")}})},function(t,e,n){var r=n(2),o=n(53),i=n(31);r(r.S,"String",{raw:function(t){for(var e=o(t.raw),n=i(e.length),r=arguments.length,a=[],u=0;n>u;)a.push(String(e[u++])),u=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){"use strict";var r=n(2),o=n(153)(!1);r(r.P,"String",{codePointAt:function(t){return o(this,t)}})},function(t,e,n){"use strict";var r=n(2),o=n(31),i=n(182),a="".endsWith;r(r.P+r.F*n(183)("endsWith"),"String",{endsWith:function(t){var e=i(this,t,"endsWith"),n=arguments.length>1?arguments[1]:void 0,r=o(e.length),u=void 0===n?r:Math.min(o(n),r),c=String(t);return a?a.call(e,c,u):e.slice(u-c.length,u)===c}})},function(t,e,n){"use strict";var r=n(2),o=n(182);r(r.P+r.F*n(183)("includes"),"String",{includes:function(t){return!!~o(this,t,"includes").indexOf(t,arguments.length>1?arguments[1]:void 0)}})},function(t,e,n){var r=n(2);r(r.P,"String",{repeat:n(202)})},function(t,e,n){"use strict";var r=n(2),o=n(31),i=n(182),a="".startsWith;r(r.P+r.F*n(183)("startsWith"),"String",{startsWith:function(t){var e=i(this,t,"startsWith"),n=o(Math.min(arguments.length>1?arguments[1]:void 0,e.length)),r=String(t);return a?a.call(e,r,n):e.slice(n,n+r.length)===r}})},function(t,e,n){"use strict";n(49)("anchor",function(t){return function(e){return t(this,"a","name",e)}})},function(t,e,n){"use strict";n(49)("big",function(t){return function(){return t(this,"big","","")}})},function(t,e,n){"use strict";n(49)("blink",function(t){return function(){return t(this,"blink","","")}})},function(t,e,n){"use strict";n(49)("bold",function(t){return function(){return t(this,"b","","")}})},function(t,e,n){"use strict";n(49)("fixed",function(t){return function(){return t(this,"tt","","")}})},function(t,e,n){"use strict";n(49)("fontcolor",function(t){return function(e){return t(this,"font","color",e)}})},function(t,e,n){"use strict";n(49)("fontsize",function(t){return function(e){return t(this,"font","size",e)}})},function(t,e,n){"use strict";n(49)("italics",function(t){return function(){return t(this,"i","","")}})},function(t,e,n){"use strict";n(49)("link",function(t){return function(e){return t(this,"a","href",e)}})},function(t,e,n){"use strict";n(49)("small",function(t){return function(){return t(this,"small","","")}})},function(t,e,n){"use strict";n(49)("strike",function(t){return function(){return t(this,"strike","","")}})},function(t,e,n){"use strict";n(49)("sub",function(t){return function(){return t(this,"sub","","")}})},function(t,e,n){"use strict";n(49)("sup",function(t){return function(){return t(this,"sup","","")}})},function(t,e,n){var r=n(2);r(r.S,"Date",{now:function(){return(new Date).getTime()}})},function(t,e,n){"use strict";var r=n(2),o=n(43),i=n(76);r(r.P+r.F*n(22)(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}),"Date",{toJSON:function(t){var e=o(this),n=i(e);return"number"!=typeof n||isFinite(n)?e.toISOString():null}})},function(t,e,n){var r=n(2),o=n(388);r(r.P+r.F*(Date.prototype.toISOString!==o),"Date",{toISOString:o})},function(t,e,n){"use strict";var r=n(22),o=Date.prototype.getTime,i=Date.prototype.toISOString,a=function(t){return t>9?t:"0"+t};t.exports=r(function(){return"0385-07-25T07:06:39.999Z"!=i.call(new Date(-5e13-1))})||!r(function(){i.call(new Date(NaN))})?function(){if(!isFinite(o.call(this)))throw RangeError("Invalid time value");var t=this,e=t.getUTCFullYear(),n=t.getUTCMilliseconds(),r=e<0?"-":e>9999?"+":"";return r+("00000"+Math.abs(e)).slice(r?-6:-4)+"-"+a(t.getUTCMonth()+1)+"-"+a(t.getUTCDate())+"T"+a(t.getUTCHours())+":"+a(t.getUTCMinutes())+":"+a(t.getUTCSeconds())+"."+(n>99?n:"0"+a(n))+"Z"}:i},function(t,e,n){var r=Date.prototype,o=r.toString,i=r.getTime;new Date(NaN)+""!="Invalid Date"&&n(52)(r,"toString",function(){var t=i.call(this);return t==t?o.call(this):"Invalid Date"})},function(t,e,n){var r=n(28)("toPrimitive"),o=Date.prototype;r in o||n(56)(o,r,n(391))},function(t,e,n){"use strict";var r=n(16),o=n(76);t.exports=function(t){if("string"!==t&&"number"!==t&&"default"!==t)throw TypeError("Incorrect hint");return o(r(this),"number"!=t)}},function(t,e,n){var r=n(2);r(r.S,"Array",{isArray:n(152)})},function(t,e,n){"use strict";var r=n(64),o=n(2),i=n(43),a=n(231),u=n(184),c=n(31),s=n(203),f=n(134);o(o.S+o.F*!n(135)(function(t){Array.from(t)}),"Array",{from:function(t){var e,n,o,l,h=i(t),p="function"==typeof this?this:Array,v=arguments.length,d=v>1?arguments[1]:void 0,y=void 0!==d,g=0,b=f(h);if(y&&(d=r(d,v>2?arguments[2]:void 0,2)),null==b||p==Array&&u(b))for(n=new p(e=c(h.length));e>g;g++)s(n,g,y?d(h[g],g):h[g]);else for(l=b.call(h),n=new p;!(o=l.next()).done;g++)s(n,g,y?a(l,d,[o.value,g],!0):o.value);return n.length=g,n}})},function(t,e,n){"use strict";var r=n(2),o=n(203);r(r.S+r.F*n(22)(function(){function t(){}return!(Array.of.call(t)instanceof t)}),"Array",{of:function(){for(var t=0,e=arguments.length,n=new("function"==typeof this?this:Array)(e);e>t;)o(n,t,arguments[t++]);return n.length=e,n}})},function(t,e,n){"use strict";var r=n(2),o=n(53),i=[].join;r(r.P+r.F*(n(115)!=Object||!n(61)(i)),"Array",{join:function(t){return i.call(o(this),void 0===t?",":t)}})},function(t,e,n){"use strict";var r=n(2),o=n(175),i=n(68),a=n(92),u=n(31),c=[].slice;r(r.P+r.F*n(22)(function(){o&&c.call(o)}),"Array",{slice:function(t,e){var n=u(this.length),r=i(this);if(e=void 0===e?n:e,"Array"==r)return c.call(this,t,e);for(var o=a(t,n),s=a(e,n),f=u(s-o),l=new Array(f),h=0;h1&&(r=Math.min(r,i(arguments[1]))),r<0&&(r=n+r);r>=0;r--)if(r in e&&e[r]===t)return r||0;return-1}})},function(t,e,n){var r=n(2);r(r.P,"Array",{copyWithin:n(234)}),n(96)("copyWithin")},function(t,e,n){var r=n(2);r(r.P,"Array",{fill:n(185)}),n(96)("fill")},function(t,e,n){"use strict";var r=n(2),o=n(70)(5),i=!0;"find"in[]&&Array(1).find(function(){i=!1}),r(r.P+r.F*i,"Array",{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),n(96)("find")},function(t,e,n){"use strict";var r=n(2),o=n(70)(6),i="findIndex",a=!0;i in[]&&Array(1)[i](function(){a=!1}),r(r.P+r.F*a,"Array",{findIndex:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),n(96)(i)},function(t,e,n){n(97)("Array")},function(t,e,n){var r=n(21),o=n(178),i=n(33).f,a=n(93).f,u=n(155),c=n(125),s=r.RegExp,f=s,l=s.prototype,h=/a/g,p=/a/g,v=new s(h)!==h;if(n(35)&&(!v||n(22)(function(){return p[n(28)("match")]=!1,s(h)!=h||s(p)==p||"/a/i"!=s(h,"i")}))){s=function(t,e){var n=this instanceof s,r=u(t),i=void 0===e;return!n&&r&&t.constructor===s&&i?t:o(v?new f(r&&!i?t.source:t,e):f((r=t instanceof s)?t.source:t,r&&i?c.call(t):e),n?this:l,s)};for(var d=function(t){t in s||i(s,t,{configurable:!0,get:function(){return f[t]},set:function(e){f[t]=e}})},y=a(f),g=0;y.length>g;)d(y[g++]);l.constructor=s,s.prototype=l,n(52)(r,"RegExp",s)}n(97)("RegExp")},function(t,e,n){"use strict";n(236);var r=n(16),o=n(125),i=n(35),a=/./.toString,u=function(t){n(52)(RegExp.prototype,"toString",t,!0)};n(22)(function(){return"/a/b"!=a.call({source:"a",flags:"b"})})?u(function(){var t=r(this);return"/".concat(t.source,"/","flags"in t?t.flags:!i&&t instanceof RegExp?o.call(t):void 0)}):"toString"!=a.name&&u(function(){return a.call(this)})},function(t,e,n){"use strict";var r=n(16),o=n(31),i=n(187),a=n(136);n(137)("match",1,function(t,e,n,u){return[function(n){var r=t(this),o=null==n?void 0:n[e];return void 0!==o?o.call(n,r):new RegExp(n)[e](String(r))},function(t){var e=u(n,t,this);if(e.done)return e.value;var c=r(t),s=String(this);if(!c.global)return a(c,s);var f=c.unicode;c.lastIndex=0;for(var l,h=[],p=0;null!==(l=a(c,s));){var v=String(l[0]);h[p]=v,""===v&&(c.lastIndex=i(s,o(c.lastIndex),f)),p++}return 0===p?null:h}]})},function(t,e,n){"use strict";var r=n(16),o=n(43),i=n(31),a=n(65),u=n(187),c=n(136),s=Math.max,f=Math.min,l=Math.floor,h=/\$([$&`']|\d\d?|<[^>]*>)/g,p=/\$([$&`']|\d\d?)/g;n(137)("replace",2,function(t,e,n,v){return[function(r,o){var i=t(this),a=null==r?void 0:r[e];return void 0!==a?a.call(r,i,o):n.call(String(i),r,o)},function(t,e){var o=v(n,t,this,e);if(o.done)return o.value;var l=r(t),h=String(this),p="function"==typeof e;p||(e=String(e));var y=l.global;if(y){var g=l.unicode;l.lastIndex=0}for(var b=[];;){var m=c(l,h);if(null===m)break;if(b.push(m),!y)break;""===String(m[0])&&(l.lastIndex=u(h,i(l.lastIndex),g))}for(var _,w="",S=0,k=0;k=S&&(w+=h.slice(S,x)+j,S=x+E.length)}return w+h.slice(S)}];function d(t,e,r,i,a,u){var c=r+t.length,s=i.length,f=p;return void 0!==a&&(a=o(a),f=h),n.call(u,f,function(n,o){var u;switch(o.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(c);case"<":u=a[o.slice(1,-1)];break;default:var f=+o;if(0===f)return n;if(f>s){var h=l(f/10);return 0===h?n:h<=s?void 0===i[h-1]?o.charAt(1):i[h-1]+o.charAt(1):n}u=i[f-1]}return void 0===u?"":u})}})},function(t,e,n){"use strict";var r=n(16),o=n(224),i=n(136);n(137)("search",1,function(t,e,n,a){return[function(n){var r=t(this),o=null==n?void 0:n[e];return void 0!==o?o.call(n,r):new RegExp(n)[e](String(r))},function(t){var e=a(n,t,this);if(e.done)return e.value;var u=r(t),c=String(this),s=u.lastIndex;o(s,0)||(u.lastIndex=0);var f=i(u,c);return o(u.lastIndex,s)||(u.lastIndex=s),null===f?-1:f.index}]})},function(t,e,n){"use strict";var r=n(155),o=n(16),i=n(126),a=n(187),u=n(31),c=n(136),s=n(186),f=Math.min,l=[].push,h=!!function(){try{return new RegExp("x","y")}catch(t){}}();n(137)("split",2,function(t,e,n,p){var v;return v="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,e){var o=String(this);if(void 0===t&&0===e)return[];if(!r(t))return n.call(o,t,e);for(var i,a,u,c=[],f=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),h=0,p=void 0===e?4294967295:e>>>0,v=new RegExp(t.source,f+"g");(i=s.call(v,o))&&!((a=v.lastIndex)>h&&(c.push(o.slice(h,i.index)),i.length>1&&i.index=p));)v.lastIndex===i.index&&v.lastIndex++;return h===o.length?!u&&v.test("")||c.push(""):c.push(o.slice(h)),c.length>p?c.slice(0,p):c}:"0".split(void 0,0).length?function(t,e){return void 0===t&&0===e?[]:n.call(this,t,e)}:n,[function(n,r){var o=t(this),i=null==n?void 0:n[e];return void 0!==i?i.call(n,o,r):v.call(String(o),n,r)},function(t,e){var r=p(v,t,this,e,v!==n);if(r.done)return r.value;var s=o(t),l=String(this),d=i(s,RegExp),y=s.unicode,g=(s.ignoreCase?"i":"")+(s.multiline?"m":"")+(s.unicode?"u":"")+(h?"y":"g"),b=new d(h?s:"^(?:"+s.source+")",g),m=void 0===e?4294967295:e>>>0;if(0===m)return[];if(0===l.length)return null===c(b,l)?[l]:[];for(var _=0,w=0,S=[];wi;)a(n[i++]);t._c=[],t._n=!1,e&&!t._h&&R(t)})}},R=function(t){g.call(c,function(){var e,n,r,o=t._v,i=D(t);if(i&&(e=_(function(){P?E.emit("unhandledRejection",o,t):(n=c.onunhandledrejection)?n({promise:t,reason:o}):(r=c.console)&&r.error&&r.error("Unhandled promise rejection",o)}),t._h=P||D(t)?2:1),t._a=void 0,i&&e.e)throw e.v})},D=function(t){return 1!==t._h&&0===(t._a||t._c).length},F=function(t){g.call(c,function(){var e;P?E.emit("rejectionHandled",t):(e=c.onrejectionhandled)&&e({promise:t,reason:t._v})})},N=function(t){var e=this;e._d||(e._d=!0,(e=e._w||e)._v=t,e._s=2,e._a||(e._a=e._c.slice()),C(e,!0))},Z=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw k("Promise can't be resolved itself");(e=I(t))?b(function(){var r={_w:n,_d:!1};try{e.call(t,s(Z,r,1),s(N,r,1))}catch(o){N.call(r,o)}}):(n._v=t,n._s=1,C(n,!1))}catch(r){N.call({_w:n,_d:!1},r)}}};M||(O=function(t){v(this,O,"Promise","_h"),p(t),r.call(this);try{t(s(Z,this,1),s(N,this,1))}catch(e){N.call(this,e)}},(r=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=n(100)(O.prototype,{then:function(t,e){var n=j(y(this,O));return n.ok="function"!=typeof t||t,n.fail="function"==typeof e&&e,n.domain=P?E.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&C(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),i=function(){var t=new r;this.promise=t,this.resolve=s(Z,t,1),this.reject=s(N,t,1)},m.f=j=function(t){return t===O||t===a?new i(t):o(t)}),l(l.G+l.W+l.F*!M,{Promise:O}),n(107)(O,"Promise"),n(97)("Promise"),a=n(55).Promise,l(l.S+l.F*!M,"Promise",{reject:function(t){var e=j(this);return(0,e.reject)(t),e.promise}}),l(l.S+l.F*(u||!M),"Promise",{resolve:function(t){return S(u&&this===a?O:this,t)}}),l(l.S+l.F*!(M&&n(135)(function(t){O.all(t).catch(A)})),"Promise",{all:function(t){var e=this,n=j(e),r=n.resolve,o=n.reject,i=_(function(){var n=[],i=0,a=1;d(t,!1,function(t){var u=i++,c=!1;n.push(void 0),a++,e.resolve(t).then(function(t){c||(c=!0,n[u]=t,--a||r(n))},o)}),--a||r(n)});return i.e&&o(i.v),n.promise},race:function(t){var e=this,n=j(e),r=n.reject,o=_(function(){d(t,!1,function(t){e.resolve(t).then(n.resolve,r)})});return o.e&&r(o.v),n.promise}})},function(t,e,n){"use strict";var r=n(242),o=n(109);n(138)("WeakSet",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return r.def(o(this,"WeakSet"),t,!0)}},r,!1,!0)},function(t,e,n){"use strict";var r=n(2),o=n(139),i=n(188),a=n(16),u=n(92),c=n(31),s=n(23),f=n(21).ArrayBuffer,l=n(126),h=i.ArrayBuffer,p=i.DataView,v=o.ABV&&f.isView,d=h.prototype.slice,y=o.VIEW;r(r.G+r.W+r.F*(f!==h),{ArrayBuffer:h}),r(r.S+r.F*!o.CONSTR,"ArrayBuffer",{isView:function(t){return v&&v(t)||s(t)&&y in t}}),r(r.P+r.U+r.F*n(22)(function(){return!new h(2).slice(1,void 0).byteLength}),"ArrayBuffer",{slice:function(t,e){if(void 0!==d&&void 0===e)return d.call(a(this),t);for(var n=a(this).byteLength,r=u(t,n),o=u(void 0===e?n:e,n),i=new(l(this,h))(c(o-r)),s=new p(this),f=new p(i),v=0;r=e.length)return{value:void 0,done:!0}}while(!((t=e[this._i++])in this._t));return{value:t,done:!1}}),r(r.S,"Reflect",{enumerate:function(t){return new i(t)}})},function(t,e,n){var r=n(60),o=n(58),i=n(51),a=n(2),u=n(23),c=n(16);a(a.S,"Reflect",{get:function t(e,n){var a,s,f=arguments.length<3?e:arguments[2];return c(e)===f?e[n]:(a=r.f(e,n))?i(a,"value")?a.value:void 0!==a.get?a.get.call(f):void 0:u(s=o(e))?t(s,n,f):void 0}})},function(t,e,n){var r=n(60),o=n(2),i=n(16);o(o.S,"Reflect",{getOwnPropertyDescriptor:function(t,e){return r.f(i(t),e)}})},function(t,e,n){var r=n(2),o=n(58),i=n(16);r(r.S,"Reflect",{getPrototypeOf:function(t){return o(i(t))}})},function(t,e,n){var r=n(2);r(r.S,"Reflect",{has:function(t,e){return e in t}})},function(t,e,n){var r=n(2),o=n(16),i=Object.isExtensible;r(r.S,"Reflect",{isExtensible:function(t){return o(t),!i||i(t)}})},function(t,e,n){var r=n(2);r(r.S,"Reflect",{ownKeys:n(244)})},function(t,e,n){var r=n(2),o=n(16),i=Object.preventExtensions;r(r.S,"Reflect",{preventExtensions:function(t){o(t);try{return i&&i(t),!0}catch(e){return!1}}})},function(t,e,n){var r=n(33),o=n(60),i=n(58),a=n(51),u=n(2),c=n(85),s=n(16),f=n(23);u(u.S,"Reflect",{set:function t(e,n,u){var l,h,p=arguments.length<4?e:arguments[3],v=o.f(s(e),n);if(!v){if(f(h=i(e)))return t(h,n,u,p);v=c(0)}if(a(v,"value")){if(!1===v.writable||!f(p))return!1;if(l=o.f(p,n)){if(l.get||l.set||!1===l.writable)return!1;l.value=u,r.f(p,n,l)}else r.f(p,n,c(0,u));return!0}return void 0!==v.set&&(v.set.call(p,u),!0)}})},function(t,e,n){var r=n(2),o=n(176);o&&r(r.S,"Reflect",{setPrototypeOf:function(t,e){o.check(t,e);try{return o.set(t,e),!0}catch(n){return!1}}})},function(t,e,n){var r=n(79),o=n(16),i=r.key,a=r.set;r.exp({defineMetadata:function(t,e,n,r){a(t,e,o(n),i(r))}})},function(t,e,n){var r=n(79),o=n(16),i=r.key,a=r.map,u=r.store;r.exp({deleteMetadata:function(t,e){var n=arguments.length<3?void 0:i(arguments[2]),r=a(o(e),n,!1);if(void 0===r||!r.delete(t))return!1;if(r.size)return!0;var c=u.get(e);return c.delete(n),!!c.size||u.delete(e)}})},function(t,e,n){var r=n(79),o=n(16),i=n(58),a=r.has,u=r.get,c=r.key,s=function(t,e,n){if(a(t,e,n))return u(t,e,n);var r=i(e);return null!==r?s(t,r,n):void 0};r.exp({getMetadata:function(t,e){return s(t,o(e),arguments.length<3?void 0:c(arguments[2]))}})},function(t,e,n){var r=n(240),o=n(269),i=n(79),a=n(16),u=n(58),c=i.keys,s=i.key,f=function(t,e){var n=c(t,e),i=u(t);if(null===i)return n;var a=f(i,e);return a.length?n.length?o(new r(n.concat(a))):a:n};i.exp({getMetadataKeys:function(t){return f(a(t),arguments.length<2?void 0:s(arguments[1]))}})},function(t,e,n){var r=n(79),o=n(16),i=r.get,a=r.key;r.exp({getOwnMetadata:function(t,e){return i(t,o(e),arguments.length<3?void 0:a(arguments[2]))}})},function(t,e,n){var r=n(79),o=n(16),i=r.keys,a=r.key;r.exp({getOwnMetadataKeys:function(t){return i(o(t),arguments.length<2?void 0:a(arguments[1]))}})},function(t,e,n){var r=n(79),o=n(16),i=n(58),a=r.has,u=r.key,c=function(t,e,n){if(a(t,e,n))return!0;var r=i(e);return null!==r&&c(t,r,n)};r.exp({hasMetadata:function(t,e){return c(t,o(e),arguments.length<3?void 0:u(arguments[2]))}})},function(t,e,n){var r=n(79),o=n(16),i=r.has,a=r.key;r.exp({hasOwnMetadata:function(t,e){return i(t,o(e),arguments.length<3?void 0:a(arguments[2]))}})},function(t,e,n){var r=n(79),o=n(16),i=n(47),a=r.key,u=r.set;r.exp({metadata:function(t,e){return function(n,r){u(t,e,(void 0!==r?o:i)(n),a(r))}}})},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),n(734),n(735),n(736),!Element.prototype.matches&&Element.prototype.msMatchesSelector&&(Element.prototype.matches=Element.prototype.msMatchesSelector),n(737),n(738)},function(t,e,n){n(310),n(312),n(313),n(314),n(315),n(316),n(317),n(318),n(319),n(320),n(321),n(322),n(323),n(324),n(325),n(326),n(327),n(328),n(329),n(330),n(331),n(332),n(333),n(334),n(335),n(336),n(337),n(338),n(339),n(340),n(341),n(342),n(343),n(344),n(345),n(346),n(347),n(348),n(349),n(350),n(351),n(352),n(353),n(354),n(355),n(356),n(357),n(358),n(359),n(360),n(361),n(362),n(363),n(364),n(365),n(366),n(367),n(368),n(369),n(370),n(371),n(372),n(373),n(374),n(375),n(376),n(377),n(378),n(379),n(380),n(381),n(382),n(383),n(384),n(385),n(386),n(387),n(389),n(390),n(392),n(393),n(394),n(395),n(396),n(397),n(398),n(400),n(401),n(402),n(403),n(404),n(405),n(406),n(407),n(408),n(409),n(410),n(411),n(412),n(204),n(413),n(235),n(414),n(236),n(415),n(416),n(417),n(418),n(419),n(238),n(240),n(241),n(420),n(421),n(422),n(423),n(424),n(425),n(426),n(427),n(428),n(429),n(430),n(431),n(432),n(433),n(434),n(435),n(436),n(437),n(438),n(439),n(440),n(441),n(442),n(443),n(444),n(445),t.exports=n(55)},function(t,e,n){n(446),n(447),n(448),n(449),n(450),n(451),n(452),n(453),n(454),t.exports=n(55).Reflect},function(t,e,n){(function(r){var o,i; -/** -* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes -* (c) 2010-2020 Google LLC. https://angular.io/ -* License: MIT -*/void 0===(i="function"==typeof(o=function(){"use strict"; -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */!function(t){var e=t.performance;function n(t){e&&e.mark&&e.mark(t)}function r(t,n){e&&e.measure&&e.measure(t,n)}n("Zone");var o=t.__Zone_symbol_prefix||"__zone_symbol__";function i(t){return o+t}var a=!0===t[i("forceDuplicateZoneCheck")];if(t.Zone){if(a||"function"!=typeof t.Zone.__symbol__)throw new Error("Zone already loaded.");return t.Zone}var u=function(){function e(t,e){this._parent=t,this._name=e?e.name||"unnamed":"",this._properties=e&&e.properties||{},this._zoneDelegate=new f(this,this._parent&&this._parent._zoneDelegate,e)}return e.assertZonePatched=function(){if(t.Promise!==A.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")},Object.defineProperty(e,"root",{get:function(){for(var t=e.current;t.parent;)t=t.parent;return t},enumerable:!0,configurable:!0}),Object.defineProperty(e,"current",{get:function(){return M.zone},enumerable:!0,configurable:!0}),Object.defineProperty(e,"currentTask",{get:function(){return I},enumerable:!0,configurable:!0}),e.__load_patch=function(o,i){if(A.hasOwnProperty(o)){if(a)throw Error("Already loaded patch: "+o)}else if(!t["__Zone_disable_"+o]){var u="Zone:"+o;n(u),A[o]=i(t,e,j),r(u,u)}},Object.defineProperty(e.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this._name},enumerable:!0,configurable:!0}),e.prototype.get=function(t){var e=this.getZoneWith(t);if(e)return e._properties[t]},e.prototype.getZoneWith=function(t){for(var e=this;e;){if(e._properties.hasOwnProperty(t))return e;e=e._parent}return null},e.prototype.fork=function(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)},e.prototype.wrap=function(t,e){if("function"!=typeof t)throw new Error("Expecting function got: "+t);var n=this._zoneDelegate.intercept(this,t,e),r=this;return function(){return r.runGuarded(n,this,arguments,e)}},e.prototype.run=function(t,e,n,r){M={parent:M,zone:this};try{return this._zoneDelegate.invoke(this,t,e,n,r)}finally{M=M.parent}},e.prototype.runGuarded=function(t,e,n,r){void 0===e&&(e=null),M={parent:M,zone:this};try{try{return this._zoneDelegate.invoke(this,t,e,n,r)}catch(o){if(this._zoneDelegate.handleError(this,o))throw o}}finally{M=M.parent}},e.prototype.runTask=function(t,e,n){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||m).name+"; Execution: "+this.name+")");if(t.state!==_||t.type!==P&&t.type!==O){var r=t.state!=k;r&&t._transitionTo(k,S),t.runCount++;var o=I;I=t,M={parent:M,zone:this};try{t.type==O&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,e,n)}catch(i){if(this._zoneDelegate.handleError(this,i))throw i}}finally{t.state!==_&&t.state!==x&&(t.type==P||t.data&&t.data.isPeriodic?r&&t._transitionTo(S,k):(t.runCount=0,this._updateTaskCount(t,-1),r&&t._transitionTo(_,k,_))),M=M.parent,I=o}}},e.prototype.scheduleTask=function(t){if(t.zone&&t.zone!==this)for(var e=this;e;){if(e===t.zone)throw Error("can not reschedule task to "+this.name+" which is descendants of the original zone "+t.zone.name);e=e.parent}t._transitionTo(w,_);var n=[];t._zoneDelegates=n,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(r){throw t._transitionTo(x,w,_),this._zoneDelegate.handleError(this,r),r}return t._zoneDelegates===n&&this._updateTaskCount(t,1),t.state==w&&t._transitionTo(S,w),t},e.prototype.scheduleMicroTask=function(t,e,n,r){return this.scheduleTask(new l(T,t,e,n,r,void 0))},e.prototype.scheduleMacroTask=function(t,e,n,r,o){return this.scheduleTask(new l(O,t,e,n,r,o))},e.prototype.scheduleEventTask=function(t,e,n,r,o){return this.scheduleTask(new l(P,t,e,n,r,o))},e.prototype.cancelTask=function(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||m).name+"; Execution: "+this.name+")");t._transitionTo(E,S,k);try{this._zoneDelegate.cancelTask(this,t)}catch(e){throw t._transitionTo(x,E),this._zoneDelegate.handleError(this,e),e}return this._updateTaskCount(t,-1),t._transitionTo(_,E),t.runCount=0,t},e.prototype._updateTaskCount=function(t,e){var n=t._zoneDelegates;-1==e&&(t._zoneDelegates=null);for(var r=0;r0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:t};this.hasTask(this.zone,i)}},t}(),l=function(){function e(n,r,o,i,a,u){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=n,this.source=r,this.data=i,this.scheduleFn=a,this.cancelFn=u,!o)throw new Error("callback is not defined");this.callback=o;var c=this;n===P&&i&&i.useG?this.invoke=e.invokeTask:this.invoke=function(){return e.invokeTask.call(t,c,this,arguments)}}return e.invokeTask=function(t,e,n){t||(t=this),C++;try{return t.runCount++,t.zone.runTask(t,e,n)}finally{1==C&&b(),C--}},Object.defineProperty(e.prototype,"zone",{get:function(){return this._zone},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"state",{get:function(){return this._state},enumerable:!0,configurable:!0}),e.prototype.cancelScheduleRequest=function(){this._transitionTo(_,w)},e.prototype._transitionTo=function(t,e,n){if(this._state!==e&&this._state!==n)throw new Error(this.type+" '"+this.source+"': can not transition to '"+t+"', expecting state '"+e+"'"+(n?" or '"+n+"'":"")+", was '"+this._state+"'.");this._state=t,t==_&&(this._zoneDelegates=null)},e.prototype.toString=function(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)},e.prototype.toJSON=function(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}},e}(),h=i("setTimeout"),p=i("Promise"),v=i("then"),d=[],y=!1;function g(e){if(0===C&&0===d.length)if(c||t[p]&&(c=t[p].resolve(0)),c){var n=c[v];n||(n=c.then),n.call(c,b)}else t[h](b,0);e&&d.push(e)}function b(){if(!y){for(y=!0;d.length;){var t=d;d=[];for(var e=0;e=0;n--)"function"==typeof t[n]&&(t[n]=p(t[n],e+"_"+n));return t}function S(t){return!t||!1!==t.writable&&!("function"==typeof t.get&&void 0===t.set)}var k="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,E=!("nw"in b)&&void 0!==b.process&&"[object process]"==={}.toString.call(b.process),x=!E&&!k&&!(!y||!g.HTMLElement),T=void 0!==b.process&&"[object process]"==={}.toString.call(b.process)&&!k&&!(!y||!g.HTMLElement),O={},P=function(t){if(t=t||b.event){var e=O[t.type];e||(e=O[t.type]=d("ON_PROPERTY"+t.type));var n,r=this||t.target||b,o=r[e];if(x&&r===g&&"error"===t.type){var i=t;!0===(n=o&&o.call(this,i.message,i.filename,i.lineno,i.colno,i.error))&&t.preventDefault()}else null==(n=o&&o.apply(this,arguments))||n||t.preventDefault();return n}};function A(n,r,o){var i=t(n,r);if(!i&&o){var a=t(o,r);a&&(i={enumerable:!0,configurable:!0})}if(i&&i.configurable){var u=d("on"+r+"patched");if(!n.hasOwnProperty(u)||!n[u]){delete i.writable,delete i.value;var c=i.get,s=i.set,f=r.substr(2),l=O[f];l||(l=O[f]=d("ON_PROPERTY"+f)),i.set=function(t){var e=this;if(e||n!==b||(e=b),e){var r=e[l];r&&e.removeEventListener(f,P),s&&s.apply(e,_),"function"==typeof t?(e[l]=t,e.addEventListener(f,P,!1)):e[l]=null}},i.get=function(){var t=this;if(t||n!==b||(t=b),!t)return null;var e=t[l];if(e)return e;if(c){var o=c&&c.call(this);if(o)return i.set.call(this,o),"function"==typeof t[m]&&t.removeAttribute(r),o}return null},e(n,r,i),n[u]=!0}}}function j(t,e,n){if(e)for(var r=0;r=0&&"function"==typeof r[i.cbIdx]?v(i.name,r[i.cbIdx],i,o):t.apply(e,r)}})}function F(t,e){t[d("OriginalDelegate")]=e}var N=!1,Z=!1;function L(){if(N)return Z;N=!0;try{var t=g.navigator.userAgent;-1===t.indexOf("MSIE ")&&-1===t.indexOf("Trident/")&&-1===t.indexOf("Edge/")||(Z=!0)}catch(e){}return Z} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */Zone.__load_patch("toString",function(t){var e=Function.prototype.toString,n=d("OriginalDelegate"),r=d("Promise"),o=d("Error"),i=function(){if("function"==typeof this){var i=this[n];if(i)return"function"==typeof i?e.call(i):Object.prototype.toString.call(i);if(this===Promise){var a=t[r];if(a)return e.call(a)}if(this===Error){var u=t[o];if(u)return e.call(u)}}return e.call(this)};i[n]=e,Function.prototype.toString=i;var a=Object.prototype.toString;Object.prototype.toString=function(){return this instanceof Promise?"[object Promise]":a.call(this)}}); -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -var B=!1;if("undefined"!=typeof window)try{var U=Object.defineProperty({},"passive",{get:function(){B=!0}});window.addEventListener("test",U,U),window.removeEventListener("test",U,U)}catch(Tt){B=!1}var z={useG:!0},H={},W={},K=new RegExp("^"+h+"(\\w+)(true|false)$"),G=d("propagationStopped");function q(t,e){var n=(e?e(t):t)+l,r=(e?e(t):t)+f,o=h+n,i=h+r;H[t]={},H[t][l]=o,H[t][f]=i}function V(t,e,r){var o=r&&r.add||a,i=r&&r.rm||u,c=r&&r.listeners||"eventListeners",s=r&&r.rmAll||"removeAllListeners",p=d(o),v="."+o+":",y="prependListener",g="."+y+":",b=function(t,e,n){if(!t.isRemoved){var r=t.callback;"object"==typeof r&&r.handleEvent&&(t.callback=function(t){return r.handleEvent(t)},t.originalDelegate=r),t.invoke(t,e,[n]);var o=t.options;if(o&&"object"==typeof o&&o.once){var a=t.originalDelegate?t.originalDelegate:t.callback;e[i].call(e,n.type,a,o)}}},m=function(e){if(e=e||t.event){var n=this||e.target||t,r=n[H[e.type][l]];if(r)if(1===r.length)b(r[0],n,e);else for(var o=r.slice(),i=0;i1?new i(e,n):new i(e),s=t.ObjectGetOwnPropertyDescriptor(c,"onmessage");return s&&!1===s.configurable?(a=t.ObjectCreate(c),u=c,[r,o,"send","close"].forEach(function(e){a[e]=function(){var n=t.ArraySlice.call(arguments);if(e===r||e===o){var i=n.length>0?n[0]:void 0;if(i){var u=Zone.__symbol__("ON_PROPERTY"+i);c[u]=a[u]}}return c[e].apply(c,n)}})):a=c,t.patchOnProperties(a,["close","error","message","open"],u),a};var a=e.WebSocket;for(var u in i)a[u]=i[u]}(t,e),Zone[t.symbol("patchEvents")]=!0}}Zone.__load_patch("util",function(n,r,c){c.patchOnProperties=j,c.patchMethod=R,c.bindArguments=w,c.patchMacroTask=D;var s=r.__symbol__("BLACK_LISTED_EVENTS"),v=r.__symbol__("UNPATCHED_EVENTS");n[v]&&(n[s]=n[v]),n[s]&&(r[s]=r[v]=n[s]),c.patchEventPrototype=Y,c.patchEventTarget=V,c.isIEOrEdge=L,c.ObjectDefineProperty=e,c.ObjectGetOwnPropertyDescriptor=t,c.ObjectCreate=o,c.ArraySlice=i,c.patchClass=I,c.wrapWithCurrentZone=p,c.filterProperties=pt,c.attachOriginToPatched=F,c._redefineProperty=Object.defineProperty,c.patchCallbacks=J,c.getGlobalObjects=function(){return{globalSources:W,zoneSymbolEventNames:H,eventNames:ht,isBrowser:x,isMix:T,isNode:E,TRUE_STR:f,FALSE_STR:l,ZONE_SYMBOL_PREFIX:h,ADD_EVENT_LISTENER_STR:a,REMOVE_EVENT_LISTENER_STR:u}}}), -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -function(t){var e,n=t.__Zone_symbol_prefix||"__zone_symbol__";t[(e="legacyPatch",n+e)]=function(){var e=t.Zone;e.__load_patch("defineProperty",function(t,e,n){n._redefineProperty=gt,yt()}),e.__load_patch("registerElement",function(t,e,n){!function(t,e){var n=e.getGlobalObjects(),r=n.isBrowser,o=n.isMix;(r||o)&&"registerElement"in t.document&&e.patchCallbacks(e,document,"Document","registerElement",["createdCallback","attachedCallback","detachedCallback","attributeChangedCallback"])} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */(t,n)}),e.__load_patch("EventTargetLegacy",function(t,e,n){wt(t,n),St(n,t)})}}("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:{}); -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -var kt=d("zoneTask");function Et(t,e,n,r){var o=null,i=null;n+=r;var a={};function u(e){var n=e.data;return n.args[0]=function(){try{e.invoke.apply(this,arguments)}finally{e.data&&e.data.isPeriodic||("number"==typeof n.handleId?delete a[n.handleId]:n.handleId&&(n.handleId[kt]=null))}},n.handleId=o.apply(t,n.args),e}function c(t){return i(t.data.handleId)}o=R(t,e+=r,function(n){return function(o,i){if("function"==typeof i[0]){var s={isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?i[1]||0:void 0,args:i},f=v(e,i[0],s,u,c);if(!f)return f;var l=f.data.handleId;return"number"==typeof l?a[l]=f:l&&(l[kt]=f),l&&l.ref&&l.unref&&"function"==typeof l.ref&&"function"==typeof l.unref&&(f.ref=l.ref.bind(l),f.unref=l.unref.bind(l)),"number"==typeof l||l?l:f}return n.apply(t,i)}}),i=R(t,n,function(e){return function(n,r){var o,i=r[0];"number"==typeof i?o=a[i]:(o=i&&i[kt])||(o=i),o&&"string"==typeof o.type?"notScheduled"!==o.state&&(o.cancelFn&&o.data.isPeriodic||0===o.runCount)&&("number"==typeof i?delete a[i]:i&&(i[kt]=null),o.zone.cancelTask(o)):e.apply(t,r)}})} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -function xt(t,e){if(!Zone[e.symbol("patchEventTarget")]){for(var n=e.getGlobalObjects(),r=n.eventNames,o=n.zoneSymbolEventNames,i=n.TRUE_STR,a=n.FALSE_STR,u=n.ZONE_SYMBOL_PREFIX,c=0;c0){var o=t.invoke;t.invoke=function(){for(var n=a[e.__symbol__("loadfalse")],i=0;i-1};function a(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function u(t){return"string"!=typeof t&&(t=String(t)),t}function c(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return r.iterable&&(e[Symbol.iterator]=function(){return e}),e}function s(t){this.map={},t instanceof s?t.forEach(function(t,e){this.append(e,t)},this):Array.isArray(t)?t.forEach(function(t){this.append(t[0],t[1])},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function f(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function l(t){return new Promise(function(e,n){t.onload=function(){e(t.result)},t.onerror=function(){n(t.error)}})}function h(t){var e=new FileReader,n=l(e);return e.readAsArrayBuffer(t),n}function p(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function v(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:r.blob&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:r.formData&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:r.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():r.arrayBuffer&&r.blob&&((e=t)&&DataView.prototype.isPrototypeOf(e))?(this._bodyArrayBuffer=p(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):r.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(t)||i(t))?this._bodyArrayBuffer=p(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},r.blob&&(this.blob=function(){var t=f(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?f(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(h)}),this.text=function(){var t,e,n,r=f(this);if(r)return r;if(this._bodyBlob)return t=this._bodyBlob,e=new FileReader,n=l(e),e.readAsText(t),n;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),n=new Array(e.length),r=0;r-1?r:n),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function g(t){var e=new FormData;return t.trim().split("&").forEach(function(t){if(t){var n=t.split("="),r=n.shift().replace(/\+/g," "),o=n.join("=").replace(/\+/g," ");e.append(decodeURIComponent(r),decodeURIComponent(o))}}),e}function b(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new s(e.headers),this.url=e.url||"",this._initBody(t)}y.prototype.clone=function(){return new y(this,{body:this._bodyInit})},v.call(y.prototype),v.call(b.prototype),b.prototype.clone=function(){return new b(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new s(this.headers),url:this.url})},b.error=function(){var t=new b(null,{status:0,statusText:""});return t.type="error",t};var m=[301,302,303,307,308];b.redirect=function(t,e){if(-1===m.indexOf(e))throw new RangeError("Invalid status code");return new b(null,{status:e,headers:{location:t}})};var _=self.DOMException;try{new _}catch(S){(_=function(t,e){this.message=t,this.name=e;var n=Error(t);this.stack=n.stack}).prototype=Object.create(Error.prototype),_.prototype.constructor=_}function w(t,e){return new Promise(function(n,o){var i=new y(t,e);if(i.signal&&i.signal.aborted)return o(new _("Aborted","AbortError"));var a=new XMLHttpRequest;function u(){a.abort()}a.onload=function(){var t,e,r={status:a.status,statusText:a.statusText,headers:(t=a.getAllResponseHeaders()||"",e=new s,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(t){var n=t.split(":"),r=n.shift().trim();if(r){var o=n.join(":").trim();e.append(r,o)}}),e)};r.url="responseURL"in a?a.responseURL:r.headers.get("X-Request-URL");var o="response"in a?a.response:a.responseText;n(new b(o,r))},a.onerror=function(){o(new TypeError("Network request failed"))},a.ontimeout=function(){o(new TypeError("Network request failed"))},a.onabort=function(){o(new _("Aborted","AbortError"))},a.open(i.method,i.url,!0),"include"===i.credentials?a.withCredentials=!0:"omit"===i.credentials&&(a.withCredentials=!1),"responseType"in a&&r.blob&&(a.responseType="blob"),i.headers.forEach(function(t,e){a.setRequestHeader(e,t)}),i.signal&&(i.signal.addEventListener("abort",u),a.onreadystatechange=function(){4===a.readyState&&i.signal.removeEventListener("abort",u)}),a.send(void 0===i._bodyInit?null:i._bodyInit)})}w.polyfill=!0,self.fetch||(self.fetch=w,self.Headers=s,self.Request=y,self.Response=b)},function(t,e,n){var r,o; -/** - * @file Web Cryptography API shim - * @author Artem S Vybornov - * @license MIT - */ -/** - * @file Web Cryptography API shim - * @author Artem S Vybornov - * @license MIT - */ -o="undefined"!=typeof self?self:this,void 0===(r=function(){return function(t){"use strict";if("function"!=typeof Promise)throw"Promise support required";var e=t.crypto||t.msCrypto;if(e){var n=e.subtle||e.webkitSubtle;if(n){var r=t.Crypto||e.constructor||Object,o=t.SubtleCrypto||n.constructor||Object,i=(t.CryptoKey||t.Key||Object,t.navigator.userAgent.indexOf("Edge/")>-1),a=!!t.msCrypto&&!i,u=!e.subtle&&!!e.webkitSubtle;if(a||u){var c={KoZIhvcNAQEB:"1.2.840.113549.1.1.1"},s={"1.2.840.113549.1.1.1":"KoZIhvcNAQEB"};if(["generateKey","importKey","unwrapKey"].forEach(function(t){var r=n[t];n[t]=function(o,i,c){var s,f,m,k,E,x=[].slice.call(arguments);switch(t){case"generateKey":s=d(o),f=i,m=c;break;case"importKey":s=d(c),f=x[3],m=x[4],"jwk"===o&&((i=g(i)).alg||(i.alg=y(s)),i.key_ops||(i.key_ops="oct"!==i.kty?"d"in i?m.filter(S):m.filter(w):m.slice()),x[1]=(E=g(i),a&&(E.extractable=E.ext,delete E.ext),p(unescape(encodeURIComponent(JSON.stringify(E)))).buffer));break;case"unwrapKey":s=x[4],f=x[5],m=x[6],x[2]=c._key}if("generateKey"===t&&"HMAC"===s.name&&s.hash)return s.length=s.length||{"SHA-1":512,"SHA-256":512,"SHA-384":1024,"SHA-512":1024}[s.hash.name],n.importKey("raw",e.getRandomValues(new Uint8Array(s.length+7>>3)),s,f,m);if(u&&"generateKey"===t&&"RSASSA-PKCS1-v1_5"===s.name&&(!s.modulusLength||s.modulusLength>=2048))return(o=d(o)).name="RSAES-PKCS1-v1_5",delete o.hash,n.generateKey(o,!0,["encrypt","decrypt"]).then(function(t){return Promise.all([n.exportKey("jwk",t.publicKey),n.exportKey("jwk",t.privateKey)])}).then(function(t){return t[0].alg=t[1].alg=y(s),t[0].key_ops=m.filter(w),t[1].key_ops=m.filter(S),Promise.all([n.importKey("jwk",t[0],s,!0,t[0].key_ops),n.importKey("jwk",t[1],s,f,t[1].key_ops)])}).then(function(t){return{publicKey:t[0],privateKey:t[1]}});if((u||a&&"SHA-1"===(s.hash||{}).name)&&"importKey"===t&&"jwk"===o&&"HMAC"===s.name&&"oct"===i.kty)return n.importKey("raw",p(h(i.k)),c,x[3],x[4]);if(u&&"importKey"===t&&("spki"===o||"pkcs8"===o))return n.importKey("jwk",function(t){var e=b(t),n=!1;e.length>2&&(n=!0,e.shift());var r={ext:!0};switch(e[0][0]){case"1.2.840.113549.1.1.1":var o=["n","e","d","p","q","dp","dq","qi"],i=b(e[1]);n&&i.shift();for(var a=0;a2&&(r=!0,i.unshift(new Uint8Array([0]))),n[0][0]="1.2.840.113549.1.1.1",e=i;break;default:throw new TypeError("Unsupported key type")}return n.push(new Uint8Array(m(e)).buffer),r?n.unshift(new Uint8Array([0])):n[1]={tag:3,value:n[1]},new Uint8Array(m(n)).buffer}(g(t))})),c}}),["encrypt","decrypt","sign","verify"].forEach(function(t){var e=n[t];n[t]=function(r,o,i,u){if(a&&(!i.byteLength||u&&!u.byteLength))throw new Error("Empy input is not allowed");var c,s=[].slice.call(arguments),f=d(r);if(a&&"decrypt"===t&&"AES-GCM"===f.name){var l=r.tagLength>>3;s[2]=(i.buffer||i).slice(0,i.byteLength-l),r.tag=(i.buffer||i).slice(i.byteLength-l)}s[1]=o._key;try{c=e.apply(n,s)}catch(h){return Promise.reject(h)}return a&&(c=new Promise(function(e,n){c.onabort=c.onerror=function(t){n(t)},c.oncomplete=function(n){if(n=n.target.result,"encrypt"===t&&n instanceof AesGcmEncryptResult){var r=n.ciphertext,o=n.tag;(n=new Uint8Array(r.byteLength+o.byteLength)).set(new Uint8Array(r),0),n.set(new Uint8Array(o),r.byteLength),n=n.buffer}e(n)}})),c}}),a){var f=n.digest;n.digest=function(t,e){if(!e.byteLength)throw new Error("Empy input is not allowed");var r;try{r=f.call(n,t,e)}catch(o){return Promise.reject(o)}return r=new Promise(function(t,e){r.onabort=r.onerror=function(t){e(t)},r.oncomplete=function(e){t(e.target.result)}})},t.crypto=Object.create(e,{getRandomValues:{value:function(t){return e.getRandomValues(t)}},subtle:{value:n}}),t.CryptoKey=_}u&&(e.subtle=n,t.Crypto=r,t.SubtleCrypto=o,t.CryptoKey=_)}}}function l(t){return btoa(t).replace(/\=+$/,"").replace(/\+/g,"-").replace(/\//g,"_")}function h(t){return t=(t+="===").slice(0,-t.length%4),atob(t.replace(/-/g,"+").replace(/_/g,"/"))}function p(t){for(var e=new Uint8Array(t.length),n=0;nt.length)throw new RangeError("Malformed DER");var n,r=t[e.pos++],o=t[e.pos++];if(o>=128){if(o&=127,e.end-e.pos=128){var u=r,r=4;for(e.splice(o,0,u>>24&255,u>>16&255,u>>8&255,255&u);r>1&&!(u>>24);)u<<=8,r--;r<4&&e.splice(o,4-r),r|=128}return e.splice(o-2,2,n,r),e}function _(t,e,n,r){Object.defineProperties(this,{_key:{value:t},type:{value:t.type,enumerable:!0},extractable:{value:void 0===n?t.extractable:n,enumerable:!0},algorithm:{value:void 0===e?t.algorithm:e,enumerable:!0},usages:{value:void 0===r?t.usages:r,enumerable:!0}})}function w(t){return"verify"===t||"encrypt"===t||"wrapKey"===t}function S(t){return"sign"===t||"decrypt"===t||"unwrapKey"===t}}(o)}.apply(e,[]))||(t.exports=r)}]); -//# sourceMappingURL=polyfills.5767a6ed9bc20ebddf79.js.map \ No newline at end of file diff --git a/app/polyfills.5767a6ed9bc20ebddf79.js.map b/app/polyfills.5767a6ed9bc20ebddf79.js.map deleted file mode 100644 index 35dc9e16..00000000 --- a/app/polyfills.5767a6ed9bc20ebddf79.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/modules/_export.js","webpack:///./node_modules/core-js/modules/_an-object.js","webpack:///./node_modules/core-js/modules/_global.js","webpack:///./node_modules/core-js/modules/_fails.js","webpack:///./node_modules/core-js/modules/_is-object.js","webpack:///./node_modules/core-js/modules/_wks.js","webpack:///./node_modules/core-js/modules/_to-length.js","webpack:///./node_modules/core-js/modules/_object-dp.js","webpack:///./node_modules/core-js/modules/_descriptors.js","webpack:///./node_modules/core-js/modules/_to-object.js","webpack:///./node_modules/core-js/modules/_a-function.js","webpack:///./node_modules/core-js/modules/_string-html.js","webpack:///./node_modules/core-js/modules/_has.js","webpack:///./node_modules/core-js/modules/_redefine.js","webpack:///./node_modules/core-js/modules/_to-iobject.js","webpack:///./node_modules/core-js/modules/_core.js","webpack:///./node_modules/core-js/modules/_hide.js","webpack:///./node_modules/core-js/modules/_object-gpo.js","webpack:///./node_modules/core-js/modules/_object-gopd.js","webpack:///./node_modules/core-js/modules/_strict-method.js","webpack:///./node_modules/core-js/modules/_ctx.js","webpack:///./node_modules/core-js/modules/_to-integer.js","webpack:///./node_modules/core-js/modules/_cof.js","webpack:///./node_modules/core-js/modules/_object-sap.js","webpack:///./node_modules/core-js/modules/_array-methods.js","webpack:///./node_modules/core-js/modules/_to-primitive.js","webpack:///./node_modules/core-js/modules/_defined.js","webpack:///./node_modules/core-js/modules/_typed-array.js","webpack:///./node_modules/core-js/modules/_metadata.js","webpack:///./node_modules/core-js/modules/_meta.js","webpack:///./node_modules/core-js/modules/_object-create.js","webpack:///./node_modules/core-js/modules/_property-desc.js","webpack:///./node_modules/core-js/modules/_library.js","webpack:///./node_modules/core-js/modules/_uid.js","webpack:///./node_modules/core-js/modules/_object-keys.js","webpack:///./node_modules/core-js/modules/_to-absolute-index.js","webpack:///./node_modules/core-js/modules/_object-gopn.js","webpack:///./node_modules/core-js/modules/_classof.js","webpack:///./node_modules/core-js/modules/_add-to-unscopables.js","webpack:///./node_modules/core-js/modules/_set-species.js","webpack:///./node_modules/core-js/modules/_an-instance.js","webpack:///./node_modules/core-js/modules/_for-of.js","webpack:///./node_modules/core-js/modules/_redefine-all.js","webpack:///./node_modules/core-js/modules/_set-to-string-tag.js","webpack:///./node_modules/core-js/modules/_iterators.js","webpack:///./node_modules/core-js/modules/_validate-collection.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/modules/_iobject.js","webpack:///./node_modules/core-js/modules/_string-trim.js","webpack:///./node_modules/core-js/modules/_object-pie.js","webpack:///./node_modules/core-js/modules/_flags.js","webpack:///./node_modules/core-js/modules/_species-constructor.js","webpack:///./node_modules/core-js/modules/_shared.js","webpack:///./node_modules/core-js/modules/_object-gops.js","webpack:///./node_modules/core-js/modules/core.get-iterator-method.js","webpack:///./node_modules/core-js/modules/_iter-detect.js","webpack:///./node_modules/core-js/modules/_regexp-exec-abstract.js","webpack:///./node_modules/core-js/modules/_fix-re-wks.js","webpack:///./node_modules/core-js/modules/_collection.js","webpack:///./node_modules/core-js/modules/_typed.js","webpack:///./node_modules/core-js/modules/_array-includes.js","webpack:///./node_modules/core-js/modules/_is-array.js","webpack:///./node_modules/core-js/modules/_string-at.js","webpack:///./node_modules/core-js/modules/_iter-define.js","webpack:///./node_modules/core-js/modules/_is-regexp.js","webpack:///./node_modules/core-js/modules/_dom-create.js","webpack:///./node_modules/core-js/modules/_shared-key.js","webpack:///./node_modules/core-js/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/modules/_html.js","webpack:///./node_modules/core-js/modules/_set-proto.js","webpack:///./node_modules/core-js/modules/_string-ws.js","webpack:///./node_modules/core-js/modules/_inherit-if-required.js","webpack:///./node_modules/core-js/modules/_math-sign.js","webpack:///./node_modules/core-js/modules/_math-expm1.js","webpack:///./node_modules/core-js/modules/_iter-create.js","webpack:///./node_modules/core-js/modules/_string-context.js","webpack:///./node_modules/core-js/modules/_fails-is-regexp.js","webpack:///./node_modules/core-js/modules/_is-array-iter.js","webpack:///./node_modules/core-js/modules/_array-fill.js","webpack:///./node_modules/core-js/modules/_regexp-exec.js","webpack:///./node_modules/core-js/modules/_advance-string-index.js","webpack:///./node_modules/core-js/modules/_typed-buffer.js","webpack:///./node_modules/core-js/modules/_object-assign.js","webpack:///./node_modules/core-js/modules/_invoke.js","webpack:///./node_modules/core-js/modules/_string-repeat.js","webpack:///./node_modules/core-js/modules/_create-property.js","webpack:///./node_modules/core-js/modules/es6.array.iterator.js","webpack:///./node_modules/core-js/modules/_iter-step.js","webpack:///./node_modules/core-js/modules/_task.js","webpack:///./node_modules/core-js/modules/_new-promise-capability.js","webpack:///./node_modules/core-js/modules/_user-agent.js","webpack:///./node_modules/core-js/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/modules/_wks-ext.js","webpack:///./node_modules/core-js/modules/_wks-define.js","webpack:///./node_modules/core-js/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/modules/_object-dps.js","webpack:///./node_modules/core-js/modules/_object-gopn-ext.js","webpack:///./node_modules/core-js/modules/_same-value.js","webpack:///./node_modules/core-js/modules/_bind.js","webpack:///./node_modules/core-js/modules/_parse-int.js","webpack:///./node_modules/core-js/modules/_parse-float.js","webpack:///./node_modules/core-js/modules/_a-number-value.js","webpack:///./node_modules/core-js/modules/_is-integer.js","webpack:///./node_modules/core-js/modules/_math-log1p.js","webpack:///./node_modules/core-js/modules/_iter-call.js","webpack:///./node_modules/core-js/modules/_array-species-create.js","webpack:///./node_modules/core-js/modules/_array-reduce.js","webpack:///./node_modules/core-js/modules/_array-copy-within.js","webpack:///./node_modules/core-js/modules/es6.regexp.exec.js","webpack:///./node_modules/core-js/modules/es6.regexp.flags.js","webpack:///./node_modules/core-js/modules/_microtask.js","webpack:///./node_modules/core-js/modules/es6.map.js","webpack:///./node_modules/core-js/modules/_collection-strong.js","webpack:///./node_modules/core-js/modules/es6.set.js","webpack:///./node_modules/core-js/modules/es6.weak-map.js","webpack:///./node_modules/core-js/modules/_collection-weak.js","webpack:///./node_modules/core-js/modules/_to-index.js","webpack:///./node_modules/core-js/modules/_own-keys.js","webpack:///./node_modules/core-js/modules/_math-fround.js","webpack:///./node_modules/core-js/modules/_perform.js","webpack:///./node_modules/core-js/modules/_promise-resolve.js","webpack:///./node_modules/core-js/modules/_array-from-iterable.js","webpack:///./node_modules/core-js/modules/es6.symbol.js","webpack:///./node_modules/core-js/modules/_enum-keys.js","webpack:///./node_modules/core-js/modules/es6.object.create.js","webpack:///./node_modules/core-js/modules/es6.object.define-property.js","webpack:///./node_modules/core-js/modules/es6.object.define-properties.js","webpack:///./node_modules/core-js/modules/es6.object.get-own-property-descriptor.js","webpack:///./node_modules/core-js/modules/es6.object.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.object.keys.js","webpack:///./node_modules/core-js/modules/es6.object.get-own-property-names.js","webpack:///./node_modules/core-js/modules/es6.object.freeze.js","webpack:///./node_modules/core-js/modules/es6.object.seal.js","webpack:///./node_modules/core-js/modules/es6.object.prevent-extensions.js","webpack:///./node_modules/core-js/modules/es6.object.is-frozen.js","webpack:///./node_modules/core-js/modules/es6.object.is-sealed.js","webpack:///./node_modules/core-js/modules/es6.object.is-extensible.js","webpack:///./node_modules/core-js/modules/es6.object.assign.js","webpack:///./node_modules/core-js/modules/es6.object.is.js","webpack:///./node_modules/core-js/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.object.to-string.js","webpack:///./node_modules/core-js/modules/es6.function.bind.js","webpack:///./node_modules/core-js/modules/es6.function.name.js","webpack:///./node_modules/core-js/modules/es6.function.has-instance.js","webpack:///./node_modules/core-js/modules/es6.parse-int.js","webpack:///./node_modules/core-js/modules/es6.parse-float.js","webpack:///./node_modules/core-js/modules/es6.number.constructor.js","webpack:///./node_modules/core-js/modules/es6.number.to-fixed.js","webpack:///./node_modules/core-js/modules/es6.number.to-precision.js","webpack:///./node_modules/core-js/modules/es6.number.epsilon.js","webpack:///./node_modules/core-js/modules/es6.number.is-finite.js","webpack:///./node_modules/core-js/modules/es6.number.is-integer.js","webpack:///./node_modules/core-js/modules/es6.number.is-nan.js","webpack:///./node_modules/core-js/modules/es6.number.is-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.max-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.min-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.parse-float.js","webpack:///./node_modules/core-js/modules/es6.number.parse-int.js","webpack:///./node_modules/core-js/modules/es6.math.acosh.js","webpack:///./node_modules/core-js/modules/es6.math.asinh.js","webpack:///./node_modules/core-js/modules/es6.math.atanh.js","webpack:///./node_modules/core-js/modules/es6.math.cbrt.js","webpack:///./node_modules/core-js/modules/es6.math.clz32.js","webpack:///./node_modules/core-js/modules/es6.math.cosh.js","webpack:///./node_modules/core-js/modules/es6.math.expm1.js","webpack:///./node_modules/core-js/modules/es6.math.fround.js","webpack:///./node_modules/core-js/modules/es6.math.hypot.js","webpack:///./node_modules/core-js/modules/es6.math.imul.js","webpack:///./node_modules/core-js/modules/es6.math.log10.js","webpack:///./node_modules/core-js/modules/es6.math.log1p.js","webpack:///./node_modules/core-js/modules/es6.math.log2.js","webpack:///./node_modules/core-js/modules/es6.math.sign.js","webpack:///./node_modules/core-js/modules/es6.math.sinh.js","webpack:///./node_modules/core-js/modules/es6.math.tanh.js","webpack:///./node_modules/core-js/modules/es6.math.trunc.js","webpack:///./node_modules/core-js/modules/es6.string.from-code-point.js","webpack:///./node_modules/core-js/modules/es6.string.raw.js","webpack:///./node_modules/core-js/modules/es6.string.trim.js","webpack:///./node_modules/core-js/modules/es6.string.iterator.js","webpack:///./node_modules/core-js/modules/es6.string.code-point-at.js","webpack:///./node_modules/core-js/modules/es6.string.ends-with.js","webpack:///./node_modules/core-js/modules/es6.string.includes.js","webpack:///./node_modules/core-js/modules/es6.string.repeat.js","webpack:///./node_modules/core-js/modules/es6.string.starts-with.js","webpack:///./node_modules/core-js/modules/es6.string.anchor.js","webpack:///./node_modules/core-js/modules/es6.string.big.js","webpack:///./node_modules/core-js/modules/es6.string.blink.js","webpack:///./node_modules/core-js/modules/es6.string.bold.js","webpack:///./node_modules/core-js/modules/es6.string.fixed.js","webpack:///./node_modules/core-js/modules/es6.string.fontcolor.js","webpack:///./node_modules/core-js/modules/es6.string.fontsize.js","webpack:///./node_modules/core-js/modules/es6.string.italics.js","webpack:///./node_modules/core-js/modules/es6.string.link.js","webpack:///./node_modules/core-js/modules/es6.string.small.js","webpack:///./node_modules/core-js/modules/es6.string.strike.js","webpack:///./node_modules/core-js/modules/es6.string.sub.js","webpack:///./node_modules/core-js/modules/es6.string.sup.js","webpack:///./node_modules/core-js/modules/es6.date.now.js","webpack:///./node_modules/core-js/modules/es6.date.to-json.js","webpack:///./node_modules/core-js/modules/es6.date.to-iso-string.js","webpack:///./node_modules/core-js/modules/_date-to-iso-string.js","webpack:///./node_modules/core-js/modules/es6.date.to-string.js","webpack:///./node_modules/core-js/modules/es6.date.to-primitive.js","webpack:///./node_modules/core-js/modules/_date-to-primitive.js","webpack:///./node_modules/core-js/modules/es6.array.is-array.js","webpack:///./node_modules/core-js/modules/es6.array.from.js","webpack:///./node_modules/core-js/modules/es6.array.of.js","webpack:///./node_modules/core-js/modules/es6.array.join.js","webpack:///./node_modules/core-js/modules/es6.array.slice.js","webpack:///./node_modules/core-js/modules/es6.array.sort.js","webpack:///./node_modules/core-js/modules/es6.array.for-each.js","webpack:///./node_modules/core-js/modules/_array-species-constructor.js","webpack:///./node_modules/core-js/modules/es6.array.map.js","webpack:///./node_modules/core-js/modules/es6.array.filter.js","webpack:///./node_modules/core-js/modules/es6.array.some.js","webpack:///./node_modules/core-js/modules/es6.array.every.js","webpack:///./node_modules/core-js/modules/es6.array.reduce.js","webpack:///./node_modules/core-js/modules/es6.array.reduce-right.js","webpack:///./node_modules/core-js/modules/es6.array.index-of.js","webpack:///./node_modules/core-js/modules/es6.array.last-index-of.js","webpack:///./node_modules/core-js/modules/es6.array.copy-within.js","webpack:///./node_modules/core-js/modules/es6.array.fill.js","webpack:///./node_modules/core-js/modules/es6.array.find.js","webpack:///./node_modules/core-js/modules/es6.array.find-index.js","webpack:///./node_modules/core-js/modules/es6.array.species.js","webpack:///./node_modules/core-js/modules/es6.regexp.constructor.js","webpack:///./node_modules/core-js/modules/es6.regexp.to-string.js","webpack:///./node_modules/core-js/modules/es6.regexp.match.js","webpack:///./node_modules/core-js/modules/es6.regexp.replace.js","webpack:///./node_modules/core-js/modules/es6.regexp.search.js","webpack:///./node_modules/core-js/modules/es6.regexp.split.js","webpack:///./node_modules/core-js/modules/es6.promise.js","webpack:///./node_modules/core-js/modules/es6.weak-set.js","webpack:///./node_modules/core-js/modules/es6.typed.array-buffer.js","webpack:///./node_modules/core-js/modules/es6.typed.data-view.js","webpack:///./node_modules/core-js/modules/es6.typed.int8-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint8-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint8-clamped-array.js","webpack:///./node_modules/core-js/modules/es6.typed.int16-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint16-array.js","webpack:///./node_modules/core-js/modules/es6.typed.int32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.float32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.float64-array.js","webpack:///./node_modules/core-js/modules/es6.reflect.apply.js","webpack:///./node_modules/core-js/modules/es6.reflect.construct.js","webpack:///./node_modules/core-js/modules/es6.reflect.define-property.js","webpack:///./node_modules/core-js/modules/es6.reflect.delete-property.js","webpack:///./node_modules/core-js/modules/es6.reflect.enumerate.js","webpack:///./node_modules/core-js/modules/es6.reflect.get.js","webpack:///./node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack:///./node_modules/core-js/modules/es6.reflect.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.reflect.has.js","webpack:///./node_modules/core-js/modules/es6.reflect.is-extensible.js","webpack:///./node_modules/core-js/modules/es6.reflect.own-keys.js","webpack:///./node_modules/core-js/modules/es6.reflect.prevent-extensions.js","webpack:///./node_modules/core-js/modules/es6.reflect.set.js","webpack:///./node_modules/core-js/modules/es6.reflect.set-prototype-of.js","webpack:///./node_modules/core-js/modules/es7.reflect.define-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.delete-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-metadata-keys.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-own-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js","webpack:///./node_modules/core-js/modules/es7.reflect.has-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.has-own-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.metadata.js","webpack:///./src/app/polyfills.ts","webpack:///./node_modules/core-js/es6/index.js","webpack:///./node_modules/core-js/es7/reflect.js","webpack:///./node_modules/zone.js/dist/zone.js","webpack:///./node_modules/whatwg-fetch/fetch.js","webpack:///./node_modules/webcrypto-shim/webcrypto-shim.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","global","core","hide","redefine","ctx","$export","type","source","own","out","exp","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","target","expProto","undefined","Function","U","W","R","isObject","it","TypeError","window","Math","self","__g","exec","e","store","uid","USE_SYMBOL","toInteger","min","anObject","IE8_DOM_DEFINE","toPrimitive","dP","f","O","Attributes","a","defined","fails","quot","createHTML","string","tag","attribute","String","p1","replace","NAME","test","toLowerCase","split","length","has","SRC","$toString","TPL","inspectSource","val","safe","isFunction","join","this","IObject","version","__e","createDesc","toObject","IE_PROTO","ObjectProto","getPrototypeOf","constructor","pIE","toIObject","gOPD","getOwnPropertyDescriptor","method","arg","aFunction","fn","that","b","apply","arguments","ceil","floor","isNaN","toString","slice","KEY","toLength","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","callbackfn","res","index","result","push","valueOf","LIBRARY","$typed","$buffer","anInstance","propertyDesc","redefineAll","toIndex","toAbsoluteIndex","classof","isArrayIter","gOPN","getIterFn","wks","createArrayMethod","createArrayIncludes","speciesConstructor","ArrayIterators","Iterators","$iterDetect","setSpecies","arrayFill","arrayCopyWithin","$DP","$GOPD","RangeError","Uint8Array","ArrayProto","Array","$ArrayBuffer","ArrayBuffer","$DataView","DataView","arrayForEach","arrayFilter","arraySome","arrayEvery","arrayFind","arrayFindIndex","arrayIncludes","arrayIndexOf","arrayValues","values","arrayKeys","keys","arrayEntries","entries","arrayLastIndexOf","lastIndexOf","arrayReduce","reduce","arrayReduceRight","reduceRight","arrayJoin","arraySort","sort","arraySlice","arrayToString","arrayToLocaleString","toLocaleString","ITERATOR","TAG","TYPED_CONSTRUCTOR","DEF_CONSTRUCTOR","ALL_CONSTRUCTORS","CONSTR","TYPED_ARRAY","TYPED","VIEW","$map","allocate","LITTLE_ENDIAN","Uint16Array","buffer","FORCED_SET","set","toOffset","BYTES","offset","validate","C","speciesFromList","list","fromList","addGetter","internal","_d","$from","step","iterator","aLen","mapfn","mapping","iterFn","next","done","$of","TO_LOCALE_BUG","$toLocaleString","proto","copyWithin","start","every","fill","filter","find","predicate","findIndex","forEach","indexOf","searchElement","includes","separator","map","reverse","middle","some","comparefn","subarray","begin","end","$begin","byteOffset","BYTES_PER_ELEMENT","$slice","$set","arrayLike","src","len","$iterators","isTAIndex","$getDesc","$setDesc","desc","configurable","writable","$TypedArrayPrototype$","wrapper","CLAMPED","GETTER","SETTER","TypedArray","Base","TAC","FORCED","ABV","TypedArrayPrototype","addElement","data","v","round","setter","$offset","$length","byteLength","klass","$len","iter","concat","$nativeIterator","CORRECT_ITER_NAME","$iterator","of","from","Map","shared","getOrCreateMetadataMap","targetKey","targetMetadata","keyMetadata","MetadataKey","metadataMap","MetadataValue","_","META","setDesc","id","isExtensible","FREEZE","preventExtensions","setMeta","w","meta","NEED","fastKey","getWeak","onFreeze","dPs","enumBugKeys","Empty","createDict","iframeDocument","iframe","style","display","appendChild","contentWindow","document","open","write","lt","close","Properties","bitmap","px","random","$keys","max","hiddenKeys","getOwnPropertyNames","cof","ARG","T","tryGet","callee","UNSCOPABLES","DESCRIPTORS","SPECIES","Constructor","forbiddenField","BREAK","RETURN","iterable","def","stat","_t","g","propertyIsEnumerable","spaces","space","ltrim","RegExp","rtrim","exporter","ALIAS","FORCE","trim","ignoreCase","multiline","unicode","sticky","D","copyright","getOwnPropertySymbols","getIteratorMethod","SAFE_CLOSING","riter","skipClosing","arr","builtinExec","regexpExec","REPLACE_SUPPORTS_NAMED_GROUPS","re","groups","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","fns","nativeMethod","regexp","str","arg2","forceStringMethod","strfn","rxfn","forOf","setToStringTag","inheritIfRequired","methods","common","IS_WEAK","ADDER","fixMethod","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","clear","getConstructor","setStrong","Typed","TypedArrayConstructors","IS_INCLUDES","el","fromIndex","isArray","TO_STRING","pos","charCodeAt","charAt","$iterCreate","BUGGY","returnThis","DEFAULT","IS_SET","IteratorPrototype","getMethod","kind","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","MATCH","isRegExp","is","createElement","documentElement","check","setPrototypeOf","buggy","__proto__","sign","x","$expm1","expm1","descriptor","searchString","endPos","re1","re2","regexpFlags","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","NPCG_INCLUDED","lastIndex","reCopy","match","at","PROTOTYPE","WRONG_INDEX","Infinity","BaseBuffer","abs","pow","log","LN2","$BUFFER","$LENGTH","$OFFSET","packIEEE754","mLen","nBytes","eLen","eMax","eBias","rt","unpackIEEE754","nBits","NaN","unpackI32","bytes","packI8","packI16","packI32","packF64","packF32","view","isLittleEndian","intIndex","_b","pack","conversion","ArrayBufferProto","j","$setInt8","setInt8","getInt8","setUint8","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","getKeys","gOPS","$assign","assign","A","K","k","getSymbols","isEnum","args","un","count","$defineProperty","addToUnscopables","iterated","_i","_k","Arguments","defer","channel","port","invoke","html","cel","process","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","run","listener","event","nextTick","now","port2","port1","onmessage","postMessage","addEventListener","importScripts","removeChild","setTimeout","PromiseCapability","resolve","reject","promise","$$resolve","$$reject","navigator","userAgent","wksExt","$Symbol","names","defineProperties","windowNames","getWindowNames","y","factories","partArgs","bound","construct","$parseInt","parseInt","$trim","ws","hex","radix","$parseFloat","parseFloat","msg","isFinite","log1p","ret","original","memo","isRight","to","inc","forced","flags","macrotask","Observer","MutationObserver","WebKitMutationObserver","Promise","isNode","head","last","notify","flush","parent","domain","exit","enter","standalone","then","toggle","node","createTextNode","observe","characterData","task","strong","entry","getEntry","$iterDefine","SIZE","_f","_l","delete","prev","add","InternalMap","each","weak","uncaughtFrozenStore","ufstore","tmp","$WeakMap","freeze","$has","UncaughtFrozenStore","findUncaughtFrozen","splice","number","Reflect","ownKeys","EPSILON","EPSILON32","MAX32","MIN32","fround","$abs","$sign","newPromiseCapability","promiseCapability","$fails","wksDefine","enumKeys","_create","gOPNExt","$JSON","JSON","_stringify","stringify","HIDDEN","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","QObject","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","$defineProperties","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","es6Symbols","wellKnownSymbols","for","keyFor","useSetter","useSimple","replacer","$replacer","symbols","$getPrototypeOf","$freeze","$seal","$preventExtensions","$isFrozen","$isSealed","$isExtensible","FProto","nameRE","HAS_INSTANCE","FunctionProto","$Number","BROKEN_COF","TRIM","toNumber","argument","third","maxCode","first","code","digits","aNumberValue","repeat","$toFixed","toFixed","ERROR","multiply","c2","divide","numToString","acc","fractionDigits","z","x2","$toPrecision","toPrecision","precision","_isFinite","isInteger","isSafeInteger","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","Number","sqrt","$acosh","acosh","MAX_VALUE","$asinh","asinh","$atanh","atanh","cbrt","clz32","LOG2E","cosh","hypot","value1","value2","div","sum","larg","$imul","imul","xn","yn","xl","yl","log10","LOG10E","log2","sinh","tanh","trunc","fromCharCode","$fromCodePoint","fromCodePoint","raw","callSite","tpl","$at","point","codePointAt","context","$endsWith","endsWith","endPosition","search","$startsWith","startsWith","color","size","url","Date","getTime","toJSON","toISOString","pv","$toISOString","lz","num","getUTCFullYear","getUTCMilliseconds","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","DateProto","hint","createProperty","upTo","cloned","$sort","$forEach","STRICT","$filter","$some","$every","$reduce","$indexOf","NEGATIVE_ZERO","$find","$flags","$RegExp","CORRECT_NEW","tiRE","piRE","fiU","proxy","define","advanceStringIndex","regExpExec","$match","maybeCallNative","rx","fullUnicode","matchStr","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","REPLACE","$replace","searchValue","replaceValue","functionalReplace","results","accumulatedResult","nextSourcePosition","matched","position","captures","namedCaptures","replacerArgs","replacement","getSubstitution","tailPos","ch","capture","sameValue","SEARCH","$search","previousLastIndex","callRegExpExec","$min","$push","SUPPORTS_Y","SPLIT","$split","internalSplit","limit","lastLength","output","lastLastIndex","splitLimit","separatorCopy","splitter","unicodeMatching","lim","q","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","microtask","newPromiseCapabilityModule","perform","promiseResolve","versions","v8","$Promise","empty","FakePromise","PromiseRejectionEvent","isThenable","isReject","_n","chain","_c","_v","ok","_s","reaction","exited","handler","fail","_h","onHandleUnhandled","onUnhandled","console","unhandled","isUnhandled","emit","onunhandledrejection","reason","error","_a","onrejectionhandled","$reject","_w","$resolve","executor","err","onFulfilled","onRejected","catch","capability","all","remaining","$index","alreadyCalled","race","$isView","isView","fin","viewS","viewT","init","rApply","fApply","thisArgument","argumentsList","L","rConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","propertyKey","attributes","deleteProperty","Enumerate","enumerate","receiver","getProto","V","existingDescriptor","ownDesc","setProto","metadata","toMetaKey","ordinaryDefineOwnMetadata","defineMetadata","metadataKey","metadataValue","deleteMetadata","ordinaryHasOwnMetadata","ordinaryGetOwnMetadata","ordinaryGetMetadata","getMetadata","Set","ordinaryOwnMetadataKeys","ordinaryMetadataKeys","oKeys","pKeys","getMetadataKeys","getOwnMetadata","getOwnMetadataKeys","ordinaryHasMetadata","hasMetadata","hasOwnMetadata","$metadata","Element","matches","msMatchesSelector","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","performance","mark","performanceMeasure","label","symbolPrefix","__symbol__","checkDuplicate","Error","Zone","zoneSpec","_parent","_name","_properties","properties","_zoneDelegate","ZoneDelegate","assertZonePatched","patches","zone","current","_currentZoneFrame","_currentTask","__load_patch","perfName","_api","getZoneWith","fork","callback","_callback","intercept","runGuarded","applyThis","applyArgs","handleError","runTask","NO_ZONE","state","notScheduled","eventTask","macroTask","reEntryGuard","running","_transitionTo","scheduled","runCount","previousTask","isPeriodic","cancelFn","invokeTask","unknown","_updateTaskCount","scheduleTask","newZone","scheduling","zoneDelegates","_zoneDelegates","_zone","scheduleMicroTask","customSchedule","ZoneTask","microTask","scheduleMacroTask","customCancel","scheduleEventTask","cancelTask","canceling","nativeMicroTaskQueuePromise","DELEGATE_ZS","onHasTask","delegate","hasTaskState","hasTask","onScheduleTask","onInvokeTask","onCancelTask","parentDelegate","_taskCounts","_parentDelegate","_forkZS","onFork","_forkDlgt","_forkCurrZone","_interceptZS","onIntercept","_interceptDlgt","_interceptCurrZone","_invokeZS","onInvoke","_invokeDlgt","_invokeCurrZone","_handleErrorZS","onHandleError","_handleErrorDlgt","_handleErrorCurrZone","_scheduleTaskZS","_scheduleTaskDlgt","_scheduleTaskCurrZone","_invokeTaskZS","_invokeTaskDlgt","_invokeTaskCurrZone","_cancelTaskZS","_cancelTaskDlgt","_cancelTaskCurrZone","_hasTaskZS","_hasTaskDlgt","_hasTaskDlgtOwner","_hasTaskCurrZone","zoneSpecHasTask","parentHasTask","targetZone","returnTask","scheduleFn","isEmpty","counts","change","options","_state","useG","_numberOfNestedTaskFrames","drainMicroTaskQueue","cancelScheduleRequest","toState","fromState1","fromState2","handleId","symbolSetTimeout","symbolPromise","symbolThen","_microTaskQueue","_isDrainingMicrotaskQueue","nativeThen","onUnhandledError","microtaskDrainDone","symbol","currentZoneFrame","noop","showUncaughtError","patchEventTarget","patchOnProperties","patchMethod","bindArguments","patchThen","patchMacroTask","setNativePromise","NativePromise","patchEventPrototype","isIEOrEdge","getGlobalObjects","ObjectDefineProperty","ObjectGetOwnPropertyDescriptor","ObjectCreate","ArraySlice","patchClass","wrapWithCurrentZone","filterProperties","attachOriginToPatched","_redefineProperty","patchCallbacks","api","_uncaughtPromiseErrors","isDisableWrappingUncaughtPromiseRejection","creationTrace","rejection","message","stack","_loop_1","uncaughtPromiseError","shift","UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL","handleUnhandledRejection","forwardResolution","forwardRejection","ZoneAwarePromise","symbolState","symbolValue","symbolFinally","symbolParentPromiseValue","symbolParentPromiseState","UNRESOLVED","RESOLVED","REJECTED","REJECTED_NO_CATCH","makeResolver","resolvePromise","once","wasCalled","wrappedFunction","TYPE_ERROR","CURRENT_TASK_TRACE_SYMBOL","onceWrapper","clearRejectedNoCatch","trace","currentTask","scheduleResolveOrReject","obj","className","readableObjectToString","REJECTION_HANDLED_HANDLER","chainPromise","promiseState","parentPromiseValue","isFinallyPromise","rej","onResolve","onReject","values_1","allWithCallback","allSettled","thenCallback","status","errorCallback","unresolvedCount","valueIndex","resolvedValues","_loop_2","this_1","curValueIndex","thenErr","values_2","species","finally","onFinally","ZONE_AWARE_PROMISE","NewNativePromise","symbolThenPatched","Ctor","prop","originalThen","_this","wrapped","fetch_1","resultPromise","ctor","ObjectGetPrototypeOf","ADD_EVENT_LISTENER_STR","REMOVE_EVENT_LISTENER_STR","ZONE_SYMBOL_ADD_EVENT_LISTENER","ZONE_SYMBOL_REMOVE_EVENT_LISTENER","TRUE_STR","FALSE_STR","ZONE_SYMBOL_PREFIX","scheduleMacroTaskWithCurrentZone","zoneSymbol","isWindowExists","internalWindow","_global","REMOVE_ATTRIBUTE","NULL_ON_PROP_VALUE","isPropertyWritable","isWebWorker","WorkerGlobalScope","isBrowser","isMix","zoneSymbolEventNames","wrapFn","eventNameSymbol","errorEvent","filename","lineno","colno","preventDefault","patchProperty","prototypeDesc","onPropPatchedSymbol","originalDescGet","originalDescSet","eventName","substr","newValue","previousValue","removeEventListener","removeAttribute","onProperties","originalInstanceKey","OriginalClass","shouldCopySymbolProperties","patchFn","dest","delegateName","patchDelegate_1","funcName","metaCreator","setNative","cbIdx","patched","isDetectedIEOrEdge","ieOrEdge","ua","originalFunctionToString","ORIGINAL_DELEGATE_SYMBOL","PROMISE_SYMBOL","ERROR_SYMBOL","newFunctionToString","originalDelegate","nativePromise","nativeError","originalObjectToString","passiveSupported","OPTIMIZED_ZONE_EVENT_TASK_DATA","zoneSymbolEventNames$1","globalSources","EVENT_NAME_SYMBOL_REGX","IMMEDIATE_PROPAGATION_SYMBOL","prepareEventNames","eventNameToString","falseEventName","trueEventName","symbolCapture","apis","patchOptions","ADD_EVENT_LISTENER","REMOVE_EVENT_LISTENER","rm","LISTENERS_EVENT_LISTENER","listeners","REMOVE_ALL_LISTENERS_EVENT_LISTENER","rmAll","zoneSymbolAddEventListener","ADD_EVENT_LISTENER_SOURCE","PREPEND_EVENT_LISTENER","PREPEND_EVENT_LISTENER_SOURCE","isRemoved","handleEvent","delegate_1","globalZoneAwareCallback","tasks","copyTasks","globalZoneAwareCaptureCallback","patchEventTargetMethods","useGlobalCallback","validateHandler","vh","chkDup","returnTarget","nativePrependEventListener","taskData","nativeAddEventListener","nativeRemoveEventListener","nativeListeners","nativeRemoveAllListeners","prepend","isExisting","symbolEventNames","symbolEventName","existingTasks","existingTask","allRemoved","compare","diff","typeOfDelegate","blackListedEvents","passiveEvents","makeAddListener","nativeListener","addSource","customScheduleFn","customCancelFn","transferEventName","isHandleEvent","passive","buildEventListenerOptions","constructorName","targetSource","unshift","onPropertySymbol","findEventTasks","symbolCaptureEventName","captureTasks","removeTasks","evtName","foundTasks","captureFalseTasks","captureTrueTasks","Event","targetName","callbacks","nativeDelegate","opts","zoneSymbol$1","_defineProperty","_getOwnPropertyDescriptor","unconfigurablesKey","windowEventNames","mediaElementEventNames","frameEventNames","frameSetEventNames","marqueeEventNames","XMLHttpRequestEventNames","IDBIndexEventNames","websocketEventNames","workerEventNames","eventNames","ignoreProperties","tip","ip","targetIgnoreProperties","op","patchFilteredProperties","filteredProperties","propertyDescriptorPatch","supportsWebSocket","WebSocket","internalWindow_1","ignoreErrorProperties","Document","HTMLElement","HTMLMediaElement","HTMLFrameSetElement","HTMLBodyElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement_1","Worker_1","XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","propertyPatch","isUnconfigurable","originalConfigurableFlag","rewriteDescriptor","_tryDefineProperty","props","isFrozen","descJson","eventTargetLegacyPatch","NO_EVENT_TARGET","isWtf","WTF_ISSUE_555_ARRAY","isDisableIECheck","isEnableCrossContextCheck","BROWSER_TOOLS","pointerEventsMap","MSPointerCancel","MSPointerDown","MSPointerEnter","MSPointerHover","MSPointerLeave","MSPointerMove","MSPointerOut","MSPointerOver","MSPointerUp","targets","apiTypes","testString","pointerEventName","propertyDescriptorLegacyPatch","onclick","XMLHttpRequestPrototype","xhrDesc","req","onreadystatechange","SYMBOL_FAKE_ONREADYSTATECHANGE_1","detectFunc","canPatchViaPropertyDescriptor","unboundKey","_loop_4","onproperty","elt","parentElement","patchViaCapturingAllTheEvents","WS","EventTarget","proxySocket","proxySocketProto","socket","onmessageDesc","propName","propertySymbol","globalWebSocket","SYMBOL_BLACK_LISTED_EVENTS","SYMBOL_UNPATCHED_EVENTS","registerElementPatch","taskSymbol","patchTimer","setName","cancelName","nameSuffix","clearNative","tasksByHandleId","delay","handle","ref","unref","eventTargetPatch","EVENT_TARGET","legacyPatch","blockingMethods","name_2","patchEvent","customElements","patchCustomElements","oriAddListener","oriRemoveListener","XMLHttpRequestEventTarget_1","XMLHttpRequestEventTargetPrototype","READY_STATE_CHANGE","SCHEDULED","openNative","XHR_SYNC","XHR_URL","fetchTaskAborting","fetchTaskScheduling","sendNative","aborted","placeholderCallback","XHR_ERROR_BEFORE_SCHEDULED","abortNative","XHR_TASK","XHR_SCHEDULED","XHR_LISTENER","newListener","readyState","DONE","loadTasks","oriInvoke_1","storedTask","patchXHR","geolocation","fnNames","_loop_3","name_1","patchPrototype","findPromiseRejectionHandler","eventTasks","evt","__webpack_exports__","Headers","Request","Response","DOMException","fetch","support","searchParams","blob","Blob","formData","arrayBuffer","viewClasses","isArrayBufferView","normalizeName","normalizeValue","iteratorFor","items","headers","append","header","consumed","body","bodyUsed","fileReaderReady","reader","onload","onerror","readBlobAsArrayBuffer","FileReader","readAsArrayBuffer","bufferClone","buf","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","_bodyArrayBuffer","rejected","text","readAsText","chars","readArrayBufferAsText","decode","json","parse","oldValue","thisArg","input","upcased","credentials","signal","toUpperCase","referrer","form","decodeURIComponent","bodyInit","statusText","clone","response","redirectStatuses","redirect","location","request","xhr","abortXhr","abort","rawHeaders","getAllResponseHeaders","line","parts","responseURL","responseText","ontimeout","onabort","withCredentials","responseType","setRequestHeader","send","polyfill","_crypto","crypto","msCrypto","_subtle","subtle","webkitSubtle","_Crypto","Crypto","_SubtleCrypto","SubtleCrypto","isEdge","CryptoKey","Key","isIE","isWebkit","oid2str","KoZIhvcNAQEB","str2oid","1.2.840.113549.1.1.1","_fn","ka","kx","ku","jwk","alg","b2jwk","jwkAlg","key_ops","kty","isPrvKeyUse","isPubKeyUse","ext","s2b","unescape","encodeURIComponent","_key","hash","SHA-1","SHA-256","SHA-384","SHA-512","importKey","getRandomValues","modulusLength","generateKey","exportKey","publicKey","privateKey","a2s","info","b2der","prv","rsaComp","rsaKey","s2a","b2s","pkcs2jwk","decrypt","oncomplete","algorithm","publicExponent","encrypt","usages","der2b","jwk2pkcs","tl","tagLength","AesGcmEncryptResult","ciphertext","_digest","digest","btoa","atob","SyntaxError","HMAC","RSASSA-PKCS1-v1_5","RSAES-PKCS1-v1_5","","RSA-OAEP","AES-KW","128","192","256","AES-GCM","AES-CBC","escape","extractable","rv","xlen","oid","use","u","factory"],"mappings":"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WACA,QACA,OACA,YACA,aACA,iBACA,qBACA,YACA,aACA,aACA,YACA,WACA,YACA,UACA,aACA,oBACA,QACA,OACA,UACA,gBACA,cACA,eACA,eACA,oBACA,uBACA,4BACA,mBACA,sBACA,yBACA,cACA,WACA,cACA,YACA,WACA,aACA,QACA,SACA,SACA,SACA,UACA,SACA,kBACA,cACA,OACA,OACA,UACA,SACA,UACA,aACA,eACA,cACA,YACA,aACA,WACA,mBACA,gBACA,UACA,SAoHAjkC,OAbA,wEACA,qCACA,WAvGA,CACA,0FACA,sFACA,oFACA,6BA8GAwjC,GA5EA,CACA,kFACA,iFACA,yEAGA,CACA,WACA,cACA,cACA,iBACA,mBACA,kBACA,eACA,aACA,gBACA,gBACA,iBACA,kBACA,cACA,eACA,iBACA,cACA,OACA,UACA,YACA,iBACA,YACA,cACA,WACA,UACA,aACA,eACA,UACA,0BACA,aACA,OACA,gBACA,6BACA,kBACA,qBACA,eACA,gBACA,iBACA,eACA,sBACA,iBACA,uBACA,kBACA,gBACA,iBACA,iBACA,iBACA,gBACA,eACA,gBACA,cACA,aACA,gCACA,mBACA,OACA,kBAgBA,SAAApO,GAAAnlC,EAAAysC,EAAAwH,GACA,IAAAA,GAAA,IAAAA,EAAAtxC,OACA,OAAA8pC,EAEA,IAAAyH,EAAAD,EAAAxnC,OAAA,SAAA0nC,GAAyD,OAAAA,EAAAn0C,aACzD,IAAAk0C,GAAA,IAAAA,EAAAvxC,OACA,OAAA8pC,EAEA,IAAA2H,EAAAF,EAAA,GAAAD,iBACA,OAAAxH,EAAAhgC,OAAA,SAAA4nC,GAAkD,WAAAD,EAAAtnC,QAAAunC,KAElD,SAAAC,GAAAt0C,EAAAysC,EAAAwH,EAAA11C,GAGA,GAAAyB,EAAA,CAGA,IAAAu0C,EAAApP,GAAAnlC,EAAAysC,EAAAwH,GACA9P,EAAAnkC,EAAAu0C,EAAAh2C,IAEA,SAAAi2C,GAAAjP,EAAAuF,GACA,KAAA5mB,GAAAmnB,KAGApP,KAAAsJ,EAAAzB,OAAA,iBAIA,IAAA2Q,EAAA,oBA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","file":"app/polyfills.5767a6ed9bc20ebddf79.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\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\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 733);\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var $export = require('./_export');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function (string, tag, attribute, value) {\n var S = String(defined(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\nmodule.exports = function (NAME, exec) {\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function () {\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","var core = module.exports = { version: '2.6.2' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","'use strict';\nvar fails = require('./_fails');\n\nmodule.exports = function (method, arg) {\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call\n arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);\n });\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nif (require('./_descriptors')) {\n var LIBRARY = require('./_library');\n var global = require('./_global');\n var fails = require('./_fails');\n var $export = require('./_export');\n var $typed = require('./_typed');\n var $buffer = require('./_typed-buffer');\n var ctx = require('./_ctx');\n var anInstance = require('./_an-instance');\n var propertyDesc = require('./_property-desc');\n var hide = require('./_hide');\n var redefineAll = require('./_redefine-all');\n var toInteger = require('./_to-integer');\n var toLength = require('./_to-length');\n var toIndex = require('./_to-index');\n var toAbsoluteIndex = require('./_to-absolute-index');\n var toPrimitive = require('./_to-primitive');\n var has = require('./_has');\n var classof = require('./_classof');\n var isObject = require('./_is-object');\n var toObject = require('./_to-object');\n var isArrayIter = require('./_is-array-iter');\n var create = require('./_object-create');\n var getPrototypeOf = require('./_object-gpo');\n var gOPN = require('./_object-gopn').f;\n var getIterFn = require('./core.get-iterator-method');\n var uid = require('./_uid');\n var wks = require('./_wks');\n var createArrayMethod = require('./_array-methods');\n var createArrayIncludes = require('./_array-includes');\n var speciesConstructor = require('./_species-constructor');\n var ArrayIterators = require('./es6.array.iterator');\n var Iterators = require('./_iterators');\n var $iterDetect = require('./_iter-detect');\n var setSpecies = require('./_set-species');\n var arrayFill = require('./_array-fill');\n var arrayCopyWithin = require('./_array-copy-within');\n var $DP = require('./_object-dp');\n var $GOPD = require('./_object-gopd');\n var dP = $DP.f;\n var gOPD = $GOPD.f;\n var RangeError = global.RangeError;\n var TypeError = global.TypeError;\n var Uint8Array = global.Uint8Array;\n var ARRAY_BUFFER = 'ArrayBuffer';\n var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n var PROTOTYPE = 'prototype';\n var ArrayProto = Array[PROTOTYPE];\n var $ArrayBuffer = $buffer.ArrayBuffer;\n var $DataView = $buffer.DataView;\n var arrayForEach = createArrayMethod(0);\n var arrayFilter = createArrayMethod(2);\n var arraySome = createArrayMethod(3);\n var arrayEvery = createArrayMethod(4);\n var arrayFind = createArrayMethod(5);\n var arrayFindIndex = createArrayMethod(6);\n var arrayIncludes = createArrayIncludes(true);\n var arrayIndexOf = createArrayIncludes(false);\n var arrayValues = ArrayIterators.values;\n var arrayKeys = ArrayIterators.keys;\n var arrayEntries = ArrayIterators.entries;\n var arrayLastIndexOf = ArrayProto.lastIndexOf;\n var arrayReduce = ArrayProto.reduce;\n var arrayReduceRight = ArrayProto.reduceRight;\n var arrayJoin = ArrayProto.join;\n var arraySort = ArrayProto.sort;\n var arraySlice = ArrayProto.slice;\n var arrayToString = ArrayProto.toString;\n var arrayToLocaleString = ArrayProto.toLocaleString;\n var ITERATOR = wks('iterator');\n var TAG = wks('toStringTag');\n var TYPED_CONSTRUCTOR = uid('typed_constructor');\n var DEF_CONSTRUCTOR = uid('def_constructor');\n var ALL_CONSTRUCTORS = $typed.CONSTR;\n var TYPED_ARRAY = $typed.TYPED;\n var VIEW = $typed.VIEW;\n var WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function (O, length) {\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function () {\n // eslint-disable-next-line no-undef\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {\n new Uint8Array(1).set({});\n });\n\n var toOffset = function (it, BYTES) {\n var offset = toInteger(it);\n if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function (it) {\n if (isObject(it) && TYPED_ARRAY in it) return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function (C, length) {\n if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function (O, list) {\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = allocate(C, length);\n while (length > index) result[index] = list[index++];\n return result;\n };\n\n var addGetter = function (it, key, internal) {\n dP(it, key, { get: function () { return this._d[internal]; } });\n };\n\n var $from = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iterFn = getIterFn(O);\n var i, length, values, result, step, iterator;\n if (iterFn != undefined && !isArrayIter(iterFn)) {\n for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {\n values.push(step.value);\n } O = values;\n }\n if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);\n for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/* ...items */) {\n var index = 0;\n var length = arguments.length;\n var result = allocate(this, length);\n while (length > index) result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString() {\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /* , end */) {\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /* , thisArg */) {\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /* , thisArg */) {\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /* , thisArg */) {\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /* , thisArg */) {\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /* , thisArg */) {\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /* , fromIndex */) {\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /* , fromIndex */) {\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator) { // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /* , thisArg */) {\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse() {\n var that = this;\n var length = validate(that).length;\n var middle = Math.floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /* , thisArg */) {\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn) {\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end) {\n var O = validate(this);\n var length = O.length;\n var $begin = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end) {\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /* , offset */) {\n validate(this);\n var offset = toOffset(arguments[1], 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError(WRONG_LENGTH);\n while (index < len) this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries() {\n return arrayEntries.call(validate(this));\n },\n keys: function keys() {\n return arrayKeys.call(validate(this));\n },\n values: function values() {\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function (target, key) {\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key) {\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc) {\n if (isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ) {\n target[key] = desc.value;\n return target;\n } return dP(target, key, desc);\n };\n\n if (!ALL_CONSTRUCTORS) {\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if (fails(function () { arrayToString.call({}); })) {\n arrayToString = arrayToLocaleString = function toString() {\n return arrayJoin.call(this);\n };\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function () { /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function () { return this[TYPED_ARRAY]; }\n });\n\n // eslint-disable-next-line max-statements\n module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + KEY;\n var SETTER = 'set' + KEY;\n var TypedArray = global[NAME];\n var Base = TypedArray || {};\n var TAC = TypedArray && getPrototypeOf(TypedArray);\n var FORCED = !TypedArray || !$typed.ABV;\n var O = {};\n var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function (that, index) {\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function (that, index, value) {\n var data = that._d;\n if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function (that, index) {\n dP(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if (FORCED) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0;\n var offset = 0;\n var buffer, byteLength, length, klass;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (TYPED_ARRAY in data) {\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if (!fails(function () {\n TypedArray(1);\n }) || !fails(function () {\n new TypedArray(-1); // eslint-disable-line no-new\n }) || !$iterDetect(function (iter) {\n new TypedArray(); // eslint-disable-line no-new\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(1.5); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if (!isObject(data)) return new Base(toIndex(data));\n if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if (TYPED_ARRAY in data) return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {\n if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR];\n var CORRECT_ITER_NAME = !!$nativeIterator\n && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n var $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {\n dP(TypedArrayPrototype, TAG, {\n get: function () { return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES\n });\n\n $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {\n from: $from,\n of: $of\n });\n\n if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;\n\n $export($export.P + $export.F * fails(function () {\n new TypedArray(1).slice();\n }), NAME, { slice: $slice });\n\n $export($export.P + $export.F * (fails(function () {\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();\n }) || !fails(function () {\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, { toLocaleString: $toLocaleString });\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function () { /* empty */ };\n","var Map = require('./es6.map');\nvar $export = require('./_export');\nvar shared = require('./_shared')('metadata');\nvar store = shared.store || (shared.store = new (require('./es6.weak-map'))());\n\nvar getOrCreateMetadataMap = function (target, targetKey, create) {\n var targetMetadata = store.get(target);\n if (!targetMetadata) {\n if (!create) return undefined;\n store.set(target, targetMetadata = new Map());\n }\n var keyMetadata = targetMetadata.get(targetKey);\n if (!keyMetadata) {\n if (!create) return undefined;\n targetMetadata.set(targetKey, keyMetadata = new Map());\n } return keyMetadata;\n};\nvar ordinaryHasOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\nvar ordinaryGetOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\nvar ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) {\n getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\nvar ordinaryOwnMetadataKeys = function (target, targetKey) {\n var metadataMap = getOrCreateMetadataMap(target, targetKey, false);\n var keys = [];\n if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); });\n return keys;\n};\nvar toMetaKey = function (it) {\n return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\nvar exp = function (O) {\n $export($export.S, 'Reflect', O);\n};\n\nmodule.exports = {\n store: store,\n map: getOrCreateMetadataMap,\n has: ordinaryHasOwnMetadata,\n get: ordinaryGetOwnMetadata,\n set: ordinaryDefineOwnMetadata,\n keys: ordinaryOwnMetadataKeys,\n key: toMetaKey,\n exp: exp\n};\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","module.exports = false;\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","module.exports = {};\n","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n var exp = {};\n var FORCE = fails(function () {\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if (ALIAS) exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n string = String(defined(string));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n","exports.f = {}.propertyIsEnumerable;\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","exports.f = Object.getOwnPropertySymbols;\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","'use strict';\n\nvar classof = require('./_classof');\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar uid = require('./_uid');\nvar TYPED = uid('typed_array');\nvar VIEW = uid('view');\nvar ABV = !!(global.ArrayBuffer && global.DataView);\nvar CONSTR = ABV;\nvar i = 0;\nvar l = 9;\nvar Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile (i < l) {\n if (Typed = global[TypedArrayConstructors[i++]]) {\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x) {\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n","var MATCH = require('./_wks')('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) { /* empty */ }\n } return true;\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var aLen = arguments.length;\n var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n var end = aLen > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'use strict';\n\nvar regexpFlags = require('./_flags');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","'use strict';\nvar global = require('./_global');\nvar DESCRIPTORS = require('./_descriptors');\nvar LIBRARY = require('./_library');\nvar $typed = require('./_typed');\nvar hide = require('./_hide');\nvar redefineAll = require('./_redefine-all');\nvar fails = require('./_fails');\nvar anInstance = require('./_an-instance');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar toIndex = require('./_to-index');\nvar gOPN = require('./_object-gopn').f;\nvar dP = require('./_object-dp').f;\nvar arrayFill = require('./_array-fill');\nvar setToStringTag = require('./_set-to-string-tag');\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length!';\nvar WRONG_INDEX = 'Wrong index!';\nvar $ArrayBuffer = global[ARRAY_BUFFER];\nvar $DataView = global[DATA_VIEW];\nvar Math = global.Math;\nvar RangeError = global.RangeError;\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = global.Infinity;\nvar BaseBuffer = $ArrayBuffer;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\nvar BUFFER = 'buffer';\nvar BYTE_LENGTH = 'byteLength';\nvar BYTE_OFFSET = 'byteOffset';\nvar $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\nvar $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\nvar $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nfunction packIEEE754(value, mLen, nBytes) {\n var buffer = new Array(nBytes);\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var i = 0;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n var e, m, c;\n value = abs(value);\n // eslint-disable-next-line no-self-compare\n if (value != value || value === Infinity) {\n // eslint-disable-next-line no-self-compare\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if (value * (c = pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n buffer[--i] |= s * 128;\n return buffer;\n}\nfunction unpackIEEE754(buffer, mLen, nBytes) {\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = eLen - 7;\n var i = nBytes - 1;\n var s = buffer[i--];\n var e = s & 127;\n var m;\n s >>= 7;\n for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n } return (s ? -1 : 1) * m * pow(2, e - mLen);\n}\n\nfunction unpackI32(bytes) {\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n}\nfunction packI8(it) {\n return [it & 0xff];\n}\nfunction packI16(it) {\n return [it & 0xff, it >> 8 & 0xff];\n}\nfunction packI32(it) {\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n}\nfunction packF64(it) {\n return packIEEE754(it, 52, 8);\n}\nfunction packF32(it) {\n return packIEEE754(it, 23, 4);\n}\n\nfunction addGetter(C, key, internal) {\n dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });\n}\n\nfunction get(view, bytes, index, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n}\nfunction set(view, bytes, index, conversion, value, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = conversion(+value);\n for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n}\n\nif (!$typed.ABV) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n this._b = arrayFill.call(new Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH];\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if (!fails(function () {\n $ArrayBuffer(1);\n }) || !fails(function () {\n new $ArrayBuffer(-1); // eslint-disable-line no-new\n }) || fails(function () {\n new $ArrayBuffer(); // eslint-disable-line no-new\n new $ArrayBuffer(1.5); // eslint-disable-line no-new\n new $ArrayBuffer(NaN); // eslint-disable-line no-new\n return $ArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new BaseBuffer(toIndex(length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);\n }\n if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;\n }\n // iOS Safari 7.x bug\n var view = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n","'use strict';\nvar toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n return res;\n};\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","exports.f = require('./_wks');\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n if (!(len in factories)) {\n for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var bound = function (/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n return bound;\n};\n","var $parseInt = require('./_global').parseInt;\nvar $trim = require('./_string-trim').trim;\nvar ws = require('./_string-ws');\nvar hex = /^[-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {\n var string = $trim(String(str), 3);\n return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;\n","var $parseFloat = require('./_global').parseFloat;\nvar $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str) {\n var string = $trim(String(str), 3);\n var result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n","var cof = require('./_cof');\nmodule.exports = function (it, msg) {\n if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);\n return +it;\n};\n","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object');\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x) {\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","var aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar toLength = require('./_to-length');\n\nmodule.exports = function (that, callbackfn, aLen, memo, isRight) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IObject(O);\n var length = toLength(O.length);\n var index = isRight ? length - 1 : 0;\n var i = isRight ? -1 : 1;\n if (aLen < 2) for (;;) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (isRight ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;isRight ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n};\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","'use strict';\nvar regexpExec = require('./_regexp-exec');\nrequire('./_export')({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n","// 21.2.5.3 get RegExp.prototype.flags()\nif (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n","'use strict';\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar validate = require('./_validate-collection');\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar tmp = {};\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (fails(function () { return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7; })) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n","// https://tc39.github.io/ecma262/#sec-toindex\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length!');\n return length;\n};\n","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n","// 20.2.2.16 Math.fround(x)\nvar sign = require('./_math-sign');\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function (n) {\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\nmodule.exports = Math.fround || function fround(x) {\n var $abs = Math.abs(x);\n var $sign = sign(x);\n var a, result;\n if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n // eslint-disable-next-line no-self-compare\n if (result > MAX32 || result != result) return $sign * Infinity;\n return $sign * result;\n};\n","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","var forOf = require('./_for-of');\n\nmodule.exports = function (iter, ITERATOR) {\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","var $export = require('./_export');\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperties: require('./_object-dps') });\n","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject');\nvar $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function () {\n return function getOwnPropertyDescriptor(it, key) {\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function () {\n return require('./_object-gopn-ext').f;\n});\n","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function ($freeze) {\n return function freeze(it) {\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('seal', function ($seal) {\n return function seal(it) {\n return $seal && isObject(it) ? $seal(meta(it)) : it;\n };\n});\n","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('preventExtensions', function ($preventExtensions) {\n return function preventExtensions(it) {\n return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n };\n});\n","// 19.1.2.12 Object.isFrozen(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isFrozen', function ($isFrozen) {\n return function isFrozen(it) {\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n };\n});\n","// 19.1.2.13 Object.isSealed(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isSealed', function ($isSealed) {\n return function isSealed(it) {\n return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n };\n});\n","// 19.1.2.11 Object.isExtensible(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isExtensible', function ($isExtensible) {\n return function isExtensible(it) {\n return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n };\n});\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', { is: require('./_same-value') });\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n require('./_redefine')(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n","// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = require('./_export');\n\n$export($export.P, 'Function', { bind: require('./_bind') });\n","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n","'use strict';\nvar isObject = require('./_is-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar HAS_INSTANCE = require('./_wks')('hasInstance');\nvar FunctionProto = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif (!(HAS_INSTANCE in FunctionProto)) require('./_object-dp').f(FunctionProto, HAS_INSTANCE, { value: function (O) {\n if (typeof this != 'function' || !isObject(O)) return false;\n if (!isObject(this.prototype)) return O instanceof this;\n // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n while (O = getPrototypeOf(O)) if (this.prototype === O) return true;\n return false;\n} });\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","'use strict';\nvar $export = require('./_export');\nvar toInteger = require('./_to-integer');\nvar aNumberValue = require('./_a-number-value');\nvar repeat = require('./_string-repeat');\nvar $toFixed = 1.0.toFixed;\nvar floor = Math.floor;\nvar data = [0, 0, 0, 0, 0, 0];\nvar ERROR = 'Number.toFixed: incorrect invocation!';\nvar ZERO = '0';\n\nvar multiply = function (n, c) {\n var i = -1;\n var c2 = c;\n while (++i < 6) {\n c2 += n * data[i];\n data[i] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\nvar divide = function (n) {\n var i = 6;\n var c = 0;\n while (--i >= 0) {\n c += data[i];\n data[i] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\nvar numToString = function () {\n var i = 6;\n var s = '';\n while (--i >= 0) {\n if (s !== '' || i === 0 || data[i] !== 0) {\n var t = String(data[i]);\n s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n }\n } return s;\n};\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !require('./_fails')(function () {\n // V8 ~ Android 4.3-\n $toFixed.call({});\n})), 'Number', {\n toFixed: function toFixed(fractionDigits) {\n var x = aNumberValue(this, ERROR);\n var f = toInteger(fractionDigits);\n var s = '';\n var m = ZERO;\n var e, z, j, k;\n if (f < 0 || f > 20) throw RangeError(ERROR);\n // eslint-disable-next-line no-self-compare\n if (x != x) return 'NaN';\n if (x <= -1e21 || x >= 1e21) return String(x);\n if (x < 0) {\n s = '-';\n x = -x;\n }\n if (x > 1e-21) {\n e = log(x * pow(2, 69, 1)) - 69;\n z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(0, z);\n j = f;\n while (j >= 7) {\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n m = numToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n m = numToString() + repeat.call(ZERO, f);\n }\n }\n if (f > 0) {\n k = m.length;\n m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n } else {\n m = s + m;\n } return m;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $fails = require('./_fails');\nvar aNumberValue = require('./_a-number-value');\nvar $toPrecision = 1.0.toPrecision;\n\n$export($export.P + $export.F * ($fails(function () {\n // IE7-\n return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function () {\n // V8 ~ Android 4.3-\n $toPrecision.call({});\n})), 'Number', {\n toPrecision: function toPrecision(precision) {\n var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);\n }\n});\n","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\n","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { isInteger: require('./_is-integer') });\n","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export');\nvar isInteger = require('./_is-integer');\nvar abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number) {\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});\n","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt });\n","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export');\nvar log1p = require('./_math-log1p');\nvar sqrt = Math.sqrt;\nvar $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n && Math.floor($acosh(Number.MAX_VALUE)) == 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN\n && $acosh(Infinity) == Infinity\n), 'Math', {\n acosh: function acosh(x) {\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? Math.log(x) + Math.LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});\n","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export');\nvar $asinh = Math.asinh;\n\nfunction asinh(x) {\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0\n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });\n","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export');\nvar $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0\n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n atanh: function atanh(x) {\n return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n }\n});\n","// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export');\nvar sign = require('./_math-sign');\n\n$export($export.S, 'Math', {\n cbrt: function cbrt(x) {\n return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n }\n});\n","// 20.2.2.11 Math.clz32(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n clz32: function clz32(x) {\n return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n }\n});\n","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x) {\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});\n","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export');\nvar $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });\n","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { fround: require('./_math-fround') });\n","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export');\nvar abs = Math.abs;\n\n$export($export.S, 'Math', {\n hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars\n var sum = 0;\n var i = 0;\n var aLen = arguments.length;\n var larg = 0;\n var arg, div;\n while (i < aLen) {\n arg = abs(arguments[i++]);\n if (larg < arg) {\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if (arg > 0) {\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n }\n});\n","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export');\nvar $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * require('./_fails')(function () {\n return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n imul: function imul(x, y) {\n var UINT16 = 0xffff;\n var xn = +x;\n var yn = +y;\n var xl = UINT16 & xn;\n var yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});\n","// 20.2.2.21 Math.log10(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log10: function log10(x) {\n return Math.log(x) * Math.LOG10E;\n }\n});\n","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { log1p: require('./_math-log1p') });\n","// 20.2.2.22 Math.log2(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log2: function log2(x) {\n return Math.log(x) / Math.LN2;\n }\n});\n","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { sign: require('./_math-sign') });\n","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * require('./_fails')(function () {\n return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n sinh: function sinh(x) {\n return Math.abs(x = +x) < 1\n ? (expm1(x) - expm1(-x)) / 2\n : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n }\n});\n","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x) {\n var a = expm1(x = +x);\n var b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});\n","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n trunc: function trunc(it) {\n return (it > 0 ? Math.floor : Math.ceil)(it);\n }\n});\n","var $export = require('./_export');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n // 21.1.2.2 String.fromCodePoint(...codePoints)\n fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n var res = [];\n var aLen = arguments.length;\n var i = 0;\n var code;\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n );\n } return res.join('');\n }\n});\n","var $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\n\n$export($export.S, 'String', {\n // 21.1.2.4 String.raw(callSite, ...substitutions)\n raw: function raw(callSite) {\n var tpl = toIObject(callSite.raw);\n var len = toLength(tpl.length);\n var aLen = arguments.length;\n var res = [];\n var i = 0;\n while (len > i) {\n res.push(String(tpl[i++]));\n if (i < aLen) res.push(String(arguments[i]));\n } return res.join('');\n }\n});\n","'use strict';\n// 21.1.3.25 String.prototype.trim()\nrequire('./_string-trim')('trim', function ($trim) {\n return function trim() {\n return $trim(this, 3);\n };\n});\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","'use strict';\nvar $export = require('./_export');\nvar $at = require('./_string-at')(false);\n$export($export.P, 'String', {\n // 21.1.3.3 String.prototype.codePointAt(pos)\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = context(this, searchString, ENDS_WITH);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export');\nvar context = require('./_string-context');\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var $export = require('./_export');\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: require('./_string-repeat')\n});\n","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","'use strict';\n// B.2.3.2 String.prototype.anchor(name)\nrequire('./_string-html')('anchor', function (createHTML) {\n return function anchor(name) {\n return createHTML(this, 'a', 'name', name);\n };\n});\n","'use strict';\n// B.2.3.3 String.prototype.big()\nrequire('./_string-html')('big', function (createHTML) {\n return function big() {\n return createHTML(this, 'big', '', '');\n };\n});\n","'use strict';\n// B.2.3.4 String.prototype.blink()\nrequire('./_string-html')('blink', function (createHTML) {\n return function blink() {\n return createHTML(this, 'blink', '', '');\n };\n});\n","'use strict';\n// B.2.3.5 String.prototype.bold()\nrequire('./_string-html')('bold', function (createHTML) {\n return function bold() {\n return createHTML(this, 'b', '', '');\n };\n});\n","'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function (createHTML) {\n return function fixed() {\n return createHTML(this, 'tt', '', '');\n };\n});\n","'use strict';\n// B.2.3.7 String.prototype.fontcolor(color)\nrequire('./_string-html')('fontcolor', function (createHTML) {\n return function fontcolor(color) {\n return createHTML(this, 'font', 'color', color);\n };\n});\n","'use strict';\n// B.2.3.8 String.prototype.fontsize(size)\nrequire('./_string-html')('fontsize', function (createHTML) {\n return function fontsize(size) {\n return createHTML(this, 'font', 'size', size);\n };\n});\n","'use strict';\n// B.2.3.9 String.prototype.italics()\nrequire('./_string-html')('italics', function (createHTML) {\n return function italics() {\n return createHTML(this, 'i', '', '');\n };\n});\n","'use strict';\n// B.2.3.10 String.prototype.link(url)\nrequire('./_string-html')('link', function (createHTML) {\n return function link(url) {\n return createHTML(this, 'a', 'href', url);\n };\n});\n","'use strict';\n// B.2.3.11 String.prototype.small()\nrequire('./_string-html')('small', function (createHTML) {\n return function small() {\n return createHTML(this, 'small', '', '');\n };\n});\n","'use strict';\n// B.2.3.12 String.prototype.strike()\nrequire('./_string-html')('strike', function (createHTML) {\n return function strike() {\n return createHTML(this, 'strike', '', '');\n };\n});\n","'use strict';\n// B.2.3.13 String.prototype.sub()\nrequire('./_string-html')('sub', function (createHTML) {\n return function sub() {\n return createHTML(this, 'sub', '', '');\n };\n});\n","'use strict';\n// B.2.3.14 String.prototype.sup()\nrequire('./_string-html')('sup', function (createHTML) {\n return function sup() {\n return createHTML(this, 'sup', '', '');\n };\n});\n","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar toPrimitive = require('./_to-primitive');\n\n$export($export.P + $export.F * require('./_fails')(function () {\n return new Date(NaN).toJSON() !== null\n || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;\n}), 'Date', {\n // eslint-disable-next-line no-unused-vars\n toJSON: function toJSON(key) {\n var O = toObject(this);\n var pv = toPrimitive(O);\n return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n }\n});\n","// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = require('./_export');\nvar toISOString = require('./_date-to-iso-string');\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', {\n toISOString: toISOString\n});\n","'use strict';\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar fails = require('./_fails');\nvar getTime = Date.prototype.getTime;\nvar $toISOString = Date.prototype.toISOString;\n\nvar lz = function (num) {\n return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\nmodule.exports = (fails(function () {\n return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n $toISOString.call(new Date(NaN));\n})) ? function toISOString() {\n if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');\n var d = this;\n var y = d.getUTCFullYear();\n var m = d.getUTCMilliseconds();\n var s = y < 0 ? '-' : y > 9999 ? '+' : '';\n return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n} : $toISOString;\n","var DateProto = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar $toString = DateProto[TO_STRING];\nvar getTime = DateProto.getTime;\nif (new Date(NaN) + '' != INVALID_DATE) {\n require('./_redefine')(DateProto, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}\n","var TO_PRIMITIVE = require('./_wks')('toPrimitive');\nvar proto = Date.prototype;\n\nif (!(TO_PRIMITIVE in proto)) require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive'));\n","'use strict';\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\nvar NUMBER = 'number';\n\nmodule.exports = function (hint) {\n if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint');\n return toPrimitive(anObject(this), hint != NUMBER);\n};\n","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', { isArray: require('./_is-array') });\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function () {\n function F() { /* empty */ }\n return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n // 22.1.2.3 Array.of( ...items)\n of: function of(/* ...args */) {\n var index = 0;\n var aLen = arguments.length;\n var result = new (typeof this == 'function' ? this : Array)(aLen);\n while (aLen > index) createProperty(result, index, arguments[index++]);\n result.length = aLen;\n return result;\n }\n});\n","'use strict';\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', {\n join: function join(separator) {\n return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar html = require('./_html');\nvar cof = require('./_cof');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * require('./_fails')(function () {\n if (html) arraySlice.call(html);\n}), 'Array', {\n slice: function slice(begin, end) {\n var len = toLength(this.length);\n var klass = cof(this);\n end = end === undefined ? len : end;\n if (klass == 'Array') return arraySlice.call(this, begin, end);\n var start = toAbsoluteIndex(begin, len);\n var upTo = toAbsoluteIndex(end, len);\n var size = toLength(upTo - start);\n var cloned = new Array(size);\n var i = 0;\n for (; i < size; i++) cloned[i] = klass == 'String'\n ? this.charAt(start + i)\n : this[start + i];\n return cloned;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar fails = require('./_fails');\nvar $sort = [].sort;\nvar test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function () {\n // IE8-\n test.sort(undefined);\n}) || !fails(function () {\n // V8 bug\n test.sort(null);\n // Old WebKit\n}) || !require('./_strict-method')($sort)), 'Array', {\n // 22.1.3.25 Array.prototype.sort(comparefn)\n sort: function sort(comparefn) {\n return comparefn === undefined\n ? $sort.call(toObject(this))\n : $sort.call(toObject(this), aFunction(comparefn));\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $forEach = require('./_array-methods')(0);\nvar STRICT = require('./_strict-method')([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n forEach: function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments[1]);\n }\n});\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","'use strict';\nvar $export = require('./_export');\nvar $map = require('./_array-methods')(1);\n\n$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {\n // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $filter = require('./_array-methods')(2);\n\n$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {\n // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $some = require('./_array-methods')(3);\n\n$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', {\n // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n some: function some(callbackfn /* , thisArg */) {\n return $some(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $every = require('./_array-methods')(4);\n\n$export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', {\n // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n every: function every(callbackfn /* , thisArg */) {\n return $every(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', {\n // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', {\n // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n reduceRight: function reduceRight(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $indexOf = require('./_array-includes')(false);\nvar $native = [].indexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? $native.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar $native = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;\n var O = toIObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0;\n return -1;\n }\n});\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { copyWithin: require('./_array-copy-within') });\n\nrequire('./_add-to-unscopables')('copyWithin');\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { fill: require('./_array-fill') });\n\nrequire('./_add-to-unscopables')('fill');\n","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","require('./_set-species')('Array');\n","var global = require('./_global');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar dP = require('./_object-dp').f;\nvar gOPN = require('./_object-gopn').f;\nvar isRegExp = require('./_is-regexp');\nvar $flags = require('./_flags');\nvar $RegExp = global.RegExp;\nvar Base = $RegExp;\nvar proto = $RegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n// \"new\" creates a new object, old webkit buggy here\nvar CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif (require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function () {\n re2[require('./_wks')('match')] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))) {\n $RegExp = function RegExp(p, f) {\n var tiRE = this instanceof $RegExp;\n var piRE = isRegExp(p);\n var fiU = f === undefined;\n return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n : inheritIfRequired(CORRECT_NEW\n ? new Base(piRE && !fiU ? p.source : p, f)\n : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n , tiRE ? this : proto, $RegExp);\n };\n var proxy = function (key) {\n key in $RegExp || dP($RegExp, key, {\n configurable: true,\n get: function () { return Base[key]; },\n set: function (it) { Base[key] = it; }\n });\n };\n for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);\n proto.constructor = $RegExp;\n $RegExp.prototype = proto;\n require('./_redefine')(global, 'RegExp', $RegExp);\n}\n\nrequire('./_set-species')('RegExp');\n","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object');\nvar $flags = require('./_flags');\nvar DESCRIPTORS = require('./_descriptors');\nvar TO_STRING = 'toString';\nvar $toString = /./[TO_STRING];\n\nvar define = function (fn) {\n require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif (require('./_fails')(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n define(function toString() {\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if ($toString.name != TO_STRING) {\n define(function toString() {\n return $toString.call(this);\n });\n}\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar sameValue = require('./_same-value');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@search logic\nrequire('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative($search, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","'use strict';\n\nvar isRegExp = require('./_is-regexp');\nvar anObject = require('./_an-object');\nvar speciesConstructor = require('./_species-constructor');\nvar advanceStringIndex = require('./_advance-string-index');\nvar toLength = require('./_to-length');\nvar callRegExpExec = require('./_regexp-exec-abstract');\nvar regexpExec = require('./_regexp-exec');\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\n\n// eslint-disable-next-line no-empty\nvar SUPPORTS_Y = !!(function () { try { return new RegExp('x', 'y'); } catch (e) {} })();\n\n// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(this);\n if (separator === undefined && limit === 0) return [];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) return $split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? 4294967295 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy[LAST_INDEX];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if (output[LENGTH] >= splitLimit) break;\n }\n if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if (lastLastIndex === string[LENGTH]) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n };\n } else {\n internalSplit = $split;\n }\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = defined(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? 0xffffffff : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n});\n","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n","'use strict';\nvar weak = require('./_collection-weak');\nvar validate = require('./_validate-collection');\nvar WEAK_SET = 'WeakSet';\n\n// 23.4 WeakSet Objects\nrequire('./_collection')(WEAK_SET, function (get) {\n return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value) {\n return weak.def(validate(this, WEAK_SET), value, true);\n }\n}, weak, false, true);\n","'use strict';\nvar $export = require('./_export');\nvar $typed = require('./_typed');\nvar buffer = require('./_typed-buffer');\nvar anObject = require('./_an-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar isObject = require('./_is-object');\nvar ArrayBuffer = require('./_global').ArrayBuffer;\nvar speciesConstructor = require('./_species-constructor');\nvar $ArrayBuffer = buffer.ArrayBuffer;\nvar $DataView = buffer.DataView;\nvar $isView = $typed.ABV && ArrayBuffer.isView;\nvar $slice = $ArrayBuffer.prototype.slice;\nvar VIEW = $typed.VIEW;\nvar ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer });\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n // 24.1.3.1 ArrayBuffer.isView(arg)\n isView: function isView(it) {\n return $isView && $isView(it) || isObject(it) && VIEW in it;\n }\n});\n\n$export($export.P + $export.U + $export.F * require('./_fails')(function () {\n return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n slice: function slice(start, end) {\n if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix\n var len = anObject(this).byteLength;\n var first = toAbsoluteIndex(start, len);\n var fin = toAbsoluteIndex(end === undefined ? len : end, len);\n var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first));\n var viewS = new $DataView(this);\n var viewT = new $DataView(result);\n var index = 0;\n while (first < fin) {\n viewT.setUint8(index++, viewS.getUint8(first++));\n } return result;\n }\n});\n\nrequire('./_set-species')(ARRAY_BUFFER);\n","var $export = require('./_export');\n$export($export.G + $export.W + $export.F * !require('./_typed').ABV, {\n DataView: require('./_typed-buffer').DataView\n});\n","require('./_typed-array')('Int8', 1, function (init) {\n return function Int8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8ClampedArray(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n}, true);\n","require('./_typed-array')('Int16', 2, function (init) {\n return function Int16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint16', 2, function (init) {\n return function Uint16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Int32', 4, function (init) {\n return function Int32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint32', 4, function (init) {\n return function Uint32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Float32', 4, function (init) {\n return function Float32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Float64', 8, function (init) {\n return function Float64Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar rApply = (require('./_global').Reflect || {}).apply;\nvar fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function () {\n rApply(function () { /* empty */ });\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList) {\n var T = aFunction(target);\n var L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});\n","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export');\nvar create = require('./_object-create');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar bind = require('./_bind');\nvar rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n rConstruct(function () { /* empty */ });\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function () {\n // eslint-disable-next-line no-undef\n Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });\n}), 'Reflect', {\n defineProperty: function defineProperty(target, propertyKey, attributes) {\n anObject(target);\n propertyKey = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n dP.f(target, propertyKey, attributes);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export');\nvar gOPD = require('./_object-gopd').f;\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n deleteProperty: function deleteProperty(target, propertyKey) {\n var desc = gOPD(anObject(target), propertyKey);\n return desc && !desc.configurable ? false : delete target[propertyKey];\n }\n});\n","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar Enumerate = function (iterated) {\n this._t = anObject(iterated); // target\n this._i = 0; // next index\n var keys = this._k = []; // keys\n var key;\n for (key in iterated) keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function () {\n var that = this;\n var keys = that._k;\n var key;\n do {\n if (that._i >= keys.length) return { value: undefined, done: true };\n } while (!((key = keys[that._i++]) in that._t));\n return { value: key, done: false };\n});\n\n$export($export.S, 'Reflect', {\n enumerate: function enumerate(target) {\n return new Enumerate(target);\n }\n});\n","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\n\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var desc, proto;\n if (anObject(target) === receiver) return target[propertyKey];\n if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', { get: get });\n","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n return gOPD.f(anObject(target), propertyKey);\n }\n});\n","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export');\nvar getProto = require('./_object-gpo');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target) {\n return getProto(anObject(target));\n }\n});\n","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey) {\n return propertyKey in target;\n }\n});\n","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n isExtensible: function isExtensible(target) {\n anObject(target);\n return $isExtensible ? $isExtensible(target) : true;\n }\n});\n","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') });\n","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n preventExtensions: function preventExtensions(target) {\n anObject(target);\n try {\n if ($preventExtensions) $preventExtensions(target);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp');\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar createDesc = require('./_property-desc');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V /* , receiver */) {\n var receiver = arguments.length < 4 ? target : arguments[3];\n var ownDesc = gOPD.f(anObject(target), propertyKey);\n var existingDescriptor, proto;\n if (!ownDesc) {\n if (isObject(proto = getPrototypeOf(target))) {\n return set(proto, propertyKey, V, receiver);\n }\n ownDesc = createDesc(0);\n }\n if (has(ownDesc, 'value')) {\n if (ownDesc.writable === false || !isObject(receiver)) return false;\n if (existingDescriptor = gOPD.f(receiver, propertyKey)) {\n if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n } else dP.f(receiver, propertyKey, createDesc(0, V));\n return true;\n }\n return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', { set: set });\n","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export');\nvar setProto = require('./_set-proto');\n\nif (setProto) $export($export.S, 'Reflect', {\n setPrototypeOf: function setPrototypeOf(target, proto) {\n setProto.check(target, proto);\n try {\n setProto.set(target, proto);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) {\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar getOrCreateMetadataMap = metadata.map;\nvar store = metadata.store;\n\nmetadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {\n var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]);\n var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;\n if (metadataMap.size) return true;\n var targetMetadata = store.get(target);\n targetMetadata['delete'](targetKey);\n return !!targetMetadata.size || store['delete'](target);\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nvar ordinaryGetMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\nmetadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var Set = require('./es6.set');\nvar from = require('./_array-from-iterable');\nvar metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nvar ordinaryMetadataKeys = function (O, P) {\n var oKeys = ordinaryOwnMetadataKeys(O, P);\n var parent = getPrototypeOf(O);\n if (parent === null) return oKeys;\n var pKeys = ordinaryMetadataKeys(parent, P);\n return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\nmetadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) {\n return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) {\n return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nvar ordinaryHasMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return true;\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\nmetadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var $metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar toMetaKey = $metadata.key;\nvar ordinaryDefineOwnMetadata = $metadata.set;\n\n$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) {\n return function decorator(target, targetKey) {\n ordinaryDefineOwnMetadata(\n metadataKey, metadataValue,\n (targetKey !== undefined ? anObject : aFunction)(target),\n toMetaKey(targetKey)\n );\n };\n} });\n","/* tslint:disable */\nimport 'core-js/es6';\nimport 'core-js/es7/reflect';\nrequire('zone.js/dist/zone');\n\n// IE11 fix, ref: https://github.com/angular/angular/issues/24769\nif (!Element.prototype.matches && (Element.prototype as any).msMatchesSelector) {\n Element.prototype.matches = (Element.prototype as any).msMatchesSelector;\n}\n\nif (process.env.ENV === 'production') {\n // Production\n} else {\n // Development and test\n Error['stackTraceLimit'] = Infinity;\n require('zone.js/dist/long-stack-trace-zone');\n}\n\n// Other polyfills\nrequire('whatwg-fetch');\nrequire('webcrypto-shim');\n/* tslint:enable */\n","require('../modules/es6.symbol');\nrequire('../modules/es6.object.create');\nrequire('../modules/es6.object.define-property');\nrequire('../modules/es6.object.define-properties');\nrequire('../modules/es6.object.get-own-property-descriptor');\nrequire('../modules/es6.object.get-prototype-of');\nrequire('../modules/es6.object.keys');\nrequire('../modules/es6.object.get-own-property-names');\nrequire('../modules/es6.object.freeze');\nrequire('../modules/es6.object.seal');\nrequire('../modules/es6.object.prevent-extensions');\nrequire('../modules/es6.object.is-frozen');\nrequire('../modules/es6.object.is-sealed');\nrequire('../modules/es6.object.is-extensible');\nrequire('../modules/es6.object.assign');\nrequire('../modules/es6.object.is');\nrequire('../modules/es6.object.set-prototype-of');\nrequire('../modules/es6.object.to-string');\nrequire('../modules/es6.function.bind');\nrequire('../modules/es6.function.name');\nrequire('../modules/es6.function.has-instance');\nrequire('../modules/es6.parse-int');\nrequire('../modules/es6.parse-float');\nrequire('../modules/es6.number.constructor');\nrequire('../modules/es6.number.to-fixed');\nrequire('../modules/es6.number.to-precision');\nrequire('../modules/es6.number.epsilon');\nrequire('../modules/es6.number.is-finite');\nrequire('../modules/es6.number.is-integer');\nrequire('../modules/es6.number.is-nan');\nrequire('../modules/es6.number.is-safe-integer');\nrequire('../modules/es6.number.max-safe-integer');\nrequire('../modules/es6.number.min-safe-integer');\nrequire('../modules/es6.number.parse-float');\nrequire('../modules/es6.number.parse-int');\nrequire('../modules/es6.math.acosh');\nrequire('../modules/es6.math.asinh');\nrequire('../modules/es6.math.atanh');\nrequire('../modules/es6.math.cbrt');\nrequire('../modules/es6.math.clz32');\nrequire('../modules/es6.math.cosh');\nrequire('../modules/es6.math.expm1');\nrequire('../modules/es6.math.fround');\nrequire('../modules/es6.math.hypot');\nrequire('../modules/es6.math.imul');\nrequire('../modules/es6.math.log10');\nrequire('../modules/es6.math.log1p');\nrequire('../modules/es6.math.log2');\nrequire('../modules/es6.math.sign');\nrequire('../modules/es6.math.sinh');\nrequire('../modules/es6.math.tanh');\nrequire('../modules/es6.math.trunc');\nrequire('../modules/es6.string.from-code-point');\nrequire('../modules/es6.string.raw');\nrequire('../modules/es6.string.trim');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/es6.string.code-point-at');\nrequire('../modules/es6.string.ends-with');\nrequire('../modules/es6.string.includes');\nrequire('../modules/es6.string.repeat');\nrequire('../modules/es6.string.starts-with');\nrequire('../modules/es6.string.anchor');\nrequire('../modules/es6.string.big');\nrequire('../modules/es6.string.blink');\nrequire('../modules/es6.string.bold');\nrequire('../modules/es6.string.fixed');\nrequire('../modules/es6.string.fontcolor');\nrequire('../modules/es6.string.fontsize');\nrequire('../modules/es6.string.italics');\nrequire('../modules/es6.string.link');\nrequire('../modules/es6.string.small');\nrequire('../modules/es6.string.strike');\nrequire('../modules/es6.string.sub');\nrequire('../modules/es6.string.sup');\nrequire('../modules/es6.date.now');\nrequire('../modules/es6.date.to-json');\nrequire('../modules/es6.date.to-iso-string');\nrequire('../modules/es6.date.to-string');\nrequire('../modules/es6.date.to-primitive');\nrequire('../modules/es6.array.is-array');\nrequire('../modules/es6.array.from');\nrequire('../modules/es6.array.of');\nrequire('../modules/es6.array.join');\nrequire('../modules/es6.array.slice');\nrequire('../modules/es6.array.sort');\nrequire('../modules/es6.array.for-each');\nrequire('../modules/es6.array.map');\nrequire('../modules/es6.array.filter');\nrequire('../modules/es6.array.some');\nrequire('../modules/es6.array.every');\nrequire('../modules/es6.array.reduce');\nrequire('../modules/es6.array.reduce-right');\nrequire('../modules/es6.array.index-of');\nrequire('../modules/es6.array.last-index-of');\nrequire('../modules/es6.array.copy-within');\nrequire('../modules/es6.array.fill');\nrequire('../modules/es6.array.find');\nrequire('../modules/es6.array.find-index');\nrequire('../modules/es6.array.species');\nrequire('../modules/es6.array.iterator');\nrequire('../modules/es6.regexp.constructor');\nrequire('../modules/es6.regexp.exec');\nrequire('../modules/es6.regexp.to-string');\nrequire('../modules/es6.regexp.flags');\nrequire('../modules/es6.regexp.match');\nrequire('../modules/es6.regexp.replace');\nrequire('../modules/es6.regexp.search');\nrequire('../modules/es6.regexp.split');\nrequire('../modules/es6.promise');\nrequire('../modules/es6.map');\nrequire('../modules/es6.set');\nrequire('../modules/es6.weak-map');\nrequire('../modules/es6.weak-set');\nrequire('../modules/es6.typed.array-buffer');\nrequire('../modules/es6.typed.data-view');\nrequire('../modules/es6.typed.int8-array');\nrequire('../modules/es6.typed.uint8-array');\nrequire('../modules/es6.typed.uint8-clamped-array');\nrequire('../modules/es6.typed.int16-array');\nrequire('../modules/es6.typed.uint16-array');\nrequire('../modules/es6.typed.int32-array');\nrequire('../modules/es6.typed.uint32-array');\nrequire('../modules/es6.typed.float32-array');\nrequire('../modules/es6.typed.float64-array');\nrequire('../modules/es6.reflect.apply');\nrequire('../modules/es6.reflect.construct');\nrequire('../modules/es6.reflect.define-property');\nrequire('../modules/es6.reflect.delete-property');\nrequire('../modules/es6.reflect.enumerate');\nrequire('../modules/es6.reflect.get');\nrequire('../modules/es6.reflect.get-own-property-descriptor');\nrequire('../modules/es6.reflect.get-prototype-of');\nrequire('../modules/es6.reflect.has');\nrequire('../modules/es6.reflect.is-extensible');\nrequire('../modules/es6.reflect.own-keys');\nrequire('../modules/es6.reflect.prevent-extensions');\nrequire('../modules/es6.reflect.set');\nrequire('../modules/es6.reflect.set-prototype-of');\nmodule.exports = require('../modules/_core');\n","require('../modules/es7.reflect.define-metadata');\nrequire('../modules/es7.reflect.delete-metadata');\nrequire('../modules/es7.reflect.get-metadata');\nrequire('../modules/es7.reflect.get-metadata-keys');\nrequire('../modules/es7.reflect.get-own-metadata');\nrequire('../modules/es7.reflect.get-own-metadata-keys');\nrequire('../modules/es7.reflect.has-metadata');\nrequire('../modules/es7.reflect.has-own-metadata');\nrequire('../modules/es7.reflect.metadata');\nmodule.exports = require('../modules/_core').Reflect;\n","/**\n* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes\n* (c) 2010-2020 Google LLC. https://angular.io/\n* License: MIT\n*/\n(function (factory) {\n typeof define === 'function' && define.amd ? define(factory) :\n factory();\n}((function () {\n 'use strict';\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var Zone$1 = (function (global) {\n var performance = global['performance'];\n function mark(name) { performance && performance['mark'] && performance['mark'](name); }\n function performanceMeasure(name, label) {\n performance && performance['measure'] && performance['measure'](name, label);\n }\n mark('Zone');\n // Initialize before it's accessed below.\n // __Zone_symbol_prefix global can be used to override the default zone\n // symbol prefix with a custom one if needed.\n var symbolPrefix = global['__Zone_symbol_prefix'] || '__zone_symbol__';\n function __symbol__(name) { return symbolPrefix + name; }\n var checkDuplicate = global[__symbol__('forceDuplicateZoneCheck')] === true;\n if (global['Zone']) {\n // if global['Zone'] already exists (maybe zone.js was already loaded or\n // some other lib also registered a global object named Zone), we may need\n // to throw an error, but sometimes user may not want this error.\n // For example,\n // we have two web pages, page1 includes zone.js, page2 doesn't.\n // and the 1st time user load page1 and page2, everything work fine,\n // but when user load page2 again, error occurs because global['Zone'] already exists.\n // so we add a flag to let user choose whether to throw this error or not.\n // By default, if existing Zone is from zone.js, we will not throw the error.\n if (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function') {\n throw new Error('Zone already loaded.');\n }\n else {\n return global['Zone'];\n }\n }\n var Zone = /** @class */ (function () {\n function Zone(parent, zoneSpec) {\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';\n this._properties = zoneSpec && zoneSpec.properties || {};\n this._zoneDelegate =\n new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n Zone.assertZonePatched = function () {\n if (global['Promise'] !== patches['ZoneAwarePromise']) {\n throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +\n 'has been overwritten.\\n' +\n 'Most likely cause is that a Promise polyfill has been loaded ' +\n 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +\n 'If you must load one, do so before loading zone.js.)');\n }\n };\n Object.defineProperty(Zone, \"root\", {\n get: function () {\n var zone = Zone.current;\n while (zone.parent) {\n zone = zone.parent;\n }\n return zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"current\", {\n get: function () { return _currentZoneFrame.zone; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"currentTask\", {\n get: function () { return _currentTask; },\n enumerable: true,\n configurable: true\n });\n // tslint:disable-next-line:require-internal-with-underscore\n Zone.__load_patch = function (name, fn) {\n if (patches.hasOwnProperty(name)) {\n if (checkDuplicate) {\n throw Error('Already loaded patch: ' + name);\n }\n }\n else if (!global['__Zone_disable_' + name]) {\n var perfName = 'Zone:' + name;\n mark(perfName);\n patches[name] = fn(global, Zone, _api);\n performanceMeasure(perfName, perfName);\n }\n };\n Object.defineProperty(Zone.prototype, \"parent\", {\n get: function () { return this._parent; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone.prototype, \"name\", {\n get: function () { return this._name; },\n enumerable: true,\n configurable: true\n });\n Zone.prototype.get = function (key) {\n var zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n };\n Zone.prototype.getZoneWith = function (key) {\n var current = this;\n while (current) {\n if (current._properties.hasOwnProperty(key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n };\n Zone.prototype.fork = function (zoneSpec) {\n if (!zoneSpec)\n throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n };\n Zone.prototype.wrap = function (callback, source) {\n if (typeof callback !== 'function') {\n throw new Error('Expecting function got: ' + callback);\n }\n var _callback = this._zoneDelegate.intercept(this, callback, source);\n var zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n };\n Zone.prototype.run = function (callback, applyThis, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runGuarded = function (callback, applyThis, applyArgs, source) {\n if (applyThis === void 0) { applyThis = null; }\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runTask = function (task, applyThis, applyArgs) {\n if (task.zone != this) {\n throw new Error('A task can only be run in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n }\n // https://github.com/angular/zone.js/issues/778, sometimes eventTask\n // will run in notScheduled(canceled) state, we should not try to\n // run such kind of task but just return\n if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) {\n return;\n }\n var reEntryGuard = task.state != running;\n reEntryGuard && task._transitionTo(running, scheduled);\n task.runCount++;\n var previousTask = _currentTask;\n _currentTask = task;\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n if (task.type == macroTask && task.data && !task.data.isPeriodic) {\n task.cancelFn = undefined;\n }\n try {\n return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n // if the task's state is notScheduled or unknown, then it has already been cancelled\n // we should not reset the state to scheduled\n if (task.state !== notScheduled && task.state !== unknown) {\n if (task.type == eventTask || (task.data && task.data.isPeriodic)) {\n reEntryGuard && task._transitionTo(scheduled, running);\n }\n else {\n task.runCount = 0;\n this._updateTaskCount(task, -1);\n reEntryGuard &&\n task._transitionTo(notScheduled, running, notScheduled);\n }\n }\n _currentZoneFrame = _currentZoneFrame.parent;\n _currentTask = previousTask;\n }\n };\n Zone.prototype.scheduleTask = function (task) {\n if (task.zone && task.zone !== this) {\n // check if the task was rescheduled, the newZone\n // should not be the children of the original zone\n var newZone = this;\n while (newZone) {\n if (newZone === task.zone) {\n throw Error(\"can not reschedule task to \" + this.name + \" which is descendants of the original zone \" + task.zone.name);\n }\n newZone = newZone.parent;\n }\n }\n task._transitionTo(scheduling, notScheduled);\n var zoneDelegates = [];\n task._zoneDelegates = zoneDelegates;\n task._zone = this;\n try {\n task = this._zoneDelegate.scheduleTask(this, task);\n }\n catch (err) {\n // should set task's state to unknown when scheduleTask throw error\n // because the err may from reschedule, so the fromState maybe notScheduled\n task._transitionTo(unknown, scheduling, notScheduled);\n // TODO: @JiaLiPassion, should we check the result from handleError?\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n if (task._zoneDelegates === zoneDelegates) {\n // we have to check because internally the delegate can reschedule the task.\n this._updateTaskCount(task, 1);\n }\n if (task.state == scheduling) {\n task._transitionTo(scheduled, scheduling);\n }\n return task;\n };\n Zone.prototype.scheduleMicroTask = function (source, callback, data, customSchedule) {\n return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined));\n };\n Zone.prototype.scheduleMacroTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.scheduleEventTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.cancelTask = function (task) {\n if (task.zone != this)\n throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n task._transitionTo(canceling, scheduled, running);\n try {\n this._zoneDelegate.cancelTask(this, task);\n }\n catch (err) {\n // if error occurs when cancelTask, transit the state to unknown\n task._transitionTo(unknown, canceling);\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n this._updateTaskCount(task, -1);\n task._transitionTo(notScheduled, canceling);\n task.runCount = 0;\n return task;\n };\n Zone.prototype._updateTaskCount = function (task, count) {\n var zoneDelegates = task._zoneDelegates;\n if (count == -1) {\n task._zoneDelegates = null;\n }\n for (var i = 0; i < zoneDelegates.length; i++) {\n zoneDelegates[i]._updateTaskCount(task.type, count);\n }\n };\n return Zone;\n }());\n // tslint:disable-next-line:require-internal-with-underscore\n Zone.__symbol__ = __symbol__;\n var DELEGATE_ZS = {\n name: '',\n onHasTask: function (delegate, _, target, hasTaskState) { return delegate.hasTask(target, hasTaskState); },\n onScheduleTask: function (delegate, _, target, task) { return delegate.scheduleTask(target, task); },\n onInvokeTask: function (delegate, _, target, task, applyThis, applyArgs) { return delegate.invokeTask(target, task, applyThis, applyArgs); },\n onCancelTask: function (delegate, _, target, task) { return delegate.cancelTask(target, task); }\n };\n var ZoneDelegate = /** @class */ (function () {\n function ZoneDelegate(zone, parentDelegate, zoneSpec) {\n this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 };\n this.zone = zone;\n this._parentDelegate = parentDelegate;\n this._forkZS =\n zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone =\n zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate._forkCurrZone);\n this._interceptZS =\n zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt =\n zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._interceptCurrZone =\n zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate._interceptCurrZone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt =\n zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone =\n zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate._invokeCurrZone);\n this._handleErrorZS =\n zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt = zoneSpec &&\n (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone =\n zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate._handleErrorCurrZone);\n this._scheduleTaskZS =\n zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt = zoneSpec &&\n (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone = zoneSpec &&\n (zoneSpec.onScheduleTask ? this.zone : parentDelegate._scheduleTaskCurrZone);\n this._invokeTaskZS =\n zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt =\n zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._invokeTaskCurrZone =\n zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate._invokeTaskCurrZone);\n this._cancelTaskZS =\n zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt =\n zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._cancelTaskCurrZone =\n zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate._cancelTaskCurrZone);\n this._hasTaskZS = null;\n this._hasTaskDlgt = null;\n this._hasTaskDlgtOwner = null;\n this._hasTaskCurrZone = null;\n var zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n var parentHasTask = parentDelegate && parentDelegate._hasTaskZS;\n if (zoneSpecHasTask || parentHasTask) {\n // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such\n // a case all task related interceptors must go through this ZD. We can't short circuit it.\n this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;\n this._hasTaskDlgt = parentDelegate;\n this._hasTaskDlgtOwner = this;\n this._hasTaskCurrZone = zone;\n if (!zoneSpec.onScheduleTask) {\n this._scheduleTaskZS = DELEGATE_ZS;\n this._scheduleTaskDlgt = parentDelegate;\n this._scheduleTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onInvokeTask) {\n this._invokeTaskZS = DELEGATE_ZS;\n this._invokeTaskDlgt = parentDelegate;\n this._invokeTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onCancelTask) {\n this._cancelTaskZS = DELEGATE_ZS;\n this._cancelTaskDlgt = parentDelegate;\n this._cancelTaskCurrZone = this.zone;\n }\n }\n }\n ZoneDelegate.prototype.fork = function (targetZone, zoneSpec) {\n return this._forkZS ?\n this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :\n new Zone(targetZone, zoneSpec);\n };\n ZoneDelegate.prototype.intercept = function (targetZone, callback, source) {\n return this._interceptZS ?\n this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) :\n callback;\n };\n ZoneDelegate.prototype.invoke = function (targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS ?\n this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) :\n callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.handleError = function (targetZone, error) {\n return this._handleErrorZS ?\n this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) :\n true;\n };\n ZoneDelegate.prototype.scheduleTask = function (targetZone, task) {\n var returnTask = task;\n if (this._scheduleTaskZS) {\n if (this._hasTaskZS) {\n returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);\n }\n // clang-format off\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n // clang-format on\n if (!returnTask)\n returnTask = task;\n }\n else {\n if (task.scheduleFn) {\n task.scheduleFn(task);\n }\n else if (task.type == microTask) {\n scheduleMicroTask(task);\n }\n else {\n throw new Error('Task is missing scheduleFn.');\n }\n }\n return returnTask;\n };\n ZoneDelegate.prototype.invokeTask = function (targetZone, task, applyThis, applyArgs) {\n return this._invokeTaskZS ?\n this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) :\n task.callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.cancelTask = function (targetZone, task) {\n var value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n }\n else {\n if (!task.cancelFn) {\n throw Error('Task is not cancelable');\n }\n value = task.cancelFn(task);\n }\n return value;\n };\n ZoneDelegate.prototype.hasTask = function (targetZone, isEmpty) {\n // hasTask should not throw error so other ZoneDelegate\n // can still trigger hasTask callback\n try {\n this._hasTaskZS &&\n this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n }\n catch (err) {\n this.handleError(targetZone, err);\n }\n };\n // tslint:disable-next-line:require-internal-with-underscore\n ZoneDelegate.prototype._updateTaskCount = function (type, count) {\n var counts = this._taskCounts;\n var prev = counts[type];\n var next = counts[type] = prev + count;\n if (next < 0) {\n throw new Error('More tasks executed then were scheduled.');\n }\n if (prev == 0 || next == 0) {\n var isEmpty = {\n microTask: counts['microTask'] > 0,\n macroTask: counts['macroTask'] > 0,\n eventTask: counts['eventTask'] > 0,\n change: type\n };\n this.hasTask(this.zone, isEmpty);\n }\n };\n return ZoneDelegate;\n }());\n var ZoneTask = /** @class */ (function () {\n function ZoneTask(type, source, callback, options, scheduleFn, cancelFn) {\n // tslint:disable-next-line:require-internal-with-underscore\n this._zone = null;\n this.runCount = 0;\n // tslint:disable-next-line:require-internal-with-underscore\n this._zoneDelegates = null;\n // tslint:disable-next-line:require-internal-with-underscore\n this._state = 'notScheduled';\n this.type = type;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n if (!callback) {\n throw new Error('callback is not defined');\n }\n this.callback = callback;\n var self = this;\n // TODO: @JiaLiPassion options should have interface\n if (type === eventTask && options && options.useG) {\n this.invoke = ZoneTask.invokeTask;\n }\n else {\n this.invoke = function () {\n return ZoneTask.invokeTask.call(global, self, this, arguments);\n };\n }\n }\n ZoneTask.invokeTask = function (task, target, args) {\n if (!task) {\n task = this;\n }\n _numberOfNestedTaskFrames++;\n try {\n task.runCount++;\n return task.zone.runTask(task, target, args);\n }\n finally {\n if (_numberOfNestedTaskFrames == 1) {\n drainMicroTaskQueue();\n }\n _numberOfNestedTaskFrames--;\n }\n };\n Object.defineProperty(ZoneTask.prototype, \"zone\", {\n get: function () { return this._zone; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ZoneTask.prototype, \"state\", {\n get: function () { return this._state; },\n enumerable: true,\n configurable: true\n });\n ZoneTask.prototype.cancelScheduleRequest = function () { this._transitionTo(notScheduled, scheduling); };\n // tslint:disable-next-line:require-internal-with-underscore\n ZoneTask.prototype._transitionTo = function (toState, fromState1, fromState2) {\n if (this._state === fromState1 || this._state === fromState2) {\n this._state = toState;\n if (toState == notScheduled) {\n this._zoneDelegates = null;\n }\n }\n else {\n throw new Error(this.type + \" '\" + this.source + \"': can not transition to '\" + toState + \"', expecting state '\" + fromState1 + \"'\" + (fromState2 ? ' or \\'' + fromState2 + '\\'' : '') + \", was '\" + this._state + \"'.\");\n }\n };\n ZoneTask.prototype.toString = function () {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId.toString();\n }\n else {\n return Object.prototype.toString.call(this);\n }\n };\n // add toJSON method to prevent cyclic error when\n // call JSON.stringify(zoneTask)\n ZoneTask.prototype.toJSON = function () {\n return {\n type: this.type,\n state: this.state,\n source: this.source,\n zone: this.zone.name,\n runCount: this.runCount\n };\n };\n return ZoneTask;\n }());\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// MICROTASK QUEUE\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var symbolSetTimeout = __symbol__('setTimeout');\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var _microTaskQueue = [];\n var _isDrainingMicrotaskQueue = false;\n var nativeMicroTaskQueuePromise;\n function scheduleMicroTask(task) {\n // if we are not running in any task, and there has not been anything scheduled\n // we must bootstrap the initial task creation by manually scheduling the drain\n if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {\n // We are not running in Task, so we need to kickstart the microtask queue.\n if (!nativeMicroTaskQueuePromise) {\n if (global[symbolPromise]) {\n nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n }\n }\n if (nativeMicroTaskQueuePromise) {\n var nativeThen = nativeMicroTaskQueuePromise[symbolThen];\n if (!nativeThen) {\n // native Promise is not patchable, we need to use `then` directly\n // issue 1078\n nativeThen = nativeMicroTaskQueuePromise['then'];\n }\n nativeThen.call(nativeMicroTaskQueuePromise, drainMicroTaskQueue);\n }\n else {\n global[symbolSetTimeout](drainMicroTaskQueue, 0);\n }\n }\n task && _microTaskQueue.push(task);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n var queue = _microTaskQueue;\n _microTaskQueue = [];\n for (var i = 0; i < queue.length; i++) {\n var task = queue[i];\n try {\n task.zone.runTask(task, null, null);\n }\n catch (error) {\n _api.onUnhandledError(error);\n }\n }\n }\n _api.microtaskDrainDone();\n _isDrainingMicrotaskQueue = false;\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// BOOTSTRAP\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var NO_ZONE = { name: 'NO ZONE' };\n var notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';\n var microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';\n var patches = {};\n var _api = {\n symbol: __symbol__,\n currentZoneFrame: function () { return _currentZoneFrame; },\n onUnhandledError: noop,\n microtaskDrainDone: noop,\n scheduleMicroTask: scheduleMicroTask,\n showUncaughtError: function () { return !Zone[__symbol__('ignoreConsoleErrorUncaughtError')]; },\n patchEventTarget: function () { return []; },\n patchOnProperties: noop,\n patchMethod: function () { return noop; },\n bindArguments: function () { return []; },\n patchThen: function () { return noop; },\n patchMacroTask: function () { return noop; },\n setNativePromise: function (NativePromise) {\n // sometimes NativePromise.resolve static function\n // is not ready yet, (such as core-js/es6.promise)\n // so we need to check here.\n if (NativePromise && typeof NativePromise.resolve === 'function') {\n nativeMicroTaskQueuePromise = NativePromise.resolve(0);\n }\n },\n patchEventPrototype: function () { return noop; },\n isIEOrEdge: function () { return false; },\n getGlobalObjects: function () { return undefined; },\n ObjectDefineProperty: function () { return noop; },\n ObjectGetOwnPropertyDescriptor: function () { return undefined; },\n ObjectCreate: function () { return undefined; },\n ArraySlice: function () { return []; },\n patchClass: function () { return noop; },\n wrapWithCurrentZone: function () { return noop; },\n filterProperties: function () { return []; },\n attachOriginToPatched: function () { return noop; },\n _redefineProperty: function () { return noop; },\n patchCallbacks: function () { return noop; }\n };\n var _currentZoneFrame = { parent: null, zone: new Zone(null, null) };\n var _currentTask = null;\n var _numberOfNestedTaskFrames = 0;\n function noop() { }\n performanceMeasure('Zone', 'Zone');\n return global['Zone'] = Zone;\n })(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n Zone.__load_patch('ZoneAwarePromise', function (global, Zone, api) {\n var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n var ObjectDefineProperty = Object.defineProperty;\n function readableObjectToString(obj) {\n if (obj && obj.toString === Object.prototype.toString) {\n var className = obj.constructor && obj.constructor.name;\n return (className ? className : '') + ': ' + JSON.stringify(obj);\n }\n return obj ? obj.toString() : Object.prototype.toString.call(obj);\n }\n var __symbol__ = api.symbol;\n var _uncaughtPromiseErrors = [];\n var isDisableWrappingUncaughtPromiseRejection = global[__symbol__('DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION')] === true;\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var creationTrace = '__creationTrace__';\n api.onUnhandledError = function (e) {\n if (api.showUncaughtError()) {\n var rejection = e && e.rejection;\n if (rejection) {\n console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n }\n else {\n console.error(e);\n }\n }\n };\n api.microtaskDrainDone = function () {\n var _loop_1 = function () {\n var uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(function () { throw uncaughtPromiseError; });\n }\n catch (error) {\n handleUnhandledRejection(error);\n }\n };\n while (_uncaughtPromiseErrors.length) {\n _loop_1();\n }\n };\n var UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');\n function handleUnhandledRejection(e) {\n api.onUnhandledError(e);\n try {\n var handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];\n if (typeof handler === 'function') {\n handler.call(this, e);\n }\n }\n catch (err) {\n }\n }\n function isThenable(value) { return value && value.then; }\n function forwardResolution(value) { return value; }\n function forwardRejection(rejection) { return ZoneAwarePromise.reject(rejection); }\n var symbolState = __symbol__('state');\n var symbolValue = __symbol__('value');\n var symbolFinally = __symbol__('finally');\n var symbolParentPromiseValue = __symbol__('parentPromiseValue');\n var symbolParentPromiseState = __symbol__('parentPromiseState');\n var source = 'Promise.then';\n var UNRESOLVED = null;\n var RESOLVED = true;\n var REJECTED = false;\n var REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return function (v) {\n try {\n resolvePromise(promise, state, v);\n }\n catch (err) {\n resolvePromise(promise, false, err);\n }\n // Do not return value or you will break the Promise spec.\n };\n }\n var once = function () {\n var wasCalled = false;\n return function wrapper(wrappedFunction) {\n return function () {\n if (wasCalled) {\n return;\n }\n wasCalled = true;\n wrappedFunction.apply(null, arguments);\n };\n };\n };\n var TYPE_ERROR = 'Promise resolved with itself';\n var CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');\n // Promise Resolution\n function resolvePromise(promise, state, value) {\n var onceWrapper = once();\n if (promise === value) {\n throw new TypeError(TYPE_ERROR);\n }\n if (promise[symbolState] === UNRESOLVED) {\n // should only get value.then once based on promise spec.\n var then = null;\n try {\n if (typeof value === 'object' || typeof value === 'function') {\n then = value && value.then;\n }\n }\n catch (err) {\n onceWrapper(function () { resolvePromise(promise, false, err); })();\n return promise;\n }\n // if (value instanceof ZoneAwarePromise) {\n if (state !== REJECTED && value instanceof ZoneAwarePromise &&\n value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) &&\n value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n }\n else if (state !== REJECTED && typeof then === 'function') {\n try {\n then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));\n }\n catch (err) {\n onceWrapper(function () { resolvePromise(promise, false, err); })();\n }\n }\n else {\n promise[symbolState] = state;\n var queue = promise[symbolValue];\n promise[symbolValue] = value;\n if (promise[symbolFinally] === symbolFinally) {\n // the promise is generated by Promise.prototype.finally\n if (state === RESOLVED) {\n // the state is resolved, should ignore the value\n // and use parent promise value\n promise[symbolState] = promise[symbolParentPromiseState];\n promise[symbolValue] = promise[symbolParentPromiseValue];\n }\n }\n // record task information in value when error occurs, so we can\n // do some additional work such as render longStackTrace\n if (state === REJECTED && value instanceof Error) {\n // check if longStackTraceZone is here\n var trace = Zone.currentTask && Zone.currentTask.data &&\n Zone.currentTask.data[creationTrace];\n if (trace) {\n // only keep the long stack trace into error when in longStackTraceZone\n ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace });\n }\n }\n for (var i = 0; i < queue.length;) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n var uncaughtPromiseError = value;\n if (!isDisableWrappingUncaughtPromiseRejection) {\n // If disable wrapping uncaught promise reject\n // and the rejected value is an Error object,\n // use the value instead of wrapping it.\n try {\n // Here we throws a new Error to print more readable error log\n // and if the value is not an error, zone.js builds an `Error`\n // Object here to attach the stack information.\n throw new Error('Uncaught (in promise): ' + readableObjectToString(value) +\n (value && value.stack ? '\\n' + value.stack : ''));\n }\n catch (err) {\n uncaughtPromiseError = err;\n }\n }\n uncaughtPromiseError.rejection = value;\n uncaughtPromiseError.promise = promise;\n uncaughtPromiseError.zone = Zone.current;\n uncaughtPromiseError.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(uncaughtPromiseError);\n api.scheduleMicroTask(); // to make sure that it is running\n }\n }\n }\n // Resolving an already resolved promise is a noop.\n return promise;\n }\n var REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n // if the promise is rejected no catch status\n // and queue.length > 0, means there is a error handler\n // here to handle the rejected promise, we should trigger\n // windows.rejectionhandled eventHandler or nodejs rejectionHandled\n // eventHandler\n try {\n var handler = Zone[REJECTION_HANDLED_HANDLER];\n if (handler && typeof handler === 'function') {\n handler.call(this, { rejection: promise[symbolValue], promise: promise });\n }\n }\n catch (err) {\n }\n promise[symbolState] = REJECTED;\n for (var i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n var promiseState = promise[symbolState];\n var delegate = promiseState ?\n (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution :\n (typeof onRejected === 'function') ? onRejected : forwardRejection;\n zone.scheduleMicroTask(source, function () {\n try {\n var parentPromiseValue = promise[symbolValue];\n var isFinallyPromise = !!chainPromise && symbolFinally === chainPromise[symbolFinally];\n if (isFinallyPromise) {\n // if the promise is generated from finally call, keep parent promise's state and value\n chainPromise[symbolParentPromiseValue] = parentPromiseValue;\n chainPromise[symbolParentPromiseState] = promiseState;\n }\n // should not pass value to finally callback\n var value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ?\n [] :\n [parentPromiseValue]);\n resolvePromise(chainPromise, true, value);\n }\n catch (error) {\n // if error occurs, should always return this error\n resolvePromise(chainPromise, false, error);\n }\n }, chainPromise);\n }\n var ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n var noop = function () { };\n var ZoneAwarePromise = /** @class */ (function () {\n function ZoneAwarePromise(executor) {\n var promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error('Must be an instanceof Promise.');\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = []; // queue;\n try {\n executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED));\n }\n catch (error) {\n resolvePromise(promise, false, error);\n }\n }\n ZoneAwarePromise.toString = function () { return ZONE_AWARE_PROMISE_TO_STRING; };\n ZoneAwarePromise.resolve = function (value) {\n return resolvePromise(new this(null), RESOLVED, value);\n };\n ZoneAwarePromise.reject = function (error) {\n return resolvePromise(new this(null), REJECTED, error);\n };\n ZoneAwarePromise.race = function (values) {\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n function onResolve(value) { resolve(value); }\n function onReject(error) { reject(error); }\n for (var _i = 0, values_1 = values; _i < values_1.length; _i++) {\n var value = values_1[_i];\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n return promise;\n };\n ZoneAwarePromise.all = function (values) { return ZoneAwarePromise.allWithCallback(values); };\n ZoneAwarePromise.allSettled = function (values) {\n var P = this && this.prototype instanceof ZoneAwarePromise ? this : ZoneAwarePromise;\n return P.allWithCallback(values, {\n thenCallback: function (value) { return ({ status: 'fulfilled', value: value }); },\n errorCallback: function (err) { return ({ status: 'rejected', reason: err }); }\n });\n };\n ZoneAwarePromise.allWithCallback = function (values, callback) {\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n // Start at 2 to prevent prematurely resolving if .then is called immediately.\n var unresolvedCount = 2;\n var valueIndex = 0;\n var resolvedValues = [];\n var _loop_2 = function (value) {\n if (!isThenable(value)) {\n value = this_1.resolve(value);\n }\n var curValueIndex = valueIndex;\n try {\n value.then(function (value) {\n resolvedValues[curValueIndex] = callback ? callback.thenCallback(value) : value;\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }, function (err) {\n if (!callback) {\n reject(err);\n }\n else {\n resolvedValues[curValueIndex] = callback.errorCallback(err);\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }\n });\n }\n catch (thenErr) {\n reject(thenErr);\n }\n unresolvedCount++;\n valueIndex++;\n };\n var this_1 = this;\n for (var _i = 0, values_2 = values; _i < values_2.length; _i++) {\n var value = values_2[_i];\n _loop_2(value);\n }\n // Make the unresolvedCount zero-based again.\n unresolvedCount -= 2;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n return promise;\n };\n Object.defineProperty(ZoneAwarePromise.prototype, Symbol.toStringTag, {\n get: function () { return 'Promise'; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ZoneAwarePromise.prototype, Symbol.species, {\n get: function () { return ZoneAwarePromise; },\n enumerable: true,\n configurable: true\n });\n ZoneAwarePromise.prototype.then = function (onFulfilled, onRejected) {\n var C = this.constructor[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = this.constructor || ZoneAwarePromise;\n }\n var chainPromise = new C(noop);\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n };\n ZoneAwarePromise.prototype.catch = function (onRejected) {\n return this.then(null, onRejected);\n };\n ZoneAwarePromise.prototype.finally = function (onFinally) {\n var C = this.constructor[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = ZoneAwarePromise;\n }\n var chainPromise = new C(noop);\n chainPromise[symbolFinally] = symbolFinally;\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFinally, onFinally);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);\n }\n return chainPromise;\n };\n return ZoneAwarePromise;\n }());\n // Protect against aggressive optimizers dropping seemingly unused properties.\n // E.g. Closure Compiler in advanced mode.\n ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n var NativePromise = global[symbolPromise] = global['Promise'];\n var ZONE_AWARE_PROMISE = Zone.__symbol__('ZoneAwarePromise');\n var desc = ObjectGetOwnPropertyDescriptor(global, 'Promise');\n if (!desc || desc.configurable) {\n desc && delete desc.writable;\n desc && delete desc.value;\n if (!desc) {\n desc = { configurable: true, enumerable: true };\n }\n desc.get = function () {\n // if we already set ZoneAwarePromise, use patched one\n // otherwise return native one.\n return global[ZONE_AWARE_PROMISE] ? global[ZONE_AWARE_PROMISE] : global[symbolPromise];\n };\n desc.set = function (NewNativePromise) {\n if (NewNativePromise === ZoneAwarePromise) {\n // if the NewNativePromise is ZoneAwarePromise\n // save to global\n global[ZONE_AWARE_PROMISE] = NewNativePromise;\n }\n else {\n // if the NewNativePromise is not ZoneAwarePromise\n // for example: after load zone.js, some library just\n // set es6-promise to global, if we set it to global\n // directly, assertZonePatched will fail and angular\n // will not loaded, so we just set the NewNativePromise\n // to global[symbolPromise], so the result is just like\n // we load ES6 Promise before zone.js\n global[symbolPromise] = NewNativePromise;\n if (!NewNativePromise.prototype[symbolThen]) {\n patchThen(NewNativePromise);\n }\n api.setNativePromise(NewNativePromise);\n }\n };\n ObjectDefineProperty(global, 'Promise', desc);\n }\n global['Promise'] = ZoneAwarePromise;\n var symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n var proto = Ctor.prototype;\n var prop = ObjectGetOwnPropertyDescriptor(proto, 'then');\n if (prop && (prop.writable === false || !prop.configurable)) {\n // check Ctor.prototype.then propertyDescriptor is writable or not\n // in meteor env, writable is false, we should ignore such case\n return;\n }\n var originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n Ctor.prototype.then = function (onResolve, onReject) {\n var _this = this;\n var wrapped = new ZoneAwarePromise(function (resolve, reject) { originalThen.call(_this, resolve, reject); });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n api.patchThen = patchThen;\n function zoneify(fn) {\n return function () {\n var resultPromise = fn.apply(this, arguments);\n if (resultPromise instanceof ZoneAwarePromise) {\n return resultPromise;\n }\n var ctor = resultPromise.constructor;\n if (!ctor[symbolThenPatched]) {\n patchThen(ctor);\n }\n return resultPromise;\n };\n }\n if (NativePromise) {\n patchThen(NativePromise);\n var fetch_1 = global['fetch'];\n if (typeof fetch_1 == 'function') {\n global[api.symbol('fetch')] = fetch_1;\n global['fetch'] = zoneify(fetch_1);\n }\n }\n // This is not part of public API, but it is useful for tests, so we expose it.\n Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n return ZoneAwarePromise;\n });\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n /**\n * Suppress closure compiler errors about unknown 'Zone' variable\n * @fileoverview\n * @suppress {undefinedVars,globalThis,missingRequire}\n */\n /// \n // issue #989, to reduce bundle size, use short name\n /** Object.getOwnPropertyDescriptor */\n var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n /** Object.defineProperty */\n var ObjectDefineProperty = Object.defineProperty;\n /** Object.getPrototypeOf */\n var ObjectGetPrototypeOf = Object.getPrototypeOf;\n /** Object.create */\n var ObjectCreate = Object.create;\n /** Array.prototype.slice */\n var ArraySlice = Array.prototype.slice;\n /** addEventListener string const */\n var ADD_EVENT_LISTENER_STR = 'addEventListener';\n /** removeEventListener string const */\n var REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\n /** zoneSymbol addEventListener */\n var ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR);\n /** zoneSymbol removeEventListener */\n var ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR);\n /** true string const */\n var TRUE_STR = 'true';\n /** false string const */\n var FALSE_STR = 'false';\n /** Zone symbol prefix string const. */\n var ZONE_SYMBOL_PREFIX = Zone.__symbol__('');\n function wrapWithCurrentZone(callback, source) {\n return Zone.current.wrap(callback, source);\n }\n function scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n }\n var zoneSymbol = Zone.__symbol__;\n var isWindowExists = typeof window !== 'undefined';\n var internalWindow = isWindowExists ? window : undefined;\n var _global = isWindowExists && internalWindow || typeof self === 'object' && self || global;\n var REMOVE_ATTRIBUTE = 'removeAttribute';\n var NULL_ON_PROP_VALUE = [null];\n function bindArguments(args, source) {\n for (var i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'function') {\n args[i] = wrapWithCurrentZone(args[i], source + '_' + i);\n }\n }\n return args;\n }\n function patchPrototype(prototype, fnNames) {\n var source = prototype.constructor['name'];\n var _loop_3 = function (i) {\n var name_1 = fnNames[i];\n var delegate = prototype[name_1];\n if (delegate) {\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name_1);\n if (!isPropertyWritable(prototypeDesc)) {\n return \"continue\";\n }\n prototype[name_1] = (function (delegate) {\n var patched = function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name_1));\n };\n attachOriginToPatched(patched, delegate);\n return patched;\n })(delegate);\n }\n };\n for (var i = 0; i < fnNames.length; i++) {\n _loop_3(i);\n }\n }\n function isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');\n }\n var isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\n // Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n // this code.\n var isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]');\n var isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']);\n // we are in electron of nw, so we are both browser and nodejs\n // Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n // this code.\n var isMix = typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&\n !!(isWindowExists && internalWindow['HTMLElement']);\n var zoneSymbolEventNames = {};\n var wrapFn = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n var eventNameSymbol = zoneSymbolEventNames[event.type];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[event.type] = zoneSymbol('ON_PROPERTY' + event.type);\n }\n var target = this || event.target || _global;\n var listener = target[eventNameSymbol];\n var result;\n if (isBrowser && target === internalWindow && event.type === 'error') {\n // window.onerror have different signiture\n // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror\n // and onerror callback will prevent default when callback return true\n var errorEvent = event;\n result = listener &&\n listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);\n if (result === true) {\n event.preventDefault();\n }\n }\n else {\n result = listener && listener.apply(this, arguments);\n if (result != undefined && !result) {\n event.preventDefault();\n }\n }\n return result;\n };\n function patchProperty(obj, prop, prototype) {\n var desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop);\n if (prototypeDesc) {\n desc = { enumerable: true, configurable: true };\n }\n }\n // if the descriptor not exists or is not configurable\n // just return\n if (!desc || !desc.configurable) {\n return;\n }\n var onPropPatchedSymbol = zoneSymbol('on' + prop + 'patched');\n if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {\n return;\n }\n // A property descriptor cannot have getter/setter and be writable\n // deleting the writable and value properties avoids this error:\n //\n // TypeError: property descriptors must not specify a value or be writable when a\n // getter or setter has been specified\n delete desc.writable;\n delete desc.value;\n var originalDescGet = desc.get;\n var originalDescSet = desc.set;\n // substr(2) cuz 'onclick' -> 'click', etc\n var eventName = prop.substr(2);\n var eventNameSymbol = zoneSymbolEventNames[eventName];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[eventName] = zoneSymbol('ON_PROPERTY' + eventName);\n }\n desc.set = function (newValue) {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return;\n }\n var previousValue = target[eventNameSymbol];\n if (previousValue) {\n target.removeEventListener(eventName, wrapFn);\n }\n // issue #978, when onload handler was added before loading zone.js\n // we should remove it with originalDescSet\n if (originalDescSet) {\n originalDescSet.apply(target, NULL_ON_PROP_VALUE);\n }\n if (typeof newValue === 'function') {\n target[eventNameSymbol] = newValue;\n target.addEventListener(eventName, wrapFn, false);\n }\n else {\n target[eventNameSymbol] = null;\n }\n };\n // The getter would return undefined for unassigned properties but the default value of an\n // unassigned property is null\n desc.get = function () {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return null;\n }\n var listener = target[eventNameSymbol];\n if (listener) {\n return listener;\n }\n else if (originalDescGet) {\n // result will be null when use inline event attribute,\n // such as \n // because the onclick function is internal raw uncompiled handler\n // the onclick will be evaluated when first time event was triggered or\n // the property is accessed, https://github.com/angular/zone.js/issues/525\n // so we should use original native get to retrieve the handler\n var value = originalDescGet && originalDescGet.call(this);\n if (value) {\n desc.set.call(this, value);\n if (typeof target[REMOVE_ATTRIBUTE] === 'function') {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n ObjectDefineProperty(obj, prop, desc);\n obj[onPropPatchedSymbol] = true;\n }\n function patchOnProperties(obj, properties, prototype) {\n if (properties) {\n for (var i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i], prototype);\n }\n }\n else {\n var onProperties = [];\n for (var prop in obj) {\n if (prop.substr(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (var j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j], prototype);\n }\n }\n }\n var originalInstanceKey = zoneSymbol('originalInstance');\n // wrap some native API on `window`\n function patchClass(className) {\n var OriginalClass = _global[className];\n if (!OriginalClass)\n return;\n // keep original class in global\n _global[zoneSymbol(className)] = OriginalClass;\n _global[className] = function () {\n var a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default:\n throw new Error('Arg list too long.');\n }\n };\n // attach original delegate to patched function\n attachOriginToPatched(_global[className], OriginalClass);\n var instance = new OriginalClass(function () { });\n var prop;\n for (prop in instance) {\n // https://bugs.webkit.org/show_bug.cgi?id=44721\n if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n continue;\n (function (prop) {\n if (typeof instance[prop] === 'function') {\n _global[className].prototype[prop] = function () {\n return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n };\n }\n else {\n ObjectDefineProperty(_global[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop);\n // keep callback in wrapped function so we can\n // use it in Function.prototype.toString to return\n // the native one.\n attachOriginToPatched(this[originalInstanceKey][prop], fn);\n }\n else {\n this[originalInstanceKey][prop] = fn;\n }\n },\n get: function () { return this[originalInstanceKey][prop]; }\n });\n }\n }(prop));\n }\n for (prop in OriginalClass) {\n if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n _global[className][prop] = OriginalClass[prop];\n }\n }\n }\n function copySymbolProperties(src, dest) {\n if (typeof Object.getOwnPropertySymbols !== 'function') {\n return;\n }\n var symbols = Object.getOwnPropertySymbols(src);\n symbols.forEach(function (symbol) {\n var desc = Object.getOwnPropertyDescriptor(src, symbol);\n Object.defineProperty(dest, symbol, {\n get: function () { return src[symbol]; },\n set: function (value) {\n if (desc && (!desc.writable || typeof desc.set !== 'function')) {\n // if src[symbol] is not writable or not have a setter, just return\n return;\n }\n src[symbol] = value;\n },\n enumerable: desc ? desc.enumerable : true,\n configurable: desc ? desc.configurable : true\n });\n });\n }\n var shouldCopySymbolProperties = false;\n function patchMethod(target, name, patchFn) {\n var proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = target;\n }\n var delegateName = zoneSymbol(name);\n var delegate = null;\n if (proto && !(delegate = proto[delegateName])) {\n delegate = proto[delegateName] = proto[name];\n // check whether proto[name] is writable\n // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob\n var desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n var patchDelegate_1 = patchFn(delegate, delegateName, name);\n proto[name] = function () { return patchDelegate_1(this, arguments); };\n attachOriginToPatched(proto[name], delegate);\n if (shouldCopySymbolProperties) {\n copySymbolProperties(delegate, proto[name]);\n }\n }\n }\n return delegate;\n }\n // TODO: @JiaLiPassion, support cancel task later if necessary\n function patchMacroTask(obj, funcName, metaCreator) {\n var setNative = null;\n function scheduleTask(task) {\n var data = task.data;\n data.args[data.cbIdx] = function () { task.invoke.apply(this, arguments); };\n setNative.apply(data.target, data.args);\n return task;\n }\n setNative = patchMethod(obj, funcName, function (delegate) { return function (self, args) {\n var meta = metaCreator(self, args);\n if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {\n return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(self, args);\n }\n }; });\n }\n function attachOriginToPatched(patched, original) {\n patched[zoneSymbol('OriginalDelegate')] = original;\n }\n var isDetectedIEOrEdge = false;\n var ieOrEdge = false;\n function isIE() {\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {\n return true;\n }\n }\n catch (error) {\n }\n return false;\n }\n function isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n ieOrEdge = true;\n }\n }\n catch (error) {\n }\n return ieOrEdge;\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n // override Function.prototype.toString to make zone.js patched function\n // look like native function\n Zone.__load_patch('toString', function (global) {\n // patch Func.prototype.toString to let them look like native\n var originalFunctionToString = Function.prototype.toString;\n var ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');\n var PROMISE_SYMBOL = zoneSymbol('Promise');\n var ERROR_SYMBOL = zoneSymbol('Error');\n var newFunctionToString = function toString() {\n if (typeof this === 'function') {\n var originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === 'function') {\n return originalFunctionToString.call(originalDelegate);\n }\n else {\n return Object.prototype.toString.call(originalDelegate);\n }\n }\n if (this === Promise) {\n var nativePromise = global[PROMISE_SYMBOL];\n if (nativePromise) {\n return originalFunctionToString.call(nativePromise);\n }\n }\n if (this === Error) {\n var nativeError = global[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.call(nativeError);\n }\n }\n }\n return originalFunctionToString.call(this);\n };\n newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;\n Function.prototype.toString = newFunctionToString;\n // patch Object.prototype.toString to let them look like native\n var originalObjectToString = Object.prototype.toString;\n var PROMISE_OBJECT_TO_STRING = '[object Promise]';\n Object.prototype.toString = function () {\n if (this instanceof Promise) {\n return PROMISE_OBJECT_TO_STRING;\n }\n return originalObjectToString.call(this);\n };\n });\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var passiveSupported = false;\n if (typeof window !== 'undefined') {\n try {\n var options = Object.defineProperty({}, 'passive', { get: function () { passiveSupported = true; } });\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n }\n // an identifier to tell ZoneTask do not create a new invoke closure\n var OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n useG: true\n };\n var zoneSymbolEventNames$1 = {};\n var globalSources = {};\n var EVENT_NAME_SYMBOL_REGX = new RegExp('^' + ZONE_SYMBOL_PREFIX + '(\\\\w+)(true|false)$');\n var IMMEDIATE_PROPAGATION_SYMBOL = zoneSymbol('propagationStopped');\n function prepareEventNames(eventName, eventNameToString) {\n var falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;\n var trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames$1[eventName] = {};\n zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n }\n function patchEventTarget(_global, apis, patchOptions) {\n var ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR;\n var REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR;\n var LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners';\n var REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners';\n var zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);\n var ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';\n var PREPEND_EVENT_LISTENER = 'prependListener';\n var PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';\n var invokeTask = function (task, target, event) {\n // for better performance, check isRemoved which is set\n // by removeEventListener\n if (task.isRemoved) {\n return;\n }\n var delegate = task.callback;\n if (typeof delegate === 'object' && delegate.handleEvent) {\n // create the bind version of handleEvent when invoke\n task.callback = function (event) { return delegate.handleEvent(event); };\n task.originalDelegate = delegate;\n }\n // invoke static task.invoke\n task.invoke(task, target, [event]);\n var options = task.options;\n if (options && typeof options === 'object' && options.once) {\n // if options.once is true, after invoke once remove listener here\n // only browser need to do this, nodejs eventEmitter will cal removeListener\n // inside EventEmitter.once\n var delegate_1 = task.originalDelegate ? task.originalDelegate : task.callback;\n target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate_1, options);\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = false\n var globalZoneAwareCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][FALSE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = true\n var globalZoneAwareCaptureCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][TRUE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n function patchEventTargetMethods(obj, patchOptions) {\n if (!obj) {\n return false;\n }\n var useGlobalCallback = true;\n if (patchOptions && patchOptions.useG !== undefined) {\n useGlobalCallback = patchOptions.useG;\n }\n var validateHandler = patchOptions && patchOptions.vh;\n var checkDuplicate = true;\n if (patchOptions && patchOptions.chkDup !== undefined) {\n checkDuplicate = patchOptions.chkDup;\n }\n var returnTarget = false;\n if (patchOptions && patchOptions.rt !== undefined) {\n returnTarget = patchOptions.rt;\n }\n var proto = obj;\n while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && obj[ADD_EVENT_LISTENER]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = obj;\n }\n if (!proto) {\n return false;\n }\n if (proto[zoneSymbolAddEventListener]) {\n return false;\n }\n var eventNameToString = patchOptions && patchOptions.eventNameToString;\n // a shared global taskData to pass data for scheduleEventTask\n // so we do not need to create a new object just for pass some data\n var taskData = {};\n var nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];\n var nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] =\n proto[REMOVE_EVENT_LISTENER];\n var nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] =\n proto[LISTENERS_EVENT_LISTENER];\n var nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] =\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];\n var nativePrependEventListener;\n if (patchOptions && patchOptions.prepend) {\n nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] =\n proto[patchOptions.prepend];\n }\n /**\n * This util function will build an option object with passive option\n * to handle all possible input from the user.\n */\n function buildEventListenerOptions(options, passive) {\n if (!passiveSupported && typeof options === 'object' && options) {\n // doesn't support passive but user want to pass an object as options.\n // this will not work on some old browser, so we just pass a boolean\n // as useCapture parameter\n return !!options.capture;\n }\n if (!passiveSupported || !passive) {\n return options;\n }\n if (typeof options === 'boolean') {\n return { capture: options, passive: true };\n }\n if (!options) {\n return { passive: true };\n }\n if (typeof options === 'object' && options.passive !== false) {\n return Object.assign(Object.assign({}, options), { passive: true });\n }\n return options;\n }\n var customScheduleGlobal = function (task) {\n // if there is already a task for the eventName + capture,\n // just return, because we use the shared globalZoneAwareCallback here.\n if (taskData.isExisting) {\n return;\n }\n return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);\n };\n var customCancelGlobal = function (task) {\n // if task is not marked as isRemoved, this call is directly\n // from Zone.prototype.cancelTask, we should remove the task\n // from tasksList of target first\n if (!task.isRemoved) {\n var symbolEventNames = zoneSymbolEventNames$1[task.eventName];\n var symbolEventName = void 0;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && task.target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (existingTask === task) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n task.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n task.allRemoved = true;\n task.target[symbolEventName] = null;\n }\n break;\n }\n }\n }\n }\n // if all tasks for the eventName + capture have gone,\n // we will really remove the global event callback,\n // if not, return\n if (!task.allRemoved) {\n return;\n }\n return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);\n };\n var customScheduleNonGlobal = function (task) {\n return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customSchedulePrepend = function (task) {\n return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);\n };\n var customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n var customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n var compareTaskCallbackVsDelegate = function (task, delegate) {\n var typeOfDelegate = typeof delegate;\n return (typeOfDelegate === 'function' && task.callback === delegate) ||\n (typeOfDelegate === 'object' && task.originalDelegate === delegate);\n };\n var compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate;\n var blackListedEvents = Zone[zoneSymbol('BLACK_LISTED_EVENTS')];\n var passiveEvents = _global[zoneSymbol('PASSIVE_EVENTS')];\n var makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget, prepend) {\n if (returnTarget === void 0) { returnTarget = false; }\n if (prepend === void 0) { prepend = false; }\n return function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n if (isNode && eventName === 'uncaughtException') {\n // don't patch uncaughtException of nodejs to prevent endless loop\n return nativeListener.apply(this, arguments);\n }\n // don't create the bind delegate function for handleEvent\n // case here to improve addEventListener performance\n // we will create the bind delegate when invoke\n var isHandleEvent = false;\n if (typeof delegate !== 'function') {\n if (!delegate.handleEvent) {\n return nativeListener.apply(this, arguments);\n }\n isHandleEvent = true;\n }\n if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {\n return;\n }\n var passive = passiveSupported && !!passiveEvents && passiveEvents.indexOf(eventName) !== -1;\n var options = buildEventListenerOptions(arguments[2], passive);\n if (blackListedEvents) {\n // check black list\n for (var i = 0; i < blackListedEvents.length; i++) {\n if (eventName === blackListedEvents[i]) {\n if (passive) {\n return nativeListener.call(target, eventName, delegate, options);\n }\n else {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n }\n var capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n var once = options && typeof options === 'object' ? options.once : false;\n var zone = Zone.current;\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n if (!symbolEventNames) {\n prepareEventNames(eventName, eventNameToString);\n symbolEventNames = zoneSymbolEventNames$1[eventName];\n }\n var symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n var existingTasks = target[symbolEventName];\n var isExisting = false;\n if (existingTasks) {\n // already have task registered\n isExisting = true;\n if (checkDuplicate) {\n for (var i = 0; i < existingTasks.length; i++) {\n if (compare(existingTasks[i], delegate)) {\n // same callback, same capture, same event name, just return\n return;\n }\n }\n }\n }\n else {\n existingTasks = target[symbolEventName] = [];\n }\n var source;\n var constructorName = target.constructor['name'];\n var targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source = constructorName + addSource +\n (eventNameToString ? eventNameToString(eventName) : eventName);\n }\n // do not create a new object as task.data to pass those things\n // just use the global shared one\n taskData.options = options;\n if (once) {\n // if addEventListener with once options, we don't pass it to\n // native addEventListener, instead we keep the once setting\n // and handle ourselves.\n taskData.options.once = false;\n }\n taskData.target = target;\n taskData.capture = capture;\n taskData.eventName = eventName;\n taskData.isExisting = isExisting;\n var data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : undefined;\n // keep taskData into data to allow onScheduleEventTask to access the task information\n if (data) {\n data.taskData = taskData;\n }\n var task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);\n // should clear taskData.target to avoid memory leak\n // issue, https://github.com/angular/angular/issues/20442\n taskData.target = null;\n // need to clear up taskData because it is a global object\n if (data) {\n data.taskData = null;\n }\n // have to save those information to task in case\n // application may call task.zone.cancelTask() directly\n if (once) {\n options.once = true;\n }\n if (!(!passiveSupported && typeof task.options === 'boolean')) {\n // if not support passive, and we pass an option object\n // to addEventListener, we should save the options to task\n task.options = options;\n }\n task.target = target;\n task.capture = capture;\n task.eventName = eventName;\n if (isHandleEvent) {\n // save original delegate for compare to check duplicate\n task.originalDelegate = delegate;\n }\n if (!prepend) {\n existingTasks.push(task);\n }\n else {\n existingTasks.unshift(task);\n }\n if (returnTarget) {\n return target;\n }\n };\n };\n proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);\n if (nativePrependEventListener) {\n proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);\n }\n proto[REMOVE_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var options = arguments[2];\n var capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n var delegate = arguments[1];\n if (!delegate) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (validateHandler &&\n !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {\n return;\n }\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n var symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (compare(existingTask, delegate)) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n existingTask.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n existingTask.allRemoved = true;\n target[symbolEventName] = null;\n // in the target, we have an event listener which is added by on_property\n // such as target.onclick = function() {}, so we need to clear this internal\n // property too if all delegates all removed\n if (typeof eventName === 'string') {\n var onPropertySymbol = ZONE_SYMBOL_PREFIX + 'ON_PROPERTY' + eventName;\n target[onPropertySymbol] = null;\n }\n }\n existingTask.zone.cancelTask(existingTask);\n if (returnTarget) {\n return target;\n }\n return;\n }\n }\n }\n // issue 930, didn't find the event name or callback\n // from zone kept existingTasks, the callback maybe\n // added outside of zone, we need to call native removeEventListener\n // to try to remove it.\n return nativeRemoveEventListener.apply(this, arguments);\n };\n proto[LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var listeners = [];\n var tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName);\n for (var i = 0; i < tasks.length; i++) {\n var task = tasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n listeners.push(delegate);\n }\n return listeners;\n };\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (!eventName) {\n var keys = Object.keys(target);\n for (var i = 0; i < keys.length; i++) {\n var prop = keys[i];\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n // in nodejs EventEmitter, removeListener event is\n // used for monitoring the removeListener call,\n // so just keep removeListener eventListener until\n // all other eventListeners are removed\n if (evtName && evtName !== 'removeListener') {\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName);\n }\n }\n // remove removeListener listener finally\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');\n }\n else {\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n if (symbolEventNames) {\n var symbolEventName = symbolEventNames[FALSE_STR];\n var symbolCaptureEventName = symbolEventNames[TRUE_STR];\n var tasks = target[symbolEventName];\n var captureTasks = target[symbolCaptureEventName];\n if (tasks) {\n var removeTasks = tasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n if (captureTasks) {\n var removeTasks = captureTasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n }\n }\n if (returnTarget) {\n return this;\n }\n };\n // for native toString patch\n attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);\n attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);\n if (nativeRemoveAllListeners) {\n attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);\n }\n if (nativeListeners) {\n attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);\n }\n return true;\n }\n var results = [];\n for (var i = 0; i < apis.length; i++) {\n results[i] = patchEventTargetMethods(apis[i], patchOptions);\n }\n return results;\n }\n function findEventTasks(target, eventName) {\n if (!eventName) {\n var foundTasks = [];\n for (var prop in target) {\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n if (evtName && (!eventName || evtName === eventName)) {\n var tasks = target[prop];\n if (tasks) {\n for (var i = 0; i < tasks.length; i++) {\n foundTasks.push(tasks[i]);\n }\n }\n }\n }\n return foundTasks;\n }\n var symbolEventName = zoneSymbolEventNames$1[eventName];\n if (!symbolEventName) {\n prepareEventNames(eventName);\n symbolEventName = zoneSymbolEventNames$1[eventName];\n }\n var captureFalseTasks = target[symbolEventName[FALSE_STR]];\n var captureTrueTasks = target[symbolEventName[TRUE_STR]];\n if (!captureFalseTasks) {\n return captureTrueTasks ? captureTrueTasks.slice() : [];\n }\n else {\n return captureTrueTasks ? captureFalseTasks.concat(captureTrueTasks) :\n captureFalseTasks.slice();\n }\n }\n function patchEventPrototype(global, api) {\n var Event = global['Event'];\n if (Event && Event.prototype) {\n api.patchMethod(Event.prototype, 'stopImmediatePropagation', function (delegate) { return function (self, args) {\n self[IMMEDIATE_PROPAGATION_SYMBOL] = true;\n // we need to call the native stopImmediatePropagation\n // in case in some hybrid application, some part of\n // application will be controlled by zone, some are not\n delegate && delegate.apply(self, args);\n }; });\n }\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function patchCallbacks(api, target, targetName, method, callbacks) {\n var symbol = Zone.__symbol__(method);\n if (target[symbol]) {\n return;\n }\n var nativeDelegate = target[symbol] = target[method];\n target[method] = function (name, opts, options) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n var source = targetName + \".\" + method + \"::\" + callback;\n var prototype = opts.prototype;\n if (prototype.hasOwnProperty(callback)) {\n var descriptor = api.ObjectGetOwnPropertyDescriptor(prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = api.wrapWithCurrentZone(descriptor.value, source);\n api._redefineProperty(opts.prototype, callback, descriptor);\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n });\n }\n return nativeDelegate.call(target, name, opts, options);\n };\n api.attachOriginToPatched(target[method], nativeDelegate);\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var globalEventHandlersEventNames = [\n 'abort',\n 'animationcancel',\n 'animationend',\n 'animationiteration',\n 'auxclick',\n 'beforeinput',\n 'blur',\n 'cancel',\n 'canplay',\n 'canplaythrough',\n 'change',\n 'compositionstart',\n 'compositionupdate',\n 'compositionend',\n 'cuechange',\n 'click',\n 'close',\n 'contextmenu',\n 'curechange',\n 'dblclick',\n 'drag',\n 'dragend',\n 'dragenter',\n 'dragexit',\n 'dragleave',\n 'dragover',\n 'drop',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'focus',\n 'focusin',\n 'focusout',\n 'gotpointercapture',\n 'input',\n 'invalid',\n 'keydown',\n 'keypress',\n 'keyup',\n 'load',\n 'loadstart',\n 'loadeddata',\n 'loadedmetadata',\n 'lostpointercapture',\n 'mousedown',\n 'mouseenter',\n 'mouseleave',\n 'mousemove',\n 'mouseout',\n 'mouseover',\n 'mouseup',\n 'mousewheel',\n 'orientationchange',\n 'pause',\n 'play',\n 'playing',\n 'pointercancel',\n 'pointerdown',\n 'pointerenter',\n 'pointerleave',\n 'pointerlockchange',\n 'mozpointerlockchange',\n 'webkitpointerlockerchange',\n 'pointerlockerror',\n 'mozpointerlockerror',\n 'webkitpointerlockerror',\n 'pointermove',\n 'pointout',\n 'pointerover',\n 'pointerup',\n 'progress',\n 'ratechange',\n 'reset',\n 'resize',\n 'scroll',\n 'seeked',\n 'seeking',\n 'select',\n 'selectionchange',\n 'selectstart',\n 'show',\n 'sort',\n 'stalled',\n 'submit',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'touchcancel',\n 'touchmove',\n 'touchstart',\n 'touchend',\n 'transitioncancel',\n 'transitionend',\n 'waiting',\n 'wheel'\n ];\n var documentEventNames = [\n 'afterscriptexecute', 'beforescriptexecute', 'DOMContentLoaded', 'freeze', 'fullscreenchange',\n 'mozfullscreenchange', 'webkitfullscreenchange', 'msfullscreenchange', 'fullscreenerror',\n 'mozfullscreenerror', 'webkitfullscreenerror', 'msfullscreenerror', 'readystatechange',\n 'visibilitychange', 'resume'\n ];\n var windowEventNames = [\n 'absolutedeviceorientation',\n 'afterinput',\n 'afterprint',\n 'appinstalled',\n 'beforeinstallprompt',\n 'beforeprint',\n 'beforeunload',\n 'devicelight',\n 'devicemotion',\n 'deviceorientation',\n 'deviceorientationabsolute',\n 'deviceproximity',\n 'hashchange',\n 'languagechange',\n 'message',\n 'mozbeforepaint',\n 'offline',\n 'online',\n 'paint',\n 'pageshow',\n 'pagehide',\n 'popstate',\n 'rejectionhandled',\n 'storage',\n 'unhandledrejection',\n 'unload',\n 'userproximity',\n 'vrdisplayconnected',\n 'vrdisplaydisconnected',\n 'vrdisplaypresentchange'\n ];\n var htmlElementEventNames = [\n 'beforecopy', 'beforecut', 'beforepaste', 'copy', 'cut', 'paste', 'dragstart', 'loadend',\n 'animationstart', 'search', 'transitionrun', 'transitionstart', 'webkitanimationend',\n 'webkitanimationiteration', 'webkitanimationstart', 'webkittransitionend'\n ];\n var mediaElementEventNames = ['encrypted', 'waitingforkey', 'msneedkey', 'mozinterruptbegin', 'mozinterruptend'];\n var ieElementEventNames = [\n 'activate',\n 'afterupdate',\n 'ariarequest',\n 'beforeactivate',\n 'beforedeactivate',\n 'beforeeditfocus',\n 'beforeupdate',\n 'cellchange',\n 'controlselect',\n 'dataavailable',\n 'datasetchanged',\n 'datasetcomplete',\n 'errorupdate',\n 'filterchange',\n 'layoutcomplete',\n 'losecapture',\n 'move',\n 'moveend',\n 'movestart',\n 'propertychange',\n 'resizeend',\n 'resizestart',\n 'rowenter',\n 'rowexit',\n 'rowsdelete',\n 'rowsinserted',\n 'command',\n 'compassneedscalibration',\n 'deactivate',\n 'help',\n 'mscontentzoom',\n 'msmanipulationstatechanged',\n 'msgesturechange',\n 'msgesturedoubletap',\n 'msgestureend',\n 'msgesturehold',\n 'msgesturestart',\n 'msgesturetap',\n 'msgotpointercapture',\n 'msinertiastart',\n 'mslostpointercapture',\n 'mspointercancel',\n 'mspointerdown',\n 'mspointerenter',\n 'mspointerhover',\n 'mspointerleave',\n 'mspointermove',\n 'mspointerout',\n 'mspointerover',\n 'mspointerup',\n 'pointerout',\n 'mssitemodejumplistitemremoved',\n 'msthumbnailclick',\n 'stop',\n 'storagecommit'\n ];\n var webglEventNames = ['webglcontextrestored', 'webglcontextlost', 'webglcontextcreationerror'];\n var formEventNames = ['autocomplete', 'autocompleteerror'];\n var detailEventNames = ['toggle'];\n var frameEventNames = ['load'];\n var frameSetEventNames = ['blur', 'error', 'focus', 'load', 'resize', 'scroll', 'messageerror'];\n var marqueeEventNames = ['bounce', 'finish', 'start'];\n var XMLHttpRequestEventNames = [\n 'loadstart', 'progress', 'abort', 'error', 'load', 'progress', 'timeout', 'loadend',\n 'readystatechange'\n ];\n var IDBIndexEventNames = ['upgradeneeded', 'complete', 'abort', 'success', 'error', 'blocked', 'versionchange', 'close'];\n var websocketEventNames = ['close', 'error', 'open', 'message'];\n var workerEventNames = ['error', 'message'];\n var eventNames = globalEventHandlersEventNames.concat(webglEventNames, formEventNames, detailEventNames, documentEventNames, windowEventNames, htmlElementEventNames, ieElementEventNames);\n function filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties || ignoreProperties.length === 0) {\n return onProperties;\n }\n var tip = ignoreProperties.filter(function (ip) { return ip.target === target; });\n if (!tip || tip.length === 0) {\n return onProperties;\n }\n var targetIgnoreProperties = tip[0].ignoreProperties;\n return onProperties.filter(function (op) { return targetIgnoreProperties.indexOf(op) === -1; });\n }\n function patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n // check whether target is available, sometimes target will be undefined\n // because different browser or some 3rd party plugin.\n if (!target) {\n return;\n }\n var filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n }\n function propertyDescriptorPatch(api, _global) {\n if (isNode && !isMix) {\n return;\n }\n if (Zone[api.symbol('patchEvents')]) {\n // events are already been patched by legacy patch.\n return;\n }\n var supportsWebSocket = typeof WebSocket !== 'undefined';\n var ignoreProperties = _global['__Zone_ignore_on_properties'];\n // for browsers that we can patch the descriptor: Chrome & Firefox\n if (isBrowser) {\n var internalWindow_1 = window;\n var ignoreErrorProperties = isIE ? [{ target: internalWindow_1, ignoreProperties: ['error'] }] : [];\n // in IE/Edge, onProp not exist in window object, but in WindowPrototype\n // so we need to pass WindowPrototype to check onProp exist or not\n patchFilteredProperties(internalWindow_1, eventNames.concat(['messageerror']), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow_1));\n patchFilteredProperties(Document.prototype, eventNames, ignoreProperties);\n if (typeof internalWindow_1['SVGElement'] !== 'undefined') {\n patchFilteredProperties(internalWindow_1['SVGElement'].prototype, eventNames, ignoreProperties);\n }\n patchFilteredProperties(Element.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLElement.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLMediaElement.prototype, mediaElementEventNames, ignoreProperties);\n patchFilteredProperties(HTMLFrameSetElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLBodyElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLFrameElement.prototype, frameEventNames, ignoreProperties);\n patchFilteredProperties(HTMLIFrameElement.prototype, frameEventNames, ignoreProperties);\n var HTMLMarqueeElement_1 = internalWindow_1['HTMLMarqueeElement'];\n if (HTMLMarqueeElement_1) {\n patchFilteredProperties(HTMLMarqueeElement_1.prototype, marqueeEventNames, ignoreProperties);\n }\n var Worker_1 = internalWindow_1['Worker'];\n if (Worker_1) {\n patchFilteredProperties(Worker_1.prototype, workerEventNames, ignoreProperties);\n }\n }\n var XMLHttpRequest = _global['XMLHttpRequest'];\n if (XMLHttpRequest) {\n // XMLHttpRequest is not available in ServiceWorker, so we need to check here\n patchFilteredProperties(XMLHttpRequest.prototype, XMLHttpRequestEventNames, ignoreProperties);\n }\n var XMLHttpRequestEventTarget = _global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget) {\n patchFilteredProperties(XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype, XMLHttpRequestEventNames, ignoreProperties);\n }\n if (typeof IDBIndex !== 'undefined') {\n patchFilteredProperties(IDBIndex.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBOpenDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBDatabase.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBTransaction.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBCursor.prototype, IDBIndexEventNames, ignoreProperties);\n }\n if (supportsWebSocket) {\n patchFilteredProperties(WebSocket.prototype, websocketEventNames, ignoreProperties);\n }\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n Zone.__load_patch('util', function (global, Zone, api) {\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.bindArguments = bindArguments;\n api.patchMacroTask = patchMacroTask;\n // In earlier version of zone.js (<0.9.0), we use env name `__zone_symbol__BLACK_LISTED_EVENTS` to\n // define which events will not be patched by `Zone.js`.\n // In newer version (>=0.9.0), we change the env name to `__zone_symbol__UNPATCHED_EVENTS` to keep\n // the name consistent with angular repo.\n // The `__zone_symbol__BLACK_LISTED_EVENTS` is deprecated, but it is still be supported for\n // backwards compatibility.\n var SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n var SYMBOL_UNPATCHED_EVENTS = Zone.__symbol__('UNPATCHED_EVENTS');\n if (global[SYMBOL_UNPATCHED_EVENTS]) {\n global[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_UNPATCHED_EVENTS];\n }\n if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone[SYMBOL_BLACK_LISTED_EVENTS] = Zone[SYMBOL_UNPATCHED_EVENTS] =\n global[SYMBOL_BLACK_LISTED_EVENTS];\n }\n api.patchEventPrototype = patchEventPrototype;\n api.patchEventTarget = patchEventTarget;\n api.isIEOrEdge = isIEOrEdge;\n api.ObjectDefineProperty = ObjectDefineProperty;\n api.ObjectGetOwnPropertyDescriptor = ObjectGetOwnPropertyDescriptor;\n api.ObjectCreate = ObjectCreate;\n api.ArraySlice = ArraySlice;\n api.patchClass = patchClass;\n api.wrapWithCurrentZone = wrapWithCurrentZone;\n api.filterProperties = filterProperties;\n api.attachOriginToPatched = attachOriginToPatched;\n api._redefineProperty = Object.defineProperty;\n api.patchCallbacks = patchCallbacks;\n api.getGlobalObjects = function () { return ({ globalSources: globalSources, zoneSymbolEventNames: zoneSymbolEventNames$1, eventNames: eventNames, isBrowser: isBrowser, isMix: isMix, isNode: isNode, TRUE_STR: TRUE_STR,\n FALSE_STR: FALSE_STR, ZONE_SYMBOL_PREFIX: ZONE_SYMBOL_PREFIX, ADD_EVENT_LISTENER_STR: ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR: REMOVE_EVENT_LISTENER_STR }); };\n });\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n /*\n * This is necessary for Chrome and Chrome mobile, to enable\n * things like redefining `createdCallback` on an element.\n */\n var zoneSymbol$1;\n var _defineProperty;\n var _getOwnPropertyDescriptor;\n var _create;\n var unconfigurablesKey;\n function propertyPatch() {\n zoneSymbol$1 = Zone.__symbol__;\n _defineProperty = Object[zoneSymbol$1('defineProperty')] = Object.defineProperty;\n _getOwnPropertyDescriptor = Object[zoneSymbol$1('getOwnPropertyDescriptor')] =\n Object.getOwnPropertyDescriptor;\n _create = Object.create;\n unconfigurablesKey = zoneSymbol$1('unconfigurables');\n Object.defineProperty = function (obj, prop, desc) {\n if (isUnconfigurable(obj, prop)) {\n throw new TypeError('Cannot assign to read only property \\'' + prop + '\\' of ' + obj);\n }\n var originalConfigurableFlag = desc.configurable;\n if (prop !== 'prototype') {\n desc = rewriteDescriptor(obj, prop, desc);\n }\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n };\n Object.defineProperties = function (obj, props) {\n Object.keys(props).forEach(function (prop) { Object.defineProperty(obj, prop, props[prop]); });\n return obj;\n };\n Object.create = function (obj, proto) {\n if (typeof proto === 'object' && !Object.isFrozen(proto)) {\n Object.keys(proto).forEach(function (prop) {\n proto[prop] = rewriteDescriptor(obj, prop, proto[prop]);\n });\n }\n return _create(obj, proto);\n };\n Object.getOwnPropertyDescriptor = function (obj, prop) {\n var desc = _getOwnPropertyDescriptor(obj, prop);\n if (desc && isUnconfigurable(obj, prop)) {\n desc.configurable = false;\n }\n return desc;\n };\n }\n function _redefineProperty(obj, prop, desc) {\n var originalConfigurableFlag = desc.configurable;\n desc = rewriteDescriptor(obj, prop, desc);\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n }\n function isUnconfigurable(obj, prop) {\n return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop];\n }\n function rewriteDescriptor(obj, prop, desc) {\n // issue-927, if the desc is frozen, don't try to change the desc\n if (!Object.isFrozen(desc)) {\n desc.configurable = true;\n }\n if (!desc.configurable) {\n // issue-927, if the obj is frozen, don't try to set the desc to obj\n if (!obj[unconfigurablesKey] && !Object.isFrozen(obj)) {\n _defineProperty(obj, unconfigurablesKey, { writable: true, value: {} });\n }\n if (obj[unconfigurablesKey]) {\n obj[unconfigurablesKey][prop] = true;\n }\n }\n return desc;\n }\n function _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) {\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n if (desc.configurable) {\n // In case of errors, when the configurable flag was likely set by rewriteDescriptor(), let's\n // retry with the original flag value\n if (typeof originalConfigurableFlag == 'undefined') {\n delete desc.configurable;\n }\n else {\n desc.configurable = originalConfigurableFlag;\n }\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n var descJson = null;\n try {\n descJson = JSON.stringify(desc);\n }\n catch (error) {\n descJson = desc.toString();\n }\n console.log(\"Attempting to configure '\" + prop + \"' with descriptor '\" + descJson + \"' on object '\" + obj + \"' and got error, giving up: \" + error);\n }\n }\n else {\n throw error;\n }\n }\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function eventTargetLegacyPatch(_global, api) {\n var _a = api.getGlobalObjects(), eventNames = _a.eventNames, globalSources = _a.globalSources, zoneSymbolEventNames = _a.zoneSymbolEventNames, TRUE_STR = _a.TRUE_STR, FALSE_STR = _a.FALSE_STR, ZONE_SYMBOL_PREFIX = _a.ZONE_SYMBOL_PREFIX;\n var WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video';\n var NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket'\n .split(',');\n var EVENT_TARGET = 'EventTarget';\n var apis = [];\n var isWtf = _global['wtf'];\n var WTF_ISSUE_555_ARRAY = WTF_ISSUE_555.split(',');\n if (isWtf) {\n // Workaround for: https://github.com/google/tracing-framework/issues/555\n apis = WTF_ISSUE_555_ARRAY.map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET);\n }\n else if (_global[EVENT_TARGET]) {\n apis.push(EVENT_TARGET);\n }\n else {\n // Note: EventTarget is not available in all browsers,\n // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget\n apis = NO_EVENT_TARGET;\n }\n var isDisableIECheck = _global['__Zone_disable_IE_check'] || false;\n var isEnableCrossContextCheck = _global['__Zone_enable_cross_context_check'] || false;\n var ieOrEdge = api.isIEOrEdge();\n var ADD_EVENT_LISTENER_SOURCE = '.addEventListener:';\n var FUNCTION_WRAPPER = '[object FunctionWrapper]';\n var BROWSER_TOOLS = 'function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }';\n var pointerEventsMap = {\n 'MSPointerCancel': 'pointercancel',\n 'MSPointerDown': 'pointerdown',\n 'MSPointerEnter': 'pointerenter',\n 'MSPointerHover': 'pointerhover',\n 'MSPointerLeave': 'pointerleave',\n 'MSPointerMove': 'pointermove',\n 'MSPointerOut': 'pointerout',\n 'MSPointerOver': 'pointerover',\n 'MSPointerUp': 'pointerup'\n };\n // predefine all __zone_symbol__ + eventName + true/false string\n for (var i = 0; i < eventNames.length; i++) {\n var eventName = eventNames[i];\n var falseEventName = eventName + FALSE_STR;\n var trueEventName = eventName + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n // predefine all task.source string\n for (var i = 0; i < WTF_ISSUE_555_ARRAY.length; i++) {\n var target = WTF_ISSUE_555_ARRAY[i];\n var targets = globalSources[target] = {};\n for (var j = 0; j < eventNames.length; j++) {\n var eventName = eventNames[j];\n targets[eventName] = target + ADD_EVENT_LISTENER_SOURCE + eventName;\n }\n }\n var checkIEAndCrossContext = function (nativeDelegate, delegate, target, args) {\n if (!isDisableIECheck && ieOrEdge) {\n if (isEnableCrossContextCheck) {\n try {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n else {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n }\n else if (isEnableCrossContextCheck) {\n try {\n delegate.toString();\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n return true;\n };\n var apiTypes = [];\n for (var i = 0; i < apis.length; i++) {\n var type = _global[apis[i]];\n apiTypes.push(type && type.prototype);\n }\n // vh is validateHandler to check event handler\n // is valid or not(for security check)\n api.patchEventTarget(_global, apiTypes, {\n vh: checkIEAndCrossContext,\n transferEventName: function (eventName) {\n var pointerEventName = pointerEventsMap[eventName];\n return pointerEventName || eventName;\n }\n });\n Zone[api.symbol('patchEventTarget')] = !!_global[EVENT_TARGET];\n return true;\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n // we have to patch the instance since the proto is non-configurable\n function apply(api, _global) {\n var _a = api.getGlobalObjects(), ADD_EVENT_LISTENER_STR = _a.ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR = _a.REMOVE_EVENT_LISTENER_STR;\n var WS = _global.WebSocket;\n // On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener\n // On older Chrome, no need since EventTarget was already patched\n if (!_global.EventTarget) {\n api.patchEventTarget(_global, [WS.prototype]);\n }\n _global.WebSocket = function (x, y) {\n var socket = arguments.length > 1 ? new WS(x, y) : new WS(x);\n var proxySocket;\n var proxySocketProto;\n // Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance\n var onmessageDesc = api.ObjectGetOwnPropertyDescriptor(socket, 'onmessage');\n if (onmessageDesc && onmessageDesc.configurable === false) {\n proxySocket = api.ObjectCreate(socket);\n // socket have own property descriptor 'onopen', 'onmessage', 'onclose', 'onerror'\n // but proxySocket not, so we will keep socket as prototype and pass it to\n // patchOnProperties method\n proxySocketProto = socket;\n [ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR, 'send', 'close'].forEach(function (propName) {\n proxySocket[propName] = function () {\n var args = api.ArraySlice.call(arguments);\n if (propName === ADD_EVENT_LISTENER_STR || propName === REMOVE_EVENT_LISTENER_STR) {\n var eventName = args.length > 0 ? args[0] : undefined;\n if (eventName) {\n var propertySymbol = Zone.__symbol__('ON_PROPERTY' + eventName);\n socket[propertySymbol] = proxySocket[propertySymbol];\n }\n }\n return socket[propName].apply(socket, args);\n };\n });\n }\n else {\n // we can patch the real socket\n proxySocket = socket;\n }\n api.patchOnProperties(proxySocket, ['close', 'error', 'message', 'open'], proxySocketProto);\n return proxySocket;\n };\n var globalWebSocket = _global['WebSocket'];\n for (var prop in WS) {\n globalWebSocket[prop] = WS[prop];\n }\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function propertyDescriptorLegacyPatch(api, _global) {\n var _a = api.getGlobalObjects(), isNode = _a.isNode, isMix = _a.isMix;\n if (isNode && !isMix) {\n return;\n }\n if (!canPatchViaPropertyDescriptor(api, _global)) {\n var supportsWebSocket = typeof WebSocket !== 'undefined';\n // Safari, Android browsers (Jelly Bean)\n patchViaCapturingAllTheEvents(api);\n api.patchClass('XMLHttpRequest');\n if (supportsWebSocket) {\n apply(api, _global);\n }\n Zone[api.symbol('patchEvents')] = true;\n }\n }\n function canPatchViaPropertyDescriptor(api, _global) {\n var _a = api.getGlobalObjects(), isBrowser = _a.isBrowser, isMix = _a.isMix;\n if ((isBrowser || isMix) &&\n !api.ObjectGetOwnPropertyDescriptor(HTMLElement.prototype, 'onclick') &&\n typeof Element !== 'undefined') {\n // WebKit https://bugs.webkit.org/show_bug.cgi?id=134364\n // IDL interface attributes are not configurable\n var desc = api.ObjectGetOwnPropertyDescriptor(Element.prototype, 'onclick');\n if (desc && !desc.configurable)\n return false;\n // try to use onclick to detect whether we can patch via propertyDescriptor\n // because XMLHttpRequest is not available in service worker\n if (desc) {\n api.ObjectDefineProperty(Element.prototype, 'onclick', { enumerable: true, configurable: true, get: function () { return true; } });\n var div = document.createElement('div');\n var result = !!div.onclick;\n api.ObjectDefineProperty(Element.prototype, 'onclick', desc);\n return result;\n }\n }\n var XMLHttpRequest = _global['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return false;\n }\n var ON_READY_STATE_CHANGE = 'onreadystatechange';\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n var xhrDesc = api.ObjectGetOwnPropertyDescriptor(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE);\n // add enumerable and configurable here because in opera\n // by default XMLHttpRequest.prototype.onreadystatechange is undefined\n // without adding enumerable and configurable will cause onreadystatechange\n // non-configurable\n // and if XMLHttpRequest.prototype.onreadystatechange is undefined,\n // we should set a real desc instead a fake one\n if (xhrDesc) {\n api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, { enumerable: true, configurable: true, get: function () { return true; } });\n var req = new XMLHttpRequest();\n var result = !!req.onreadystatechange;\n // restore original desc\n api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, xhrDesc || {});\n return result;\n }\n else {\n var SYMBOL_FAKE_ONREADYSTATECHANGE_1 = api.symbol('fake');\n api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n enumerable: true,\n configurable: true,\n get: function () { return this[SYMBOL_FAKE_ONREADYSTATECHANGE_1]; },\n set: function (value) { this[SYMBOL_FAKE_ONREADYSTATECHANGE_1] = value; }\n });\n var req = new XMLHttpRequest();\n var detectFunc = function () { };\n req.onreadystatechange = detectFunc;\n var result = req[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === detectFunc;\n req.onreadystatechange = null;\n return result;\n }\n }\n // Whenever any eventListener fires, we check the eventListener target and all parents\n // for `onwhatever` properties and replace them with zone-bound functions\n // - Chrome (for now)\n function patchViaCapturingAllTheEvents(api) {\n var eventNames = api.getGlobalObjects().eventNames;\n var unboundKey = api.symbol('unbound');\n var _loop_4 = function (i) {\n var property = eventNames[i];\n var onproperty = 'on' + property;\n self.addEventListener(property, function (event) {\n var elt = event.target, bound, source;\n if (elt) {\n source = elt.constructor['name'] + '.' + onproperty;\n }\n else {\n source = 'unknown.' + onproperty;\n }\n while (elt) {\n if (elt[onproperty] && !elt[onproperty][unboundKey]) {\n bound = api.wrapWithCurrentZone(elt[onproperty], source);\n bound[unboundKey] = elt[onproperty];\n elt[onproperty] = bound;\n }\n elt = elt.parentElement;\n }\n }, true);\n };\n for (var i = 0; i < eventNames.length; i++) {\n _loop_4(i);\n }\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function registerElementPatch(_global, api) {\n var _a = api.getGlobalObjects(), isBrowser = _a.isBrowser, isMix = _a.isMix;\n if ((!isBrowser && !isMix) || !('registerElement' in _global.document)) {\n return;\n }\n var callbacks = ['createdCallback', 'attachedCallback', 'detachedCallback', 'attributeChangedCallback'];\n api.patchCallbacks(api, document, 'Document', 'registerElement', callbacks);\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n (function (_global) {\n var symbolPrefix = _global['__Zone_symbol_prefix'] || '__zone_symbol__';\n function __symbol__(name) { return symbolPrefix + name; }\n _global[__symbol__('legacyPatch')] = function () {\n var Zone = _global['Zone'];\n Zone.__load_patch('defineProperty', function (global, Zone, api) {\n api._redefineProperty = _redefineProperty;\n propertyPatch();\n });\n Zone.__load_patch('registerElement', function (global, Zone, api) {\n registerElementPatch(global, api);\n });\n Zone.__load_patch('EventTargetLegacy', function (global, Zone, api) {\n eventTargetLegacyPatch(global, api);\n propertyDescriptorLegacyPatch(api, global);\n });\n };\n })(typeof window !== 'undefined' ?\n window :\n typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {});\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var taskSymbol = zoneSymbol('zoneTask');\n function patchTimer(window, setName, cancelName, nameSuffix) {\n var setNative = null;\n var clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n var tasksByHandleId = {};\n function scheduleTask(task) {\n var data = task.data;\n function timer() {\n try {\n task.invoke.apply(this, arguments);\n }\n finally {\n // issue-934, task will be cancelled\n // even it is a periodic task such as\n // setInterval\n if (!(task.data && task.data.isPeriodic)) {\n if (typeof data.handleId === 'number') {\n // in non-nodejs env, we remove timerId\n // from local cache\n delete tasksByHandleId[data.handleId];\n }\n else if (data.handleId) {\n // Node returns complex objects as handleIds\n // we remove task reference from timer object\n data.handleId[taskSymbol] = null;\n }\n }\n }\n }\n data.args[0] = timer;\n data.handleId = setNative.apply(window, data.args);\n return task;\n }\n function clearTask(task) { return clearNative(task.data.handleId); }\n setNative =\n patchMethod(window, setName, function (delegate) { return function (self, args) {\n if (typeof args[0] === 'function') {\n var options = {\n isPeriodic: nameSuffix === 'Interval',\n delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 :\n undefined,\n args: args\n };\n var task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n var handle = task.data.handleId;\n if (typeof handle === 'number') {\n // for non nodejs env, we save handleId: task\n // mapping in local cache for clearTimeout\n tasksByHandleId[handle] = task;\n }\n else if (handle) {\n // for nodejs env, we save task\n // reference in timerId Object for clearTimeout\n handle[taskSymbol] = task;\n }\n // check whether handle is null, because some polyfill or browser\n // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame\n if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' &&\n typeof handle.unref === 'function') {\n task.ref = handle.ref.bind(handle);\n task.unref = handle.unref.bind(handle);\n }\n if (typeof handle === 'number' || handle) {\n return handle;\n }\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(window, args);\n }\n }; });\n clearNative =\n patchMethod(window, cancelName, function (delegate) { return function (self, args) {\n var id = args[0];\n var task;\n if (typeof id === 'number') {\n // non nodejs env.\n task = tasksByHandleId[id];\n }\n else {\n // nodejs env.\n task = id && id[taskSymbol];\n // other environments.\n if (!task) {\n task = id;\n }\n }\n if (task && typeof task.type === 'string') {\n if (task.state !== 'notScheduled' &&\n (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) {\n if (typeof id === 'number') {\n delete tasksByHandleId[id];\n }\n else if (id) {\n id[taskSymbol] = null;\n }\n // Do not cancel already canceled functions\n task.zone.cancelTask(task);\n }\n }\n else {\n // cause an error by calling it directly.\n delegate.apply(window, args);\n }\n }; });\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function patchCustomElements(_global, api) {\n var _a = api.getGlobalObjects(), isBrowser = _a.isBrowser, isMix = _a.isMix;\n if ((!isBrowser && !isMix) || !_global['customElements'] || !('customElements' in _global)) {\n return;\n }\n var callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback'];\n api.patchCallbacks(api, _global.customElements, 'customElements', 'define', callbacks);\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function eventTargetPatch(_global, api) {\n if (Zone[api.symbol('patchEventTarget')]) {\n // EventTarget is already patched.\n return;\n }\n var _a = api.getGlobalObjects(), eventNames = _a.eventNames, zoneSymbolEventNames = _a.zoneSymbolEventNames, TRUE_STR = _a.TRUE_STR, FALSE_STR = _a.FALSE_STR, ZONE_SYMBOL_PREFIX = _a.ZONE_SYMBOL_PREFIX;\n // predefine all __zone_symbol__ + eventName + true/false string\n for (var i = 0; i < eventNames.length; i++) {\n var eventName = eventNames[i];\n var falseEventName = eventName + FALSE_STR;\n var trueEventName = eventName + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n var EVENT_TARGET = _global['EventTarget'];\n if (!EVENT_TARGET || !EVENT_TARGET.prototype) {\n return;\n }\n api.patchEventTarget(_global, [EVENT_TARGET && EVENT_TARGET.prototype]);\n return true;\n }\n function patchEvent(global, api) {\n api.patchEventPrototype(global, api);\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n Zone.__load_patch('legacy', function (global) {\n var legacyPatch = global[Zone.__symbol__('legacyPatch')];\n if (legacyPatch) {\n legacyPatch();\n }\n });\n Zone.__load_patch('timers', function (global) {\n var set = 'set';\n var clear = 'clear';\n patchTimer(global, set, clear, 'Timeout');\n patchTimer(global, set, clear, 'Interval');\n patchTimer(global, set, clear, 'Immediate');\n });\n Zone.__load_patch('requestAnimationFrame', function (global) {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n });\n Zone.__load_patch('blocking', function (global, Zone) {\n var blockingMethods = ['alert', 'prompt', 'confirm'];\n for (var i = 0; i < blockingMethods.length; i++) {\n var name_2 = blockingMethods[i];\n patchMethod(global, name_2, function (delegate, symbol, name) {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n });\n Zone.__load_patch('EventTarget', function (global, Zone, api) {\n patchEvent(global, api);\n eventTargetPatch(global, api);\n // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener\n var XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n api.patchEventTarget(global, [XMLHttpRequestEventTarget.prototype]);\n }\n patchClass('MutationObserver');\n patchClass('WebKitMutationObserver');\n patchClass('IntersectionObserver');\n patchClass('FileReader');\n });\n Zone.__load_patch('on_property', function (global, Zone, api) {\n propertyDescriptorPatch(api, global);\n });\n Zone.__load_patch('customElements', function (global, Zone, api) {\n patchCustomElements(global, api);\n });\n Zone.__load_patch('XHR', function (global, Zone) {\n // Treat XMLHttpRequest as a macrotask.\n patchXHR(global);\n var XHR_TASK = zoneSymbol('xhrTask');\n var XHR_SYNC = zoneSymbol('xhrSync');\n var XHR_LISTENER = zoneSymbol('xhrListener');\n var XHR_SCHEDULED = zoneSymbol('xhrScheduled');\n var XHR_URL = zoneSymbol('xhrURL');\n var XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled');\n function patchXHR(window) {\n var XMLHttpRequest = window['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return;\n }\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n function findPendingTask(target) { return target[XHR_TASK]; }\n var oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n var oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n if (!oriAddListener) {\n var XMLHttpRequestEventTarget_1 = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget_1) {\n var XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget_1.prototype;\n oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n }\n var READY_STATE_CHANGE = 'readystatechange';\n var SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n var data = task.data;\n var target = data.target;\n target[XHR_SCHEDULED] = false;\n target[XHR_ERROR_BEFORE_SCHEDULED] = false;\n // remove existing event listener\n var listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n if (listener) {\n oriRemoveListener.call(target, READY_STATE_CHANGE, listener);\n }\n var newListener = target[XHR_LISTENER] = function () {\n if (target.readyState === target.DONE) {\n // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with\n // readyState=4 multiple times, so we need to check task state here\n if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) {\n // check whether the xhr has registered onload listener\n // if that is the case, the task should invoke after all\n // onload listeners finish.\n var loadTasks = target[Zone.__symbol__('loadfalse')];\n if (loadTasks && loadTasks.length > 0) {\n var oriInvoke_1 = task.invoke;\n task.invoke = function () {\n // need to load the tasks again, because in other\n // load listener, they may remove themselves\n var loadTasks = target[Zone.__symbol__('loadfalse')];\n for (var i = 0; i < loadTasks.length; i++) {\n if (loadTasks[i] === task) {\n loadTasks.splice(i, 1);\n }\n }\n if (!data.aborted && task.state === SCHEDULED) {\n oriInvoke_1.call(task);\n }\n };\n loadTasks.push(task);\n }\n else {\n task.invoke();\n }\n }\n else if (!data.aborted && target[XHR_SCHEDULED] === false) {\n // error occurs when xhr.send()\n target[XHR_ERROR_BEFORE_SCHEDULED] = true;\n }\n }\n };\n oriAddListener.call(target, READY_STATE_CHANGE, newListener);\n var storedTask = target[XHR_TASK];\n if (!storedTask) {\n target[XHR_TASK] = task;\n }\n sendNative.apply(target, data.args);\n target[XHR_SCHEDULED] = true;\n return task;\n }\n function placeholderCallback() { }\n function clearTask(task) {\n var data = task.data;\n // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n // to prevent it from firing. So instead, we store info for the event listener.\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n var openNative = patchMethod(XMLHttpRequestPrototype, 'open', function () { return function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n self[XHR_URL] = args[1];\n return openNative.apply(self, args);\n }; });\n var XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';\n var fetchTaskAborting = zoneSymbol('fetchTaskAborting');\n var fetchTaskScheduling = zoneSymbol('fetchTaskScheduling');\n var sendNative = patchMethod(XMLHttpRequestPrototype, 'send', function () { return function (self, args) {\n if (Zone.current[fetchTaskScheduling] === true) {\n // a fetch is scheduling, so we are using xhr to polyfill fetch\n // and because we already schedule macroTask for fetch, we should\n // not schedule a macroTask for xhr again\n return sendNative.apply(self, args);\n }\n if (self[XHR_SYNC]) {\n // if the XHR is sync there is no task to schedule, just execute the code.\n return sendNative.apply(self, args);\n }\n else {\n var options = { target: self, url: self[XHR_URL], isPeriodic: false, args: args, aborted: false };\n var task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted &&\n task.state === SCHEDULED) {\n // xhr request throw error when send\n // we should invoke task instead of leaving a scheduled\n // pending macroTask\n task.invoke();\n }\n }\n }; });\n var abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', function () { return function (self, args) {\n var task = findPendingTask(self);\n if (task && typeof task.type == 'string') {\n // If the XHR has already completed, do nothing.\n // If the XHR has already been aborted, do nothing.\n // Fix #569, call abort multiple times before done will cause\n // macroTask task count be negative number\n if (task.cancelFn == null || (task.data && task.data.aborted)) {\n return;\n }\n task.zone.cancelTask(task);\n }\n else if (Zone.current[fetchTaskAborting] === true) {\n // the abort is called from fetch polyfill, we need to call native abort of XHR.\n return abortNative.apply(self, args);\n }\n // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no\n // task\n // to cancel. Do nothing.\n }; });\n }\n });\n Zone.__load_patch('geolocation', function (global) {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n });\n Zone.__load_patch('PromiseRejectionEvent', function (global, Zone) {\n // handle unhandled promise rejection\n function findPromiseRejectionHandler(evtName) {\n return function (e) {\n var eventTasks = findEventTasks(global, evtName);\n eventTasks.forEach(function (eventTask) {\n // windows has added unhandledrejection event listener\n // trigger the event listener\n var PromiseRejectionEvent = global['PromiseRejectionEvent'];\n if (PromiseRejectionEvent) {\n var evt = new PromiseRejectionEvent(evtName, { promise: e.promise, reason: e.rejection });\n eventTask.invoke(evt);\n }\n });\n };\n }\n if (global['PromiseRejectionEvent']) {\n Zone[zoneSymbol('unhandledPromiseRejectionHandler')] =\n findPromiseRejectionHandler('unhandledrejection');\n Zone[zoneSymbol('rejectionHandledHandler')] =\n findPromiseRejectionHandler('rejectionhandled');\n }\n });\n})));\n","var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob()\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n}\n\nfunction isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nif (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n}\n\nfunction normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n}\n\nfunction normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n}\n\n// Build a destructive iterator for the value list\nfunction iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n}\n\nexport function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n}\n\nHeaders.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue + ', ' + value : value\n}\n\nHeaders.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n}\n\nHeaders.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n}\n\nHeaders.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n}\n\nHeaders.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n}\n\nHeaders.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n}\n\nHeaders.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push(name)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.values = function() {\n var items = []\n this.forEach(function(value) {\n items.push(value)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push([name, value])\n })\n return iteratorFor(items)\n}\n\nif (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n}\n\nfunction consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n}\n\nfunction fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n}\n\nfunction readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nfunction readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nfunction readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n}\n\nfunction bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n}\n\nfunction Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n this._bodyText = body = Object.prototype.toString.call(body)\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n}\n\n// HTTP methods whose capitalization should be normalized\nvar methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\nfunction normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return methods.indexOf(upcased) > -1 ? upcased : method\n}\n\nexport function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n this.signal = input.signal\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.signal = options.signal || this.signal\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n}\n\nRequest.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n}\n\nfunction decode(body) {\n var form = new FormData()\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nfunction parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n}\n\nBody.call(Request.prototype)\n\nexport function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n}\n\nBody.call(Response.prototype)\n\nResponse.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n}\n\nResponse.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n}\n\nvar redirectStatuses = [301, 302, 303, 307, 308]\n\nResponse.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n}\n\nexport var DOMException = self.DOMException\ntry {\n new DOMException()\n} catch (err) {\n DOMException = function(message, name) {\n this.message = message\n this.name = name\n var error = Error(message)\n this.stack = error.stack\n }\n DOMException.prototype = Object.create(Error.prototype)\n DOMException.prototype.constructor = DOMException\n}\n\nexport function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n\n if (request.signal && request.signal.aborted) {\n return reject(new DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest()\n\n function abortXhr() {\n xhr.abort()\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.onabort = function() {\n reject(new DOMException('Aborted', 'AbortError'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr)\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr)\n }\n }\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n}\n\nfetch.polyfill = true\n\nif (!self.fetch) {\n self.fetch = fetch\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n}\n","/**\n * @file Web Cryptography API shim\n * @author Artem S Vybornov \n * @license MIT\n */\n(function (global, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define([], function () {\n return factory(global);\n });\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports\n module.exports = factory(global);\n } else {\n factory(global);\n }\n}(typeof self !== 'undefined' ? self : this, function (global) {\n 'use strict';\n\n if ( typeof Promise !== 'function' )\n throw \"Promise support required\";\n\n var _crypto = global.crypto || global.msCrypto;\n if ( !_crypto ) return;\n\n var _subtle = _crypto.subtle || _crypto.webkitSubtle;\n if ( !_subtle ) return;\n\n var _Crypto = global.Crypto || _crypto.constructor || Object,\n _SubtleCrypto = global.SubtleCrypto || _subtle.constructor || Object,\n _CryptoKey = global.CryptoKey || global.Key || Object;\n\n var isEdge = global.navigator.userAgent.indexOf('Edge/') > -1;\n var isIE = !!global.msCrypto && !isEdge;\n var isWebkit = !_crypto.subtle && !!_crypto.webkitSubtle;\n if ( !isIE && !isWebkit ) return;\n\n function s2a ( s ) {\n return btoa(s).replace(/\\=+$/, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n }\n\n function a2s ( s ) {\n s += '===', s = s.slice( 0, -s.length % 4 );\n return atob( s.replace(/-/g, '+').replace(/_/g, '/') );\n }\n\n function s2b ( s ) {\n var b = new Uint8Array(s.length);\n for ( var i = 0; i < s.length; i++ ) b[i] = s.charCodeAt(i);\n return b;\n }\n\n function b2s ( b ) {\n if ( b instanceof ArrayBuffer ) b = new Uint8Array(b);\n return String.fromCharCode.apply( String, b );\n }\n\n function alg ( a ) {\n var r = { 'name': (a.name || a || '').toUpperCase().replace('V','v') };\n switch ( r.name ) {\n case 'SHA-1':\n case 'SHA-256':\n case 'SHA-384':\n case 'SHA-512':\n break;\n case 'AES-CBC':\n case 'AES-GCM':\n case 'AES-KW':\n if ( a.length ) r['length'] = a.length;\n break;\n case 'HMAC':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.length ) r['length'] = a.length;\n break;\n case 'RSAES-PKCS1-v1_5':\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n case 'RSASSA-PKCS1-v1_5':\n case 'RSA-OAEP':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n default:\n throw new SyntaxError(\"Bad algorithm name\");\n }\n return r;\n };\n\n function jwkAlg ( a ) {\n return {\n 'HMAC': {\n 'SHA-1': 'HS1',\n 'SHA-256': 'HS256',\n 'SHA-384': 'HS384',\n 'SHA-512': 'HS512',\n },\n 'RSASSA-PKCS1-v1_5': {\n 'SHA-1': 'RS1',\n 'SHA-256': 'RS256',\n 'SHA-384': 'RS384',\n 'SHA-512': 'RS512',\n },\n 'RSAES-PKCS1-v1_5': {\n '': 'RSA1_5',\n },\n 'RSA-OAEP': {\n 'SHA-1': 'RSA-OAEP',\n 'SHA-256': 'RSA-OAEP-256',\n },\n 'AES-KW': {\n '128': 'A128KW',\n '192': 'A192KW',\n '256': 'A256KW',\n },\n 'AES-GCM': {\n '128': 'A128GCM',\n '192': 'A192GCM',\n '256': 'A256GCM',\n },\n 'AES-CBC': {\n '128': 'A128CBC',\n '192': 'A192CBC',\n '256': 'A256CBC',\n },\n }[a.name][ ( a.hash || {} ).name || a.length || '' ];\n }\n\n function b2jwk ( k ) {\n if ( k instanceof ArrayBuffer || k instanceof Uint8Array ) k = JSON.parse( decodeURIComponent( escape( b2s(k) ) ) );\n var jwk = { 'kty': k.kty, 'alg': k.alg, 'ext': k.ext || k.extractable };\n switch ( jwk.kty ) {\n case 'oct':\n jwk.k = k.k;\n case 'RSA':\n [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi', 'oth' ].forEach( function ( x ) { if ( x in k ) jwk[x] = k[x] } );\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2b ( k ) {\n var jwk = b2jwk(k);\n if ( isIE ) jwk['extractable'] = jwk.ext, delete jwk.ext;\n return s2b( unescape( encodeURIComponent( JSON.stringify(jwk) ) ) ).buffer;\n }\n\n function pkcs2jwk ( k ) {\n var info = b2der(k), prv = false;\n if ( info.length > 2 ) prv = true, info.shift(); // remove version from PKCS#8 PrivateKeyInfo structure\n var jwk = { 'ext': true };\n switch ( info[0][0] ) {\n case '1.2.840.113549.1.1.1':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = b2der( info[1] );\n if ( prv ) rsaKey.shift(); // remove version from PKCS#1 RSAPrivateKey structure\n for ( var i = 0; i < rsaKey.length; i++ ) {\n if ( !rsaKey[i][0] ) rsaKey[i] = rsaKey[i].subarray(1);\n jwk[ rsaComp[i] ] = s2a( b2s( rsaKey[i] ) );\n }\n jwk['kty'] = 'RSA';\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2pkcs ( k ) {\n var key, info = [ [ '', null ] ], prv = false;\n switch ( k.kty ) {\n case 'RSA':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = [];\n for ( var i = 0; i < rsaComp.length; i++ ) {\n if ( !( rsaComp[i] in k ) ) break;\n var b = rsaKey[i] = s2b( a2s( k[ rsaComp[i] ] ) );\n if ( b[0] & 0x80 ) rsaKey[i] = new Uint8Array(b.length + 1), rsaKey[i].set( b, 1 );\n }\n if ( rsaKey.length > 2 ) prv = true, rsaKey.unshift( new Uint8Array([0]) ); // add version to PKCS#1 RSAPrivateKey structure\n info[0][0] = '1.2.840.113549.1.1.1';\n key = rsaKey;\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n info.push( new Uint8Array( der2b(key) ).buffer );\n if ( !prv ) info[1] = { 'tag': 0x03, 'value': info[1] };\n else info.unshift( new Uint8Array([0]) ); // add version to PKCS#8 PrivateKeyInfo structure\n return new Uint8Array( der2b(info) ).buffer;\n }\n\n var oid2str = { 'KoZIhvcNAQEB': '1.2.840.113549.1.1.1' },\n str2oid = { '1.2.840.113549.1.1.1': 'KoZIhvcNAQEB' };\n\n function b2der ( buf, ctx ) {\n if ( buf instanceof ArrayBuffer ) buf = new Uint8Array(buf);\n if ( !ctx ) ctx = { pos: 0, end: buf.length };\n\n if ( ctx.end - ctx.pos < 2 || ctx.end > buf.length ) throw new RangeError(\"Malformed DER\");\n\n var tag = buf[ctx.pos++],\n len = buf[ctx.pos++];\n\n if ( len >= 0x80 ) {\n len &= 0x7f;\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n for ( var xlen = 0; len--; ) xlen <<= 8, xlen |= buf[ctx.pos++];\n len = xlen;\n }\n\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n\n var rv;\n\n switch ( tag ) {\n case 0x02: // Universal Primitive INTEGER\n rv = buf.subarray( ctx.pos, ctx.pos += len );\n break;\n case 0x03: // Universal Primitive BIT STRING\n if ( buf[ctx.pos++] ) throw new Error( \"Unsupported bit string\" );\n len--;\n case 0x04: // Universal Primitive OCTET STRING\n rv = new Uint8Array( buf.subarray( ctx.pos, ctx.pos += len ) ).buffer;\n break;\n case 0x05: // Universal Primitive NULL\n rv = null;\n break;\n case 0x06: // Universal Primitive OBJECT IDENTIFIER\n var oid = btoa( b2s( buf.subarray( ctx.pos, ctx.pos += len ) ) );\n if ( !( oid in oid2str ) ) throw new Error( \"Unsupported OBJECT ID \" + oid );\n rv = oid2str[oid];\n break;\n case 0x30: // Universal Constructed SEQUENCE\n rv = [];\n for ( var end = ctx.pos + len; ctx.pos < end; ) rv.push( b2der( buf, ctx ) );\n break;\n default:\n throw new Error( \"Unsupported DER tag 0x\" + tag.toString(16) );\n }\n\n return rv;\n }\n\n function der2b ( val, buf ) {\n if ( !buf ) buf = [];\n\n var tag = 0, len = 0,\n pos = buf.length + 2;\n\n buf.push( 0, 0 ); // placeholder\n\n if ( val instanceof Uint8Array ) { // Universal Primitive INTEGER\n tag = 0x02, len = val.length;\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val instanceof ArrayBuffer ) { // Universal Primitive OCTET STRING\n tag = 0x04, len = val.byteLength, val = new Uint8Array(val);\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val === null ) { // Universal Primitive NULL\n tag = 0x05, len = 0;\n }\n else if ( typeof val === 'string' && val in str2oid ) { // Universal Primitive OBJECT IDENTIFIER\n var oid = s2b( atob( str2oid[val] ) );\n tag = 0x06, len = oid.length;\n for ( var i = 0; i < len; i++ ) buf.push( oid[i] );\n }\n else if ( val instanceof Array ) { // Universal Constructed SEQUENCE\n for ( var i = 0; i < val.length; i++ ) der2b( val[i], buf );\n tag = 0x30, len = buf.length - pos;\n }\n else if ( typeof val === 'object' && val.tag === 0x03 && val.value instanceof ArrayBuffer ) { // Tag hint\n val = new Uint8Array(val.value), tag = 0x03, len = val.byteLength;\n buf.push(0); for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n len++;\n }\n else {\n throw new Error( \"Unsupported DER value \" + val );\n }\n\n if ( len >= 0x80 ) {\n var xlen = len, len = 4;\n buf.splice( pos, 0, (xlen >> 24) & 0xff, (xlen >> 16) & 0xff, (xlen >> 8) & 0xff, xlen & 0xff );\n while ( len > 1 && !(xlen >> 24) ) xlen <<= 8, len--;\n if ( len < 4 ) buf.splice( pos, 4 - len );\n len |= 0x80;\n }\n\n buf.splice( pos - 2, 2, tag, len );\n\n return buf;\n }\n\n function CryptoKey ( key, alg, ext, use ) {\n Object.defineProperties( this, {\n _key: {\n value: key\n },\n type: {\n value: key.type,\n enumerable: true,\n },\n extractable: {\n value: (ext === undefined) ? key.extractable : ext,\n enumerable: true,\n },\n algorithm: {\n value: (alg === undefined) ? key.algorithm : alg,\n enumerable: true,\n },\n usages: {\n value: (use === undefined) ? key.usages : use,\n enumerable: true,\n },\n });\n }\n\n function isPubKeyUse ( u ) {\n return u === 'verify' || u === 'encrypt' || u === 'wrapKey';\n }\n\n function isPrvKeyUse ( u ) {\n return u === 'sign' || u === 'decrypt' || u === 'unwrapKey';\n }\n\n [ 'generateKey', 'importKey', 'unwrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments),\n ka, kx, ku;\n\n switch ( m ) {\n case 'generateKey':\n ka = alg(a), kx = b, ku = c;\n break;\n case 'importKey':\n ka = alg(c), kx = args[3], ku = args[4];\n if ( a === 'jwk' ) {\n b = b2jwk(b);\n if ( !b.alg ) b.alg = jwkAlg(ka);\n if ( !b.key_ops ) b.key_ops = ( b.kty !== 'oct' ) ? ( 'd' in b ) ? ku.filter(isPrvKeyUse) : ku.filter(isPubKeyUse) : ku.slice();\n args[1] = jwk2b(b);\n }\n break;\n case 'unwrapKey':\n ka = args[4], kx = args[5], ku = args[6];\n args[2] = c._key;\n break;\n }\n\n if ( m === 'generateKey' && ka.name === 'HMAC' && ka.hash ) {\n ka.length = ka.length || { 'SHA-1': 512, 'SHA-256': 512, 'SHA-384': 1024, 'SHA-512': 1024 }[ka.hash.name];\n return _subtle.importKey( 'raw', _crypto.getRandomValues( new Uint8Array( (ka.length+7)>>3 ) ), ka, kx, ku );\n }\n\n if ( isWebkit && m === 'generateKey' && ka.name === 'RSASSA-PKCS1-v1_5' && ( !ka.modulusLength || ka.modulusLength >= 2048 ) ) {\n a = alg(a), a.name = 'RSAES-PKCS1-v1_5', delete a.hash;\n return _subtle.generateKey( a, true, [ 'encrypt', 'decrypt' ] )\n .then( function ( k ) {\n return Promise.all([\n _subtle.exportKey( 'jwk', k.publicKey ),\n _subtle.exportKey( 'jwk', k.privateKey ),\n ]);\n })\n .then( function ( keys ) {\n keys[0].alg = keys[1].alg = jwkAlg(ka);\n keys[0].key_ops = ku.filter(isPubKeyUse), keys[1].key_ops = ku.filter(isPrvKeyUse);\n return Promise.all([\n _subtle.importKey( 'jwk', keys[0], ka, true, keys[0].key_ops ),\n _subtle.importKey( 'jwk', keys[1], ka, kx, keys[1].key_ops ),\n ]);\n })\n .then( function ( keys ) {\n return {\n publicKey: keys[0],\n privateKey: keys[1],\n };\n });\n }\n\n if ( ( isWebkit || ( isIE && ( ka.hash || {} ).name === 'SHA-1' ) )\n && m === 'importKey' && a === 'jwk' && ka.name === 'HMAC' && b.kty === 'oct' ) {\n return _subtle.importKey( 'raw', s2b( a2s(b.k) ), c, args[3], args[4] );\n }\n\n if ( isWebkit && m === 'importKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n return _subtle.importKey( 'jwk', pkcs2jwk(b), c, args[3], args[4] );\n }\n\n if ( isIE && m === 'unwrapKey' ) {\n return _subtle.decrypt( args[3], c, b )\n .then( function ( k ) {\n return _subtle.importKey( a, k, args[4], args[5], args[6] );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n op = op.then( function ( k ) {\n if ( ka.name === 'HMAC' ) {\n if ( !ka.length ) ka.length = 8 * k.algorithm.length;\n }\n if ( ka.name.search('RSA') == 0 ) {\n if ( !ka.modulusLength ) ka.modulusLength = (k.publicKey || k).algorithm.modulusLength;\n if ( !ka.publicExponent ) ka.publicExponent = (k.publicKey || k).algorithm.publicExponent;\n }\n if ( k.publicKey && k.privateKey ) {\n k = {\n publicKey: new CryptoKey( k.publicKey, ka, kx, ku.filter(isPubKeyUse) ),\n privateKey: new CryptoKey( k.privateKey, ka, kx, ku.filter(isPrvKeyUse) ),\n };\n }\n else {\n k = new CryptoKey( k, ka, kx, ku );\n }\n return k;\n });\n\n return op;\n }\n });\n\n [ 'exportKey', 'wrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments);\n\n switch ( m ) {\n case 'exportKey':\n args[1] = b._key;\n break;\n case 'wrapKey':\n args[1] = b._key, args[2] = c._key;\n break;\n }\n\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && m === 'exportKey' && a === 'jwk' && b.algorithm.name === 'HMAC' ) {\n args[0] = 'raw';\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n args[0] = 'jwk';\n }\n\n if ( isIE && m === 'wrapKey' ) {\n return _subtle.exportKey( a, b )\n .then( function ( k ) {\n if ( a === 'jwk' ) k = s2b( unescape( encodeURIComponent( JSON.stringify( b2jwk(k) ) ) ) );\n return _subtle.encrypt( args[3], c, k );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n if ( m === 'exportKey' && a === 'jwk' ) {\n op = op.then( function ( k ) {\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && b.algorithm.name === 'HMAC') {\n return { 'kty': 'oct', 'alg': jwkAlg(b.algorithm), 'key_ops': b.usages.slice(), 'ext': true, 'k': s2a( b2s(k) ) };\n }\n k = b2jwk(k);\n if ( !k.alg ) k['alg'] = jwkAlg(b.algorithm);\n if ( !k.key_ops ) k['key_ops'] = ( b.type === 'public' ) ? b.usages.filter(isPubKeyUse) : ( b.type === 'private' ) ? b.usages.filter(isPrvKeyUse) : b.usages.slice();\n return k;\n });\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n op = op.then( function ( k ) {\n k = jwk2pkcs( b2jwk(k) );\n return k;\n });\n }\n\n return op;\n }\n });\n\n [ 'encrypt', 'decrypt', 'sign', 'verify' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c, d ) {\n if ( isIE && ( !c.byteLength || ( d && !d.byteLength ) ) )\n throw new Error(\"Empy input is not allowed\");\n\n var args = [].slice.call(arguments),\n ka = alg(a);\n\n if ( isIE && m === 'decrypt' && ka.name === 'AES-GCM' ) {\n var tl = a.tagLength >> 3;\n args[2] = (c.buffer || c).slice( 0, c.byteLength - tl ),\n a.tag = (c.buffer || c).slice( c.byteLength - tl );\n }\n\n args[1] = b._key;\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) {\n rej(e);\n };\n\n op.oncomplete = function ( r ) {\n var r = r.target.result;\n\n if ( m === 'encrypt' && r instanceof AesGcmEncryptResult ) {\n var c = r.ciphertext, t = r.tag;\n r = new Uint8Array( c.byteLength + t.byteLength );\n r.set( new Uint8Array(c), 0 );\n r.set( new Uint8Array(t), c.byteLength );\n r = r.buffer;\n }\n\n res(r);\n };\n });\n }\n\n return op;\n }\n });\n\n if ( isIE ) {\n var _digest = _subtle.digest;\n\n _subtle['digest'] = function ( a, b ) {\n if ( !b.byteLength )\n throw new Error(\"Empy input is not allowed\");\n\n var op;\n try {\n op = _digest.call( _subtle, a, b );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n\n return op;\n };\n\n global.crypto = Object.create( _crypto, {\n getRandomValues: { value: function ( a ) { return _crypto.getRandomValues(a) } },\n subtle: { value: _subtle },\n });\n\n global.CryptoKey = CryptoKey;\n }\n\n if ( isWebkit ) {\n _crypto.subtle = _subtle;\n\n global.Crypto = _Crypto;\n global.SubtleCrypto = _SubtleCrypto;\n global.CryptoKey = CryptoKey;\n }\n}));\n"],"sourceRoot":""} \ No newline at end of file diff --git a/app/vendor.5767a6ed9bc20ebddf79.js b/app/vendor.5767a6ed9bc20ebddf79.js deleted file mode 100644 index 88f956fa..00000000 --- a/app/vendor.5767a6ed9bc20ebddf79.js +++ /dev/null @@ -1,2695 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[2],[function(e,t,n){"use strict";n.r(t),function(e){n.d(t,"ANALYZE_FOR_ENTRY_COMPONENTS",function(){return Yc}),n.d(t,"APP_BOOTSTRAP_LISTENER",function(){return Bv}),n.d(t,"APP_ID",function(){return Av}),n.d(t,"APP_INITIALIZER",function(){return zv}),n.d(t,"ApplicationInitStatus",function(){return Dv}),n.d(t,"ApplicationModule",function(){return Sw}),n.d(t,"ApplicationRef",function(){return Rk}),n.d(t,"Attribute",function(){return E}),n.d(t,"COMPILER_OPTIONS",function(){return ak}),n.d(t,"CUSTOM_ELEMENTS_SCHEMA",function(){return Ci}),n.d(t,"ChangeDetectionStrategy",function(){return Ie}),n.d(t,"ChangeDetectorRef",function(){return Pl}),n.d(t,"Compiler",function(){return ik}),n.d(t,"CompilerFactory",function(){return ok}),n.d(t,"Component",function(){return gv}),n.d(t,"ComponentFactory",function(){return qp}),n.d(t,"ComponentFactoryResolver",function(){return Vp}),n.d(t,"ComponentRef",function(){return Mp}),n.d(t,"ContentChild",function(){return Xc}),n.d(t,"ContentChildren",function(){return Jc}),n.d(t,"DEFAULT_CURRENCY_CODE",function(){return Hv}),n.d(t,"DebugElement",function(){return bw}),n.d(t,"DebugEventListener",function(){return Yk}),n.d(t,"DebugNode",function(){return yw}),n.d(t,"DefaultIterableDiffer",function(){return af}),n.d(t,"Directive",function(){return mv}),n.d(t,"ElementRef",function(){return Kp}),n.d(t,"EmbeddedViewRef",function(){return $k}),n.d(t,"ErrorHandler",function(){return ji}),n.d(t,"EventEmitter",function(){return sb}),n.d(t,"Host",function(){return j}),n.d(t,"HostBinding",function(){return kv}),n.d(t,"HostListener",function(){return wv}),n.d(t,"INJECTOR",function(){return ce}),n.d(t,"Inject",function(){return v}),n.d(t,"InjectFlags",function(){return y}),n.d(t,"Injectable",function(){return tc}),n.d(t,"InjectionToken",function(){return le}),n.d(t,"Injector",function(){return kc}),n.d(t,"Input",function(){return bv}),n.d(t,"IterableDiffers",function(){return pf}),n.d(t,"KeyValueDiffers",function(){return ff}),n.d(t,"LOCALE_ID",function(){return Uv}),n.d(t,"MissingTranslationStrategy",function(){return Mv}),n.d(t,"ModuleWithComponentFactories",function(){return $v}),n.d(t,"NO_ERRORS_SCHEMA",function(){return Ei}),n.d(t,"NgModule",function(){return Tv}),n.d(t,"NgModuleFactory",function(){return Ne}),n.d(t,"NgModuleFactoryLoader",function(){return Lk}),n.d(t,"NgModuleRef",function(){return Ae}),n.d(t,"NgProbeToken",function(){return Tk}),n.d(t,"NgZone",function(){return ck}),n.d(t,"Optional",function(){return k}),n.d(t,"Output",function(){return vv}),n.d(t,"PACKAGE_ROOT_URL",function(){return Fv}),n.d(t,"PLATFORM_ID",function(){return Lv}),n.d(t,"PLATFORM_INITIALIZER",function(){return qv}),n.d(t,"Pipe",function(){return yv}),n.d(t,"PlatformRef",function(){return Nk}),n.d(t,"Query",function(){return Zc}),n.d(t,"QueryList",function(){return cb}),n.d(t,"ReflectiveInjector",function(){return Qc}),n.d(t,"ReflectiveKey",function(){return Nc}),n.d(t,"Renderer2",function(){return Yp}),n.d(t,"RendererFactory2",function(){return $p}),n.d(t,"RendererStyleFlags2",function(){return Wp}),n.d(t,"ResolvedReflectiveFactory",function(){return Bc}),n.d(t,"Sanitizer",function(){return Xp}),n.d(t,"SecurityContext",function(){return Ji}),n.d(t,"Self",function(){return w}),n.d(t,"SimpleChange",function(){return Cp}),n.d(t,"SkipSelf",function(){return _}),n.d(t,"SystemJsNgModuleLoader",function(){return Kk}),n.d(t,"SystemJsNgModuleLoaderConfig",function(){return Hk}),n.d(t,"TRANSLATIONS",function(){return Wv}),n.d(t,"TRANSLATIONS_FORMAT",function(){return Kv}),n.d(t,"TemplateRef",function(){return vf}),n.d(t,"Testability",function(){return yk}),n.d(t,"TestabilityRegistry",function(){return bk}),n.d(t,"Type",function(){return ql}),n.d(t,"VERSION",function(){return tf}),n.d(t,"Version",function(){return ef}),n.d(t,"ViewChild",function(){return tu}),n.d(t,"ViewChildren",function(){return eu}),n.d(t,"ViewContainerRef",function(){return _f}),n.d(t,"ViewEncapsulation",function(){return De}),n.d(t,"ViewRef",function(){return Qk}),n.d(t,"WrappedValue",function(){return pu}),n.d(t,"asNativeElements",function(){return Xk}),n.d(t,"assertPlatform",function(){return zk}),n.d(t,"createPlatform",function(){return Ok}),n.d(t,"createPlatformFactory",function(){return Ik}),n.d(t,"defineInjectable",function(){return O}),n.d(t,"destroyPlatform",function(){return Dk}),n.d(t,"enableProdMode",function(){return Ui}),n.d(t,"forwardRef",function(){return V}),n.d(t,"getDebugNode",function(){return pw}),n.d(t,"getModuleFactory",function(){return Vk}),n.d(t,"getPlatform",function(){return Ak}),n.d(t,"inject",function(){return je}),n.d(t,"isDevMode",function(){return Vi}),n.d(t,"platformCore",function(){return vw}),n.d(t,"resolveForwardRef",function(){return U}),n.d(t,"setTestabilityGetter",function(){return vk}),n.d(t,"ɵ0",function(){return b}),n.d(t,"ɵ1",function(){return C}),n.d(t,"ɵALLOW_MULTIPLE_PLATFORMS",function(){return Sk}),n.d(t,"ɵAPP_ID_RANDOM_PROVIDER",function(){return Pv}),n.d(t,"ɵChangeDetectorStatus",function(){return ze}),n.d(t,"ɵCodegenComponentFactoryResolver",function(){return Up}),n.d(t,"ɵCompiler_compileModuleAndAllComponentsAsync__POST_R3__",function(){return nk}),n.d(t,"ɵCompiler_compileModuleAndAllComponentsSync__POST_R3__",function(){return ek}),n.d(t,"ɵCompiler_compileModuleAsync__POST_R3__",function(){return Jv}),n.d(t,"ɵCompiler_compileModuleSync__POST_R3__",function(){return Yv}),n.d(t,"ɵComponentFactory",function(){return qp}),n.d(t,"ɵConsole",function(){return Vv}),n.d(t,"ɵDEFAULT_LOCALE_ID",function(){return Pg}),n.d(t,"ɵEMPTY_ARRAY",function(){return vm}),n.d(t,"ɵEMPTY_MAP",function(){return km}),n.d(t,"ɵINJECTOR_IMPL__POST_R3__",function(){return bc}),n.d(t,"ɵINJECTOR_SCOPE",function(){return ic}),n.d(t,"ɵLifecycleHooksFeature",function(){return pp}),n.d(t,"ɵLocaleDataIndex",function(){return Eg}),n.d(t,"ɵNG_COMP_DEF",function(){return X}),n.d(t,"ɵNG_DIR_DEF",function(){return ee}),n.d(t,"ɵNG_ELEMENT_ID",function(){return ae}),n.d(t,"ɵNG_INJ_DEF",function(){return P}),n.d(t,"ɵNG_MOD_DEF",function(){return ne}),n.d(t,"ɵNG_PIPE_DEF",function(){return te}),n.d(t,"ɵNG_PROV_DEF",function(){return N}),n.d(t,"ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR",function(){return hg}),n.d(t,"ɵNO_CHANGE",function(){return io}),n.d(t,"ɵNgModuleFactory",function(){return Ry}),n.d(t,"ɵNoopNgZone",function(){return gk}),n.d(t,"ɵReflectionCapabilities",function(){return Hl}),n.d(t,"ɵRender3ComponentFactory",function(){return _g}),n.d(t,"ɵRender3ComponentRef",function(){return jg}),n.d(t,"ɵRender3NgModuleRef",function(){return Py}),n.d(t,"ɵSWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__",function(){return Rl}),n.d(t,"ɵSWITCH_COMPILE_COMPONENT__POST_R3__",function(){return _v}),n.d(t,"ɵSWITCH_COMPILE_DIRECTIVE__POST_R3__",function(){return jv}),n.d(t,"ɵSWITCH_COMPILE_INJECTABLE__POST_R3__",function(){return nc}),n.d(t,"ɵSWITCH_COMPILE_NGMODULE__POST_R3__",function(){return Ov}),n.d(t,"ɵSWITCH_COMPILE_PIPE__POST_R3__",function(){return Cv}),n.d(t,"ɵSWITCH_ELEMENT_REF_FACTORY__POST_R3__",function(){return Gp}),n.d(t,"ɵSWITCH_IVY_ENABLED__POST_R3__",function(){return Gv}),n.d(t,"ɵSWITCH_RENDERER2_FACTORY__POST_R3__",function(){return Zp}),n.d(t,"ɵSWITCH_TEMPLATE_REF_FACTORY__POST_R3__",function(){return kf}),n.d(t,"ɵSWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__",function(){return jf}),n.d(t,"ɵ_sanitizeHtml",function(){return ga}),n.d(t,"ɵ_sanitizeStyle",function(){return ka}),n.d(t,"ɵ_sanitizeUrl",function(){return Gi}),n.d(t,"ɵallowSanitizationBypassAndThrow",function(){return Ai}),n.d(t,"ɵand",function(){return Tw}),n.d(t,"ɵangular_packages_core_core_a",function(){return H}),n.d(t,"ɵangular_packages_core_core_b",function(){return ke}),n.d(t,"ɵangular_packages_core_core_ba",function(){return Bn}),n.d(t,"ɵangular_packages_core_core_bb",function(){return Un}),n.d(t,"ɵangular_packages_core_core_bc",function(){return $n}),n.d(t,"ɵangular_packages_core_core_bd",function(){return hr}),n.d(t,"ɵangular_packages_core_core_bf",function(){return Qy}),n.d(t,"ɵangular_packages_core_core_bg",function(){return $y}),n.d(t,"ɵangular_packages_core_core_bh",function(){return Yy}),n.d(t,"ɵangular_packages_core_core_bi",function(){return Zy}),n.d(t,"ɵangular_packages_core_core_bj",function(){return Jy}),n.d(t,"ɵangular_packages_core_core_bk",function(){return xa}),n.d(t,"ɵangular_packages_core_core_bl",function(){return m}),n.d(t,"ɵangular_packages_core_core_bm",function(){return g}),n.d(t,"ɵangular_packages_core_core_bn",function(){return x}),n.d(t,"ɵangular_packages_core_core_bp",function(){return c}),n.d(t,"ɵangular_packages_core_core_bq",function(){return so}),n.d(t,"ɵangular_packages_core_core_c",function(){return xe}),n.d(t,"ɵangular_packages_core_core_d",function(){return $c}),n.d(t,"ɵangular_packages_core_core_e",function(){return Mc}),n.d(t,"ɵangular_packages_core_core_f",function(){return Uc}),n.d(t,"ɵangular_packages_core_core_g",function(){return Nv}),n.d(t,"ɵangular_packages_core_core_h",function(){return zl}),n.d(t,"ɵangular_packages_core_core_i",function(){return Dl}),n.d(t,"ɵangular_packages_core_core_j",function(){return Bk}),n.d(t,"ɵangular_packages_core_core_k",function(){return Zk}),n.d(t,"ɵangular_packages_core_core_l",function(){return Jk}),n.d(t,"ɵangular_packages_core_core_m",function(){return fw}),n.d(t,"ɵangular_packages_core_core_n",function(){return nf}),n.d(t,"ɵangular_packages_core_core_o",function(){return uf}),n.d(t,"ɵangular_packages_core_core_p",function(){return kw}),n.d(t,"ɵangular_packages_core_core_q",function(){return ww}),n.d(t,"ɵangular_packages_core_core_r",function(){return _w}),n.d(t,"ɵangular_packages_core_core_s",function(){return Cw}),n.d(t,"ɵangular_packages_core_core_t",function(){return Ew}),n.d(t,"ɵangular_packages_core_core_u",function(){return Rg}),n.d(t,"ɵangular_packages_core_core_v",function(){return ag}),n.d(t,"ɵangular_packages_core_core_w",function(){return Pf}),n.d(t,"ɵangular_packages_core_core_x",function(){return wg}),n.d(t,"ɵangular_packages_core_core_y",function(){return oi}),n.d(t,"ɵangular_packages_core_core_z",function(){return Rn}),n.d(t,"ɵbypassSanitizationTrustHtml",function(){return Pi}),n.d(t,"ɵbypassSanitizationTrustResourceUrl",function(){return Li}),n.d(t,"ɵbypassSanitizationTrustScript",function(){return Mi}),n.d(t,"ɵbypassSanitizationTrustStyle",function(){return Ri}),n.d(t,"ɵbypassSanitizationTrustUrl",function(){return qi}),n.d(t,"ɵccf",function(){return Nm}),n.d(t,"ɵclearOverrides",function(){return tj}),n.d(t,"ɵclearResolutionOfComponentResourcesQueue",function(){return ou}),n.d(t,"ɵcmf",function(){return nj}),n.d(t,"ɵcompileComponent",function(){return Xb}),n.d(t,"ɵcompileDirective",function(){return ev}),n.d(t,"ɵcompileNgModule",function(){return Lb}),n.d(t,"ɵcompileNgModuleDefs",function(){return Bb}),n.d(t,"ɵcompileNgModuleFactory__POST_R3__",function(){return jk}),n.d(t,"ɵcompilePipe",function(){return pv}),n.d(t,"ɵcreateInjector",function(){return uc}),n.d(t,"ɵcrt",function(){return Uf}),n.d(t,"ɵdefaultIterableDiffers",function(){return yf}),n.d(t,"ɵdefaultKeyValueDiffers",function(){return bf}),n.d(t,"ɵdetectChanges",function(){return Fu}),n.d(t,"ɵdevModeEqual",function(){return hu}),n.d(t,"ɵdid",function(){return ng}),n.d(t,"ɵeld",function(){return Ow}),n.d(t,"ɵfindLocaleData",function(){return Og}),n.d(t,"ɵflushModuleScopingQueueAsMuchAsPossible",function(){return Mb}),n.d(t,"ɵgetComponentViewDefinitionFactory",function(){return Pm}),n.d(t,"ɵgetDebugNodeR2",function(){return mw}),n.d(t,"ɵgetDebugNode__POST_R3__",function(){return hw}),n.d(t,"ɵgetDirectives",function(){return Zh}),n.d(t,"ɵgetHostElement",function(){return ep}),n.d(t,"ɵgetInjectableDef",function(){return z}),n.d(t,"ɵgetLContext",function(){return Pa}),n.d(t,"ɵgetLocaleCurrencyCode",function(){return Ig}),n.d(t,"ɵgetLocalePluralCase",function(){return zg}),n.d(t,"ɵgetModuleFactory__POST_R3__",function(){return Fk}),n.d(t,"ɵgetSanitizationBypassType",function(){return Ni}),n.d(t,"ɵglobal",function(){return Z}),n.d(t,"ɵinitServicesIfNeeded",function(){return g_}),n.d(t,"ɵinlineInterpolate",function(){return ym}),n.d(t,"ɵinterpolate",function(){return gm}),n.d(t,"ɵisBoundToModule__POST_R3__",function(){return xk}),n.d(t,"ɵisDefaultChangeDetectionStrategy",function(){return at}),n.d(t,"ɵisListLikeIterable",function(){return fu}),n.d(t,"ɵisObservable",function(){return od}),n.d(t,"ɵisPromise",function(){return ad}),n.d(t,"ɵivyEnabled",function(){return Qv}),n.d(t,"ɵlooseIdentical",function(){return du}),n.d(t,"ɵmakeDecorator",function(){return p}),n.d(t,"ɵmarkDirty",function(){return Vu}),n.d(t,"ɵmod",function(){return xm}),n.d(t,"ɵmpd",function(){return Em}),n.d(t,"ɵncd",function(){return Lw}),n.d(t,"ɵnov",function(){return Km}),n.d(t,"ɵoverrideComponentView",function(){return ej}),n.d(t,"ɵoverrideProvider",function(){return X_}),n.d(t,"ɵpad",function(){return Vw}),n.d(t,"ɵpatchComponentDefWithScope",function(){return $b}),n.d(t,"ɵpid",function(){return rg}),n.d(t,"ɵpod",function(){return Uw}),n.d(t,"ɵppd",function(){return Fw}),n.d(t,"ɵprd",function(){return ig}),n.d(t,"ɵpublishDefaultGlobalUtils",function(){return sp}),n.d(t,"ɵpublishGlobalUtil",function(){return lp}),n.d(t,"ɵqud",function(){return Nw}),n.d(t,"ɵregisterLocaleData",function(){return Tg}),n.d(t,"ɵregisterModuleFactory",function(){return zy}),n.d(t,"ɵregisterNgModuleType",function(){return Ay}),n.d(t,"ɵrenderComponent",function(){return cp}),n.d(t,"ɵresetCompiledComponents",function(){return Kb}),n.d(t,"ɵresetJitOptions",function(){return Ab}),n.d(t,"ɵresolveComponentResources",function(){return nu}),n.d(t,"ɵsetClassMetadata",function(){return Oy}),n.d(t,"ɵsetCurrentInjector",function(){return be}),n.d(t,"ɵsetDocument",function(){return bn}),n.d(t,"ɵsetLocaleId",function(){return Ty}),n.d(t,"ɵstore",function(){return Hu}),n.d(t,"ɵstringify",function(){return L}),n.d(t,"ɵted",function(){return Ww}),n.d(t,"ɵtransitiveScopesFor",function(){return Yb}),n.d(t,"ɵunregisterLocaleData",function(){return Ag}),n.d(t,"ɵunv",function(){return Bf}),n.d(t,"ɵunwrapSafeValue",function(){return Di}),n.d(t,"ɵvid",function(){return Qw}),n.d(t,"ɵwhenRendered",function(){return fp}),n.d(t,"ɵɵCopyDefinitionFeature",function(){return jp}),n.d(t,"ɵɵInheritDefinitionFeature",function(){return gp}),n.d(t,"ɵɵNgOnChangesFeature",function(){return Ep}),n.d(t,"ɵɵProvidersFeature",function(){return Rp}),n.d(t,"ɵɵadvance",function(){return ho}),n.d(t,"ɵɵattribute",function(){return _u}),n.d(t,"ɵɵattributeInterpolate1",function(){return Du}),n.d(t,"ɵɵattributeInterpolate2",function(){return Au}),n.d(t,"ɵɵattributeInterpolate3",function(){return Nu}),n.d(t,"ɵɵattributeInterpolate4",function(){return Pu}),n.d(t,"ɵɵattributeInterpolate5",function(){return Ru}),n.d(t,"ɵɵattributeInterpolate6",function(){return Mu}),n.d(t,"ɵɵattributeInterpolate7",function(){return qu}),n.d(t,"ɵɵattributeInterpolate8",function(){return Lu}),n.d(t,"ɵɵattributeInterpolateV",function(){return Bu}),n.d(t,"ɵɵclassMap",function(){return Gd}),n.d(t,"ɵɵclassMapInterpolate1",function(){return yh}),n.d(t,"ɵɵclassMapInterpolate2",function(){return bh}),n.d(t,"ɵɵclassMapInterpolate3",function(){return vh}),n.d(t,"ɵɵclassMapInterpolate4",function(){return kh}),n.d(t,"ɵɵclassMapInterpolate5",function(){return wh}),n.d(t,"ɵɵclassMapInterpolate6",function(){return _h}),n.d(t,"ɵɵclassMapInterpolate7",function(){return jh}),n.d(t,"ɵɵclassMapInterpolate8",function(){return Ch}),n.d(t,"ɵɵclassMapInterpolateV",function(){return Eh}),n.d(t,"ɵɵclassProp",function(){return Hd}),n.d(t,"ɵɵcomponentHostSyntheticListener",function(){return ld}),n.d(t,"ɵɵcontentQuery",function(){return _b}),n.d(t,"ɵɵdefaultStyleSanitizer",function(){return Ta}),n.d(t,"ɵɵdefineComponent",function(){return ct}),n.d(t,"ɵɵdefineDirective",function(){return yt}),n.d(t,"ɵɵdefineInjectable",function(){return T}),n.d(t,"ɵɵdefineInjector",function(){return I}),n.d(t,"ɵɵdefineNgModule",function(){return ft}),n.d(t,"ɵɵdefinePipe",function(){return bt}),n.d(t,"ɵɵdirectiveInject",function(){return Ku}),n.d(t,"ɵɵdisableBindings",function(){return Ln}),n.d(t,"ɵɵelement",function(){return ed}),n.d(t,"ɵɵelementContainer",function(){return rd}),n.d(t,"ɵɵelementContainerEnd",function(){return nd}),n.d(t,"ɵɵelementContainerStart",function(){return td}),n.d(t,"ɵɵelementEnd",function(){return Xu}),n.d(t,"ɵɵelementStart",function(){return Ju}),n.d(t,"ɵɵenableBindings",function(){return qn}),n.d(t,"ɵɵgetCurrentView",function(){return id}),n.d(t,"ɵɵgetFactoryOf",function(){return mi}),n.d(t,"ɵɵgetInheritedFactory",function(){return gi}),n.d(t,"ɵɵhostProperty",function(){return Hh}),n.d(t,"ɵɵi18n",function(){return gy}),n.d(t,"ɵɵi18nApply",function(){return wy}),n.d(t,"ɵɵi18nAttributes",function(){return yy}),n.d(t,"ɵɵi18nEnd",function(){return hy}),n.d(t,"ɵɵi18nExp",function(){return ky}),n.d(t,"ɵɵi18nPostprocess",function(){return dy}),n.d(t,"ɵɵi18nStart",function(){return sy}),n.d(t,"ɵɵinject",function(){return we}),n.d(t,"ɵɵinjectAttribute",function(){return Gu}),n.d(t,"ɵɵinjectPipeChangeDetectorRef",function(){return Ib}),n.d(t,"ɵɵinvalidFactory",function(){return Qu}),n.d(t,"ɵɵinvalidFactoryDep",function(){return _e}),n.d(t,"ɵɵlistener",function(){return sd}),n.d(t,"ɵɵloadQuery",function(){return Eb}),n.d(t,"ɵɵnamespaceHTML",function(){return br}),n.d(t,"ɵɵnamespaceMathML",function(){return yr}),n.d(t,"ɵɵnamespaceSVG",function(){return gr}),n.d(t,"ɵɵnextContext",function(){return hd}),n.d(t,"ɵɵpipe",function(){return Xy}),n.d(t,"ɵɵpipeBind1",function(){return eb}),n.d(t,"ɵɵpipeBind2",function(){return tb}),n.d(t,"ɵɵpipeBind3",function(){return nb}),n.d(t,"ɵɵpipeBind4",function(){return rb}),n.d(t,"ɵɵpipeBindV",function(){return ib}),n.d(t,"ɵɵprojection",function(){return yd}),n.d(t,"ɵɵprojectionDef",function(){return fd}),n.d(t,"ɵɵproperty",function(){return $u}),n.d(t,"ɵɵpropertyInterpolate",function(){return bd}),n.d(t,"ɵɵpropertyInterpolate1",function(){return vd}),n.d(t,"ɵɵpropertyInterpolate2",function(){return kd}),n.d(t,"ɵɵpropertyInterpolate3",function(){return wd}),n.d(t,"ɵɵpropertyInterpolate4",function(){return _d}),n.d(t,"ɵɵpropertyInterpolate5",function(){return jd}),n.d(t,"ɵɵpropertyInterpolate6",function(){return Cd}),n.d(t,"ɵɵpropertyInterpolate7",function(){return Ed}),n.d(t,"ɵɵpropertyInterpolate8",function(){return xd}),n.d(t,"ɵɵpropertyInterpolateV",function(){return Sd}),n.d(t,"ɵɵpureFunction0",function(){return My}),n.d(t,"ɵɵpureFunction1",function(){return qy}),n.d(t,"ɵɵpureFunction2",function(){return Ly}),n.d(t,"ɵɵpureFunction3",function(){return By}),n.d(t,"ɵɵpureFunction4",function(){return Fy}),n.d(t,"ɵɵpureFunction5",function(){return Vy}),n.d(t,"ɵɵpureFunction6",function(){return Uy}),n.d(t,"ɵɵpureFunction7",function(){return Hy}),n.d(t,"ɵɵpureFunction8",function(){return Wy}),n.d(t,"ɵɵpureFunctionV",function(){return Ky}),n.d(t,"ɵɵqueryRefresh",function(){return bb}),n.d(t,"ɵɵreference",function(){return Wu}),n.d(t,"ɵɵresolveBody",function(){return Qr}),n.d(t,"ɵɵresolveDocument",function(){return Gr}),n.d(t,"ɵɵresolveWindow",function(){return Kr}),n.d(t,"ɵɵrestoreView",function(){return Vn}),n.d(t,"ɵɵsanitizeHtml",function(){return wa}),n.d(t,"ɵɵsanitizeResourceUrl",function(){return Ca}),n.d(t,"ɵɵsanitizeScript",function(){return Ea}),n.d(t,"ɵɵsanitizeStyle",function(){return _a}),n.d(t,"ɵɵsanitizeUrl",function(){return ja}),n.d(t,"ɵɵsanitizeUrlOrResourceUrl",function(){return Sa}),n.d(t,"ɵɵselect",function(){return po}),n.d(t,"ɵɵsetComponentScope",function(){return ut}),n.d(t,"ɵɵsetNgModuleScope",function(){return mt}),n.d(t,"ɵɵstaticContentQuery",function(){return jb}),n.d(t,"ɵɵstaticViewQuery",function(){return vb}),n.d(t,"ɵɵstyleMap",function(){return Wd}),n.d(t,"ɵɵstyleMapInterpolate1",function(){return xh}),n.d(t,"ɵɵstyleMapInterpolate2",function(){return Sh}),n.d(t,"ɵɵstyleMapInterpolate3",function(){return Th}),n.d(t,"ɵɵstyleMapInterpolate4",function(){return Oh}),n.d(t,"ɵɵstyleMapInterpolate5",function(){return Ih}),n.d(t,"ɵɵstyleMapInterpolate6",function(){return zh}),n.d(t,"ɵɵstyleMapInterpolate7",function(){return Dh}),n.d(t,"ɵɵstyleMapInterpolate8",function(){return Ah}),n.d(t,"ɵɵstyleMapInterpolateV",function(){return Nh}),n.d(t,"ɵɵstyleProp",function(){return Ud}),n.d(t,"ɵɵstylePropInterpolate1",function(){return Ph}),n.d(t,"ɵɵstylePropInterpolate2",function(){return Rh}),n.d(t,"ɵɵstylePropInterpolate3",function(){return Mh}),n.d(t,"ɵɵstylePropInterpolate4",function(){return qh}),n.d(t,"ɵɵstylePropInterpolate5",function(){return Lh}),n.d(t,"ɵɵstylePropInterpolate6",function(){return Bh}),n.d(t,"ɵɵstylePropInterpolate7",function(){return Fh}),n.d(t,"ɵɵstylePropInterpolate8",function(){return Vh}),n.d(t,"ɵɵstylePropInterpolateV",function(){return Uh}),n.d(t,"ɵɵstyleSanitizer",function(){return Vd}),n.d(t,"ɵɵtemplate",function(){return Uu}),n.d(t,"ɵɵtemplateRefExtractor",function(){return Ob}),n.d(t,"ɵɵtext",function(){return oh}),n.d(t,"ɵɵtextInterpolate",function(){return sh}),n.d(t,"ɵɵtextInterpolate1",function(){return lh}),n.d(t,"ɵɵtextInterpolate2",function(){return ch}),n.d(t,"ɵɵtextInterpolate3",function(){return uh}),n.d(t,"ɵɵtextInterpolate4",function(){return dh}),n.d(t,"ɵɵtextInterpolate5",function(){return hh}),n.d(t,"ɵɵtextInterpolate6",function(){return ph}),n.d(t,"ɵɵtextInterpolate7",function(){return fh}),n.d(t,"ɵɵtextInterpolate8",function(){return mh}),n.d(t,"ɵɵtextInterpolateV",function(){return gh}),n.d(t,"ɵɵupdateSyntheticHostBinding",function(){return Wh}),n.d(t,"ɵɵviewQuery",function(){return kb});var r=n(1),i=n(54),a=n(148),o=n(32),s=n(1087),l=n(1088); -/** - * @license Angular v9.1.12 - * (c) 2010-2020 Google LLC. https://angular.io/ - * License: MIT - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -function c(e){return{toString:e}.toString()} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var u="__annotations__",d="__parameters__",h="__prop__metadata__";function p(e,t,n,i,a){return c(function(){var o=f(t);function s(){for(var e,t=[],n=0;n ");else if("object"==typeof t){var a=[];for(var o in t)if(t.hasOwnProperty(o)){var s=t[o];a.push(o+":"+("string"==typeof s?JSON.stringify(s):L(s)))}i="{"+a.join(", ")+"}"}return n+(r?"("+r+")":"")+"["+i+"]: "+e.replace(pe,"\n ")} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var Oe={"ɵɵdefineInjectable":T,"ɵɵdefineInjector":I,"ɵɵinject":we,"ɵɵgetFactoryOf":function e(t){var n=t;if(H(t))return function(){var t=e(U(n));return t?t():null};var r=z(n)||A(n);if(!r||void 0===r.factory)return null;return r.factory} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */,"ɵɵinvalidFactoryDep":_e};var Ie,ze,De,Ae=function(){return function(){}}(),Ne=function(){return function(){}}(); -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -function Pe(e,t){"number"!=typeof e&&Ke(t,typeof e,"number","===")}function Re(e,t,n){Pe(e,"Expected a number"),Ue(e,n,"Expected number to be less than or equal to"),function(e,t,n){e>=t||Ke(n,e,t,">=")}(e,t,"Expected number to be greater than or equal to")}function Me(e,t){"string"!=typeof e&&Ke(t,null===e?"null":typeof e,"string","===")}function qe(e,t,n){e!=t&&Ke(n,e,t,"==")}function Le(e,t,n){e==t&&Ke(n,e,t,"!=")}function Be(e,t,n){e!==t&&Ke(n,e,t,"===")}function Fe(e,t,n){e===t&&Ke(n,e,t,"!==")}function Ve(e,t,n){et||Ke(n,e,t,">")}function We(e,t){null==e&&Ke(t,e,null,"!=")}function Ke(e,t,n,r){throw new Error("ASSERTION ERROR: "+e+(null==r?"":" [Expected=> "+n+" "+r+" "+t+" <=Actual]"))}function Ge(e){qe("undefined"!=typeof Node&&e instanceof Node||"object"==typeof e&&null!=e&&"WebWorkerRenderNode"===e.constructor.name,!0,"The provided value must be an instance of a DOM Node but got "+L(e))}function Qe(e,t){var n=e?e.length:0;Ve(t,n,"Index expected to be less than "+n+" but got "+t)} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function $e(e,t){for(var n=0;n=e.length?e.push(n):e.splice(t,0,n)}function Xe(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function et(e,t){for(var n=[],r=0;r=0?e[1|r]=n:function(e,t,n,r){ngDevMode&&Ue(t,e.length,"Can't insert past array end.");var i=e.length;if(i==t)e.push(n,r);else if(1===i)e.push(r,e[0]),e[0]=n;else{for(i--,e.push(e[i-1],e[i]);i>t;){var a=i-2;e[i]=e[a],i--}e[t]=n,e[t+1]=r}}(e,r=~r,t,n),r}function nt(e,t){var n=rt(e,t);if(n>=0)return e[1|n]}function rt(e,t){return it(e,t,1)}function it(e,t,n){ngDevMode&&qe(Array.isArray(e),!0,"Expecting an array");for(var r=0,i=e.length>>n;i!==r;){var a=r+(i-r>>1),o=e[a<t?i=a:r=a+1}return~(i<0;)ngDevMode&&We(t[Lt],"Declaration view should be defined if nesting level is greater than 0."),t=t[Lt],e--;return t}(e,Rn.lFrame.contextLView))[Dt]}function pr(){return Rn.lFrame.selectedIndex}function fr(e){Rn.lFrame.selectedIndex=e}function mr(){var e=Rn.lFrame;return xn(e.tView,e.selectedIndex)}function gr(){Rn.lFrame.currentNamespace=fn}function yr(){Rn.lFrame.currentNamespace=mn}function br(){Rn.lFrame.currentNamespace=null}function vr(e){Rn.lFrame.currentSanitizer=e}function kr(e,t){ngDevMode&&dn(e);for(var n=t.directiveStart,r=t.directiveEnd;n=r)break}else t[o]<0&&(e[Vt]+=65536),(a>11>16&&(3&e[xt])===t&&(e[xt]+=2048,a.call(o)):a.call(o)} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var xr=8,Sr=8,Tr=9,Or=-1,Ir=function(){return function(e,t,n){this.factory=e,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=n}}(); -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -function zr(e,t){We(e,"should be called with a TNode"),qe(e.type,t,"should be a "+Ar(t))}function Dr(e){for(var t=[],n=1;n"}function Nr(e,t,n){for(var r=kn(e),i=0;it){o=a-1;break}}}for(;a>16}function Vr(e,t){for(var n=Fr(e),r=t;n>0;)r=r[Lt],n--;return r} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function Ur(e){return"string"==typeof e?e:null==e?"":""+e}function Hr(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():Ur(e)}var Wr=("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(Z);function Kr(e){return{name:"window",target:e.ownerDocument.defaultView}}function Gr(e){return{name:"document",target:e.ownerDocument}}function Qr(e){return{name:"body",target:e.ownerDocument.body}}var $r="�";function Yr(e){return e instanceof Function?e():e} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var Zr=!0;function Jr(e){var t=Zr;return Zr=e,t}var Xr=255,ei=0;function ti(e,t){var n=ri(e,t);if(-1!==n)return n;var r=t[Et];r.firstCreatePass&&(e.injectorIndex=t.length,ni(r.data,e),ni(t,null),ni(r.blueprint,null));var i=ii(e,t),a=e.injectorIndex;if(Lr(i))for(var o=Br(i),s=Vr(i,t),l=s[Et].data,c=0;c<8;c++)t[a+c]=s[o+c]|l[o+c];return t[a+Sr]=i,a}function ni(e,t){e.push(0,0,0,0,0,0,0,0,t)}function ri(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null==t[e.injectorIndex+Sr]?-1:e.injectorIndex}function ii(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;for(var n=t[It],r=1;n&&-1===n.injectorIndex;)n=(t=t[Lt])?t[It]:null,r++;return n?n.injectorIndex|r<<16:-1}function ai(e,t,n){!function(e,t,n){ngDevMode&&qe(t.firstCreatePass,!0,"expected firstCreatePass to be true");var r="string"!=typeof n?n[ae]:n.charCodeAt(0)||0;null==r&&(r=n[ae]=ei++);var i=r&Xr,a=1<0?t&Xr:t}(n);if("function"==typeof a){ar(t,e);try{var o=a();if(null!=o||r&y.Optional)return o;throw new Error("No provider for "+Hr(n)+"!")}finally{ur()}}else if("number"==typeof a){if(-1===a)return new fi(e,t);var s=null,l=ri(e,t),c=Or,u=r&y.Host?t[Bt][It]:null;for((-1===l||r&y.SkipSelf)&&(c=-1===l?ii(e,t):t[l+Sr],pi(r,!1)?(s=t[Et],l=Br(c),t=Vr(c,t)):l=-1);-1!==l;){c=t[l+Sr];var d=t[Et];if(hi(a,l,d.data)){var h=ci(l,t,n,s,r,u);if(h!==li)return h}pi(r,t[Et].data[l+xr]===u)&&hi(a,l,t)?(s=d,l=Br(c),t=Vr(c,t)):l=-1}}}if(r&y.Optional&&void 0===i&&(i=null),0==(r&(y.Self|y.Host))){var p=t[At],f=ve(void 0);try{return p?p.get(n,i,r&y.Optional):Ce(n,i,r&y.Optional)}finally{ve(f)}}if(r&y.Optional)return i;throw new Error("NodeInjector: NOT_FOUND ["+Hr(n)+"]")}var li={};function ci(e,t,n,r,i,a){var o=t[Et],s=o.data[e+xr],l=ui(s,o,n,null==r?en(s)&&Zr:r!=o&&3===s.type,i&y.Host&&a===s);return null!==l?di(t,o,l,s):li}function ui(e,t,n,r,i){for(var a=e.providerIndexes,o=t.data,s=65535&a,l=e.directiveStart,c=e.directiveEnd,u=a>>16,d=i?s+u:c,h=r?s:s+u;h=l&&p.type===n)return h}if(i){var f=o[l];if(f&&nn(f)&&f.type===n)return l}return null}function di(e,t,n,r){var i=e[n],a=t.data;if(i instanceof Ir){var o=i;if(o.resolving)throw new Error("Circular dep for "+Hr(a[n]));var s=Jr(o.canSeeViewProviders);o.resolving=!0;var l=void 0;o.injectImpl&&(l=ve(o.injectImpl)),ar(e,r);try{i=e[n]=o.factory(void 0,a,e,r),t.firstCreatePass&&n>=r.directiveStart&&(ngDevMode&&function(e){void 0!==e.type&&null!=e.selectors&&void 0!==e.inputs||Ke("Expected a DirectiveDef/ComponentDef and this object does not seem to have the expected shape.")}(a[n]), -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -function(e,t,n){ngDevMode&&dn(n);var r=t.onChanges,i=t.onInit,a=t.doCheck;r&&((n.preOrderHooks||(n.preOrderHooks=[])).push(e,r),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(e,r)),i&&(n.preOrderHooks||(n.preOrderHooks=[])).push(-e,i),a&&((n.preOrderHooks||(n.preOrderHooks=[])).push(e,a),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(e,a))}(n,a[n],t))}finally{o.injectImpl&&ve(l),Jr(s),o.resolving=!1,ur()}}return i}function hi(e,t,n){var r=1<',!t.querySelector||t.querySelector("svg")?(t.innerHTML='

',t.querySelector&&t.querySelector("svg img")&&function(){try{return!!window.DOMParser}catch(e){return!1}} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */()?this.getInertBodyElement=this.getInertBodyElement_DOMParser:this.getInertBodyElement=this.getInertBodyElement_InertDocument):this.getInertBodyElement=this.getInertBodyElement_XHR}return e.prototype.getInertBodyElement_XHR=function(e){e=""+e+"";try{e=encodeURI(e)}catch(r){return null}var t=new XMLHttpRequest;t.responseType="document",t.open("GET","data:text/html;charset=utf-8,"+e,!1),t.send(void 0);var n=t.response.body;return n.removeChild(n.firstChild),n},e.prototype.getInertBodyElement_DOMParser=function(e){e=""+e+"";try{var t=(new window.DOMParser).parseFromString(e,"text/html").body;return t.removeChild(t.firstChild),t}catch(n){return null}},e.prototype.getInertBodyElement_InertDocument=function(e){var t=this.inertDocument.createElement("template");if("content"in t)return t.innerHTML=e,t;var n=this.inertDocument.createElement("body");return n.innerHTML=e,this.defaultDoc.documentMode&&this.stripCustomNsAttrs(n),n},e.prototype.stripCustomNsAttrs=function(e){for(var t=e.attributes,n=t.length-1;0"),!0},e.prototype.endElement=function(e){var t=e.nodeName.toLowerCase();aa.hasOwnProperty(t)&&!Xi.hasOwnProperty(t)&&(this.buf.push(""))},e.prototype.chars=function(e){this.buf.push(ma(e))},e.prototype.checkClobberedElement=function(e,t){if(t&&(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error("Failed to sanitize html because the element is clobbered: "+e.outerHTML);return t},e}(),pa=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,fa=/([^\#-~ |!])/g;function ma(e){return e.replace(/&/g,"&").replace(pa,function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"}).replace(fa,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(//g,">")}function ga(e,t){var n=null;try{Zi=Zi||new Hi(e);var r=t?String(t):"";n=Zi.getInertBodyElement(r);var i=5,a=r;do{if(0===i)throw new Error("Failed to sanitize html because the input is unstable");i--,r=a,a=n.innerHTML,n=Zi.getInertBodyElement(r)}while(r!==a);var o=new ha,s=o.sanitizeChildren(ya(n)||n);return Vi()&&o.sanitizedSomething&&console.warn("WARNING: sanitizing HTML stripped some content, see http://g.co/ng/security#xss"),s}finally{if(n)for(var l=ya(n)||n;l.firstChild;)l.removeChild(l.firstChild)}}function ya(e){return"content"in e&&function(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */(e)?e.content:null}!function(e){e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL"}(Ji||(Ji={})); -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -var ba=new RegExp("^([-,.\"'%_!# a-zA-Z0-9]+|(?:(?:matrix|translate|scale|rotate|skew|perspective)(?:X|Y|Z|3d)?|(?:rgb|hsl)a?|(?:repeating-)?(?:linear|radial)-gradient|(?:attr|calc|var))\\([-0-9.%, #a-zA-Z]+\\))$","g"),va=/^url\(([^)]+)\)$/;function ka(e){if(!(e=String(e).trim()))return"";var t=e.match(va);return t&&Gi(t[1])===t[1]||e.match(ba)&&function(e){for(var t=!0,n=!0,r=0;r=0){var f;qa(f=_n(r[p]),l=Ra(r,p,f)),n=l;break}}}}return n||null}function Ra(e,t,n){return{lView:e,nodeIndex:t,native:n,component:void 0,directives:void 0,localRefs:void 0}}function Ma(e){var t,n=On(e);if(Array.isArray(n)){var r=Fa(n,e);(i=Ra(n,r,(t=Tn(r,n))[Ct])).component=e,qa(e,i),qa(i.native,i)}else{var i;t=Tn((i=n).nodeIndex,i.lView)}return t}function qa(e,t){e[gn]=t}function La(e,t){for(var n=e[Et].firstChild;n;){if(En(n,e)===t)return n.index;n=Ba(n)}return-1}function Ba(e){if(e.child)return e.child;if(e.next)return e.next;for(;e.parent&&!e.parent.next;)e=e.parent;return e.parent&&e.parent.next}function Fa(e,t){var n=e[Et].components;if(n)for(var r=0;ra?d="":(ngDevMode&&Le(i[u],0,"We do not match directives on namespaced attributes"),d=i[u+1].toLowerCase());var h=8&r?d:null;if(h&&-1!==Ka(h,c,0)||2&r&&c!==d){if(Ja(r))return!1;o=!0}}}}else{if(!o&&!Ja(r)&&!Ja(l))return!1;if(o&&Ja(l))continue;o=!1,r=l|1&r}}return Ja(r)||o}function Ja(e){return 0==(1&e)}function Xa(e,t,n,r){if(null===t)return-1;var i=0;if(r||!n){for(var a=!1;i-1)for(n++;n0?'="'+s+'"':"")+"]"}else 8&r?i+="."+o:4&r&&(i+=" "+o);else""===i||Ja(o)||(t+=no(a,i),i=""),r=o,a=a||!Ja(r);n++}return""!==i&&(t+=no(a,i)),t} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -var io="undefined"==typeof ngDevMode||ngDevMode?{__brand__:"NO_CHANGE"}:{}; -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function ao(e){ngDevMode&&un(e);var t=e[St];return Jt(t)?t[St]:t}function oo(e){ngDevMode&&We(e,"component");for(var t=Zt(e)?e:In(e);t&&!(512&t[xt]);)t=ao(t);return ngDevMode&&un(t),t}function so(e){var t=oo(e);return ngDevMode&&We(t[Dt],"RootView has no context. Perhaps it is disconnected?"),t[Dt]}function lo(e){return uo(e[Mt])}function co(e){return uo(e[Tt])}function uo(e){for(;null!==e&&!Jt(e);)e=e[Tt];return e} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function ho(e){ngDevMode&&He(e,0,"Can only advance forward"),fo(Fn(),Bn(),pr()+e,Gn())}function po(e){fo(Fn(),Bn(),e,Gn())}function fo(e,t,n,r){if(ngDevMode&&He(n,-1,"Invalid index"),ngDevMode&&Qe(t,n+Ht),!r)if(3==(3&t[xt])){var i=e.preOrderCheckHooks;null!==i&&wr(t,i,n)}else{var a=e.preOrderHooks;null!==a&&_r(t,a,0,n)}fr(n)} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var mo={marker:"element"},go={marker:"comment"}; -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -function yo(e,t){return ngDevMode&&Re(e,0,32767),ngDevMode&&Re(t,0,32767),e<<17|t<<2}function bo(e){return ngDevMode&&Pe(e,"expected number"),e>>17&32767}function vo(e){return ngDevMode&&Pe(e,"expected number"),2==(2&e)}function ko(e){return ngDevMode&&Pe(e,"expected number"),2|e}function wo(e){return ngDevMode&&Pe(e,"expected number"),(131068&e)>>2}function _o(e,t){return ngDevMode&&Pe(e,"expected number"),ngDevMode&&Re(t,0,32767),-131069&e|t<<2}function jo(e){return ngDevMode&&Pe(e,"expected number"),1==(1&e)}function Co(e){return ngDevMode&&Pe(e,"expected number"),1|e} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -function Eo(e,t){Object.defineProperty(e,"debug",{value:t,enumerable:!1})} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var xo,So,To,Oo=("undefined"==typeof ngDevMode||!!ngDevMode)&&oe();function Io(e){return function(e,t){switch(e){case 0:return void 0===To&&(To=new(za("LRootView"))),To;case 1:void 0===xo&&(xo=new Map);var n=xo.get(t);return void 0===n&&(n=new(za("LComponentView"+zo(t))),xo.set(t,n)),n;case 2:void 0===So&&(So=new Map);var r=So.get(t);return void 0===r&&(r=new(za("LEmbeddedView"+zo(t))),So.set(t,r)),r}throw new Error("unreachable code")}(e.type,e.template&&e.template.name).concat(e.blueprint)}function zo(e){if(null==e)return"";var t=e.lastIndexOf("_Template");return"_"+(-1===t?e:e.substr(0,t))}var Do=function(){function e(e,t,n,r,i,a,o,s,l,c,u,d,h,p,f,m,g,y,b,v,k,w,_,j,C,E,x,S,T,O,I){this.type=e,this.id=t,this.blueprint=n,this.template=r,this.queries=i,this.viewQuery=a,this.node=o,this.data=s,this.bindingStartIndex=l,this.expandoStartIndex=c,this.expandoInstructions=u,this.firstCreatePass=d,this.firstUpdatePass=h,this.staticViewQueries=p,this.staticContentQueries=f,this.preOrderHooks=m,this.preOrderCheckHooks=g,this.contentHooks=y,this.contentCheckHooks=b,this.viewHooks=v,this.viewCheckHooks=k,this.destroyHooks=w,this.cleanup=_,this.contentQueries=j,this.components=C,this.directiveRegistry=E,this.pipeRegistry=x,this.firstChild=S,this.schemas=T,this.consts=O,this.incompleteFirstPass=I}return Object.defineProperty(e.prototype,"template_",{get:function(){var e=[];return Po(this.firstChild,e),e.join("")},enumerable:!0,configurable:!0}),e}(),Ao=function(){function e(e,t,n,r,i,a,o,s,l,c,u,d,h,p,f,m,g,y,b,v,k,w,_,j,C,E,x,S,T,O,I){this.tView_=e,this.type=t,this.index=n,this.injectorIndex=r,this.directiveStart=i,this.directiveEnd=a,this.directiveStylingLast=o,this.propertyBindings=s,this.flags=l,this.providerIndexes=c,this.tagName=u,this.attrs=d,this.mergedAttrs=h,this.localNames=p,this.initialInputs=f,this.inputs=m,this.outputs=g,this.tViews=y,this.next=b,this.projectionNext=v,this.child=k,this.parent=w,this.projection=_,this.styles=j,this.stylesWithoutHost=C,this.residualStyles=E,this.classes=x,this.classesWithoutHost=S,this.residualClasses=T,this.classBindings=O,this.styleBindings=I}return Object.defineProperty(e.prototype,"type_",{get:function(){switch(this.type){case 0:return"TNodeType.Container";case 3:return"TNodeType.Element";case 4:return"TNodeType.ElementContainer";case 5:return"TNodeType.IcuContainer";case 1:return"TNodeType.Projection";case 2:return"TNodeType.View";default:return"TNodeType.???"}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"flags_",{get:function(){var e=[];return 16&this.flags&&e.push("TNodeFlags.hasClassInput"),8&this.flags&&e.push("TNodeFlags.hasContentQuery"),32&this.flags&&e.push("TNodeFlags.hasStyleInput"),128&this.flags&&e.push("TNodeFlags.hasHostBindings"),2&this.flags&&e.push("TNodeFlags.isComponentHost"),1&this.flags&&e.push("TNodeFlags.isDirectiveHost"),64&this.flags&&e.push("TNodeFlags.isDetached"),4&this.flags&&e.push("TNodeFlags.isProjected"),e.join("|")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"template_",{get:function(){var e=[];if(e.push("<",this.tagName||this.type_),this.attrs)for(var t=0;t"),Po(this.child,e),e.push(""),e.join("")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"styleBindings_",{get:function(){return No(this,!1)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"classBindings_",{get:function(){return No(this,!0)},enumerable:!0,configurable:!0}),e}();function No(e,t){for(var n=e.tView_.data,r=[],i=t?e.classBindings:e.styleBindings,a=bo(i),o=wo(i),s=0!==o,l=s?o:a;0!==l;){var c=n[l],u=n[l+1];r.unshift({key:c,index:l,isTemplate:s,prevDuplicate:vo(u),nextDuplicate:jo(u),nextIndex:wo(u),prevIndex:bo(u)}),l===a&&(s=!1),l=bo(u)}return r.push((t?e.residualClasses:e.residualStyles)||null),r}function Po(e,t){for(;e;)t.push(e.template_),e=e.next}var Ro,Mo=Oo&&za("TViewData")||null;var qo=Oo&&za("LViewBlueprint")||null,Lo=Oo&&za("MatchesArray")||null,Bo=Oo&&za("TViewComponents")||null,Fo=Oo&&za("TNodeLocalNames")||null,Vo=Oo&&za("TNodeInitialInputs")||null,Uo=(Oo&&za("TNodeInitialData"),Oo&&za("LCleanup")||null),Ho=Oo&&za("TCleanup")||null;function Wo(e){if(e){var t=e.debug;return We(t,"Object does not have a debug representation."),t}return e}function Ko(e,t){void 0===t&&(t=!1);var n=_n(e);if(n){var r=n.nodeType===Node.TEXT_NODE,i=(r?n.textContent:n.outerHTML)||"";if(t||r)return i;var a=">"+n.innerHTML+"<";return i.split(a)[0]+">"}return null}var Go=function(){function e(e){this._raw_lView=e}return Object.defineProperty(e.prototype,"flags",{get:function(){var e=this._raw_lView[xt];return{__raw__flags__:e,initPhaseState:3&e,creationMode:!!(4&e),firstViewPass:!!(8&e),checkAlways:!!(16&e),dirty:!!(64&e),attached:!!(128&e),destroyed:!!(256&e),isRoot:!!(512&e),indexWithinInitPhase:e>>11}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"parent",{get:function(){return Wo(this._raw_lView[St])},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"host",{get:function(){return Ko(this._raw_lView[Ct],!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"html",{get:function(){return(this.nodes||[]).map(function(e){return Ko(e.native,!0)}).join("")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"context",{get:function(){return this._raw_lView[Dt]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"nodes",{get:function(){var e=this._raw_lView;return Qo(e[Et].firstChild,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"tView",{get:function(){return this._raw_lView[Et]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"cleanup",{get:function(){return this._raw_lView[zt]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"injector",{get:function(){return this._raw_lView[At]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"rendererFactory",{get:function(){return this._raw_lView[Nt]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"renderer",{get:function(){return this._raw_lView[Pt]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"sanitizer",{get:function(){return this._raw_lView[Rt]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"childHead",{get:function(){return Wo(this._raw_lView[Mt])},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"next",{get:function(){return Wo(this._raw_lView[Tt])},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"childTail",{get:function(){return Wo(this._raw_lView[qt])},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"declarationView",{get:function(){return Wo(this._raw_lView[Lt])},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"queries",{get:function(){return this._raw_lView[Ut]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"tHost",{get:function(){return this._raw_lView[It]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"childViews",{get:function(){for(var e=[],t=this.childHead;t;)e.push(t),t=t.next;return e},enumerable:!0,configurable:!0}),e}();function Qo(e,t){if(e){for(var n=[],r=e;r;)n.push($o(r,t,r.index)),r=r.next;return n}return null}function $o(e,t,n){var r=t[n],i=_n(r),a=Wo(function(e){for(;Array.isArray(e);){if(e.length>=Ht-1)return e;e=e[Ct]}return null}(r));return{html:Ko(i),native:i,nodes:Qo(e.child,t),component:a}}var Yo=function(){function e(e){this._raw_lContainer=e}return Object.defineProperty(e.prototype,"hasTransplantedViews",{get:function(){return this._raw_lContainer[Kt]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"views",{get:function(){return this._raw_lContainer.slice(Yt).map(Wo)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"parent",{get:function(){return Wo(this._raw_lContainer[St])},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"movedViews",{get:function(){return this._raw_lContainer[$t]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"host",{get:function(){return this._raw_lContainer[Ct]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"native",{get:function(){return this._raw_lContainer[Gt]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"next",{get:function(){return Wo(this._raw_lContainer[Tt])},enumerable:!0,configurable:!0}),e}();var Zo=function(){function e(e,t,n,r){this.__raw_opCode=e,this._lView=t,this.nodeIndex=n,this.type=r}return Object.defineProperty(e.prototype,"tNode",{get:function(){return xn(this._lView[Et],this.nodeIndex)},enumerable:!0,configurable:!0}),e}();var Jo=function(){function e(e,t){this.__raw_opCodes=e,this.__lView=t}return Object.defineProperty(e.prototype,"operations",{get:function(){for(var e=this.__lView,t=this.__raw_opCodes,n=[],r=0;r>>17,"AppendChild");break;case 0:a=new Zo(i,e,i>>>3,"Select");break;case 5:var o=i>>>3;a=new Zo(i,e,o,"ElementEnd");break;case 4:(a=new Zo(i,e,o=i>>>3,"Attr")).attrName=t[++r],a.attrValue=t[++r]}if(!a)switch(i){case go:a={__raw_opCode:i,type:"COMMENT_MARKER",commentValue:t[++r],nodeIndex:t[++r]};break;case mo:a={__raw_opCode:i,type:"ELEMENT_MARKER"}}a||(a={__raw_opCode:i,type:"Unknown Op Code",code:i}),n.push(a)}return n},enumerable:!0,configurable:!0}),e}(),Xo=function(){function e(e,t,n){this.__raw_opCodes=e,this.icus=t,this.__lView=n}return Object.defineProperty(e.prototype,"operations",{get:function(){for(var e=this.__lView,t=this.__raw_opCodes,n=this.icus,r=[],i=0;i>>2,d=void 0,h=void 0;switch(3&c){case 1:var p=t[++l],f=t[++l];r.push({__raw_opCode:c,checkBit:a,type:"Attr",attrValue:s,attrName:p,sanitizeFn:f});break;case 0:r.push({__raw_opCode:c,checkBit:a,type:"Text",nodeIndex:u,text:s});break;case 2:h=n[d=t[++l]];var m=new Zo(c,e,u,"IcuSwitch");m.tIcuIndex=d,m.checkBit=a,m.mainBinding=s,m.tIcu=h,r.push(m);break;case 3:h=n[d=t[++l]],(m=new Zo(c,e,u,"IcuUpdate")).tIcuIndex=d,m.checkBit=a,m.tIcu=h,r.push(m)}}}i+=o}return r},enumerable:!0,configurable:!0}),e}(),es=Promise.resolve(null);function ts(e,t){var n=e.contentQueries;if(null!==n)for(var r=0;rHt&&fo(e,t,0,Gn()),n(r,i)}finally{fr(a)}}function cs(e,t,n){if(Xt(t))for(var r=t.directiveStart,i=t.directiveEnd,a=r;a-1)return!0}return!1}function _s(e,t){console.warn("Can't bind to '"+e+"' since it isn't a known property of '"+t.tagName+"'.")}function js(e,t,n,r){ngDevMode&&dn(e);var i=!1;if(Mn()){var a=function(e,t,n){ngDevMode&&dn(e),ngDevMode&&Dr(n,3,4,0);var r=e.directiveRegistry,i=null;if(r)for(var a=0;a0&&function e(t){for(var n=lo(t);null!==n;n=co(n))for(var r=Yt;r0&&e(i)}var o=t[Et];var s=o.components;if(null!==s)for(var r=0;r0&&e(l)}}(n)}}function Ls(e,t){ngDevMode&&qe(zn(e),!0,"Should be run in creation mode");var n=Tn(t,e),r=n[Et];!function(e,t){for(var n=t.length;n0&&(o+=$r+i.join($r)),e[r]=o}}var Gs=es;function Qs(e){return e[zt]||(e[zt]=ngDevMode?new Uo:[])}function $s(e){return e.cleanup||(e.cleanup=ngDevMode?new Ho:[])}function Ys(e,t,n){return(null===e||nn(e))&&(n=function(e){for(;Array.isArray(e);){if("object"==typeof e[Wt])return e;e=e[Ct]}return null}(n[t.index])),n[Pt]}function Zs(e,t){var n=e[At],r=n?n.get(ji,null):null;r&&r.handleError(t)}function Js(e,t,n,r,i){for(var a=0;a0&&(n[i-1][Tt]=t),r0&&(e[n-1][Tt]=r[Tt]);var a=Xe(e,Yt+t);il(r[Et],r,!1,null);var o=a[Ut];null!==o&&o.detachView(a[Et]),r[St]=null,r[Tt]=null,r[xt]&=-129}return r}}function ll(e,t){if(!(256&t[xt])){var n=t[Pt];kn(n)&&n.destroyNode&&wl(e,t,n,3,null,null),function(e){var t=e[Mt];if(!t)return ul(e[Et],e);for(;t;){var n=null;if(Zt(t))n=t[Mt];else{ngDevMode&&ln(t);var r=t[Yt];r&&(n=r)}if(!n){for(;t&&!t[Tt]&&t!==e;)Zt(t)&&ul(t[Et],t),t=cl(t,e);null===t&&(t=e),Zt(t)&&ul(t[Et],t),n=t&&t[Tt]}t=n}}(t)}}function cl(e,t){var n;return Zt(e)&&(n=e[It])&&2===n.type?el(n,e):e[St]===t?null:e[St]}function ul(e,t){if(!(256&t[xt])){t[xt]&=-129,t[xt]|=256,function(e,t){var n;if(null!=e&&null!=(n=e.destroyHooks))for(var r=0;r=0?r[l]():r[-l].unsubscribe(),i+=2}else{var c=r[n[i+1]];n[i].call(c)}t[zt]=null}}(e,t);var n=t[It];n&&3===n.type&&kn(t[Pt])&&(ngDevMode&&ngDevMode.rendererDestroy++,t[Pt].destroy());var r=t[Ft];if(null!==r&&Jt(t[St])){r!==t[St]&&ol(r,t);var i=t[Ut];null!==i&&i.detachView(e)}}}function dl(e,t,n){for(var r=t.parent;null!=r&&(4===r.type||5===r.type);)r=(t=r).parent;if(null==r){var i=n[It];return 2===i.type?tl(i,n):(ngDevMode&&Dr(i,3),n[Ct])}if(t&&5===t.type&&4&t.flags)return Cn(t,n).parentNode;if(ngDevMode&&zr(r,3),2&r.flags){var a=e.data,o=a[a[r.index].directiveStart].encapsulation;if(o!==De.ShadowDom&&o!==De.Native)return null}return Cn(r,n)}function hl(e,t,n,r){ngDevMode&&ngDevMode.rendererInsertBefore++,kn(e)?e.insertBefore(t,n,r):t.insertBefore(n,r,!0)}function pl(e,t,n){ngDevMode&&ngDevMode.rendererAppendChild++,ngDevMode&&We(t,"parent node must be defined"),kn(e)?e.appendChild(t,n):t.appendChild(n)}function fl(e,t,n,r){null!==r?hl(e,t,n,r):pl(e,t,n)}function ml(e,t){return kn(e)?e.parentNode(t):t.parentNode}function gl(e,t){if(2===e.type){var n=el(e,t);return null===n?null:bl(n.indexOf(t,Yt)-Yt,n)}return 4===e.type||5===e.type?Cn(e,t):null}function yl(e,t,n,r){var i=dl(e,r,t);if(null!=i){var a=t[Pt],o=gl(r.parent||t[It],t);if(Array.isArray(n))for(var s=0;s) must have projection slots defined.");var m=p.projection[f];if(Array.isArray(m))a.push.apply(a,Object(r.g)(m));else{var g=ao(h);ngDevMode&&We(g,"Component views should always have a parent view (component's host view)"),e(g[Et],g,m,a,!0)}}i=o?i.projectionNext:i.next}return a} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */(e[Et],e,t.child,[])}return[]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"context",{get:function(){return this._lView[Dt]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"destroyed",{get:function(){return 256==(256&this._lView[xt])},enumerable:!0,configurable:!0}),e.prototype.destroy=function(){if(this._appRef)this._appRef.detachView(this);else if(this._viewContainerRef){var e=this._viewContainerRef.indexOf(this);e>-1&&this._viewContainerRef.detach(e),this._viewContainerRef=null}ll(this._lView[Et],this._lView)},e.prototype.onDestroy=function(e){var t,n,r;t=this._lView[Et],n=this._lView,r=e,Qs(n).push(r),t.firstCreatePass&&$s(t).push(n[zt].length-1,null)},e.prototype.markForCheck=function(){Fs(this._cdRefInjectingView||this._lView)},e.prototype.detach=function(){this._lView[xt]&=-129},e.prototype.reattach=function(){this._lView[xt]|=128},e.prototype.detectChanges=function(){Us(this._lView[Et],this._lView,this.context)},e.prototype.checkNoChanges=function(){!function(e,t,n){Qn(!0);try{Us(e,t,n)}finally{Qn(!1)}}(this._lView[Et],this._lView,this.context)},e.prototype.attachToViewContainerRef=function(e){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._viewContainerRef=e},e.prototype.detachFromAppRef=function(){var e,t;this._appRef=null,e=this._lView[Et],t=this._lView,wl(e,t,t[Pt],2,null,null)},e.prototype.attachToAppRef=function(e){if(this._viewContainerRef)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e},e}(),Il=function(e){function t(t){var n=e.call(this,t)||this;return n._view=t,n}return Object(r.c)(t,e),t.prototype.detectChanges=function(){Hs(this._view)},t.prototype.checkNoChanges=function(){!function(e){Qn(!0);try{Hs(e)}finally{Qn(!1)}}(this._view)},Object.defineProperty(t.prototype,"context",{get:function(){return null},enumerable:!0,configurable:!0}),t}(Ol);function zl(e,t,n){return xl||(xl=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(r.c)(t,e),t}(e)),new xl(Cn(t,n))}function Dl(e,t,n,i){return Sl||(Sl=function(e){function t(t,n,r){var i=e.call(this)||this;return i._declarationView=t,i._declarationTContainer=n,i.elementRef=r,i}return Object(r.c)(t,e),t.prototype.createEmbeddedView=function(e){var t=this._declarationTContainer.tViews,n=rs(this._declarationView,t,e,16,null,t.node),r=this._declarationView[this._declarationTContainer.index];ngDevMode&&ln(r),n[Ft]=r;var i=this._declarationView[Ut];return null!==i&&(n[Ut]=i.createEmbeddedView(t)),as(t,n,e),new Ol(n)},t}(e)),0===n.type?(ngDevMode&&We(n.tViews,"TView must be allocated"),new Sl(i,n,zl(t,n,i))):null}function Al(e,t,n,i){var a;Tl||(Tl=function(e){function n(t,n,r){var i=e.call(this)||this;return i._lContainer=t,i._hostTNode=n,i._hostView=r,i}return Object(r.c)(n,e),Object.defineProperty(n.prototype,"element",{get:function(){return zl(t,this._hostTNode,this._hostView)},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"injector",{get:function(){return new fi(this._hostTNode,this._hostView)},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"parentInjector",{get:function(){var e=ii(this._hostTNode,this._hostView),t=Vr(e,this._hostView),n=function(e,t,n){if(n.parent&&-1!==n.parent.injectorIndex){for(var r=n.parent.injectorIndex,i=n.parent;null!=i.parent&&r==i.parent.injectorIndex;)i=i.parent;return i}for(var a=Fr(e),o=t,s=t[It];a>1;)s=(o=o[Lt])[It],a--;return s}(e,this._hostView,this._hostTNode);return Lr(e)&&null!=n?new fi(n,t):new fi(null,this._hostView)},enumerable:!0,configurable:!0}),n.prototype.clear=function(){for(;this.length>0;)this.remove(this.length-1)},n.prototype.get=function(e){return null!==this._lContainer[Qt]&&this._lContainer[Qt][e]||null},Object.defineProperty(n.prototype,"length",{get:function(){return this._lContainer.length-Yt},enumerable:!0,configurable:!0}),n.prototype.createEmbeddedView=function(e,t,n){var r=e.createEmbeddedView(t||{});return this.insert(r,n),r},n.prototype.createComponent=function(e,t,n,r,i){var a=n||this.parentInjector;if(!i&&null==e.ngModule&&a){var o=a.get(Ae,null);o&&(i=o)}var s=e.create(a,r,void 0,i);return this.insert(s.hostView,t),s},n.prototype.insert=function(e,t){var n=e._lView,r=n[Et];if(e.destroyed)throw new Error("Cannot insert a destroyed View in a ViewContainer!");if(this.allocateContainerIfNeeded(),Jt(n[St])){var i=this.indexOf(e);if(-1!==i)this.detach(i);else{var a=n[St];ngDevMode&&qe(Jt(a),!0,"An attached view should have its PARENT point to a container.");var o=new Tl(a,a[It],a[St]);o.detach(o.indexOf(e))}}var s=this._adjustIndex(t);return al(r,n,this._lContainer,s),il(r,n,!0,bl(s,this._lContainer)),e.attachToViewContainerRef(this),Je(this._lContainer[Qt],s,e),e},n.prototype.move=function(e,t){if(e.destroyed)throw new Error("Cannot move a destroyed View in a ViewContainer!");return this.insert(e,t)},n.prototype.indexOf=function(e){var t=this._lContainer[Qt];return null!==t?t.indexOf(e):-1},n.prototype.remove=function(e){this.allocateContainerIfNeeded();var t,n,r=this._adjustIndex(e,-1);t=this._lContainer,(n=sl(t,r))&&ll(n[Et],n),Xe(this._lContainer[Qt],r)},n.prototype.detach=function(e){this.allocateContainerIfNeeded();var t=this._adjustIndex(e,-1),n=sl(this._lContainer,t);return n&&null!=Xe(this._lContainer[Qt],t)?new Ol(n):null},n.prototype._adjustIndex=function(e,t){return void 0===t&&(t=0),null==e?this.length+t:(ngDevMode&&(He(e,-1,"ViewRef index must be positive, got "+e),Ve(e,this.length+1+t,"index")),e)},n.prototype.allocateContainerIfNeeded=function(){null===this._lContainer[Qt]&&(this._lContainer[Qt]=[])},n}(e)),ngDevMode&&Dr(n,0,3,4);var o=i[n.index];if(Jt(o))a=o;else{var s=void 0;if(4===n.type)s=_n(o);else if(ngDevMode&&ngDevMode.rendererCreateComment++,s=i[Pt].createComment(ngDevMode?"container":""),rn(i)){var l=i[Pt],c=Cn(n,i);hl(l,ml(l,c),s,function(e,t){return kn(e)?e.nextSibling(t):t.nextSibling}(l,c))}else yl(i[Et],i,s,n);i[n.index]=a=Ms(o,i,s,n),Bs(i,a)}return new Tl(a,n,i)}function Nl(e){return void 0===e&&(e=!1),function(e,t,n){if(!n&&en(e)){var r=Tn(e.index,t);return new Ol(r,r)}if(3===e.type||0===e.type||4===e.type||5===e.type){var i=t[Bt];return new Ol(i,t)}return null}(Un(),Bn(),e)} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -var Pl=function(){function e(){}return e.__NG_ELEMENT_ID__=function(){return Ml()},e}(),Rl=Nl,Ml=Rl,ql=Function;function Ll(e){return"function"==typeof e} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var Bl=/^function\s+\S+\(\)\s*{[\s\S]+\.apply\(this,\s*arguments\)/,Fl=/^class\s+[A-Za-z\d$_]*\s*extends\s+[^{]+{/,Vl=/^class\s+[A-Za-z\d$_]*\s*extends\s+[^{]+{[\s\S]*constructor\s*\(/,Ul=/^class\s+[A-Za-z\d$_]*\s*extends\s+[^{]+{[\s\S]*constructor\s*\(\)\s*{\s*super\(\.\.\.arguments\)/;var Hl=function(){function e(e){this._reflect=e||Z.Reflect}return e.prototype.isReflectionEnabled=function(){return!0},e.prototype.factory=function(e){return function(){for(var t=[],n=0;n0)for(var i=0;i ")+" > "+s+".")}var l=-1!==n.indexOf(o);if(void 0!==a&&(i=A(a)),null==i)return!1;if(null!=i.imports&&!l){var c;ngDevMode&&t.push(o),n.push(o);try{Ze(i.imports,function(e){r.processInjectorType(e,t,n)&&(void 0===c&&(c=[]),c.push(e))})}finally{ngDevMode&&t.pop()}if(void 0!==c)for(var u=function(e){var t=c[e],n=t.ngModule,i=t.providers;Ze(i,function(e){return r.processProvider(e,n,i||sc)})},d=0;d0){var n=et(t,"?");throw new Error("Can't resolve all parameters for "+L(e)+": ("+n.join(", ")+").")}var r=function(e){var t=e&&(e[N]||e[M]||e[R]&&e[R]());if(t){var n=function(e){if(e.hasOwnProperty("name"))return e.name;var t=(""+e).match(/^function\s*([^\s(]+)/);return null===t?"":t[1]}(e);return console.warn('DEPRECATED: DI is instantiating a token "'+n+'" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in v10. Please add @Injectable() to the "'+n+'" class.'),t}return null}(e);return null!==r?function(){return r.factory(e)}:function(){return new e}}(e);throw new Error("unreachable")}function fc(e,t,n){var i,a=void 0;if(yc(e)){var o=U(e);return _t(o)||pc(o)}if(gc(e))a=function(){return U(e.useValue)};else if((i=e)&&i.useFactory)a=function(){return e.useFactory.apply(e,Object(r.g)(Ee(e.deps||[])))};else if(function(e){return!(!e||!e.useExisting)}(e))a=function(){return we(U(e.useExisting))};else{var s=U(e&&(e.useClass||e.provide));if(s||function(e,t,n){var r="";throw e&&t&&(r=" - only instances of Provider and Type are allowed, got: ["+t.map(function(e){return e==n?"?"+n+"?":"..."}).join(", ")+"]"),new Error("Invalid provider for the NgModule '"+L(e)+"'"+r)}(t,n,e),!function(e){return!!e.deps}(e))return _t(s)||pc(s);a=function(){return new(s.bind.apply(s,Object(r.g)([void 0],Ee(e.deps))))}}return a}function mc(e,t,n){return void 0===n&&(n=!1),{factory:e,value:t,multi:n?[]:void 0}}function gc(e){return null!==e&&"object"==typeof e&&ge in e}function yc(e){return"function"==typeof e}function bc(e,t,n){return uc({name:n},t,e,n)}var vc=bc,kc=function(){function e(){}return e.create=function(e,t){return Array.isArray(e)?vc(e,t,""):vc(e.providers,e.parent,e.name||"")},e.THROW_IF_NOT_FOUND=ue,e.NULL=new xe,e.ɵprov=T({token:e,providedIn:"any",factory:function(){return we(ce)}}),e.__NG_ELEMENT_ID__=-1,e}(),wc=function(e){return e},_c=[],jc=wc,Cc=function(){return Array.prototype.slice.call(arguments)},Ec="ɵ";!function(){function e(e,t,n){void 0===t&&(t=kc.NULL),void 0===n&&(n=null),this.parent=t,this.source=n;var r=this._records=new Map;r.set(kc,{token:kc,fn:wc,deps:_c,value:this,useNew:!1}),r.set(ce,{token:ce,fn:wc,deps:_c,value:this,useNew:!1}),this.scope=function e(t,n){var r=null;if(n)if(n=U(n),Array.isArray(n))for(var i=0;i1?" ("+function(e){for(var t=[],n=0;n-1)return t.push(e[n]),t;t.push(e[n])}return t}(e.slice().reverse()).map(function(e){return L(e.token)}).join(" -> ")+")":""}function zc(e,t,n,r){var i=[t],a=n(i),o=r?function(e,t){var n=e+" caused by: "+(t instanceof Error?t.message:t),r=Error(n);return r[bi]=t,r} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */(a,r):Error(a);return o.addKey=Dc,o.keys=i,o.injectors=[e],o.constructResolvingMessage=n,o[bi]=r,o}function Dc(e,t){this.injectors.push(e),this.keys.push(t),this.message=this.constructResolvingMessage(this.keys)}function Ac(e,t){for(var n=[],r=0,i=t.length;r=this._providers.length)throw function(e){return Error("Index "+e+" is out-of-bounds.")}(e);return this._providers[e]},e.prototype._new=function(e){if(this._constructionCounter++>this._getMaxNumberOfObjects())throw t=this,n=e.key,zc(t,n,function(e){return"Cannot instantiate cyclic dependency!"+Ic(e)});var t,n;return this._instantiateProvider(e)},e.prototype._getMaxNumberOfObjects=function(){return this.objs.length},e.prototype._instantiateProvider=function(e){if(e.multiProvider){for(var t=[],n=0;n-1?Wa(e,t,t,a,r):{propName:a,oldValue:n,newValue:r};if(null===a){for(var o=t-1;"string"!=typeof i[o]&&null===i[o+1];)o--;var s=i[o];if("string"==typeof s){var l=s.match(new RegExp($r,"g"));if(l&&l.length-1>t-o)return Wa(e,o,t,s,r)}}return{propName:void 0,oldValue:n,newValue:r}}(e,t,i,n);!function(e,t,n,r){var i="ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value"+(r?" for '"+r+"'":"")+": '"+t+"'. Current value: '"+n+"'.";throw e&&(i+=" It seems like the view has been created after its parent and its children have been dirty checked. Has it been created in a change detection hook?"),new Error(i)}(r===io,a.oldValue,a.newValue,a.propName)}return!1}return e[t]=n,!0}function vu(e,t,n,r){var i=bu(e,t,n);return bu(e,t+1,r)||i}function ku(e,t,n,r,i){var a=vu(e,t,n,r);return bu(e,t+2,i)||a}function wu(e,t,n,r,i,a){var o=vu(e,t,n,r);return vu(e,t+2,i,a)||o} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function _u(e,t,n,r){var i=Bn(),a=Jn();if(bu(i,a,t)){var o=Fn(),s=mr();As(s,i,e,t,n,r),ngDevMode&&Ks(o.data,s,"attr."+e,a)}return _u} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function ju(e,t){ngDevMode&&Ve(2,t.length,"should have at least 3 values"),ngDevMode&&qe(t.length%2,1,"should have an odd number of values");for(var n=!1,r=Yn(),i=1;i=e.data.length&&(e.data[i]=null,e.blueprint[i]=null),t[i]=r}function Wu(e){return Sn(Rn.lFrame.contextLView,e)} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function Ku(e,t){void 0===t&&(t=y.Default);var n=Bn();return null==n?we(e,t):si(Un(),n,U(e),t)}function Gu(e){return oi(Un(),e)}function Qu(){var e=ngDevMode?"This constructor was not compatible with Dependency Injection.":"invalid";throw new Error(e)} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function $u(e,t,n){var r=Bn(),i=Jn();if(bu(r,i,t)){var a=Fn(),o=mr();bs(a,o,r,e,t,r[Pt],n,!1),ngDevMode&&Ks(a.data,o,e,i)}return $u}function Yu(e,t,n,r,i){var a=i?"class":"style";Js(e,n,t.inputs[a],a,r)} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function Zu(e,t,n,r,i,a,o){ngDevMode&&dn(t),ngDevMode&&ngDevMode.firstCreatePass++;var s=t.consts,l=An(s,a),c=is(t,n[It],e,3,i,l),u=js(t,n,c,An(s,o));return ngDevMode&&function(e,t,n,r,i){if(null===e.schemas)return;var a=r.tagName;if(!i&&null!==a){var o="undefined"!=typeof HTMLUnknownElement&&HTMLUnknownElement&&n instanceof HTMLUnknownElement||"undefined"!=typeof customElements&&a.indexOf("-")>-1&&!customElements.get(a);if(o&&!ws(e,0,a)){var s="'"+a+"' is not a known element:\n";s+="1. If '"+a+"' is an Angular component, then verify that it is part of this module.\n",a&&a.indexOf("-")>-1?s+="2. If '"+a+"' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.":s+="2. To allow any element add 'NO_ERRORS_SCHEMA' to the '@NgModule.schemas' of this component.",console.warn(s)}}} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */(t,0,r,c,u),null!==c.attrs&&lu(c,c.attrs,!1),null!==c.mergedAttrs&&lu(c,c.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,c),c}function Ju(e,t,n,r){var i=Bn(),a=Fn(),o=Ht+e;ngDevMode&&qe(Yn(),a.bindingStartIndex,"elements should be created before any bindings"),ngDevMode&&ngDevMode.rendererCreateElement++,ngDevMode&&Qe(i,o);var s=i[Pt],l=i[o]=ns(t,s,Rn.lFrame.currentNamespace),c=a.firstCreatePass?Zu(e,a,i,l,t,n,r):a.data[o];Hn(c,!0);var u=c.mergedAttrs;null!==u&&Nr(s,l,u);var d=c.classes;null!==d&&El(s,l,d);var h=c.styles;null!==h&&Cl(s,l,h),yl(a,i,l,c),0===Rn.lFrame.elementDepthCount&&qa(l,i),Rn.lFrame.elementDepthCount++,tn(c)&&(us(a,i,c),cs(a,c,i)),null!==r&&ds(i,c)}function Xu(){var e=Un();ngDevMode&&We(e,"No parent node to close."),Wn()?Kn():(ngDevMode&&sn(Un()),Hn(e=e.parent,!1));var t=e;ngDevMode&&zr(t,3),Rn.lFrame.elementDepthCount--;var n=Fn();n.firstCreatePass&&(kr(n,e),Xt(e)&&n.queries.elementEnd(e)),null!=t.classesWithoutHost&&function(e){return 0!=(16&e.flags)}(t)&&Yu(n,t,Bn(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function(e){return 0!=(32&e.flags)} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */(t)&&Yu(n,t,Bn(),t.stylesWithoutHost,!1)}function ed(e,t,n,r){Ju(e,t,n,r),Xu()}function td(e,t,n){var r=Bn(),i=Fn(),a=e+Ht;ngDevMode&&Qe(r,a),ngDevMode&&qe(Yn(),i.bindingStartIndex,"element containers should be created before any bindings");var o=i.firstCreatePass?function(e,t,n,r,i){ngDevMode&&ngDevMode.firstCreatePass++;var a=t.consts,o=An(a,r),s=is(t,n[It],e,4,"ng-container",o);return null!==o&&lu(s,o,!0),js(t,n,s,An(a,i)),null!==t.queries&&t.queries.elementStart(t,s),s}(e,i,r,t,n):i.data[a];Hn(o,!0),ngDevMode&&ngDevMode.rendererCreateComment++;var s=r[a]=r[Pt].createComment(ngDevMode?"ng-container":"");yl(i,r,s,o),qa(s,r),tn(o)&&(us(i,r,o),cs(i,o,r)),null!=n&&ds(r,o)}function nd(){var e=Un(),t=Fn();Wn()?Kn():(ngDevMode&&sn(e),Hn(e=e.parent,!1)),ngDevMode&&zr(e,4),t.firstCreatePass&&(kr(t,e),Xt(e)&&t.queries.elementEnd(e))}function rd(e,t,n){td(e,t,n),nd()}function id(){return Bn()} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function ad(e){return!!e&&"function"==typeof e.then}function od(e){return!!e&&"function"==typeof e.subscribe} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function sd(e,t,n,r){void 0===n&&(n=!1);var i=Bn(),a=Fn(),o=Un();return cd(a,i,i[Pt],o,e,t,n,r),sd}function ld(e,t,n,r){void 0===n&&(n=!1);var i=Un(),a=Bn(),o=Fn();return cd(o,a,Ys(nr(o.data),i,a),i,e,t,n,r),ld}function cd(e,t,n,r,i,a,o,s){void 0===o&&(o=!1);var l=tn(r),c=e.firstCreatePass&&(e.cleanup||(e.cleanup=[])),u=Qs(t);ngDevMode&&Dr(r,3,0,4);var d=!0;if(3===r.type){var h=Cn(r,t),p=s?s(h):ot,f=p.target||h,m=u.length,g=s?function(e){return s(_n(e[r.index])).target}:r.index;if(kn(n)){var y=null;if(!s&&l&&(y=function(e,t,n,r){var i=e.cleanup;if(null!=i)for(var a=0;al?s[l]:null}"string"==typeof o&&(a+=2)}return null}(e,t,i,r.index)),null!==y){(y.__ngLastListenerFn__||y).__ngNextListenerFn__=a,y.__ngLastListenerFn__=a,d=!1}else{a=dd(r,t,a,!1);var b=n.listen(p.name||f,i,a);ngDevMode&&ngDevMode.rendererAddEventListener++,u.push(a,b),c&&c.push(i,g,m,m+1)}}else a=dd(r,t,a,!0),f.addEventListener(i,a,o),ngDevMode&&ngDevMode.rendererAddEventListener++,u.push(a),c&&c.push(i,g,m,o)}var v,k=r.outputs;if(d&&null!==k&&(v=k[i])){var w=v.length;if(w)for(var _=0;_0)&&(h=!0)}else c=n;if(i)if(0!==l){var f=bo(e[s+1]);e[r+1]=yo(f,s),0!==f&&(e[f+1]=_o(e[f+1],r)),e[s+1]=(u=e[s+1],d=r,ngDevMode&&Pe(u,"expected number"),ngDevMode&&Re(d,0,32767),131071&u|d<<17)}else e[r+1]=yo(s,0),0!==s&&(e[s+1]=_o(e[s+1],r)),s=r;else e[r+1]=yo(l,0),ngDevMode&&qe(0!==s&&0===l,!1,"Adding template bindings after hostBindings is not allowed."),0===s?s=r:e[l+1]=_o(e[l+1],r),l=r;h&&(e[r+1]=ko(e[r+1])),Id(e,c,r,!0,a),Id(e,c,r,!1,a),function(e,t,n,r,i){var a=i?e.residualClasses:e.residualStyles;null!=a&&"string"==typeof t&&rt(a,t)>=0&&(n[r+1]=Co(n[r+1]))}(t,c,e,r,a),o=yo(s,l),a?t.classBindings=o:t.styleBindings=o}function Id(e,t,n,r,i){for(var a=e[n+1],o=null===t,s=r?bo(a):wo(a),l=!1;0!==s&&(!1===l||o);){ngDevMode&&Qe(e,s);var c=e[s],u=e[s+1];zd(c,t)&&(l=!0,e[s+1]=r?Co(u):ko(u)),s=r?bo(u):wo(u)}l&&(e[n+1]=r?ko(a):Co(a))}function zd(e,t){return ngDevMode&&Le(Array.isArray(t),!0,"Expected that 'tStylingKey' has been unwrapped"),null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&rt(e,t)>=0} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */("undefined"==typeof ngDevMode||ngDevMode)&&oe()&&(Object.freeze({}),Object.freeze(Td)) -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */;var Dd={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Ad(e){return e.substring(Dd.key,Dd.keyEnd)}function Nd(e){return e.substring(Dd.value,Dd.valueEnd)}function Pd(e,t){var n=Dd.textEnd;return n===t?-1:(t=Dd.keyEnd=function(e,t,n){for(;t32;)t++;return t}(e,Dd.key=t,n),qd(e,t,n))}function Rd(e,t){var n=Dd.textEnd,r=Dd.key=qd(e,t,n);return n===r?-1:(r=Dd.keyEnd=function(e,t,n){var r;for(;t=65&&(-33&r)<=90);)t++;return t}(e,r,n),r=Ld(e,r,n,58),r=Dd.value=qd(e,r,n),r=Dd.valueEnd=function(e,t,n){var r=-1,i=-1,a=-1,o=t,s=o;for(;o32&&(s=o),a=i,i=r,r=-33&l}return s}(e,r,n),Ld(e,r,n,59))}function Md(e){Dd.key=0,Dd.keyEnd=0,Dd.value=0,Dd.valueEnd=0,Dd.textEnd=e.length}function qd(e,t,n){for(;t>"+e.substring(n,n+1)+"<<]"+e.substr(n+1)+"'. Expecting '"+t+"'.")} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function Vd(e){vr(e)}function Ud(e,t,n){return $d(e,t,n,!1),Ud}function Hd(e,t){return $d(e,t,null,!0),Hd}function Wd(e){Yd(th,Kd,e,!1)}function Kd(e,t){for(var n=function(e){return Md(e),Rd(e,qd(e,0,Dd.textEnd))}(t);n>=0;n=Rd(t,n))th(e,Ad(t),Nd(t))}function Gd(e){Yd(tt,Qd,e,!0)}function Qd(e,t){for(var n=function(e){return Md(e),Pd(e,qd(e,0,Dd.textEnd))}(t);n>=0;n=Pd(t,n))tt(e,Ad(t),!0)}function $d(e,t,n,r){var i,a=Bn(),o=Fn(),s=Xn(2);if(o.firstUpdatePass&&Jd(o,e,s,r),t!==io&&bu(a,s,t)){var l=void 0;null==n&&(l=null===(i=Rn.lFrame)?null:i.currentSanitizer)&&(n=l),nh(o,o.data[pr()+Ht],a,a[Pt],e,a[s+1]=function(e,t){null==e||("function"==typeof t?e=t(e):"string"==typeof t?e+=t:"object"==typeof e&&(e=L(Di(e))));return e}(t,n),r,s)}}function Yd(e,t,n,r){var i=Fn(),a=Xn(2);i.firstUpdatePass&&Jd(i,null,a,r);var o=Bn();if(n!==io&&bu(o,a,n)){var s=i.data[pr()+Ht];if(ah(s,r)&&!Zd(i,a)){if(ngDevMode){var l=i.data[a];qe(Array.isArray(l)?l[1]:l,!1,"Styling linked list shadow input should be marked as 'false'")}var c=r?s.classesWithoutHost:s.stylesWithoutHost;ngDevMode&&!1===r&&null!==c&&qe(c.endsWith(";"),!0,"Expecting static portion to end with ';'"),null!==c&&(n=B(c,n||"")),Yu(i,s,o,n,r)}else!function(e,t,n,r,i,a,o,s){i===io&&(i=Td);var l=0,c=0,u=0=e.expandoStartIndex}function Jd(e,t,n,r){ngDevMode&&hn(e);var i=e.data;if(null===i[n+1]){var a=i[pr()+Ht],o=Zd(e,n);ah(a,r)&&null===t&&!o&&(t=!1),t=function(e,t,n,r){var i=nr(e),a=r?t.residualClasses:t.residualStyles;if(null===i){var o=0===(r?t.classBindings:t.styleBindings);o&&(n=eh(n=Xd(null,e,t,n,r),t.attrs,r),a=null)}else{var s=t.directiveStylingLast,l=-1===s||e[s]!==i;if(l)if(n=Xd(i,e,t,n,r),null===a){var c=function(e,t,n){var r=n?t.classBindings:t.styleBindings;if(0===wo(r))return;return e[bo(r)]}(e,t,r);void 0!==c&&Array.isArray(c)&&(c=eh(c=Xd(null,e,t,c[1],r),t.attrs,r),function(e,t,n,r){var i=n?t.classBindings:t.styleBindings;ngDevMode&&Le(wo(i),0,"Expecting to have at least one template styling binding."),e[bo(i)]=r}(e,t,r,c))}else a=function(e,t,n){var r=void 0,i=t.directiveEnd;ngDevMode&&Le(t.directiveStylingLast,-1,"By the time this function gets called at least one hostBindings-node styling instruction must have executed.");for(var a=1+t.directiveStylingLast;a0;){var l=e[i],c=Array.isArray(l),u=c?l[1]:l,d=null===u,h=n[i+1];h===io&&(h=d?Td:void 0);var p=d?nt(h,r):u===r?h:void 0;if(c&&!ih(p)&&(p=nt(l,r)),ih(p)&&(s=p,o))return s;var f=e[i+1];i=o?bo(f):wo(f)}if(null!==t){var m=a?t.residualClasses:t.residualStyles;null!=m&&(s=nt(m,r))}return s}function ih(e){return void 0!==e}function ah(e,t){return 0!=(e.flags&(t?16:32))} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function oh(e,t){void 0===t&&(t="");var n=Bn(),r=Fn(),i=e+Ht;ngDevMode&&qe(Yn(),r.bindingStartIndex,"text nodes should be created before any bindings"),ngDevMode&&Qe(n,i);var a=r.firstCreatePass?is(r,n[It],e,3,null,null):r.data[i],o=n[i]=rl(t,n[Pt]);yl(r,n,o,a),Hn(a,!1)} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function sh(e){return lh("",e,""),sh}function lh(e,t,n){var r=Bn(),i=Cu(r,e,t,n);return i!==io&&Xs(r,pr(),i),lh}function ch(e,t,n,r,i){var a=Bn(),o=Eu(a,e,t,n,r,i);return o!==io&&Xs(a,pr(),o),ch}function uh(e,t,n,r,i,a,o){var s=Bn(),l=xu(s,e,t,n,r,i,a,o);return l!==io&&Xs(s,pr(),l),uh}function dh(e,t,n,r,i,a,o,s,l){var c=Bn(),u=Su(c,e,t,n,r,i,a,o,s,l);return u!==io&&Xs(c,pr(),u),dh}function hh(e,t,n,r,i,a,o,s,l,c,u){var d=Bn(),h=Tu(d,e,t,n,r,i,a,o,s,l,c,u);return h!==io&&Xs(d,pr(),h),hh}function ph(e,t,n,r,i,a,o,s,l,c,u,d,h){var p=Bn(),f=Ou(p,e,t,n,r,i,a,o,s,l,c,u,d,h);return f!==io&&Xs(p,pr(),f),ph}function fh(e,t,n,r,i,a,o,s,l,c,u,d,h,p,f){var m=Bn(),g=Iu(m,e,t,n,r,i,a,o,s,l,c,u,d,h,p,f);return g!==io&&Xs(m,pr(),g),fh}function mh(e,t,n,r,i,a,o,s,l,c,u,d,h,p,f,m,g){var y=Bn(),b=zu(y,e,t,n,r,i,a,o,s,l,c,u,d,h,p,f,m,g);return b!==io&&Xs(y,pr(),b),mh}function gh(e){var t=Bn(),n=ju(t,e);return n!==io&&Xs(t,pr(),n),gh} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function yh(e,t,n){Yd(tt,Qd,Cu(Bn(),e,t,n),!0)}function bh(e,t,n,r,i){Yd(tt,Qd,Eu(Bn(),e,t,n,r,i),!0)}function vh(e,t,n,r,i,a,o){Yd(tt,Qd,xu(Bn(),e,t,n,r,i,a,o),!0)}function kh(e,t,n,r,i,a,o,s,l){Yd(tt,Qd,Su(Bn(),e,t,n,r,i,a,o,s,l),!0)}function wh(e,t,n,r,i,a,o,s,l,c,u){Yd(tt,Qd,Tu(Bn(),e,t,n,r,i,a,o,s,l,c,u),!0)}function _h(e,t,n,r,i,a,o,s,l,c,u,d,h){Yd(tt,Qd,Ou(Bn(),e,t,n,r,i,a,o,s,l,c,u,d,h),!0)}function jh(e,t,n,r,i,a,o,s,l,c,u,d,h,p,f){Yd(tt,Qd,Iu(Bn(),e,t,n,r,i,a,o,s,l,c,u,d,h,p,f),!0)}function Ch(e,t,n,r,i,a,o,s,l,c,u,d,h,p,f,m,g){Yd(tt,Qd,zu(Bn(),e,t,n,r,i,a,o,s,l,c,u,d,h,p,f,m,g),!0)}function Eh(e){Yd(tt,Qd,ju(Bn(),e),!0)} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function xh(e,t,n){Wd(Cu(Bn(),e,t,n))}function Sh(e,t,n,r,i){Wd(Eu(Bn(),e,t,n,r,i))}function Th(e,t,n,r,i,a,o){Wd(xu(Bn(),e,t,n,r,i,a,o))}function Oh(e,t,n,r,i,a,o,s,l){Wd(Su(Bn(),e,t,n,r,i,a,o,s,l))}function Ih(e,t,n,r,i,a,o,s,l,c,u){Wd(Tu(Bn(),e,t,n,r,i,a,o,s,l,c,u))}function zh(e,t,n,r,i,a,o,s,l,c,u,d,h){Wd(Ou(Bn(),e,t,n,r,i,a,o,s,l,c,u,d,h))}function Dh(e,t,n,r,i,a,o,s,l,c,u,d,h,p,f){Wd(Iu(Bn(),e,t,n,r,i,a,o,s,l,c,u,d,h,p,f))}function Ah(e,t,n,r,i,a,o,s,l,c,u,d,h,p,f,m,g){Wd(zu(Bn(),e,t,n,r,i,a,o,s,l,c,u,d,h,p,f,m,g))}function Nh(e){Wd(ju(Bn(),e))} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function Ph(e,t,n,r,i){return $d(e,Cu(Bn(),t,n,r),i,!1),Ph}function Rh(e,t,n,r,i,a,o){return $d(e,Eu(Bn(),t,n,r,i,a),o,!1),Rh}function Mh(e,t,n,r,i,a,o,s,l){return $d(e,xu(Bn(),t,n,r,i,a,o,s),l,!1),Mh}function qh(e,t,n,r,i,a,o,s,l,c,u){return $d(e,Su(Bn(),t,n,r,i,a,o,s,l,c),u,!1),qh}function Lh(e,t,n,r,i,a,o,s,l,c,u,d,h){return $d(e,Tu(Bn(),t,n,r,i,a,o,s,l,c,u,d),h,!1),Lh}function Bh(e,t,n,r,i,a,o,s,l,c,u,d,h,p,f){return $d(e,Ou(Bn(),t,n,r,i,a,o,s,l,c,u,d,h,p),f,!1),Bh}function Fh(e,t,n,r,i,a,o,s,l,c,u,d,h,p,f,m,g){return $d(e,Iu(Bn(),t,n,r,i,a,o,s,l,c,u,d,h,p,f,m),g,!1),Fh}function Vh(e,t,n,r,i,a,o,s,l,c,u,d,h,p,f,m,g,y,b){return $d(e,zu(Bn(),t,n,r,i,a,o,s,l,c,u,d,h,p,f,m,g,y),b,!1),Vh}function Uh(e,t,n){return $d(e,ju(Bn(),t),n,!1),Uh} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function Hh(e,t,n){var r=Bn(),i=Jn();if(bu(r,i,t)){var a=Fn(),o=mr();bs(a,o,r,e,t,r[Pt],n,!0),ngDevMode&&Ks(a.data,o,e,i)}return Hh}function Wh(e,t,n){var r=Bn(),i=Jn();if(bu(r,i,t)){var a=Fn(),o=mr();bs(a,o,r,e,t,Ys(nr(a.data),o,r),n,!0),ngDevMode&&Ks(a.data,o,e,i)}return Wh} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function Kh(e){rp(e);var t,n,r,i,a=Jh(e,!1);return null===a?null:(void 0===a.component&&(a.component=(t=a.nodeIndex,n=a.lView,r=n[Et].data[t],i=r.directiveStart,2&r.flags?n[i]:null)),a.component)}function Gh(e){rp(e);var t=Jh(e,!1);return null===t?null:t.lView[Dt]}function Qh(e){var t=Jh(e,!1);if(null===t)return null;var n,r=t.lView;for(ngDevMode&&un(r);null===r[Ct]&&(n=ao(r));)r=n;return 512&r[xt]?null:r[Dt]}function $h(e){return Object(r.g)(so(e).components)}function Yh(e){var t=Jh(e,!1);if(null===t)return kc.NULL;var n=t.lView[Et].data[t.nodeIndex];return new fi(n,t.lView)}function Zh(e){var t=Jh(e);return void 0===t.directives&&(t.directives=Va(t.nodeIndex,t.lView,!1)),null===t.directives?[]:Object(r.g)(t.directives)}function Jh(e,t){void 0===t&&(t=!0);var n=Pa(e);if(!n&&t)throw new Error(ngDevMode?"Unable to find context associated with "+Hr(e):"Invalid ng target");return n}function Xh(e){var t=Jh(e,!1);return null===t?{}:(void 0===t.localRefs&&(t.localRefs=function(e,t){var n=e[Et].data[t];if(n&&n.localNames){for(var r={},i=n.index+1,a=0;a=0?"dom":"output",m="boolean"==typeof p&&p;e==d&&o.push({element:e,name:u,callback:h,useCapture:m,type:f})}}return o.sort(np),o}function np(e,t){return e.name==t.name?0:e.name=0;r--){var i=e[r];i.hostVars=t+=i.hostVars,i.hostAttrs=Mr(i.hostAttrs,n=Mr(n,i.hostAttrs))}}(r)}function yp(e){return e===ot?{}:e===st?[]:e}function bp(e,t){var n=e.viewQuery;e.viewQuery=n?function(e,r){t(e,r),n(e,r)}:t}function vp(e,t){var n=e.contentQueries;e.contentQueries=n?function(e,r,i){t(e,r,i),n(e,r,i)}:t}function kp(e,t){var n=e.hostBindings;e.hostBindings=n?function(e,r){t(e,r),n(e,r)}:t} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var wp=["providersResolver"],_p=["template","decls","consts","vars","onPush","ngContentSelectors","styles","encapsulation","schemas"];function jp(e){var t,n,i,a,o=mp(e.type),s=void 0;s=nn(e)?o.ɵcmp:o.ɵdir;var l=e;try{for(var c=Object(r.h)(wp),u=c.next();!u.done;u=c.next()){l[p=u.value]=s[p]}}catch(f){t={error:f}}finally{try{u&&!u.done&&(n=c.return)&&n.call(c)}finally{if(t)throw t.error}}if(nn(s))try{for(var d=Object(r.h)(_p),h=d.next();!h.done;h=d.next()){var p;l[p=h.value]=s[p]}}catch(m){i={error:m}}finally{try{h&&!h.done&&(a=d.return)&&a.call(d)}finally{if(i)throw i.error}}} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var Cp=function(){function e(e,t,n){this.previousValue=e,this.currentValue=t,this.firstChange=n}return e.prototype.isFirstChange=function(){return this.firstChange},e}(); -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function Ep(e){e.type.prototype.ngOnChanges&&(e.setInput=xp,e.onChanges=function(){var e=Tp(this),t=e&&e.current;if(t){var n=e.previous;if(n===ot)e.previous=t;else for(var r in t)n[r]=t[r];e.current=null,this.ngOnChanges(t)}})}function xp(e,t,n,r){var i=Tp(e)||function(e,t){return e[Sp]=t} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */(e,{previous:ot,current:null}),a=i.current||(i.current={}),o=i.previous,s=this.declaredInputs[n],l=o[s];a[s]=new Cp(l&&l.currentValue,t,o===ot),e[r]=t}Ep.ngInherit=!0;var Sp="__ngSimpleChanges__";function Tp(e){return e[Sp]||null}function Op(e,t,n,r,i){if(e=U(e),Array.isArray(e))for(var a=0;a>16;if(yc(e)||!e.multi){var f=new Ir(c,i,Ku),m=Dp(l,t,i?d:d+p,h);-1===m?(ai(ti(u,s),o,l),Ip(o,e,t.length),t.push(l),u.directiveStart++,u.directiveEnd++,i&&(u.providerIndexes+=65536),n.push(f),s.push(f)):(n[m]=f,s[m]=f)}else{var g=Dp(l,t,d+p,h),y=Dp(l,t,d,d+p),b=g>=0&&n[g],v=y>=0&&n[y];if(i&&!v||!i&&!b){ai(ti(u,s),o,l);f=function(e,t,n,r,i){var a=new Ir(e,n,Ku);return a.multi=[],a.index=t,a.componentProviders=0,zp(a,i,r&&!n),a}(i?Np:Ap,n.length,i,r,c);!i&&v&&(n[y].providerFactory=f),Ip(o,e,t.length,0),t.push(l),u.directiveStart++,u.directiveEnd++,i&&(u.providerIndexes+=65536),n.push(f),s.push(f)}else{Ip(o,e,g>-1?g:y,zp(n[i?y:g],c,!i&&r))}!i&&r&&v&&n[y].componentProviders++}}}function Ip(e,t,n,r){var i=yc(t);if(i||t.useClass){var a=(t.useClass||t).prototype.ngOnDestroy;if(a){var o=e.destroyHooks||(e.destroyHooks=[]);if(!i&&t.multi){ngDevMode&&We(r,"indexInFactory when registering multi factory destroy hook");var s=o.indexOf(n);-1===s?o.push(n,[r,a]):o[s+1].push(r,a)}else o.push(n,a)}}}function zp(e,t,n){return n&&e.componentProviders++,e.multi.push(t)-1}function Dp(e,t,n,r){for(var i=n;i-1}(r,i)))){var u=e._providers.length;return e._def.providers[u]=e._def.providersByKey[t.tokenKey]={flags:5120,value:l.factory,deps:[],index:u,token:t.token},e._providers[u]=wm,e._providers[u]=Tm(e,e._def.providersByKey[t.tokenKey])}return 4&t.flags?n:e._parent.get(t.token,n)}finally{be(a)}}function Tm(e,t){var n;switch(201347067&t.flags){case 512:n=function(e,t,n){var i=n.length;switch(i){case 0:return new t;case 1:return new t(Sm(e,n[0]));case 2:return new t(Sm(e,n[0]),Sm(e,n[1]));case 3:return new t(Sm(e,n[0]),Sm(e,n[1]),Sm(e,n[2]));default:for(var a=[],o=0;o0?i[n-1]:null,r)}function Im(e,t){var n=e.viewContainer._embeddedViews;if((null==t||t>=n.length)&&(t=n.length-1),t<0)return null;var r=n[t];return r.viewContainerParent=null,Xe(n,t),Rf.dirtyParentQueries(r),Dm(r),r}function zm(e,t,n){var r=t?Xf(t,t.def.lastRenderRootNode):e.renderElement,i=n.renderer.parentNode(r),a=n.renderer.nextSibling(r);lm(n,2,i,a,void 0)}function Dm(e){lm(e,3,null,null,void 0)} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var Am={};function Nm(e,t,n,r,i,a){return new Rm(e,t,n,r,i,a)}function Pm(e){return e.viewDefFactory}var Rm=function(e){function t(t,n,r,i,a,o){var s=e.call(this)||this;return s.selector=t,s.componentType=n,s._inputs=i,s._outputs=a,s.ngContentSelectors=o,s.viewDefFactory=r,s}return Object(r.c)(t,e),Object.defineProperty(t.prototype,"inputs",{get:function(){var e=[],t=this._inputs;for(var n in t){var r=t[n];e.push({propName:n,templateName:r})}return e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"outputs",{get:function(){var e=[];for(var t in this._outputs){var n=this._outputs[t];e.push({propName:t,templateName:n})}return e},enumerable:!0,configurable:!0}),t.prototype.create=function(e,t,n,r){if(!r)throw new Error("ngModule should be provided");var i=sm(this.viewDefFactory),a=i.nodes[0].element.componentProvider.nodeIndex,o=Rf.createRootView(e,t||[],n,i,r,Am),s=Df(o,a).instance;return n&&o.renderer.setAttribute(zf(o,0).renderElement,"ng-version",tf.full),new Mm(o,new Fm(o),s)},t}(qp),Mm=function(e){function t(t,n,r){var i=e.call(this)||this;return i._view=t,i._viewRef=n,i._component=r,i._elDef=i._view.def.nodes[0],i.hostView=n,i.changeDetectorRef=n,i.instance=r,i}return Object(r.c)(t,e),Object.defineProperty(t.prototype,"location",{get:function(){return new Kp(zf(this._view,this._elDef.nodeIndex).renderElement)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"injector",{get:function(){return new Wm(this._view,this._elDef)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"componentType",{get:function(){return this._component.constructor},enumerable:!0,configurable:!0}),t.prototype.destroy=function(){this._viewRef.destroy()},t.prototype.onDestroy=function(e){this._viewRef.onDestroy(e)},t}(Mp);function qm(e,t,n){return new Lm(e,t,n)}var Lm=function(){function e(e,t,n){this._view=e,this._elDef=t,this._data=n,this._embeddedViews=[]}return Object.defineProperty(e.prototype,"element",{get:function(){return new Kp(this._data.renderElement)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"injector",{get:function(){return new Wm(this._view,this._elDef)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"parentInjector",{get:function(){for(var e=this._view,t=this._elDef.parent;!t&&e;)t=Jf(e),e=e.parent;return e?new Wm(e,t):new Wm(this._view,null)},enumerable:!0,configurable:!0}),e.prototype.clear=function(){for(var e=this._embeddedViews.length-1;e>=0;e--){var t=Im(this._data,e);Rf.destroyView(t)}},e.prototype.get=function(e){var t=this._embeddedViews[e];if(t){var n=new Fm(t);return n.attachToViewContainerRef(this),n}return null},Object.defineProperty(e.prototype,"length",{get:function(){return this._embeddedViews.length},enumerable:!0,configurable:!0}),e.prototype.createEmbeddedView=function(e,t,n){var r=e.createEmbeddedView(t||{});return this.insert(r,n),r},e.prototype.createComponent=function(e,t,n,r,i){var a=n||this.parentInjector;i||e instanceof Hp||(i=a.get(Ae));var o=e.create(a,r,void 0,i);return this.insert(o.hostView,t),o},e.prototype.insert=function(e,t){if(e.destroyed)throw new Error("Cannot insert a destroyed View in a ViewContainer!");var n=e,r=n._view;return Om(this._view,this._data,t,r),n.attachToViewContainerRef(this),e},e.prototype.move=function(e,t){if(e.destroyed)throw new Error("Cannot move a destroyed View in a ViewContainer!");var n,r,i,a,o,s=this._embeddedViews.indexOf(e._view);return n=this._data,r=s,i=t,a=n.viewContainer._embeddedViews,o=a[r],Xe(a,r),null==i&&(i=a.length),Je(a,i,o),Rf.dirtyParentQueries(o),Dm(o),zm(n,i>0?a[i-1]:null,o),e},e.prototype.indexOf=function(e){return this._embeddedViews.indexOf(e._view)},e.prototype.remove=function(e){var t=Im(this._data,e);t&&Rf.destroyView(t)},e.prototype.detach=function(e){var t=Im(this._data,e);return t?new Fm(t):null},e}();function Bm(e){return new Fm(e)}var Fm=function(){function e(e){this._view=e,this._viewContainerRef=null,this._appRef=null}return Object.defineProperty(e.prototype,"rootNodes",{get:function(){return lm(this._view,0,void 0,void 0,e=[]),e;var e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"context",{get:function(){return this._view.context},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"destroyed",{get:function(){return 0!=(128&this._view.state)},enumerable:!0,configurable:!0}),e.prototype.markForCheck=function(){Qf(this._view)},e.prototype.detach=function(){this._view.state&=-5},e.prototype.detectChanges=function(){var e=this._view.root.rendererFactory;e.begin&&e.begin();try{Rf.checkAndUpdateView(this._view)}finally{e.end&&e.end()}},e.prototype.checkNoChanges=function(){Rf.checkNoChangesView(this._view)},e.prototype.reattach=function(){this._view.state|=4},e.prototype.onDestroy=function(e){this._view.disposables||(this._view.disposables=[]),this._view.disposables.push(e)},e.prototype.destroy=function(){this._appRef?this._appRef.detachView(this):this._viewContainerRef&&this._viewContainerRef.detach(this._viewContainerRef.indexOf(this)),Rf.destroyView(this._view)},e.prototype.detachFromAppRef=function(){this._appRef=null,Dm(this._view),Rf.dirtyParentQueries(this._view)},e.prototype.attachToAppRef=function(e){if(this._viewContainerRef)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e},e.prototype.attachToViewContainerRef=function(e){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._viewContainerRef=e},e}();function Vm(e,t){return new Um(e,t)}var Um=function(e){function t(t,n){var r=e.call(this)||this;return r._parentView=t,r._def=n,r}return Object(r.c)(t,e),t.prototype.createEmbeddedView=function(e){return new Fm(Rf.createEmbeddedView(this._parentView,this._def,this._def.element.template,e))},Object.defineProperty(t.prototype,"elementRef",{get:function(){return new Kp(zf(this._parentView,this._def.nodeIndex).renderElement)},enumerable:!0,configurable:!0}),t}(vf);function Hm(e,t){return new Wm(e,t)}var Wm=function(){function e(e,t){this.view=e,this.elDef=t}return e.prototype.get=function(e,t){void 0===t&&(t=kc.THROW_IF_NOT_FOUND);var n=!!this.elDef&&0!=(33554432&this.elDef.flags);return Rf.resolveDep(this.view,this.elDef,n,{flags:0,token:e,tokenKey:Lf(e)},t)},e}();function Km(e,t){var n=e.def.nodes[t];if(1&n.flags){var r=zf(e,n.nodeIndex);return n.element.template?r.template:r.renderElement}if(2&n.flags)return If(e,n.nodeIndex).renderText;if(20240&n.flags)return Df(e,n.nodeIndex).instance;throw new Error("Illegal state: read nodeValue for node index "+t)}function Gm(e,t,n,r){return new Qm(e,t,n,r)}var Qm=function(){function e(e,t,n,r){this._moduleType=e,this._parent=t,this._bootstrapComponents=n,this._def=r,this._destroyListeners=[],this._destroyed=!1,this.injector=this,function(e){for(var t=e._def,n=e._providers=et(t.providers.length),r=0;r0,r=dg(e,t.parent,n,t.provider.value,t.provider.deps);if(t.outputs.length)for(var i=0;i0,i=t.provider;switch(201347067&t.flags){case 512:return dg(e,t.parent,n,i.value,i.deps);case 1024:return function(e,t,n,i,a){var o=a.length;switch(o){case 0:return i();case 1:return i(pg(e,t,n,a[0]));case 2:return i(pg(e,t,n,a[0]),pg(e,t,n,a[1]));case 3:return i(pg(e,t,n,a[0]),pg(e,t,n,a[1]),pg(e,t,n,a[2]));default:for(var s=[],l=0;l0&&El(c,d,k.join(" "))}if(a=xn(m,0),void 0!==t)for(var w=a.projection=[],_=0;_n.length&&n.push(l)}return{type:r,mainBinding:i,cases:t,values:n}}function Xg(e){for(var t,n,r="",i=0,a=!1;null!==(t=Lg.exec(e));)a?t[0]===Mg+"/*"+n+Mg&&(i=t.index,a=!1):(r+=e.substring(i,t.index+t[0].length),n=t[1],a=!0);return ngDevMode&&qe(a,!1,'Tag mismatch: unable to find the end of the sub-template in the translation "'+e+'"'),r+=e.substr(i)}function ey(e,t,n,r){void 0===r&&(r=null);for(var i=[null,null],a=e.split(Fg),o=0,s=0;s0&&o!==s){var d=o.index-Ht;Wn()||(d=~d),u.push(d<<3|0)}var h=[],p=[];if(""===r&&uy(i))u.push(r,ly(a),l<<17|1);else for(var f=function(e,t){if(uy(t))return Xg(e);var n=e.indexOf(":"+t+Mg)+2+t.toString().length,r=e.search(new RegExp(Mg+"\\/\\*\\d+:"+t+Mg));return Xg(e.substring(n,r))}(r,i),m=function(e){return e.replace(xy," ")}(f).split(Bg),g=0;g0&&function(e,t,n){if(ngDevMode&&He(n,0,"The number of slots to alloc should be greater than 0"),n>0&&e.firstCreatePass){for(var r=0;r>1),o++}}(t,e),gd(!1)}function py(e,t,n,r,i,a){var o=Un();ngDevMode&&Qe(t,n+Ht),t[n+Ht]=i;var s=is(e,t[It],n,r,a,null);return o&&o.next===s&&(o.next=null),s}function fy(e,t,n,r){for(var i=r[Pt],a=null,o=null,s=[],l=0;l>>17,p=void 0;p=h===e?r[It]:xn(n,h),ngDevMode&&We(a,"You need to create or select a node before you can insert it into the DOM"),o=cy(n,a,p,o,r);break;case 0:var f=c>=0,m=(f?c:~c)>>>3;s.push(m),o=a,(a=xn(n,m))&&Hn(a,f);break;case 5:o=a=xn(n,c>>>3),Hn(a,!1);break;case 4:var g=c>>>3,y=t[++l],b=t[++l];As(xn(n,g),r,y,b,null,null);break;default:throw new Error('Unable to determine the type of mutate operation for "'+c+'"')}else switch(c){case go:var v=t[++l],k=t[++l];ngDevMode&&qe(typeof v,"string",'Expected "'+v+'" to be a comment node value');var w=i.createComment(v);ngDevMode&&ngDevMode.rendererCreateComment++,o=a,a=py(n,r,k,5,w,null),s.push(k),qa(w,r),a.activeCaseIndex=null,Kn();break;case mo:var _=t[++l];g=t[++l];ngDevMode&&qe(typeof _,"string",'Expected "'+_+'" to be an element node tag name');var j=i.createElement(_);ngDevMode&&ngDevMode.rendererCreateElement++,o=a,a=py(n,r,g,3,j,_),s.push(g);break;default:throw new Error('Unable to determine the type of mutate operation for "'+c+'"')}}return Kn(),s}function my(e,t,n,r){var i=xn(e,n),a=jn(n,t);a&&vl(t[Pt],a);var o=Sn(t,n);if(Jt(o)){var s=o;0!==i.type&&vl(t[Pt],s[Gt])}r&&(i.flags|=64),ngDevMode&&ngDevMode.rendererRemoveNode++}function gy(e,t,n){sy(e,t,n),hy()}function yy(e,t){var n=Bn(),r=Fn();ngDevMode&&We(r,"tView should be defined"),function(e,t,n,r){for(var i=Un().index-Ht,a=[],o=0;o>>2,g=void 0,y=void 0;switch(3&f){case 1:var b=t[++p],v=t[++p];bs(a,xn(a,m),o,b,h,o[Pt],v,!1);break;case 0:Xs(o,m,h);break;case 2:if(g=n[t[++p]],null!==(y=xn(a,m)).activeCaseIndex)for(var k=g.remove[y.activeCaseIndex],w=0;w>>3,!1);break;case 6:var j=xn(a,k[w+1]>>>3).activeCaseIndex;null!==j&&$e(n[_>>>3].remove[j],k)}}var C=_y(g,h);y.activeCaseIndex=-1!==C?C:null,C>-1&&(fy(-1,g.create[C],a,o),l=!0);break;case 3:g=n[t[++p]],null!==(y=xn(a,m)).activeCaseIndex&&e(g.update[y.activeCaseIndex],n,r,i,a,o,l)}}}c+=d}}(r,i,a,by,t,o),by=0,vy=0}}function _y(e,t){var n,r,i,a=e.cases.indexOf(t);if(-1===a)switch(e.type){case 1:var o=(n=t,r=zg(Sy)(parseInt(n,10)),void 0!==(i=Ng[r])?i:"other");-1===(a=e.cases.indexOf(o))&&"other"!==o&&(a=e.cases.indexOf("other"));break;case 0:a=e.cases.indexOf("other")}return a}function jy(e,t,n,i){for(var a=[],o=[],s=[],l=[],c=[],u=0;u=0;n--){var r=t[n];if(e===r.name)return r}throw new Error("The pipe '"+e+"' could not be found!")}(t,r.pipeRegistry),r.data[i]=n,n.onDestroy&&(r.destroyHooks||(r.destroyHooks=[])).push(i,n.onDestroy)):n=r.data[i];var a=n.factory||(n.factory=_t(n.type,!0)),o=ve(Ku),s=Jr(!1),l=a();return Jr(s),ve(o),Hu(r,Bn(),e,l),l}function eb(e,t,n){var r=Bn(),i=Sn(r,e);return ob(r,ab(r,e)?Qy(r,$n(),t,i.transform,n,i):i.transform(n))}function tb(e,t,n,r){var i=Bn(),a=Sn(i,e);return ob(i,ab(i,e)?$y(i,$n(),t,a.transform,n,r,a):a.transform(n,r))}function nb(e,t,n,r,i){var a=Bn(),o=Sn(a,e);return ob(a,ab(a,e)?Yy(a,$n(),t,o.transform,n,r,i,o):o.transform(n,r,i))}function rb(e,t,n,r,i,a){var o=Bn(),s=Sn(o,e);return ob(o,ab(o,e)?Zy(o,$n(),t,s.transform,n,r,i,a,s):s.transform(n,r,i,a))}function ib(e,t,n){var r=Bn(),i=Sn(r,e);return ob(r,ab(r,e)?Jy(r,$n(),t,i.transform,n,i):i.transform.apply(i,n))}function ab(e,t){return e[Et].data[t+Ht].pure}function ob(e,t){pu.isWrapped(t)&&(t=pu.unwrap(t),e[Yn()]=io);return t} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var sb=function(e){function t(t){void 0===t&&(t=!1);var n=e.call(this)||this;return n.__isAsync=t,n}return Object(r.c)(t,e),t.prototype.emit=function(t){e.prototype.next.call(this,t)},t.prototype.subscribe=function(t,n,r){var a,o=function(e){return null},s=function(){return null};t&&"object"==typeof t?(a=this.__isAsync?function(e){setTimeout(function(){return t.next(e)})}:function(e){t.next(e)},t.error&&(o=this.__isAsync?function(e){setTimeout(function(){return t.error(e)})}:function(e){t.error(e)}),t.complete&&(s=this.__isAsync?function(){setTimeout(function(){return t.complete()})}:function(){t.complete()})):(a=this.__isAsync?function(e){setTimeout(function(){return t(e)})}:function(e){t(e)},n&&(o=this.__isAsync?function(e){setTimeout(function(){return n(e)})}:function(e){n(e)}),r&&(s=this.__isAsync?function(){setTimeout(function(){return r()})}:function(){r()}));var l=e.prototype.subscribe.call(this,a,o,s);return t instanceof i.a&&t.add(l),l},t}(a.a); -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function lb(){return this._results[uu()]()}var cb=function(){function e(){this.dirty=!0,this._results=[],this.changes=new sb,this.length=0;var t=uu(),n=e.prototype;n[t]||(n[t]=lb)}return e.prototype.map=function(e){return this._results.map(e)},e.prototype.filter=function(e){return this._results.filter(e)},e.prototype.find=function(e){return this._results.find(e)},e.prototype.reduce=function(e,t){return this._results.reduce(e,t)},e.prototype.forEach=function(e){this._results.forEach(e)},e.prototype.some=function(e){return this._results.some(e)},e.prototype.toArray=function(){return this._results.slice()},e.prototype.toString=function(){return this._results.toString()},e.prototype.reset=function(e){this._results=Ye(e),this.dirty=!1,this.length=this._results.length,this.last=this._results[this.length-1],this.first=this._results[0]},e.prototype.notifyOnChanges=function(){this.changes.emit(this)},e.prototype.setDirty=function(){this.dirty=!0},e.prototype.destroy=function(){this.changes.complete(),this.changes.unsubscribe()},e}(),ub=function(){function e(e){this.queryList=e,this.matches=null}return e.prototype.clone=function(){return new e(this.queryList)},e.prototype.setDirty=function(){this.queryList.setDirty()},e}(),db=function(){function e(e){void 0===e&&(e=[]),this.queries=e}return e.prototype.createEmbeddedView=function(t){var n=t.queries;if(null!==n){for(var r=null!==t.contentQueries?t.contentQueries[0]:n.length,i=[],a=0;a0)i.push(s[l/2]);else{var u=o[l+1],d=n[-c];ngDevMode&&ln(d);for(var h=Yt;h=0;e--){var t=Pb[e],n=t.moduleType,r=t.ngModule;r.declarations&&r.declarations.every(qb)&&(Pb.splice(e,1),Qb(n,r))}}finally{Rb=!1}}}function qb(e){return Array.isArray(e)?e.every(qb):!!U(e)}function Lb(e,t){void 0===t&&(t={}),Bb(e,t),function(e,t){Pb.push({moduleType:e,ngModule:t})}(e,t)}function Bb(e,t,n){void 0===n&&(n=!1),ngDevMode&&We(e,"Required value moduleType"),ngDevMode&&We(t,"Required value ngModule");var r=Ye(t.declarations||Nb),i=null;Object.defineProperty(e,ne,{configurable:!0,get:function(){if(null===i){if(ngDevMode&&t.imports&&t.imports.indexOf(e)>-1)throw new Error("'"+Hr(e)+"' module can't import itself");(i=J().compileNgModule(zb,"ng:///"+e.name+"/ɵmod.js",{type:e,bootstrap:Ye(t.bootstrap||Nb).map(U),declarations:r.map(U),imports:Ye(t.imports||Nb).map(U).map(Zb),exports:Ye(t.exports||Nb).map(U).map(Zb),schemas:t.schemas?Ye(t.schemas):null,id:t.id||null})).schemas||(i.schemas=[])}return i}});var a=null;Object.defineProperty(e,P,{get:function(){if(null===a){ngDevMode&&Fb(e,n);var r={name:e.name,type:e,deps:$l(e),providers:t.providers||Nb,imports:[(t.imports||Nb).map(U),(t.exports||Nb).map(U)]};a=J().compileInjector(zb,"ng:///"+e.name+"/ɵinj.js",r)}return a},configurable:!!ngDevMode})}function Fb(e,t,n){if(!Wb.get(e)){var i;if(Wb.set(e,!0),e=U(e),n){if(!(i=jt(e)))throw new Error("Unexpected value '"+e.name+"' imported by the module '"+n.name+"'. Please add an @NgModule annotation.")}else i=jt(e,!0);var a=[],o=Yr(i.declarations),s=Yr(i.imports);Ye(s).map(Vb).forEach(function(t){h(t,e),Fb(t,!1,e)});var l=Yr(i.exports);o.forEach(function(t){vt(t=U(t))||kt(t)||wt(t)||a.push("Unexpected value '"+Hr(t)+"' declared by the module '"+Hr(e)+"'. Please add a @Pipe/@Directive/@Component annotation.")}),o.forEach(function(e){var t=kt(e=U(e));!vt(e)&&t&&0==t.selectors.length&&a.push("Directive "+Hr(e)+" has no selector, please add it!")});var c=Object(r.g)(o.map(U),Ye(s.map(Gb)).map(U));l.forEach(function(t){var n=(vt(t=U(t))?"component":kt(t)&&"directive")||wt(t)&&"pipe";n&&-1===c.lastIndexOf(t)&&a.push("Can't export "+n+" "+Hr(t)+" from "+Hr(e)+" as it was neither declared nor imported!")}),o.forEach(function(n){return function(t,n){t=U(t);var r=Hb.get(t);if(r&&r!==e){if(!n){var i=[r,e].map(Hr).sort();a.push("Type "+Hr(t)+" is part of the declarations of 2 modules: "+i[0]+" and "+i[1]+"! Please consider moving "+Hr(t)+" to a higher module that imports "+i[0]+" and "+i[1]+". You can also create a new NgModule that exports and includes "+Hr(t)+" then import that NgModule in "+i[0]+" and "+i[1]+".")}}else Hb.set(t,e)}(n,t)}),o.forEach(function(e){if(vt(e=U(e))){var t=Ub(e,"Component");t&&t.entryComponents&&Ze(t.entryComponents,d)}});var u=Ub(e,"NgModule");if(u&&(u.imports&&Ye(u.imports).map(Vb).forEach(function(t){h(t,e),Fb(t,!1,e)}),u.bootstrap&&Ze(u.bootstrap,function(e){vt(e=U(e))||a.push(Hr(e)+" cannot be used as an entry component.")}),u.bootstrap&&Ze(u.bootstrap,d),u.entryComponents&&Ze(u.entryComponents,d)),a.length)throw new Error(a.join("\n"))}function d(e){e=U(e),Hb.get(e)||a.push("Component "+Hr(e)+" is not part of any NgModule or the module has not been imported into your module.")}function h(e,t){if(vt(e=U(e))||kt(e))throw new Error("Unexpected directive '"+e.name+"' imported by the module '"+t.name+"'. Please add an @NgModule annotation.");if(wt(e))throw new Error("Unexpected pipe '"+e.name+"' imported by the module '"+t.name+"'. Please add an @NgModule annotation.")}}function Vb(e){return(e=U(e)).ngModule||e}function Ub(e,t){var n=null;return r(e.__annotations__),r(e.decorators),n;function r(e){e&&e.forEach(i)}function i(e){if(!n)if(Object.getPrototypeOf(e).ngMetadataName==t)n=e;else if(e.type){Object.getPrototypeOf(e.type).ngMetadataName==t&&(n=e.args[0])}}}var Hb=new Map,Wb=new Map;function Kb(){Hb=new Map,Wb=new Map,Pb.length=0}function Gb(e){var t=jt(e=U(e),!0);return Object(r.g)(Ye(Yr(t.exports).map(function(e){return jt(e)?(Fb(e,!1),Gb(e)):e})))}function Qb(e,t){var n=Ye(t.declarations||Nb),r=Yb(e);n.forEach(function(t){t.hasOwnProperty(X)?$b(vt(t),r):t.hasOwnProperty(ee)||t.hasOwnProperty(te)||(t.ngSelectorScope=e)})}function $b(e,t){e.directiveDefs=function(){return Array.from(t.compilation.directives).map(function(e){return e.hasOwnProperty(X)?vt(e):kt(e)}).filter(function(e){return!!e})},e.pipeDefs=function(){return Array.from(t.compilation.pipes).map(function(e){return wt(e)})},e.schemas=t.schemas,e.tView=null}function Yb(e){if(!Jb(e))throw new Error(e.name+" does not have a module def (ɵmod property)");var t=jt(e);if(null!==t.transitiveCompileScopes)return t.transitiveCompileScopes;var n={schemas:t.schemas||null,compilation:{directives:new Set,pipes:new Set},exported:{directives:new Set,pipes:new Set}};return Yr(t.imports).forEach(function(e){var t=e;if(!Jb(t))throw new Error("Importing "+t.name+" which does not have a ɵmod property");var r=Yb(t);r.exported.directives.forEach(function(e){return n.compilation.directives.add(e)}),r.exported.pipes.forEach(function(e){return n.compilation.pipes.add(e)})}),Yr(t.declarations).forEach(function(e){wt(e)?n.compilation.pipes.add(e):n.compilation.directives.add(e)}),Yr(t.exports).forEach(function(e){var t=e;if(Jb(t)){var r=Yb(t);r.exported.directives.forEach(function(e){n.compilation.directives.add(e),n.exported.directives.add(e)}),r.exported.pipes.forEach(function(e){n.compilation.pipes.add(e),n.exported.pipes.add(e)})}else wt(t)?n.exported.pipes.add(t):n.exported.directives.add(t)}),t.transitiveCompileScopes=n,n}function Zb(e){return function(e){return void 0!==e.ngModule}(e)?e.ngModule:e}function Jb(e){return!!jt(e)} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function Xb(e,t){("undefined"==typeof ngDevMode||ngDevMode)&&oe();var n=null;!function(e,t){au(t)&&(ru.set(e,t),iu.add(e))}(e,t),nv(e,t),Object.defineProperty(e,X,{get:function(){if(null===n){var i=J();if(au(t)){var a=["Component '"+e.name+"' is not resolved:"];throw t.templateUrl&&a.push(" - templateUrl: "+t.templateUrl),t.styleUrls&&t.styleUrls.length&&a.push(" - styleUrls: "+JSON.stringify(t.styleUrls)),a.push("Did you run and wait for 'resolveComponentResources()'?"),new Error(a.join("\n"))}var o=Db,s=t.preserveWhitespaces;void 0===s&&(s=null!==o&&void 0!==o.preserveWhitespaces&&o.preserveWhitespaces);var l=t.encapsulation;void 0===l&&(l=null!==o&&void 0!==o.defaultEncapsulation?o.defaultEncapsulation:De.Emulated);var c=t.templateUrl||"ng:///"+e.name+"/template.html",u=Object(r.a)(Object(r.a)({},iv(e,t)),{typeSourceSpan:i.createParseSourceSpan("Component",e.name,c),template:t.template||"",preserveWhitespaces:s,styles:t.styles||st,animations:t.animations,directives:[],changeDetection:t.changeDetection,pipes:new Map,encapsulation:l,interpolation:t.interpolation,viewProviders:t.viewProviders||null});if(u.usesInheritance&&av(e),n=i.compileComponent(zb,c,u),Mb(),void 0!==e.ngSelectorScope){var d=Yb(e.ngSelectorScope);$b(n,d)}}return n},configurable:!!ngDevMode})}function ev(e,t){var n=null;nv(e,t||{}),Object.defineProperty(e,ee,{get:function(){if(null===n){var r=tv(e,t||{});n=J().compileDirective(zb,r.sourceMapUrl,r.metadata)}return n},configurable:!!ngDevMode})}function tv(e,t){var n=e&&e.name,r="ng:///"+n+"/ɵdir.js",i=J(),a=iv(e,t);return a.typeSourceSpan=i.createParseSourceSpan("Directive",n,r),a.usesInheritance&&av(e),{metadata:a,sourceMapUrl:r}}function nv(e,t){var n=null;Object.defineProperty(e,ie,{get:function(){if(null===n){var i=tv(e,t),a=J();n=a.compileFactory(zb,"ng:///"+e.name+"/ɵfac.js",Object(r.a)(Object(r.a)({},i.metadata),{injectFn:"directiveInject",target:a.R3FactoryTarget.Directive}))}return n},configurable:!!ngDevMode})}function rv(e){return Object.getPrototypeOf(e.prototype)===Object.prototype}function iv(e,t){var n,r=Ql(),i=r.ownPropMetadata(e);return{name:e.name,type:e,typeArgumentCount:0,selector:void 0!==t.selector?t.selector:null,deps:$l(e),host:t.host||ot,propMetadata:i,inputs:t.inputs||st,outputs:t.outputs||st,queries:ov(e,i,sv),lifecycle:{usesOnChanges:r.hasLifecycleHook(e,"ngOnChanges")},typeSourceSpan:null,usesInheritance:!rv(e),exportAs:(n=t.exportAs,void 0===n?null:uv(n)),providers:t.providers||null,viewQueries:ov(e,i,lv)}}function av(e){for(var t=Object.prototype,n=Object.getPrototypeOf(e.prototype).constructor;n&&n!==t;)kt(n)||vt(n)||!hv(n)||ev(n,null),n=Object.getPrototypeOf(n)}function ov(e,t,n){var r=[],i=function(i){if(t.hasOwnProperty(i)){var a=t[i];a.forEach(function(t){if(n(t)){if(!t.selector)throw new Error("Can't construct a query for the property \""+i+'" of "'+Hr(e)+"\" since the query selector wasn't defined.");if(a.some(cv))throw new Error("Cannot combine @Input decorators with query decorators");r.push(function(e,t){return{propertyName:e,predicate:(n=t.selector,"string"==typeof n?uv(n):U(n)),descendants:t.descendants,first:t.first,read:t.read?t.read:null,static:!!t.static};var n}(i,t))}})}};for(var a in t)i(a);return r}function sv(e){var t=e.ngMetadataName;return"ContentChild"===t||"ContentChildren"===t}function lv(e){var t=e.ngMetadataName;return"ViewChild"===t||"ViewChildren"===t}function cv(e){return"Input"===e.ngMetadataName}function uv(e){return e.split(",").map(function(e){return e.trim()})}var dv=["ngOnChanges","ngOnInit","ngOnDestroy","ngDoCheck","ngAfterViewInit","ngAfterViewChecked","ngAfterContentInit","ngAfterContentChecked"];function hv(e){var t=Ql();if(dv.some(function(n){return t.hasLifecycleHook(e,n)}))return!0;var n=t.propMetadata(e);for(var r in n)for(var i=n[r],a=0;a0&&(i=setTimeout(function(){r._callbacks=r._callbacks.filter(function(e){return e.timeoutId!==i}),e(r._didWork,r.getPendingTasks())},t)),this._callbacks.push({doneCb:e,timeoutId:i,updateCb:n})},e.prototype.whenStable=function(e,t,n){if(n&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/dist/task-tracking.js" loaded?');this.addCallback(e,t,n),this._runCallbacksIfReady()},e.prototype.getPendingRequestCount=function(){return this._pendingCount},e.prototype.findProviders=function(e,t,n){return[]},(e=Object(r.b)([Object(r.d)("design:paramtypes",[ck])],e)).ɵfac=function(t){return new(t||e)(we(ck))},e.ɵprov=T({token:e,factory:function(t){return e.ɵfac(t)}}),e}(),bk=function(){function e(){this._applications=new Map,wk.addToWindow(this)}return e.prototype.registerApplication=function(e,t){this._applications.set(e,t)},e.prototype.unregisterApplication=function(e){this._applications.delete(e)},e.prototype.unregisterAllApplications=function(){this._applications.clear()},e.prototype.getTestability=function(e){return this._applications.get(e)||null},e.prototype.getAllTestabilities=function(){return Array.from(this._applications.values())},e.prototype.getAllRootElements=function(){return Array.from(this._applications.keys())},e.prototype.findTestabilityInTree=function(e,t){return void 0===t&&(t=!0),wk.findTestabilityInTree(this,e,t)},(e=Object(r.b)([Object(r.d)("design:paramtypes",[])],e)).ɵfac=function(t){return new(t||e)},e.ɵprov=T({token:e,factory:function(t){return e.ɵfac(t)}}),e}(); -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function vk(e){wk=e}var kk,wk=new(function(){function e(){}return e.prototype.addToWindow=function(e){},e.prototype.findTestabilityInTree=function(e,t,n){return null},e}()),_k=jk; -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function jk(e,t,n){var i;ngDevMode&&(void 0===i&&(i="Type passed in is not NgModuleType, it does not have 'ɵmod' property."),jt(n)||Ke(i));var a=e.get(ak,[]).concat(t);("undefined"==typeof ngJitMode||ngJitMode)&&function(e){if(null!==Db){if(e.defaultEncapsulation!==Db.defaultEncapsulation)return void(ngDevMode&&console.error("Provided value for `defaultEncapsulation` can not be changed once it has been set."));if(e.preserveWhitespaces!==Db.preserveWhitespaces)return void(ngDevMode&&console.error("Provided value for `preserveWhitespaces` can not be changed once it has been set."))}Db=e}({defaultEncapsulation:qk(a.map(function(e){return e.defaultEncapsulation})),preserveWhitespaces:qk(a.map(function(e){return e.preserveWhitespaces}))});var o=new Ry(n);if(0===ru.size)return Promise.resolve(o);var s,l,c=(s=a.map(function(e){return e.providers}),l=[],s.forEach(function(e){return e&&l.push.apply(l,Object(r.g)(e))}),l);if(0===c.length)return Promise.resolve(o);var u=J(),d=kc.create({providers:c}).get(u.ResourceLoader);return nu(function(e){return Promise.resolve(d.get(e))}).then(function(){return o})}var Ck=function(){ngDevMode&&sp()},Ek=xk;function xk(e){return e.isBoundToModule}var Sk=new le("AllowMultipleToken"),Tk=function(){return function(e,t){this.name=e,this.token=t}}();function Ok(e){if(kk&&!kk.destroyed&&!kk.injector.get(Sk,!1))throw new Error("There can be only one platform. Destroy the previous one to create a new one.");Ck(),kk=e.get(Nk);var t=e.get(qv,null);return t&&t.forEach(function(e){return e()}),kk}function Ik(e,t,n){void 0===n&&(n=[]);var r="Platform: "+t,i=new le(r);return function(t){void 0===t&&(t=[]);var a=Ak();if(!a||a.injector.get(Sk,!1))if(e)e(n.concat(t).concat({provide:i,useValue:!0}));else{var o=n.concat(t).concat({provide:i,useValue:!0},{provide:ic,useValue:"platform"});Ok(kc.create({providers:o,name:r}))}return zk(i)}}function zk(e){var t=Ak();if(!t)throw new Error("No platform exists!");if(!t.injector.get(e,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return t}function Dk(){kk&&!kk.destroyed&&kk.destroy()}function Ak(){return kk&&!kk.destroyed?kk:null}var Nk=function(){function e(e){this._injector=e,this._modules=[],this._destroyListeners=[],this._destroyed=!1}return e.prototype.bootstrapModuleFactory=function(e,t){var n=this,r=function(e,t){var n;n="noop"===e?new gk:("zone.js"===e?void 0:e)||new ck({enableLongStackTrace:Vi(),shouldCoalesceEventChangeDetection:t});return n}(t?t.ngZone:void 0,t&&t.ngZoneEventCoalescing||!1),i=[{provide:ck,useValue:r}];return r.run(function(){var t=kc.create({providers:i,parent:n.injector,name:e.moduleType.name}),a=e.create(t),o=a.injector.get(ji,null);if(!o)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return a.onDestroy(function(){return Mk(n._modules,a)}),r.runOutsideAngular(function(){return r.onError.subscribe({next:function(e){o.handleError(e)}})}),function(e,t,n){try{var r=n();return ad(r)?r.catch(function(n){throw t.runOutsideAngular(function(){return e.handleError(n)}),n}):r}catch(i){throw t.runOutsideAngular(function(){return e.handleError(i)}),i}}(o,r,function(){var e=a.injector.get(Dv);return e.runInitializers(),e.donePromise.then(function(){Qv&&Ty(a.injector.get(Uv,Pg)||Pg);return n._moduleDoBootstrap(a),a})})})},e.prototype.bootstrapModule=function(e,t){var n=this;void 0===t&&(t=[]);var r=Pk({},t);return _k(this.injector,r,e).then(function(e){return n.bootstrapModuleFactory(e,r)})},e.prototype._moduleDoBootstrap=function(e){var t=e.injector.get(Rk);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(function(e){return t.bootstrap(e)});else{if(!e.instance.ngDoBootstrap)throw new Error("The module "+L(e.instance.constructor)+' was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.');e.instance.ngDoBootstrap(t)}this._modules.push(e)},e.prototype.onDestroy=function(e){this._destroyListeners.push(e)},Object.defineProperty(e.prototype,"injector",{get:function(){return this._injector},enumerable:!0,configurable:!0}),e.prototype.destroy=function(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(function(e){return e.destroy()}),this._destroyListeners.forEach(function(e){return e()}),this._destroyed=!0},Object.defineProperty(e.prototype,"destroyed",{get:function(){return this._destroyed},enumerable:!0,configurable:!0}),(e=Object(r.b)([Object(r.d)("design:paramtypes",[kc])],e)).ɵfac=function(t){return new(t||e)(we(kc))},e.ɵprov=T({token:e,factory:function(t){return e.ɵfac(t)}}),e}();function Pk(e,t){return e=Array.isArray(t)?t.reduce(Pk,e):Object(r.a)(Object(r.a)({},e),t)}var Rk=function(){function e(e,t,n,r,i,a){var c=this;this._zone=e,this._console=t,this._injector=n,this._exceptionHandler=r,this._componentFactoryResolver=i,this._initStatus=a,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._enforceNoNewChanges=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._enforceNoNewChanges=Vi(),this._zone.onMicrotaskEmpty.subscribe({next:function(){c._zone.run(function(){c.tick()})}});var u=new o.a(function(e){c._stable=c._zone.isStable&&!c._zone.hasPendingMacrotasks&&!c._zone.hasPendingMicrotasks,c._zone.runOutsideAngular(function(){e.next(c._stable),e.complete()})}),d=new o.a(function(e){var t;c._zone.runOutsideAngular(function(){t=c._zone.onStable.subscribe(function(){ck.assertNotInAngularZone(),lk(function(){c._stable||c._zone.hasPendingMacrotasks||c._zone.hasPendingMicrotasks||(c._stable=!0,e.next(!0))})})});var n=c._zone.onUnstable.subscribe(function(){ck.assertInAngularZone(),c._stable&&(c._stable=!1,c._zone.runOutsideAngular(function(){e.next(!1)}))});return function(){t.unsubscribe(),n.unsubscribe()}});this.isStable=Object(s.a)(u,d.pipe(Object(l.a)()))}return e.prototype.bootstrap=function(e,t){var n,r=this;if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");n=e instanceof qp?e:this._componentFactoryResolver.resolveComponentFactory(e),this.componentTypes.push(n.componentType);var i=Ek(n)?void 0:this._injector.get(Ae),a=t||n.selector,o=n.create(kc.NULL,[],a,i);o.onDestroy(function(){r._unloadComponent(o)});var s=o.injector.get(yk,null);return s&&o.injector.get(bk).registerApplication(o.location.nativeElement,s),this._loadComponent(o),Vi()&&this._console.log("Angular is running in the development mode. Call enableProdMode() to enable the production mode."),o},e.prototype.tick=function(){var e,t,n,i,a=this;if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");try{this._runningTick=!0;try{for(var o=Object(r.h)(this._views),s=o.next();!s.done;s=o.next()){s.value.detectChanges()}}catch(u){e={error:u}}finally{try{s&&!s.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}if(this._enforceNoNewChanges)try{for(var l=Object(r.h)(this._views),c=l.next();!c.done;c=l.next()){c.value.checkNoChanges()}}catch(d){n={error:d}}finally{try{c&&!c.done&&(i=l.return)&&i.call(l)}finally{if(n)throw n.error}}}catch(h){this._zone.runOutsideAngular(function(){return a._exceptionHandler.handleError(h)})}finally{this._runningTick=!1}},e.prototype.attachView=function(e){var t=e;this._views.push(t),t.attachToAppRef(this)},e.prototype.detachView=function(e){var t=e;Mk(this._views,t),t.detachFromAppRef()},e.prototype._loadComponent=function(e){this.attachView(e.hostView),this.tick(),this.components.push(e),this._injector.get(Bv,[]).concat(this._bootstrapListeners).forEach(function(t){return t(e)})},e.prototype._unloadComponent=function(e){this.detachView(e.hostView),Mk(this.components,e)},e.prototype.ngOnDestroy=function(){this._views.slice().forEach(function(e){return e.destroy()})},Object.defineProperty(e.prototype,"viewCount",{get:function(){return this._views.length},enumerable:!0,configurable:!0}),(e=Object(r.b)([Object(r.d)("design:paramtypes",[ck,Vv,kc,ji,Vp,Dv])],e)).ɵfac=function(t){return new(t||e)(we(ck),we(Vv),we(kc),we(ji),we(Vp),we(Dv))},e.ɵprov=T({token:e,factory:function(t){return e.ɵfac(t)}}),e}();function Mk(e,t){var n=e.indexOf(t);n>-1&&e.splice(n,1)}function qk(e){for(var t=e.length-1;t>=0;t--)if(void 0!==e[t])return e[t]} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -var Lk=function(){return function(){}}();function Bk(e){var t=Ny(e);if(!t)throw Uk(e);return t}function Fk(e){var t=Ny(e);if(!t)throw Uk(e);return new Ry(t)}var Vk=Fk;function Uk(e){return new Error("No module with ID "+e+" loaded")} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var Hk=function(){return function(){}}(),Wk={factoryPathPrefix:"",factoryPathSuffix:".ngfactory"},Kk=function(){function e(e,t){this._compiler=e,this._config=t||Wk}return e.prototype.load=function(e){return!Qv&&this._compiler instanceof ik?this.loadFactory(e):this.loadAndCompile(e)},e.prototype.loadAndCompile=function(e){var t=this,i=Object(r.f)(e.split("#"),2),a=i[0],o=i[1];return void 0===o&&(o="default"),n(521)(a).then(function(e){return e[o]}).then(function(e){return Gk(e,a,o)}).then(function(e){return t._compiler.compileModuleAsync(e)})},e.prototype.loadFactory=function(e){var t=Object(r.f)(e.split("#"),2),i=t[0],a=t[1],o="NgFactory";return void 0===a&&(a="default",o=""),n(521)(this._config.factoryPathPrefix+i+this._config.factoryPathSuffix).then(function(e){return e[a+o]}).then(function(e){return Gk(e,i,a)})},(e=Object(r.b)([Object(r.e)(1,k()),Object(r.d)("design:paramtypes",[ik,Hk])],e)).ɵfac=function(t){return new(t||e)(we(ik),we(Hk,8))},e.ɵprov=T({token:e,factory:function(t){return e.ɵfac(t)}}),e}();function Gk(e,t,n){if(!e)throw new Error("Cannot find '"+n+"' in '"+t+"'");return e} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var Qk=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(r.c)(t,e),t}(Pl),$k=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(r.c)(t,e),t}(Qk),Yk=function(){return function(e,t){this.name=e,this.callback=t}}(),Zk=function(){function e(e,t,n){this.listeners=[],this.parent=null,this._debugContext=n,this.nativeNode=e,t&&t instanceof Jk&&t.addChild(this)}return Object.defineProperty(e.prototype,"injector",{get:function(){return this._debugContext.injector},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"componentInstance",{get:function(){return this._debugContext.component},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"context",{get:function(){return this._debugContext.context},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"references",{get:function(){return this._debugContext.references},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"providerTokens",{get:function(){return this._debugContext.providerTokens},enumerable:!0,configurable:!0}),e}(),Jk=function(e){function t(t,n,r){var i=e.call(this,t,n,r)||this;return i.properties={},i.attributes={},i.classes={},i.styles={},i.childNodes=[],i.nativeElement=t,i}return Object(r.c)(t,e),t.prototype.addChild=function(e){e&&(this.childNodes.push(e),e.parent=this)},t.prototype.removeChild=function(e){var t=this.childNodes.indexOf(e);-1!==t&&(e.parent=null,this.childNodes.splice(t,1))},t.prototype.insertChildrenAfter=function(e,t){var n,i=this,a=this.childNodes.indexOf(e);-1!==a&&((n=this.childNodes).splice.apply(n,Object(r.g)([a+1,0],t)),t.forEach(function(t){t.parent&&t.parent.removeChild(t),e.parent=i}))},t.prototype.insertBefore=function(e,t){var n=this.childNodes.indexOf(e);-1===n?this.addChild(t):(t.parent&&t.parent.removeChild(t),t.parent=this,this.childNodes.splice(n,0,t))},t.prototype.query=function(e){return this.queryAll(e)[0]||null},t.prototype.queryAll=function(e){var t=[];return ew(this,e,t),t},t.prototype.queryAllNodes=function(e){var t=[];return tw(this,e,t),t},Object.defineProperty(t.prototype,"children",{get:function(){return this.childNodes.filter(function(e){return e instanceof t})},enumerable:!0,configurable:!0}),t.prototype.triggerEventHandler=function(e,t){this.listeners.forEach(function(n){n.name==e&&n.callback(t)})},t}(Zk);function Xk(e){return e.map(function(e){return e.nativeElement})}function ew(e,t,n){e.childNodes.forEach(function(e){e instanceof Jk&&(t(e)&&n.push(e),ew(e,t,n))})}function tw(e,t,n){e instanceof Jk&&e.childNodes.forEach(function(e){t(e)&&n.push(e),e instanceof Jk&&tw(e,t,n)})}var nw=function(){function e(e){this.nativeNode=e}return Object.defineProperty(e.prototype,"parent",{get:function(){var e=this.nativeNode.parentNode;return e?new rw(e):null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"injector",{get:function(){return Yh(this.nativeNode)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"componentInstance",{get:function(){var e=this.nativeNode;return e&&(Kh(e)||Qh(e))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"context",{get:function(){return Kh(this.nativeNode)||Gh(this.nativeNode)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"listeners",{get:function(){return tp(this.nativeNode).filter(function(e){return"dom"===e.type})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"references",{get:function(){return Xh(this.nativeNode)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"providerTokens",{get:function(){return function(e){var t=Jh(e,!1);if(null===t)return[];for(var n,r=t.lView[Et],i=r.data[t.nodeIndex],a=[],o=65535&i.providerIndexes,s=i.directiveEnd,l=o;l1){for(var u=l[1],d=1;d0)c=m,$w(m)||(u=m);else for(;c&&f===c.nodeIndex+c.childCount;){var v=c.parent;v&&(v.childFlags|=c.childFlags,v.childMatchedQueries|=c.childMatchedQueries),u=(c=v)&&$w(c)?c.renderParent:c}}return{factory:null,nodeFlags:o,rootNodeFlags:s,nodeMatchedQueries:l,flags:e,nodes:t,updateDirectives:n||Mf,updateRenderer:r||Mf,handleEvent:function(e,n,r,i){return t[n].element.handleEvent(e,r,i)},bindingCount:i,outputCount:a,lastRenderRootNode:p}}function $w(e){return 0!=(1&e.flags)&&null===e.element.name}function Yw(e,t,n){var r=t.element&&t.element.template;if(r){if(!r.lastRenderRootNode)throw new Error("Illegal State: Embedded templates without nodes are not allowed!");if(r.lastRenderRootNode&&16777216&r.lastRenderRootNode.flags)throw new Error("Illegal State: Last root node of a template can't have embedded views, at index "+t.nodeIndex+"!")}if(20224&t.flags&&0==(1&(e?e.flags:0)))throw new Error("Illegal State: StaticProvider/Directive nodes need to be children of elements or anchors, at index "+t.nodeIndex+"!");if(t.query){if(67108864&t.flags&&(!e||0==(16384&e.flags)))throw new Error("Illegal State: Content Query nodes need to be children of directives, at index "+t.nodeIndex+"!");if(134217728&t.flags&&e)throw new Error("Illegal State: View Query nodes have to be top level nodes, at index "+t.nodeIndex+"!")}if(t.childCount){var i=e?e.nodeIndex+e.childCount:n-1;if(t.nodeIndex<=i&&t.nodeIndex+t.childCount>i)throw new Error("Illegal State: childCount of node leads outside of parent, at index "+t.nodeIndex+"!")}}function Zw(e,t,n,r){var i=e_(e.root,e.renderer,e,t,n);return t_(i,e.component,r),n_(i),i}function Jw(e,t,n){var r=e_(e,e.renderer,null,null,t);return t_(r,n,n),n_(r),r}function Xw(e,t,n,r){var i,a=t.element.componentRendererType;return i=a?e.root.rendererFactory.createRenderer(r,a):e.root.renderer,e_(e.root,i,e,t.element.componentProvider,n)}function e_(e,t,n,r,i){var a=new Array(i.nodes.length),o=i.outputCount?new Array(i.outputCount):null;return{def:i,parent:n,viewContainerParent:null,parentNodeDef:r,context:null,component:null,nodes:a,state:13,root:e,renderer:t,oldValues:new Array(i.bindingCount),disposables:o,initIndex:-1}}function t_(e,t,n){e.component=t,e.context=n}function n_(e){var t;if(em(e)){var n=e.parentNodeDef;t=zf(e.parent,n.parent.nodeIndex).renderElement}for(var r=e.def,i=e.nodes,a=0;a0&&Aw(e,t,0,n)&&(p=!0),h>1&&Aw(e,t,1,r)&&(p=!0),h>2&&Aw(e,t,2,i)&&(p=!0),h>3&&Aw(e,t,3,a)&&(p=!0),h>4&&Aw(e,t,4,o)&&(p=!0),h>5&&Aw(e,t,5,s)&&(p=!0),h>6&&Aw(e,t,6,l)&&(p=!0),h>7&&Aw(e,t,7,c)&&(p=!0),h>8&&Aw(e,t,8,u)&&(p=!0),h>9&&Aw(e,t,9,d)&&(p=!0),p}(e,t,n,r,i,a,o,s,l,c,u,d);case 2:return function(e,t,n,r,i,a,o,s,l,c,u,d){var h=!1,p=t.bindings,f=p.length;if(f>0&&Kf(e,t,0,n)&&(h=!0),f>1&&Kf(e,t,1,r)&&(h=!0),f>2&&Kf(e,t,2,i)&&(h=!0),f>3&&Kf(e,t,3,a)&&(h=!0),f>4&&Kf(e,t,4,o)&&(h=!0),f>5&&Kf(e,t,5,s)&&(h=!0),f>6&&Kf(e,t,6,l)&&(h=!0),f>7&&Kf(e,t,7,c)&&(h=!0),f>8&&Kf(e,t,8,u)&&(h=!0),f>9&&Kf(e,t,9,d)&&(h=!0),h){var m=t.text.prefix;f>0&&(m+=Gw(n,p[0])),f>1&&(m+=Gw(r,p[1])),f>2&&(m+=Gw(i,p[2])),f>3&&(m+=Gw(a,p[3])),f>4&&(m+=Gw(o,p[4])),f>5&&(m+=Gw(s,p[5])),f>6&&(m+=Gw(l,p[6])),f>7&&(m+=Gw(c,p[7])),f>8&&(m+=Gw(u,p[8])),f>9&&(m+=Gw(d,p[9]));var g=If(e,t.nodeIndex).renderText;e.renderer.setValue(g,m)}return h}(e,t,n,r,i,a,o,s,l,c,u,d);case 16384:return function(e,t,n,r,i,a,o,s,l,c,u,d){var h=Df(e,t.nodeIndex),p=h.instance,f=!1,m=void 0,g=t.bindings.length;return g>0&&Wf(e,t,0,n)&&(f=!0,m=mg(e,h,t,0,n,m)),g>1&&Wf(e,t,1,r)&&(f=!0,m=mg(e,h,t,1,r,m)),g>2&&Wf(e,t,2,i)&&(f=!0,m=mg(e,h,t,2,i,m)),g>3&&Wf(e,t,3,a)&&(f=!0,m=mg(e,h,t,3,a,m)),g>4&&Wf(e,t,4,o)&&(f=!0,m=mg(e,h,t,4,o,m)),g>5&&Wf(e,t,5,s)&&(f=!0,m=mg(e,h,t,5,s,m)),g>6&&Wf(e,t,6,l)&&(f=!0,m=mg(e,h,t,6,l,m)),g>7&&Wf(e,t,7,c)&&(f=!0,m=mg(e,h,t,7,c,m)),g>8&&Wf(e,t,8,u)&&(f=!0,m=mg(e,h,t,8,u,m)),g>9&&Wf(e,t,9,d)&&(f=!0,m=mg(e,h,t,9,d,m)),m&&p.ngOnChanges(m),65536&t.flags&&Of(e,256,t.nodeIndex)&&p.ngOnInit(),262144&t.flags&&p.ngDoCheck(),f}(e,t,n,r,i,a,o,s,l,c,u,d);case 32:case 64:case 128:return function(e,t,n,r,i,a,o,s,l,c,u,d){var h=t.bindings,p=!1,f=h.length;if(f>0&&Kf(e,t,0,n)&&(p=!0),f>1&&Kf(e,t,1,r)&&(p=!0),f>2&&Kf(e,t,2,i)&&(p=!0),f>3&&Kf(e,t,3,a)&&(p=!0),f>4&&Kf(e,t,4,o)&&(p=!0),f>5&&Kf(e,t,5,s)&&(p=!0),f>6&&Kf(e,t,6,l)&&(p=!0),f>7&&Kf(e,t,7,c)&&(p=!0),f>8&&Kf(e,t,8,u)&&(p=!0),f>9&&Kf(e,t,9,d)&&(p=!0),p){var m=Af(e,t.nodeIndex),g=void 0;switch(201347067&t.flags){case 32:g=[],f>0&&g.push(n),f>1&&g.push(r),f>2&&g.push(i),f>3&&g.push(a),f>4&&g.push(o),f>5&&g.push(s),f>6&&g.push(l),f>7&&g.push(c),f>8&&g.push(u),f>9&&g.push(d);break;case 64:g={},f>0&&(g[h[0].name]=n),f>1&&(g[h[1].name]=r),f>2&&(g[h[2].name]=i),f>3&&(g[h[3].name]=a),f>4&&(g[h[4].name]=o),f>5&&(g[h[5].name]=s),f>6&&(g[h[6].name]=l),f>7&&(g[h[7].name]=c),f>8&&(g[h[8].name]=u),f>9&&(g[h[9].name]=d);break;case 128:var y=n;switch(f){case 1:g=y.transform(n);break;case 2:g=y.transform(r);break;case 3:g=y.transform(r,i);break;case 4:g=y.transform(r,i,a);break;case 5:g=y.transform(r,i,a,o);break;case 6:g=y.transform(r,i,a,o,s);break;case 7:g=y.transform(r,i,a,o,s,l);break;case 8:g=y.transform(r,i,a,o,s,l,c);break;case 9:g=y.transform(r,i,a,o,s,l,c,u);break;case 10:g=y.transform(r,i,a,o,s,l,c,u,d)}}m.value=g}return p}(e,t,n,r,i,a,o,s,l,c,u,d);default:throw"unreachable"}}(e,t,i,a,o,s,l,c,u,d,h,p):function(e,t,n){switch(201347067&t.flags){case 1:return function(e,t,n){for(var r=!1,i=0;i0&&Gf(e,t,0,n);h>1&&Gf(e,t,1,r);h>2&&Gf(e,t,2,i);h>3&&Gf(e,t,3,a);h>4&&Gf(e,t,4,o);h>5&&Gf(e,t,5,s);h>6&&Gf(e,t,6,l);h>7&&Gf(e,t,7,c);h>8&&Gf(e,t,8,u);h>9&&Gf(e,t,9,d)}(e,t,r,i,a,o,s,l,c,u,d,h):function(e,t,n){for(var r=0;r0){var a=new Set(e.modules);T_.forEach(function(t,n){if(a.has(z(n).providedIn)){var i={token:n,flags:t.flags|(r?4096:0),deps:im(t.deps),value:t.value,index:e.providers.length};e.providers.push(i),e.providersByKey[Lf(n)]=i}})}}(e=e.factory(function(){return Mf})),e}(r))}var j_,C_,E_,x_,S_=new Map,T_=new Map,O_=new Map;function I_(e){var t;S_.set(e.token,e),"function"==typeof e.token&&(t=z(e.token))&&"function"==typeof t.providedIn&&T_.set(e.token,e)}function z_(e,t){var n=sm(Pm(t)),r=sm(n.nodes[0].element.componentView);O_.set(e,r)}function D_(){S_.clear(),T_.clear(),O_.clear()}function A_(e){if(0===S_.size)return e;var t=function(e){for(var t=[],n=null,r=0;r=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o}function s(e,t){return function(n,r){t(n,r,e)}}function l(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}Object.create;function c(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function u(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,a=n.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)o.push(r.value)}catch(s){i={error:s}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(i)throw i.error}}return o}function d(){for(var e=[],t=0;t0?t.substring(1):t},t.prototype.prepareExternalUrl=function(e){var t=g(this._baseHref,e);return t.length>0?"#"+t:t},t.prototype.pushState=function(e,t,n,r){var i=this.prepareExternalUrl(n+b(r));0==i.length&&(i=this._platformLocation.pathname),this._platformLocation.pushState(e,t,i)},t.prototype.replaceState=function(e,t,n,r){var i=this.prepareExternalUrl(n+b(r));0==i.length&&(i=this._platformLocation.pathname),this._platformLocation.replaceState(e,t,i)},t.prototype.forward=function(){this._platformLocation.forward()},t.prototype.back=function(){this._platformLocation.back()},(t=Object(r.b)([Object(r.e)(1,Object(i.Optional)()),Object(r.e)(1,Object(i.Inject)(w)),Object(r.d)("design:paramtypes",[u,String])],t)).ɵfac=function(e){return new(e||t)(i["ɵɵinject"](u),i["ɵɵinject"](w,8))},t.ɵprov=i["ɵɵdefineInjectable"]({token:t,factory:function(e){return t.ɵfac(e)}}),t}(v),C=function(){function e(e,t){var n=this;this._subject=new i.EventEmitter,this._urlChangeListeners=[],this._platformStrategy=e;var r=this._platformStrategy.getBaseHref();this._platformLocation=t,this._baseHref=y(x(r)),this._platformStrategy.onPopState(function(e){n._subject.emit({url:n.path(!0),pop:!0,state:e.state,type:e.type})})}var t;return t=e,e.prototype.path=function(e){return void 0===e&&(e=!1),this.normalize(this._platformStrategy.path(e))},e.prototype.getState=function(){return this._platformLocation.getState()},e.prototype.isCurrentPathEqualTo=function(e,t){return void 0===t&&(t=""),this.path()==this.normalize(e+b(t))},e.prototype.normalize=function(e){return t.stripTrailingSlash(function(e,t){return e&&t.startsWith(e)?t.substring(e.length):t}(this._baseHref,x(e)))},e.prototype.prepareExternalUrl=function(e){return e&&"/"!==e[0]&&(e="/"+e),this._platformStrategy.prepareExternalUrl(e)},e.prototype.go=function(e,t,n){void 0===t&&(t=""),void 0===n&&(n=null),this._platformStrategy.pushState(n,"",e,t),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+b(t)),n)},e.prototype.replaceState=function(e,t,n){void 0===t&&(t=""),void 0===n&&(n=null),this._platformStrategy.replaceState(n,"",e,t),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+b(t)),n)},e.prototype.forward=function(){this._platformStrategy.forward()},e.prototype.back=function(){this._platformStrategy.back()},e.prototype.onUrlChange=function(e){var t=this;this._urlChangeListeners.push(e),this.subscribe(function(e){t._notifyUrlChangeListeners(e.url,e.state)})},e.prototype._notifyUrlChangeListeners=function(e,t){void 0===e&&(e=""),this._urlChangeListeners.forEach(function(n){return n(e,t)})},e.prototype.subscribe=function(e,t,n){return this._subject.subscribe({next:e,error:t,complete:n})},e.normalizeQueryParams=b,e.joinWithSlash=g,e.stripTrailingSlash=y,e.ɵprov=Object(i["ɵɵdefineInjectable"])({factory:E,token:e,providedIn:"root"}),(e=t=Object(r.b)([Object(r.d)("design:paramtypes",[v,u])],e)).ɵfac=function(t){return new(t||e)(i["ɵɵinject"](v),i["ɵɵinject"](u))},e}();function E(){return new C(Object(i["ɵɵinject"])(v),Object(i["ɵɵinject"])(u))}function x(e){return e.replace(/\/index.html$/,"")} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var S,T,O,I,z,D,A,N={ADP:[void 0,void 0,0],AFN:[void 0,void 0,0],ALL:[void 0,void 0,0],AMD:[void 0,void 0,2],AOA:[void 0,"Kz"],ARS:[void 0,"$"],AUD:["A$","$"],BAM:[void 0,"KM"],BBD:[void 0,"$"],BDT:[void 0,"৳"],BHD:[void 0,void 0,3],BIF:[void 0,void 0,0],BMD:[void 0,"$"],BND:[void 0,"$"],BOB:[void 0,"Bs"],BRL:["R$"],BSD:[void 0,"$"],BWP:[void 0,"P"],BYN:[void 0,"р.",2],BYR:[void 0,void 0,0],BZD:[void 0,"$"],CAD:["CA$","$",2],CHF:[void 0,void 0,2],CLF:[void 0,void 0,4],CLP:[void 0,"$",0],CNY:["CN¥","¥"],COP:[void 0,"$",2],CRC:[void 0,"₡",2],CUC:[void 0,"$"],CUP:[void 0,"$"],CZK:[void 0,"Kč",2],DJF:[void 0,void 0,0],DKK:[void 0,"kr",2],DOP:[void 0,"$"],EGP:[void 0,"E£"],ESP:[void 0,"₧",0],EUR:["€"],FJD:[void 0,"$"],FKP:[void 0,"£"],GBP:["£"],GEL:[void 0,"₾"],GIP:[void 0,"£"],GNF:[void 0,"FG",0],GTQ:[void 0,"Q"],GYD:[void 0,"$",2],HKD:["HK$","$"],HNL:[void 0,"L"],HRK:[void 0,"kn"],HUF:[void 0,"Ft",2],IDR:[void 0,"Rp",2],ILS:["₪"],INR:["₹"],IQD:[void 0,void 0,0],IRR:[void 0,void 0,0],ISK:[void 0,"kr",0],ITL:[void 0,void 0,0],JMD:[void 0,"$"],JOD:[void 0,void 0,3],JPY:["¥",void 0,0],KHR:[void 0,"៛"],KMF:[void 0,"CF",0],KPW:[void 0,"₩",0],KRW:["₩",void 0,0],KWD:[void 0,void 0,3],KYD:[void 0,"$"],KZT:[void 0,"₸"],LAK:[void 0,"₭",0],LBP:[void 0,"L£",0],LKR:[void 0,"Rs"],LRD:[void 0,"$"],LTL:[void 0,"Lt"],LUF:[void 0,void 0,0],LVL:[void 0,"Ls"],LYD:[void 0,void 0,3],MGA:[void 0,"Ar",0],MGF:[void 0,void 0,0],MMK:[void 0,"K",0],MNT:[void 0,"₮",2],MRO:[void 0,void 0,0],MUR:[void 0,"Rs",2],MXN:["MX$","$"],MYR:[void 0,"RM"],NAD:[void 0,"$"],NGN:[void 0,"₦"],NIO:[void 0,"C$"],NOK:[void 0,"kr",2],NPR:[void 0,"Rs"],NZD:["NZ$","$"],OMR:[void 0,void 0,3],PHP:[void 0,"₱"],PKR:[void 0,"Rs",2],PLN:[void 0,"zł"],PYG:[void 0,"₲",0],RON:[void 0,"lei"],RSD:[void 0,void 0,0],RUB:[void 0,"₽"],RUR:[void 0,"р."],RWF:[void 0,"RF",0],SBD:[void 0,"$"],SEK:[void 0,"kr",2],SGD:[void 0,"$"],SHP:[void 0,"£"],SLL:[void 0,void 0,0],SOS:[void 0,void 0,0],SRD:[void 0,"$"],SSP:[void 0,"£"],STD:[void 0,void 0,0],STN:[void 0,"Db"],SYP:[void 0,"£",0],THB:[void 0,"฿"],TMM:[void 0,void 0,0],TND:[void 0,void 0,3],TOP:[void 0,"T$"],TRL:[void 0,void 0,0],TRY:[void 0,"₺"],TTD:[void 0,"$"],TWD:["NT$","$",2],TZS:[void 0,void 0,2],UAH:[void 0,"₴"],UGX:[void 0,void 0,0],USD:["$"],UYI:[void 0,void 0,0],UYU:[void 0,"$"],UYW:[void 0,void 0,4],UZS:[void 0,void 0,2],VEF:[void 0,"Bs",2],VND:["₫",void 0,0],VUV:[void 0,void 0,0],XAF:["FCFA",void 0,0],XCD:["EC$","$"],XOF:["CFA",void 0,0],XPF:["CFPF",void 0,0],XXX:["¤"],YER:[void 0,void 0,0],ZAR:[void 0,"R"],ZMK:[void 0,void 0,0],ZMW:[void 0,"ZK"],ZWD:[void 0,void 0,0]}; -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function P(e){return Object(i["ɵfindLocaleData"])(e)[i["ɵLocaleDataIndex"].LocaleId]}function R(e,t,n){var r=Object(i["ɵfindLocaleData"])(e),a=te([r[i["ɵLocaleDataIndex"].DayPeriodsFormat],r[i["ɵLocaleDataIndex"].DayPeriodsStandalone]],t);return te(a,n)}function M(e,t,n){var r=Object(i["ɵfindLocaleData"])(e),a=te([r[i["ɵLocaleDataIndex"].DaysFormat],r[i["ɵLocaleDataIndex"].DaysStandalone]],t);return te(a,n)}function q(e,t,n){var r=Object(i["ɵfindLocaleData"])(e),a=te([r[i["ɵLocaleDataIndex"].MonthsFormat],r[i["ɵLocaleDataIndex"].MonthsStandalone]],t);return te(a,n)}function L(e,t){return te(Object(i["ɵfindLocaleData"])(e)[i["ɵLocaleDataIndex"].Eras],t)}function B(e){return Object(i["ɵfindLocaleData"])(e)[i["ɵLocaleDataIndex"].FirstDayOfWeek]}function F(e){return Object(i["ɵfindLocaleData"])(e)[i["ɵLocaleDataIndex"].WeekendRange]}function V(e,t){return te(Object(i["ɵfindLocaleData"])(e)[i["ɵLocaleDataIndex"].DateFormat],t)}function U(e,t){return te(Object(i["ɵfindLocaleData"])(e)[i["ɵLocaleDataIndex"].TimeFormat],t)}function H(e,t){return te(Object(i["ɵfindLocaleData"])(e)[i["ɵLocaleDataIndex"].DateTimeFormat],t)}function W(e,t){var n=Object(i["ɵfindLocaleData"])(e),r=n[i["ɵLocaleDataIndex"].NumberSymbols][t];if(void 0===r){if(t===D.CurrencyDecimal)return n[i["ɵLocaleDataIndex"].NumberSymbols][D.Decimal];if(t===D.CurrencyGroup)return n[i["ɵLocaleDataIndex"].NumberSymbols][D.Group]}return r}function K(e,t){return Object(i["ɵfindLocaleData"])(e)[i["ɵLocaleDataIndex"].NumberFormats][t]}function G(e){return Object(i["ɵfindLocaleData"])(e)[i["ɵLocaleDataIndex"].CurrencySymbol]||null}function Q(e){return Object(i["ɵfindLocaleData"])(e)[i["ɵLocaleDataIndex"].CurrencyName]||null}function $(e){return Object(i["ɵgetLocaleCurrencyCode"])(e)}!function(e){e[e.Decimal=0]="Decimal",e[e.Percent=1]="Percent",e[e.Currency=2]="Currency",e[e.Scientific=3]="Scientific"}(S||(S={})),function(e){e[e.Zero=0]="Zero",e[e.One=1]="One",e[e.Two=2]="Two",e[e.Few=3]="Few",e[e.Many=4]="Many",e[e.Other=5]="Other"}(T||(T={})),function(e){e[e.Format=0]="Format",e[e.Standalone=1]="Standalone"}(O||(O={})),function(e){e[e.Narrow=0]="Narrow",e[e.Abbreviated=1]="Abbreviated",e[e.Wide=2]="Wide",e[e.Short=3]="Short"}(I||(I={})),function(e){e[e.Short=0]="Short",e[e.Medium=1]="Medium",e[e.Long=2]="Long",e[e.Full=3]="Full"}(z||(z={})),function(e){e[e.Decimal=0]="Decimal",e[e.Group=1]="Group",e[e.List=2]="List",e[e.PercentSign=3]="PercentSign",e[e.PlusSign=4]="PlusSign",e[e.MinusSign=5]="MinusSign",e[e.Exponential=6]="Exponential",e[e.SuperscriptingExponent=7]="SuperscriptingExponent",e[e.PerMille=8]="PerMille",e[e[1/0]=9]="Infinity",e[e.NaN=10]="NaN",e[e.TimeSeparator=11]="TimeSeparator",e[e.CurrencyDecimal=12]="CurrencyDecimal",e[e.CurrencyGroup=13]="CurrencyGroup"}(D||(D={})),function(e){e[e.Sunday=0]="Sunday",e[e.Monday=1]="Monday",e[e.Tuesday=2]="Tuesday",e[e.Wednesday=3]="Wednesday",e[e.Thursday=4]="Thursday",e[e.Friday=5]="Friday",e[e.Saturday=6]="Saturday"}(A||(A={}));var Y=i["ɵgetLocalePluralCase"];function Z(e){if(!e[i["ɵLocaleDataIndex"].ExtraData])throw new Error('Missing extra locale data for the locale "'+e[i["ɵLocaleDataIndex"].LocaleId]+'". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.')}function J(e){var t=Object(i["ɵfindLocaleData"])(e);return Z(t),(t[i["ɵLocaleDataIndex"].ExtraData][2]||[]).map(function(e){return"string"==typeof e?ne(e):[ne(e[0]),ne(e[1])]})}function X(e,t,n){var r=Object(i["ɵfindLocaleData"])(e);Z(r);var a=te([r[i["ɵLocaleDataIndex"].ExtraData][0],r[i["ɵLocaleDataIndex"].ExtraData][1]],t)||[];return te(a,n)||[]}function ee(e){return Object(i["ɵfindLocaleData"])(e)[i["ɵLocaleDataIndex"].Directionality]}function te(e,t){for(var n=t;n>-1;n--)if(void 0!==e[n])return e[n];throw new Error("Locale data API: locale data undefined")}function ne(e){var t=Object(r.f)(e.split(":"),2);return{hours:+t[0],minutes:+t[1]}}function re(e,t,n){void 0===n&&(n="en");var r=function(e){return Object(i["ɵfindLocaleData"])(e)[i["ɵLocaleDataIndex"].Currencies]}(n)[e]||N[e]||[],a=r[1];return"narrow"===t&&"string"==typeof a?a:r[0]||e}var ie=2;function ae(e){var t,n=N[e];return n&&(t=n[2]),"number"==typeof t?t:ie} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var oe,se,le,ce=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,ue={},de=/((?:[^GyMLwWdEabBhHmsSzZO']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\s\S]*)/;function he(e,t,n,i){var a=function(e){if(je(e))return e;if("number"==typeof e&&!isNaN(e))return new Date(e);if("string"==typeof e){e=e.trim();var t=parseFloat(e);if(!isNaN(e-t))return new Date(t);if(/^(\d{4}-\d{1,2}-\d{1,2})$/.test(e)){var n=Object(r.f)(e.split("-").map(function(e){return+e}),3),i=n[0],a=n[1],o=n[2];return new Date(i,a-1,o)}var s=void 0;if(s=e.match(ce))return function(e){var t=new Date(0),n=0,r=0,i=e[8]?t.setUTCFullYear:t.setFullYear,a=e[8]?t.setUTCHours:t.setHours;e[9]&&(n=Number(e[9]+e[10]),r=Number(e[9]+e[11]));i.call(t,Number(e[1]),Number(e[2])-1,Number(e[3]));var o=Number(e[4]||0)-n,s=Number(e[5]||0)-r,l=Number(e[6]||0),c=Math.round(1e3*parseFloat("0."+(e[7]||0)));return a.call(t,o,s,l,c),t}(s)}var l=new Date(e);if(!je(l))throw new Error('Unable to convert "'+e+'" into a date');return l}(e);t=function e(t,n){var r=P(t);ue[r]=ue[r]||{};if(ue[r][n])return ue[r][n];var i="";switch(n){case"shortDate":i=V(t,z.Short);break;case"mediumDate":i=V(t,z.Medium);break;case"longDate":i=V(t,z.Long);break;case"fullDate":i=V(t,z.Full);break;case"shortTime":i=U(t,z.Short);break;case"mediumTime":i=U(t,z.Medium);break;case"longTime":i=U(t,z.Long);break;case"fullTime":i=U(t,z.Full);break;case"short":var a=e(t,"shortTime"),o=e(t,"shortDate");i=pe(H(t,z.Short),[a,o]);break;case"medium":var s=e(t,"mediumTime"),l=e(t,"mediumDate");i=pe(H(t,z.Medium),[s,l]);break;case"long":var c=e(t,"longTime"),u=e(t,"longDate");i=pe(H(t,z.Long),[c,u]);break;case"full":var d=e(t,"fullTime"),h=e(t,"fullDate");i=pe(H(t,z.Full),[d,h])}i&&(ue[r][n]=i);return i}(n,t)||t;for(var o,s=[];t;){if(!(o=de.exec(t))){s.push(t);break}var l=(s=s.concat(o.slice(1))).pop();if(!l)break;t=l}var c=a.getTimezoneOffset();i&&(c=_e(i,c),a=function(e,t,n){var r=n?-1:1,i=e.getTimezoneOffset(),a=_e(t,i);return function(e,t){return(e=new Date(e.getTime())).setMinutes(e.getMinutes()+t),e}(e,r*(a-i))}(a,i,!0));var u="";return s.forEach(function(e){var t=function(e){if(we[e])return we[e];var t;switch(e){case"G":case"GG":case"GGG":t=ge(le.Eras,I.Abbreviated);break;case"GGGG":t=ge(le.Eras,I.Wide);break;case"GGGGG":t=ge(le.Eras,I.Narrow);break;case"y":t=me(se.FullYear,1,0,!1,!0);break;case"yy":t=me(se.FullYear,2,0,!0,!0);break;case"yyy":t=me(se.FullYear,3,0,!1,!0);break;case"yyyy":t=me(se.FullYear,4,0,!1,!0);break;case"M":case"L":t=me(se.Month,1,1);break;case"MM":case"LL":t=me(se.Month,2,1);break;case"MMM":t=ge(le.Months,I.Abbreviated);break;case"MMMM":t=ge(le.Months,I.Wide);break;case"MMMMM":t=ge(le.Months,I.Narrow);break;case"LLL":t=ge(le.Months,I.Abbreviated,O.Standalone);break;case"LLLL":t=ge(le.Months,I.Wide,O.Standalone);break;case"LLLLL":t=ge(le.Months,I.Narrow,O.Standalone);break;case"w":t=ke(1);break;case"ww":t=ke(2);break;case"W":t=ke(1,!0);break;case"d":t=me(se.Date,1);break;case"dd":t=me(se.Date,2);break;case"E":case"EE":case"EEE":t=ge(le.Days,I.Abbreviated);break;case"EEEE":t=ge(le.Days,I.Wide);break;case"EEEEE":t=ge(le.Days,I.Narrow);break;case"EEEEEE":t=ge(le.Days,I.Short);break;case"a":case"aa":case"aaa":t=ge(le.DayPeriods,I.Abbreviated);break;case"aaaa":t=ge(le.DayPeriods,I.Wide);break;case"aaaaa":t=ge(le.DayPeriods,I.Narrow);break;case"b":case"bb":case"bbb":t=ge(le.DayPeriods,I.Abbreviated,O.Standalone,!0);break;case"bbbb":t=ge(le.DayPeriods,I.Wide,O.Standalone,!0);break;case"bbbbb":t=ge(le.DayPeriods,I.Narrow,O.Standalone,!0);break;case"B":case"BB":case"BBB":t=ge(le.DayPeriods,I.Abbreviated,O.Format,!0);break;case"BBBB":t=ge(le.DayPeriods,I.Wide,O.Format,!0);break;case"BBBBB":t=ge(le.DayPeriods,I.Narrow,O.Format,!0);break;case"h":t=me(se.Hours,1,-12);break;case"hh":t=me(se.Hours,2,-12);break;case"H":t=me(se.Hours,1);break;case"HH":t=me(se.Hours,2);break;case"m":t=me(se.Minutes,1);break;case"mm":t=me(se.Minutes,2);break;case"s":t=me(se.Seconds,1);break;case"ss":t=me(se.Seconds,2);break;case"S":t=me(se.FractionalSeconds,1);break;case"SS":t=me(se.FractionalSeconds,2);break;case"SSS":t=me(se.FractionalSeconds,3);break;case"Z":case"ZZ":case"ZZZ":t=ye(oe.Short);break;case"ZZZZZ":t=ye(oe.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":t=ye(oe.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":t=ye(oe.Long);break;default:return null}return we[e]=t,t}(e);u+=t?t(a,n,c):"''"===e?"'":e.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),u}function pe(e,t){return t&&(e=e.replace(/\{([^}]+)}/g,function(e,n){return null!=t&&n in t?t[n]:e})),e}function fe(e,t,n,r,i){void 0===n&&(n="-");var a="";(e<0||i&&e<=0)&&(i?e=1-e:(e=-e,a=n));for(var o=String(e);o.length0||l>-n)&&(l+=n),e===se.Hours)0===l&&-12===n&&(l=12);else if(e===se.FractionalSeconds)return s=t,fe(l,3).substr(0,s);var c=W(o,D.MinusSign);return fe(l,t,c,r,i)}}function ge(e,t,n,r){return void 0===n&&(n=O.Format),void 0===r&&(r=!1),function(i,a){return function(e,t,n,r,i,a){switch(n){case le.Months:return q(t,i,r)[e.getMonth()];case le.Days:return M(t,i,r)[e.getDay()];case le.DayPeriods:var o=e.getHours(),s=e.getMinutes();if(a){var l,c=J(t),u=X(t,i,r);if(c.forEach(function(e,t){if(Array.isArray(e)){var n=e[0],r=n.hours,i=n.minutes,a=e[1],c=a.hours,d=a.minutes;o>=r&&s>=i&&(o0?Math.floor(i/60):Math.ceil(i/60);switch(e){case oe.Short:return(i>=0?"+":"")+fe(o,2,a)+fe(Math.abs(i%60),2,a);case oe.ShortGMT:return"GMT"+(i>=0?"+":"")+fe(o,1,a);case oe.Long:return"GMT"+(i>=0?"+":"")+fe(o,2,a)+":"+fe(Math.abs(i%60),2,a);case oe.Extended:return 0===r?"Z":(i>=0?"+":"")+fe(o,2,a)+":"+fe(Math.abs(i%60),2,a);default:throw new Error('Unknown zone width "'+e+'"')}}}!function(e){e[e.Short=0]="Short",e[e.ShortGMT=1]="ShortGMT",e[e.Long=2]="Long",e[e.Extended=3]="Extended"}(oe||(oe={})),function(e){e[e.FullYear=0]="FullYear",e[e.Month=1]="Month",e[e.Date=2]="Date",e[e.Hours=3]="Hours",e[e.Minutes=4]="Minutes",e[e.Seconds=5]="Seconds",e[e.FractionalSeconds=6]="FractionalSeconds",e[e.Day=7]="Day"}(se||(se={})),function(e){e[e.DayPeriods=0]="DayPeriods",e[e.Days=1]="Days",e[e.Months=2]="Months",e[e.Eras=3]="Eras"}(le||(le={}));var be=0,ve=4;function ke(e,t){return void 0===t&&(t=!1),function(n,r){var i,a,o,s;if(t){var l=new Date(n.getFullYear(),n.getMonth(),1).getDay()-1,c=n.getDate();i=1+Math.floor((c+l)/7)}else{var u=(o=n.getFullYear(),s=new Date(o,be,1).getDay(),new Date(o,0,1+(s<=ve?ve:ve+7)-s)),d=(a=n,new Date(a.getFullYear(),a.getMonth(),a.getDate()+(ve-a.getDay()))).getTime()-u.getTime();i=1+Math.round(d/6048e5)}return fe(i,e,W(r,D.MinusSign))}}var we={};function _e(e,t){e=e.replace(/:/g,"");var n=Date.parse("Jan 01, 1970 00:00:00 "+e)/6e4;return isNaN(n)?t:n}function je(e){return e instanceof Date&&!isNaN(e.valueOf())} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var Ce=/^(\d+)?\.((\d+)(-(\d+))?)?$/,Ee=22,xe=".",Se="0",Te=";",Oe=",",Ie="#",ze="¤",De="%";function Ae(e,t,n,r,i,a,o){void 0===o&&(o=!1);var s="",l=!1;if(isFinite(e)){var c=function(e){var t,n,r,i,a,o=Math.abs(e)+"",s=0;(n=o.indexOf(xe))>-1&&(o=o.replace(xe,""));(r=o.search(/e/i))>0?(n<0&&(n=r),n+=+o.slice(r+1),o=o.substring(0,r)):n<0&&(n=o.length);for(r=0;o.charAt(r)===Se;r++);if(r===(a=o.length))t=[0],n=1;else{for(a--;o.charAt(a)===Se;)a--;for(n-=r,t=[],i=0;r<=a;r++,i++)t[i]=Number(o.charAt(r))}n>Ee&&(t=t.splice(0,Ee-1),s=n-1,n=1);return{digits:t,exponent:s,integerLen:n}}(e);o&&(c=function(e){if(0===e.digits[0])return e;var t=e.digits.length-e.integerLen;e.exponent?e.exponent+=2:(0===t?e.digits.push(0,0):1===t&&e.digits.push(0),e.integerLen+=2);return e}(c));var u=t.minInt,d=t.minFrac,h=t.maxFrac;if(a){var p=a.match(Ce);if(null===p)throw new Error(a+" is not a valid digit info");var f=p[1],m=p[3],g=p[5];null!=f&&(u=qe(f)),null!=m&&(d=qe(m)),null!=g?h=qe(g):null!=m&&d>h&&(h=d)}!function(e,t,n){if(t>n)throw new Error("The minimum number of digits after fraction ("+t+") is higher than the maximum ("+n+").");var r=e.digits,i=r.length-e.integerLen,a=Math.min(Math.max(t,i),n),o=a+e.integerLen,s=r[o];if(o>0){r.splice(Math.max(e.integerLen,o));for(var l=o;l=5)if(o-1<0){for(var u=0;u>o;u--)r.unshift(0),e.integerLen++;r.unshift(1),e.integerLen++}else r[o-1]++;for(;i=h?r.pop():d=!1),t>=10?1:0},0);p&&(r.unshift(p),e.integerLen++)}(c,d,h);var y=c.digits,b=c.integerLen,v=c.exponent,k=[];for(l=y.every(function(e){return!e});b0?k=y.splice(b,y.length):(k=y,y=[0]);var w=[];for(y.length>=t.lgSize&&w.unshift(y.splice(-t.lgSize,y.length).join(""));y.length>t.gSize;)w.unshift(y.splice(-t.gSize,y.length).join(""));y.length&&w.unshift(y.join("")),s=w.join(W(n,r)),k.length&&(s+=W(n,i)+k.join("")),v&&(s+=W(n,D.Exponential)+"+"+v)}else s=W(n,D.Infinity);return s=e<0&&!l?t.negPre+s+t.negSuf:t.posPre+s+t.posSuf}function Ne(e,t,n,r,i){var a=Me(K(t,S.Currency),W(t,D.MinusSign));return a.minFrac=ae(r),a.maxFrac=a.minFrac,Ae(e,a,t,D.CurrencyGroup,D.CurrencyDecimal,i).replace(ze,n).replace(ze,"").trim()}function Pe(e,t,n){return Ae(e,Me(K(t,S.Percent),W(t,D.MinusSign)),t,D.Group,D.Decimal,n,!0).replace(new RegExp(De,"g"),W(t,D.PercentSign))}function Re(e,t,n){return Ae(e,Me(K(t,S.Decimal),W(t,D.MinusSign)),t,D.Group,D.Decimal,n)}function Me(e,t){void 0===t&&(t="-");var n={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},r=e.split(Te),i=r[0],a=r[1],o=-1!==i.indexOf(xe)?i.split(xe):[i.substring(0,i.lastIndexOf(Se)+1),i.substring(i.lastIndexOf(Se)+1)],s=o[0],l=o[1]||"";n.posPre=s.substr(0,s.indexOf(Ie));for(var c=0;c-1)return i;if(i=n.getPluralCategory(e,r),t.indexOf(i)>-1)return i;if(t.indexOf("other")>-1)return"other";throw new Error('No plural message found for value "'+e+'"')}var Fe=function(e){function t(t){var n=e.call(this)||this;return n.locale=t,n}return Object(r.c)(t,e),t.prototype.getPluralCategory=function(e,t){switch(Y(t||this.locale)(e)){case T.Zero:return"zero";case T.One:return"one";case T.Two:return"two";case T.Few:return"few";case T.Many:return"many";default:return"other"}},(t=Object(r.b)([Object(r.e)(0,Object(i.Inject)(i.LOCALE_ID)),Object(r.d)("design:paramtypes",[String])],t)).ɵfac=function(e){return new(e||t)(i["ɵɵinject"](i.LOCALE_ID))},t.ɵprov=i["ɵɵdefineInjectable"]({token:t,factory:function(e){return t.ɵfac(e)}}),t}(Le); -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function Ve(e,t,n){return Object(i["ɵregisterLocaleData"])(e,t,n)} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function Ue(e,t){var n,i;t=encodeURIComponent(t);try{for(var a=Object(r.h)(e.split(";")),o=a.next();!o.done;o=a.next()){var s=o.value,l=s.indexOf("="),c=Object(r.f)(-1==l?[s,""]:[s.slice(0,l),s.slice(l+1)],2),u=c[0],d=c[1];if(u.trim()===t)return decodeURIComponent(d)}}catch(h){n={error:h}}finally{try{o&&!o.done&&(i=a.return)&&i.call(a)}finally{if(n)throw n.error}}return null}var He=function(){function e(e,t,n,r){this._iterableDiffers=e,this._keyValueDiffers=t,this._ngEl=n,this._renderer=r,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}return Object.defineProperty(e.prototype,"klass",{set:function(e){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof e?e.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ngClass",{set:function(e){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof e?e.split(/\s+/):e,this._rawClass&&(Object(i["ɵisListLikeIterable"])(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())},enumerable:!0,configurable:!0}),e.prototype.ngDoCheck=function(){if(this._iterableDiffer){var e=this._iterableDiffer.diff(this._rawClass);e&&this._applyIterableChanges(e)}else if(this._keyValueDiffer){var t=this._keyValueDiffer.diff(this._rawClass);t&&this._applyKeyValueChanges(t)}},e.prototype._applyKeyValueChanges=function(e){var t=this;e.forEachAddedItem(function(e){return t._toggleClass(e.key,e.currentValue)}),e.forEachChangedItem(function(e){return t._toggleClass(e.key,e.currentValue)}),e.forEachRemovedItem(function(e){e.previousValue&&t._toggleClass(e.key,!1)})},e.prototype._applyIterableChanges=function(e){var t=this;e.forEachAddedItem(function(e){if("string"!=typeof e.item)throw new Error("NgClass can only toggle CSS classes expressed as strings, got "+Object(i["ɵstringify"])(e.item));t._toggleClass(e.item,!0)}),e.forEachRemovedItem(function(e){return t._toggleClass(e.item,!1)})},e.prototype._applyClasses=function(e){var t=this;e&&(Array.isArray(e)||e instanceof Set?e.forEach(function(e){return t._toggleClass(e,!0)}):Object.keys(e).forEach(function(n){return t._toggleClass(n,!!e[n])}))},e.prototype._removeClasses=function(e){var t=this;e&&(Array.isArray(e)||e instanceof Set?e.forEach(function(e){return t._toggleClass(e,!1)}):Object.keys(e).forEach(function(e){return t._toggleClass(e,!1)}))},e.prototype._toggleClass=function(e,t){var n=this;(e=e.trim())&&e.split(/\s+/g).forEach(function(e){t?n._renderer.addClass(n._ngEl.nativeElement,e):n._renderer.removeClass(n._ngEl.nativeElement,e)})},Object(r.b)([Object(i.Input)("class"),Object(r.d)("design:type",String),Object(r.d)("design:paramtypes",[String])],e.prototype,"klass",null),Object(r.b)([Object(i.Input)("ngClass"),Object(r.d)("design:type",Object),Object(r.d)("design:paramtypes",[Object])],e.prototype,"ngClass",null),(e=Object(r.b)([Object(r.d)("design:paramtypes",[i.IterableDiffers,i.KeyValueDiffers,i.ElementRef,i.Renderer2])],e)).ɵfac=function(t){return new(t||e)(i["ɵɵdirectiveInject"](i.IterableDiffers),i["ɵɵdirectiveInject"](i.KeyValueDiffers),i["ɵɵdirectiveInject"](i.ElementRef),i["ɵɵdirectiveInject"](i.Renderer2))},e.ɵdir=i["ɵɵdefineDirective"]({type:e,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"}}),e}(),We=function(){function e(e){this._viewContainerRef=e,this._componentRef=null,this._moduleRef=null}return e.prototype.ngOnChanges=function(e){if(this._viewContainerRef.clear(),this._componentRef=null,this.ngComponentOutlet){var t=this.ngComponentOutletInjector||this._viewContainerRef.parentInjector;if(e.ngComponentOutletNgModuleFactory)if(this._moduleRef&&this._moduleRef.destroy(),this.ngComponentOutletNgModuleFactory){var n=t.get(i.NgModuleRef);this._moduleRef=this.ngComponentOutletNgModuleFactory.create(n.injector)}else this._moduleRef=null;var r=(this._moduleRef?this._moduleRef.componentFactoryResolver:t.get(i.ComponentFactoryResolver)).resolveComponentFactory(this.ngComponentOutlet);this._componentRef=this._viewContainerRef.createComponent(r,this._viewContainerRef.length,t,this.ngComponentOutletContent)}},e.prototype.ngOnDestroy=function(){this._moduleRef&&this._moduleRef.destroy()},Object(r.b)([Object(i.Input)(),Object(r.d)("design:type",i.Type)],e.prototype,"ngComponentOutlet",void 0),Object(r.b)([Object(i.Input)(),Object(r.d)("design:type",i.Injector)],e.prototype,"ngComponentOutletInjector",void 0),Object(r.b)([Object(i.Input)(),Object(r.d)("design:type",Array)],e.prototype,"ngComponentOutletContent",void 0),Object(r.b)([Object(i.Input)(),Object(r.d)("design:type",i.NgModuleFactory)],e.prototype,"ngComponentOutletNgModuleFactory",void 0),(e=Object(r.b)([Object(r.d)("design:paramtypes",[i.ViewContainerRef])],e)).ɵfac=function(t){return new(t||e)(i["ɵɵdirectiveInject"](i.ViewContainerRef))},e.ɵdir=i["ɵɵdefineDirective"]({type:e,selectors:[["","ngComponentOutlet",""]],inputs:{ngComponentOutlet:"ngComponentOutlet",ngComponentOutletInjector:"ngComponentOutletInjector",ngComponentOutletContent:"ngComponentOutletContent",ngComponentOutletNgModuleFactory:"ngComponentOutletNgModuleFactory"},features:[i["ɵɵNgOnChangesFeature"]]}),e}(),Ke=function(){function e(e,t,n,r){this.$implicit=e,this.ngForOf=t,this.index=n,this.count=r}return Object.defineProperty(e.prototype,"first",{get:function(){return 0===this.index},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"last",{get:function(){return this.index===this.count-1},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"even",{get:function(){return this.index%2==0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"odd",{get:function(){return!this.even},enumerable:!0,configurable:!0}),e}(),Ge=function(){function e(e,t,n){this._viewContainer=e,this._template=t,this._differs=n,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}return Object.defineProperty(e.prototype,"ngForOf",{set:function(e){this._ngForOf=e,this._ngForOfDirty=!0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ngForTrackBy",{get:function(){return this._trackByFn},set:function(e){Object(i.isDevMode)()&&null!=e&&"function"!=typeof e&&console&&console.warn&&console.warn("trackBy must be a function, but received "+JSON.stringify(e)+". See https://angular.io/api/common/NgForOf#change-propagation for more information."),this._trackByFn=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ngForTemplate",{set:function(e){e&&(this._template=e)},enumerable:!0,configurable:!0}),e.prototype.ngDoCheck=function(){if(this._ngForOfDirty){this._ngForOfDirty=!1;var e=this._ngForOf;if(!this._differ&&e)try{this._differ=this._differs.find(e).create(this.ngForTrackBy)}catch(r){throw new Error("Cannot find a differ supporting object '"+e+"' of type '"+((t=e).name||typeof t)+"'. NgFor only supports binding to Iterables such as Arrays.")}}var t; -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */if(this._differ){var n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}},e.prototype._applyChanges=function(e){var t=this,n=[];e.forEachOperation(function(e,r,i){if(null==e.previousIndex){var a=t._viewContainer.createEmbeddedView(t._template,new Ke(null,t._ngForOf,-1,-1),null===i?void 0:i),o=new Qe(e,a);n.push(o)}else if(null==i)t._viewContainer.remove(null===r?void 0:r);else if(null!==r){a=t._viewContainer.get(r);t._viewContainer.move(a,i);o=new Qe(e,a);n.push(o)}});for(var r=0;r0)for(var n=this.count>=this.total?this.total:this.count,r=this.ring,i=0;i=2;return function(r){return r.pipe(e?Object(S.a)(function(t,n){return e(t,n,r)}):L.a,O(1),n?R(t):D(function(){return new u}))}}var F=n(75);function V(e){return function(t){var n=new U(e),r=t.lift(n);return n.caught=r}}var U=function(){function e(e){this.selector=e}return e.prototype.call=function(e,t){return t.subscribe(new H(e,this.selector,this.caught))},e}(),H=function(e){function t(t,n,r){var i=e.call(this,t)||this;return i.selector=n,i.caught=r,i}return r.c(t,e),t.prototype.error=function(t){if(!this.isStopped){var n=void 0;try{n=this.selector(t,this.caught)}catch(a){return void e.prototype.error.call(this,a)}this._unsubscribeAndRecycle();var r=new F.a(this);this.add(r);var i=Object(F.c)(n,r);i!==r&&this.add(i)}},t}(F.b),W=n(729);function K(e,t){var n=arguments.length>=2;return function(r){return r.pipe(e?Object(S.a)(function(t,n){return e(t,n,r)}):L.a,Object(W.a)(1),n?R(t):D(function(){return new u}))}}var G=n(303);var Q=function(){function e(e,t,n){this.predicate=e,this.thisArg=t,this.source=n}return e.prototype.call=function(e,t){return t.subscribe(new $(e,this.predicate,this.thisArg,this.source))},e}(),$=function(e){function t(t,n,r,i){var a=e.call(this,t)||this;return a.predicate=n,a.thisArg=r,a.source=i,a.index=0,a.thisArg=r||a,a}return r.c(t,e),t.prototype.notifyComplete=function(e){this.destination.next(e),this.destination.complete()},t.prototype._next=function(e){var t=!1;try{t=this.predicate.call(this.thisArg,e,this.index++,this.source)}catch(n){return void this.destination.error(n)}t||this.notifyComplete(!1)},t.prototype._complete=function(){this.notifyComplete(!0)},t}(p.a),Y=n(1090),Z=n(1093);function J(e,t){var n=!1;return arguments.length>=2&&(n=!0),function(r){return r.lift(new X(e,t,n))}}var X=function(){function e(e,t,n){void 0===n&&(n=!1),this.accumulator=e,this.seed=t,this.hasSeed=n}return e.prototype.call=function(e,t){return t.subscribe(new ee(e,this.accumulator,this.seed,this.hasSeed))},e}(),ee=function(e){function t(t,n,r,i){var a=e.call(this,t)||this;return a.accumulator=n,a._seed=r,a.hasSeed=i,a.index=0,a}return r.c(t,e),Object.defineProperty(t.prototype,"seed",{get:function(){return this._seed},set:function(e){this.hasSeed=!0,this._seed=e},enumerable:!0,configurable:!0}),t.prototype._next=function(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)},t.prototype._tryNext=function(e){var t,n=this.index++;try{t=this.accumulator(this.seed,e,n)}catch(r){this.destination.error(r)}this.seed=t,this.destination.next(t)},t}(p.a);function te(e,t){return Object(G.a)(e,t,1)}var ne=n(265);var re=n(1092),ie=n(54);var ae=function(){function e(e){this.callback=e}return e.prototype.call=function(e,t){return t.subscribe(new oe(e,this.callback))},e}(),oe=function(e){function t(t,n){var r=e.call(this,t)||this;return r.add(new ie.a(n)),r}return r.c(t,e),t}(p.a),se=n(302);n.d(t,"ActivatedRoute",function(){return bt}),n.d(t,"ActivatedRouteSnapshot",function(){return kt}),n.d(t,"ActivationEnd",function(){return je}),n.d(t,"ActivationStart",function(){return _e}),n.d(t,"ChildActivationEnd",function(){return we}),n.d(t,"ChildActivationStart",function(){return ke}),n.d(t,"ChildrenOutletContexts",function(){return Fn}),n.d(t,"DefaultUrlSerializer",function(){return Ze}),n.d(t,"GuardsCheckEnd",function(){return me}),n.d(t,"GuardsCheckStart",function(){return fe}),n.d(t,"NavigationCancel",function(){return de}),n.d(t,"NavigationEnd",function(){return ue}),n.d(t,"NavigationError",function(){return he}),n.d(t,"NavigationStart",function(){return ce}),n.d(t,"NoPreloading",function(){return Kn}),n.d(t,"OutletContext",function(){return Bn}),n.d(t,"PRIMARY_OUTLET",function(){return xe}),n.d(t,"PreloadAllModules",function(){return Wn}),n.d(t,"PreloadingStrategy",function(){return Hn}),n.d(t,"ROUTER_CONFIGURATION",function(){return $n}),n.d(t,"ROUTER_INITIALIZER",function(){return cr}),n.d(t,"ROUTES",function(){return Tn}),n.d(t,"ResolveEnd",function(){return ye}),n.d(t,"ResolveStart",function(){return ge}),n.d(t,"RouteConfigLoadEnd",function(){return ve}),n.d(t,"RouteConfigLoadStart",function(){return be}),n.d(t,"RouteReuseStrategy",function(){return xn}),n.d(t,"Router",function(){return Pn}),n.d(t,"RouterEvent",function(){return le}),n.d(t,"RouterLink",function(){return Rn}),n.d(t,"RouterLinkActive",function(){return Ln}),n.d(t,"RouterLinkWithHref",function(){return Mn}),n.d(t,"RouterModule",function(){return Xn}),n.d(t,"RouterOutlet",function(){return Vn}),n.d(t,"RouterPreloader",function(){return Gn}),n.d(t,"RouterState",function(){return gt}),n.d(t,"RouterStateSnapshot",function(){return wt}),n.d(t,"RoutesRecognized",function(){return pe}),n.d(t,"Scroll",function(){return Ce}),n.d(t,"UrlHandlingStrategy",function(){return In}),n.d(t,"UrlSegment",function(){return Ge}),n.d(t,"UrlSegmentGroup",function(){return Ke}),n.d(t,"UrlSerializer",function(){return Ye}),n.d(t,"UrlTree",function(){return We}),n.d(t,"VERSION",function(){return dr}),n.d(t,"convertToParamMap",function(){return Te}),n.d(t,"provideRoutes",function(){return rr}),n.d(t,"ɵEmptyOutletComponent",function(){return Ee}),n.d(t,"ɵROUTER_PROVIDERS",function(){return Zn}),n.d(t,"ɵangular_packages_router_router_a",function(){return Yn}),n.d(t,"ɵangular_packages_router_router_b",function(){return Jn}),n.d(t,"ɵangular_packages_router_router_c",function(){return er}),n.d(t,"ɵangular_packages_router_router_d",function(){return tr}),n.d(t,"ɵangular_packages_router_router_e",function(){return nr}),n.d(t,"ɵangular_packages_router_router_f",function(){return ir}),n.d(t,"ɵangular_packages_router_router_g",function(){return ar}),n.d(t,"ɵangular_packages_router_router_h",function(){return or}),n.d(t,"ɵangular_packages_router_router_i",function(){return sr}),n.d(t,"ɵangular_packages_router_router_j",function(){return lr}),n.d(t,"ɵangular_packages_router_router_k",function(){return ur}),n.d(t,"ɵangular_packages_router_router_l",function(){return Ee}),n.d(t,"ɵangular_packages_router_router_m",function(){return dt}),n.d(t,"ɵangular_packages_router_router_n",function(){return ft}),n.d(t,"ɵangular_packages_router_router_o",function(){return Qn}),n.d(t,"ɵflatten",function(){return Le}); -/** - * @license Angular v9.1.12 - * (c) 2010-2020 Google LLC. https://angular.io/ - * License: MIT - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -var le=function(){return function(e,t){this.id=e,this.url=t}}(),ce=function(e){function t(t,n,r,i){void 0===r&&(r="imperative"),void 0===i&&(i=null);var a=e.call(this,t,n)||this;return a.navigationTrigger=r,a.restoredState=i,a}return Object(r.c)(t,e),t.prototype.toString=function(){return"NavigationStart(id: "+this.id+", url: '"+this.url+"')"},t}(le),ue=function(e){function t(t,n,r){var i=e.call(this,t,n)||this;return i.urlAfterRedirects=r,i}return Object(r.c)(t,e),t.prototype.toString=function(){return"NavigationEnd(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"')"},t}(le),de=function(e){function t(t,n,r){var i=e.call(this,t,n)||this;return i.reason=r,i}return Object(r.c)(t,e),t.prototype.toString=function(){return"NavigationCancel(id: "+this.id+", url: '"+this.url+"')"},t}(le),he=function(e){function t(t,n,r){var i=e.call(this,t,n)||this;return i.error=r,i}return Object(r.c)(t,e),t.prototype.toString=function(){return"NavigationError(id: "+this.id+", url: '"+this.url+"', error: "+this.error+")"},t}(le),pe=function(e){function t(t,n,r,i){var a=e.call(this,t,n)||this;return a.urlAfterRedirects=r,a.state=i,a}return Object(r.c)(t,e),t.prototype.toString=function(){return"RoutesRecognized(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"},t}(le),fe=function(e){function t(t,n,r,i){var a=e.call(this,t,n)||this;return a.urlAfterRedirects=r,a.state=i,a}return Object(r.c)(t,e),t.prototype.toString=function(){return"GuardsCheckStart(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"},t}(le),me=function(e){function t(t,n,r,i,a){var o=e.call(this,t,n)||this;return o.urlAfterRedirects=r,o.state=i,o.shouldActivate=a,o}return Object(r.c)(t,e),t.prototype.toString=function(){return"GuardsCheckEnd(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+", shouldActivate: "+this.shouldActivate+")"},t}(le),ge=function(e){function t(t,n,r,i){var a=e.call(this,t,n)||this;return a.urlAfterRedirects=r,a.state=i,a}return Object(r.c)(t,e),t.prototype.toString=function(){return"ResolveStart(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"},t}(le),ye=function(e){function t(t,n,r,i){var a=e.call(this,t,n)||this;return a.urlAfterRedirects=r,a.state=i,a}return Object(r.c)(t,e),t.prototype.toString=function(){return"ResolveEnd(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"},t}(le),be=function(){function e(e){this.route=e}return e.prototype.toString=function(){return"RouteConfigLoadStart(path: "+this.route.path+")"},e}(),ve=function(){function e(e){this.route=e}return e.prototype.toString=function(){return"RouteConfigLoadEnd(path: "+this.route.path+")"},e}(),ke=function(){function e(e){this.snapshot=e}return e.prototype.toString=function(){return"ChildActivationStart(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"},e}(),we=function(){function e(e){this.snapshot=e}return e.prototype.toString=function(){return"ChildActivationEnd(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"},e}(),_e=function(){function e(e){this.snapshot=e}return e.prototype.toString=function(){return"ActivationStart(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"},e}(),je=function(){function e(e){this.snapshot=e}return e.prototype.toString=function(){return"ActivationEnd(path: '"+(this.snapshot.routeConfig&&this.snapshot.routeConfig.path||"")+"')"},e}(),Ce=function(){function e(e,t,n){this.routerEvent=e,this.position=t,this.anchor=n}return e.prototype.toString=function(){var e=this.position?this.position[0]+", "+this.position[1]:null;return"Scroll(anchor: '"+this.anchor+"', position: '"+e+"')"},e}(),Ee=function(){function e(){}return e.ɵfac=function(t){return new(t||e)},e.ɵcmp=a["ɵɵdefineComponent"]({type:e,selectors:[["ng-component"]],decls:1,vars:0,template:function(e,t){1&e&&a["ɵɵelement"](0,"router-outlet")},directives:function(){return[Vn]},encapsulation:2}),e}(),xe="primary",Se=function(){function e(e){this.params=e||{}}return e.prototype.has=function(e){return this.params.hasOwnProperty(e)},e.prototype.get=function(e){if(this.has(e)){var t=this.params[e];return Array.isArray(t)?t[0]:t}return null},e.prototype.getAll=function(e){if(this.has(e)){var t=this.params[e];return Array.isArray(t)?t:[t]}return[]},Object.defineProperty(e.prototype,"keys",{get:function(){return Object.keys(this.params)},enumerable:!0,configurable:!0}),e}();function Te(e){return new Se(e)}var Oe="ngNavigationCancelingError";function Ie(e){var t=Error("NavigationCancelingError: "+e);return t[Oe]=!0,t}function ze(e,t,n){var r=n.path.split("/");if(r.length>e.length)return null;if("full"===n.pathMatch&&(t.hasChildren()||r.length-1}):e===t}function Le(e){return Array.prototype.concat.apply([],e)}function Be(e){return e.length>0?e[e.length-1]:null}function Fe(e,t){for(var n in e)e.hasOwnProperty(n)&&t(e[n],n)}function Ve(e){return Object(a["ɵisObservable"])(e)?e:Object(a["ɵisPromise"])(e)?Object(s.a)(Promise.resolve(e)):Object(o.a)(e)} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function Ue(e,t,n){return n?function(e,t){return Me(e,t)}(e.queryParams,t.queryParams)&&function e(t,n){if(!Qe(t.segments,n.segments))return!1;if(t.numberOfChildren!==n.numberOfChildren)return!1;for(var r in n.children){if(!t.children[r])return!1;if(!e(t.children[r],n.children[r]))return!1}return!0}(e.root,t.root):function(e,t){return Object.keys(t).length<=Object.keys(e).length&&Object.keys(t).every(function(n){return qe(e[n],t[n])})}(e.queryParams,t.queryParams)&&He(e.root,t.root)}function He(e,t){return function e(t,n,r){if(t.segments.length>r.length){var i=t.segments.slice(0,r.length);return!!Qe(i,r)&&!n.hasChildren()}if(t.segments.length===r.length){if(!Qe(t.segments,r))return!1;for(var a in n.children){if(!t.children[a])return!1;if(!He(t.children[a],n.children[a]))return!1}return!0}var i=r.slice(0,t.segments.length),o=r.slice(t.segments.length);return!!Qe(t.segments,i)&&(!!t.children[xe]&&e(t.children[xe],n,o))}(e,t,t.segments)}var We=function(){function e(e,t,n){this.root=e,this.queryParams=t,this.fragment=n}return Object.defineProperty(e.prototype,"queryParamMap",{get:function(){return this._queryParamMap||(this._queryParamMap=Te(this.queryParams)),this._queryParamMap},enumerable:!0,configurable:!0}),e.prototype.toString=function(){return Je.serialize(this)},e}(),Ke=function(){function e(e,t){var n=this;this.segments=e,this.children=t,this.parent=null,Fe(t,function(e,t){return e.parent=n})}return e.prototype.hasChildren=function(){return this.numberOfChildren>0},Object.defineProperty(e.prototype,"numberOfChildren",{get:function(){return Object.keys(this.children).length},enumerable:!0,configurable:!0}),e.prototype.toString=function(){return Xe(this)},e}(),Ge=function(){function e(e,t){this.path=e,this.parameters=t}return Object.defineProperty(e.prototype,"parameterMap",{get:function(){return this._parameterMap||(this._parameterMap=Te(this.parameters)),this._parameterMap},enumerable:!0,configurable:!0}),e.prototype.toString=function(){return at(this)},e}();function Qe(e,t){return e.length===t.length&&e.every(function(e,n){return e.path===t[n].path})}function $e(e,t){var n=[];return Fe(e.children,function(e,r){r===xe&&(n=n.concat(t(e,r)))}),Fe(e.children,function(e,r){r!==xe&&(n=n.concat(t(e,r)))}),n}var Ye=function(){return function(){}}(),Ze=function(){function e(){}return e.prototype.parse=function(e){var t=new ut(e);return new We(t.parseRootSegment(),t.parseQueryParams(),t.parseFragment())},e.prototype.serialize=function(e){var t,n,r;return""+("/"+function e(t,n){if(!t.hasChildren())return Xe(t);if(n){var r=t.children[xe]?e(t.children[xe],!1):"",i=[];return Fe(t.children,function(t,n){n!==xe&&i.push(n+":"+e(t,!1))}),i.length>0?r+"("+i.join("//")+")":r}var a=$e(t,function(n,r){return r===xe?[e(t.children[xe],!1)]:[r+":"+e(n,!1)]});return Xe(t)+"/("+a.join("//")+")"}(e.root,!0))+(t=e.queryParams,(n=Object.keys(t).map(function(e){var n=t[e];return Array.isArray(n)?n.map(function(t){return tt(e)+"="+tt(t)}).join("&"):tt(e)+"="+tt(n)})).length?"?"+n.join("&"):"")+("string"==typeof e.fragment?"#"+(r=e.fragment,encodeURI(r)):"")},e}(),Je=new Ze;function Xe(e){return e.segments.map(function(e){return at(e)}).join("/")}function et(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function tt(e){return et(e).replace(/%3B/gi,";")}function nt(e){return et(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function rt(e){return decodeURIComponent(e)}function it(e){return rt(e.replace(/\+/g,"%20"))}function at(e){return""+nt(e.path)+(t=e.parameters,Object.keys(t).map(function(e){return";"+nt(e)+"="+nt(t[e])}).join(""));var t}var ot=/^[^\/()?;=#]+/;function st(e){var t=e.match(ot);return t?t[0]:""}var lt=/^[^=?&#]+/;var ct=/^[^?&#]+/;var ut=function(){function e(e){this.url=e,this.remaining=e}return e.prototype.parseRootSegment=function(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new Ke([],{}):new Ke([],this.parseChildren())},e.prototype.parseQueryParams=function(){var e={};if(this.consumeOptional("?"))do{this.parseQueryParam(e)}while(this.consumeOptional("&"));return e},e.prototype.parseFragment=function(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null},e.prototype.parseChildren=function(){if(""===this.remaining)return{};this.consumeOptional("/");var e=[];for(this.peekStartsWith("(")||e.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),e.push(this.parseSegment());var t={};this.peekStartsWith("/(")&&(this.capture("/"),t=this.parseParens(!0));var n={};return this.peekStartsWith("(")&&(n=this.parseParens(!1)),(e.length>0||Object.keys(t).length>0)&&(n[xe]=new Ke(e,t)),n},e.prototype.parseSegment=function(){var e=st(this.remaining);if(""===e&&this.peekStartsWith(";"))throw new Error("Empty path url segment cannot have parameters: '"+this.remaining+"'.");return this.capture(e),new Ge(rt(e),this.parseMatrixParams())},e.prototype.parseMatrixParams=function(){for(var e={};this.consumeOptional(";");)this.parseParam(e);return e},e.prototype.parseParam=function(e){var t=st(this.remaining);if(t){this.capture(t);var n="";if(this.consumeOptional("=")){var r=st(this.remaining);r&&(n=r,this.capture(n))}e[rt(t)]=rt(n)}},e.prototype.parseQueryParam=function(e){var t,n,r=(t=this.remaining,(n=t.match(lt))?n[0]:"");if(r){this.capture(r);var i="";if(this.consumeOptional("=")){var a=function(e){var t=e.match(ct);return t?t[0]:""}(this.remaining);a&&(i=a,this.capture(i))}var o=it(r),s=it(i);if(e.hasOwnProperty(o)){var l=e[o];Array.isArray(l)||(l=[l],e[o]=l),l.push(s)}else e[o]=s}},e.prototype.parseParens=function(e){var t={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){var n=st(this.remaining),r=this.remaining[n.length];if("/"!==r&&")"!==r&&";"!==r)throw new Error("Cannot parse url '"+this.url+"'");var i=void 0;n.indexOf(":")>-1?(i=n.substr(0,n.indexOf(":")),this.capture(i),this.capture(":")):e&&(i=xe);var a=this.parseChildren();t[i]=1===Object.keys(a).length?a[xe]:new Ke([],a),this.consumeOptional("//")}return t},e.prototype.peekStartsWith=function(e){return this.remaining.startsWith(e)},e.prototype.consumeOptional=function(e){return!!this.peekStartsWith(e)&&(this.remaining=this.remaining.substring(e.length),!0)},e.prototype.capture=function(e){if(!this.consumeOptional(e))throw new Error('Expected "'+e+'".')},e}(),dt=function(){function e(e){this._root=e}return Object.defineProperty(e.prototype,"root",{get:function(){return this._root.value},enumerable:!0,configurable:!0}),e.prototype.parent=function(e){var t=this.pathFromRoot(e);return t.length>1?t[t.length-2]:null},e.prototype.children=function(e){var t=ht(e,this._root);return t?t.children.map(function(e){return e.value}):[]},e.prototype.firstChild=function(e){var t=ht(e,this._root);return t&&t.children.length>0?t.children[0].value:null},e.prototype.siblings=function(e){var t=pt(e,this._root);return t.length<2?[]:t[t.length-2].children.map(function(e){return e.value}).filter(function(t){return t!==e})},e.prototype.pathFromRoot=function(e){return pt(e,this._root).map(function(e){return e.value})},e}(); -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function ht(e,t){var n,i;if(e===t.value)return t;try{for(var a=Object(r.h)(t.children),o=a.next();!o.done;o=a.next()){var s=ht(e,o.value);if(s)return s}}catch(l){n={error:l}}finally{try{o&&!o.done&&(i=a.return)&&i.call(a)}finally{if(n)throw n.error}}return null}function pt(e,t){var n,i;if(e===t.value)return[t];try{for(var a=Object(r.h)(t.children),o=a.next();!o.done;o=a.next()){var s=pt(e,o.value);if(s.length)return s.unshift(t),s}}catch(l){n={error:l}}finally{try{o&&!o.done&&(i=a.return)&&i.call(a)}finally{if(n)throw n.error}}return[]}var ft=function(){function e(e,t){this.value=e,this.children=t}return e.prototype.toString=function(){return"TreeNode("+this.value+")"},e}();function mt(e){var t={};return e&&e.children.forEach(function(e){return t[e.value.outlet]=e}),t} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var gt=function(e){function t(t,n){var r=e.call(this,t)||this;return r.snapshot=n,_t(r,t),r}return Object(r.c)(t,e),t.prototype.toString=function(){return this.snapshot.toString()},t}(dt);function yt(e,t){var n=function(e,t){var n=new kt([],{},{},"",{},xe,t,null,e.root,-1,{});return new wt("",new ft(n,[]))}(e,t),r=new l.a([new Ge("",{})]),i=new l.a({}),a=new l.a({}),o=new l.a({}),s=new l.a(""),c=new bt(r,i,o,s,a,xe,t,n.root);return c.snapshot=n.root,new gt(new ft(c,[]),n)}var bt=function(){function e(e,t,n,r,i,a,o,s){this.url=e,this.params=t,this.queryParams=n,this.fragment=r,this.data=i,this.outlet=a,this.component=o,this._futureSnapshot=s}return Object.defineProperty(e.prototype,"routeConfig",{get:function(){return this._futureSnapshot.routeConfig},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"root",{get:function(){return this._routerState.root},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"parent",{get:function(){return this._routerState.parent(this)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"firstChild",{get:function(){return this._routerState.firstChild(this)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"children",{get:function(){return this._routerState.children(this)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"pathFromRoot",{get:function(){return this._routerState.pathFromRoot(this)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"paramMap",{get:function(){return this._paramMap||(this._paramMap=this.params.pipe(Object(E.a)(function(e){return Te(e)}))),this._paramMap},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"queryParamMap",{get:function(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(Object(E.a)(function(e){return Te(e)}))),this._queryParamMap},enumerable:!0,configurable:!0}),e.prototype.toString=function(){return this.snapshot?this.snapshot.toString():"Future("+this._futureSnapshot+")"},e}();function vt(e,t){void 0===t&&(t="emptyOnly");var n=e.pathFromRoot,i=0;if("always"!==t)for(i=n.length-1;i>=1;){var a=n[i],o=n[i-1];if(a.routeConfig&&""===a.routeConfig.path)i--;else{if(o.component)break;i--}}return function(e){return e.reduce(function(e,t){var n=Object(r.a)(Object(r.a)({},e.params),t.params),i=Object(r.a)(Object(r.a)({},e.data),t.data),a=Object(r.a)(Object(r.a)({},e.resolve),t._resolvedData);return{params:n,data:i,resolve:a}},{params:{},data:{},resolve:{}})}(n.slice(i))}var kt=function(){function e(e,t,n,r,i,a,o,s,l,c,u){this.url=e,this.params=t,this.queryParams=n,this.fragment=r,this.data=i,this.outlet=a,this.component=o,this.routeConfig=s,this._urlSegment=l,this._lastPathIndex=c,this._resolve=u}return Object.defineProperty(e.prototype,"root",{get:function(){return this._routerState.root},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"parent",{get:function(){return this._routerState.parent(this)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"firstChild",{get:function(){return this._routerState.firstChild(this)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"children",{get:function(){return this._routerState.children(this)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"pathFromRoot",{get:function(){return this._routerState.pathFromRoot(this)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"paramMap",{get:function(){return this._paramMap||(this._paramMap=Te(this.params)),this._paramMap},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"queryParamMap",{get:function(){return this._queryParamMap||(this._queryParamMap=Te(this.queryParams)),this._queryParamMap},enumerable:!0,configurable:!0}),e.prototype.toString=function(){return"Route(url:'"+this.url.map(function(e){return e.toString()}).join("/")+"', path:'"+(this.routeConfig?this.routeConfig.path:"")+"')"},e}(),wt=function(e){function t(t,n){var r=e.call(this,n)||this;return r.url=t,_t(r,n),r}return Object(r.c)(t,e),t.prototype.toString=function(){return jt(this._root)},t}(dt);function _t(e,t){t.value._routerState=e,t.children.forEach(function(t){return _t(e,t)})}function jt(e){var t=e.children.length>0?" { "+e.children.map(jt).join(", ")+" } ":"";return""+e.value+t}function Ct(e){if(e.snapshot){var t=e.snapshot,n=e._futureSnapshot;e.snapshot=n,Me(t.queryParams,n.queryParams)||e.queryParams.next(n.queryParams),t.fragment!==n.fragment&&e.fragment.next(n.fragment),Me(t.params,n.params)||e.params.next(n.params),function(e,t){if(e.length!==t.length)return!1;for(var n=0;ni;){if(a-=i,!(r=r.parent))throw new Error("Invalid number of '../'");i=r.segments.length}return new zt(r,!1,i-a)}(n.snapshot._urlSegment,i,e.numberOfDoubleDots)}(o,t,e),l=s.processChildren?Nt(s.segmentGroup,s.index,o.commands):At(s.segmentGroup,s.index,o.commands);return Ot(s.segmentGroup,l,t,i,a)}function Tt(e){return"object"==typeof e&&null!=e&&!e.outlets&&!e.segmentPath}function Ot(e,t,n,r,i){var a={};return r&&Fe(r,function(e,t){a[t]=Array.isArray(e)?e.map(function(e){return""+e}):""+e}),n.root===e?new We(t,a,i):new We(function e(t,n,r){var i={};Fe(t.children,function(t,a){i[a]=t===n?r:e(t,n,r)});return new Ke(t.segments,i)}(n.root,e,t),a,i)}var It=function(){function e(e,t,n){if(this.isAbsolute=e,this.numberOfDoubleDots=t,this.commands=n,e&&n.length>0&&Tt(n[0]))throw new Error("Root segment cannot have matrix parameters");var r=n.find(function(e){return"object"==typeof e&&null!=e&&e.outlets});if(r&&r!==Be(n))throw new Error("{outlets:{}} has to be the last command")}return e.prototype.toRoot=function(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]},e}();var zt=function(){return function(e,t,n){this.segmentGroup=e,this.processChildren=t,this.index=n}}();function Dt(e){return"object"==typeof e&&null!=e&&e.outlets?e.outlets[xe]:""+e}function At(e,t,n){if(e||(e=new Ke([],{})),0===e.segments.length&&e.hasChildren())return Nt(e,t,n);var r=function(e,t,n){var r=0,i=t,a={match:!1,pathIndex:0,commandIndex:0};for(;i=n.length)return a;var o=e.segments[i],s=Dt(n[r]),l=r0&&void 0===s)break;if(s&&l&&"object"==typeof l&&void 0===l.outlets){if(!qt(s,l,o))return a;r+=2}else{if(!qt(s,{},o))return a;r++}i++}return{match:!0,pathIndex:i,commandIndex:r}}(e,t,n),i=n.slice(r.commandIndex);if(r.match&&r.pathIndex0?new Ke([],((r={})[xe]=e,r)):e;return new We(i,t,n)},e.prototype.expandSegmentGroup=function(e,t,n,r){return 0===n.segments.length&&n.hasChildren()?this.expandChildren(e,t,n).pipe(Object(E.a)(function(e){return new Ke([],e)})):this.expandSegment(e,n,t,n.segments,r,!0)},e.prototype.expandChildren=function(e,t,n){var r=this;return function(e,t){if(0===Object.keys(e).length)return Object(o.a)({});var n=[],r=[],i={};return Fe(e,function(e,a){var o=t(a,e).pipe(Object(E.a)(function(e){return i[a]=e}));a===xe?n.push(o):r.push(o)}),o.a.apply(null,n.concat(r)).pipe(Object(x.a)(),B(),Object(E.a)(function(){return i}))}(n.children,function(n,i){return r.expandSegmentGroup(e,t,i,n)})},e.prototype.expandSegment=function(e,t,n,i,a,s){var l=this;return o.a.apply(void 0,Object(r.g)(n)).pipe(Object(E.a)(function(r){return l.expandSegmentAgainstRoute(e,t,n,r,i,a,s).pipe(V(function(e){if(e instanceof Ut)return Object(o.a)(null);throw e}))}),Object(x.a)(),K(function(e){return!!e}),V(function(e,n){if(e instanceof u||"EmptyError"===e.name){if(l.noLeftoversInUrl(t,i,a))return Object(o.a)(new Ke([],{}));throw new Ut(t)}throw e}))},e.prototype.noLeftoversInUrl=function(e,t,n){return 0===t.length&&!e.children[n]},e.prototype.expandSegmentAgainstRoute=function(e,t,n,r,i,a,o){return Jt(r)!==a?Wt(t):void 0===r.redirectTo?this.matchSegmentAgainstRoute(e,t,r,i):o&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(e,t,n,r,i,a):Wt(t)},e.prototype.expandSegmentAgainstRouteUsingRedirect=function(e,t,n,r,i,a){return"**"===r.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(e,n,r,a):this.expandRegularSegmentAgainstRouteUsingRedirect(e,t,n,r,i,a)},e.prototype.expandWildCardWithParamsAgainstRouteUsingRedirect=function(e,t,n,r){var i=this,a=this.applyRedirectCommands([],n.redirectTo,{});return n.redirectTo.startsWith("/")?Kt(a):this.lineralizeSegments(n,a).pipe(Object(G.a)(function(n){var a=new Ke(n,{});return i.expandSegment(e,a,t,n,r,!1)}))},e.prototype.expandRegularSegmentAgainstRouteUsingRedirect=function(e,t,n,r,i,a){var o=this,s=$t(t,r,i),l=s.matched,c=s.consumedSegments,u=s.lastChild,d=s.positionalParamSegments;if(!l)return Wt(t);var h=this.applyRedirectCommands(c,r.redirectTo,d);return r.redirectTo.startsWith("/")?Kt(h):this.lineralizeSegments(r,h).pipe(Object(G.a)(function(r){return o.expandSegment(e,t,n,r.concat(i.slice(u)),a,!1)}))},e.prototype.matchSegmentAgainstRoute=function(e,t,n,i){var a=this;if("**"===n.path)return n.loadChildren?this.configLoader.load(e.injector,n).pipe(Object(E.a)(function(e){return n._loadedConfig=e,new Ke(i,{})})):Object(o.a)(new Ke(i,{}));var s=$t(t,n,i),l=s.matched,c=s.consumedSegments,u=s.lastChild;if(!l)return Wt(t);var d=i.slice(u);return this.getChildConfig(e,n,i).pipe(Object(G.a)(function(e){var n=e.module,i=e.routes,s=function(e,t,n,i){if(n.length>0&&function(e,t,n){return n.some(function(n){return Zt(e,t,n)&&Jt(n)!==xe})}(e,n,i)){var a=new Ke(t,function(e,t){var n,i,a={};a[xe]=t;try{for(var o=Object(r.h)(e),s=o.next();!s.done;s=o.next()){var l=s.value;""===l.path&&Jt(l)!==xe&&(a[Jt(l)]=new Ke([],{}))}}catch(c){n={error:c}}finally{try{s&&!s.done&&(i=o.return)&&i.call(o)}finally{if(n)throw n.error}}return a}(i,new Ke(n,e.children)));return{segmentGroup:Yt(a),slicedSegments:[]}}if(0===n.length&&function(e,t,n){return n.some(function(n){return Zt(e,t,n)})}(e,n,i)){var a=new Ke(e.segments,function(e,t,n,i){var a,o,s={};try{for(var l=Object(r.h)(n),c=l.next();!c.done;c=l.next()){var u=c.value;Zt(e,t,u)&&!i[Jt(u)]&&(s[Jt(u)]=new Ke([],{}))}}catch(d){a={error:d}}finally{try{c&&!c.done&&(o=l.return)&&o.call(l)}finally{if(a)throw a.error}}return Object(r.a)(Object(r.a)({},i),s)}(e,n,i,e.children));return{segmentGroup:Yt(a),slicedSegments:n}}return{segmentGroup:e,slicedSegments:n}}(t,c,d,i),l=s.segmentGroup,u=s.slicedSegments;return 0===u.length&&l.hasChildren()?a.expandChildren(n,i,l).pipe(Object(E.a)(function(e){return new Ke(c,e)})):0===i.length&&0===u.length?Object(o.a)(new Ke(c,{})):a.expandSegment(n,l,i,u,xe,!0).pipe(Object(E.a)(function(e){return new Ke(c.concat(e.segments),e.children)}))}))},e.prototype.getChildConfig=function(e,t,n){var r=this;return t.children?Object(o.a)(new De(t.children,e)):t.loadChildren?void 0!==t._loadedConfig?Object(o.a)(t._loadedConfig):function(e,t,n){var r=t.canLoad;return r&&0!==r.length?Object(s.a)(r).pipe(Object(E.a)(function(r){var i,a=e.get(r);if(function(e){return e&&Ft(e.canLoad)}(a))i=a.canLoad(t,n);else{if(!Ft(a))throw new Error("Invalid CanLoad guard");i=a(t,n)}return Ve(i)})).pipe(Object(x.a)(),(i=function(e){return!0===e},function(e){return e.lift(new Q(i,a,e))})):Object(o.a)(!0);var i,a}(e.injector,t,n).pipe(Object(G.a)(function(n){return n?r.configLoader.load(e.injector,t).pipe(Object(E.a)(function(e){return t._loadedConfig=e,e})):function(e){return new c.a(function(t){return t.error(Ie("Cannot load children because the guard of the route \"path: '"+e.path+"'\" returned false"))})}(t)})):Object(o.a)(new De([],e))},e.prototype.lineralizeSegments=function(e,t){for(var n=[],r=t.root;;){if(n=n.concat(r.segments),0===r.numberOfChildren)return Object(o.a)(n);if(r.numberOfChildren>1||!r.children[xe])return Gt(e.redirectTo);r=r.children[xe]}},e.prototype.applyRedirectCommands=function(e,t,n){return this.applyRedirectCreatreUrlTree(t,this.urlSerializer.parse(t),e,n)},e.prototype.applyRedirectCreatreUrlTree=function(e,t,n,r){var i=this.createSegmentGroup(e,t.root,n,r);return new We(i,this.createQueryParams(t.queryParams,this.urlTree.queryParams),t.fragment)},e.prototype.createQueryParams=function(e,t){var n={};return Fe(e,function(e,r){if("string"==typeof e&&e.startsWith(":")){var i=e.substring(1);n[r]=t[i]}else n[r]=e}),n},e.prototype.createSegmentGroup=function(e,t,n,r){var i=this,a=this.createSegments(e,t.segments,n,r),o={};return Fe(t.children,function(t,a){o[a]=i.createSegmentGroup(e,t,n,r)}),new Ke(a,o)},e.prototype.createSegments=function(e,t,n,r){var i=this;return t.map(function(t){return t.path.startsWith(":")?i.findPosParam(e,t,r):i.findOrReturn(t,n)})},e.prototype.findPosParam=function(e,t,n){var r=n[t.path.substring(1)];if(!r)throw new Error("Cannot redirect to '"+e+"'. Cannot find '"+t.path+"'.");return r},e.prototype.findOrReturn=function(e,t){var n,i,a=0;try{for(var o=Object(r.h)(t),s=o.next();!s.done;s=o.next()){var l=s.value;if(l.path===e.path)return t.splice(a),l;a++}}catch(c){n={error:c}}finally{try{s&&!s.done&&(i=o.return)&&i.call(o)}finally{if(n)throw n.error}}return e},e}();function $t(e,t,n){if(""===t.path)return"full"===t.pathMatch&&(e.hasChildren()||n.length>0)?{matched:!1,consumedSegments:[],lastChild:0,positionalParamSegments:{}}:{matched:!0,consumedSegments:[],lastChild:0,positionalParamSegments:{}};var r=(t.matcher||ze)(n,e,t);return r?{matched:!0,consumedSegments:r.consumed,lastChild:r.consumed.length,positionalParamSegments:r.posParams}:{matched:!1,consumedSegments:[],lastChild:0,positionalParamSegments:{}}}function Yt(e){if(1===e.numberOfChildren&&e.children[xe]){var t=e.children[xe];return new Ke(e.segments.concat(t.segments),t.children)}return e}function Zt(e,t,n){return(!(e.hasChildren()||t.length>0)||"full"!==n.pathMatch)&&(""===n.path&&void 0!==n.redirectTo)}function Jt(e){return e.outlet||xe} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function Xt(e,t,n,i){return function(a){return a.pipe(Object(Y.a)(function(a){return function(e,t,n,r,i){return new Qt(e,t,n,r,i).apply()}(e,t,n,a.extractedUrl,i).pipe(Object(E.a)(function(e){return Object(r.a)(Object(r.a)({},a),{urlAfterRedirects:e})}))}))}} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var en=function(){return function(e){this.path=e,this.route=this.path[this.path.length-1]}}(),tn=function(){return function(e,t){this.component=e,this.route=t}}();function nn(e,t,n){var r=function(e){if(!e)return null;for(var t=e.parent;t;t=t.parent){var n=t.routeConfig;if(n&&n._loadedConfig)return n._loadedConfig}return null}(t);return(r?r.module.injector:n).get(e)}function rn(e,t,n,r,i){void 0===i&&(i={canDeactivateChecks:[],canActivateChecks:[]});var a=mt(t);return e.children.forEach(function(e){!function(e,t,n,r,i){void 0===i&&(i={canDeactivateChecks:[],canActivateChecks:[]});var a=e.value,o=t?t.value:null,s=n?n.getContext(e.value.outlet):null;if(o&&a.routeConfig===o.routeConfig){var l=function(e,t,n){if("function"==typeof n)return n(e,t);switch(n){case"pathParamsChange":return!Qe(e.url,t.url);case"pathParamsOrQueryParamsChange":return!Qe(e.url,t.url)||!Me(e.queryParams,t.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Et(e,t)||!Me(e.queryParams,t.queryParams);case"paramsChange":default:return!Et(e,t)}}(o,a,a.routeConfig.runGuardsAndResolvers);if(l?i.canActivateChecks.push(new en(r)):(a.data=o.data,a._resolvedData=o._resolvedData),a.component?rn(e,t,s?s.children:null,r,i):rn(e,t,n,r,i),l){var c=s&&s.outlet&&s.outlet.component||null;i.canDeactivateChecks.push(new tn(c,o))}}else o&&an(t,s,i),i.canActivateChecks.push(new en(r)),a.component?rn(e,null,s?s.children:null,r,i):rn(e,null,n,r,i)}(e,a[e.value.outlet],n,r.concat([e.value]),i),delete a[e.value.outlet]}),Fe(a,function(e,t){return an(e,n.getContext(t),i)}),i}function an(e,t,n){var r=mt(e),i=e.value;Fe(r,function(e,r){i.component?an(e,t?t.children.getContext(r):null,n):an(e,t,n)}),i.component&&t&&t.outlet&&t.outlet.isActivated?n.canDeactivateChecks.push(new tn(t.outlet.component,i)):n.canDeactivateChecks.push(new tn(null,i))} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var on=Symbol("INITIAL_VALUE");function sn(){return Object(Y.a)(function(e){return function(){for(var e=[],t=0;t0?Be(n).parameters:{};a=new kt(n,l,Object.freeze(Object(r.a)({},this.urlTree.queryParams)),this.urlTree.fragment,kn(e),i,e.component,e,mn(t),gn(t)+n.length,wn(e))}else{var c=function(e,t,n){if(""===t.path){if("full"===t.pathMatch&&(e.hasChildren()||n.length>0))throw new pn;return{consumedSegments:[],lastChild:0,parameters:{}}}var i=(t.matcher||ze)(n,e,t);if(!i)throw new pn;var a={};Fe(i.posParams,function(e,t){a[t]=e.path});var o=i.consumed.length>0?Object(r.a)(Object(r.a)({},a),i.consumed[i.consumed.length-1].parameters):a;return{consumedSegments:i.consumed,lastChild:i.consumed.length,parameters:o}}(t,e,n);o=c.consumedSegments,s=n.slice(c.lastChild),a=new kt(o,c.parameters,Object.freeze(Object(r.a)({},this.urlTree.queryParams)),this.urlTree.fragment,kn(e),i,e.component,e,mn(t),gn(t)+o.length,wn(e))}var u=function(e){if(e.children)return e.children;if(e.loadChildren)return e._loadedConfig.routes;return[]}(e),d=yn(t,o,s,u,this.relativeLinkResolution),h=d.segmentGroup,p=d.slicedSegments;if(0===p.length&&h.hasChildren()){var f=this.processChildren(u,h);return[new ft(a,f)]}if(0===u.length&&0===p.length)return[new ft(a,[])];var m=this.processSegment(u,h,p,xe);return[new ft(a,m)]},e}();function mn(e){for(var t=e;t._sourceSegment;)t=t._sourceSegment;return t}function gn(e){for(var t=e,n=t._segmentIndexShift?t._segmentIndexShift:0;t._sourceSegment;)n+=(t=t._sourceSegment)._segmentIndexShift?t._segmentIndexShift:0;return n-1}function yn(e,t,n,i,a){if(n.length>0&&function(e,t,n){return n.some(function(n){return bn(e,t,n)&&vn(n)!==xe})}(e,n,i)){var o=new Ke(t,function(e,t,n,i){var a,o,s={};s[xe]=i,i._sourceSegment=e,i._segmentIndexShift=t.length;try{for(var l=Object(r.h)(n),c=l.next();!c.done;c=l.next()){var u=c.value;if(""===u.path&&vn(u)!==xe){var d=new Ke([],{});d._sourceSegment=e,d._segmentIndexShift=t.length,s[vn(u)]=d}}}catch(h){a={error:h}}finally{try{c&&!c.done&&(o=l.return)&&o.call(l)}finally{if(a)throw a.error}}return s}(e,t,i,new Ke(n,e.children)));return o._sourceSegment=e,o._segmentIndexShift=t.length,{segmentGroup:o,slicedSegments:[]}}if(0===n.length&&function(e,t,n){return n.some(function(n){return bn(e,t,n)})}(e,n,i)){var s=new Ke(e.segments,function(e,t,n,i,a,o){var s,l,c={};try{for(var u=Object(r.h)(i),d=u.next();!d.done;d=u.next()){var h=d.value;if(bn(e,n,h)&&!a[vn(h)]){var p=new Ke([],{});p._sourceSegment=e,p._segmentIndexShift="legacy"===o?e.segments.length:t.length,c[vn(h)]=p}}}catch(f){s={error:f}}finally{try{d&&!d.done&&(l=u.return)&&l.call(u)}finally{if(s)throw s.error}}return Object(r.a)(Object(r.a)({},a),c)}(e,t,n,i,e.children,a));return s._sourceSegment=e,s._segmentIndexShift=t.length,{segmentGroup:s,slicedSegments:n}}var l=new Ke(e.segments,e.children);return l._sourceSegment=e,l._segmentIndexShift=t.length,{segmentGroup:l,slicedSegments:n}}function bn(e,t,n){return(!(e.hasChildren()||t.length>0)||"full"!==n.pathMatch)&&(""===n.path&&void 0===n.redirectTo)}function vn(e){return e.outlet||xe}function kn(e){return e.data||{}}function wn(e){return e.resolve||{}} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function _n(e,t,n,i,a){return function(o){return o.pipe(Object(G.a)(function(o){return function(e,t,n,r,i,a){return void 0===i&&(i="emptyOnly"),void 0===a&&(a="legacy"),new fn(e,t,n,r,i,a).recognize()}(e,t,o.urlAfterRedirects,n(o.urlAfterRedirects),i,a).pipe(Object(E.a)(function(e){return Object(r.a)(Object(r.a)({},o),{targetSnapshot:e})}))}))}} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function jn(e,t){return function(n){return n.pipe(Object(G.a)(function(n){var i=n.targetSnapshot,a=n.guards.canActivateChecks;return a.length?Object(s.a)(a).pipe(te(function(n){return function(e,t,n,i){return function(e,t,n,r){var i=Object.keys(e);if(0===i.length)return Object(o.a)({});if(1===i.length){var a=i[0];return Cn(e[a],t,n,r).pipe(Object(E.a)(function(e){var t;return(t={})[a]=e,t}))}var l={};return Object(s.a)(i).pipe(Object(G.a)(function(i){return Cn(e[i],t,n,r).pipe(Object(E.a)(function(e){return l[i]=e,e}))})).pipe(B(),Object(E.a)(function(){return l}))}(e._resolve,e,t,i).pipe(Object(E.a)(function(t){return e._resolvedData=t,e.data=Object(r.a)(Object(r.a)({},e.data),vt(e,n).resolve),null}))}(n.route,i,e,t)}),function(e,t){return arguments.length>=2?function(n){return Object(ne.a)(J(e,t),O(1),R(t))(n)}:function(t){return Object(ne.a)(J(function(t,n,r){return e(t,n,r+1)}),O(1))(t)}}(function(e,t){return e}),Object(E.a)(function(e){return n})):Object(o.a)(n)}))}}function Cn(e,t,n,r){var i=nn(e,t,r);return i.resolve?Ve(i.resolve(t,n)):Ve(i(t,n))} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function En(e){return function(t){return t.pipe(Object(Y.a)(function(t){var n=e(t);return n?Object(s.a)(n).pipe(Object(E.a)(function(){return t})):Object(s.a)([t])}))}} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var xn=function(){return function(){}}(),Sn=function(){function e(){}return e.prototype.shouldDetach=function(e){return!1},e.prototype.store=function(e,t){},e.prototype.shouldAttach=function(e){return!1},e.prototype.retrieve=function(e){return null},e.prototype.shouldReuseRoute=function(e,t){return e.routeConfig===t.routeConfig},e}(),Tn=new a.InjectionToken("ROUTES"),On=function(){function e(e,t,n,r){this.loader=e,this.compiler=t,this.onLoadStartListener=n,this.onLoadEndListener=r}return e.prototype.load=function(e,t){var n=this;return this.onLoadStartListener&&this.onLoadStartListener(t),this.loadModuleFactory(t.loadChildren).pipe(Object(E.a)(function(r){n.onLoadEndListener&&n.onLoadEndListener(t);var i=r.create(e);return new De(Le(i.injector.get(Tn)).map(Re),i)}))},e.prototype.loadModuleFactory=function(e){var t=this;return"string"==typeof e?Object(s.a)(this.loader.load(e)):Ve(e()).pipe(Object(G.a)(function(e){return e instanceof a.NgModuleFactory?Object(o.a)(e):Object(s.a)(t.compiler.compileModuleAsync(e))}))},e}(),In=function(){return function(){}}(),zn=function(){function e(){}return e.prototype.shouldProcessUrl=function(e){return!0},e.prototype.extract=function(e){return e},e.prototype.merge=function(e,t){return e},e}(); -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -function Dn(e){throw e}function An(e,t,n){return t.parse("/")}function Nn(e,t){return Object(o.a)(null)}var Pn=function(){function e(e,t,n,r,i,o,s,c){var u=this;this.rootComponentType=e,this.urlSerializer=t,this.rootContexts=n,this.location=r,this.config=c,this.lastSuccessfulNavigation=null,this.currentNavigation=null,this.navigationId=0,this.isNgZoneEnabled=!1,this.events=new C.a,this.errorHandler=Dn,this.malformedUriErrorHandler=An,this.navigated=!1,this.lastSuccessfulId=-1,this.hooks={beforePreactivation:Nn,afterPreactivation:Nn},this.urlHandlingStrategy=new zn,this.routeReuseStrategy=new Sn,this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.urlUpdateStrategy="deferred",this.relativeLinkResolution="legacy";this.ngModule=i.get(a.NgModuleRef),this.console=i.get(a["ɵConsole"]);var d=i.get(a.NgZone);this.isNgZoneEnabled=d instanceof a.NgZone,this.resetConfig(c),this.currentUrlTree=new We(new Ke([],{}),{},null),this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.configLoader=new On(o,s,function(e){return u.triggerEvent(new be(e))},function(e){return u.triggerEvent(new ve(e))}),this.routerState=yt(this.currentUrlTree,this.rootComponentType),this.transitions=new l.a({id:0,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,extractedUrl:this.urlHandlingStrategy.extract(this.currentUrlTree),urlAfterRedirects:this.urlHandlingStrategy.extract(this.currentUrlTree),rawUrl:this.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:"imperative",restoredState:null,currentSnapshot:this.routerState.snapshot,targetSnapshot:null,currentRouterState:this.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.navigations=this.setupNavigations(this.transitions),this.processNavigations()}return e.prototype.setupNavigations=function(e){var t=this,n=this.events;return e.pipe(Object(S.a)(function(e){return 0!==e.id}),Object(E.a)(function(e){return Object(r.a)(Object(r.a)({},e),{extractedUrl:t.urlHandlingStrategy.extract(e.rawUrl)})}),Object(Y.a)(function(e){var i,a,s,l,c=!1,u=!1;return Object(o.a)(e).pipe(Object(re.a)(function(e){t.currentNavigation={id:e.id,initialUrl:e.currentRawUrl,extractedUrl:e.extractedUrl,trigger:e.source,extras:e.extras,previousNavigation:t.lastSuccessfulNavigation?Object(r.a)(Object(r.a)({},t.lastSuccessfulNavigation),{previousNavigation:null}):null}}),Object(Y.a)(function(e){var i=!t.navigated||e.extractedUrl.toString()!==t.browserUrlTree.toString();if(("reload"===t.onSameUrlNavigation||i)&&t.urlHandlingStrategy.shouldProcessUrl(e.rawUrl))return Object(o.a)(e).pipe(Object(Y.a)(function(e){var r=t.transitions.getValue();return n.next(new ce(e.id,t.serializeUrl(e.extractedUrl),e.source,e.restoredState)),r!==t.transitions.getValue()?_.a:[e]}),Object(Y.a)(function(e){return Promise.resolve(e)}),Xt(t.ngModule.injector,t.configLoader,t.urlSerializer,t.config),Object(re.a)(function(e){t.currentNavigation=Object(r.a)(Object(r.a)({},t.currentNavigation),{finalUrl:e.urlAfterRedirects})}),_n(t.rootComponentType,t.config,function(e){return t.serializeUrl(e)},t.paramsInheritanceStrategy,t.relativeLinkResolution),Object(re.a)(function(e){"eager"===t.urlUpdateStrategy&&(e.extras.skipLocationChange||t.setBrowserUrl(e.urlAfterRedirects,!!e.extras.replaceUrl,e.id,e.extras.state),t.browserUrlTree=e.urlAfterRedirects)}),Object(re.a)(function(e){var r=new pe(e.id,t.serializeUrl(e.extractedUrl),t.serializeUrl(e.urlAfterRedirects),e.targetSnapshot);n.next(r)}));if(i&&t.rawUrlTree&&t.urlHandlingStrategy.shouldProcessUrl(t.rawUrlTree)){var a=e.id,s=e.extractedUrl,l=e.source,c=e.restoredState,u=e.extras,d=new ce(a,t.serializeUrl(s),l,c);n.next(d);var h=yt(s,t.rootComponentType).snapshot;return Object(o.a)(Object(r.a)(Object(r.a)({},e),{targetSnapshot:h,urlAfterRedirects:s,extras:Object(r.a)(Object(r.a)({},u),{skipLocationChange:!1,replaceUrl:!1})}))}return t.rawUrlTree=e.rawUrl,t.browserUrlTree=e.urlAfterRedirects,e.resolve(null),_.a}),En(function(e){var n=e.targetSnapshot,r=e.id,i=e.extractedUrl,a=e.rawUrl,o=e.extras,s=o.skipLocationChange,l=o.replaceUrl;return t.hooks.beforePreactivation(n,{navigationId:r,appliedUrlTree:i,rawUrlTree:a,skipLocationChange:!!s,replaceUrl:!!l})}),Object(re.a)(function(e){var n=new fe(e.id,t.serializeUrl(e.extractedUrl),t.serializeUrl(e.urlAfterRedirects),e.targetSnapshot);t.triggerEvent(n)}),Object(E.a)(function(e){return Object(r.a)(Object(r.a)({},e),{guards:(n=e.targetSnapshot,i=e.currentSnapshot,a=t.rootContexts,o=n._root,rn(o,i?i._root:null,a,[o.value]))});var n,i,a,o}),ln(t.ngModule.injector,function(e){return t.triggerEvent(e)}),Object(re.a)(function(e){if(Vt(e.guardsResult)){var n=Ie('Redirecting to "'+t.serializeUrl(e.guardsResult)+'"');throw n.url=e.guardsResult,n}}),Object(re.a)(function(e){var n=new me(e.id,t.serializeUrl(e.extractedUrl),t.serializeUrl(e.urlAfterRedirects),e.targetSnapshot,!!e.guardsResult);t.triggerEvent(n)}),Object(S.a)(function(e){if(!e.guardsResult){t.resetUrlToCurrentUrlTree();var r=new de(e.id,t.serializeUrl(e.extractedUrl),"");return n.next(r),e.resolve(!1),!1}return!0}),En(function(e){if(e.guards.canActivateChecks.length)return Object(o.a)(e).pipe(Object(re.a)(function(e){var n=new ge(e.id,t.serializeUrl(e.extractedUrl),t.serializeUrl(e.urlAfterRedirects),e.targetSnapshot);t.triggerEvent(n)}),jn(t.paramsInheritanceStrategy,t.ngModule.injector),Object(re.a)(function(e){var n=new ye(e.id,t.serializeUrl(e.extractedUrl),t.serializeUrl(e.urlAfterRedirects),e.targetSnapshot);t.triggerEvent(n)}))}),En(function(e){var n=e.targetSnapshot,r=e.id,i=e.extractedUrl,a=e.rawUrl,o=e.extras,s=o.skipLocationChange,l=o.replaceUrl;return t.hooks.afterPreactivation(n,{navigationId:r,appliedUrlTree:i,rawUrlTree:a,skipLocationChange:!!s,replaceUrl:!!l})}),Object(E.a)(function(e){var n,i,a,o,s=(n=t.routeReuseStrategy,i=e.targetSnapshot,a=e.currentRouterState,o=xt(n,i._root,a?a._root:void 0),new gt(o,i));return Object(r.a)(Object(r.a)({},e),{targetRouterState:s})}),Object(re.a)(function(e){t.currentUrlTree=e.urlAfterRedirects,t.rawUrlTree=t.urlHandlingStrategy.merge(t.currentUrlTree,e.rawUrl),t.routerState=e.targetRouterState,"deferred"===t.urlUpdateStrategy&&(e.extras.skipLocationChange||t.setBrowserUrl(t.rawUrlTree,!!e.extras.replaceUrl,e.id,e.extras.state),t.browserUrlTree=e.urlAfterRedirects)}),(a=t.rootContexts,s=t.routeReuseStrategy,l=function(e){return t.triggerEvent(e)},Object(E.a)(function(e){return new Lt(s,e.targetRouterState,e.currentRouterState,l).activate(a),e})),Object(re.a)({next:function(){c=!0},complete:function(){c=!0}}),(i=function(){if(!c&&!u){t.resetUrlToCurrentUrlTree();var r=new de(e.id,t.serializeUrl(e.extractedUrl),"Navigation ID "+e.id+" is not equal to the current navigation id "+t.navigationId);n.next(r),e.resolve(!1)}t.currentNavigation=null},function(e){return e.lift(new ae(i))}),V(function(r){if(u=!0,(s=r)&&s[Oe]){var i=Vt(r.url);i||(t.navigated=!0,t.resetStateAndUrl(e.currentRouterState,e.currentUrlTree,e.rawUrl));var a=new de(e.id,t.serializeUrl(e.extractedUrl),r.message);n.next(a),i?setTimeout(function(){var n=t.urlHandlingStrategy.merge(r.url,t.rawUrlTree),i={skipLocationChange:e.extras.skipLocationChange,replaceUrl:"eager"===t.urlUpdateStrategy};return t.scheduleNavigation(n,"imperative",null,i,{resolve:e.resolve,reject:e.reject,promise:e.promise})},0):e.resolve(!1)}else{t.resetStateAndUrl(e.currentRouterState,e.currentUrlTree,e.rawUrl);var o=new he(e.id,t.serializeUrl(e.extractedUrl),r);n.next(o);try{e.resolve(t.errorHandler(r))}catch(l){e.reject(l)}}var s;return _.a}))}))},e.prototype.resetRootComponentType=function(e){this.rootComponentType=e,this.routerState.root.component=this.rootComponentType},e.prototype.getTransition=function(){var e=this.transitions.value;return e.urlAfterRedirects=this.browserUrlTree,e},e.prototype.setTransition=function(e){this.transitions.next(Object(r.a)(Object(r.a)({},this.getTransition()),e))},e.prototype.initialNavigation=function(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})},e.prototype.setUpLocationChangeListener=function(){var e=this;this.locationSubscription||(this.locationSubscription=this.location.subscribe(function(t){var n=e.parseUrl(t.url),r="popstate"===t.type?"popstate":"hashchange",i=t.state&&t.state.navigationId?t.state:null;setTimeout(function(){e.scheduleNavigation(n,r,i,{replaceUrl:!0})},0)}))},Object.defineProperty(e.prototype,"url",{get:function(){return this.serializeUrl(this.currentUrlTree)},enumerable:!0,configurable:!0}),e.prototype.getCurrentNavigation=function(){return this.currentNavigation},e.prototype.triggerEvent=function(e){this.events.next(e)},e.prototype.resetConfig=function(e){Ae(e),this.config=e.map(Re),this.navigated=!1,this.lastSuccessfulId=-1},e.prototype.ngOnDestroy=function(){this.dispose()},e.prototype.dispose=function(){this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=null)},e.prototype.createUrlTree=function(e,t){void 0===t&&(t={});var n=t.relativeTo,i=t.queryParams,o=t.fragment,s=t.preserveQueryParams,l=t.queryParamsHandling,c=t.preserveFragment;Object(a.isDevMode)()&&s&&console&&console.warn&&console.warn("preserveQueryParams is deprecated, use queryParamsHandling instead.");var u=n||this.routerState.root,d=c?this.currentUrlTree.fragment:o,h=null;if(l)switch(l){case"merge":h=Object(r.a)(Object(r.a)({},this.currentUrlTree.queryParams),i);break;case"preserve":h=this.currentUrlTree.queryParams;break;default:h=i||null}else h=s?this.currentUrlTree.queryParams:i||null;return null!==h&&(h=this.removeEmptyProps(h)),St(u,this.currentUrlTree,e,h,d)},e.prototype.navigateByUrl=function(e,t){void 0===t&&(t={skipLocationChange:!1}),Object(a.isDevMode)()&&this.isNgZoneEnabled&&!a.NgZone.isInAngularZone()&&this.console.warn("Navigation triggered outside Angular zone, did you forget to call 'ngZone.run()'?");var n=Vt(e)?e:this.parseUrl(e),r=this.urlHandlingStrategy.merge(n,this.rawUrlTree);return this.scheduleNavigation(r,"imperative",null,t)},e.prototype.navigate=function(e,t){return void 0===t&&(t={skipLocationChange:!1}),function(e){for(var t=0;t=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},f=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},m=function(){function e(e,t,n){this.sanitizer=e,this.componentFactoryResolver=t,this.changeDetectorRef=n,this.bodyOutputType=r,this.clickEvent=new i.EventEmitter}return e.prototype.ngOnInit=function(){this.toast.closeHtml&&(this.safeCloseHtml=this.sanitizer.bypassSecurityTrustHtml(this.toast.closeHtml)),this.toast.bodyOutputType===r.TrustedHtml&&(this.safeBodyHtml=this.sanitizer.bypassSecurityTrustHtml(this.toast.body))},e.prototype.ngAfterViewInit=function(){if(this.toast.bodyOutputType===this.bodyOutputType.Component){var e=this.componentFactoryResolver.resolveComponentFactory(this.toast.body);this.componentBody.createComponent(e,void 0,this.componentBody.injector).instance.toast=this.toast,this.changeDetectorRef.detectChanges()}},e.prototype.click=function(e,t){e.stopPropagation(),this.clickEvent.emit({value:{toast:t,isCloseButton:!0}})},p([Object(i.Input)(),f("design:type",Object)],e.prototype,"toast",void 0),p([Object(i.Input)(),f("design:type",String)],e.prototype,"iconClass",void 0),p([Object(i.Input)(),f("design:type",String)],e.prototype,"titleClass",void 0),p([Object(i.Input)(),f("design:type",String)],e.prototype,"messageClass",void 0),p([Object(i.ViewChild)("componentBody",{read:i.ViewContainerRef,static:!1}),f("design:type",i.ViewContainerRef)],e.prototype,"componentBody",void 0),p([Object(i.Output)(),f("design:type",Object)],e.prototype,"clickEvent",void 0),(e=p([f("design:paramtypes",[a.DomSanitizer,i.ComponentFactoryResolver,i.ChangeDetectorRef])],e)).ɵfac=function(t){return new(t||e)(i["ɵɵdirectiveInject"](a.DomSanitizer),i["ɵɵdirectiveInject"](i.ComponentFactoryResolver),i["ɵɵdirectiveInject"](i.ChangeDetectorRef))},e.ɵcmp=i["ɵɵdefineComponent"]({type:e,selectors:[["","toastComp",""]],viewQuery:function(e,t){var n;(1&e&&i["ɵɵviewQuery"](s,!0,i.ViewContainerRef),2&e)&&(i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.componentBody=n.first))},inputs:{toast:"toast",iconClass:"iconClass",titleClass:"titleClass",messageClass:"messageClass"},outputs:{clickEvent:"clickEvent"},attrs:l,decls:19,vars:9,consts:[[1,"toaster-icon",3,"ngClass"],[1,"toast-content"],[3,"ngClass"],[3,"ngClass","ngSwitch"],[4,"ngSwitchCase"],[3,"innerHTML",4,"ngSwitchCase"],["class","toast-close-button",3,"innerHTML","click",4,"ngIf"],["componentBody",""],[3,"innerHTML"],[1,"toast-close-button",3,"innerHTML","click"]],template:function(e,t){1&e&&(i["ɵɵtext"](0,"\n "),i["ɵɵelement"](1,"i",0),i["ɵɵtext"](2,"\n "),i["ɵɵelementStart"](3,"div",1),i["ɵɵtext"](4,"\n "),i["ɵɵelementStart"](5,"div",2),i["ɵɵtext"](6),i["ɵɵelementEnd"](),i["ɵɵtext"](7,"\n "),i["ɵɵelementStart"](8,"div",3),i["ɵɵtext"](9,"\n "),i["ɵɵtemplate"](10,c,2,0,"div",4),i["ɵɵtext"](11,"\n "),i["ɵɵtemplate"](12,u,1,1,"div",5),i["ɵɵtext"](13,"\n "),i["ɵɵtemplate"](14,d,2,1,"div",4),i["ɵɵtext"](15,"\n "),i["ɵɵelementEnd"](),i["ɵɵtext"](16,"\n "),i["ɵɵelementEnd"](),i["ɵɵtext"](17,"\n "),i["ɵɵtemplate"](18,h,2,1,"div",6)),2&e&&(i["ɵɵadvance"](1),i["ɵɵproperty"]("ngClass",t.iconClass),i["ɵɵadvance"](4),i["ɵɵproperty"]("ngClass",t.titleClass),i["ɵɵadvance"](1),i["ɵɵtextInterpolate"](t.toast.title),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngClass",t.messageClass)("ngSwitch",t.toast.bodyOutputType),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngSwitchCase",t.bodyOutputType.Component),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngSwitchCase",t.bodyOutputType.TrustedHtml),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngSwitchCase",t.bodyOutputType.Default),i["ɵɵadvance"](4),i["ɵɵproperty"]("ngIf",t.toast.showCloseButton))},directives:[o.NgClass,o.NgSwitch,o.NgSwitchCase,o.NgIf],encapsulation:2}),e}(),g=n(13),y=function(){return function(e){e=e||{},this.limit=e.limit||null,this.tapToDismiss=null==e.tapToDismiss||e.tapToDismiss,this.showCloseButton=null!=e.showCloseButton&&e.showCloseButton,this.closeHtml=e.closeHtml||'',this.newestOnTop=null==e.newestOnTop||e.newestOnTop,this.timeout=null!=e.timeout?e.timeout:5e3,this.typeClasses=e.typeClasses||{error:"toast-error",info:"toast-info",wait:"toast-wait",success:"toast-success",warning:"toast-warning"},this.iconClasses=e.iconClasses||{error:"icon-error",info:"icon-info",wait:"icon-wait",success:"icon-success",warning:"icon-warning"},this.bodyOutputType=e.bodyOutputType||r.Default,this.bodyTemplate=e.bodyTemplate||"toasterBodyTmpl.html",this.defaultTypeClass=e.defaultTypeClass||"toast-info",this.positionClass=e.positionClass||"toast-top-right",this.titleClass=e.titleClass||"toast-title",this.messageClass=e.messageClass||"toast-message",this.animation=e.animation||"",this.preventDuplicates=null!=e.preventDuplicates&&e.preventDuplicates,this.mouseoverTimerStop=null!=e.mouseoverTimerStop&&e.mouseoverTimerStop,this.toastContainerId=null!=e.toastContainerId?e.toastContainerId:null}}(),b=n(32),v=n(148),k=n(1088),w=function(e,t,n,r){var i,a=arguments.length,o=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},_=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},j=function(){function e(){}return e.newGuid=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})},e}(),C=function(){function e(){var e=this;this.addToast=new b.a(function(t){return e._addToast=t}).pipe(Object(k.a)()),this.clearToasts=new b.a(function(t){return e._clearToasts=t}).pipe(Object(k.a)()),this._removeToastSubject=new v.a,this.removeToast=this._removeToastSubject.pipe(Object(k.a)())}return e.prototype.pop=function(e,t,n){var r="string"==typeof e?{type:e,title:t,body:n}:e;if(r.toastId||(r.toastId=j.newGuid()),!this._addToast)throw new Error("No Toaster Containers have been initialized to receive toasts.");return this._addToast.next(r),r},e.prototype.popAsync=function(e,t,n){var r=this;return setTimeout(function(){r.pop(e,t,n)},0),this.addToast},e.prototype.clear=function(e,t){var n={toastId:e,toastContainerId:t};this._clearToasts.next(n)},(e=w([_("design:paramtypes",[])],e)).ɵfac=function(t){return new(t||e)},e.ɵprov=i["ɵɵdefineInjectable"]({token:e,factory:function(t){return e.ɵfac(t)}}),e}();function E(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"div",2),i["ɵɵlistener"]("click",function(){i["ɵɵrestoreView"](n);var e=t.$implicit;return i["ɵɵnextContext"]().click(e)})("clickEvent",function(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().childClick(e)})("mouseover",function(){i["ɵɵrestoreView"](n);var e=t.$implicit;return i["ɵɵnextContext"]().stopTimer(e)})("mouseout",function(){i["ɵɵrestoreView"](n);var e=t.$implicit;return i["ɵɵnextContext"]().restartTimer(e)}),i["ɵɵtext"](1,"\n "),i["ɵɵelementEnd"]()}if(2&e){var r=t.$implicit,a=i["ɵɵnextContext"]();i["ɵɵproperty"]("toast",r)("@toastState",a.toasterconfig.animation)("iconClass",a.toasterconfig.iconClasses[r.type])("titleClass",a.toasterconfig.titleClass)("messageClass",a.toasterconfig.messageClass)("ngClass",a.toasterconfig.typeClasses[r.type])}}var x=function(e){return[e]},S=function(e,t,n,r){var i,a=arguments.length,o=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},T=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},O=function(){function e(e,t,n){this.ref=t,this.ngZone=n,this.timeoutIds=new Map,this.toasts=[],this.toasterService=e}return e.prototype.ngOnInit=function(){this.registerSubscribers(),this.isNullOrUndefined(this.toasterconfig)&&(this.toasterconfig=new y)},e.prototype.click=function(e,t){if(this.toasterconfig.tapToDismiss||e.showCloseButton&&t){var n=!0;if(e.clickHandler){if("function"!=typeof e.clickHandler)return console.log("The toast click handler is not a callable function."),!1;n=e.clickHandler(e,t)}n&&this.removeToast(e)}},e.prototype.childClick=function(e){this.click(e.value.toast,e.value.isCloseButton)},e.prototype.stopTimer=function(e){if(this.toasterconfig.mouseoverTimerStop){var t=this.toastIdOrDefault(e),n=this.timeoutIds.get(t);n&&(window.clearTimeout(n),this.timeoutIds.delete(t))}},e.prototype.restartTimer=function(e){var t=this.timeoutIds.get(this.toastIdOrDefault(e));this.toasterconfig.mouseoverTimerStop?t||this.configureTimer(e):0!==e.timeout&&!t&&this.toasterconfig.timeout&&this.removeToast(e)},e.prototype.registerSubscribers=function(){var e=this;this.addToastSubscriber=this.toasterService.addToast.subscribe(function(t){e.addToast(t)}),this.clearToastsSubscriber=this.toasterService.clearToasts.subscribe(function(t){e.clearToasts(t)})},e.prototype.addToast=function(e){if(!e.toastContainerId||!this.toasterconfig.toastContainerId||e.toastContainerId===this.toasterconfig.toastContainerId){if(e.type||(e.type=this.toasterconfig.defaultTypeClass),this.toasterconfig.preventDuplicates&&this.toasts.length>0){if(e.toastId&&this.toasts.some(function(t){return t.toastId===e.toastId}))return;if(this.toasts.some(function(t){return t.body===e.body}))return}this.isNullOrUndefined(e.showCloseButton)&&("object"==typeof this.toasterconfig.showCloseButton?e.showCloseButton=this.toasterconfig.showCloseButton[e.type]:"boolean"==typeof this.toasterconfig.showCloseButton&&(e.showCloseButton=this.toasterconfig.showCloseButton)),e.showCloseButton&&(e.closeHtml=e.closeHtml||this.toasterconfig.closeHtml),e.bodyOutputType=e.bodyOutputType||this.toasterconfig.bodyOutputType,this.configureTimer(e),this.toasterconfig.newestOnTop?(this.toasts.unshift(e),this.isLimitExceeded()&&this.toasts.pop()):(this.toasts.push(e),this.isLimitExceeded()&&this.toasts.shift()),e.onShowCallback&&e.onShowCallback(e)}},e.prototype.configureTimer=function(e){var t=this,n="number"==typeof e.timeout?e.timeout:this.toasterconfig.timeout;"object"==typeof n&&(n=n[e.type]),n>0&&this.ngZone.runOutsideAngular(function(){var r=window.setTimeout(function(){t.ngZone.run(function(){t.ref.markForCheck(),t.removeToast(e)})},n);t.timeoutIds.set(t.toastIdOrDefault(e),r)})},e.prototype.isLimitExceeded=function(){return this.toasterconfig.limit&&this.toasts.length>this.toasterconfig.limit},e.prototype.removeToast=function(e){var t=this.toasts.indexOf(e);if(!(t<0)){var n=this.toastIdOrDefault(e),r=this.timeoutIds.get(n);this.toasts.splice(t,1),r&&(window.clearTimeout(r),this.timeoutIds.delete(n)),e.onHideCallback&&e.onHideCallback(e),this.toasterService._removeToastSubject.next({toastId:n,toastContainerId:e.toastContainerId})}},e.prototype.removeAllToasts=function(){for(var e=this.toasts.length-1;e>=0;e--)this.removeToast(this.toasts[e])},e.prototype.clearToasts=function(e){var t=e.toastId,n=e.toastContainerId;this.isNullOrUndefined(n)?this.clearToastsAction(t):n===this.toasterconfig.toastContainerId&&this.clearToastsAction(t)},e.prototype.clearToastsAction=function(e){e?this.removeToast(this.toasts.filter(function(t){return t.toastId===e})[0]):this.removeAllToasts()},e.prototype.toastIdOrDefault=function(e){return e.toastId||""},e.prototype.isNullOrUndefined=function(e){return null==e},e.prototype.ngOnDestroy=function(){this.addToastSubscriber&&this.addToastSubscriber.unsubscribe(),this.clearToastsSubscriber&&this.clearToastsSubscriber.unsubscribe()},S([Object(i.Input)(),T("design:type",y)],e.prototype,"toasterconfig",void 0),(e=S([T("design:paramtypes",[C,i.ChangeDetectorRef,i.NgZone])],e)).ɵfac=function(t){return new(t||e)(i["ɵɵdirectiveInject"](C),i["ɵɵdirectiveInject"](i.ChangeDetectorRef),i["ɵɵdirectiveInject"](i.NgZone))},e.ɵcmp=i["ɵɵdefineComponent"]({type:e,selectors:[["toaster-container"]],inputs:{toasterconfig:"toasterconfig"},decls:6,vars:4,consts:[["id","toast-container",3,"ngClass"],["toastComp","","class","toast",3,"toast","iconClass","titleClass","messageClass","ngClass","click","clickEvent","mouseover","mouseout",4,"ngFor","ngForOf"],["toastComp","",1,"toast",3,"toast","iconClass","titleClass","messageClass","ngClass","click","clickEvent","mouseover","mouseout"]],template:function(e,t){1&e&&(i["ɵɵtext"](0,"\n "),i["ɵɵelementStart"](1,"div",0),i["ɵɵtext"](2,"\n "),i["ɵɵtemplate"](3,E,2,6,"div",1),i["ɵɵtext"](4,"\n "),i["ɵɵelementEnd"](),i["ɵɵtext"](5,"\n ")),2&e&&(i["ɵɵadvance"](1),i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](2,x,t.toasterconfig.positionClass)),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngForOf",t.toasts))},directives:[o.NgClass,o.NgForOf,m],encapsulation:2,data:{animation:[Object(g.j)("toastState",[Object(g.g)("flyRight, flyLeft, slideDown, slideUp, fade",Object(g.h)({opacity:1,transform:"translate(0,0)"})),Object(g.i)("void => flyRight",[Object(g.h)({opacity:0,transform:"translateX(100%)"}),Object(g.e)("0.25s ease-in")]),Object(g.i)("flyRight => void",[Object(g.e)("0.25s 10ms ease-out",Object(g.h)({opacity:0,transform:"translateX(100%)"}))]),Object(g.i)("void => flyLeft",[Object(g.h)({opacity:0,transform:"translateX(-100%)"}),Object(g.e)("0.25s ease-in")]),Object(g.i)("flyLeft => void",[Object(g.e)("0.25s 10ms ease-out",Object(g.h)({opacity:0,transform:"translateX(-100%)"}))]),Object(g.i)("void => slideDown",[Object(g.h)({opacity:0,transform:"translateY(-200%)"}),Object(g.e)("0.3s ease-in")]),Object(g.i)("slideDown => void",[Object(g.e)("0.3s 10ms ease-out",Object(g.h)({opacity:0,transform:"translateY(200%)"}))]),Object(g.i)("void => slideUp",[Object(g.h)({opacity:0,transform:"translateY(200%)"}),Object(g.e)("0.3s ease-in")]),Object(g.i)("slideUp => void",[Object(g.e)("0.3s 10ms ease-out",Object(g.h)({opacity:0,transform:"translateY(-200%)"}))]),Object(g.i)("void => fade",[Object(g.h)({opacity:0}),Object(g.e)("0.3s ease-in")]),Object(g.i)("fade => void",[Object(g.e)("0.3s 10ms ease-out",Object(g.h)({opacity:0}))])])]}}),e}(),I=function(){function e(){}var t;return t=e,e.forRoot=function(){return{ngModule:t,providers:[C,O]}},e.forChild=function(){return{ngModule:t,providers:[O]}},e.ɵmod=i["ɵɵdefineNgModule"]({type:e}),e.ɵinj=i["ɵɵdefineInjector"]({factory:function(t){return new(t||e)},imports:[[o.CommonModule]]}),("undefined"==typeof ngJitMode||ngJitMode)&&i["ɵɵsetNgModuleScope"](e,{declarations:function(){return[m,O]},imports:function(){return[o.CommonModule]},exports:function(){return[O,m]}}),e}();n.d(t,"ToastComponent",function(){return m}),n.d(t,"ToasterContainerComponent",function(){return O}),n.d(t,"ToasterService",function(){return C}),n.d(t,"ToasterConfig",function(){return y}),n.d(t,"BodyOutputType",function(){return r}),n.d(t,"ToasterModule",function(){return I})},,function(e,t,n){"use strict";var r;n.d(t,"a",function(){return r}),function(e){e[e.Trace=0]="Trace",e[e.Debug=1]="Debug",e[e.Information=2]="Information",e[e.Warning=3]="Warning",e[e.Error=4]="Error",e[e.Critical=5]="Critical",e[e.None=6]="None"}(r||(r={}))},function(e,t,n){"use strict";n.r(t);var r=n(1),i=n(0),a=n(1089),o=n(732),s=n(308),l=n(165),c=n(123);var u=n(24),d=n(198);function h(e,t){void 0===t&&(t=c.a);var n,r=(n=e)instanceof Date&&!isNaN(+n)?+e-t.now():Math.abs(e);return function(e){return e.lift(new p(r,t))}}var p=function(){function e(e,t){this.delay=e,this.scheduler=t}return e.prototype.call=function(e,t){return t.subscribe(new f(e,this.delay,this.scheduler))},e}(),f=function(e){function t(t,n,r){var i=e.call(this,t)||this;return i.delay=n,i.scheduler=r,i.queue=[],i.active=!1,i.errored=!1,i}return r.c(t,e),t.dispatch=function(e){for(var t=e.source,n=t.queue,r=e.scheduler,i=e.destination;n.length>0&&n[0].time-r.now()<=0;)n.shift().notification.observe(i);if(n.length>0){var a=Math.max(0,n[0].time-r.now());this.schedule(e,a)}else this.unsubscribe(),t.active=!1},t.prototype._schedule=function(e){this.active=!0,this.destination.add(e.schedule(t.dispatch,this.delay,{source:this,destination:this.destination,scheduler:e}))},t.prototype.scheduleNotification=function(e){if(!0!==this.errored){var t=this.scheduler,n=new m(t.now()+this.delay,e);this.queue.push(n),!1===this.active&&this._schedule(t)}},t.prototype._next=function(e){this.scheduleNotification(d.a.createNext(e))},t.prototype._error=function(e){this.errored=!0,this.queue=[],this.destination.error(e),this.unsubscribe()},t.prototype._complete=function(){this.scheduleNotification(d.a.createComplete()),this.unsubscribe()},t}(u.a),m=function(){return function(e,t){this.time=e,this.notification=t}}(),g=n(4),y=n(8);n.d(t,"ANGULARTICS2_TOKEN",function(){return v}),n.d(t,"AngularRouterTracking",function(){return _}),n.d(t,"Angulartics2",function(){return w}),n.d(t,"Angulartics2Module",function(){return E}),n.d(t,"Angulartics2On",function(){return j}),n.d(t,"Angulartics2OnModule",function(){return C}),n.d(t,"DefaultConfig",function(){return b}),n.d(t,"RouterlessTracking",function(){return k});var b=function(){return function(){this.pageTracking={autoTrackVirtualPages:!0,basePath:"",excludedRoutes:[],clearIds:!1,clearHash:!1,clearQueryParams:!1,idsRegExp:/^\d+$|^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/},this.developerMode=!1,this.ga={},this.appInsights={},this.gtm={},this.gst={}}}(),v=new i.InjectionToken("ANGULARTICS2"),k=function(){function e(){}return e.prototype.trackLocation=function(e){return new a.a({url:"/"})},e.prototype.prepareExternalUrl=function(e){return e},e}(),w=function(){function e(e,t){var n=this;this.tracker=e,this.pageTrack=new o.a(10),this.eventTrack=new o.a(10),this.exceptionTrack=new o.a(10),this.setAlias=new o.a(10),this.setUsername=new o.a(10),this.setUserProperties=new o.a(10),this.setUserPropertiesOnce=new o.a(10),this.setSuperProperties=new o.a(10),this.setSuperPropertiesOnce=new o.a(10),this.userTimings=new o.a(10),this.unsetUserProperties=new o.a(10);var i=new b;this.settings=Object(r.a)(Object(r.a)({},i),t.settings),this.settings.pageTracking=Object(r.a)(Object(r.a)({},i.pageTracking),t.settings.pageTracking),this.tracker.trackLocation(this.settings).subscribe(function(e){return n.trackUrlChange(e.url)})}return e.prototype.filterDeveloperMode=function(){var e=this;return Object(s.a)(function(t,n){return!e.settings.developerMode})},e.prototype.trackUrlChange=function(e){if(this.settings.pageTracking.autoTrackVirtualPages&&!this.matchesExcludedRoute(e)){var t=this.clearUrl(e),n=void 0;n=this.settings.pageTracking.basePath.length?this.settings.pageTracking.basePath+t:this.tracker.prepareExternalUrl(t),this.pageTrack.next({path:n})}},e.prototype.matchesExcludedRoute=function(e){var t,n;try{for(var i=Object(r.h)(this.settings.pageTracking.excludedRoutes),a=i.next();!a.done;a=i.next()){var o=a.value;if(o instanceof RegExp&&o.test(e)||-1!==e.indexOf(o))return!0}}catch(s){t={error:s}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}return!1},e.prototype.clearUrl=function(e){var t=this;return this.settings.pageTracking.clearIds||this.settings.pageTracking.clearQueryParams||this.settings.pageTracking.clearHash?e.split("/").map(function(e){return t.settings.pageTracking.clearQueryParams?e.split("?")[0]:e}).map(function(e){return t.settings.pageTracking.clearHash?e.split("#")[0]:e}).filter(function(e){return!t.settings.pageTracking.clearIds||!e.match(t.settings.pageTracking.idsRegExp)}).join("/"):e},e.ctorParameters=function(){return[{type:k},{type:void 0,decorators:[{type:i.Inject,args:[v]}]}]},e.ɵprov=Object(i["ɵɵdefineInjectable"])({factory:function(){return new e(Object(i["ɵɵinject"])(k),Object(i["ɵɵinject"])(v))},token:e,providedIn:"root"}),(e=Object(r.b)([Object(r.e)(1,Object(i.Inject)(v))],e)).ɵfac=function(t){return new(t||e)(i["ɵɵinject"](k),i["ɵɵinject"](v))},e}(),_=function(){function e(e,t){this.router=e,this.location=t}return e.prototype.trackLocation=function(e){return this.router.events.pipe(Object(s.a)(function(e){return e instanceof y.NavigationEnd}),Object(s.a)(function(){return!e.developerMode}),Object(l.a)(function(e){return{url:e.urlAfterRedirects}}),h(0))},e.prototype.prepareExternalUrl=function(e){return this.location.prepareExternalUrl(e)},e.ctorParameters=function(){return[{type:y.Router},{type:g.Location}]},e.ɵprov=Object(i["ɵɵdefineInjectable"])({factory:function(){return new e(Object(i["ɵɵinject"])(y.Router),Object(i["ɵɵinject"])(g.Location))},token:e,providedIn:"root"}),e.ɵfac=function(t){return new(t||e)(i["ɵɵinject"](y.Router),i["ɵɵinject"](g.Location))},e}(),j=function(){function e(e,t,n){this.elRef=e,this.angulartics2=t,this.renderer=n,this.angularticsProperties={}}return e.prototype.ngAfterContentInit=function(){var e=this;this.renderer.listen(this.elRef.nativeElement,this.angulartics2On||"click",function(t){return e.eventTrack(t)})},e.prototype.eventTrack=function(e){var t=this.angularticsAction,n=Object(r.a)(Object(r.a)({},this.angularticsProperties),{eventType:e.type});this.angularticsCategory&&(n.category=this.angularticsCategory),this.angularticsLabel&&(n.label=this.angularticsLabel),this.angularticsValue&&(n.value=this.angularticsValue),this.angulartics2.eventTrack.next({action:t,properties:n})},e.ctorParameters=function(){return[{type:i.ElementRef},{type:w},{type:i.Renderer2}]},Object(r.b)([Object(i.Input)("angulartics2On")],e.prototype,"angulartics2On",void 0),Object(r.b)([Object(i.Input)()],e.prototype,"angularticsAction",void 0),Object(r.b)([Object(i.Input)()],e.prototype,"angularticsCategory",void 0),Object(r.b)([Object(i.Input)()],e.prototype,"angularticsLabel",void 0),Object(r.b)([Object(i.Input)()],e.prototype,"angularticsValue",void 0),Object(r.b)([Object(i.Input)()],e.prototype,"angularticsProperties",void 0),e.ɵfac=function(t){return new(t||e)(i["ɵɵdirectiveInject"](i.ElementRef),i["ɵɵdirectiveInject"](w),i["ɵɵdirectiveInject"](i.Renderer2))},e.ɵdir=i["ɵɵdefineDirective"]({type:e,selectors:[["","angulartics2On",""]],inputs:{angularticsProperties:"angularticsProperties",angulartics2On:"angulartics2On",angularticsAction:"angularticsAction",angularticsCategory:"angularticsCategory",angularticsLabel:"angularticsLabel",angularticsValue:"angularticsValue"}}),e}(),C=function(){function e(){}return e.ɵmod=i["ɵɵdefineNgModule"]({type:e}),e.ɵinj=i["ɵɵdefineInjector"]({factory:function(t){return new(t||e)}}),("undefined"==typeof ngJitMode||ngJitMode)&&i["ɵɵsetNgModuleScope"](e,{declarations:[j],exports:[j]}),e}(),E=function(){function e(){}var t;return t=e,e.forRoot=function(e){return void 0===e&&(e={}),{ngModule:t,providers:[{provide:v,useValue:{settings:e}},{provide:k,useClass:_},w]}},e.ɵmod=i["ɵɵdefineNgModule"]({type:e}),e.ɵinj=i["ɵɵdefineInjector"]({factory:function(t){return new(t||e)},imports:[[C]]}),("undefined"==typeof ngJitMode||ngJitMode)&&i["ɵɵsetNgModuleScope"](e,{imports:[C],exports:[j]}),e}()},function(e,t,n){"use strict";n.d(t,"a",function(){return a}),n.d(t,"b",function(){return r}),n.d(t,"c",function(){return i}),n.d(t,"d",function(){return p}),n.d(t,"e",function(){return s}),n.d(t,"f",function(){return l}),n.d(t,"g",function(){return u}),n.d(t,"h",function(){return c}),n.d(t,"i",function(){return d}),n.d(t,"j",function(){return o}),n.d(t,"k",function(){return f}),n.d(t,"l",function(){return m}); -/** - * @license Angular v9.1.12 - * (c) 2010-2020 Google LLC. https://angular.io/ - * License: MIT - */ -var r=function(){return function(){}}(),i=function(){return function(){}}(),a="*";function o(e,t){return{type:7,name:e,definitions:t,options:{}}}function s(e,t){return void 0===t&&(t=null),{type:4,styles:t,timings:e}}function l(e,t){return void 0===t&&(t=null),{type:2,steps:e,options:t}}function c(e){return{type:6,styles:e,offset:null}}function u(e,t,n){return{type:0,name:e,styles:t,options:n}}function d(e,t,n){return void 0===n&&(n=null),{type:1,expr:e,animation:t,options:n}} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -function h(e){Promise.resolve(null).then(e)} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var p=function(){function e(e,t){void 0===e&&(e=0),void 0===t&&(t=0),this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this.parentPlayer=null,this.totalTime=e+t}return e.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(e){return e()}),this._onDoneFns=[])},e.prototype.onStart=function(e){this._onStartFns.push(e)},e.prototype.onDone=function(e){this._onDoneFns.push(e)},e.prototype.onDestroy=function(e){this._onDestroyFns.push(e)},e.prototype.hasStarted=function(){return this._started},e.prototype.init=function(){},e.prototype.play=function(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0},e.prototype.triggerMicrotask=function(){var e=this;h(function(){return e._onFinish()})},e.prototype._onStart=function(){this._onStartFns.forEach(function(e){return e()}),this._onStartFns=[]},e.prototype.pause=function(){},e.prototype.restart=function(){},e.prototype.finish=function(){this._onFinish()},e.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(function(e){return e()}),this._onDestroyFns=[])},e.prototype.reset=function(){},e.prototype.setPosition=function(e){},e.prototype.getPosition=function(){return 0},e.prototype.triggerCallback=function(e){var t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(function(e){return e()}),t.length=0},e}(),f=function(){function e(e){var t=this;this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=e;var n=0,r=0,i=0,a=this.players.length;0==a?h(function(){return t._onFinish()}):this.players.forEach(function(e){e.onDone(function(){++n==a&&t._onFinish()}),e.onDestroy(function(){++r==a&&t._onDestroy()}),e.onStart(function(){++i==a&&t._onStart()})}),this.totalTime=this.players.reduce(function(e,t){return Math.max(e,t.totalTime)},0)}return e.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(e){return e()}),this._onDoneFns=[])},e.prototype.init=function(){this.players.forEach(function(e){return e.init()})},e.prototype.onStart=function(e){this._onStartFns.push(e)},e.prototype._onStart=function(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(function(e){return e()}),this._onStartFns=[])},e.prototype.onDone=function(e){this._onDoneFns.push(e)},e.prototype.onDestroy=function(e){this._onDestroyFns.push(e)},e.prototype.hasStarted=function(){return this._started},e.prototype.play=function(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(function(e){return e.play()})},e.prototype.pause=function(){this.players.forEach(function(e){return e.pause()})},e.prototype.restart=function(){this.players.forEach(function(e){return e.restart()})},e.prototype.finish=function(){this._onFinish(),this.players.forEach(function(e){return e.finish()})},e.prototype.destroy=function(){this._onDestroy()},e.prototype._onDestroy=function(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(function(e){return e.destroy()}),this._onDestroyFns.forEach(function(e){return e()}),this._onDestroyFns=[])},e.prototype.reset=function(){this.players.forEach(function(e){return e.reset()}),this._destroyed=!1,this._finished=!1,this._started=!1},e.prototype.setPosition=function(e){var t=e*this.totalTime;this.players.forEach(function(e){var n=e.totalTime?Math.min(1,t/e.totalTime):1;e.setPosition(n)})},e.prototype.getPosition=function(){var e=0;return this.players.forEach(function(t){var n=t.getPosition();e=Math.min(n,e)}),e},e.prototype.beforeDestroy=function(){this.players.forEach(function(e){e.beforeDestroy&&e.beforeDestroy()})},e.prototype.triggerCallback=function(e){var t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(function(e){return e()}),t.length=0},e}(),m="!"; -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */},function(e,t,n){"use strict";n.r(t);var r=n(1),i=n(0),a=n(4),o=n(32),s=n(121),l=n(165),c=n(213),u=n(167);function d(e,t){return new o.a(function(n){var r=e.length;if(0!==r)for(var i=new Array(r),a=0,o=0,s=function(s){var l=Object(u.a)(e[s]),c=!1;n.add(l.subscribe({next:function(e){c||(c=!0,o++),i[s]=e},error:function(e){return n.error(e)},complete:function(){++a!==r&&c||(o===r&&n.next(t?t.reduce(function(e,t,n){return e[t]=i[n],e},{}):i),n.complete())}}))},l=0;le?{max:{max:e,actual:t.value}}:null}},e.required=function(e){return x(e.value)?{required:!0}:null},e.requiredTrue=function(e){return!0===e.value?null:{required:!0}},e.email=function(e){return x(e.value)?null:O.test(e.value)?null:{email:!0}},e.minLength=function(e){return function(t){if(x(t.value))return null;var n=t.value?t.value.length:0;return ne?{maxlength:{requiredLength:e,actualLength:n}}:null}},e.pattern=function(t){return t?("string"==typeof t?(r="","^"!==t.charAt(0)&&(r+="^"),r+=t,"$"!==t.charAt(t.length-1)&&(r+="$"),n=new RegExp(r)):(r=t.toString(),n=t),function(e){if(x(e.value))return null;var t=e.value;return n.test(t)?null:{pattern:{requiredPattern:r,actualValue:t}}}):e.nullValidator;var n,r},e.nullValidator=function(e){return null},e.compose=function(e){if(!e)return null;var t=e.filter(z);return 0==t.length?null:function(e){return A(function(e,t){return t.map(function(t){return t(e)})}(e,t))}},e.composeAsync=function(e){if(!e)return null;var t=e.filter(z);return 0==t.length?null:function(e){return function(){for(var e=[],t=0;t=0;--t)if(this._accessors[t][1]===e)return void this._accessors.splice(t,1)},e.prototype.select=function(e){var t=this;this._accessors.forEach(function(n){t._isSameGroup(n,e)&&n[1]!==e&&n[1].fireUncheck(e.value)})},e.prototype._isSameGroup=function(e,t){return!!e[0].control&&(e[0]._parent===t._control._parent&&e[1].name===t.name)},e.ɵfac=function(t){return new(t||e)},e.ɵprov=i["ɵɵdefineInjectable"]({token:e,factory:function(t){return e.ɵfac(t)}}),e}(),B=function(){function e(e,t,n,r){this._renderer=e,this._elementRef=t,this._registry=n,this._injector=r,this.onChange=function(){},this.onTouched=function(){}}return e.prototype.ngOnInit=function(){this._control=this._injector.get(w),this._checkName(),this._registry.add(this._control,this)},e.prototype.ngOnDestroy=function(){this._registry.remove(this)},e.prototype.writeValue=function(e){this._state=e===this.value,this._renderer.setProperty(this._elementRef.nativeElement,"checked",this._state)},e.prototype.registerOnChange=function(e){var t=this;this._fn=e,this.onChange=function(){e(t.value),t._registry.select(t)}},e.prototype.fireUncheck=function(e){this.writeValue(e)},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.prototype.setDisabledState=function(e){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",e)},e.prototype._checkName=function(){this.name&&this.formControlName&&this.name!==this.formControlName&&this._throwNameError(),!this.name&&this.formControlName&&(this.name=this.formControlName)},e.prototype._throwNameError=function(){throw new Error('\n If you define both a name and a formControlName attribute on your radio button, their values\n must match. Ex: \n ')},Object(r.b)([Object(i.Input)(),Object(r.d)("design:type",String)],e.prototype,"name",void 0),Object(r.b)([Object(i.Input)(),Object(r.d)("design:type",String)],e.prototype,"formControlName",void 0),Object(r.b)([Object(i.Input)(),Object(r.d)("design:type",Object)],e.prototype,"value",void 0),(e=Object(r.b)([Object(r.d)("design:paramtypes",[i.Renderer2,i.ElementRef,L,i.Injector])],e)).ɵfac=function(t){return new(t||e)(i["ɵɵdirectiveInject"](i.Renderer2),i["ɵɵdirectiveInject"](i.ElementRef),i["ɵɵdirectiveInject"](L),i["ɵɵdirectiveInject"](i.Injector))},e.ɵdir=i["ɵɵdefineDirective"]({type:e,selectors:[["input","type","radio","formControlName",""],["input","type","radio","formControl",""],["input","type","radio","ngModel",""]],hostBindings:function(e,t){1&e&&i["ɵɵlistener"]("change",function(){return t.onChange()})("blur",function(){return t.onTouched()})},inputs:{name:"name",formControlName:"formControlName",value:"value"},features:[i["ɵɵProvidersFeature"]([q])]}),e}(),F={provide:h,useExisting:Object(i.forwardRef)(function(){return V}),multi:!0},V=function(){function e(e,t){this._renderer=e,this._elementRef=t,this.onChange=function(e){},this.onTouched=function(){}}return e.prototype.writeValue=function(e){this._renderer.setProperty(this._elementRef.nativeElement,"value",parseFloat(e))},e.prototype.registerOnChange=function(e){this.onChange=function(t){e(""==t?null:parseFloat(t))}},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.prototype.setDisabledState=function(e){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",e)},(e=Object(r.b)([Object(r.d)("design:paramtypes",[i.Renderer2,i.ElementRef])],e)).ɵfac=function(t){return new(t||e)(i["ɵɵdirectiveInject"](i.Renderer2),i["ɵɵdirectiveInject"](i.ElementRef))},e.ɵdir=i["ɵɵdefineDirective"]({type:e,selectors:[["input","type","range","formControlName",""],["input","type","range","formControl",""],["input","type","range","ngModel",""]],hostBindings:function(e,t){1&e&&i["ɵɵlistener"]("change",function(e){return t.onChange(e.target.value)})("input",function(e){return t.onChange(e.target.value)})("blur",function(){return t.onTouched()})},features:[i["ɵɵProvidersFeature"]([F])]}),e}(),U='\n

\n \n
\n\n In your class:\n\n this.myGroup = new FormGroup({\n firstName: new FormControl()\n });',H='\n
\n
\n \n
\n
\n\n In your class:\n\n this.myGroup = new FormGroup({\n person: new FormGroup({ firstName: new FormControl() })\n });',W='\n
\n
\n
\n \n
\n
\n
\n\n In your class:\n\n this.cityArray = new FormArray([new FormControl(\'SF\')]);\n this.myGroup = new FormGroup({\n cities: this.cityArray\n });',K='\n
\n
\n \n
\n
',G='\n
\n \n \n
\n ',Q=function(){function e(){}return e.controlParentException=function(){throw new Error("formControlName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n "+U)},e.ngModelGroupException=function(){throw new Error('formControlName cannot be used with an ngModelGroup parent. It is only compatible with parents\n that also have a "form" prefix: formGroupName, formArrayName, or formGroup.\n\n Option 1: Update the parent to be formGroupName (reactive form strategy)\n\n '+H+"\n\n Option 2: Use ngModel instead of formControlName (template-driven strategy)\n\n "+K)},e.missingFormException=function(){throw new Error("formGroup expects a FormGroup instance. Please pass one in.\n\n Example:\n\n "+U)},e.groupParentException=function(){throw new Error("formGroupName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n "+H)},e.arrayParentException=function(){throw new Error("formArrayName must be used with a parent formGroup directive. You'll want to add a formGroup\n directive and pass it an existing FormGroup instance (you can create one in your class).\n\n Example:\n\n "+W)},e.disabledAttrWarning=function(){console.warn("\n It looks like you're using the disabled attribute with a reactive form directive. If you set disabled to true\n when you set up this control in your component class, the disabled attribute will actually be set in the DOM for\n you. We recommend using this approach to avoid 'changed after checked' errors.\n \n Example: \n form = new FormGroup({\n first: new FormControl({value: 'Nancy', disabled: true}, Validators.required),\n last: new FormControl('Drew', Validators.required)\n });\n ")},e.ngModelWarning=function(e){console.warn("\n It looks like you're using ngModel on the same form field as "+e+". \n Support for using the ngModel input property and ngModelChange event with \n reactive form directives has been deprecated in Angular v6 and will be removed \n in Angular v7.\n \n For more information on this, see our API docs here:\n https://angular.io/api/forms/"+("formControl"===e?"FormControlDirective":"FormControlName")+"#use-with-ngmodel\n ")},e}(),$={provide:h,useExisting:Object(i.forwardRef)(function(){return Z}),multi:!0};function Y(e,t){return null==e?""+t:(t&&"object"==typeof t&&(t="Object"),(e+": "+t).slice(0,50))}var Z=function(){function e(e,t){this._renderer=e,this._elementRef=t,this._optionMap=new Map,this._idCounter=0,this.onChange=function(e){},this.onTouched=function(){},this._compareWith=i["ɵlooseIdentical"]}return Object.defineProperty(e.prototype,"compareWith",{set:function(e){if("function"!=typeof e)throw new Error("compareWith must be a function, but received "+JSON.stringify(e));this._compareWith=e},enumerable:!0,configurable:!0}),e.prototype.writeValue=function(e){this.value=e;var t=this._getOptionId(e);null==t&&this._renderer.setProperty(this._elementRef.nativeElement,"selectedIndex",-1);var n=Y(t,e);this._renderer.setProperty(this._elementRef.nativeElement,"value",n)},e.prototype.registerOnChange=function(e){var t=this;this.onChange=function(n){t.value=t._getOptionValue(n),e(t.value)}},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.prototype.setDisabledState=function(e){this._renderer.setProperty(this._elementRef.nativeElement,"disabled",e)},e.prototype._registerOption=function(){return(this._idCounter++).toString()},e.prototype._getOptionId=function(e){var t,n;try{for(var i=Object(r.h)(Array.from(this._optionMap.keys())),a=i.next();!a.done;a=i.next()){var o=a.value;if(this._compareWith(this._optionMap.get(o),e))return o}}catch(s){t={error:s}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}return null},e.prototype._getOptionValue=function(e){var t=function(e){return e.split(":")[0]}(e);return this._optionMap.has(t)?this._optionMap.get(t):e},Object(r.b)([Object(i.Input)(),Object(r.d)("design:type",Function),Object(r.d)("design:paramtypes",[Function])],e.prototype,"compareWith",null),(e=Object(r.b)([Object(r.d)("design:paramtypes",[i.Renderer2,i.ElementRef])],e)).ɵfac=function(t){return new(t||e)(i["ɵɵdirectiveInject"](i.Renderer2),i["ɵɵdirectiveInject"](i.ElementRef))},e.ɵdir=i["ɵɵdefineDirective"]({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(e,t){1&e&&i["ɵɵlistener"]("change",function(e){return t.onChange(e.target.value)})("blur",function(){return t.onTouched()})},inputs:{compareWith:"compareWith"},features:[i["ɵɵProvidersFeature"]([$])]}),e}(),J=function(){function e(e,t,n){this._element=e,this._renderer=t,this._select=n,this._select&&(this.id=this._select._registerOption())}return Object.defineProperty(e.prototype,"ngValue",{set:function(e){null!=this._select&&(this._select._optionMap.set(this.id,e),this._setElementValue(Y(this.id,e)),this._select.writeValue(this._select.value))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{set:function(e){this._setElementValue(e),this._select&&this._select.writeValue(this._select.value)},enumerable:!0,configurable:!0}),e.prototype._setElementValue=function(e){this._renderer.setProperty(this._element.nativeElement,"value",e)},e.prototype.ngOnDestroy=function(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))},Object(r.b)([Object(i.Input)("ngValue"),Object(r.d)("design:type",Object),Object(r.d)("design:paramtypes",[Object])],e.prototype,"ngValue",null),Object(r.b)([Object(i.Input)("value"),Object(r.d)("design:type",Object),Object(r.d)("design:paramtypes",[Object])],e.prototype,"value",null),(e=Object(r.b)([Object(r.e)(2,Object(i.Optional)()),Object(r.e)(2,Object(i.Host)()),Object(r.d)("design:paramtypes",[i.ElementRef,i.Renderer2,Z])],e)).ɵfac=function(t){return new(t||e)(i["ɵɵdirectiveInject"](i.ElementRef),i["ɵɵdirectiveInject"](i.Renderer2),i["ɵɵdirectiveInject"](Z,9))},e.ɵdir=i["ɵɵdefineDirective"]({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),e}(),X={provide:h,useExisting:Object(i.forwardRef)(function(){return te}),multi:!0};function ee(e,t){return null==e?""+t:("string"==typeof t&&(t="'"+t+"'"),t&&"object"==typeof t&&(t="Object"),(e+": "+t).slice(0,50))}var te=function(){function e(e,t){this._renderer=e,this._elementRef=t,this._optionMap=new Map,this._idCounter=0,this.onChange=function(e){},this.onTouched=function(){},this._compareWith=i["ɵlooseIdentical"]}return Object.defineProperty(e.prototype,"compareWith",{set:function(e){if("function"!=typeof e)throw new Error("compareWith must be a function, but received "+JSON.stringify(e));this._compareWith=e},enumerable:!0,configurable:!0}),e.prototype.writeValue=function(e){var t,n=this;if(this.value=e,Array.isArray(e)){var r=e.map(function(e){return n._getOptionId(e)});t=function(e,t){e._setSelected(r.indexOf(t.toString())>-1)}}else t=function(e,t){e._setSelected(!1)};this._optionMap.forEach(t)},e.prototype.registerOnChange=function(e){var t=this;this.onChange=function(n){var r=[];if(n.hasOwnProperty("selectedOptions"))for(var i=n.selectedOptions,a=0;a1?"path: '"+e.path.join(" -> ")+"'":e.path[0]?"name: '"+e.path+"'":"unspecified name attribute",new Error(t+" "+n)}function ce(e){return null!=e?I.compose(e.map(N)):null}function ue(e){return null!=e?I.composeAsync(e.map(P)):null}function de(e,t){if(!e.hasOwnProperty("model"))return!1;var n=e.model;return!!n.isFirstChange()||!Object(i["ɵlooseIdentical"])(t,n.currentValue)}var he=[f,V,M,Z,te,B];function pe(e,t){e._syncPendingControls(),t.forEach(function(e){var t=e.control;"submit"===t.updateOn&&t._pendingChange&&(e.viewToModelUpdate(t._pendingValue),t._pendingChange=!1)})}function fe(e,t){if(!t)return null;Array.isArray(t)||le(e,"Value accessor was not provided as an array for form control with");var n=void 0,r=void 0,i=void 0;return t.forEach(function(t){var a;t.constructor===y?n=t:(a=t,he.some(function(e){return a.constructor===e})?(r&&le(e,"More than one built-in value accessor matches form control with"),r=t):(i&&le(e,"More than one custom value accessor matches form control with"),i=t))}),i||(r||(n||(le(e,"No valid value accessor for form control with"),null)))}function me(e,t){var n=e.indexOf(t);n>-1&&e.splice(n,1)}function ge(e,t,n,r){Object(i.isDevMode)()&&"never"!==r&&((null!==r&&"once"!==r||t._ngModelWarningSentOnce)&&("always"!==r||n._ngModelWarningSent)||(Q.ngModelWarning(e),t._ngModelWarningSentOnce=!0,n._ngModelWarningSent=!0))} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function ye(e){var t=ve(e)?e.validators:e;return Array.isArray(t)?ce(t):t||null}function be(e,t){var n=ve(t)?t.asyncValidators:e;return Array.isArray(n)?ue(n):n||null}function ve(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}var ke=function(){function e(e,t){this.validator=e,this.asyncValidator=t,this._onCollectionChange=function(){},this.pristine=!0,this.touched=!1,this._onDisabledChange=[]}return Object.defineProperty(e.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"valid",{get:function(){return"VALID"===this.status},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"invalid",{get:function(){return"INVALID"===this.status},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"pending",{get:function(){return"PENDING"==this.status},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return"DISABLED"===this.status},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"enabled",{get:function(){return"DISABLED"!==this.status},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dirty",{get:function(){return!this.pristine},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"untouched",{get:function(){return!this.touched},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"updateOn",{get:function(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"},enumerable:!0,configurable:!0}),e.prototype.setValidators=function(e){this.validator=ye(e)},e.prototype.setAsyncValidators=function(e){this.asyncValidator=be(e)},e.prototype.clearValidators=function(){this.validator=null},e.prototype.clearAsyncValidators=function(){this.asyncValidator=null},e.prototype.markAsTouched=function(e){void 0===e&&(e={}),this.touched=!0,this._parent&&!e.onlySelf&&this._parent.markAsTouched(e)},e.prototype.markAllAsTouched=function(){this.markAsTouched({onlySelf:!0}),this._forEachChild(function(e){return e.markAllAsTouched()})},e.prototype.markAsUntouched=function(e){void 0===e&&(e={}),this.touched=!1,this._pendingTouched=!1,this._forEachChild(function(e){e.markAsUntouched({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)},e.prototype.markAsDirty=function(e){void 0===e&&(e={}),this.pristine=!1,this._parent&&!e.onlySelf&&this._parent.markAsDirty(e)},e.prototype.markAsPristine=function(e){void 0===e&&(e={}),this.pristine=!0,this._pendingDirty=!1,this._forEachChild(function(e){e.markAsPristine({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)},e.prototype.markAsPending=function(e){void 0===e&&(e={}),this.status="PENDING",!1!==e.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!e.onlySelf&&this._parent.markAsPending(e)},e.prototype.disable=function(e){void 0===e&&(e={});var t=this._parentMarkedDirty(e.onlySelf);this.status="DISABLED",this.errors=null,this._forEachChild(function(t){t.disable(Object(r.a)(Object(r.a)({},e),{onlySelf:!0}))}),this._updateValue(),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object(r.a)(Object(r.a)({},e),{skipPristineCheck:t})),this._onDisabledChange.forEach(function(e){return e(!0)})},e.prototype.enable=function(e){void 0===e&&(e={});var t=this._parentMarkedDirty(e.onlySelf);this.status="VALID",this._forEachChild(function(t){t.enable(Object(r.a)(Object(r.a)({},e),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent}),this._updateAncestors(Object(r.a)(Object(r.a)({},e),{skipPristineCheck:t})),this._onDisabledChange.forEach(function(e){return e(!1)})},e.prototype._updateAncestors=function(e){this._parent&&!e.onlySelf&&(this._parent.updateValueAndValidity(e),e.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())},e.prototype.setParent=function(e){this._parent=e},e.prototype.updateValueAndValidity=function(e){void 0===e&&(e={}),this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),"VALID"!==this.status&&"PENDING"!==this.status||this._runAsyncValidator(e.emitEvent)),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!e.onlySelf&&this._parent.updateValueAndValidity(e)},e.prototype._updateTreeValidity=function(e){void 0===e&&(e={emitEvent:!0}),this._forEachChild(function(t){return t._updateTreeValidity(e)}),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent})},e.prototype._setInitialStatus=function(){this.status=this._allControlsDisabled()?"DISABLED":"VALID"},e.prototype._runValidator=function(){return this.validator?this.validator(this):null},e.prototype._runAsyncValidator=function(e){var t=this;if(this.asyncValidator){this.status="PENDING";var n=D(this.asyncValidator(this));this._asyncValidationSubscription=n.subscribe(function(n){return t.setErrors(n,{emitEvent:e})})}},e.prototype._cancelExistingSubscription=function(){this._asyncValidationSubscription&&this._asyncValidationSubscription.unsubscribe()},e.prototype.setErrors=function(e,t){void 0===t&&(t={}),this.errors=e,this._updateControlsErrors(!1!==t.emitEvent)},e.prototype.get=function(e){return function(e,t,n){if(null==t)return null;if(Array.isArray(t)||(t=t.split(n)),Array.isArray(t)&&0===t.length)return null;var r=e;return t.forEach(function(e){r=r instanceof _e?r.controls.hasOwnProperty(e)?r.controls[e]:null:r instanceof je&&r.at(e)||null}),r}(this,e,".")},e.prototype.getError=function(e,t){var n=t?this.get(t):this;return n&&n.errors?n.errors[e]:null},e.prototype.hasError=function(e,t){return!!this.getError(e,t)},Object.defineProperty(e.prototype,"root",{get:function(){for(var e=this;e._parent;)e=e._parent;return e},enumerable:!0,configurable:!0}),e.prototype._updateControlsErrors=function(e){this.status=this._calculateStatus(),e&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(e)},e.prototype._initObservables=function(){this.valueChanges=new i.EventEmitter,this.statusChanges=new i.EventEmitter},e.prototype._calculateStatus=function(){return this._allControlsDisabled()?"DISABLED":this.errors?"INVALID":this._anyControlsHaveStatus("PENDING")?"PENDING":this._anyControlsHaveStatus("INVALID")?"INVALID":"VALID"},e.prototype._anyControlsHaveStatus=function(e){return this._anyControls(function(t){return t.status===e})},e.prototype._anyControlsDirty=function(){return this._anyControls(function(e){return e.dirty})},e.prototype._anyControlsTouched=function(){return this._anyControls(function(e){return e.touched})},e.prototype._updatePristine=function(e){void 0===e&&(e={}),this.pristine=!this._anyControlsDirty(),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)},e.prototype._updateTouched=function(e){void 0===e&&(e={}),this.touched=this._anyControlsTouched(),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)},e.prototype._isBoxedValue=function(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e},e.prototype._registerOnCollectionChange=function(e){this._onCollectionChange=e},e.prototype._setUpdateStrategy=function(e){ve(e)&&null!=e.updateOn&&(this._updateOn=e.updateOn)},e.prototype._parentMarkedDirty=function(e){var t=this._parent&&this._parent.dirty;return!e&&t&&!this._parent._anyControlsDirty()},e}(),we=function(e){function t(t,n,r){void 0===t&&(t=null);var i=e.call(this,ye(n),be(r,n))||this;return i._onChange=[],i._applyFormState(t),i._setUpdateStrategy(n),i.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),i._initObservables(),i}return Object(r.c)(t,e),t.prototype.setValue=function(e,t){var n=this;void 0===t&&(t={}),this.value=this._pendingValue=e,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(function(e){return e(n.value,!1!==t.emitViewToModelChange)}),this.updateValueAndValidity(t)},t.prototype.patchValue=function(e,t){void 0===t&&(t={}),this.setValue(e,t)},t.prototype.reset=function(e,t){void 0===e&&(e=null),void 0===t&&(t={}),this._applyFormState(e),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1},t.prototype._updateValue=function(){},t.prototype._anyControls=function(e){return!1},t.prototype._allControlsDisabled=function(){return this.disabled},t.prototype.registerOnChange=function(e){this._onChange.push(e)},t.prototype._clearChangeFns=function(){this._onChange=[],this._onDisabledChange=[],this._onCollectionChange=function(){}},t.prototype.registerOnDisabledChange=function(e){this._onDisabledChange.push(e)},t.prototype._forEachChild=function(e){},t.prototype._syncPendingControls=function(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange))&&(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),!0)},t.prototype._applyFormState=function(e){this._isBoxedValue(e)?(this.value=this._pendingValue=e.value,e.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=e},t}(ke),_e=function(e){function t(t,n,r){var i=e.call(this,ye(n),be(r,n))||this;return i.controls=t,i._initObservables(),i._setUpdateStrategy(n),i._setUpControls(),i.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),i}return Object(r.c)(t,e),t.prototype.registerControl=function(e,t){return this.controls[e]?this.controls[e]:(this.controls[e]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)},t.prototype.addControl=function(e,t){this.registerControl(e,t),this.updateValueAndValidity(),this._onCollectionChange()},t.prototype.removeControl=function(e){this.controls[e]&&this.controls[e]._registerOnCollectionChange(function(){}),delete this.controls[e],this.updateValueAndValidity(),this._onCollectionChange()},t.prototype.setControl=function(e,t){this.controls[e]&&this.controls[e]._registerOnCollectionChange(function(){}),delete this.controls[e],t&&this.registerControl(e,t),this.updateValueAndValidity(),this._onCollectionChange()},t.prototype.contains=function(e){return this.controls.hasOwnProperty(e)&&this.controls[e].enabled},t.prototype.setValue=function(e,t){var n=this;void 0===t&&(t={}),this._checkAllValuesPresent(e),Object.keys(e).forEach(function(r){n._throwIfControlMissing(r),n.controls[r].setValue(e[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)},t.prototype.patchValue=function(e,t){var n=this;void 0===t&&(t={}),Object.keys(e).forEach(function(r){n.controls[r]&&n.controls[r].patchValue(e[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)},t.prototype.reset=function(e,t){void 0===e&&(e={}),void 0===t&&(t={}),this._forEachChild(function(n,r){n.reset(e[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)},t.prototype.getRawValue=function(){return this._reduceChildren({},function(e,t,n){return e[n]=t instanceof we?t.value:t.getRawValue(),e})},t.prototype._syncPendingControls=function(){var e=this._reduceChildren(!1,function(e,t){return!!t._syncPendingControls()||e});return e&&this.updateValueAndValidity({onlySelf:!0}),e},t.prototype._throwIfControlMissing=function(e){if(!Object.keys(this.controls).length)throw new Error("\n There are no form controls registered with this group yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.controls[e])throw new Error("Cannot find form control with name: "+e+".")},t.prototype._forEachChild=function(e){var t=this;Object.keys(this.controls).forEach(function(n){return e(t.controls[n],n)})},t.prototype._setUpControls=function(){var e=this;this._forEachChild(function(t){t.setParent(e),t._registerOnCollectionChange(e._onCollectionChange)})},t.prototype._updateValue=function(){this.value=this._reduceValue()},t.prototype._anyControls=function(e){var t=this,n=!1;return this._forEachChild(function(r,i){n=n||t.contains(i)&&e(r)}),n},t.prototype._reduceValue=function(){var e=this;return this._reduceChildren({},function(t,n,r){return(n.enabled||e.disabled)&&(t[r]=n.value),t})},t.prototype._reduceChildren=function(e,t){var n=e;return this._forEachChild(function(e,r){n=t(n,e,r)}),n},t.prototype._allControlsDisabled=function(){var e,t;try{for(var n=Object(r.h)(Object.keys(this.controls)),i=n.next();!i.done;i=n.next()){var a=i.value;if(this.controls[a].enabled)return!1}}catch(o){e={error:o}}finally{try{i&&!i.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}return Object.keys(this.controls).length>0||this.disabled},t.prototype._checkAllValuesPresent=function(e){this._forEachChild(function(t,n){if(void 0===e[n])throw new Error("Must supply a value for form control with name: '"+n+"'.")})},t}(ke),je=function(e){function t(t,n,r){var i=e.call(this,ye(n),be(r,n))||this;return i.controls=t,i._initObservables(),i._setUpdateStrategy(n),i._setUpControls(),i.updateValueAndValidity({onlySelf:!0,emitEvent:!1}),i}return Object(r.c)(t,e),t.prototype.at=function(e){return this.controls[e]},t.prototype.push=function(e){this.controls.push(e),this._registerControl(e),this.updateValueAndValidity(),this._onCollectionChange()},t.prototype.insert=function(e,t){this.controls.splice(e,0,t),this._registerControl(t),this.updateValueAndValidity()},t.prototype.removeAt=function(e){this.controls[e]&&this.controls[e]._registerOnCollectionChange(function(){}),this.controls.splice(e,1),this.updateValueAndValidity()},t.prototype.setControl=function(e,t){this.controls[e]&&this.controls[e]._registerOnCollectionChange(function(){}),this.controls.splice(e,1),t&&(this.controls.splice(e,0,t),this._registerControl(t)),this.updateValueAndValidity(),this._onCollectionChange()},Object.defineProperty(t.prototype,"length",{get:function(){return this.controls.length},enumerable:!0,configurable:!0}),t.prototype.setValue=function(e,t){var n=this;void 0===t&&(t={}),this._checkAllValuesPresent(e),e.forEach(function(e,r){n._throwIfControlMissing(r),n.at(r).setValue(e,{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)},t.prototype.patchValue=function(e,t){var n=this;void 0===t&&(t={}),e.forEach(function(e,r){n.at(r)&&n.at(r).patchValue(e,{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)},t.prototype.reset=function(e,t){void 0===e&&(e=[]),void 0===t&&(t={}),this._forEachChild(function(n,r){n.reset(e[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)},t.prototype.getRawValue=function(){return this.controls.map(function(e){return e instanceof we?e.value:e.getRawValue()})},t.prototype.clear=function(){this.controls.length<1||(this._forEachChild(function(e){return e._registerOnCollectionChange(function(){})}),this.controls.splice(0),this.updateValueAndValidity())},t.prototype._syncPendingControls=function(){var e=this.controls.reduce(function(e,t){return!!t._syncPendingControls()||e},!1);return e&&this.updateValueAndValidity({onlySelf:!0}),e},t.prototype._throwIfControlMissing=function(e){if(!this.controls.length)throw new Error("\n There are no form controls registered with this array yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n ");if(!this.at(e))throw new Error("Cannot find form control at index "+e)},t.prototype._forEachChild=function(e){this.controls.forEach(function(t,n){e(t,n)})},t.prototype._updateValue=function(){var e=this;this.value=this.controls.filter(function(t){return t.enabled||e.disabled}).map(function(e){return e.value})},t.prototype._anyControls=function(e){return this.controls.some(function(t){return t.enabled&&e(t)})},t.prototype._setUpControls=function(){var e=this;this._forEachChild(function(t){return e._registerControl(t)})},t.prototype._checkAllValuesPresent=function(e){this._forEachChild(function(t,n){if(void 0===e[n])throw new Error("Must supply a value for form control at index: "+n+".")})},t.prototype._allControlsDisabled=function(){var e,t;try{for(var n=Object(r.h)(this.controls),i=n.next();!i.done;i=n.next()){if(i.value.enabled)return!1}}catch(a){e={error:a}}finally{try{i&&!i.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}return this.controls.length>0||this.disabled},t.prototype._registerControl=function(e){e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange)},t}(ke),Ce={provide:v,useExisting:Object(i.forwardRef)(function(){return xe})},Ee=Promise.resolve(null),xe=function(e){function t(t,n){var r=e.call(this)||this;return r.submitted=!1,r._directives=[],r.ngSubmit=new i.EventEmitter,r.form=new _e({},ce(t),ue(n)),r}return Object(r.c)(t,e),t.prototype.ngAfterViewInit=function(){this._setUpdateStrategy()},Object.defineProperty(t.prototype,"formDirective",{get:function(){return this},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"controls",{get:function(){return this.form.controls},enumerable:!0,configurable:!0}),t.prototype.addControl=function(e){var t=this;Ee.then(function(){var n=t._findContainer(e.path);e.control=n.registerControl(e.name,e.control),ie(e.control,e),e.control.updateValueAndValidity({emitEvent:!1}),t._directives.push(e)})},t.prototype.getControl=function(e){return this.form.get(e.path)},t.prototype.removeControl=function(e){var t=this;Ee.then(function(){var n=t._findContainer(e.path);n&&n.removeControl(e.name),me(t._directives,e)})},t.prototype.addFormGroup=function(e){var t=this;Ee.then(function(){var n=t._findContainer(e.path),r=new _e({});oe(r,e),n.registerControl(e.name,r),r.updateValueAndValidity({emitEvent:!1})})},t.prototype.removeFormGroup=function(e){var t=this;Ee.then(function(){var n=t._findContainer(e.path);n&&n.removeControl(e.name)})},t.prototype.getFormGroup=function(e){return this.form.get(e.path)},t.prototype.updateModel=function(e,t){var n=this;Ee.then(function(){n.form.get(e.path).setValue(t)})},t.prototype.setValue=function(e){this.control.setValue(e)},t.prototype.onSubmit=function(e){return this.submitted=!0,pe(this.form,this._directives),this.ngSubmit.emit(e),!1},t.prototype.onReset=function(){this.resetForm()},t.prototype.resetForm=function(e){void 0===e&&(e=void 0),this.form.reset(e),this.submitted=!1},t.prototype._setUpdateStrategy=function(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)},t.prototype._findContainer=function(e){return e.pop(),e.length?this.form.get(e):this.form},Object(r.b)([Object(i.Input)("ngFormOptions"),Object(r.d)("design:type",Object)],t.prototype,"options",void 0),(t=Object(r.b)([Object(r.e)(0,Object(i.Optional)()),Object(r.e)(0,Object(i.Self)()),Object(r.e)(0,Object(i.Inject)(S)),Object(r.e)(1,Object(i.Optional)()),Object(r.e)(1,Object(i.Self)()),Object(r.e)(1,Object(i.Inject)(T)),Object(r.d)("design:paramtypes",[Array,Array])],t)).ɵfac=function(e){return new(e||t)(i["ɵɵdirectiveInject"](S,10),i["ɵɵdirectiveInject"](T,10))},t.ɵdir=i["ɵɵdefineDirective"]({type:t,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(e,t){1&e&&i["ɵɵlistener"]("submit",function(e){return t.onSubmit(e)})("reset",function(){return t.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[i["ɵɵProvidersFeature"]([Ce]),i["ɵɵInheritDefinitionFeature"]]}),t}(v),Se=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}Object(r.c)(t,e),t.prototype.ngOnInit=function(){this._checkParentType(),this.formDirective.addFormGroup(this)},t.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeFormGroup(this)},Object.defineProperty(t.prototype,"control",{get:function(){return this.formDirective.getFormGroup(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return re(null==this.name?this.name:this.name.toString(),this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"validator",{get:function(){return ce(this._validators)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"asyncValidator",{get:function(){return ue(this._asyncValidators)},enumerable:!0,configurable:!0}),t.prototype._checkParentType=function(){},t.ɵfac=function(e){return n(e||t)},t.ɵdir=i["ɵɵdefineDirective"]({type:t,features:[i["ɵɵInheritDefinitionFeature"]]});var n=i["ɵɵgetInheritedFactory"](t);return t}(v),Te=function(){function e(){}return e.modelParentException=function(){throw new Error('\n ngModel cannot be used to register form controls with a parent formGroup directive. Try using\n formGroup\'s partner directive "formControlName" instead. Example:\n\n '+U+"\n\n Or, if you'd like to avoid registering this form control, indicate that it's standalone in ngModelOptions:\n\n Example:\n\n "+G)},e.formGroupNameException=function(){throw new Error("\n ngModel cannot be used to register form controls with a parent formGroupName or formArrayName directive.\n\n Option 1: Use formControlName instead of ngModel (reactive strategy):\n\n "+H+"\n\n Option 2: Update ngModel's parent be ngModelGroup (template-driven strategy):\n\n "+K)},e.missingNameException=function(){throw new Error('If ngModel is used within a form tag, either the name attribute must be set or the form\n control must be defined as \'standalone\' in ngModelOptions.\n\n Example 1: \n Example 2: ')},e.modelGroupParentException=function(){throw new Error("\n ngModelGroup cannot be used with a parent formGroup directive.\n\n Option 1: Use formGroupName instead of ngModelGroup (reactive strategy):\n\n "+H+"\n\n Option 2: Use a regular form tag instead of the formGroup directive (template-driven strategy):\n\n "+K)},e}(),Oe={provide:v,useExisting:Object(i.forwardRef)(function(){return Ie})},Ie=function(e){function t(t,n,r){var i=e.call(this)||this;return i._parent=t,i._validators=n,i._asyncValidators=r,i}var n;return Object(r.c)(t,e),n=t,t.prototype._checkParentType=function(){this._parent instanceof n||this._parent instanceof xe||Te.modelGroupParentException()},Object(r.b)([Object(i.Input)("ngModelGroup"),Object(r.d)("design:type",String)],t.prototype,"name",void 0),(t=n=Object(r.b)([Object(r.e)(0,Object(i.Host)()),Object(r.e)(0,Object(i.SkipSelf)()),Object(r.e)(1,Object(i.Optional)()),Object(r.e)(1,Object(i.Self)()),Object(r.e)(1,Object(i.Inject)(S)),Object(r.e)(2,Object(i.Optional)()),Object(r.e)(2,Object(i.Self)()),Object(r.e)(2,Object(i.Inject)(T)),Object(r.d)("design:paramtypes",[v,Array,Array])],t)).ɵfac=function(e){return new(e||t)(i["ɵɵdirectiveInject"](v,5),i["ɵɵdirectiveInject"](S,10),i["ɵɵdirectiveInject"](T,10))},t.ɵdir=i["ɵɵdefineDirective"]({type:t,selectors:[["","ngModelGroup",""]],inputs:{name:["ngModelGroup","name"]},exportAs:["ngModelGroup"],features:[i["ɵɵProvidersFeature"]([Oe]),i["ɵɵInheritDefinitionFeature"]]}),t}(Se),ze={provide:w,useExisting:Object(i.forwardRef)(function(){return Ae})},De=Promise.resolve(null),Ae=function(e){function t(t,n,r,a){var o=e.call(this)||this;return o.control=new we,o._registered=!1,o.update=new i.EventEmitter,o._parent=t,o._rawValidators=n||[],o._rawAsyncValidators=r||[],o.valueAccessor=fe(o,a),o}return Object(r.c)(t,e),t.prototype.ngOnChanges=function(e){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in e&&this._updateDisabled(e),de(e,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)},t.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeControl(this)},Object.defineProperty(t.prototype,"path",{get:function(){return this._parent?re(this.name,this._parent):[this.name]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"validator",{get:function(){return ce(this._rawValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"asyncValidator",{get:function(){return ue(this._rawAsyncValidators)},enumerable:!0,configurable:!0}),t.prototype.viewToModelUpdate=function(e){this.viewModel=e,this.update.emit(e)},t.prototype._setUpControl=function(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0},t.prototype._setUpdateStrategy=function(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)},t.prototype._isStandalone=function(){return!this._parent||!(!this.options||!this.options.standalone)},t.prototype._setUpStandalone=function(){ie(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})},t.prototype._checkForErrors=function(){this._isStandalone()||this._checkParentType(),this._checkName()},t.prototype._checkParentType=function(){!(this._parent instanceof Ie)&&this._parent instanceof Se?Te.formGroupNameException():this._parent instanceof Ie||this._parent instanceof xe||Te.modelParentException()},t.prototype._checkName=function(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()||this.name||Te.missingNameException()},t.prototype._updateValue=function(e){var t=this;De.then(function(){t.control.setValue(e,{emitViewToModelChange:!1})})},t.prototype._updateDisabled=function(e){var t=this,n=e.isDisabled.currentValue,r=""===n||n&&"false"!==n;De.then(function(){r&&!t.control.disabled?t.control.disable():!r&&t.control.disabled&&t.control.enable()})},Object(r.b)([Object(i.Input)(),Object(r.d)("design:type",String)],t.prototype,"name",void 0),Object(r.b)([Object(i.Input)("disabled"),Object(r.d)("design:type",Boolean)],t.prototype,"isDisabled",void 0),Object(r.b)([Object(i.Input)("ngModel"),Object(r.d)("design:type",Object)],t.prototype,"model",void 0),Object(r.b)([Object(i.Input)("ngModelOptions"),Object(r.d)("design:type",Object)],t.prototype,"options",void 0),Object(r.b)([Object(i.Output)("ngModelChange"),Object(r.d)("design:type",Object)],t.prototype,"update",void 0),(t=Object(r.b)([Object(r.e)(0,Object(i.Optional)()),Object(r.e)(0,Object(i.Host)()),Object(r.e)(1,Object(i.Optional)()),Object(r.e)(1,Object(i.Self)()),Object(r.e)(1,Object(i.Inject)(S)),Object(r.e)(2,Object(i.Optional)()),Object(r.e)(2,Object(i.Self)()),Object(r.e)(2,Object(i.Inject)(T)),Object(r.e)(3,Object(i.Optional)()),Object(r.e)(3,Object(i.Self)()),Object(r.e)(3,Object(i.Inject)(h)),Object(r.d)("design:paramtypes",[v,Array,Array,Array])],t)).ɵfac=function(e){return new(e||t)(i["ɵɵdirectiveInject"](v,9),i["ɵɵdirectiveInject"](S,10),i["ɵɵdirectiveInject"](T,10),i["ɵɵdirectiveInject"](h,10))},t.ɵdir=i["ɵɵdefineDirective"]({type:t,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[i["ɵɵProvidersFeature"]([ze]),i["ɵɵInheritDefinitionFeature"],i["ɵɵNgOnChangesFeature"]]}),t}(w),Ne=function(){function e(){}return e.ɵfac=function(t){return new(t||e)},e.ɵdir=i["ɵɵdefineDirective"]({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),e}(),Pe=new i.InjectionToken("NgModelWithFormControlWarning"),Re={provide:w,useExisting:Object(i.forwardRef)(function(){return Me})},Me=function(e){function t(t,n,r,a){var o=e.call(this)||this;return o._ngModelWarningConfig=a,o.update=new i.EventEmitter,o._ngModelWarningSent=!1,o._rawValidators=t||[],o._rawAsyncValidators=n||[],o.valueAccessor=fe(o,r),o}var n;return Object(r.c)(t,e),n=t,Object.defineProperty(t.prototype,"isDisabled",{set:function(e){Q.disabledAttrWarning()},enumerable:!0,configurable:!0}),t.prototype.ngOnChanges=function(e){this._isControlChanged(e)&&(ie(this.form,this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this.form.updateValueAndValidity({emitEvent:!1})),de(e,this.viewModel)&&(ge("formControl",n,this,this._ngModelWarningConfig),this.form.setValue(this.model),this.viewModel=this.model)},Object.defineProperty(t.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"validator",{get:function(){return ce(this._rawValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"asyncValidator",{get:function(){return ue(this._rawAsyncValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),t.prototype.viewToModelUpdate=function(e){this.viewModel=e,this.update.emit(e)},t.prototype._isControlChanged=function(e){return e.hasOwnProperty("form")},t._ngModelWarningSentOnce=!1,Object(r.b)([Object(i.Input)("formControl"),Object(r.d)("design:type",we)],t.prototype,"form",void 0),Object(r.b)([Object(i.Input)("disabled"),Object(r.d)("design:type",Boolean),Object(r.d)("design:paramtypes",[Boolean])],t.prototype,"isDisabled",null),Object(r.b)([Object(i.Input)("ngModel"),Object(r.d)("design:type",Object)],t.prototype,"model",void 0),Object(r.b)([Object(i.Output)("ngModelChange"),Object(r.d)("design:type",Object)],t.prototype,"update",void 0),(t=n=Object(r.b)([Object(r.e)(0,Object(i.Optional)()),Object(r.e)(0,Object(i.Self)()),Object(r.e)(0,Object(i.Inject)(S)),Object(r.e)(1,Object(i.Optional)()),Object(r.e)(1,Object(i.Self)()),Object(r.e)(1,Object(i.Inject)(T)),Object(r.e)(2,Object(i.Optional)()),Object(r.e)(2,Object(i.Self)()),Object(r.e)(2,Object(i.Inject)(h)),Object(r.e)(3,Object(i.Optional)()),Object(r.e)(3,Object(i.Inject)(Pe)),Object(r.d)("design:paramtypes",[Array,Array,Array,Object])],t)).ɵfac=function(e){return new(e||t)(i["ɵɵdirectiveInject"](S,10),i["ɵɵdirectiveInject"](T,10),i["ɵɵdirectiveInject"](h,10),i["ɵɵdirectiveInject"](Pe,8))},t.ɵdir=i["ɵɵdefineDirective"]({type:t,selectors:[["","formControl",""]],inputs:{isDisabled:["disabled","isDisabled"],form:["formControl","form"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],features:[i["ɵɵProvidersFeature"]([Re]),i["ɵɵInheritDefinitionFeature"],i["ɵɵNgOnChangesFeature"]]}),t}(w),qe={provide:v,useExisting:Object(i.forwardRef)(function(){return Le})},Le=function(e){function t(t,n){var r=e.call(this)||this;return r._validators=t,r._asyncValidators=n,r.submitted=!1,r.directives=[],r.form=null,r.ngSubmit=new i.EventEmitter,r}return Object(r.c)(t,e),t.prototype.ngOnChanges=function(e){this._checkFormPresent(),e.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations())},Object.defineProperty(t.prototype,"formDirective",{get:function(){return this},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"control",{get:function(){return this.form},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return[]},enumerable:!0,configurable:!0}),t.prototype.addControl=function(e){var t=this.form.get(e.path);return ie(t,e),t.updateValueAndValidity({emitEvent:!1}),this.directives.push(e),t},t.prototype.getControl=function(e){return this.form.get(e.path)},t.prototype.removeControl=function(e){me(this.directives,e)},t.prototype.addFormGroup=function(e){var t=this.form.get(e.path);oe(t,e),t.updateValueAndValidity({emitEvent:!1})},t.prototype.removeFormGroup=function(e){},t.prototype.getFormGroup=function(e){return this.form.get(e.path)},t.prototype.addFormArray=function(e){var t=this.form.get(e.path);oe(t,e),t.updateValueAndValidity({emitEvent:!1})},t.prototype.removeFormArray=function(e){},t.prototype.getFormArray=function(e){return this.form.get(e.path)},t.prototype.updateModel=function(e,t){this.form.get(e.path).setValue(t)},t.prototype.onSubmit=function(e){return this.submitted=!0,pe(this.form,this.directives),this.ngSubmit.emit(e),!1},t.prototype.onReset=function(){this.resetForm()},t.prototype.resetForm=function(e){void 0===e&&(e=void 0),this.form.reset(e),this.submitted=!1},t.prototype._updateDomValue=function(){var e=this;this.directives.forEach(function(t){var n=e.form.get(t.path);t.control!==n&&(!function(e,t){t.valueAccessor.registerOnChange(function(){return se(t)}),t.valueAccessor.registerOnTouched(function(){return se(t)}),t._rawValidators.forEach(function(e){e.registerOnValidatorChange&&e.registerOnValidatorChange(null)}),t._rawAsyncValidators.forEach(function(e){e.registerOnValidatorChange&&e.registerOnValidatorChange(null)}),e&&e._clearChangeFns()}(t.control,t),n&&ie(n,t),t.control=n)}),this.form._updateTreeValidity({emitEvent:!1})},t.prototype._updateRegistrations=function(){var e=this;this.form._registerOnCollectionChange(function(){return e._updateDomValue()}),this._oldForm&&this._oldForm._registerOnCollectionChange(function(){}),this._oldForm=this.form},t.prototype._updateValidators=function(){var e=ce(this._validators);this.form.validator=I.compose([this.form.validator,e]);var t=ue(this._asyncValidators);this.form.asyncValidator=I.composeAsync([this.form.asyncValidator,t])},t.prototype._checkFormPresent=function(){this.form||Q.missingFormException()},Object(r.b)([Object(i.Input)("formGroup"),Object(r.d)("design:type",_e)],t.prototype,"form",void 0),Object(r.b)([Object(i.Output)(),Object(r.d)("design:type",Object)],t.prototype,"ngSubmit",void 0),(t=Object(r.b)([Object(r.e)(0,Object(i.Optional)()),Object(r.e)(0,Object(i.Self)()),Object(r.e)(0,Object(i.Inject)(S)),Object(r.e)(1,Object(i.Optional)()),Object(r.e)(1,Object(i.Self)()),Object(r.e)(1,Object(i.Inject)(T)),Object(r.d)("design:paramtypes",[Array,Array])],t)).ɵfac=function(e){return new(e||t)(i["ɵɵdirectiveInject"](S,10),i["ɵɵdirectiveInject"](T,10))},t.ɵdir=i["ɵɵdefineDirective"]({type:t,selectors:[["","formGroup",""]],hostBindings:function(e,t){1&e&&i["ɵɵlistener"]("submit",function(e){return t.onSubmit(e)})("reset",function(){return t.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[i["ɵɵProvidersFeature"]([qe]),i["ɵɵInheritDefinitionFeature"],i["ɵɵNgOnChangesFeature"]]}),t}(v),Be={provide:v,useExisting:Object(i.forwardRef)(function(){return Fe})},Fe=function(e){function t(t,n,r){var i=e.call(this)||this;return i._parent=t,i._validators=n,i._asyncValidators=r,i}return Object(r.c)(t,e),t.prototype._checkParentType=function(){He(this._parent)&&Q.groupParentException()},Object(r.b)([Object(i.Input)("formGroupName"),Object(r.d)("design:type",Object)],t.prototype,"name",void 0),(t=Object(r.b)([Object(r.e)(0,Object(i.Optional)()),Object(r.e)(0,Object(i.Host)()),Object(r.e)(0,Object(i.SkipSelf)()),Object(r.e)(1,Object(i.Optional)()),Object(r.e)(1,Object(i.Self)()),Object(r.e)(1,Object(i.Inject)(S)),Object(r.e)(2,Object(i.Optional)()),Object(r.e)(2,Object(i.Self)()),Object(r.e)(2,Object(i.Inject)(T)),Object(r.d)("design:paramtypes",[v,Array,Array])],t)).ɵfac=function(e){return new(e||t)(i["ɵɵdirectiveInject"](v,13),i["ɵɵdirectiveInject"](S,10),i["ɵɵdirectiveInject"](T,10))},t.ɵdir=i["ɵɵdefineDirective"]({type:t,selectors:[["","formGroupName",""]],inputs:{name:["formGroupName","name"]},features:[i["ɵɵProvidersFeature"]([Be]),i["ɵɵInheritDefinitionFeature"]]}),t}(Se),Ve={provide:v,useExisting:Object(i.forwardRef)(function(){return Ue})},Ue=function(e){function t(t,n,r){var i=e.call(this)||this;return i._parent=t,i._validators=n,i._asyncValidators=r,i}return Object(r.c)(t,e),t.prototype.ngOnInit=function(){this._checkParentType(),this.formDirective.addFormArray(this)},t.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeFormArray(this)},Object.defineProperty(t.prototype,"control",{get:function(){return this.formDirective.getFormArray(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"path",{get:function(){return re(null==this.name?this.name:this.name.toString(),this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"validator",{get:function(){return ce(this._validators)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"asyncValidator",{get:function(){return ue(this._asyncValidators)},enumerable:!0,configurable:!0}),t.prototype._checkParentType=function(){He(this._parent)&&Q.arrayParentException()},Object(r.b)([Object(i.Input)("formArrayName"),Object(r.d)("design:type",Object)],t.prototype,"name",void 0),(t=Object(r.b)([Object(r.e)(0,Object(i.Optional)()),Object(r.e)(0,Object(i.Host)()),Object(r.e)(0,Object(i.SkipSelf)()),Object(r.e)(1,Object(i.Optional)()),Object(r.e)(1,Object(i.Self)()),Object(r.e)(1,Object(i.Inject)(S)),Object(r.e)(2,Object(i.Optional)()),Object(r.e)(2,Object(i.Self)()),Object(r.e)(2,Object(i.Inject)(T)),Object(r.d)("design:paramtypes",[v,Array,Array])],t)).ɵfac=function(e){return new(e||t)(i["ɵɵdirectiveInject"](v,13),i["ɵɵdirectiveInject"](S,10),i["ɵɵdirectiveInject"](T,10))},t.ɵdir=i["ɵɵdefineDirective"]({type:t,selectors:[["","formArrayName",""]],inputs:{name:["formArrayName","name"]},features:[i["ɵɵProvidersFeature"]([Ve]),i["ɵɵInheritDefinitionFeature"]]}),t}(v);function He(e){return!(e instanceof Fe||e instanceof Le||e instanceof Ue)} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var We={provide:w,useExisting:Object(i.forwardRef)(function(){return Ke})},Ke=function(e){function t(t,n,r,a,o){var s=e.call(this)||this;return s._ngModelWarningConfig=o,s._added=!1,s.update=new i.EventEmitter,s._ngModelWarningSent=!1,s._parent=t,s._rawValidators=n||[],s._rawAsyncValidators=r||[],s.valueAccessor=fe(s,a),s}var n;return Object(r.c)(t,e),n=t,Object.defineProperty(t.prototype,"isDisabled",{set:function(e){Q.disabledAttrWarning()},enumerable:!0,configurable:!0}),t.prototype.ngOnChanges=function(e){this._added||this._setUpControl(),de(e,this.viewModel)&&(ge("formControlName",n,this,this._ngModelWarningConfig),this.viewModel=this.model,this.formDirective.updateModel(this,this.model))},t.prototype.ngOnDestroy=function(){this.formDirective&&this.formDirective.removeControl(this)},t.prototype.viewToModelUpdate=function(e){this.viewModel=e,this.update.emit(e)},Object.defineProperty(t.prototype,"path",{get:function(){return re(null==this.name?this.name:this.name.toString(),this._parent)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"formDirective",{get:function(){return this._parent?this._parent.formDirective:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"validator",{get:function(){return ce(this._rawValidators)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"asyncValidator",{get:function(){return ue(this._rawAsyncValidators)},enumerable:!0,configurable:!0}),t.prototype._checkParentType=function(){!(this._parent instanceof Fe)&&this._parent instanceof Se?Q.ngModelGroupException():this._parent instanceof Fe||this._parent instanceof Le||this._parent instanceof Ue||Q.controlParentException()},t.prototype._setUpControl=function(){this._checkParentType(),this.control=this.formDirective.addControl(this),this.control.disabled&&this.valueAccessor.setDisabledState&&this.valueAccessor.setDisabledState(!0),this._added=!0},t._ngModelWarningSentOnce=!1,Object(r.b)([Object(i.Input)("formControlName"),Object(r.d)("design:type",Object)],t.prototype,"name",void 0),Object(r.b)([Object(i.Input)("disabled"),Object(r.d)("design:type",Boolean),Object(r.d)("design:paramtypes",[Boolean])],t.prototype,"isDisabled",null),Object(r.b)([Object(i.Input)("ngModel"),Object(r.d)("design:type",Object)],t.prototype,"model",void 0),Object(r.b)([Object(i.Output)("ngModelChange"),Object(r.d)("design:type",Object)],t.prototype,"update",void 0),(t=n=Object(r.b)([Object(r.e)(0,Object(i.Optional)()),Object(r.e)(0,Object(i.Host)()),Object(r.e)(0,Object(i.SkipSelf)()),Object(r.e)(1,Object(i.Optional)()),Object(r.e)(1,Object(i.Self)()),Object(r.e)(1,Object(i.Inject)(S)),Object(r.e)(2,Object(i.Optional)()),Object(r.e)(2,Object(i.Self)()),Object(r.e)(2,Object(i.Inject)(T)),Object(r.e)(3,Object(i.Optional)()),Object(r.e)(3,Object(i.Self)()),Object(r.e)(3,Object(i.Inject)(h)),Object(r.e)(4,Object(i.Optional)()),Object(r.e)(4,Object(i.Inject)(Pe)),Object(r.d)("design:paramtypes",[v,Array,Array,Array,Object])],t)).ɵfac=function(e){return new(e||t)(i["ɵɵdirectiveInject"](v,13),i["ɵɵdirectiveInject"](S,10),i["ɵɵdirectiveInject"](T,10),i["ɵɵdirectiveInject"](h,10),i["ɵɵdirectiveInject"](Pe,8))},t.ɵdir=i["ɵɵdefineDirective"]({type:t,selectors:[["","formControlName",""]],inputs:{isDisabled:["disabled","isDisabled"],name:["formControlName","name"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[i["ɵɵProvidersFeature"]([We]),i["ɵɵInheritDefinitionFeature"],i["ɵɵNgOnChangesFeature"]]}),t}(w),Ge={provide:S,useExisting:Object(i.forwardRef)(function(){return $e}),multi:!0},Qe={provide:S,useExisting:Object(i.forwardRef)(function(){return Ye}),multi:!0},$e=function(){function e(){}return Object.defineProperty(e.prototype,"required",{get:function(){return this._required},set:function(e){this._required=null!=e&&!1!==e&&""+e!="false",this._onChange&&this._onChange()},enumerable:!0,configurable:!0}),e.prototype.validate=function(e){return this.required?I.required(e):null},e.prototype.registerOnValidatorChange=function(e){this._onChange=e},Object(r.b)([Object(i.Input)(),Object(r.d)("design:type",Object),Object(r.d)("design:paramtypes",[Object])],e.prototype,"required",null),e.ɵfac=function(t){return new(t||e)},e.ɵdir=i["ɵɵdefineDirective"]({type:e,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(e,t){2&e&&i["ɵɵattribute"]("required",t.required?"":null)},inputs:{required:"required"},features:[i["ɵɵProvidersFeature"]([Ge])]}),e}(),Ye=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}Object(r.c)(t,e),t.prototype.validate=function(e){return this.required?I.requiredTrue(e):null},t.ɵfac=function(e){return n(e||t)},t.ɵdir=i["ɵɵdefineDirective"]({type:t,selectors:[["input","type","checkbox","required","","formControlName",""],["input","type","checkbox","required","","formControl",""],["input","type","checkbox","required","","ngModel",""]],hostVars:1,hostBindings:function(e,t){2&e&&i["ɵɵattribute"]("required",t.required?"":null)},features:[i["ɵɵProvidersFeature"]([Qe]),i["ɵɵInheritDefinitionFeature"]]});var n=i["ɵɵgetInheritedFactory"](t);return t}($e),Ze={provide:S,useExisting:Object(i.forwardRef)(function(){return Je}),multi:!0},Je=function(){function e(){}return Object.defineProperty(e.prototype,"email",{set:function(e){this._enabled=""===e||!0===e||"true"===e,this._onChange&&this._onChange()},enumerable:!0,configurable:!0}),e.prototype.validate=function(e){return this._enabled?I.email(e):null},e.prototype.registerOnValidatorChange=function(e){this._onChange=e},Object(r.b)([Object(i.Input)(),Object(r.d)("design:type",Object),Object(r.d)("design:paramtypes",[Object])],e.prototype,"email",null),e.ɵfac=function(t){return new(t||e)},e.ɵdir=i["ɵɵdefineDirective"]({type:e,selectors:[["","email","","formControlName",""],["","email","","formControl",""],["","email","","ngModel",""]],inputs:{email:"email"},features:[i["ɵɵProvidersFeature"]([Ze])]}),e}(),Xe={provide:S,useExisting:Object(i.forwardRef)(function(){return et}),multi:!0},et=function(){function e(){}return e.prototype.ngOnChanges=function(e){"minlength"in e&&(this._createValidator(),this._onChange&&this._onChange())},e.prototype.validate=function(e){return null==this.minlength?null:this._validator(e)},e.prototype.registerOnValidatorChange=function(e){this._onChange=e},e.prototype._createValidator=function(){this._validator=I.minLength("number"==typeof this.minlength?this.minlength:parseInt(this.minlength,10))},Object(r.b)([Object(i.Input)(),Object(r.d)("design:type",Object)],e.prototype,"minlength",void 0),e.ɵfac=function(t){return new(t||e)},e.ɵdir=i["ɵɵdefineDirective"]({type:e,selectors:[["","minlength","","formControlName",""],["","minlength","","formControl",""],["","minlength","","ngModel",""]],hostVars:1,hostBindings:function(e,t){2&e&&i["ɵɵattribute"]("minlength",t.minlength?t.minlength:null)},inputs:{minlength:"minlength"},features:[i["ɵɵProvidersFeature"]([Xe]),i["ɵɵNgOnChangesFeature"]]}),e}(),tt={provide:S,useExisting:Object(i.forwardRef)(function(){return nt}),multi:!0},nt=function(){function e(){}return e.prototype.ngOnChanges=function(e){"maxlength"in e&&(this._createValidator(),this._onChange&&this._onChange())},e.prototype.validate=function(e){return null!=this.maxlength?this._validator(e):null},e.prototype.registerOnValidatorChange=function(e){this._onChange=e},e.prototype._createValidator=function(){this._validator=I.maxLength("number"==typeof this.maxlength?this.maxlength:parseInt(this.maxlength,10))},Object(r.b)([Object(i.Input)(),Object(r.d)("design:type",Object)],e.prototype,"maxlength",void 0),e.ɵfac=function(t){return new(t||e)},e.ɵdir=i["ɵɵdefineDirective"]({type:e,selectors:[["","maxlength","","formControlName",""],["","maxlength","","formControl",""],["","maxlength","","ngModel",""]],hostVars:1,hostBindings:function(e,t){2&e&&i["ɵɵattribute"]("maxlength",t.maxlength?t.maxlength:null)},inputs:{maxlength:"maxlength"},features:[i["ɵɵProvidersFeature"]([tt]),i["ɵɵNgOnChangesFeature"]]}),e}(),rt={provide:S,useExisting:Object(i.forwardRef)(function(){return it}),multi:!0},it=function(){function e(){}return e.prototype.ngOnChanges=function(e){"pattern"in e&&(this._createValidator(),this._onChange&&this._onChange())},e.prototype.validate=function(e){return this._validator(e)},e.prototype.registerOnValidatorChange=function(e){this._onChange=e},e.prototype._createValidator=function(){this._validator=I.pattern(this.pattern)},Object(r.b)([Object(i.Input)(),Object(r.d)("design:type",Object)],e.prototype,"pattern",void 0),e.ɵfac=function(t){return new(t||e)},e.ɵdir=i["ɵɵdefineDirective"]({type:e,selectors:[["","pattern","","formControlName",""],["","pattern","","formControl",""],["","pattern","","ngModel",""]],hostVars:1,hostBindings:function(e,t){2&e&&i["ɵɵattribute"]("pattern",t.pattern?t.pattern:null)},inputs:{pattern:"pattern"},features:[i["ɵɵProvidersFeature"]([rt]),i["ɵɵNgOnChangesFeature"]]}),e}(),at=[Ne,J,ne,y,M,V,f,Z,te,B,C,E,$e,et,nt,it,Ye,Je],ot=[Ae,Ie,xe],st=[Me,Le,Ke,Fe,Ue],lt=function(){function e(){}return e.ɵmod=i["ɵɵdefineNgModule"]({type:e}),e.ɵinj=i["ɵɵdefineInjector"]({factory:function(t){return new(t||e)}}),("undefined"==typeof ngJitMode||ngJitMode)&&i["ɵɵsetNgModuleScope"](e,{declarations:[Ne,J,ne,y,M,V,f,Z,te,B,C,E,$e,et,nt,it,Ye,Je],exports:[Ne,J,ne,y,M,V,f,Z,te,B,C,E,$e,et,nt,it,Ye,Je]}),e}();var ct=function(){function e(){}return e.prototype.group=function(e,t){void 0===t&&(t=null);var n=this._reduceControls(e),r=null,i=null,a=void 0;return null!=t&&(! -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -function(e){return void 0!==e.asyncValidators||void 0!==e.validators||void 0!==e.updateOn}(t)?(r=null!=t.validator?t.validator:null,i=null!=t.asyncValidator?t.asyncValidator:null):(r=null!=t.validators?t.validators:null,i=null!=t.asyncValidators?t.asyncValidators:null,a=null!=t.updateOn?t.updateOn:void 0)),new _e(n,{asyncValidators:i,updateOn:a,validators:r})},e.prototype.control=function(e,t,n){return new we(e,t,n)},e.prototype.array=function(e,t,n){var r=this,i=e.map(function(e){return r._createControl(e)});return new je(i,t,n)},e.prototype._reduceControls=function(e){var t=this,n={};return Object.keys(e).forEach(function(r){n[r]=t._createControl(e[r])}),n},e.prototype._createControl=function(e){if(e instanceof we||e instanceof _e||e instanceof je)return e;if(Array.isArray(e)){var t=e[0],n=e.length>1?e[1]:null,r=e.length>2?e[2]:null;return this.control(t,n,r)}return this.control(e)},e.ɵfac=function(t){return new(t||e)},e.ɵprov=i["ɵɵdefineInjectable"]({token:e,factory:function(t){return e.ɵfac(t)}}),e}(),ut=new i.Version("9.1.12"),dt=function(){function e(){}return e.ɵmod=i["ɵɵdefineNgModule"]({type:e}),e.ɵinj=i["ɵɵdefineInjector"]({factory:function(t){return new(t||e)},providers:[L],imports:[lt]}),("undefined"==typeof ngJitMode||ngJitMode)&&i["ɵɵsetNgModuleScope"](e,{declarations:[Ae,Ie,xe],exports:[lt,Ae,Ie,xe]}),e}(),ht=function(){function e(){}var t;return t=e,e.withConfig=function(e){return{ngModule:t,providers:[{provide:Pe,useValue:e.warnOnNgModelWithFormControl}]}},e.ɵmod=i["ɵɵdefineNgModule"]({type:e}),e.ɵinj=i["ɵɵdefineInjector"]({factory:function(t){return new(t||e)},providers:[ct,L],imports:[lt]}),("undefined"==typeof ngJitMode||ngJitMode)&&i["ɵɵsetNgModuleScope"](e,{declarations:[Me,Le,Ke,Fe,Ue],exports:[lt,Me,Le,Ke,Fe,Ue]}),e}(); -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */},,function(e,t,n){var r=n(23);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},,,,,function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t){e.exports=function(e){try{return!!e()}catch(t){return!0}}},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){"use strict";n.d(t,"a",function(){return u});var r=n(1),i=n(147),a=n(217),o=n(54),s=n(197),l=n(106),c=n(149),u=function(e){function t(n,r,i){var o=e.call(this)||this;switch(o.syncErrorValue=null,o.syncErrorThrown=!1,o.syncErrorThrowable=!1,o.isStopped=!1,arguments.length){case 0:o.destination=a.a;break;case 1:if(!n){o.destination=a.a;break}if("object"==typeof n){n instanceof t?(o.syncErrorThrowable=n.syncErrorThrowable,o.destination=n,n.add(o)):(o.syncErrorThrowable=!0,o.destination=new d(o,n));break}default:o.syncErrorThrowable=!0,o.destination=new d(o,n,r,i)}return o}return r.c(t,e),t.prototype[s.a]=function(){return this},t.create=function(e,n,r){var i=new t(e,n,r);return i.syncErrorThrowable=!1,i},t.prototype.next=function(e){this.isStopped||this._next(e)},t.prototype.error=function(e){this.isStopped||(this.isStopped=!0,this._error(e))},t.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this))},t.prototype._next=function(e){this.destination.next(e)},t.prototype._error=function(e){this.destination.error(e),this.unsubscribe()},t.prototype._complete=function(){this.destination.complete(),this.unsubscribe()},t.prototype._unsubscribeAndRecycle=function(){var e=this._parentOrParents;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=e,this},t}(o.a),d=function(e){function t(t,n,r,o){var s,l=e.call(this)||this;l._parentSubscriber=t;var c=l;return Object(i.a)(n)?s=n:n&&(s=n.next,r=n.error,o=n.complete,n!==a.a&&(c=Object.create(n),Object(i.a)(c.unsubscribe)&&l.add(c.unsubscribe.bind(c)),c.unsubscribe=l.unsubscribe.bind(l))),l._context=c,l._next=s,l._error=r,l._complete=o,l}return r.c(t,e),t.prototype.next=function(e){if(!this.isStopped&&this._next){var t=this._parentSubscriber;l.a.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?this.__tryOrSetError(t,this._next,e)&&this.unsubscribe():this.__tryOrUnsub(this._next,e)}},t.prototype.error=function(e){if(!this.isStopped){var t=this._parentSubscriber,n=l.a.useDeprecatedSynchronousErrorHandling;if(this._error)n&&t.syncErrorThrowable?(this.__tryOrSetError(t,this._error,e),this.unsubscribe()):(this.__tryOrUnsub(this._error,e),this.unsubscribe());else if(t.syncErrorThrowable)n?(t.syncErrorValue=e,t.syncErrorThrown=!0):Object(c.a)(e),this.unsubscribe();else{if(this.unsubscribe(),n)throw e;Object(c.a)(e)}}},t.prototype.complete=function(){var e=this;if(!this.isStopped){var t=this._parentSubscriber;if(this._complete){var n=function(){return e._complete.call(e._context)};l.a.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?(this.__tryOrSetError(t,n),this.unsubscribe()):(this.__tryOrUnsub(n),this.unsubscribe())}else this.unsubscribe()}},t.prototype.__tryOrUnsub=function(e,t){try{e.call(this._context,t)}catch(n){if(this.unsubscribe(),l.a.useDeprecatedSynchronousErrorHandling)throw n;Object(c.a)(n)}},t.prototype.__tryOrSetError=function(e,t,n){if(!l.a.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{t.call(this._context,n)}catch(r){return l.a.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=r,e.syncErrorThrown=!0,!0):(Object(c.a)(r),!0)}return!1},t.prototype._unsubscribe=function(){var e=this._parentSubscriber;this._context=null,this._parentSubscriber=null,e.unsubscribe()},t}(u)},,,,function(e,t,n){var r=n(132)("wks"),i=n(90),a=n(21).Symbol,o="function"==typeof a;(e.exports=function(e){return r[e]||(r[e]=o&&a[e]||(o?a:i)("Symbol."+e))}).store=r},,function(e,t,n){"use strict";n.d(t,"a",function(){return s}),n.d(t,"c",function(){return l}),n.d(t,"f",function(){return c}),n.d(t,"g",function(){return u}),n.d(t,"h",function(){return d}),n.d(t,"e",function(){return h}),n.d(t,"d",function(){return p}),n.d(t,"b",function(){return f});var r=n(11),i=n(162),a=function(e,t,n,r){return new(n||(n=Promise))(function(i,a){function o(e){try{l(r.next(e))}catch(t){a(t)}}function s(e){try{l(r.throw(e))}catch(t){a(t)}}function l(e){e.done?i(e.value):new n(function(t){t(e.value)}).then(o,s)}l((r=r.apply(e,t||[])).next())})},o=function(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]-1&&this.subject.observers.splice(e,1),0===this.subject.observers.length&&this.subject.cancelCallback&&this.subject.cancelCallback().catch(function(e){})},e}(),f=function(){function e(e){this.minimumLogLevel=e,this.outputConsole=console}return e.prototype.log=function(e,t){if(e>=this.minimumLogLevel)switch(e){case r.a.Critical:case r.a.Error:this.outputConsole.error("["+(new Date).toISOString()+"] "+r.a[e]+": "+t);break;case r.a.Warning:this.outputConsole.warn("["+(new Date).toISOString()+"] "+r.a[e]+": "+t);break;case r.a.Information:this.outputConsole.info("["+(new Date).toISOString()+"] "+r.a[e]+": "+t);break;default:this.outputConsole.log("["+(new Date).toISOString()+"] "+r.a[e]+": "+t)}},e}()},function(e,t,n){var r=n(65),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},function(e,t,n){"use strict";var r=n(24);var i=n(197),a=n(217);var o=n(130),s=n(265),l=n(106);n.d(t,"a",function(){return c});var c=function(){function e(e){this._isScalar=!1,e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var o=this.operator,s=function(e,t,n){if(e){if(e instanceof r.a)return e;if(e[i.a])return e[i.a]()}return e||t||n?new r.a(e,t,n):new r.a(a.a)}(e,t,n);if(o?s.add(o.call(s,this.source)):s.add(this.source||l.a.useDeprecatedSynchronousErrorHandling&&!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),l.a.useDeprecatedSynchronousErrorHandling&&s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){l.a.useDeprecatedSynchronousErrorHandling&&(e.syncErrorThrown=!0,e.syncErrorValue=t),!function(e){for(;e;){var t=e,n=t.closed,i=t.destination,a=t.isStopped;if(n||a)return!1;e=i&&i instanceof r.a?i:null}return!0}(e)?console.warn(t):e.error(t)}},e.prototype.forEach=function(e,t){var n=this;return new(t=u(t))(function(t,r){var i;i=n.subscribe(function(t){try{e(t)}catch(n){r(n),i&&i.unsubscribe()}},r,t)})},e.prototype._subscribe=function(e){var t=this.source;return t&&t.subscribe(e)},e.prototype[o.a]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;t15?(i=Date.now(),l(e)):(n.push(e),1===n.length&&o.setAttribute("a",a=!a))}}s.nextTick=s.setImmediate}(),s.isNodejs=void 0!==t&&t.versions&&t.versions.node,s.isArray=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},s.isArrayBuffer=function(e){return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer},s.isArrayBufferView=function(e){return e&&s.isArrayBuffer(e.buffer)&&void 0!==e.byteLength},s.ByteBuffer=c,s.ByteStringBuffer=c;s.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>4096&&(this.data.substr(0,1),this._constructedStringLength=0)},s.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read},s.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0},s.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))},s.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);for(var n=this.data;t>0;)1&t&&(n+=e),(t>>>=1)>0&&(e+=e);return this.data=n,this._optimizeConstructedString(t),this},s.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this},s.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(s.encodeUtf8(e))},s.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},s.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},s.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},s.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255))},s.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))},s.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))},s.ByteStringBuffer.prototype.putInt=function(e,t){l(t);var n="";do{t-=8,n+=String.fromCharCode(e>>t&255)}while(t>0);return this.putBytes(n)},s.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<0);return t},s.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),n=2<=n&&(t-=n<<1),t},s.ByteStringBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):0===e?t="":(t=0===this.read?this.data:this.data.slice(this.read),this.clear()),t},s.ByteStringBuffer.prototype.bytes=function(e){return void 0===e?this.data.slice(this.read):this.data.slice(this.read,this.read+e)},s.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)},s.ByteStringBuffer.prototype.setAt=function(e,t){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(t)+this.data.substr(this.read+e+1),this},s.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)},s.ByteStringBuffer.prototype.copy=function(){var e=s.createBuffer(this.data);return e.read=this.read,e},s.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this},s.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this},s.ByteStringBuffer.prototype.truncate=function(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this},s.ByteStringBuffer.prototype.toHex=function(){for(var e="",t=this.read;t=e)return this;t=Math.max(t||this.growSize,e);var n=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),r=new Uint8Array(this.length()+t);return r.set(n),this.data=new DataView(r.buffer),this},s.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this},s.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var n=0;n>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this},s.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this},s.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this},s.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this},s.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this},s.DataBuffer.prototype.putInt=function(e,t){l(t),this.accommodate(t/8);do{t-=8,this.data.setInt8(this.write++,e>>t&255)}while(t>0);return this},s.DataBuffer.prototype.putSignedInt=function(e,t){return l(t),this.accommodate(t/8),e<0&&(e+=2<0);return t},s.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),n=2<=n&&(t-=n<<1),t},s.DataBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):0===e?t="":(t=0===this.read?this.data:this.data.slice(this.read),this.clear()),t},s.DataBuffer.prototype.bytes=function(e){return void 0===e?this.data.slice(this.read):this.data.slice(this.read,this.read+e)},s.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)},s.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this},s.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)},s.DataBuffer.prototype.copy=function(){return new s.DataBuffer(this)},s.DataBuffer.prototype.compact=function(){if(this.read>0){var e=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(e.byteLength);t.set(e),this.data=new DataView(t),this.write-=this.read,this.read=0}return this},s.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this},s.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this},s.DataBuffer.prototype.toHex=function(){for(var e="",t=this.read;t0;)1&t&&(n+=e),(t>>>=1)>0&&(e+=e);return n},s.xorBytes=function(e,t,n){for(var r="",i="",a="",o=0,s=0;n>0;--n,++o)i=e.charCodeAt(o)^t.charCodeAt(o),s>=10&&(r+=a,a="",s=0),a+=String.fromCharCode(i),++s;return r+=a},s.hexToBytes=function(e){var t="",n=0;for(!0&e.length&&(n=1,t+=String.fromCharCode(parseInt(e[0],16)));n>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e)};var u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",d=[62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,64,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],h="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";s.encode64=function(e,t){for(var n,r,i,a="",o="",s=0;s>2),a+=u.charAt((3&n)<<4|r>>4),isNaN(r)?a+="==":(a+=u.charAt((15&r)<<2|i>>6),a+=isNaN(i)?"=":u.charAt(63&i)),t&&a.length>t&&(o+=a.substr(0,t)+"\r\n",a=a.substr(t));return o+=a},s.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t,n,r,i,a="",o=0;o>4),64!==r&&(a+=String.fromCharCode((15&n)<<4|r>>2),64!==i&&(a+=String.fromCharCode((3&r)<<6|i)));return a},s.encodeUtf8=function(e){return unescape(encodeURIComponent(e))},s.decodeUtf8=function(e){return decodeURIComponent(escape(e))},s.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:o.encode,decode:o.decode}},s.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)},s.binary.raw.decode=function(e,t,n){var r=t;r||(r=new Uint8Array(e.length));for(var i=n=n||0,a=0;a>2),a+=u.charAt((3&n)<<4|r>>4),isNaN(r)?a+="==":(a+=u.charAt((15&r)<<2|i>>6),a+=isNaN(i)?"=":u.charAt(63&i)),t&&a.length>t&&(o+=a.substr(0,t)+"\r\n",a=a.substr(t));return o+=a},s.binary.base64.decode=function(e,t,n){var r,i,a,o,s=t;s||(s=new Uint8Array(3*Math.ceil(e.length/4))),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var l=0,c=n=n||0;l>4,64!==a&&(s[c++]=(15&i)<<4|a>>2,64!==o&&(s[c++]=(3&a)<<6|o));return t?c-n:s.subarray(0,c)},s.binary.base58.encode=function(e,t){return s.binary.baseN.encode(e,h,t)},s.binary.base58.decode=function(e,t){return s.binary.baseN.decode(e,h,t)},s.text={utf8:{},utf16:{}},s.text.utf8.encode=function(e,t,n){e=s.encodeUtf8(e);var r=t;r||(r=new Uint8Array(e.length));for(var i=n=n||0,a=0;a0?(i=n[r].substring(0,o),a=n[r].substring(o+1)):(i=n[r],a=null),i in t||(t[i]=[]),i in Object.prototype||null===a||t[i].push(unescape(a))}return t};return void 0===e?(null===k&&(k="undefined"!=typeof window&&window.location&&window.location.search?n(window.location.search.substring(1)):{}),t=k):t=n(e),t},s.parseFragment=function(e){var t=e,n="",r=e.indexOf("?");r>0&&(t=e.substring(0,r),n=e.substring(r+1));var i=t.split("/");return i.length>0&&""===i[0]&&i.shift(),{pathString:t,queryString:n,path:i,query:""===n?{}:s.getQueryVariables(n)}},s.makeRequest=function(e){var t=s.parseFragment(e),n={path:t.pathString,query:t.queryString,getPath:function(e){return void 0===e?t.path:t.path[e]},getQuery:function(e,n){var r;return void 0===e?r=t.query:(r=t.query[e])&&void 0!==n&&(r=r[n]),r},getQueryLast:function(e,t){var r=n.getQuery(e);return r?r[r.length-1]:t}};return n},s.makeLink=function(e,t,n){e=jQuery.isArray(e)?e.join("/"):e;var r=jQuery.param(t||{});return n=n||"",e+(r.length>0?"?"+r:"")+(n.length>0?"#"+n:"")},s.setPath=function(e,t,n){if("object"==typeof e&&null!==e)for(var r=0,i=t.length;r0&&a.push(n),o=r.lastIndex;var s=t[0][1];switch(s){case"s":case"o":i");break;case"%":a.push("%");break;default:a.push("<%"+s+"?>")}}return a.push(e.substring(o)),a.join("")},s.formatNumber=function(e,t,n,r){var i=e,a=isNaN(t=Math.abs(t))?2:t,o=void 0===n?",":n,s=void 0===r?".":r,l=i<0?"-":"",c=parseInt(i=Math.abs(+i||0).toFixed(a),10)+"",u=c.length>3?c.length%3:0;return l+(u?c.substr(0,u)+s:"")+c.substr(u).replace(/(\d{3})(?=\d)/g,"$1"+s)+(a?o+Math.abs(i-c).toFixed(a).slice(2):"")},s.formatSize=function(e){return e=e>=1073741824?s.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?s.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?s.formatNumber(e/1024,0)+" KiB":s.formatNumber(e,0)+" bytes"},s.bytesFromIP=function(e){return-1!==e.indexOf(".")?s.bytesFromIPv4(e):-1!==e.indexOf(":")?s.bytesFromIPv6(e):null},s.bytesFromIPv4=function(e){if(4!==(e=e.split(".")).length)return null;for(var t=s.createBuffer(),n=0;nn[r].end-n[r].start&&(r=n.length-1)):n.push({start:l,end:l})}t.push(a)}if(n.length>0){var c=n[r];c.end-c.start>0&&(t.splice(c.start,c.end-c.start+1,""),0===c.start&&t.unshift(""),7===c.end&&t.push(""))}return t.join(":")},s.estimateCores=function(e,t){if("function"==typeof e&&(t=e,e={}),e=e||{},"cores"in s&&!e.update)return t(null,s.cores);if("undefined"!=typeof navigator&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return s.cores=navigator.hardwareConcurrency,t(null,s.cores);if("undefined"==typeof Worker)return s.cores=1,t(null,s.cores);if("undefined"==typeof Blob)return s.cores=2,t(null,s.cores);var n=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(e){for(var t=Date.now(),n=t+4;Date.now()s.st&&i.sti.st&&s.st=200&&i.status<300?n(new o.b(i.status,i.statusText,i.response||i.responseText)):r(new a.b(i.statusText,i.status))},i.onerror=function(){t.logger.log(l.a.Warning,"Error from HTTP request. "+i.status+": "+i.statusText+"."),r(new a.b(i.statusText,i.status))},i.ontimeout=function(){t.logger.log(l.a.Warning,"Timeout from HTTP request."),r(new a.c)},i.send(e.content||"")}):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))},t}(o.a),d=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),h=function(e){function t(t){var n=e.call(this)||this;return"undefined"!=typeof XMLHttpRequest?n.httpClient=new u(t):n.httpClient=new s.a(t),n}return d(t,e),t.prototype.send=function(e){return e.abortSignal&&e.abortSignal.aborted?Promise.reject(new a.a):e.method?e.url?this.httpClient.send(e):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))},t.prototype.getCookieString=function(e){return this.httpClient.getCookieString(e)},t}(o.a),p=n(731);!function(e){e[e.Invocation=1]="Invocation",e[e.StreamItem=2]="StreamItem",e[e.Completion=3]="Completion",e[e.StreamInvocation=4]="StreamInvocation",e[e.CancelInvocation=5]="CancelInvocation",e[e.Ping=6]="Ping",e[e.Close=7]="Close"}(i||(i={}));var f,m=n(30),g=function(){function e(){this.observers=[]}return e.prototype.next=function(e){for(var t=0,n=this.observers;t0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0?[2,Promise.reject(new Error("Unable to connect to the server with any of the available transports. "+a.join(" ")))]:[2,Promise.reject(new Error("None of the transports supported by the client are supported by the server."))]}})})},e.prototype.constructTransport=function(e){switch(e){case w.WebSockets:if(!this.options.WebSocket)throw new Error("'WebSocket' is not supported in your environment.");return new P(this.httpClient,this.accessTokenFactory,this.logger,this.options.logMessageContent||!1,this.options.WebSocket);case w.ServerSentEvents:if(!this.options.EventSource)throw new Error("'EventSource' is not supported in your environment.");return new D(this.httpClient,this.accessTokenFactory,this.logger,this.options.logMessageContent||!1,this.options.EventSource);case w.LongPolling:return new O(this.httpClient,this.accessTokenFactory,this.logger,this.options.logMessageContent||!1);default:throw new Error("Unknown transport: "+e+".")}},e.prototype.startTransport=function(e,t){var n=this;return this.transport.onreceive=this.onreceive,this.transport.onclose=function(e){return n.stopConnection(e)},this.transport.connect(e,t)},e.prototype.resolveTransportOrError=function(e,t,n){var r=w[e.transport];if(null==r)return this.logger.log(l.a.Debug,"Skipping transport '"+e.transport+"' because it is not supported by this client."),new Error("Skipping transport '"+e.transport+"' because it is not supported by this client.");if(!function(e,t){return!e||0!=(t&e)}(t,r))return this.logger.log(l.a.Debug,"Skipping transport '"+w[r]+"' because it was disabled by the client."),new Error("'"+w[r]+"' is disabled by the client.");if(!(e.transferFormats.map(function(e){return _[e]}).indexOf(n)>=0))return this.logger.log(l.a.Debug,"Skipping transport '"+w[r]+"' because it does not support the requested transfer format '"+_[n]+"'."),new Error("'"+w[r]+"' does not support "+_[n]+".");if(r===w.WebSockets&&!this.options.WebSocket||r===w.ServerSentEvents&&!this.options.EventSource)return this.logger.log(l.a.Debug,"Skipping transport '"+w[r]+"' because it is not supported in your environment.'"),new Error("'"+w[r]+"' is not supported in your environment.");this.logger.log(l.a.Debug,"Selecting transport '"+w[r]+"'.");try{return this.constructTransport(r)}catch(i){return i}},e.prototype.isITransport=function(e){return e&&"object"==typeof e&&"connect"in e},e.prototype.stopConnection=function(e){if(this.logger.log(l.a.Debug,"HttpConnection.stopConnection("+e+") called while in state "+this.connectionState+"."),this.transport=void 0,e=this.stopError||e,this.stopError=void 0,"Disconnected"!==this.connectionState)if("Connecting "!==this.connectionState){if("Disconnecting"===this.connectionState&&this.stopPromiseResolver(),e?this.logger.log(l.a.Error,"Connection disconnected with error '"+e+"'."):this.logger.log(l.a.Information,"Connection disconnected."),this.connectionId=void 0,this.connectionState="Disconnected",this.onclose&&this.connectionStarted){this.connectionStarted=!1;try{this.onclose(e)}catch(t){this.logger.log(l.a.Error,"HttpConnection.onclose("+e+") threw error '"+t+"'.")}}}else this.logger.log(l.a.Warning,"Call to HttpConnection.stopConnection("+e+") was ignored because the connection hasn't yet left the in the connecting state.");else this.logger.log(l.a.Debug,"Call to HttpConnection.stopConnection("+e+") was ignored because the connection is already in the disconnected state.")},e.prototype.resolveUrl=function(e){if(0===e.lastIndexOf("https://",0)||0===e.lastIndexOf("http://",0))return e;if(!m.c.isBrowser||!window.document)throw new Error("Cannot resolve '"+e+"'.");var t=window.document.createElement("a");return t.href=e,this.logger.log(l.a.Information,"Normalizing '"+e+"' to '"+t.href+"'."),t.href},e.prototype.resolveNegotiateUrl=function(e){var t=e.indexOf("?"),n=e.substring(0,-1===t?e.length:t);return"/"!==n[n.length-1]&&(n+="/"),n+="negotiate",-1===(n+=-1===t?"":e.substring(t)).indexOf("negotiateVersion")&&(n+=-1===t?"?":"&",n+="negotiateVersion="+this.negotiateVersion),n},e}();var V=function(){function e(e){this.transport=e,this.buffer=[],this.executing=!0,this.sendBufferedData=new U,this.transportResult=new U,this.sendLoopPromise=this.sendLoop()}return e.prototype.send=function(e){return this.bufferData(e),this.transportResult||(this.transportResult=new U),this.transportResult.promise},e.prototype.stop=function(){return this.executing=!1,this.sendBufferedData.resolve(),this.sendLoopPromise},e.prototype.bufferData=function(e){if(this.buffer.length&&typeof this.buffer[0]!=typeof e)throw new Error("Expected data to be of type "+typeof this.buffer+" but was of type "+typeof e);this.buffer.push(e),this.sendBufferedData.resolve()},e.prototype.sendLoop=function(){return R(this,void 0,void 0,function(){var t,n,r;return M(this,function(i){switch(i.label){case 0:return[4,this.sendBufferedData.promise];case 1:if(i.sent(),!this.executing)return this.transportResult&&this.transportResult.reject("Connection stopped."),[3,6];this.sendBufferedData=new U,t=this.transportResult,this.transportResult=void 0,n="string"==typeof this.buffer[0]?this.buffer.join(""):e.concatBuffers(this.buffer),this.buffer.length=0,i.label=2;case 2:return i.trys.push([2,4,,5]),[4,this.transport.send(n)];case 3:return i.sent(),t.resolve(),[3,5];case 4:return r=i.sent(),t.reject(r),[3,5];case 5:return[3,0];case 6:return[2]}})})},e.concatBuffers=function(e){for(var t=e.map(function(e){return e.byteLength}).reduce(function(e,t){return e+t}),n=new Uint8Array(t),r=0,i=0,a=e;i"+i+""};e.exports=function(e,t){var n={};n[e]=t(s),r(r.P+r.F*i(function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3}),"String",n)}},,function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(21),i=n(56),a=n(51),o=n(90)("src"),s=Function.toString,l=(""+s).split("toString");n(55).inspectSource=function(e){return s.call(e)},(e.exports=function(e,t,n,s){var c="function"==typeof n;c&&(a(n,"name")||i(n,"name",t)),e[t]!==n&&(c&&(a(n,o)||i(n,o,e[t]?""+e[t]:l.join(String(t)))),e===r?e[t]=n:s?e[t]?e[t]=n:i(e,t,n):(delete e[t],i(e,t,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[o]||s.call(this)})},function(e,t,n){var r=n(115),i=n(77);e.exports=function(e){return r(i(e))}},function(e,t,n){"use strict";var r=n(121),i=n(213),a=n(147),o=function(){function e(e){return Error.call(this),this.message=e?e.length+" errors occurred during unsubscription:\n"+e.map(function(e,t){return t+1+") "+e.toString()}).join("\n "):"",this.name="UnsubscriptionError",this.errors=e,this}return e.prototype=Object.create(Error.prototype),e}();n.d(t,"a",function(){return s});var s=function(){function e(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}var t;return e.prototype.unsubscribe=function(){var t;if(!this.closed){var n=this._parentOrParents,s=this._ctorUnsubscribe,c=this._unsubscribe,u=this._subscriptions;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,n instanceof e)n.remove(this);else if(null!==n)for(var d=0;d0?r:n)(e)}},,function(e,t,n){"use strict";(function(e){n.d(t,"a",function(){return x}),n.d(t,"b",function(){return Je}),n.d(t,"c",function(){return je}),n.d(t,"d",function(){return mt}),n.d(t,"e",function(){return E}),n.d(t,"f",function(){return yt}),n.d(t,"g",function(){return Ce}),n.d(t,"h",function(){return bt});var r=n(1),i=n(13),a=n(0);function o(){return void 0!==e&&"[object process]"==={}.toString.call(e)}function s(e){switch(e.length){case 0:return new i.d;case 1:return e[0];default:return new i.k(e)}}function l(e,t,n,r,a,o){void 0===a&&(a={}),void 0===o&&(o={});var s=[],l=[],c=-1,u=null;if(r.forEach(function(e){var n=e.offset,r=n==c,d=r&&u||{};Object.keys(e).forEach(function(n){var r=n,l=e[n];if("offset"!==n)switch(r=t.normalizePropertyName(r,s),l){case i.l:l=a[n];break;case i.a:l=o[n];break;default:l=t.normalizeStyleValue(n,r,l,s)}d[r]=l}),r||l.push(d),u=d,c=n}),s.length){throw new Error("Unable to animate due to the following errors:\n - "+s.join("\n - "))}return l}function c(e,t,n,r){switch(t){case"start":e.onStart(function(){return r(n&&u(n,"start",e))});break;case"done":e.onDone(function(){return r(n&&u(n,"done",e))});break;case"destroy":e.onDestroy(function(){return r(n&&u(n,"destroy",e))})}}function u(e,t,n){var r=n.totalTime,i=!!n.disabled,a=d(e.element,e.triggerName,e.fromState,e.toState,t||e.phaseName,null==r?e.totalTime:r,i),o=e._data;return null!=o&&(a._data=o),a}function d(e,t,n,r,i,a,o){return void 0===i&&(i=""),void 0===a&&(a=0),{element:e,triggerName:t,fromState:n,toState:r,phaseName:i,totalTime:a,disabled:!!o}}function h(e,t,n){var r;return e instanceof Map?(r=e.get(t))||e.set(t,r=n):(r=e[t])||(r=e[t]=n),r}function p(e){var t=e.indexOf(":");return[e.substring(1,t),e.substr(t+1)]}var f=function(e,t){return!1},m=function(e,t){return!1},g=function(e,t,n){return[]},y=o();(y||"undefined"!=typeof Element)&&(f=function(e,t){return e.contains(t)},m=function(){if(y||Element.prototype.matches)return function(e,t){return e.matches(t)};var e=Element.prototype,t=e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;return t?function(e,n){return t.apply(e,[n])}:m}(),g=function(e,t,n){var i=[];if(n)i.push.apply(i,Object(r.g)(e.querySelectorAll(t)));else{var a=e.querySelector(t);a&&i.push(a)}return i});var b=null,v=!1;function k(e){b||(b=function(){if("undefined"!=typeof document)return document.body;return null}()||{},v=!!b.style&&"WebkitAppearance"in b.style);var t=!0;b.style&&!function(e){return"ebkit"==e.substring(1,6)}(e)&&(!(t=e in b.style)&&v&&(t="Webkit"+e.charAt(0).toUpperCase()+e.substr(1)in b.style));return t}var w=m,_=f,j=g;function C(e){var t={};return Object.keys(e).forEach(function(n){var r=n.replace(/([a-z])([A-Z])/g,"$1-$2");t[r]=e[n]}),t}var E=function(){function e(){}return e.prototype.validateStyleProperty=function(e){return k(e)},e.prototype.matchesElement=function(e,t){return w(e,t)},e.prototype.containsElement=function(e,t){return _(e,t)},e.prototype.query=function(e,t,n){return j(e,t,n)},e.prototype.computeStyle=function(e,t,n){return n||""},e.prototype.animate=function(e,t,n,r,a,o,s){return void 0===o&&(o=[]),new i.d(n,r)},e.ɵfac=function(t){return new(t||e)},e.ɵprov=a["ɵɵdefineInjectable"]({token:e,factory:function(t){return e.ɵfac(t)}}),e}(),x=function(){function e(){}return e.NOOP=new E,e}(),S=1e3,T=".ng-trigger",O=".ng-animating";function I(e){if("number"==typeof e)return e;var t=e.match(/^(-?[\.\d]+)(m?s)/);return!t||t.length<2?0:z(parseFloat(t[1]),t[2])}function z(e,t){switch(t){case"s":return e*S;default:return e}}function D(e,t,n){return e.hasOwnProperty("duration")?e:function(e,t,n){var r,i=0,a="";if("string"==typeof e){var o=e.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===o)return t.push('The provided timing value "'+e+'" is invalid.'),{duration:0,delay:0,easing:""};r=z(parseFloat(o[1]),o[2]);var s=o[3];null!=s&&(i=z(parseFloat(s),o[4]));var l=o[5];l&&(a=l)}else r=e;if(!n){var c=!1,u=t.length;r<0&&(t.push("Duration values below 0 are not allowed for this animation step."),c=!0),i<0&&(t.push("Delay values below 0 are not allowed for this animation step."),c=!0),c&&t.splice(u,0,'The provided timing value "'+e+'" is invalid.')}return{duration:r,delay:i,easing:a}}(e,t,n)}function A(e,t){return void 0===t&&(t={}),Object.keys(e).forEach(function(n){t[n]=e[n]}),t}function N(e){var t={};return Array.isArray(e)?e.forEach(function(e){return P(e,!1,t)}):P(e,!1,t),t}function P(e,t,n){if(void 0===n&&(n={}),t)for(var r in e)n[r]=e[r];else A(e,n);return n}function R(e,t,n){return n?t+":"+n+";":""}function M(e){for(var t="",n=0;n *";case":leave":return"* => void";case":increment":return function(e,t){return parseFloat(t)>parseFloat(e)};case":decrement":return function(e,t){return parseFloat(t) *"}}(e,n);if("function"==typeof r)return void t.push(r);e=r}var i=e.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return n.push('The provided transition expression "'+e+'" is not supported'),t;var a=i[1],o=i[2],s=i[3];t.push(te(a,s));var l=a==Z&&s==Z;"<"!=o[0]||l||t.push(te(s,a))}(e,n,t)}):n.push(e),n}var X=new Set(["true","1"]),ee=new Set(["false","0"]);function te(e,t){var n=X.has(e)||ee.has(e),r=X.has(t)||ee.has(t);return function(i,a){var o=e==Z||e==i,s=t==Z||t==a;return!o&&n&&"boolean"==typeof i&&(o=i?X.has(e):ee.has(e)),!s&&r&&"boolean"==typeof a&&(s=a?X.has(t):ee.has(t)),o&&s}}var ne=":self",re=new RegExp("s*"+ne+"s*,?","g");function ie(e,t,n){return new ae(e).build(t,n)}var ae=function(){function e(e){this._driver=e}return e.prototype.build=function(e,t){var n=new oe(t);return this._resetContextStyleTimingState(n),$(this,B(e),n)},e.prototype._resetContextStyleTimingState=function(e){e.currentQuerySelector="",e.collectedStyles={},e.collectedStyles[""]={},e.currentTime=0},e.prototype.visitTrigger=function(e,t){var n=this,r=t.queryCount=0,i=t.depCount=0,a=[],o=[];return"@"==e.name.charAt(0)&&t.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),e.definitions.forEach(function(e){if(n._resetContextStyleTimingState(t),0==e.type){var s=e,l=s.name;l.toString().split(/\s*,\s*/).forEach(function(e){s.name=e,a.push(n.visitState(s,t))}),s.name=l}else if(1==e.type){var c=n.visitTransition(e,t);r+=c.queryCount,i+=c.depCount,o.push(c)}else t.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:e.name,states:a,transitions:o,queryCount:r,depCount:i,options:null}},e.prototype.visitState=function(e,t){var n=this.visitStyle(e.styles,t),r=e.options&&e.options.params||null;if(n.containsDynamicStyles){var i=new Set,a=r||{};if(n.styles.forEach(function(e){if(se(e)){var t=e;Object.keys(t).forEach(function(e){V(t[e]).forEach(function(e){a.hasOwnProperty(e)||i.add(e)})})}}),i.size){var o=H(i.values());t.errors.push('state("'+e.name+'", ...) must define default values for all the following style substitutions: '+o.join(", "))}}return{type:0,name:e.name,style:n,options:r?{params:r}:null}},e.prototype.visitTransition=function(e,t){t.queryCount=0,t.depCount=0;var n=$(this,B(e.animation),t);return{type:1,matchers:J(e.expr,t.errors),animation:n,queryCount:t.queryCount,depCount:t.depCount,options:le(e.options)}},e.prototype.visitSequence=function(e,t){var n=this;return{type:2,steps:e.steps.map(function(e){return $(n,e,t)}),options:le(e.options)}},e.prototype.visitGroup=function(e,t){var n=this,r=t.currentTime,i=0,a=e.steps.map(function(e){t.currentTime=r;var a=$(n,e,t);return i=Math.max(i,t.currentTime),a});return t.currentTime=i,{type:3,steps:a,options:le(e.options)}},e.prototype.visitAnimate=function(e,t){var n,r=function(e,t){var n=null;if(e.hasOwnProperty("duration"))n=e;else if("number"==typeof e){var r=D(e,t).duration;return ce(r,0,"")}var i=e;if(i.split(/\s+/).some(function(e){return"{"==e.charAt(0)&&"{"==e.charAt(1)})){var a=ce(0,0,"");return a.dynamic=!0,a.strValue=i,a}return ce((n=n||D(i,t)).duration,n.delay,n.easing)}(e.timings,t.errors);t.currentAnimateTimings=r;var a=e.styles?e.styles:Object(i.h)({});if(5==a.type)n=this.visitKeyframes(a,t);else{var o=e.styles,s=!1;if(!o){s=!0;var l={};r.easing&&(l.easing=r.easing),o=Object(i.h)(l)}t.currentTime+=r.duration+r.delay;var c=this.visitStyle(o,t);c.isEmptyStep=s,n=c}return t.currentAnimateTimings=null,{type:4,timings:r,style:n,options:null}},e.prototype.visitStyle=function(e,t){var n=this._makeStyleAst(e,t);return this._validateStyleAst(n,t),n},e.prototype._makeStyleAst=function(e,t){var n=[];Array.isArray(e.styles)?e.styles.forEach(function(e){"string"==typeof e?e==i.a?n.push(e):t.errors.push("The provided style string value "+e+" is not allowed."):n.push(e)}):n.push(e.styles);var r=!1,a=null;return n.forEach(function(e){if(se(e)){var t=e,n=t.easing;if(n&&(a=n,delete t.easing),!r)for(var i in t){if(t[i].toString().indexOf("{{")>=0){r=!0;break}}}}),{type:6,styles:n,easing:a,offset:e.offset,containsDynamicStyles:r,options:null}},e.prototype._validateStyleAst=function(e,t){var n=this,r=t.currentAnimateTimings,i=t.currentTime,a=t.currentTime;r&&a>0&&(a-=r.duration+r.delay),e.styles.forEach(function(e){"string"!=typeof e&&Object.keys(e).forEach(function(r){if(n._driver.validateStyleProperty(r)){var o,s,l,c,u,d=t.collectedStyles[t.currentQuerySelector],h=d[r],p=!0;h&&(a!=i&&a>=h.startTime&&i<=h.endTime&&(t.errors.push('The CSS property "'+r+'" that exists between the times of "'+h.startTime+'ms" and "'+h.endTime+'ms" is also being animated in a parallel animation between the times of "'+a+'ms" and "'+i+'ms"'),p=!1),a=h.startTime),p&&(d[r]={startTime:a,endTime:i}),t.options&&(o=e[r],s=t.options,l=t.errors,c=s.params||{},(u=V(o)).length&&u.forEach(function(e){c.hasOwnProperty(e)||l.push("Unable to resolve the local animation param "+e+" in the given list of values")}))}else t.errors.push('The provided animation property "'+r+'" is not a supported CSS property for animations')})})},e.prototype.visitKeyframes=function(e,t){var n=this,r={type:5,styles:[],options:null};if(!t.currentAnimateTimings)return t.errors.push("keyframes() must be placed inside of a call to animate()"),r;var i=0,a=[],o=!1,s=!1,l=0,c=e.steps.map(function(e){var r=n._makeStyleAst(e,t),c=null!=r.offset?r.offset:function(e){if("string"==typeof e)return null;var t=null;if(Array.isArray(e))e.forEach(function(e){if(se(e)&&e.hasOwnProperty("offset")){var n=e;t=parseFloat(n.offset),delete n.offset}});else if(se(e)&&e.hasOwnProperty("offset")){var n=e;t=parseFloat(n.offset),delete n.offset}return t}(r.styles),u=0;return null!=c&&(i++,u=r.offset=c),s=s||u<0||u>1,o=o||u0&&i0?i==h?1:d*i:a[i],s=o*m;t.currentTime=p+f.delay+s,f.duration=s,n._validateStyleAst(e,t),e.offset=o,r.styles.push(e)}),r},e.prototype.visitReference=function(e,t){return{type:8,animation:$(this,B(e.animation),t),options:le(e.options)}},e.prototype.visitAnimateChild=function(e,t){return t.depCount++,{type:9,options:le(e.options)}},e.prototype.visitAnimateRef=function(e,t){return{type:10,animation:this.visitReference(e.animation,t),options:le(e.options)}},e.prototype.visitQuery=function(e,t){var n=t.currentQuerySelector,i=e.options||{};t.queryCount++,t.currentQuery=e;var a=Object(r.f)(function(e){var t=!!e.split(/\s*,\s*/).find(function(e){return e==ne});t&&(e=e.replace(re,""));return[e=e.replace(/@\*/g,T).replace(/@\w+/g,function(e){return T+"-"+e.substr(1)}).replace(/:animating/g,O),t]}(e.selector),2),o=a[0],s=a[1];t.currentQuerySelector=n.length?n+" "+o:o,h(t.collectedStyles,t.currentQuerySelector,{});var l=$(this,B(e.animation),t);return t.currentQuery=null,t.currentQuerySelector=n,{type:11,selector:o,limit:i.limit||0,optional:!!i.optional,includeSelf:s,animation:l,originalSelector:e.selector,options:le(e.options)}},e.prototype.visitStagger=function(e,t){t.currentQuery||t.errors.push("stagger() can only be used inside of query()");var n="full"===e.timings?{duration:0,delay:0,easing:"full"}:D(e.timings,t.errors,!0);return{type:12,animation:$(this,B(e.animation),t),timings:n,options:null}},e}();var oe=function(){return function(e){this.errors=e,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null}}();function se(e){return!Array.isArray(e)&&"object"==typeof e}function le(e){var t;return e?(e=A(e)).params&&(e.params=(t=e.params)?A(t):null):e={},e}function ce(e,t,n){return{duration:e,delay:t,easing:n}}function ue(e,t,n,r,i,a,o,s){return void 0===o&&(o=null),void 0===s&&(s=!1),{type:1,element:e,keyframes:t,preStyleProps:n,postStyleProps:r,duration:i,delay:a,totalTime:i+a,easing:o,subTimeline:s}}var de=function(){function e(){this._map=new Map}return e.prototype.consume=function(e){var t=this._map.get(e);return t?this._map.delete(e):t=[],t},e.prototype.append=function(e,t){var n=this._map.get(e);n||this._map.set(e,n=[]),n.push.apply(n,Object(r.g)(t))},e.prototype.has=function(e){return this._map.has(e)},e.prototype.clear=function(){this._map.clear()},e}(),he=new RegExp(":enter","g"),pe=new RegExp(":leave","g");function fe(e,t,n,r,i,a,o,s,l,c){return void 0===a&&(a={}),void 0===o&&(o={}),void 0===c&&(c=[]),(new me).buildKeyframes(e,t,n,r,i,a,o,s,l,c)}var me=function(){function e(){}return e.prototype.buildKeyframes=function(e,t,n,r,i,a,o,s,l,c){void 0===c&&(c=[]),l=l||new de;var u=new ye(e,t,l,r,i,c,[]);u.options=s,u.currentTimeline.setStyles([a],null,u.errors,s),$(this,n,u);var d=u.timelines.filter(function(e){return e.containsAnimation()});if(d.length&&Object.keys(o).length){var h=d[d.length-1];h.allowOnlyTimelineStyles()||h.setStyles([o],null,u.errors,s)}return d.length?d.map(function(e){return e.buildKeyframes()}):[ue(t,[],[],[],0,0,"",!1)]},e.prototype.visitTrigger=function(e,t){},e.prototype.visitState=function(e,t){},e.prototype.visitTransition=function(e,t){},e.prototype.visitAnimateChild=function(e,t){var n=t.subInstructions.consume(t.element);if(n){var r=t.createSubContext(e.options),i=t.currentTimeline.currentTime,a=this._visitSubInstructions(n,r,r.options);i!=a&&t.transformIntoNewTimeline(a)}t.previousNode=e},e.prototype.visitAnimateRef=function(e,t){var n=t.createSubContext(e.options);n.transformIntoNewTimeline(),this.visitReference(e.animation,n),t.transformIntoNewTimeline(n.currentTimeline.currentTime),t.previousNode=e},e.prototype._visitSubInstructions=function(e,t,n){var r=t.currentTimeline.currentTime,i=null!=n.duration?I(n.duration):null,a=null!=n.delay?I(n.delay):null;return 0!==i&&e.forEach(function(e){var n=t.appendInstructionToTimeline(e,i,a);r=Math.max(r,n.duration+n.delay)}),r},e.prototype.visitReference=function(e,t){t.updateOptions(e.options,!0),$(this,e.animation,t),t.previousNode=e},e.prototype.visitSequence=function(e,t){var n=this,r=t.subContextCount,i=t,a=e.options;if(a&&(a.params||a.delay)&&((i=t.createSubContext(a)).transformIntoNewTimeline(),null!=a.delay)){6==i.previousNode.type&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=ge);var o=I(a.delay);i.delayNextStep(o)}e.steps.length&&(e.steps.forEach(function(e){return $(n,e,i)}),i.currentTimeline.applyStylesToKeyframe(),i.subContextCount>r&&i.transformIntoNewTimeline()),t.previousNode=e},e.prototype.visitGroup=function(e,t){var n=this,r=[],i=t.currentTimeline.currentTime,a=e.options&&e.options.delay?I(e.options.delay):0;e.steps.forEach(function(o){var s=t.createSubContext(e.options);a&&s.delayNextStep(a),$(n,o,s),i=Math.max(i,s.currentTimeline.currentTime),r.push(s.currentTimeline)}),r.forEach(function(e){return t.currentTimeline.mergeTimelineCollectedStyles(e)}),t.transformIntoNewTimeline(i),t.previousNode=e},e.prototype._visitTiming=function(e,t){if(e.dynamic){var n=e.strValue;return D(t.params?U(n,t.params,t.errors):n,t.errors)}return{duration:e.duration,delay:e.delay,easing:e.easing}},e.prototype.visitAnimate=function(e,t){var n=t.currentAnimateTimings=this._visitTiming(e.timings,t),r=t.currentTimeline;n.delay&&(t.incrementTime(n.delay),r.snapshotCurrentStyles());var i=e.style;5==i.type?this.visitKeyframes(i,t):(t.incrementTime(n.duration),this.visitStyle(i,t),r.applyStylesToKeyframe()),t.currentAnimateTimings=null,t.previousNode=e},e.prototype.visitStyle=function(e,t){var n=t.currentTimeline,r=t.currentAnimateTimings;!r&&n.getCurrentStyleProperties().length&&n.forwardFrame();var i=r&&r.easing||e.easing;e.isEmptyStep?n.applyEmptyStep(i):n.setStyles(e.styles,i,t.errors,t.options),t.previousNode=e},e.prototype.visitKeyframes=function(e,t){var n=t.currentAnimateTimings,r=t.currentTimeline.duration,i=n.duration,a=t.createSubContext().currentTimeline;a.easing=n.easing,e.styles.forEach(function(e){var n=e.offset||0;a.forwardTime(n*i),a.setStyles(e.styles,e.easing,t.errors,t.options),a.applyStylesToKeyframe()}),t.currentTimeline.mergeTimelineCollectedStyles(a),t.transformIntoNewTimeline(r+i),t.previousNode=e},e.prototype.visitQuery=function(e,t){var n=this,r=t.currentTimeline.currentTime,i=e.options||{},a=i.delay?I(i.delay):0;a&&(6===t.previousNode.type||0==r&&t.currentTimeline.getCurrentStyleProperties().length)&&(t.currentTimeline.snapshotCurrentStyles(),t.previousNode=ge);var o=r,s=t.invokeQuery(e.selector,e.originalSelector,e.limit,e.includeSelf,!!i.optional,t.errors);t.currentQueryTotal=s.length;var l=null;s.forEach(function(r,i){t.currentQueryIndex=i;var s=t.createSubContext(e.options,r);a&&s.delayNextStep(a),r===t.element&&(l=s.currentTimeline),$(n,e.animation,s),s.currentTimeline.applyStylesToKeyframe();var c=s.currentTimeline.currentTime;o=Math.max(o,c)}),t.currentQueryIndex=0,t.currentQueryTotal=0,t.transformIntoNewTimeline(o),l&&(t.currentTimeline.mergeTimelineCollectedStyles(l),t.currentTimeline.snapshotCurrentStyles()),t.previousNode=e},e.prototype.visitStagger=function(e,t){var n=t.parentContext,r=t.currentTimeline,i=e.timings,a=Math.abs(i.duration),o=a*(t.currentQueryTotal-1),s=a*t.currentQueryIndex;switch(i.duration<0?"reverse":i.easing){case"reverse":s=o-s;break;case"full":s=n.currentStaggerTime}var l=t.currentTimeline;s&&l.delayNextStep(s);var c=l.currentTime;$(this,e.animation,t),t.previousNode=e,n.currentStaggerTime=r.currentTime-c+(r.startTime-n.currentTimeline.startTime)},e}(),ge={},ye=function(){function e(e,t,n,r,i,a,o,s){this._driver=e,this.element=t,this.subInstructions=n,this._enterClassName=r,this._leaveClassName=i,this.errors=a,this.timelines=o,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=ge,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=s||new be(this._driver,t,0),o.push(this.currentTimeline)}return Object.defineProperty(e.prototype,"params",{get:function(){return this.options.params},enumerable:!0,configurable:!0}),e.prototype.updateOptions=function(e,t){var n=this;if(e){var r=e,i=this.options;null!=r.duration&&(i.duration=I(r.duration)),null!=r.delay&&(i.delay=I(r.delay));var a=r.params;if(a){var o=i.params;o||(o=this.options.params={}),Object.keys(a).forEach(function(e){t&&o.hasOwnProperty(e)||(o[e]=U(a[e],o,n.errors))})}}},e.prototype._copyOptions=function(){var e={};if(this.options){var t=this.options.params;if(t){var n=e.params={};Object.keys(t).forEach(function(e){n[e]=t[e]})}}return e},e.prototype.createSubContext=function(t,n,r){void 0===t&&(t=null);var i=n||this.element,a=new e(this._driver,i,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(i,r||0));return a.previousNode=this.previousNode,a.currentAnimateTimings=this.currentAnimateTimings,a.options=this._copyOptions(),a.updateOptions(t),a.currentQueryIndex=this.currentQueryIndex,a.currentQueryTotal=this.currentQueryTotal,a.parentContext=this,this.subContextCount++,a},e.prototype.transformIntoNewTimeline=function(e){return this.previousNode=ge,this.currentTimeline=this.currentTimeline.fork(this.element,e),this.timelines.push(this.currentTimeline),this.currentTimeline},e.prototype.appendInstructionToTimeline=function(e,t,n){var r={duration:null!=t?t:e.duration,delay:this.currentTimeline.currentTime+(null!=n?n:0)+e.delay,easing:""},i=new ve(this._driver,e.element,e.keyframes,e.preStyleProps,e.postStyleProps,r,e.stretchStartingKeyframe);return this.timelines.push(i),r},e.prototype.incrementTime=function(e){this.currentTimeline.forwardTime(this.currentTimeline.duration+e)},e.prototype.delayNextStep=function(e){e>0&&this.currentTimeline.delayNextStep(e)},e.prototype.invokeQuery=function(e,t,n,i,a,o){var s=[];if(i&&s.push(this.element),e.length>0){e=(e=e.replace(he,"."+this._enterClassName)).replace(pe,"."+this._leaveClassName);var l=1!=n,c=this._driver.query(this.element,e,l);0!==n&&(c=n<0?c.slice(c.length+n,c.length):c.slice(0,n)),s.push.apply(s,Object(r.g)(c))}return a||0!=s.length||o.push('`query("'+t+'")` returned zero elements. (Use `query("'+t+'", { optional: true })` if you wish to allow this.)'),s},e}(),be=function(){function e(e,t,n,r){this._driver=e,this.element=t,this.startTime=n,this._elementTimelineStylesLookup=r,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(t),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(t,this._localTimelineStyles)),this._loadKeyframe()}return e.prototype.containsAnimation=function(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}},e.prototype.getCurrentStyleProperties=function(){return Object.keys(this._currentKeyframe)},Object.defineProperty(e.prototype,"currentTime",{get:function(){return this.startTime+this.duration},enumerable:!0,configurable:!0}),e.prototype.delayNextStep=function(e){var t=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||t?(this.forwardTime(this.currentTime+e),t&&this.snapshotCurrentStyles()):this.startTime+=e},e.prototype.fork=function(t,n){return this.applyStylesToKeyframe(),new e(this._driver,t,n||this.currentTime,this._elementTimelineStylesLookup)},e.prototype._loadKeyframe=function(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))},e.prototype.forwardFrame=function(){this.duration+=1,this._loadKeyframe()},e.prototype.forwardTime=function(e){this.applyStylesToKeyframe(),this.duration=e,this._loadKeyframe()},e.prototype._updateStyle=function(e,t){this._localTimelineStyles[e]=t,this._globalTimelineStyles[e]=t,this._styleSummary[e]={time:this.currentTime,value:t}},e.prototype.allowOnlyTimelineStyles=function(){return this._currentEmptyStepKeyframe!==this._currentKeyframe},e.prototype.applyEmptyStep=function(e){var t=this;e&&(this._previousKeyframe.easing=e),Object.keys(this._globalTimelineStyles).forEach(function(e){t._backFill[e]=t._globalTimelineStyles[e]||i.a,t._currentKeyframe[e]=i.a}),this._currentEmptyStepKeyframe=this._currentKeyframe},e.prototype.setStyles=function(e,t,n,r){var a=this;t&&(this._previousKeyframe.easing=t);var o=r&&r.params||{},s=function(e,t){var n,r={};return e.forEach(function(e){"*"===e?(n=n||Object.keys(t)).forEach(function(e){r[e]=i.a}):P(e,!1,r)}),r}(e,this._globalTimelineStyles);Object.keys(s).forEach(function(e){var t=U(s[e],o,n);a._pendingStyles[e]=t,a._localTimelineStyles.hasOwnProperty(e)||(a._backFill[e]=a._globalTimelineStyles.hasOwnProperty(e)?a._globalTimelineStyles[e]:i.a),a._updateStyle(e,t)})},e.prototype.applyStylesToKeyframe=function(){var e=this,t=this._pendingStyles,n=Object.keys(t);0!=n.length&&(this._pendingStyles={},n.forEach(function(n){var r=t[n];e._currentKeyframe[n]=r}),Object.keys(this._localTimelineStyles).forEach(function(t){e._currentKeyframe.hasOwnProperty(t)||(e._currentKeyframe[t]=e._localTimelineStyles[t])}))},e.prototype.snapshotCurrentStyles=function(){var e=this;Object.keys(this._localTimelineStyles).forEach(function(t){var n=e._localTimelineStyles[t];e._pendingStyles[t]=n,e._updateStyle(t,n)})},e.prototype.getFinalKeyframe=function(){return this._keyframes.get(this.duration)},Object.defineProperty(e.prototype,"properties",{get:function(){var e=[];for(var t in this._currentKeyframe)e.push(t);return e},enumerable:!0,configurable:!0}),e.prototype.mergeTimelineCollectedStyles=function(e){var t=this;Object.keys(e._styleSummary).forEach(function(n){var r=t._styleSummary[n],i=e._styleSummary[n];(!r||i.time>r.time)&&t._updateStyle(n,i.value)})},e.prototype.buildKeyframes=function(){var e=this;this.applyStylesToKeyframe();var t=new Set,n=new Set,r=1===this._keyframes.size&&0===this.duration,a=[];this._keyframes.forEach(function(o,s){var l=P(o,!0);Object.keys(l).forEach(function(e){var r=l[e];r==i.l?t.add(e):r==i.a&&n.add(e)}),r||(l.offset=s/e.duration),a.push(l)});var o=t.size?H(t.values()):[],s=n.size?H(n.values()):[];if(r){var l=a[0],c=A(l);l.offset=0,c.offset=1,a=[l,c]}return ue(this.element,a,o,s,this.duration,this.startTime,this.easing,!1)},e}(),ve=function(e){function t(t,n,r,i,a,o,s){void 0===s&&(s=!1);var l=e.call(this,t,n,o.delay)||this;return l.element=n,l.keyframes=r,l.preStyleProps=i,l.postStyleProps=a,l._stretchStartingKeyframe=s,l.timings={duration:o.duration,delay:o.delay,easing:o.easing},l}return Object(r.c)(t,e),t.prototype.containsAnimation=function(){return this.keyframes.length>1},t.prototype.buildKeyframes=function(){var e=this.keyframes,t=this.timings,n=t.delay,r=t.duration,i=t.easing;if(this._stretchStartingKeyframe&&n){var a=[],o=r+n,s=n/o,l=P(e[0],!1);l.offset=0,a.push(l);var c=P(e[0],!1);c.offset=ke(s),a.push(c);for(var u=e.length-1,d=1;d<=u;d++){var h=P(e[d],!1),p=n+h.offset*r;h.offset=ke(p/o),a.push(h)}r=o,n=0,i="",e=a}return ue(this.element,e,this.preStyleProps,this.postStyleProps,r,n,i,!0)},t}(be);function ke(e,t){void 0===t&&(t=3);var n=Math.pow(10,t-1);return Math.round(e*n)/n}!function(){function e(e,t){this._driver=e;var n=[],r=ie(e,t,n);if(n.length){var i="animation validation failed:\n"+n.join("\n");throw new Error(i)}this._animationAst=r}e.prototype.buildTimelines=function(e,t,n,r,i){var a=Array.isArray(t)?N(t):t,o=Array.isArray(n)?N(n):n,s=[];i=i||new de;var l=fe(this._driver,e,this._animationAst,"ng-enter","ng-leave",a,o,r,i,s);if(s.length){var c="animation building failed:\n"+s.join("\n");throw new Error(c)}return l}}(); -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var we,_e,je=function(){return function(){}}(),Ce=(function(){function e(){}e.prototype.normalizePropertyName=function(e,t){return e},e.prototype.normalizeStyleValue=function(e,t,n,r){return n}}(),function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(r.c)(t,e),t.prototype.normalizePropertyName=function(e,t){return K(e)},t.prototype.normalizeStyleValue=function(e,t,n,r){var i="",a=n.toString().trim();if(Ee[t]&&0!==n&&"0"!==n)if("number"==typeof n)i="px";else{var o=n.match(/^[+-]?[\d\.]+([a-z]*)$/);o&&0==o[1].length&&r.push("Please provide a CSS unit value for "+e+":"+n)}return a+i},t}(je)),Ee=(we="width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(","),_e={},we.forEach(function(e){return _e[e]=!0}),_e);function xe(e,t,n,r,i,a,o,s,l,c,u,d,h){return{type:0,element:e,triggerName:t,isRemovalTransition:i,fromState:n,fromStyles:a,toState:r,toStyles:o,timelines:s,queriedElements:l,preStyleProps:c,postStyleProps:u,totalTime:d,errors:h}}var Se={},Te=function(){function e(e,t,n){this._triggerName=e,this.ast=t,this._stateStyles=n}return e.prototype.match=function(e,t,n,r){return function(e,t,n,r,i){return e.some(function(e){return e(t,n,r,i)})}(this.ast.matchers,e,t,n,r)},e.prototype.buildStyles=function(e,t,n){var r=this._stateStyles["*"],i=this._stateStyles[e],a=r?r.buildStyles(t,n):{};return i?i.buildStyles(t,n):a},e.prototype.build=function(e,t,n,i,a,o,s,l,c,u){var d=[],p=this.ast.options&&this.ast.options.params||Se,f=s&&s.params||Se,m=this.buildStyles(n,f,d),g=l&&l.params||Se,y=this.buildStyles(i,g,d),b=new Set,v=new Map,k=new Map,w="void"===i,_={params:Object(r.a)(Object(r.a)({},p),g)},j=u?[]:fe(e,t,this.ast.animation,a,o,m,y,_,c,d),C=0;if(j.forEach(function(e){C=Math.max(e.duration+e.delay,C)}),d.length)return xe(t,this._triggerName,n,i,w,m,y,[],[],v,k,C,d);j.forEach(function(e){var n=e.element,r=h(v,n,{});e.preStyleProps.forEach(function(e){return r[e]=!0});var i=h(k,n,{});e.postStyleProps.forEach(function(e){return i[e]=!0}),n!==t&&b.add(n)});var E=H(b.values());return xe(t,this._triggerName,n,i,w,m,y,j,E,v,k,C)},e}();var Oe=function(){function e(e,t){this.styles=e,this.defaultParams=t}return e.prototype.buildStyles=function(e,t){var n={},r=A(this.defaultParams);return Object.keys(e).forEach(function(t){var n=e[t];null!=n&&(r[t]=n)}),this.styles.styles.forEach(function(e){if("string"!=typeof e){var i=e;Object.keys(i).forEach(function(e){var a=i[e];a.length>1&&(a=U(a,r,t)),n[e]=a})}}),n},e}();var Ie=function(){function e(e,t){var n,r,i=this;this.name=e,this.ast=t,this.transitionFactories=[],this.states={},t.states.forEach(function(e){var t=e.options&&e.options.params||{};i.states[e.name]=new Oe(e.style,t)}),ze(this.states,"true","1"),ze(this.states,"false","0"),t.transitions.forEach(function(t){i.transitionFactories.push(new Te(e,t,i.states))}),this.fallbackTransition=(n=e,r=this.states,new Te(n,{type:1,animation:{type:2,steps:[],options:null},matchers:[function(e,t){return!0}],options:null,queryCount:0,depCount:0},r))}return Object.defineProperty(e.prototype,"containsQueries",{get:function(){return this.ast.queryCount>0},enumerable:!0,configurable:!0}),e.prototype.matchTransition=function(e,t,n,r){return this.transitionFactories.find(function(i){return i.match(e,t,n,r)})||null},e.prototype.matchStyles=function(e,t,n){return this.fallbackTransition.buildStyles(e,t,n)},e}();function ze(e,t,n){e.hasOwnProperty(t)?e.hasOwnProperty(n)||(e[n]=e[t]):e.hasOwnProperty(n)&&(e[t]=e[n])} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var De=new de,Ae=function(){function e(e,t,n){this.bodyNode=e,this._driver=t,this._normalizer=n,this._animations={},this._playersById={},this.players=[]}return e.prototype.register=function(e,t){var n=[],r=ie(this._driver,t,n);if(n.length)throw new Error("Unable to build the animation due to the following errors: "+n.join("\n"));this._animations[e]=r},e.prototype._buildPlayer=function(e,t,n){var r=e.element,i=l(this._driver,this._normalizer,0,e.keyframes,t,n);return this._driver.animate(r,i,e.duration,e.delay,e.easing,[],!0)},e.prototype.create=function(e,t,n){var r=this;void 0===n&&(n={});var a,o=[],l=this._animations[e],c=new Map;if(l?(a=fe(this._driver,t,l,"ng-enter","ng-leave",{},{},n,De,o)).forEach(function(e){var t=h(c,e.element,{});e.postStyleProps.forEach(function(e){return t[e]=null})}):(o.push("The requested animation doesn't exist or has already been destroyed"),a=[]),o.length)throw new Error("Unable to create the animation due to the following errors: "+o.join("\n"));c.forEach(function(e,t){Object.keys(e).forEach(function(n){e[n]=r._driver.computeStyle(t,n,i.a)})});var u=s(a.map(function(e){var t=c.get(e.element);return r._buildPlayer(e,{},t)}));return this._playersById[e]=u,u.onDestroy(function(){return r.destroy(e)}),this.players.push(u),u},e.prototype.destroy=function(e){var t=this._getPlayer(e);t.destroy(),delete this._playersById[e];var n=this.players.indexOf(t);n>=0&&this.players.splice(n,1)},e.prototype._getPlayer=function(e){var t=this._playersById[e];if(!t)throw new Error("Unable to find the timeline player referenced by "+e);return t},e.prototype.listen=function(e,t,n,r){var i=d(t,"","","");return c(this._getPlayer(e),n,i,r),function(){}},e.prototype.command=function(e,t,n,r){if("register"!=n)if("create"!=n){var i=this._getPlayer(e);switch(n){case"play":i.play();break;case"pause":i.pause();break;case"reset":i.reset();break;case"restart":i.restart();break;case"finish":i.finish();break;case"init":i.init();break;case"setPosition":i.setPosition(parseFloat(r[0]));break;case"destroy":this.destroy(e)}}else{var a=r[0]||{};this.create(e,t,a)}else this.register(e,r[0])},e}(),Ne=[],Pe={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Re={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},Me="__ng_removed",qe=function(){function e(e,t){void 0===t&&(t=""),this.namespaceId=t;var n=e&&e.hasOwnProperty("value"),r=n?e.value:e;if(this.value=function(e){return null!=e?e:null}(r),n){var i=A(e);delete i.value,this.options=i}else this.options={};this.options.params||(this.options.params={})}return Object.defineProperty(e.prototype,"params",{get:function(){return this.options.params},enumerable:!0,configurable:!0}),e.prototype.absorbOptions=function(e){var t=e.params;if(t){var n=this.options.params;Object.keys(t).forEach(function(e){null==n[e]&&(n[e]=t[e])})}},e}(),Le=new qe("void"),Be=function(){function e(e,t,n){this.id=e,this.hostElement=t,this._engine=n,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+e,Qe(t,this._hostClassName)}return e.prototype.listen=function(e,t,n,r){var i,a=this;if(!this._triggers.hasOwnProperty(t))throw new Error('Unable to listen on the animation trigger event "'+n+'" because the animation trigger "'+t+"\" doesn't exist!");if(null==n||0==n.length)throw new Error('Unable to listen on the animation trigger "'+t+'" because the provided event is undefined!');if("start"!=(i=n)&&"done"!=i)throw new Error('The provided animation trigger event "'+n+'" for the animation trigger "'+t+'" is not supported!');var o=h(this._elementListeners,e,[]),s={name:t,phase:n,callback:r};o.push(s);var l=h(this._engine.statesByElement,e,{});return l.hasOwnProperty(t)||(Qe(e,"ng-trigger"),Qe(e,"ng-trigger-"+t),l[t]=Le),function(){a._engine.afterFlush(function(){var e=o.indexOf(s);e>=0&&o.splice(e,1),a._triggers[t]||delete l[t]})}},e.prototype.register=function(e,t){return!this._triggers[e]&&(this._triggers[e]=t,!0)},e.prototype._getTrigger=function(e){var t=this._triggers[e];if(!t)throw new Error('The provided animation trigger "'+e+'" has not been registered!');return t},e.prototype.trigger=function(e,t,n,r){var i=this;void 0===r&&(r=!0);var a=this._getTrigger(t),o=new Ve(this.id,t,e),s=this._engine.statesByElement.get(e);s||(Qe(e,"ng-trigger"),Qe(e,"ng-trigger-"+t),this._engine.statesByElement.set(e,s={}));var l=s[t],c=new qe(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&l&&c.absorbOptions(l.options),s[t]=c,l||(l=Le),"void"===c.value||l.value!==c.value){var u=h(this._engine.playersByElement,e,[]);u.forEach(function(e){e.namespaceId==i.id&&e.triggerName==t&&e.queued&&e.destroy()});var d=a.matchTransition(l.value,c.value,e,c.params),p=!1;if(!d){if(!r)return;d=a.fallbackTransition,p=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:t,transition:d,fromState:l,toState:c,player:o,isFallbackTransition:p}),p||(Qe(e,"ng-animate-queued"),o.onStart(function(){$e(e,"ng-animate-queued")})),o.onDone(function(){var t=i.players.indexOf(o);t>=0&&i.players.splice(t,1);var n=i._engine.playersByElement.get(e);if(n){var r=n.indexOf(o);r>=0&&n.splice(r,1)}}),this.players.push(o),u.push(o),o}if(!function(e,t){var n=Object.keys(e),r=Object.keys(t);if(n.length!=r.length)return!1;for(var i=0;i=0){for(var r=!1,i=n;i>=0;i--){var a=this._namespaceList[i];if(this.driver.containsElement(a.hostElement,t)){this._namespaceList.splice(i+1,0,e),r=!0;break}}r||this._namespaceList.splice(0,0,e)}else this._namespaceList.push(e);return this.namespacesByHostElement.set(t,e),e},e.prototype.register=function(e,t){var n=this._namespaceLookup[e];return n||(n=this.createNamespace(e,t)),n},e.prototype.registerTrigger=function(e,t,n){var r=this._namespaceLookup[e];r&&r.register(t,n)&&this.totalAnimations++},e.prototype.destroy=function(e,t){var n=this;if(e){var r=this._fetchNamespace(e);this.afterFlush(function(){n.namespacesByHostElement.delete(r.hostElement),delete n._namespaceLookup[e];var t=n._namespaceList.indexOf(r);t>=0&&n._namespaceList.splice(t,1)}),this.afterFlushAnimationsDone(function(){return r.destroy(t)})}},e.prototype._fetchNamespace=function(e){return this._namespaceLookup[e]},e.prototype.fetchNamespacesByElement=function(e){var t=new Set,n=this.statesByElement.get(e);if(n)for(var r=Object.keys(n),i=0;i=0&&this.collectedLeaveElements.splice(a,1)}if(e){var o=this._fetchNamespace(e);o&&o.insertNode(t,n)}r&&this.collectEnterElement(t)}},e.prototype.collectEnterElement=function(e){this.collectedEnterElements.push(e)},e.prototype.markElementAsDisabled=function(e,t){t?this.disabledNodes.has(e)||(this.disabledNodes.add(e),Qe(e,"ng-animate-disabled")):this.disabledNodes.has(e)&&(this.disabledNodes.delete(e),$e(e,"ng-animate-disabled"))},e.prototype.removeNode=function(e,t,n,r){if(Ue(t)){var i=e?this._fetchNamespace(e):null;if(i?i.removeNode(t,r):this.markElementAsRemoved(e,t,!1,r),n){var a=this.namespacesByHostElement.get(t);a&&a.id!==e&&a.removeNode(t,r)}}else this._onRemovalComplete(t,r)},e.prototype.markElementAsRemoved=function(e,t,n,r){this.collectedLeaveElements.push(t),t[Me]={namespaceId:e,setForRemoval:r,hasAnimation:n,removedBeforeQueried:!1}},e.prototype.listen=function(e,t,n,r,i){return Ue(t)?this._fetchNamespace(e).listen(t,n,r,i):function(){}},e.prototype._buildInstruction=function(e,t,n,r,i){return e.transition.build(this.driver,e.element,e.fromState.value,e.toState.value,n,r,e.fromState.options,e.toState.options,t,i)},e.prototype.destroyInnerAnimations=function(e){var t=this,n=this.driver.query(e,T,!0);n.forEach(function(e){return t.destroyActiveAnimationsForElement(e)}),0!=this.playersByQueriedElement.size&&(n=this.driver.query(e,O,!0)).forEach(function(e){return t.finishActiveQueriedAnimationOnElement(e)})},e.prototype.destroyActiveAnimationsForElement=function(e){var t=this.playersByElement.get(e);t&&t.forEach(function(e){e.queued?e.markedForDestroy=!0:e.destroy()})},e.prototype.finishActiveQueriedAnimationOnElement=function(e){var t=this.playersByQueriedElement.get(e);t&&t.forEach(function(e){return e.finish()})},e.prototype.whenRenderingDone=function(){var e=this;return new Promise(function(t){if(e.players.length)return s(e.players).onDone(function(){return t()});t()})},e.prototype.processLeaveNode=function(e){var t=this,n=e[Me];if(n&&n.setForRemoval){if(e[Me]=Pe,n.namespaceId){this.destroyInnerAnimations(e);var r=this._fetchNamespace(n.namespaceId);r&&r.clearElementCache(e)}this._onRemovalComplete(e,n.setForRemoval)}this.driver.matchesElement(e,".ng-animate-disabled")&&this.markElementAsDisabled(e,!1),this.driver.query(e,".ng-animate-disabled",!0).forEach(function(e){t.markElementAsDisabled(e,!1)})},e.prototype.flush=function(e){var t=this;void 0===e&&(e=-1);var n=[];if(this.newHostElements.size&&(this.newHostElements.forEach(function(e,n){return t._balanceNamespaceList(e,n)}),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(var r=0;r=0;T--){this._namespaceList[T].drainQueuedTransitions(t).forEach(function(e){var t=e.player,r=e.element;if(x.push(t),n.collectedEnterElements.length){var i=r[Me];if(i&&i.setForMove)return void t.destroy()}var s=!m||!n.driver.containsElement(m,r),l=C.get(r),f=b.get(r),g=n._buildInstruction(e,a,f,l,s);if(g.errors&&g.errors.length)S.push(g);else{if(s)return t.onStart(function(){return L(r,g.fromStyles)}),t.onDestroy(function(){return q(r,g.toStyles)}),void o.push(t);if(e.isFallbackTransition)return t.onStart(function(){return L(r,g.fromStyles)}),t.onDestroy(function(){return q(r,g.toStyles)}),void o.push(t);g.timelines.forEach(function(e){return e.stretchStartingKeyframe=!0}),a.append(r,g.timelines);var y={instruction:g,player:t,element:r};c.push(y),g.queriedElements.forEach(function(e){return h(u,e,[]).push(t)}),g.preStyleProps.forEach(function(e,t){var n=Object.keys(e);if(n.length){var r=d.get(t);r||d.set(t,r=new Set),n.forEach(function(e){return r.add(e)})}}),g.postStyleProps.forEach(function(e,t){var n=Object.keys(e),r=p.get(t);r||p.set(t,r=new Set),n.forEach(function(e){return r.add(e)})})}})}if(S.length){var I=[];S.forEach(function(e){I.push("@"+e.triggerName+" has failed due to:\n"),e.errors.forEach(function(e){return I.push("- "+e+"\n")})}),x.forEach(function(e){return e.destroy()}),this.reportError(I)}var z=new Map,D=new Map;c.forEach(function(e){var t=e.element;a.has(t)&&(D.set(t,t),n._beforeAnimationBuild(e.player.namespaceId,e.instruction,z))}),o.forEach(function(e){var t=e.element;n._getPreviousPlayers(t,!1,e.namespaceId,e.triggerName,null).forEach(function(e){h(z,t,[]).push(e),e.destroy()})});var A=k.filter(function(e){return Ze(e,d,p)}),N=new Map;We(N,this.driver,_,p,i.a).forEach(function(e){Ze(e,d,p)&&A.push(e)});var P=new Map;y.forEach(function(e,t){We(P,n.driver,new Set(e),d,i.l)}),A.forEach(function(e){var t=N.get(e),n=P.get(e);N.set(e,Object(r.a)(Object(r.a)({},t),n))});var R=[],M=[],B={};c.forEach(function(e){var t=e.element,r=e.player,i=e.instruction;if(a.has(t)){if(f.has(t))return r.onDestroy(function(){return q(t,i.toStyles)}),r.disabled=!0,r.overrideTotalTime(i.totalTime),void o.push(r);var c=B;if(D.size>1){for(var u=t,d=[];u=u.parentNode;){var h=D.get(u);if(h){c=h;break}d.push(u)}d.forEach(function(e){return D.set(e,c)})}var p=n._buildAnimation(r.namespaceId,i,z,l,P,N);if(r.setRealPlayer(p),c===B)R.push(r);else{var m=n.playersByElement.get(c);m&&m.length&&(r.parentPlayer=s(m)),o.push(r)}}else L(t,i.fromStyles),r.onDestroy(function(){return q(t,i.toStyles)}),M.push(r),f.has(t)&&o.push(r)}),M.forEach(function(e){var t=l.get(e.element);if(t&&t.length){var n=s(t);e.setRealPlayer(n)}}),o.forEach(function(e){e.parentPlayer?e.syncPlayerEvents(e.parentPlayer):e.destroy()});for(var F=0;F0?this.driver.animate(e.element,t,e.duration,e.delay,e.easing,n):new i.d(e.duration,e.delay)},e}(),Ve=function(){function e(e,t,n){this.namespaceId=e,this.triggerName=t,this.element=n,this._player=new i.d,this._containsRealPlayer=!1,this._queuedCallbacks={},this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}return e.prototype.setRealPlayer=function(e){var t=this;this._containsRealPlayer||(this._player=e,Object.keys(this._queuedCallbacks).forEach(function(n){t._queuedCallbacks[n].forEach(function(t){return c(e,n,void 0,t)})}),this._queuedCallbacks={},this._containsRealPlayer=!0,this.overrideTotalTime(e.totalTime),this.queued=!1)},e.prototype.getRealPlayer=function(){return this._player},e.prototype.overrideTotalTime=function(e){this.totalTime=e},e.prototype.syncPlayerEvents=function(e){var t=this,n=this._player;n.triggerCallback&&e.onStart(function(){return n.triggerCallback("start")}),e.onDone(function(){return t.finish()}),e.onDestroy(function(){return t.destroy()})},e.prototype._queueEvent=function(e,t){h(this._queuedCallbacks,e,[]).push(t)},e.prototype.onDone=function(e){this.queued&&this._queueEvent("done",e),this._player.onDone(e)},e.prototype.onStart=function(e){this.queued&&this._queueEvent("start",e),this._player.onStart(e)},e.prototype.onDestroy=function(e){this.queued&&this._queueEvent("destroy",e),this._player.onDestroy(e)},e.prototype.init=function(){this._player.init()},e.prototype.hasStarted=function(){return!this.queued&&this._player.hasStarted()},e.prototype.play=function(){!this.queued&&this._player.play()},e.prototype.pause=function(){!this.queued&&this._player.pause()},e.prototype.restart=function(){!this.queued&&this._player.restart()},e.prototype.finish=function(){this._player.finish()},e.prototype.destroy=function(){this.destroyed=!0,this._player.destroy()},e.prototype.reset=function(){!this.queued&&this._player.reset()},e.prototype.setPosition=function(e){this.queued||this._player.setPosition(e)},e.prototype.getPosition=function(){return this.queued?0:this._player.getPosition()},e.prototype.triggerCallback=function(e){var t=this._player;t.triggerCallback&&t.triggerCallback(e)},e}();function Ue(e){return e&&1===e.nodeType}function He(e,t){var n=e.style.display;return e.style.display=null!=t?t:"none",n}function We(e,t,n,r,i){var a=[];n.forEach(function(e){return a.push(He(e))});var o=[];r.forEach(function(n,r){var a={};n.forEach(function(e){var n=a[e]=t.computeStyle(r,e,i);n&&0!=n.length||(r[Me]=Re,o.push(r))}),e.set(r,a)});var s=0;return n.forEach(function(e){return He(e,a[s++])}),o}function Ke(e,t){var n=new Map;if(e.forEach(function(e){return n.set(e,[])}),0==t.length)return n;var r=1,i=new Set(t),a=new Map;return t.forEach(function(e){var t=function e(t){if(!t)return r;var o=a.get(t);if(o)return o;var s=t.parentNode;return o=n.has(s)?s:i.has(s)?r:e(s),a.set(t,o),o}(e);t!==r&&n.get(t).push(e)}),n}var Ge="$$classes";function Qe(e,t){if(e.classList)e.classList.add(t);else{var n=e[Ge];n||(n=e[Ge]={}),n[t]=!0}}function $e(e,t){if(e.classList)e.classList.remove(t);else{var n=e[Ge];n&&delete n[t]}}function Ye(e,t,n){s(n).onDone(function(){return e.processLeaveNode(t)})}function Ze(e,t,n){var r=n.get(e);if(!r)return!1;var i=t.get(e);return i?r.forEach(function(e){return i.add(e)}):t.set(e,r),n.delete(e),!0}var Je=function(){function e(e,t,n){var r=this;this.bodyNode=e,this._driver=t,this._triggerCache={},this.onRemovalComplete=function(e,t){},this._transitionEngine=new Fe(e,t,n),this._timelineEngine=new Ae(e,t,n),this._transitionEngine.onRemovalComplete=function(e,t){return r.onRemovalComplete(e,t)}}return e.prototype.registerTrigger=function(e,t,n,r,i){var a=e+"-"+r,o=this._triggerCache[a];if(!o){var s=[],l=ie(this._driver,i,s);if(s.length)throw new Error('The animation trigger "'+r+'" has failed to build due to the following errors:\n - '+s.join("\n - "));o=function(e,t){return new Ie(e,t)}(r,l),this._triggerCache[a]=o}this._transitionEngine.registerTrigger(t,r,o)},e.prototype.register=function(e,t){this._transitionEngine.register(e,t)},e.prototype.destroy=function(e,t){this._transitionEngine.destroy(e,t)},e.prototype.onInsert=function(e,t,n,r){this._transitionEngine.insertNode(e,t,n,r)},e.prototype.onRemove=function(e,t,n,r){this._transitionEngine.removeNode(e,t,r||!1,n)},e.prototype.disableAnimations=function(e,t){this._transitionEngine.markElementAsDisabled(e,t)},e.prototype.process=function(e,t,n,i){if("@"==n.charAt(0)){var a=Object(r.f)(p(n),2),o=a[0],s=a[1],l=i;this._timelineEngine.command(o,t,s,l)}else this._transitionEngine.trigger(e,t,n,i)},e.prototype.listen=function(e,t,n,i,a){if("@"==n.charAt(0)){var o=Object(r.f)(p(n),2),s=o[0],l=o[1];return this._timelineEngine.listen(s,t,l,a)}return this._transitionEngine.listen(e,t,n,i,a)},e.prototype.flush=function(e){void 0===e&&(e=-1),this._transitionEngine.flush(e)},Object.defineProperty(e.prototype,"players",{get:function(){return this._transitionEngine.players.concat(this._timelineEngine.players)},enumerable:!0,configurable:!0}),e.prototype.whenRenderingDone=function(){return this._transitionEngine.whenRenderingDone()},e}(); -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function Xe(e,t){var n=null,r=null;return Array.isArray(t)&&t.length?(n=tt(t[0]),t.length>1&&(r=tt(t[t.length-1]))):t&&(n=tt(t)),n||r?new et(e,n,r):null}var et=function(){function e(t,n,r){this._element=t,this._startStyles=n,this._endStyles=r,this._state=0;var i=e.initialStylesByElement.get(t);i||e.initialStylesByElement.set(t,i={}),this._initialStyles=i}return e.prototype.start=function(){this._state<1&&(this._startStyles&&q(this._element,this._startStyles,this._initialStyles),this._state=1)},e.prototype.finish=function(){this.start(),this._state<2&&(q(this._element,this._initialStyles),this._endStyles&&(q(this._element,this._endStyles),this._endStyles=null),this._state=1)},e.prototype.destroy=function(){this.finish(),this._state<3&&(e.initialStylesByElement.delete(this._element),this._startStyles&&(L(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(L(this._element,this._endStyles),this._endStyles=null),q(this._element,this._initialStyles),this._state=3)},e.initialStylesByElement=new WeakMap,e}();function tt(e){for(var t=null,n=Object.keys(e),r=0;r=this._delay&&n>=this._duration&&this.finish()},e.prototype.finish=function(){this._finished||(this._finished=!0,this._onDoneFn(),ct(this._element,this._eventFn,!0))},e.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.finish(),function(e,t){var n=dt(e,"").split(","),r=lt(n,t);if(r>=0){n.splice(r,1);var i=n.join(",");ut(e,"",i)}}(this._element,this._name))},e}();function ot(e,t,n){ut(e,"PlayState",n,st(e,t))}function st(e,t){var n=dt(e,"");return n.indexOf(",")>0?lt(n.split(","),t):lt([n],t)}function lt(e,t){for(var n=0;n=0)return n;return-1}function ct(e,t,n){n?e.removeEventListener(it,t):e.addEventListener(it,t)}function ut(e,t,n,r){var i=rt+t;if(null!=r){var a=e.style[i];if(a.length){var o=a.split(",");o[r]=n,n=o.join(",")}}e.style[i]=n}function dt(e,t){return e.style[rt+t]}var ht="linear",pt=function(){function e(e,t,n,r,i,a,o,s){this.element=e,this.keyframes=t,this.animationName=n,this._duration=r,this._delay=i,this._finalStyles=o,this._specialStyles=s,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this.currentSnapshot={},this._state=0,this.easing=a||ht,this.totalTime=r+i,this._buildStyler()}return e.prototype.onStart=function(e){this._onStartFns.push(e)},e.prototype.onDone=function(e){this._onDoneFns.push(e)},e.prototype.onDestroy=function(e){this._onDestroyFns.push(e)},e.prototype.destroy=function(){this.init(),this._state>=4||(this._state=4,this._styler.destroy(),this._flushStartFns(),this._flushDoneFns(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(function(e){return e()}),this._onDestroyFns=[])},e.prototype._flushDoneFns=function(){this._onDoneFns.forEach(function(e){return e()}),this._onDoneFns=[]},e.prototype._flushStartFns=function(){this._onStartFns.forEach(function(e){return e()}),this._onStartFns=[]},e.prototype.finish=function(){this.init(),this._state>=3||(this._state=3,this._styler.finish(),this._flushStartFns(),this._specialStyles&&this._specialStyles.finish(),this._flushDoneFns())},e.prototype.setPosition=function(e){this._styler.setPosition(e)},e.prototype.getPosition=function(){return this._styler.getPosition()},e.prototype.hasStarted=function(){return this._state>=2},e.prototype.init=function(){if(!(this._state>=1)){this._state=1;this.element;this._styler.apply(),this._delay&&this._styler.pause()}},e.prototype.play=function(){this.init(),this.hasStarted()||(this._flushStartFns(),this._state=2,this._specialStyles&&this._specialStyles.start()),this._styler.resume()},e.prototype.pause=function(){this.init(),this._styler.pause()},e.prototype.restart=function(){this.reset(),this.play()},e.prototype.reset=function(){this._styler.destroy(),this._buildStyler(),this._styler.apply()},e.prototype._buildStyler=function(){var e=this;this._styler=new at(this.element,this.animationName,this._duration,this._delay,this.easing,"forwards",function(){return e.finish()})},e.prototype.triggerCallback=function(e){var t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(function(e){return e()}),t.length=0},e.prototype.beforeDestroy=function(){var e=this;this.init();var t={};if(this.hasStarted()){var n=this._state>=3;Object.keys(this._finalStyles).forEach(function(r){"offset"!=r&&(t[r]=n?e._finalStyles[r]:Y(e.element,r))})}this.currentSnapshot=t},e}(),ft=function(e){function t(t,n){var r=e.call(this)||this;return r.element=t,r._startingStyles={},r.__initialized=!1,r._styles=C(n),r}return Object(r.c)(t,e),t.prototype.init=function(){var t=this;!this.__initialized&&this._startingStyles&&(this.__initialized=!0,Object.keys(this._styles).forEach(function(e){t._startingStyles[e]=t.element.style[e]}),e.prototype.init.call(this))},t.prototype.play=function(){var t=this;this._startingStyles&&(this.init(),Object.keys(this._styles).forEach(function(e){return t.element.style.setProperty(e,t._styles[e])}),e.prototype.play.call(this))},t.prototype.destroy=function(){var t=this;this._startingStyles&&(Object.keys(this._startingStyles).forEach(function(e){var n=t._startingStyles[e];n?t.element.style.setProperty(e,n):t.element.style.removeProperty(e)}),this._startingStyles=null,e.prototype.destroy.call(this))},t}(i.d),mt=function(){function e(){this._count=0,this._head=document.querySelector("head"),this._warningIssued=!1}return e.prototype.validateStyleProperty=function(e){return k(e)},e.prototype.matchesElement=function(e,t){return w(e,t)},e.prototype.containsElement=function(e,t){return _(e,t)},e.prototype.query=function(e,t,n){return j(e,t,n)},e.prototype.computeStyle=function(e,t,n){return window.getComputedStyle(e)[t]},e.prototype.buildKeyframeElement=function(e,t,n){n=n.map(function(e){return C(e)});var r="@keyframes "+t+" {\n",i="";n.forEach(function(e){i=" ";var t=parseFloat(e.offset);r+=""+i+100*t+"% {\n",i+=" ",Object.keys(e).forEach(function(t){var n=e[t];switch(t){case"offset":return;case"easing":return void(n&&(r+=i+"animation-timing-function: "+n+";\n"));default:return void(r+=""+i+t+": "+n+";\n")}}),r+=i+"}\n"}),r+="}\n";var a=document.createElement("style");return a.innerHTML=r,a},e.prototype.animate=function(e,t,n,r,i,a,o){void 0===a&&(a=[]),o&&this._notifyFaultyScrubber();var s=a.filter(function(e){return e instanceof pt}),l={};G(n,r)&&s.forEach(function(e){var t=e.currentSnapshot;Object.keys(t).forEach(function(e){return l[e]=t[e]})});var c=function(e){var t={};if(e){var n=Array.isArray(e)?e:[e];n.forEach(function(e){Object.keys(e).forEach(function(n){"offset"!=n&&"easing"!=n&&(t[n]=e[n])})})}return t}(t=Q(e,t,l));if(0==n)return new ft(e,c);var u="gen_css_kf_"+this._count++,d=this.buildKeyframeElement(e,u,t);document.querySelector("head").appendChild(d);var h=Xe(e,t),p=new pt(e,t,u,n,r,i,c,h);return p.onDestroy(function(){var e;(e=d).parentNode.removeChild(e)}),p},e.prototype._notifyFaultyScrubber=function(){this._warningIssued||(console.warn("@angular/animations: please load the web-animations.js polyfill to allow programmatic access...\n"," visit http://bit.ly/IWukam to learn more about using the web-animation-js polyfill."),this._warningIssued=!0)},e}();var gt=function(){function e(e,t,n,r){this.element=e,this.keyframes=t,this.options=n,this._specialStyles=r,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot={},this._duration=n.duration,this._delay=n.delay||0,this.time=this._duration+this._delay}return e.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(e){return e()}),this._onDoneFns=[])},e.prototype.init=function(){this._buildPlayer(),this._preparePlayerBeforeStart()},e.prototype._buildPlayer=function(){var e=this;if(!this._initialized){this._initialized=!0;var t=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,t,this.options),this._finalKeyframe=t.length?t[t.length-1]:{},this.domPlayer.addEventListener("finish",function(){return e._onFinish()})}},e.prototype._preparePlayerBeforeStart=function(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()},e.prototype._triggerWebAnimation=function(e,t,n){return e.animate(t,n)},e.prototype.onStart=function(e){this._onStartFns.push(e)},e.prototype.onDone=function(e){this._onDoneFns.push(e)},e.prototype.onDestroy=function(e){this._onDestroyFns.push(e)},e.prototype.play=function(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(function(e){return e()}),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()},e.prototype.pause=function(){this.init(),this.domPlayer.pause()},e.prototype.finish=function(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()},e.prototype.reset=function(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1},e.prototype._resetDomPlayerState=function(){this.domPlayer&&this.domPlayer.cancel()},e.prototype.restart=function(){this.reset(),this.play()},e.prototype.hasStarted=function(){return this._started},e.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(function(e){return e()}),this._onDestroyFns=[])},e.prototype.setPosition=function(e){this.domPlayer.currentTime=e*this.time},e.prototype.getPosition=function(){return this.domPlayer.currentTime/this.time},Object.defineProperty(e.prototype,"totalTime",{get:function(){return this._delay+this._duration},enumerable:!0,configurable:!0}),e.prototype.beforeDestroy=function(){var e=this,t={};this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(function(n){"offset"!=n&&(t[n]=e._finished?e._finalKeyframe[n]:Y(e.element,n))}),this.currentSnapshot=t},e.prototype.triggerCallback=function(e){var t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(function(e){return e()}),t.length=0},e}(),yt=function(){function e(){this._isNativeImpl=/\{\s*\[native\s+code\]\s*\}/.test(vt().toString()),this._cssKeyframesDriver=new mt}return e.prototype.validateStyleProperty=function(e){return k(e)},e.prototype.matchesElement=function(e,t){return w(e,t)},e.prototype.containsElement=function(e,t){return _(e,t)},e.prototype.query=function(e,t,n){return j(e,t,n)},e.prototype.computeStyle=function(e,t,n){return window.getComputedStyle(e)[t]},e.prototype.overrideWebAnimationsSupport=function(e){this._isNativeImpl=e},e.prototype.animate=function(e,t,n,r,i,a,o){if(void 0===a&&(a=[]),!o&&!this._isNativeImpl)return this._cssKeyframesDriver.animate(e,t,n,r,i,a);var s={duration:n,delay:r,fill:0==r?"both":"forwards"};i&&(s.easing=i);var l={},c=a.filter(function(e){return e instanceof gt});G(n,r)&&c.forEach(function(e){var t=e.currentSnapshot;Object.keys(t).forEach(function(e){return l[e]=t[e]})});var u=Xe(e,t=Q(e,t=t.map(function(e){return P(e,!1)}),l));return new gt(e,t,s,u)},e}();function bt(){return"function"==typeof vt()}function vt(){return"undefined"!=typeof window&&void 0!==window.document&&Element.prototype.animate||{}} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */}).call(this,n(127))},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){var r=n(2),i=n(55),a=n(22);e.exports=function(e,t){var n=(i.Object||{})[e]||Object[e],o={};o[e]=t(n),r(r.S+r.F*a(function(){n(1)}),"Object",o)}},function(e,t,n){var r=n(64),i=n(115),a=n(43),o=n(31),s=n(232);e.exports=function(e,t){var n=1==e,l=2==e,c=3==e,u=4==e,d=6==e,h=5==e||d,p=t||s;return function(t,s,f){for(var m,g,y=a(t),b=i(y),v=r(s,f,3),k=o(b.length),w=0,_=n?p(t,k):l?p(t,0):void 0;k>w;w++)if((h||w in b)&&(g=v(m=b[w],w,y),e))if(n)_[w]=g;else if(g)switch(e){case 3:return!0;case 5:return m;case 6:return w;case 2:_.push(m)}else if(u)return!1;return d?-1:c||u?u:_}}},,function(e,t,n){"use strict";n.r(t),n.d(t,"BrowserModule",function(){return ye}),n.d(t,"BrowserTransferStateModule",function(){return De}),n.d(t,"By",function(){return Ae}),n.d(t,"DomSanitizer",function(){return ae}),n.d(t,"EVENT_MANAGER_PLUGINS",function(){return j}),n.d(t,"EventManager",function(){return C}),n.d(t,"HAMMER_GESTURE_CONFIG",function(){return W}),n.d(t,"HAMMER_LOADER",function(){return K}),n.d(t,"HammerGestureConfig",function(){return G}),n.d(t,"HammerModule",function(){return J}),n.d(t,"Meta",function(){return ve}),n.d(t,"Title",function(){return we}),n.d(t,"TransferState",function(){return Ie}),n.d(t,"VERSION",function(){return Ne}),n.d(t,"disableDebugTools",function(){return Se}),n.d(t,"enableDebugTools",function(){return xe}),n.d(t,"makeStateKey",function(){return Oe}),n.d(t,"platformBrowser",function(){return me}),n.d(t,"ɵBROWSER_SANITIZATION_PROVIDERS",function(){return fe}),n.d(t,"ɵBROWSER_SANITIZATION_PROVIDERS__POST_R3__",function(){return pe}),n.d(t,"ɵBrowserDomAdapter",function(){return l}),n.d(t,"ɵBrowserGetTestability",function(){return p}),n.d(t,"ɵDomEventsPlugin",function(){return U}),n.d(t,"ɵDomRendererFactory2",function(){return M}),n.d(t,"ɵDomSanitizerImpl",function(){return se}),n.d(t,"ɵDomSharedStylesHost",function(){return S}),n.d(t,"ɵELEMENT_PROBE_PROVIDERS",function(){return _}),n.d(t,"ɵELEMENT_PROBE_PROVIDERS__POST_R3__",function(){return k}),n.d(t,"ɵHAMMER_PROVIDERS__POST_R3__",function(){return $}),n.d(t,"ɵHammerGesturesPlugin",function(){return Q}),n.d(t,"ɵINTERNAL_BROWSER_PLATFORM_PROVIDERS",function(){return he}),n.d(t,"ɵKeyEventsPlugin",function(){return ie}),n.d(t,"ɵNAMESPACE_URIS",function(){return T}),n.d(t,"ɵSharedStylesHost",function(){return x}),n.d(t,"ɵTRANSITION_ID",function(){return u}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_a",function(){return ce}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_b",function(){return ue}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_c",function(){return ge}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_d",function(){return be}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_e",function(){return ke}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_f",function(){return ze}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_g",function(){return E}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_h",function(){return Y}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_i",function(){return Z}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_j",function(){return oe}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_k",function(){return d}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_l",function(){return h}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_m",function(){return v}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_n",function(){return w}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_o",function(){return s}),n.d(t,"ɵescapeHtml",function(){return Te}),n.d(t,"ɵflattenStyles",function(){return P}),n.d(t,"ɵinitDomAdapter",function(){return le}),n.d(t,"ɵshimContentAttribute",function(){return A}),n.d(t,"ɵshimHostAttribute",function(){return N});var r=n(1),i=n(4),a=n(0);n.d(t,"ɵgetDOM",function(){return i["ɵgetDOM"]}); -/** - * @license Angular v9.1.12 - * (c) 2010-2020 Google LLC. https://angular.io/ - * License: MIT - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -var o,s=function(e){function t(){return e.call(this)||this}return Object(r.c)(t,e),t.prototype.supportsDOMEvents=function(){return!0},t}(i["ɵDomAdapter"]),l=(function(){if(a["ɵglobal"].Node)a["ɵglobal"].Node.prototype.contains}(),function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Object(r.c)(t,e),t.makeCurrent=function(){Object(i["ɵsetRootDomAdapter"])(new t)},t.prototype.getProperty=function(e,t){return e[t]},t.prototype.log=function(e){window.console&&window.console.log&&window.console.log(e)},t.prototype.logGroup=function(e){window.console&&window.console.group&&window.console.group(e)},t.prototype.logGroupEnd=function(){window.console&&window.console.groupEnd&&window.console.groupEnd()},t.prototype.onAndCancel=function(e,t,n){return e.addEventListener(t,n,!1),function(){e.removeEventListener(t,n,!1)}},t.prototype.dispatchEvent=function(e,t){e.dispatchEvent(t)},t.prototype.remove=function(e){return e.parentNode&&e.parentNode.removeChild(e),e},t.prototype.getValue=function(e){return e.value},t.prototype.createElement=function(e,t){return(t=t||this.getDefaultDocument()).createElement(e)},t.prototype.createHtmlDocument=function(){return document.implementation.createHTMLDocument("fakeTitle")},t.prototype.getDefaultDocument=function(){return document},t.prototype.isElementNode=function(e){return e.nodeType===Node.ELEMENT_NODE},t.prototype.isShadowRoot=function(e){return e instanceof DocumentFragment},t.prototype.getGlobalEventTarget=function(e,t){return"window"===t?window:"document"===t?e:"body"===t?e.body:null},t.prototype.getHistory=function(){return window.history},t.prototype.getLocation=function(){return window.location},t.prototype.getBaseHref=function(e){var t=function(){if(!c&&!(c=document.querySelector("base")))return null;return c.getAttribute("href")}();return null==t?null:function(e){o||(o=document.createElement("a"));return o.setAttribute("href",e),"/"===o.pathname.charAt(0)?o.pathname:"/"+o.pathname} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */(t)},t.prototype.resetBaseElement=function(){c=null},t.prototype.getUserAgent=function(){return window.navigator.userAgent},t.prototype.performanceNow=function(){return window.performance&&window.performance.now?window.performance.now():(new Date).getTime()},t.prototype.supportsCookies=function(){return!0},t.prototype.getCookie=function(e){return Object(i["ɵparseCookieValue"])(document.cookie,e)},t}(s)),c=null; -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var u=new a.InjectionToken("TRANSITION_ID");function d(e,t,n){return function(){n.get(a.ApplicationInitStatus).donePromise.then(function(){var n=Object(i["ɵgetDOM"])();Array.prototype.slice.apply(t.querySelectorAll("style[ng-transition]")).filter(function(t){return t.getAttribute("ng-transition")===e}).forEach(function(e){return n.remove(e)})})}}var h=[{provide:a.APP_INITIALIZER,useFactory:d,deps:[u,i.DOCUMENT,a.Injector],multi:!0}],p=function(){function e(){}return e.init=function(){Object(a.setTestabilityGetter)(new e)},e.prototype.addToWindow=function(e){a["ɵglobal"].getAngularTestability=function(t,n){void 0===n&&(n=!0);var r=e.findTestabilityInTree(t,n);if(null==r)throw new Error("Could not find testability for element.");return r},a["ɵglobal"].getAllAngularTestabilities=function(){return e.getAllTestabilities()},a["ɵglobal"].getAllAngularRootElements=function(){return e.getAllRootElements()};a["ɵglobal"].frameworkStabilizers||(a["ɵglobal"].frameworkStabilizers=[]),a["ɵglobal"].frameworkStabilizers.push(function(e){var t=a["ɵglobal"].getAllAngularTestabilities(),n=t.length,r=!1,i=function(t){r=r||t,0==--n&&e(r)};t.forEach(function(e){e.whenStable(i)})})},e.prototype.findTestabilityInTree=function(e,t,n){if(null==t)return null;var r=e.getTestability(t);return null!=r?r:n?Object(i["ɵgetDOM"])().isShadowRoot(t)?this.findTestabilityInTree(e,t.host,!0):this.findTestabilityInTree(e,t.parentElement,!0):null},e}(); -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function f(e,t){"undefined"!=typeof COMPILED&&COMPILED||((a["ɵglobal"].ng=a["ɵglobal"].ng||{})[e]=t)} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var m={ApplicationRef:a.ApplicationRef,NgZone:a.NgZone},g="probe",y="coreTokens";function b(e){return Object(a["ɵgetDebugNodeR2"])(e)}function v(e){return f(g,b),f(y,Object(r.a)(Object(r.a)({},m),(e||[]).reduce(function(e,t){return e[t.name]=t.token,e},{}))),function(){return b}}var k=[],w=[{provide:a.APP_INITIALIZER,useFactory:v,deps:[[a.NgProbeToken,new a.Optional]],multi:!0}],_=k,j=new a.InjectionToken("EventManagerPlugins"),C=function(){function e(e,t){var n=this;this._zone=t,this._eventNameToPlugin=new Map,e.forEach(function(e){return e.manager=n}),this._plugins=e.slice().reverse()}return e.prototype.addEventListener=function(e,t,n){return this._findPluginFor(t).addEventListener(e,t,n)},e.prototype.addGlobalEventListener=function(e,t,n){return this._findPluginFor(t).addGlobalEventListener(e,t,n)},e.prototype.getZone=function(){return this._zone},e.prototype._findPluginFor=function(e){var t=this._eventNameToPlugin.get(e);if(t)return t;for(var n=this._plugins,r=0;r-1},(t=Object(r.b)([Object(r.e)(0,Object(a.Inject)(i.DOCUMENT)),Object(r.e)(1,Object(a.Inject)(W)),Object(r.e)(3,Object(a.Optional)()),Object(r.e)(3,Object(a.Inject)(K)),Object(r.d)("design:paramtypes",[Object,G,a["ɵConsole"],Object])],t)).ɵfac=function(e){return new(e||t)(a["ɵɵinject"](i.DOCUMENT),a["ɵɵinject"](W),a["ɵɵinject"](a["ɵConsole"]),a["ɵɵinject"](K,8))},t.ɵprov=a["ɵɵdefineInjectable"]({token:t,factory:function(e){return t.ɵfac(e)}}),t}(E),$=[],Y=[{provide:j,useClass:Q,multi:!0,deps:[i.DOCUMENT,W,a["ɵConsole"],[new a.Optional,K]]},{provide:W,useClass:G,deps:[]}],Z=$,J=function(){function e(){}return e.ɵmod=a["ɵɵdefineNgModule"]({type:e}),e.ɵinj=a["ɵɵdefineInjector"]({factory:function(t){return new(t||e)},providers:Y}),e}(),X=["alt","control","meta","shift"],ee=3,te={"\b":"Backspace","\t":"Tab","":"Delete","":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},ne={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","":"NumLock"},re={alt:function(e){return e.altKey},control:function(e){return e.ctrlKey},meta:function(e){return e.metaKey},shift:function(e){return e.shiftKey}},ie=function(e){function t(t){return e.call(this,t)||this}var n;return Object(r.c)(t,e),n=t,t.prototype.supports=function(e){return null!=n.parseEventName(e)},t.prototype.addEventListener=function(e,t,r){var a=n.parseEventName(t),o=n.eventCallback(a.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(function(){return Object(i["ɵgetDOM"])().onAndCancel(e,a.domEventName,o)})},t.parseEventName=function(e){var t=e.toLowerCase().split("."),r=t.shift();if(0===t.length||"keydown"!==r&&"keyup"!==r)return null;var i=n._normalizeKey(t.pop()),a="";if(X.forEach(function(e){var n=t.indexOf(e);n>-1&&(t.splice(n,1),a+=e+".")}),a+=i,0!=t.length||0===i.length)return null;var o={};return o.domEventName=r,o.fullKey=a,o},t.getEventFullKey=function(e){var t="",n=function(e){var t=e.key;if(null==t){if(null==(t=e.keyIdentifier))return"Unidentified";t.startsWith("U+")&&(t=String.fromCharCode(parseInt(t.substring(2),16)),e.location===ee&&ne.hasOwnProperty(t)&&(t=ne[t]))}return te[t]||t}(e);return" "===(n=n.toLowerCase())?n="space":"."===n&&(n="dot"),X.forEach(function(r){r!=n&&((0,re[r])(e)&&(t+=r+"."))}),t+=n},t.eventCallback=function(e,t,r){return function(i){n.getEventFullKey(i)===e&&r.runGuarded(function(){return t(i)})}},t._normalizeKey=function(e){switch(e){case"esc":return"escape";default:return e}},(t=n=Object(r.b)([Object(r.e)(0,Object(a.Inject)(i.DOCUMENT)),Object(r.d)("design:paramtypes",[Object])],t)).ɵfac=function(e){return new(e||t)(a["ɵɵinject"](i.DOCUMENT))},t.ɵprov=a["ɵɵdefineInjectable"]({token:t,factory:function(e){return t.ɵfac(e)}}),t}(E);var ae=function(){function e(){}return e.ɵprov=Object(a["ɵɵdefineInjectable"])({factory:function(){return Object(a["ɵɵinject"])(se)},token:e,providedIn:"root"}),e.ɵfac=function(t){return new(t||e)},e}();function oe(e){return new se(e.get(i.DOCUMENT))}var se=function(e){function t(t){var n=e.call(this)||this;return n._doc=t,n}return Object(r.c)(t,e),t.prototype.sanitize=function(e,t){if(null==t)return null;switch(e){case a.SecurityContext.NONE:return t;case a.SecurityContext.HTML:return Object(a["ɵallowSanitizationBypassAndThrow"])(t,"HTML")?Object(a["ɵunwrapSafeValue"])(t):Object(a["ɵ_sanitizeHtml"])(this._doc,String(t));case a.SecurityContext.STYLE:return Object(a["ɵallowSanitizationBypassAndThrow"])(t,"Style")?Object(a["ɵunwrapSafeValue"])(t):Object(a["ɵ_sanitizeStyle"])(t);case a.SecurityContext.SCRIPT:if(Object(a["ɵallowSanitizationBypassAndThrow"])(t,"Script"))return Object(a["ɵunwrapSafeValue"])(t);throw new Error("unsafe value used in a script context");case a.SecurityContext.URL:Object(a["ɵgetSanitizationBypassType"])(t);return Object(a["ɵallowSanitizationBypassAndThrow"])(t,"URL")?Object(a["ɵunwrapSafeValue"])(t):Object(a["ɵ_sanitizeUrl"])(String(t));case a.SecurityContext.RESOURCE_URL:if(Object(a["ɵallowSanitizationBypassAndThrow"])(t,"ResourceURL"))return Object(a["ɵunwrapSafeValue"])(t);throw new Error("unsafe value used in a resource URL context (see http://g.co/ng/security#xss)");default:throw new Error("Unexpected SecurityContext "+e+" (see http://g.co/ng/security#xss)")}},t.prototype.bypassSecurityTrustHtml=function(e){return Object(a["ɵbypassSanitizationTrustHtml"])(e)},t.prototype.bypassSecurityTrustStyle=function(e){return Object(a["ɵbypassSanitizationTrustStyle"])(e)},t.prototype.bypassSecurityTrustScript=function(e){return Object(a["ɵbypassSanitizationTrustScript"])(e)},t.prototype.bypassSecurityTrustUrl=function(e){return Object(a["ɵbypassSanitizationTrustUrl"])(e)},t.prototype.bypassSecurityTrustResourceUrl=function(e){return Object(a["ɵbypassSanitizationTrustResourceUrl"])(e)},t.ɵprov=Object(a["ɵɵdefineInjectable"])({factory:function(){return oe(Object(a["ɵɵinject"])(a.INJECTOR))},token:t,providedIn:"root"}),(t=Object(r.b)([Object(r.e)(0,Object(a.Inject)(i.DOCUMENT)),Object(r.d)("design:paramtypes",[Object])],t)).ɵfac=function(e){return new(e||t)(a["ɵɵinject"](i.DOCUMENT))},t}(ae); -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function le(){l.makeCurrent(),p.init()}function ce(){return new a.ErrorHandler}function ue(){return Object(a["ɵsetDocument"])(document),document}var de=i["ɵPLATFORM_BROWSER_ID"],he=[{provide:a.PLATFORM_ID,useValue:de},{provide:a.PLATFORM_INITIALIZER,useValue:le,multi:!0},{provide:i.DOCUMENT,useFactory:ue,deps:[]}],pe=(a.Sanitizer,i.DOCUMENT,[]),fe=pe,me=Object(a.createPlatformFactory)(a.platformCore,"browser",he),ge=[fe,{provide:a["ɵINJECTOR_SCOPE"],useValue:"root"},{provide:a.ErrorHandler,useFactory:ce,deps:[]},{provide:j,useClass:U,multi:!0,deps:[i.DOCUMENT,a.NgZone,a.PLATFORM_ID]},{provide:j,useClass:ie,multi:!0,deps:[i.DOCUMENT]},Z,{provide:M,useClass:M,deps:[C,S,a.APP_ID]},{provide:a.RendererFactory2,useExisting:M},{provide:x,useExisting:S},{provide:S,useClass:S,deps:[i.DOCUMENT]},{provide:a.Testability,useClass:a.Testability,deps:[a.NgZone]},{provide:C,useClass:C,deps:[j,a.NgZone]},_],ye=function(){function e(e){if(e)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}var t;return t=e,e.withServerTransition=function(e){return{ngModule:t,providers:[{provide:a.APP_ID,useValue:e.appId},{provide:u,useExisting:a.APP_ID},h]}},(e=t=Object(r.b)([Object(r.e)(0,Object(a.Optional)()),Object(r.e)(0,Object(a.SkipSelf)()),Object(r.e)(0,Object(a.Inject)(t)),Object(r.d)("design:paramtypes",[Object])],e)).ɵmod=a["ɵɵdefineNgModule"]({type:e}),e.ɵinj=a["ɵɵdefineInjector"]({factory:function(n){return new(n||e)(a["ɵɵinject"](t,12))},providers:ge,imports:[i.CommonModule,a.ApplicationModule]}),("undefined"==typeof ngJitMode||ngJitMode)&&a["ɵɵsetNgModuleScope"](e,{exports:function(){return[i.CommonModule,a.ApplicationModule]}}),e}();function be(){return new ve(Object(a["ɵɵinject"])(i.DOCUMENT))}var ve=function(){function e(e){this._doc=e,this._dom=Object(i["ɵgetDOM"])()}return e.prototype.addTag=function(e,t){return void 0===t&&(t=!1),e?this._getOrCreateElement(e,t):null},e.prototype.addTags=function(e,t){var n=this;return void 0===t&&(t=!1),e?e.reduce(function(e,r){return r&&e.push(n._getOrCreateElement(r,t)),e},[]):[]},e.prototype.getTag=function(e){return e&&this._doc.querySelector("meta["+e+"]")||null},e.prototype.getTags=function(e){if(!e)return[];var t=this._doc.querySelectorAll("meta["+e+"]");return t?[].slice.call(t):[]},e.prototype.updateTag=function(e,t){if(!e)return null;t=t||this._parseSelector(e);var n=this.getTag(t);return n?this._setMetaElementAttributes(e,n):this._getOrCreateElement(e,!0)},e.prototype.removeTag=function(e){this.removeTagElement(this.getTag(e))},e.prototype.removeTagElement=function(e){e&&this._dom.remove(e)},e.prototype._getOrCreateElement=function(e,t){if(void 0===t&&(t=!1),!t){var n=this._parseSelector(e),r=this.getTag(n);if(r&&this._containsAttributes(e,r))return r}var i=this._dom.createElement("meta");return this._setMetaElementAttributes(e,i),this._doc.getElementsByTagName("head")[0].appendChild(i),i},e.prototype._setMetaElementAttributes=function(e,t){return Object.keys(e).forEach(function(n){return t.setAttribute(n,e[n])}),t},e.prototype._parseSelector=function(e){var t=e.name?"name":"property";return t+'="'+e[t]+'"'},e.prototype._containsAttributes=function(e,t){return Object.keys(e).every(function(n){return t.getAttribute(n)===e[n]})},e.ɵprov=Object(a["ɵɵdefineInjectable"])({factory:be,token:e,providedIn:"root"}),(e=Object(r.b)([Object(r.e)(0,Object(a.Inject)(i.DOCUMENT)),Object(r.d)("design:paramtypes",[Object])],e)).ɵfac=function(t){return new(t||e)(a["ɵɵinject"](i.DOCUMENT))},e}();function ke(){return new we(Object(a["ɵɵinject"])(i.DOCUMENT))}var we=function(){function e(e){this._doc=e}return e.prototype.getTitle=function(){return this._doc.title},e.prototype.setTitle=function(e){this._doc.title=e||""},e.ɵprov=Object(a["ɵɵdefineInjectable"])({factory:ke,token:e,providedIn:"root"}),(e=Object(r.b)([Object(r.e)(0,Object(a.Inject)(i.DOCUMENT)),Object(r.d)("design:paramtypes",[Object])],e)).ɵfac=function(t){return new(t||e)(a["ɵɵinject"](i.DOCUMENT))},e}(),_e="undefined"!=typeof window&&window||{},je=function(){return function(e,t){this.msPerTick=e,this.numTicks=t}}(),Ce=function(){function e(e){this.appRef=e.injector.get(a.ApplicationRef)}return e.prototype.timeChangeDetection=function(e){var t=e&&e.record,n=null!=_e.console.profile;t&&n&&_e.console.profile("Change Detection");for(var r=Object(i["ɵgetDOM"])().performanceNow(),a=0;a<5||Object(i["ɵgetDOM"])().performanceNow()-r<500;)this.appRef.tick(),a++;var o=Object(i["ɵgetDOM"])().performanceNow();t&&n&&_e.console.profileEnd("Change Detection");var s=(o-r)/a;return _e.console.log("ran "+a+" change detection cycles"),_e.console.log(s.toFixed(2)+" ms per check"),new je(s,a)},e}(),Ee="profiler"; -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function xe(e){return f(Ee,new Ce(e)),e}function Se(){f(Ee,null)} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function Te(e){var t={"&":"&a;",'"':"&q;","'":"&s;","<":"&l;",">":"&g;"};return e.replace(/[&"'<>]/g,function(e){return t[e]})}function Oe(e){return e}var Ie=function(){function e(){this.store={},this.onSerializeCallbacks={}}var t;return t=e,e.init=function(e){var n=new t;return n.store=e,n},e.prototype.get=function(e,t){return void 0!==this.store[e]?this.store[e]:t},e.prototype.set=function(e,t){this.store[e]=t},e.prototype.remove=function(e){delete this.store[e]},e.prototype.hasKey=function(e){return this.store.hasOwnProperty(e)},e.prototype.onSerialize=function(e,t){this.onSerializeCallbacks[e]=t},e.prototype.toJson=function(){for(var e in this.onSerializeCallbacks)if(this.onSerializeCallbacks.hasOwnProperty(e))try{this.store[e]=this.onSerializeCallbacks[e]()}catch(t){console.warn("Exception in onSerialize callback: ",t)}return JSON.stringify(this.store)},e.ɵfac=function(t){return new(t||e)},e.ɵprov=a["ɵɵdefineInjectable"]({token:e,factory:function(t){return e.ɵfac(t)}}),e}();function ze(e,t){var n,r,i=e.getElementById(t+"-state"),a={};if(i&&i.textContent)try{a=JSON.parse((n=i.textContent,r={"&a;":"&","&q;":'"',"&s;":"'","&l;":"<","&g;":">"},n.replace(/&[^;]+;/g,function(e){return r[e]})))}catch(o){console.warn("Exception while restoring TransferState for app "+t,o)}return Ie.init(a)}var De=function(){function e(){}return e.ɵmod=a["ɵɵdefineNgModule"]({type:e}),e.ɵinj=a["ɵɵdefineInjector"]({factory:function(t){return new(t||e)},providers:[{provide:Ie,useFactory:ze,deps:[i.DOCUMENT,a.APP_ID]}]}),e}(),Ae=function(){function e(){}return e.all=function(){return function(){return!0}},e.css=function(e){return function(t){return null!=t.nativeElement&&function(e,t){if(Object(i["ɵgetDOM"])().isElementNode(e))return e.matches&&e.matches(t)||e.msMatchesSelector&&e.msMatchesSelector(t)||e.webkitMatchesSelector&&e.webkitMatchesSelector(t);return!1} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */(t.nativeElement,e)}},e.directive=function(e){return function(t){return-1!==t.providerTokens.indexOf(e)}},e}(); -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var Ne=new a.Version("9.1.12"); -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */},,function(e,t,n){"use strict";n.d(t,"b",function(){return a}),n.d(t,"c",function(){return o}),n.d(t,"a",function(){return s});var r,i=(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=function(e){function t(t,n){var r=this,i=this.constructor.prototype;return(r=e.call(this,t)||this).statusCode=n,r.__proto__=i,r}return i(t,e),t}(Error),o=function(e){function t(t){void 0===t&&(t="A timeout occurred.");var n=this,r=this.constructor.prototype;return(n=e.call(this,t)||this).__proto__=r,n}return i(t,e),t}(Error),s=function(e){function t(t){void 0===t&&(t="An abort occurred.");var n=this,r=this.constructor.prototype;return(n=e.call(this,t)||this).__proto__=r,n}return i(t,e),t}(Error)},function(e,t,n){"use strict";n.d(t,"a",function(){return s}),n.d(t,"b",function(){return l}),n.d(t,"c",function(){return c});var r=n(1),i=n(24),a=n(32),o=n(216),s=function(e){function t(t){var n=e.call(this)||this;return n.parent=t,n}return r.c(t,e),t.prototype._next=function(e){this.parent.notifyNext(e)},t.prototype._error=function(e){this.parent.notifyError(e),this.unsubscribe()},t.prototype._complete=function(){this.parent.notifyComplete(),this.unsubscribe()},t}(i.a),l=(i.a,function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.c(t,e),t.prototype.notifyNext=function(e){this.destination.next(e)},t.prototype.notifyError=function(e){this.destination.error(e)},t.prototype.notifyComplete=function(){this.destination.complete()},t}(i.a));i.a;function c(e,t){if(!t.closed)return e instanceof a.a?e.subscribe(t):Object(o.a)(e)(t)}},function(e,t,n){var r=n(23);e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if("function"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){"use strict";if(n(35)){var r=n(86),i=n(21),a=n(22),o=n(2),s=n(139),l=n(188),c=n(64),u=n(98),d=n(85),h=n(56),p=n(100),f=n(65),m=n(31),g=n(243),y=n(92),b=n(76),v=n(51),k=n(95),w=n(23),_=n(43),j=n(184),C=n(83),E=n(58),x=n(93).f,S=n(134),T=n(90),O=n(28),I=n(70),z=n(151),D=n(126),A=n(204),N=n(108),P=n(135),R=n(97),M=n(185),q=n(234),L=n(33),B=n(60),F=L.f,V=B.f,U=i.RangeError,H=i.TypeError,W=i.Uint8Array,K=Array.prototype,G=l.ArrayBuffer,Q=l.DataView,$=I(0),Y=I(2),Z=I(3),J=I(4),X=I(5),ee=I(6),te=z(!0),ne=z(!1),re=A.values,ie=A.keys,ae=A.entries,oe=K.lastIndexOf,se=K.reduce,le=K.reduceRight,ce=K.join,ue=K.sort,de=K.slice,he=K.toString,pe=K.toLocaleString,fe=O("iterator"),me=O("toStringTag"),ge=T("typed_constructor"),ye=T("def_constructor"),be=s.CONSTR,ve=s.TYPED,ke=s.VIEW,we=I(1,function(e,t){return xe(D(e,e[ye]),t)}),_e=a(function(){return 1===new W(new Uint16Array([1]).buffer)[0]}),je=!!W&&!!W.prototype.set&&a(function(){new W(1).set({})}),Ce=function(e,t){var n=f(e);if(n<0||n%t)throw U("Wrong offset!");return n},Ee=function(e){if(w(e)&&ve in e)return e;throw H(e+" is not a typed array!")},xe=function(e,t){if(!(w(e)&&ge in e))throw H("It is not a typed array constructor!");return new e(t)},Se=function(e,t){return Te(D(e,e[ye]),t)},Te=function(e,t){for(var n=0,r=t.length,i=xe(e,r);r>n;)i[n]=t[n++];return i},Oe=function(e,t,n){F(e,t,{get:function(){return this._d[n]}})},Ie=function(e){var t,n,r,i,a,o,s=_(e),l=arguments.length,u=l>1?arguments[1]:void 0,d=void 0!==u,h=S(s);if(null!=h&&!j(h)){for(o=h.call(s),r=[],t=0;!(a=o.next()).done;t++)r.push(a.value);s=r}for(d&&l>2&&(u=c(u,arguments[2],2)),t=0,n=m(s.length),i=xe(this,n);n>t;t++)i[t]=d?u(s[t],t):s[t];return i},ze=function(){for(var e=0,t=arguments.length,n=xe(this,t);t>e;)n[e]=arguments[e++];return n},De=!!W&&a(function(){pe.call(new W(1))}),Ae=function(){return pe.apply(De?de.call(Ee(this)):Ee(this),arguments)},Ne={copyWithin:function(e,t){return q.call(Ee(this),e,t,arguments.length>2?arguments[2]:void 0)},every:function(e){return J(Ee(this),e,arguments.length>1?arguments[1]:void 0)},fill:function(e){return M.apply(Ee(this),arguments)},filter:function(e){return Se(this,Y(Ee(this),e,arguments.length>1?arguments[1]:void 0))},find:function(e){return X(Ee(this),e,arguments.length>1?arguments[1]:void 0)},findIndex:function(e){return ee(Ee(this),e,arguments.length>1?arguments[1]:void 0)},forEach:function(e){$(Ee(this),e,arguments.length>1?arguments[1]:void 0)},indexOf:function(e){return ne(Ee(this),e,arguments.length>1?arguments[1]:void 0)},includes:function(e){return te(Ee(this),e,arguments.length>1?arguments[1]:void 0)},join:function(e){return ce.apply(Ee(this),arguments)},lastIndexOf:function(e){return oe.apply(Ee(this),arguments)},map:function(e){return we(Ee(this),e,arguments.length>1?arguments[1]:void 0)},reduce:function(e){return se.apply(Ee(this),arguments)},reduceRight:function(e){return le.apply(Ee(this),arguments)},reverse:function(){for(var e,t=Ee(this).length,n=Math.floor(t/2),r=0;r1?arguments[1]:void 0)},sort:function(e){return ue.call(Ee(this),e)},subarray:function(e,t){var n=Ee(this),r=n.length,i=y(e,r);return new(D(n,n[ye]))(n.buffer,n.byteOffset+i*n.BYTES_PER_ELEMENT,m((void 0===t?r:y(t,r))-i))}},Pe=function(e,t){return Se(this,de.call(Ee(this),e,t))},Re=function(e){Ee(this);var t=Ce(arguments[1],1),n=this.length,r=_(e),i=m(r.length),a=0;if(i+t>n)throw U("Wrong length!");for(;a255?255:255&r),i.v[p](n*t+i.o,r,_e)}(this,n,e)},enumerable:!0})};v?(f=n(function(e,n,r,i){u(e,f,c,"_d");var a,o,s,l,d=0,p=0;if(w(n)){if(!(n instanceof G||"ArrayBuffer"==(l=k(n))||"SharedArrayBuffer"==l))return ve in n?Te(f,n):Ie.call(f,n);a=n,p=Ce(r,t);var y=n.byteLength;if(void 0===i){if(y%t)throw U("Wrong length!");if((o=y-p)<0)throw U("Wrong length!")}else if((o=m(i)*t)+p>y)throw U("Wrong length!");s=o/t}else s=g(n),a=new G(o=s*t);for(h(e,"_d",{b:a,o:p,l:o,e:s,v:new Q(a)});ddocument.F=Object<\/script>"),e.close(),l=e.F;r--;)delete l.prototype[a[r]];return l()};e.exports=Object.create||function(e,t){var n;return null!==e?(s.prototype=r(e),n=new s,s.prototype=null,n[o]=e):n=l(),void 0===t?n:i(n,t)}},,function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t){e.exports=!1},,,,function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},function(e,t,n){var r=n(221),i=n(174);e.exports=Object.keys||function(e){return r(e,i)}},function(e,t,n){var r=n(65),i=Math.max,a=Math.min;e.exports=function(e,t){return(e=r(e))<0?i(e+t,0):a(e,t)}},function(e,t,n){var r=n(221),i=n(174).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,i)}},,function(e,t,n){var r=n(68),i=n(28)("toStringTag"),a="Arguments"==r(function(){return arguments}());e.exports=function(e){var t,n,o;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(n){}}(t=Object(e),i))?n:a?r(t):"Object"==(o=r(t))&&"function"==typeof t.callee?"Arguments":o}},function(e,t,n){var r=n(28)("unscopables"),i=Array.prototype;null==i[r]&&n(56)(i,r,{}),e.exports=function(e){i[r][e]=!0}},function(e,t,n){"use strict";var r=n(21),i=n(33),a=n(35),o=n(28)("species");e.exports=function(e){var t=r[e];a&&t&&!t[o]&&i.f(t,o,{configurable:!0,get:function(){return this}})}},function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!");return e}},function(e,t,n){var r=n(64),i=n(231),a=n(184),o=n(16),s=n(31),l=n(134),c={},u={};(t=e.exports=function(e,t,n,d,h){var p,f,m,g,y=h?function(){return e}:l(e),b=r(n,d,t?2:1),v=0;if("function"!=typeof y)throw TypeError(e+" is not iterable!");if(a(y)){for(p=s(e.length);p>v;v++)if((g=t?b(o(f=e[v])[0],f[1]):b(e[v]))===c||g===u)return g}else for(m=y.call(e);!(f=m.next()).done;)if((g=i(m,b,f.value,t))===c||g===u)return g}).BREAK=c,t.RETURN=u},function(e,t,n){var r=n(52);e.exports=function(e,t,n){for(var i in t)r(e,i,t[i],n);return e}},,,,,function(e,t,n){"use strict";(function(e){ -/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */ -var r=n(810),i=n(811),a=n(534);function o(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(o()=o())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o().toString(16)+" bytes");return 0|e}function f(e,t){if(l.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return B(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return F(e).length;default:if(r)return B(e).length;t=(""+t).toLowerCase(),r=!0}}function m(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function g(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=l.from(t,r)),l.isBuffer(t))return 0===t.length?-1:y(e,t,n,r,i);if("number"==typeof t)return t&=255,l.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):y(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function y(e,t,n,r,i){var a,o=1,s=e.length,l=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;o=2,s/=2,l/=2,n/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var u=-1;for(a=n;as&&(n=s-l),a=n;a>=0;a--){for(var d=!0,h=0;hi&&(r=i):r=i;var a=t.length;if(a%2!=0)throw new TypeError("Invalid hex string");r>a/2&&(r=a/2);for(var o=0;o>8,i=n%256,a.push(i),a.push(r);return a}(t,e.length-n),e,n,r)}function C(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function E(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i239?4:c>223?3:c>191?2:1;if(i+d<=n)switch(d){case 1:c<128&&(u=c);break;case 2:128==(192&(a=e[i+1]))&&(l=(31&c)<<6|63&a)>127&&(u=l);break;case 3:a=e[i+1],o=e[i+2],128==(192&a)&&128==(192&o)&&(l=(15&c)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:a=e[i+1],o=e[i+2],s=e[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,d=1):u>65535&&(u-=65536,r.push(u>>>10&1023|55296),u=56320|1023&u),r.push(u),i+=d}return function(e){var t=e.length;if(t<=x)return String.fromCharCode.apply(String,e);var n="",r=0;for(;rthis.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return O(this,t,n);case"utf8":case"utf-8":return E(this,t,n);case"ascii":return S(this,t,n);case"latin1":case"binary":return T(this,t,n);case"base64":return C(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}.apply(this,arguments)},l.prototype.equals=function(e){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===l.compare(this,e)},l.prototype.inspect=function(){var e="",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),""},l.prototype.compare=function(e,t,n,r,i){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var a=(i>>>=0)-(r>>>=0),o=(n>>>=0)-(t>>>=0),s=Math.min(a,o),c=this.slice(r,i),u=e.slice(t,n),d=0;di)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var a=!1;;)switch(r){case"hex":return b(this,e,t,n);case"utf8":case"utf-8":return v(this,e,t,n);case"ascii":return k(this,e,t,n);case"latin1":case"binary":return w(this,e,t,n);case"base64":return _(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return j(this,e,t,n);default:if(a)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),a=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var x=4096;function S(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;ir)&&(n=r);for(var i="",a=t;an)throw new RangeError("Trying to access beyond buffer length")}function D(e,t,n,r,i,a){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function A(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,a=Math.min(e.length-n,2);i>>8*(r?i:1-i)}function N(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,a=Math.min(e.length-n,4);i>>8*(r?i:3-i)&255}function P(e,t,n,r,i,a){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function R(e,t,n,r,a){return a||P(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function M(e,t,n,r,a){return a||P(e,0,n,8),i.write(e,t,n,r,52,8),n+8}l.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(i*=256);)r+=this[e+--t]*i;return r},l.prototype.readUInt8=function(e,t){return t||z(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return t||z(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return t||z(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return t||z(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUInt32BE=function(e,t){return t||z(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||z(e,t,this.length);for(var r=this[e],i=1,a=0;++a=(i*=128)&&(r-=Math.pow(2,8*t)),r},l.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||z(e,t,this.length);for(var r=t,i=1,a=this[e+--r];r>0&&(i*=256);)a+=this[e+--r]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*t)),a},l.prototype.readInt8=function(e,t){return t||z(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){t||z(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(e,t){t||z(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(e,t){return t||z(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return t||z(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return t||z(e,4,this.length),i.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return t||z(e,4,this.length),i.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return t||z(e,8,this.length),i.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return t||z(e,8,this.length),i.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||D(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,a=0;for(this[t]=255&e;++a=0&&(a*=256);)this[t+i]=e/a&255;return t+n},l.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,1,255,0),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):A(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):A(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):N(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):N(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);D(this,e,t,n,i-1,-i)}var a=0,o=1,s=0;for(this[t]=255&e;++a>0)-s&255;return t+n},l.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);D(this,e,t,n,i-1,-i)}var a=n-1,o=1,s=0;for(this[t+a]=255&e;--a>=0&&(o*=256);)e<0&&0===s&&0!==this[t+a+1]&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,1,127,-128),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):A(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):A(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):N(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):N(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,n){return R(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return R(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return M(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return M(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--i)e[i+t]=this[i+n];else if(a<1e3||!l.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(a=t;a55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(o+1===r){(t-=3)>-1&&a.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&a.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;a.push(n)}else if(n<2048){if((t-=2)<0)break;a.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;a.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return a}function F(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(q,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function V(e,t,n,r){for(var i=0;i=t.length||i>=e.length);++i)t[i+n]=e[i];return i}}).call(this,n(110))},function(e,t,n){"use strict";n.d(t,"a",function(){return i});var r=!1,i={Promise:void 0,set useDeprecatedSynchronousErrorHandling(e){e&&(new Error).stack;r=e},get useDeprecatedSynchronousErrorHandling(){return r}}},function(e,t,n){var r=n(33).f,i=n(51),a=n(28)("toStringTag");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,a)&&r(e,a,{configurable:!0,value:t})}},function(e,t){e.exports={}},function(e,t,n){var r=n(23);e.exports=function(e,t){if(!r(e)||e._t!==t)throw TypeError("Incompatible receiver, "+t+" required!");return e}},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"==typeof window&&(n=window)}e.exports=n},,,,,function(e,t,n){var r=n(68);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},function(e,t,n){var r=n(2),i=n(77),a=n(22),o=n(177),s="["+o+"]",l=RegExp("^"+s+s+"*"),c=RegExp(s+s+"*$"),u=function(e,t,n){var i={},s=a(function(){return!!o[e]()||"​…"!="​…"[e]()}),l=i[e]=s?t(d):o[e];n&&(i[n]=l),r(r.P+r.F*s,"String",i)},d=u.trim=function(e,t){return e=String(i(e)),1&t&&(e=e.replace(l,"")),2&t&&(e=e.replace(c,"")),e};e.exports=u},,,function(e,t,n){var r=n(37);n(195),n(716),n(717),n(44),r.random&&r.random.getBytes?e.exports=r.random:function(t){var n={},i=new Array(4),a=r.util.createBuffer();function o(){var e=r.prng.create(n);return e.getBytes=function(t,n){return e.generate(t,n)},e.getBytesSync=function(t){return e.generate(t)},e}n.formatKey=function(e){var t=r.util.createBuffer(e);return(e=new Array(4))[0]=t.getInt32(),e[1]=t.getInt32(),e[2]=t.getInt32(),e[3]=t.getInt32(),r.aes._expandKey(e,!1)},n.formatSeed=function(e){var t=r.util.createBuffer(e);return(e=new Array(4))[0]=t.getInt32(),e[1]=t.getInt32(),e[2]=t.getInt32(),e[3]=t.getInt32(),e},n.cipher=function(e,t){return r.aes._updateBlock(e,t,i,!1),a.putInt32(i[0]),a.putInt32(i[1]),a.putInt32(i[2]),a.putInt32(i[3]),a.getBytes()},n.increment=function(e){return++e[3],e},n.md=r.md.sha256;var s=o(),l=null;if("undefined"!=typeof window){var c=window.crypto||window.msCrypto;c&&c.getRandomValues&&(l=function(e){return c.getRandomValues(e)})}if(r.options.usePureJavaScript||!r.util.isNodejs&&!l){if("undefined"==typeof window||window.document,s.collectInt(+new Date,32),"undefined"!=typeof navigator){var u="";for(var d in navigator)try{"string"==typeof navigator[d]&&(u+=navigator[d])}catch(h){}s.collect(u),u=null}t&&(t().mousemove(function(e){s.collectInt(e.clientX,16),s.collectInt(e.clientY,16)}),t().keypress(function(e){s.collectInt(e.charCode,8)}))}if(r.random)for(var d in s)r.random[d]=s[d];else r.random=s;r.random.createInstance=o,e.exports=r.random}("undefined"!=typeof jQuery?jQuery:null)},function(e,t,n){"use strict";n.d(t,"b",function(){return i}),n.d(t,"a",function(){return a});var r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n1)for(var n=1;n")}),d=function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();e.exports=function(e,t,n){var h=s(e),p=!a(function(){var t={};return t[h]=function(){return 7},7!=""[e](t)}),f=p?!a(function(){var t=!1,n=/a/;return n.exec=function(){return t=!0,null},"split"===e&&(n.constructor={},n.constructor[c]=function(){return n}),n[h](""),!t}):void 0;if(!p||!f||"replace"===e&&!u||"split"===e&&!d){var m=/./[h],g=n(o,h,""[e],function(e,t,n,r,i){return t.exec===l?p&&!i?{done:!0,value:m.call(t,n,r)}:{done:!0,value:e.call(n,t,r)}:{done:!1}}),y=g[0],b=g[1];r(String.prototype,e,y),i(RegExp.prototype,h,2==t?function(e,t){return b.call(e,this,t)}:function(e){return b.call(e,this)})}}},function(e,t,n){"use strict";var r=n(21),i=n(2),a=n(52),o=n(100),s=n(82),l=n(99),c=n(98),u=n(23),d=n(22),h=n(135),p=n(107),f=n(178);e.exports=function(e,t,n,m,g,y){var b=r[e],v=b,k=g?"set":"add",w=v&&v.prototype,_={},j=function(e){var t=w[e];a(w,e,"delete"==e?function(e){return!(y&&!u(e))&&t.call(this,0===e?0:e)}:"has"==e?function(e){return!(y&&!u(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return y&&!u(e)?void 0:t.call(this,0===e?0:e)}:"add"==e?function(e){return t.call(this,0===e?0:e),this}:function(e,n){return t.call(this,0===e?0:e,n),this})};if("function"==typeof v&&(y||w.forEach&&!d(function(){(new v).entries().next()}))){var C=new v,E=C[k](y?{}:-0,1)!=C,x=d(function(){C.has(1)}),S=h(function(e){new v(e)}),T=!y&&d(function(){for(var e=new v,t=5;t--;)e[k](t,t);return!e.has(-0)});S||((v=t(function(t,n){c(t,v,e);var r=f(new b,t,v);return null!=n&&l(n,g,r[k],r),r})).prototype=w,w.constructor=v),(x||T)&&(j("delete"),j("has"),g&&j("get")),(T||E)&&j(k),y&&w.clear&&delete w.clear}else v=m.getConstructor(t,e,g,k),o(v.prototype,n),s.NEED=!0;return p(v,e),_[e]=v,i(i.G+i.W+i.F*(v!=b),_),y||m.setStrong(v,e,g),v}},function(e,t,n){for(var r,i=n(21),a=n(56),o=n(90),s=o("typed_array"),l=o("view"),c=!(!i.ArrayBuffer||!i.DataView),u=c,d=0,h="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");d<9;)(r=i[h[d++]])?(a(r.prototype,s,!0),a(r.prototype,l,!0)):u=!1;e.exports={ABV:c,CONSTR:u,TYPED:s,VIEW:l}},,,,,,function(e,t,n){var r=n(37);n(44),n(196);var i=e.exports=r.asn1=r.asn1||{};function a(e,t,n){if(n>t){var r=new Error("Too few bytes to parse DER.");throw r.available=e.length(),r.remaining=t,r.requested=n,r}}i.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192},i.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30},i.create=function(e,t,n,a,o){if(r.util.isArray(a)){for(var s=[],l=0;ln){if(s.strict){var p=new Error("Too few bytes to read ASN.1 value.");throw p.available=t.length(),p.remaining=n,p.requested=h,p}h=n}var f;var m;var g=32==(32&c);if(g)if(f=[],void 0===h)for(;;){if(a(t,n,2),t.bytes(2)===String.fromCharCode(0,0)){t.getBytes(2),n-=2;break}l=t.length(),f.push(e(t,n,r+1,s)),n-=l-t.length()}else for(;h>0;)l=t.length(),f.push(e(t,h,r+1,s)),n-=l-t.length(),h-=l-t.length();void 0===f&&u===i.Class.UNIVERSAL&&d===i.Type.BITSTRING&&(m=t.bytes(h));if(void 0===f&&s.decodeBitStrings&&u===i.Class.UNIVERSAL&&d===i.Type.BITSTRING&&h>1){var y=t.read,b=n,v=0;if(d===i.Type.BITSTRING&&(a(t,n,1),v=t.getByte(),n--),0===v)try{l=t.length();var k={verbose:s.verbose,strict:!0,decodeBitStrings:!0},w=e(t,n,r+1,k),_=l-t.length();n-=_,d==i.Type.BITSTRING&&_++;var j=w.tagClass;_!==h||j!==i.Class.UNIVERSAL&&j!==i.Class.CONTEXT_SPECIFIC||(f=[w])}catch(E){}void 0===f&&(t.read=y,n=b)}if(void 0===f){if(void 0===h){if(s.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");h=n}if(d===i.Type.BMPSTRING)for(f="";h>0;h-=2)a(t,n,2),f+=String.fromCharCode(t.getInt16()),n-=2;else f=t.getBytes(h)}var C=void 0===m?null:{bitStringContents:m};return i.create(u,d,g,f,C)}(e,e.length(),0,t)},i.toDer=function(e){var t=r.util.createBuffer(),n=e.tagClass|e.type,a=r.util.createBuffer(),o=!1;if("bitStringContents"in e&&(o=!0,e.original&&(o=i.equals(e,e.original))),o)a.putBytes(e.bitStringContents);else if(e.composed){e.constructed?n|=32:a.putByte(0);for(var s=0;s1&&(0===e.value.charCodeAt(0)&&0==(128&e.value.charCodeAt(1))||255===e.value.charCodeAt(0)&&128==(128&e.value.charCodeAt(1)))?a.putBytes(e.value.substr(1)):a.putBytes(e.value);if(t.putByte(n),a.length()<=127)t.putByte(127&a.length());else{var l=a.length(),c="";do{c+=String.fromCharCode(255&l),l>>>=8}while(l>0);t.putByte(128|c.length);for(s=c.length-1;s>=0;--s)t.putByte(c.charCodeAt(s))}return t.putBuffer(a),t},i.oidToDer=function(e){var t,n,i,a,o=e.split("."),s=r.util.createBuffer();s.putByte(40*parseInt(o[0],10)+parseInt(o[1],10));for(var l=2;l>>=7,t||(a|=128),n.push(a),t=!1}while(i>0);for(var c=n.length-1;c>=0;--c)s.putByte(n[c])}return s},i.derToOid=function(e){var t;"string"==typeof e&&(e=r.util.createBuffer(e));var n=e.getByte();t=Math.floor(n/40)+"."+n%40;for(var i=0;e.length()>0;)i<<=7,128&(n=e.getByte())?i+=127&n:(t+="."+(i+n),i=0);return t},i.utcTimeToDate=function(e){var t=new Date,n=parseInt(e.substr(0,2),10);n=n>=50?1900+n:2e3+n;var r=parseInt(e.substr(2,2),10)-1,i=parseInt(e.substr(4,2),10),a=parseInt(e.substr(6,2),10),o=parseInt(e.substr(8,2),10),s=0;if(e.length>11){var l=e.charAt(10),c=10;"+"!==l&&"-"!==l&&(s=parseInt(e.substr(10,2),10),c+=2)}if(t.setUTCFullYear(n,r,i),t.setUTCHours(a,o,s,0),c&&("+"===(l=e.charAt(c))||"-"===l)){var u=60*parseInt(e.substr(c+1,2),10)+parseInt(e.substr(c+4,2),10);u*=6e4,"+"===l?t.setTime(+t-u):t.setTime(+t+u)}return t},i.generalizedTimeToDate=function(e){var t=new Date,n=parseInt(e.substr(0,4),10),r=parseInt(e.substr(4,2),10)-1,i=parseInt(e.substr(6,2),10),a=parseInt(e.substr(8,2),10),o=parseInt(e.substr(10,2),10),s=parseInt(e.substr(12,2),10),l=0,c=0,u=!1;"Z"===e.charAt(e.length-1)&&(u=!0);var d=e.length-5,h=e.charAt(d);"+"!==h&&"-"!==h||(c=60*parseInt(e.substr(d+1,2),10)+parseInt(e.substr(d+4,2),10),c*=6e4,"+"===h&&(c*=-1),u=!0);return"."===e.charAt(14)&&(l=1e3*parseFloat(e.substr(14),10)),u?(t.setUTCFullYear(n,r,i),t.setUTCHours(a,o,s,l),t.setTime(+t+c)):(t.setFullYear(n,r,i),t.setHours(a,o,s,l)),t},i.dateToUtcTime=function(e){if("string"==typeof e)return e;var t="",n=[];n.push((""+e.getUTCFullYear()).substr(2)),n.push(""+(e.getUTCMonth()+1)),n.push(""+e.getUTCDate()),n.push(""+e.getUTCHours()),n.push(""+e.getUTCMinutes()),n.push(""+e.getUTCSeconds());for(var r=0;r=-128&&e<128)return t.putSignedInt(e,8);if(e>=-32768&&e<32768)return t.putSignedInt(e,16);if(e>=-8388608&&e<8388608)return t.putSignedInt(e,24);if(e>=-2147483648&&e<2147483648)return t.putSignedInt(e,32);var n=new Error("Integer too large; max is 32-bits.");throw n.integer=e,n},i.derToInteger=function(e){"string"==typeof e&&(e=r.util.createBuffer(e));var t=8*e.length();if(t>32)throw new Error("Integer too large; max is 32-bits.");return e.getSignedInt(t)},i.validate=function(e,t,n,a){var o=!1;if(e.tagClass!==t.tagClass&&void 0!==t.tagClass||e.type!==t.type&&void 0!==t.type)a&&(e.tagClass!==t.tagClass&&a.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+e.tagClass+'"'),e.type!==t.type&&a.push("["+t.name+'] Expected type "'+t.type+'", got "'+e.type+'"'));else if(e.constructed===t.constructed||void 0===t.constructed){if(o=!0,t.value&&r.util.isArray(t.value))for(var s=0,l=0;o&&l0&&(a+="\n");for(var o="",l=0;l1?a+="0x"+r.util.bytesToHex(e.value.slice(1)):a+="(none)",e.value.length>0){var h=e.value.charCodeAt(0);1==h?a+=" (1 unused bit shown)":h>1&&(a+=" ("+h+" unused bits shown)")}}else e.type===i.Type.OCTETSTRING?(s.test(e.value)||(a+="("+e.value+") "),a+="0x"+r.util.bytesToHex(e.value)):e.type===i.Type.UTF8?a+=r.util.decodeUtf8(e.value):e.type===i.Type.PRINTABLESTRING||e.type===i.Type.IA5String?a+=e.value:s.test(e.value)?a+="0x"+r.util.bytesToHex(e.value):0===e.value.length?a+="[null]":a+=e.value}return a}},function(e,t,n){var r=n(37);e.exports=r.md=r.md||{},r.md.algorithms=r.md.algorithms||{}},function(e,t,n){"use strict";function r(e){return"function"==typeof e}n.d(t,"a",function(){return r})},function(e,t,n){"use strict";n.d(t,"b",function(){return u}),n.d(t,"a",function(){return d});var r=n(1),i=n(32),a=n(24),o=n(54),s=n(131),l=n(301),c=n(197),u=function(e){function t(t){var n=e.call(this,t)||this;return n.destination=t,n}return r.c(t,e),t}(a.a),d=function(e){function t(){var t=e.call(this)||this;return t.observers=[],t.closed=!1,t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return r.c(t,e),t.prototype[c.a]=function(){return new u(this)},t.prototype.lift=function(e){var t=new h(this,this);return t.operator=e,t},t.prototype.next=function(e){if(this.closed)throw new s.a;if(!this.isStopped)for(var t=this.observers,n=t.length,r=t.slice(),i=0;iu;)if((s=l[u++])!=s)return!0}else for(;c>u;u++)if((e||u in l)&&l[u]===n)return e||u||0;return!e&&-1}}},function(e,t,n){var r=n(68);e.exports=Array.isArray||function(e){return"Array"==r(e)}},function(e,t,n){var r=n(65),i=n(77);e.exports=function(e){return function(t,n){var a,o,s=String(i(t)),l=r(n),c=s.length;return l<0||l>=c?e?"":void 0:(a=s.charCodeAt(l))<55296||a>56319||l+1===c||(o=s.charCodeAt(l+1))<56320||o>57343?e?s.charAt(l):a:e?s.slice(l,l+2):o-56320+(a-55296<<10)+65536}}},function(e,t,n){"use strict";var r=n(86),i=n(2),a=n(52),o=n(56),s=n(108),l=n(181),c=n(107),u=n(58),d=n(28)("iterator"),h=!([].keys&&"next"in[].keys()),p=function(){return this};e.exports=function(e,t,n,f,m,g,y){l(n,t,f);var b,v,k,w=function(e){if(!h&&e in E)return E[e];switch(e){case"keys":case"values":return function(){return new n(this,e)}}return function(){return new n(this,e)}},_=t+" Iterator",j="values"==m,C=!1,E=e.prototype,x=E[d]||E["@@iterator"]||m&&E[m],S=x||w(m),T=m?j?w("entries"):S:void 0,O="Array"==t&&E.entries||x;if(O&&(k=u(O.call(new e)))!==Object.prototype&&k.next&&(c(k,_,!0),r||"function"==typeof k[d]||o(k,d,p)),j&&x&&"values"!==x.name&&(C=!0,S=function(){return x.call(this)}),r&&!y||!h&&!C&&E[d]||o(E,d,S),s[t]=S,s[_]=p,m)if(b={values:j?S:w("values"),keys:g?S:w("keys"),entries:T},y)for(v in b)v in E||a(E,v,b[v]);else i(i.P+i.F*(h||C),t,b);return b}},function(e,t,n){var r=n(23),i=n(68),a=n(28)("match");e.exports=function(e){var t;return r(e)&&(void 0!==(t=e[a])?!!t:"RegExp"==i(e))}},,,,,,function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t,n){"use strict";n.d(t,"a",function(){return r});var r=function(){function e(){}return e.prototype.log=function(e,t){},e.instance=new e,e}()},function(e,t,n){"use strict";function r(e){return e}n.d(t,"a",function(){return r})},function(e,t,n){"use strict";function r(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}n.d(t,"a",function(){return i});var i=r()},function(e,t,n){"use strict";n.d(t,"a",function(){return a});var r=n(1),i=n(24);function a(e,t){return function(n){if("function"!=typeof e)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new o(e,t))}}var o=function(){function e(e,t){this.project=e,this.thisArg=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.project,this.thisArg))},e}(),s=function(e){function t(t,n,r){var i=e.call(this,t)||this;return i.project=n,i.count=0,i.thisArg=r||i,i}return r.c(t,e),t.prototype._next=function(e){var t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(t)},t}(i.a)},function(e,t,n){"use strict";n.d(t,"a",function(){return i}),n.d(t,"b",function(){return a});var r=n(32),i=new r.a(function(e){return e.complete()});function a(e){return e?function(e){return new r.a(function(t){return e.schedule(function(){return t.complete()})})}(e):i}},function(e,t,n){"use strict";var r=n(32),i=n(216),a=n(54),o=n(130);var s=n(214),l=n(164);var c=n(306),u=n(304);function d(e,t){if(null!=e){if(function(e){return e&&"function"==typeof e[o.a]}(e))return function(e,t){return new r.a(function(n){var r=new a.a;return r.add(t.schedule(function(){var i=e[o.a]();r.add(i.subscribe({next:function(e){r.add(t.schedule(function(){return n.next(e)}))},error:function(e){r.add(t.schedule(function(){return n.error(e)}))},complete:function(){r.add(t.schedule(function(){return n.complete()}))}}))})),r})}(e,t);if(Object(c.a)(e))return function(e,t){return new r.a(function(n){var r=new a.a;return r.add(t.schedule(function(){return e.then(function(e){r.add(t.schedule(function(){n.next(e),r.add(t.schedule(function(){return n.complete()}))}))},function(e){r.add(t.schedule(function(){return n.error(e)}))})})),r})}(e,t);if(Object(u.a)(e))return Object(s.a)(e,t);if(function(e){return e&&"function"==typeof e[l.a]}(e)||"string"==typeof e)return function(e,t){if(!e)throw new Error("Iterable cannot be null");return new r.a(function(n){var r,i=new a.a;return i.add(function(){r&&"function"==typeof r.return&&r.return()}),i.add(t.schedule(function(){r=e[l.a](),i.add(t.schedule(function(){if(!n.closed){var e,t;try{var i=r.next();e=i.value,t=i.done}catch(a){return void n.error(a)}t?n.complete():(n.next(e),this.schedule())}}))})),i})}(e,t)}throw new TypeError((null!==e&&typeof e||e)+" is not observable")}function h(e,t){return t?d(e,t):e instanceof r.a?e:new r.a(Object(i.a)(e))}n.d(t,"a",function(){return h})},function(e,t,n){"use strict";var r=n(1),i=function(e){function t(t,n){return e.call(this)||this}return r.c(t,e),t.prototype.schedule=function(e,t){return void 0===t&&(t=0),this},t}(n(54).a);n.d(t,"a",function(){return a});var a=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r.pending=!1,r}return r.c(t,e),t.prototype.schedule=function(e,t){if(void 0===t&&(t=0),this.closed)return this;this.state=e;var n=this.id,r=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(r,n,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this},t.prototype.requestAsyncId=function(e,t,n){return void 0===n&&(n=0),setInterval(e.flush.bind(e,this),n)},t.prototype.recycleAsyncId=function(e,t,n){if(void 0===n&&(n=0),null!==n&&this.delay===n&&!1===this.pending)return t;clearInterval(t)},t.prototype.execute=function(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(e,t);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(e,t){var n=!1,r=void 0;try{this.work(e)}catch(i){n=!0,r=!!i&&i||new Error(i)}if(n)return this.unsubscribe(),r},t.prototype._unsubscribe=function(){var e=this.id,t=this.scheduler,n=t.actions,r=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&n.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null},t}(i)},function(e,t,n){"use strict";var r=n(1),i=function(){function e(t,n){void 0===n&&(n=e.now),this.SchedulerAction=t,this.now=n}return e.prototype.schedule=function(e,t,n){return void 0===t&&(t=0),new this.SchedulerAction(this,e).schedule(n,t)},e.now=function(){return Date.now()},e}();n.d(t,"a",function(){return a});var a=function(e){function t(n,r){void 0===r&&(r=i.now);var a=e.call(this,n,function(){return t.delegate&&t.delegate!==a?t.delegate.now():r()})||this;return a.actions=[],a.active=!1,a.scheduled=void 0,a}return r.c(t,e),t.prototype.schedule=function(n,r,i){return void 0===r&&(r=0),t.delegate&&t.delegate!==this?t.delegate.schedule(n,r,i):e.prototype.schedule.call(this,n,r,i)},t.prototype.flush=function(e){var t=this.actions;if(this.active)t.push(e);else{var n;this.active=!0;do{if(n=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}},t}(i)},function(e,t,n){"use strict";n.d(t,"a",function(){return r});var r=function(){function e(){}return e.write=function(t){return""+t+e.RecordSeparator},e.parse=function(t){if(t[t.length-1]!==e.RecordSeparator)throw new Error("Message is incomplete.");var n=t.split(e.RecordSeparator);return n.pop(),n},e.RecordSeparatorCode=30,e.RecordSeparator=String.fromCharCode(e.RecordSeparatorCode),e}()},,function(e,t,n){var r=n(23),i=n(21).document,a=r(i)&&r(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},function(e,t,n){var r=n(132)("keys"),i=n(90);e.exports=function(e){return r[e]||(r[e]=i(e))}},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t,n){var r=n(21).document;e.exports=r&&r.documentElement},function(e,t,n){var r=n(23),i=n(16),a=function(e,t){if(i(e),!r(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,t,r){try{(r=n(64)(Function.call,n(60).f(Object.prototype,"__proto__").set,2))(e,[]),t=!(e instanceof Array)}catch(i){t=!0}return function(e,n){return a(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:a}},function(e,t){e.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},function(e,t,n){var r=n(23),i=n(176).set;e.exports=function(e,t,n){var a,o=t.constructor;return o!==n&&"function"==typeof o&&(a=o.prototype)!==n.prototype&&r(a)&&i&&i(e,a),e}},function(e,t){e.exports=Math.sign||function(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},function(e,t){var n=Math.expm1;e.exports=!n||n(10)>22025.465794806718||n(10)<22025.465794806718||-2e-17!=n(-2e-17)?function(e){return 0==(e=+e)?e:e>-1e-6&&e<1e-6?e+e*e/2:Math.exp(e)-1}:n},function(e,t,n){"use strict";var r=n(83),i=n(85),a=n(107),o={};n(56)(o,n(28)("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(o,{next:i(1,n)}),a(e,t+" Iterator")}},function(e,t,n){var r=n(155),i=n(77);e.exports=function(e,t,n){if(r(t))throw TypeError("String#"+n+" doesn't accept regex!");return String(i(e))}},function(e,t,n){var r=n(28)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[r]=!1,!"/./"[e](t)}catch(i){}}return!0}},function(e,t,n){var r=n(108),i=n(28)("iterator"),a=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||a[i]===e)}},function(e,t,n){"use strict";var r=n(43),i=n(92),a=n(31);e.exports=function(e){for(var t=r(this),n=a(t.length),o=arguments.length,s=i(o>1?arguments[1]:void 0,n),l=o>2?arguments[2]:void 0,c=void 0===l?n:i(l,n);c>s;)t[s++]=e;return t}},function(e,t,n){"use strict";var r,i,a=n(125),o=RegExp.prototype.exec,s=String.prototype.replace,l=o,c=(r=/a/,i=/b*/g,o.call(r,"a"),o.call(i,"a"),0!==r.lastIndex||0!==i.lastIndex),u=void 0!==/()??/.exec("")[1];(c||u)&&(l=function(e){var t,n,r,i,l=this;return u&&(n=new RegExp("^"+l.source+"$(?!\\s)",a.call(l))),c&&(t=l.lastIndex),r=o.call(l,e),c&&r&&(l.lastIndex=l.global?r.index+r[0].length:t),u&&r&&r.length>1&&s.call(r[0],n,function(){for(i=1;i>1,u=23===t?S(2,-24)-S(2,-77):0,d=0,h=e<0||0===e&&1/e<0?1:0;for((e=x(e))!=e||e===C?(i=e!=e?1:0,r=l):(r=T(O(e)/I),e*(a=S(2,-r))<1&&(r--,a*=2),(e+=r+c>=1?u/a:u*S(2,1-c))*a>=2&&(r++,a/=2),r+c>=l?(i=0,r=l):r+c>=1?(i=(e*a-1)*S(2,t),r+=c):(i=e*S(2,c-1)*S(2,t),r=0));t>=8;o[d++]=255&i,i/=256,t-=8);for(r=r<0;o[d++]=255&r,r/=256,s-=8);return o[--d]|=128*h,o}function P(e,t,n){var r,i=8*n-t-1,a=(1<>1,s=i-7,l=n-1,c=e[l--],u=127&c;for(c>>=7;s>0;u=256*u+e[l],l--,s-=8);for(r=u&(1<<-s)-1,u>>=-s,s+=t;s>0;r=256*r+e[l],l--,s-=8);if(0===u)u=1-o;else{if(u===a)return r?NaN:c?-C:C;r+=S(2,t),u-=o}return(c?-1:1)*r*S(2,u-t)}function R(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]}function M(e){return[255&e]}function q(e){return[255&e,e>>8&255]}function L(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]}function B(e){return N(e,52,8)}function F(e){return N(e,23,4)}function V(e,t,n){m(e[b],t,{get:function(){return this[n]}})}function U(e,t,n,r){var i=p(+n);if(i+t>e[D])throw j(v);var a=e[z]._b,o=i+e[A],s=a.slice(o,o+t);return r?s:s.reverse()}function H(e,t,n,r,i,a){var o=p(+n);if(o+t>e[D])throw j(v);for(var s=e[z]._b,l=o+e[A],c=r(+i),u=0;uQ;)(W=G[Q++])in k||s(k,W,E[W]);a||(K.constructor=k)}var $=new w(new k(2)),Y=w[b].setInt8;$.setInt8(0,2147483648),$.setInt8(1,2147483649),!$.getInt8(0)&&$.getInt8(1)||l(w[b],{setInt8:function(e,t){Y.call(this,e,t<<24>>24)},setUint8:function(e,t){Y.call(this,e,t<<24>>24)}},!0)}else k=function(e){u(this,k,"ArrayBuffer");var t=p(e);this._b=g.call(new Array(t),0),this[D]=t},w=function(e,t,n){u(this,w,"DataView"),u(e,k,"DataView");var r=e[D],i=d(t);if(i<0||i>r)throw j("Wrong offset!");if(i+(n=void 0===n?r-i:h(n))>r)throw j("Wrong length!");this[z]=e,this[A]=i,this[D]=n},i&&(V(k,"byteLength","_l"),V(w,"buffer","_b"),V(w,"byteLength","_l"),V(w,"byteOffset","_o")),l(w[b],{getInt8:function(e){return U(this,1,e)[0]<<24>>24},getUint8:function(e){return U(this,1,e)[0]},getInt16:function(e){var t=U(this,2,e,arguments[1]);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=U(this,2,e,arguments[1]);return t[1]<<8|t[0]},getInt32:function(e){return R(U(this,4,e,arguments[1]))},getUint32:function(e){return R(U(this,4,e,arguments[1]))>>>0},getFloat32:function(e){return P(U(this,4,e,arguments[1]),23,4)},getFloat64:function(e){return P(U(this,8,e,arguments[1]),52,8)},setInt8:function(e,t){H(this,1,e,M,t)},setUint8:function(e,t){H(this,1,e,M,t)},setInt16:function(e,t){H(this,2,e,q,t,arguments[2])},setUint16:function(e,t){H(this,2,e,q,t,arguments[2])},setInt32:function(e,t){H(this,4,e,L,t,arguments[2])},setUint32:function(e,t){H(this,4,e,L,t,arguments[2])},setFloat32:function(e,t){H(this,4,e,F,t,arguments[2])},setFloat64:function(e,t){H(this,8,e,B,t,arguments[2])}});y(k,"ArrayBuffer"),y(w,"DataView"),s(w[b],o.VIEW,!0),t.ArrayBuffer=k,t.DataView=w},,,,,function(e,t,n){var r=n(105),i=r.Buffer;function a(e,t){for(var n in e)t[n]=e[n]}function o(e,t,n){return i(e,t,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=r:(a(r,t),t.Buffer=o),a(i,o),o.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,n)},o.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=i(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},o.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},o.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r.SlowBuffer(e)}},function(e,t,n){"use strict";var r=n(296),i=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=d;var a=n(261);a.inherits=n(161);var o=n(699),s=n(510);a.inherits(d,o);for(var l=i(s.prototype),c=0;c>>=2;for(i=0;i>8^255&d^99,a[m]=d,o[d]=m,p=(h=e[d])<<24^d<<16^d<<8^d^h,f=((n=e[m])^(r=e[n])^(i=e[r]))<<24^(m^i)<<16^(m^r^i)<<8^m^n^i;for(var y=0;y<4;++y)l[y][m]=p,c[y][d]=f,p=p<<24|p>>>8,f=f<<24|f>>>8;0===m?m=g=1:(m=n^e[e[e[n^i]]],g^=e[e[g]])}}function p(e,t){for(var n,r=e.slice(0),i=1,o=r.length,l=d*(o+6+1),u=o;u>>16&255]<<24^a[n>>>8&255]<<16^a[255&n]<<8^a[n>>>24]^s[i]<<24,i++):o>6&&u%o==4&&(n=a[n>>>24]<<24^a[n>>>16&255]<<16^a[n>>>8&255]<<8^a[255&n]),r[u]=r[u-o]^n;if(t){for(var h,p=c[0],f=c[1],m=c[2],g=c[3],y=r.slice(0),b=(u=0,(l=r.length)-d);u>>24]]^f[a[h>>>16&255]]^m[a[h>>>8&255]]^g[a[255&h]];r=y}return r}function f(e,t,n,r){var i,s,u,d,h,p,f,m,g,y,b,v,k=e.length/4-1;r?(i=c[0],s=c[1],u=c[2],d=c[3],h=o):(i=l[0],s=l[1],u=l[2],d=l[3],h=a),p=t[0]^e[0],f=t[r?3:1]^e[1],m=t[2]^e[2],g=t[r?1:3]^e[3];for(var w=3,_=1;_>>24]^s[f>>>16&255]^u[m>>>8&255]^d[255&g]^e[++w],b=i[f>>>24]^s[m>>>16&255]^u[g>>>8&255]^d[255&p]^e[++w],v=i[m>>>24]^s[g>>>16&255]^u[p>>>8&255]^d[255&f]^e[++w],g=i[g>>>24]^s[p>>>16&255]^u[f>>>8&255]^d[255&m]^e[++w],p=y,f=b,m=v;n[0]=h[p>>>24]<<24^h[f>>>16&255]<<16^h[m>>>8&255]<<8^h[255&g]^e[++w],n[r?3:1]=h[f>>>24]<<24^h[m>>>16&255]<<16^h[g>>>8&255]<<8^h[255&p]^e[++w],n[2]=h[m>>>24]<<24^h[g>>>16&255]<<16^h[p>>>8&255]<<8^h[255&f]^e[++w],n[r?1:3]=h[g>>>24]<<24^h[p>>>16&255]<<16^h[f>>>8&255]<<8^h[255&m]^e[++w]}function m(e){var t,n="AES-"+((e=e||{}).mode||"CBC").toUpperCase(),i=(t=e.decrypt?r.cipher.createDecipher(n,e.key):r.cipher.createCipher(n,e.key)).start;return t.start=function(e,n){var a=null;n instanceof r.util.ByteBuffer&&(a=n,n={}),(n=n||{}).output=a,n.iv=e,i.call(t,n)},t}},function(e,t,n){var r=n(37);r.pki=r.pki||{};var i=e.exports=r.pki.oids=r.oids=r.oids||{};function a(e,t){i[e]=t,i[t]=e}function o(e,t){i[e]=t}a("1.2.840.113549.1.1.1","rsaEncryption"),a("1.2.840.113549.1.1.4","md5WithRSAEncryption"),a("1.2.840.113549.1.1.5","sha1WithRSAEncryption"),a("1.2.840.113549.1.1.7","RSAES-OAEP"),a("1.2.840.113549.1.1.8","mgf1"),a("1.2.840.113549.1.1.9","pSpecified"),a("1.2.840.113549.1.1.10","RSASSA-PSS"),a("1.2.840.113549.1.1.11","sha256WithRSAEncryption"),a("1.2.840.113549.1.1.12","sha384WithRSAEncryption"),a("1.2.840.113549.1.1.13","sha512WithRSAEncryption"),a("1.2.840.10040.4.3","dsa-with-sha1"),a("1.3.14.3.2.7","desCBC"),a("1.3.14.3.2.26","sha1"),a("2.16.840.1.101.3.4.2.1","sha256"),a("2.16.840.1.101.3.4.2.2","sha384"),a("2.16.840.1.101.3.4.2.3","sha512"),a("1.2.840.113549.2.5","md5"),a("1.2.840.113549.1.7.1","data"),a("1.2.840.113549.1.7.2","signedData"),a("1.2.840.113549.1.7.3","envelopedData"),a("1.2.840.113549.1.7.4","signedAndEnvelopedData"),a("1.2.840.113549.1.7.5","digestedData"),a("1.2.840.113549.1.7.6","encryptedData"),a("1.2.840.113549.1.9.1","emailAddress"),a("1.2.840.113549.1.9.2","unstructuredName"),a("1.2.840.113549.1.9.3","contentType"),a("1.2.840.113549.1.9.4","messageDigest"),a("1.2.840.113549.1.9.5","signingTime"),a("1.2.840.113549.1.9.6","counterSignature"),a("1.2.840.113549.1.9.7","challengePassword"),a("1.2.840.113549.1.9.8","unstructuredAddress"),a("1.2.840.113549.1.9.14","extensionRequest"),a("1.2.840.113549.1.9.20","friendlyName"),a("1.2.840.113549.1.9.21","localKeyId"),a("1.2.840.113549.1.9.22.1","x509Certificate"),a("1.2.840.113549.1.12.10.1.1","keyBag"),a("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag"),a("1.2.840.113549.1.12.10.1.3","certBag"),a("1.2.840.113549.1.12.10.1.4","crlBag"),a("1.2.840.113549.1.12.10.1.5","secretBag"),a("1.2.840.113549.1.12.10.1.6","safeContentsBag"),a("1.2.840.113549.1.5.13","pkcs5PBES2"),a("1.2.840.113549.1.5.12","pkcs5PBKDF2"),a("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4"),a("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4"),a("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC"),a("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC"),a("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC"),a("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC"),a("1.2.840.113549.2.7","hmacWithSHA1"),a("1.2.840.113549.2.8","hmacWithSHA224"),a("1.2.840.113549.2.9","hmacWithSHA256"),a("1.2.840.113549.2.10","hmacWithSHA384"),a("1.2.840.113549.2.11","hmacWithSHA512"),a("1.2.840.113549.3.7","des-EDE3-CBC"),a("2.16.840.1.101.3.4.1.2","aes128-CBC"),a("2.16.840.1.101.3.4.1.22","aes192-CBC"),a("2.16.840.1.101.3.4.1.42","aes256-CBC"),a("2.5.4.3","commonName"),a("2.5.4.5","serialName"),a("2.5.4.6","countryName"),a("2.5.4.7","localityName"),a("2.5.4.8","stateOrProvinceName"),a("2.5.4.10","organizationName"),a("2.5.4.11","organizationalUnitName"),a("2.16.840.1.113730.1.1","nsCertType"),o("2.5.29.1","authorityKeyIdentifier"),o("2.5.29.2","keyAttributes"),o("2.5.29.3","certificatePolicies"),o("2.5.29.4","keyUsageRestriction"),o("2.5.29.5","policyMapping"),o("2.5.29.6","subtreesConstraint"),o("2.5.29.7","subjectAltName"),o("2.5.29.8","issuerAltName"),o("2.5.29.9","subjectDirectoryAttributes"),o("2.5.29.10","basicConstraints"),o("2.5.29.11","nameConstraints"),o("2.5.29.12","policyConstraints"),o("2.5.29.13","basicConstraints"),a("2.5.29.14","subjectKeyIdentifier"),a("2.5.29.15","keyUsage"),o("2.5.29.16","privateKeyUsagePeriod"),a("2.5.29.17","subjectAltName"),a("2.5.29.18","issuerAltName"),a("2.5.29.19","basicConstraints"),o("2.5.29.20","cRLNumber"),o("2.5.29.21","cRLReason"),o("2.5.29.22","expirationDate"),o("2.5.29.23","instructionCode"),o("2.5.29.24","invalidityDate"),o("2.5.29.25","cRLDistributionPoints"),o("2.5.29.26","issuingDistributionPoint"),o("2.5.29.27","deltaCRLIndicator"),o("2.5.29.28","issuingDistributionPoint"),o("2.5.29.29","certificateIssuer"),o("2.5.29.30","nameConstraints"),a("2.5.29.31","cRLDistributionPoints"),a("2.5.29.32","certificatePolicies"),o("2.5.29.33","policyMappings"),o("2.5.29.34","policyConstraints"),a("2.5.29.35","authorityKeyIdentifier"),o("2.5.29.36","policyConstraints"),a("2.5.29.37","extKeyUsage"),o("2.5.29.46","freshestCRL"),o("2.5.29.54","inhibitAnyPolicy"),a("1.3.6.1.4.1.11129.2.4.2","timestampList"),a("1.3.6.1.5.5.7.1.1","authorityInfoAccess"),a("1.3.6.1.5.5.7.3.1","serverAuth"),a("1.3.6.1.5.5.7.3.2","clientAuth"),a("1.3.6.1.5.5.7.3.3","codeSigning"),a("1.3.6.1.5.5.7.3.4","emailProtection"),a("1.3.6.1.5.5.7.3.8","timeStamping")},function(e,t,n){"use strict";n.d(t,"a",function(){return r});var r=function(){return"function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random()}()},function(e,t,n){"use strict";var r,i=n(166),a=n(307),o=n(32);function s(e){var t=e.error;e.subscriber.error(t)}n.d(t,"a",function(){return l}),r||(r={});var l=function(){function e(e,t,n){this.kind=e,this.value=t,this.error=n,this.hasValue="N"===e}return e.prototype.observe=function(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}},e.prototype.do=function(e,t,n){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return n&&n()}},e.prototype.accept=function(e,t,n){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,n)},e.prototype.toObservable=function(){var e,t;switch(this.kind){case"N":return Object(a.a)(this.value);case"E":return e=this.error,t?new o.a(function(n){return t.schedule(s,0,{error:e,subscriber:n})}):new o.a(function(t){return t.error(e)});case"C":return Object(i.b)()}throw new Error("unexpected notification kind value")},e.createNext=function(t){return void 0!==t?new e("N",t):e.undefinedValueNotification},e.createError=function(t){return new e("E",void 0,t)},e.createComplete=function(){return e.completeNotification},e.completeNotification=new e("C"),e.undefinedValueNotification=new e("N",void 0),e}()},function(e,t,n){"use strict";var r=n(193).Buffer,i=n(1022),a=n(297),o=n(1024),s=n(1025),l=n(1026);e.exports=function(e){var t=[],n=[];return{encode:l(t,(e=e||{forceFloat64:!1,compatibilityMode:!1,disableTimestampEncoding:!1}).forceFloat64,e.compatibilityMode,e.disableTimestampEncoding),decode:s(n),register:function(e,t,n,o){return i(t,"must have a constructor"),i(n,"must have an encode function"),i(e>=0,"must have a non-negative type"),i(o,"must have a decode function"),this.registerEncoder(function(e){return e instanceof t},function(t){var i=a(),o=r.allocUnsafe(1);return o.writeInt8(e,0),i.append(o),i.append(n(t)),i}),this.registerDecoder(e,o),this},registerEncoder:function(e,n){return i(e,"must have an encode function"),i(n,"must have an encode function"),t.push({check:e,encode:n}),this},registerDecoder:function(e,t){return i(e>=0,"must have a non-negative type"),i(t,"must have a decode function"),n.push({type:e,decode:t}),this},encoder:o.encoder,decoder:o.decoder,buffer:!0,type:"msgpack5",IncompleteBufferError:s.IncompleteBufferError}}},function(e,t,n){"use strict";var r=n(91),i=n(133),a=n(124),o=n(43),s=n(115),l=Object.assign;e.exports=!l||n(22)(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=l({},e)[n]||Object.keys(l({},t)).join("")!=r})?function(e,t){for(var n=o(e),l=arguments.length,c=1,u=i.f,d=a.f;l>c;)for(var h,p=s(arguments[c++]),f=u?r(p).concat(u(p)):r(p),m=f.length,g=0;m>g;)d.call(p,h=f[g++])&&(n[h]=p[h]);return n}:l},function(e,t){e.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){"use strict";var r=n(65),i=n(77);e.exports=function(e){var t=String(i(this)),n="",a=r(e);if(a<0||a==1/0)throw RangeError("Count can't be negative");for(;a>0;(a>>>=1)&&(t+=t))1&a&&(n+=t);return n}},function(e,t,n){"use strict";var r=n(33),i=n(85);e.exports=function(e,t,n){t in e?r.f(e,t,i(0,n)):e[t]=n}},function(e,t,n){"use strict";var r=n(96),i=n(205),a=n(108),o=n(53);e.exports=n(154)(Array,"Array",function(e,t){this._t=o(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,i(1)):i(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])},"values"),a.Arguments=a.Array,r("keys"),r("values"),r("entries")},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){var r,i,a,o=n(64),s=n(201),l=n(175),c=n(172),u=n(21),d=u.process,h=u.setImmediate,p=u.clearImmediate,f=u.MessageChannel,m=u.Dispatch,g=0,y={},b=function(){var e=+this;if(y.hasOwnProperty(e)){var t=y[e];delete y[e],t()}},v=function(e){b.call(e.data)};h&&p||(h=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return y[++g]=function(){s("function"==typeof e?e:Function(e),t)},r(g),g},p=function(e){delete y[e]},"process"==n(68)(d)?r=function(e){d.nextTick(o(b,e,1))}:m&&m.now?r=function(e){m.now(o(b,e,1))}:f?(a=(i=new f).port2,i.port1.onmessage=v,r=o(a.postMessage,a,1)):u.addEventListener&&"function"==typeof postMessage&&!u.importScripts?(r=function(e){u.postMessage(e+"","*")},u.addEventListener("message",v,!1)):r="onreadystatechange"in c("script")?function(e){l.appendChild(c("script")).onreadystatechange=function(){l.removeChild(this),b.call(e)}}:function(e){setTimeout(o(b,e,1),0)}),e.exports={set:h,clear:p}},function(e,t,n){"use strict";var r=n(47);function i(e){var t,n;this.promise=new e(function(e,r){if(void 0!==t||void 0!==n)throw TypeError("Bad Promise constructor");t=e,n=r}),this.resolve=r(t),this.reject=r(n)}e.exports.f=function(e){return new i(e)}},function(e,t,n){var r=n(21).navigator;e.exports=r&&r.userAgent||""},,,function(e,t,n){var r=n(37);n(44);var i=e.exports=r.pem=r.pem||{};function a(e){for(var t=e.name+": ",n=[],r=function(e,t){return" "+t},i=0;i65&&-1!==o){var s=t[o];","===s?(++o,t=t.substr(0,o)+"\r\n "+t.substr(o)):t=t.substr(0,o)+"\r\n"+s+t.substr(o+1),a=i-o-1,o=-1,++i}else" "!==t[i]&&"\t"!==t[i]&&","!==t[i]||(o=i);return t}function o(e){return e.replace(/^\s+/,"")}i.encode=function(e,t){t=t||{};var n,i="-----BEGIN "+e.type+"-----\r\n";if(e.procType&&(i+=a(n={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]})),e.contentDomain&&(i+=a(n={name:"Content-Domain",values:[e.contentDomain]})),e.dekInfo&&(n={name:"DEK-Info",values:[e.dekInfo.algorithm]},e.dekInfo.parameters&&n.values.push(e.dekInfo.parameters),i+=a(n)),e.headers)for(var o=0;ol;)r(s,n=t[l++])&&(~a(c,n)||c.push(n));return c}},function(e,t,n){var r=n(33),i=n(16),a=n(91);e.exports=n(35)?Object.defineProperties:function(e,t){i(e);for(var n,o=a(t),s=o.length,l=0;s>l;)r.f(e,n=o[l++],t[n]);return e}},function(e,t,n){var r=n(53),i=n(93).f,a={}.toString,o="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){return o&&"[object Window]"==a.call(e)?function(e){try{return i(e)}catch(t){return o.slice()}}(e):i(r(e))}},function(e,t){e.exports=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},function(e,t,n){"use strict";var r=n(47),i=n(23),a=n(201),o=[].slice,s={};e.exports=Function.bind||function(e){var t=r(this),n=o.call(arguments,1),l=function(){var r=n.concat(o.call(arguments));return this instanceof l?function(e,t,n){if(!(t in s)){for(var r=[],i=0;i>>0||(o.test(n)?16:10))}:r},function(e,t,n){var r=n(21).parseFloat,i=n(116).trim;e.exports=1/r(n(177)+"-0")!=-1/0?function(e){var t=i(String(e),3),n=r(t);return 0===n&&"-"==t.charAt(0)?-0:n}:r},function(e,t,n){var r=n(68);e.exports=function(e,t){if("number"!=typeof e&&"Number"!=r(e))throw TypeError(t);return+e}},function(e,t,n){var r=n(23),i=Math.floor;e.exports=function(e){return!r(e)&&isFinite(e)&&i(e)===e}},function(e,t){e.exports=Math.log1p||function(e){return(e=+e)>-1e-8&&e<1e-8?e-e*e/2:Math.log(1+e)}},function(e,t,n){var r=n(16);e.exports=function(e,t,n,i){try{return i?t(r(n)[0],n[1]):t(n)}catch(o){var a=e.return;throw void 0!==a&&r(a.call(e)),o}}},function(e,t,n){var r=n(399);e.exports=function(e,t){return new(r(e))(t)}},function(e,t,n){var r=n(47),i=n(43),a=n(115),o=n(31);e.exports=function(e,t,n,s,l){r(t);var c=i(e),u=a(c),d=o(c.length),h=l?d-1:0,p=l?-1:1;if(n<2)for(;;){if(h in u){s=u[h],h+=p;break}if(h+=p,l?h<0:d<=h)throw TypeError("Reduce of empty array with no initial value")}for(;l?h>=0:d>h;h+=p)h in u&&(s=t(s,u[h],h,c));return s}},function(e,t,n){"use strict";var r=n(43),i=n(92),a=n(31);e.exports=[].copyWithin||function(e,t){var n=r(this),o=a(n.length),s=i(e,o),l=i(t,o),c=arguments.length>2?arguments[2]:void 0,u=Math.min((void 0===c?o:i(c,o))-l,o-s),d=1;for(l0;)l in n?n[s]=n[l]:delete n[s],s+=d,l+=d;return n}},function(e,t,n){"use strict";var r=n(186);n(2)({target:"RegExp",proto:!0,forced:r!==/./.exec},{exec:r})},function(e,t,n){n(35)&&"g"!=/./g.flags&&n(33).f(RegExp.prototype,"flags",{configurable:!0,get:n(125)})},function(e,t,n){var r=n(21),i=n(206).set,a=r.MutationObserver||r.WebKitMutationObserver,o=r.process,s=r.Promise,l="process"==n(68)(o);e.exports=function(){var e,t,n,c=function(){var r,i;for(l&&(r=o.domain)&&r.exit();e;){i=e.fn,e=e.next;try{i()}catch(a){throw e?n():t=void 0,a}}t=void 0,r&&r.enter()};if(l)n=function(){o.nextTick(c)};else if(!a||r.navigator&&r.navigator.standalone)if(s&&s.resolve){var u=s.resolve(void 0);n=function(){u.then(c)}}else n=function(){i.call(r,c)};else{var d=!0,h=document.createTextNode("");new a(c).observe(h,{characterData:!0}),n=function(){h.data=d=!d}}return function(r){var i={fn:r,next:void 0};t&&(t.next=i),e||(e=i,n()),t=i}}},function(e,t,n){"use strict";var r=n(239),i=n(109);e.exports=n(138)("Map",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{get:function(e){var t=r.getEntry(i(this,"Map"),e);return t&&t.v},set:function(e,t){return r.def(i(this,"Map"),0===e?0:e,t)}},r,!0)},function(e,t,n){"use strict";var r=n(33).f,i=n(83),a=n(100),o=n(64),s=n(98),l=n(99),c=n(154),u=n(205),d=n(97),h=n(35),p=n(82).fastKey,f=n(109),m=h?"_s":"size",g=function(e,t){var n,r=p(t);if("F"!==r)return e._i[r];for(n=e._f;n;n=n.n)if(n.k==t)return n};e.exports={getConstructor:function(e,t,n,c){var u=e(function(e,r){s(e,u,t,"_i"),e._t=t,e._i=i(null),e._f=void 0,e._l=void 0,e[m]=0,null!=r&&l(r,n,e[c],e)});return a(u.prototype,{clear:function(){for(var e=f(this,t),n=e._i,r=e._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];e._f=e._l=void 0,e[m]=0},delete:function(e){var n=f(this,t),r=g(n,e);if(r){var i=r.n,a=r.p;delete n._i[r.i],r.r=!0,a&&(a.n=i),i&&(i.p=a),n._f==r&&(n._f=i),n._l==r&&(n._l=a),n[m]--}return!!r},forEach:function(e){f(this,t);for(var n,r=o(e,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(e){return!!g(f(this,t),e)}}),h&&r(u.prototype,"size",{get:function(){return f(this,t)[m]}}),u},def:function(e,t,n){var r,i,a=g(e,t);return a?a.v=n:(e._l=a={i:i=p(t,!0),k:t,v:n,p:r=e._l,n:void 0,r:!1},e._f||(e._f=a),r&&(r.n=a),e[m]++,"F"!==i&&(e._i[i]=a)),e},getEntry:g,setStrong:function(e,t,n){c(e,t,function(e,n){this._t=f(e,t),this._k=n,this._l=void 0},function(){for(var e=this._k,t=this._l;t&&t.r;)t=t.p;return this._t&&(this._l=t=t?t.n:this._t._f)?u(0,"keys"==e?t.k:"values"==e?t.v:[t.k,t.v]):(this._t=void 0,u(1))},n?"entries":"values",!n,!0),d(t)}}},function(e,t,n){"use strict";var r=n(239),i=n(109);e.exports=n(138)("Set",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{add:function(e){return r.def(i(this,"Set"),e=0===e?0:e,e)}},r)},function(e,t,n){"use strict";var r,i=n(70)(0),a=n(52),o=n(82),s=n(200),l=n(242),c=n(23),u=n(22),d=n(109),h=o.getWeak,p=Object.isExtensible,f=l.ufstore,m={},g=function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},y={get:function(e){if(c(e)){var t=h(e);return!0===t?f(d(this,"WeakMap")).get(e):t?t[this._i]:void 0}},set:function(e,t){return l.def(d(this,"WeakMap"),e,t)}},b=e.exports=n(138)("WeakMap",g,y,l,!0,!0);u(function(){return 7!=(new b).set((Object.freeze||Object)(m),7).get(m)})&&(s((r=l.getConstructor(g,"WeakMap")).prototype,y),o.NEED=!0,i(["delete","has","get","set"],function(e){var t=b.prototype,n=t[e];a(t,e,function(t,i){if(c(t)&&!p(t)){this._f||(this._f=new r);var a=this._f[e](t,i);return"set"==e?this:a}return n.call(this,t,i)})}))},function(e,t,n){"use strict";var r=n(100),i=n(82).getWeak,a=n(16),o=n(23),s=n(98),l=n(99),c=n(70),u=n(51),d=n(109),h=c(5),p=c(6),f=0,m=function(e){return e._l||(e._l=new g)},g=function(){this.a=[]},y=function(e,t){return h(e.a,function(e){return e[0]===t})};g.prototype={get:function(e){var t=y(this,e);if(t)return t[1]},has:function(e){return!!y(this,e)},set:function(e,t){var n=y(this,e);n?n[1]=t:this.a.push([e,t])},delete:function(e){var t=p(this.a,function(t){return t[0]===e});return~t&&this.a.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,a){var c=e(function(e,r){s(e,c,t,"_i"),e._t=t,e._i=f++,e._l=void 0,null!=r&&l(r,n,e[a],e)});return r(c.prototype,{delete:function(e){if(!o(e))return!1;var n=i(e);return!0===n?m(d(this,t)).delete(e):n&&u(n,this._i)&&delete n[this._i]},has:function(e){if(!o(e))return!1;var n=i(e);return!0===n?m(d(this,t)).has(e):n&&u(n,this._i)}}),c},def:function(e,t,n){var r=i(a(t),!0);return!0===r?m(e).set(t,n):r[e._i]=n,e},ufstore:m}},function(e,t,n){var r=n(65),i=n(31);e.exports=function(e){if(void 0===e)return 0;var t=r(e),n=i(t);if(t!==n)throw RangeError("Wrong length!");return n}},function(e,t,n){var r=n(93),i=n(133),a=n(16),o=n(21).Reflect;e.exports=o&&o.ownKeys||function(e){var t=r.f(a(e)),n=i.f;return n?t.concat(n(e)):t}},,,,,,,,,,,,,,,,function(e,t,n){(t=e.exports=n(699)).Stream=t,t.Readable=t,t.Writable=n(510),t.Duplex=n(194),t.Transform=n(704),t.PassThrough=n(950)},function(e,t,n){(function(e){function n(e){return Object.prototype.toString.call(e)}t.isArray=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===n(e)},t.isBoolean=function(e){return"boolean"==typeof e},t.isNull=function(e){return null===e},t.isNullOrUndefined=function(e){return null==e},t.isNumber=function(e){return"number"==typeof e},t.isString=function(e){return"string"==typeof e},t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=function(e){return void 0===e},t.isRegExp=function(e){return"[object RegExp]"===n(e)},t.isObject=function(e){return"object"==typeof e&&null!==e},t.isDate=function(e){return"[object Date]"===n(e)},t.isError=function(e){return"[object Error]"===n(e)||e instanceof Error},t.isFunction=function(e){return"function"==typeof e},t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=e.isBuffer}).call(this,n(105).Buffer)},function(e,t,n){var r=n(37);n(146),n(44),(e.exports=r.hmac=r.hmac||{}).create=function(){var e=null,t=null,n=null,i=null,a={start:function(a,o){if(null!==a)if("string"==typeof a){if(!((a=a.toLowerCase())in r.md.algorithms))throw new Error('Unknown hash algorithm "'+a+'"');t=r.md.algorithms[a].create()}else t=a;if(null===o)o=e;else{if("string"==typeof o)o=r.util.createBuffer(o);else if(r.util.isArray(o)){var s=o;o=r.util.createBuffer();for(var l=0;lt.blockLength&&(t.start(),t.update(o.bytes()),o=t.digest()),n=r.util.createBuffer(),i=r.util.createBuffer(),c=o.length();for(l=0;l>>0,l>>>0];for(var c=i.fullMessageLength.length-1;c>=0;--c)i.fullMessageLength[c]+=l[1],l[1]=l[0]+(i.fullMessageLength[c]/4294967296>>>0),i.fullMessageLength[c]=i.fullMessageLength[c]>>>0,l[0]=l[1]/4294967296>>>0;return t.putBytes(a),s(e,n,t),(t.read>2048||0===t.length())&&t.compact(),i},i.digest=function(){var o=r.util.createBuffer();o.putBytes(t.bytes());var l,c=i.fullMessageLength[i.fullMessageLength.length-1]+i.messageLengthSize&i.blockLength-1;o.putBytes(a.substr(0,i.blockLength-c));for(var u=8*i.fullMessageLength[0],d=0;d>>0,o.putInt32(u>>>0),u=l>>>0;o.putInt32(u);var h={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};s(h,n,o);var p=r.util.createBuffer();return p.putInt32(h.h0),p.putInt32(h.h1),p.putInt32(h.h2),p.putInt32(h.h3),p.putInt32(h.h4),p},i};var a=null,o=!1;function s(e,t,n){for(var r,i,a,o,s,l,c,u=n.length();u>=64;){for(i=e.h0,a=e.h1,o=e.h2,s=e.h3,l=e.h4,c=0;c<16;++c)r=n.getInt32(),t[c]=r,r=(i<<5|i>>>27)+(s^a&(o^s))+l+1518500249+r,l=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=r;for(;c<20;++c)r=(r=t[c-3]^t[c-8]^t[c-14]^t[c-16])<<1|r>>>31,t[c]=r,r=(i<<5|i>>>27)+(s^a&(o^s))+l+1518500249+r,l=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=r;for(;c<32;++c)r=(r=t[c-3]^t[c-8]^t[c-14]^t[c-16])<<1|r>>>31,t[c]=r,r=(i<<5|i>>>27)+(a^o^s)+l+1859775393+r,l=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=r;for(;c<40;++c)r=(r=t[c-6]^t[c-16]^t[c-28]^t[c-32])<<2|r>>>30,t[c]=r,r=(i<<5|i>>>27)+(a^o^s)+l+1859775393+r,l=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=r;for(;c<60;++c)r=(r=t[c-6]^t[c-16]^t[c-28]^t[c-32])<<2|r>>>30,t[c]=r,r=(i<<5|i>>>27)+(a&o|s&(a^o))+l+2400959708+r,l=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=r;for(;c<80;++c)r=(r=t[c-6]^t[c-16]^t[c-28]^t[c-32])<<2|r>>>30,t[c]=r,r=(i<<5|i>>>27)+(a^o^s)+l+3395469782+r,l=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=r;e.h0=e.h0+i|0,e.h1=e.h1+a|0,e.h2=e.h2+o|0,e.h3=e.h3+s|0,e.h4=e.h4+l|0,u-=64}}},function(e,t,n){"use strict";n.r(t);var r=n(0),i=n(4); -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -function a(e){return null!=e&&""+e!="false"} -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function o(e,t){return void 0===t&&(t=0),function(e){return!isNaN(parseFloat(e))&&!isNaN(Number(e))} -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */(e)?Number(e):t} -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -function s(e){return e instanceof r.ElementRef?e.nativeElement:e} -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var l=n(148),c=n(307),u=n(32),d=n(1091),h=n(1087),p=n(1),f=n(168),m=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r}return p.c(t,e),t.prototype.requestAsyncId=function(t,n,r){return void 0===r&&(r=0),null!==r&&r>0?e.prototype.requestAsyncId.call(this,t,n,r):(t.actions.push(this),t.scheduled||(t.scheduled=requestAnimationFrame(function(){return t.flush(null)})))},t.prototype.recycleAsyncId=function(t,n,r){if(void 0===r&&(r=0),null!==r&&r>0||null===r&&this.delay>0)return e.prototype.recycleAsyncId.call(this,t,n,r);0===t.actions.length&&(cancelAnimationFrame(n),t.scheduled=void 0)},t}(f.a),g=n(169),y=new(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return p.c(t,e),t.prototype.flush=function(e){this.active=!0,this.scheduled=void 0;var t,n=this.actions,r=-1,i=n.length;e=e||n.shift();do{if(t=e.execute(e.state,e.delay))break}while(++r0?e.prototype.requestAsyncId.call(this,t,n,r):(t.actions.push(this),t.scheduled||(t.scheduled=_(t.flush.bind(t,null))))},t.prototype.recycleAsyncId=function(t,n,r){if(void 0===r&&(r=0),null!==r&&r>0||null===r&&this.delay>0)return e.prototype.recycleAsyncId.call(this,t,n,r);0===t.actions.length&&(j(n),t.scheduled=void 0)},t}(f.a),E=new(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return p.c(t,e),t.prototype.flush=function(e){this.active=!0,this.scheduled=void 0;var t,n=this.actions,r=-1,i=n.length;e=e||n.shift();do{if(t=e.execute(e.state,e.delay))break}while(++r=0}var M=n(122);function q(e){var t=e.index,n=e.period,r=e.subscriber;if(r.next(t),!r.closed){if(-1===n)return r.complete();e.index=t+1,this.schedule(e,n)}}function L(e,t){return void 0===t&&(t=z.a),n=function(){return function(e,t,n){void 0===e&&(e=0);var r=-1;return R(t)?r=Number(t)<1?1:Number(t):Object(M.a)(t)&&(n=t),Object(M.a)(n)||(n=z.a),new u.a(function(t){var i=R(e)?e:+e-n.now();return n.schedule(q,i,{index:0,period:r,subscriber:t})})}(e,t)},function(e){return e.lift(new A(n))};var n}var B=n(308);function F(e){return function(t){return t.lift(new V(e))}}var V=function(){function e(e){this.notifier=e}return e.prototype.call=function(e,t){var n=new U(e),r=Object(D.c)(this.notifier,new D.a(n));return r&&!n.seenValue?(n.add(r),t.subscribe(n)):n},e}(),U=function(e){function t(t){var n=e.call(this,t)||this;return n.seenValue=!1,n}return p.c(t,e),t.prototype.notifyNext=function(){this.seenValue=!0,this.complete()},t.prototype.notifyComplete=function(){},t}(D.b),H=n(1093);var W,K=function(){function e(){}return e.prototype.call=function(e,t){return t.subscribe(new G(e))},e}(),G=function(e){function t(t){var n=e.call(this,t)||this;return n.hasPrev=!1,n}return p.c(t,e),t.prototype._next=function(e){var t;this.hasPrev?t=[this.prev,e]:this.hasPrev=!0,this.prev=e,t&&this.destination.next(t)},t}(T.a),Q=n(1090),$=n(732);function Y(e,t,n){var r;return r=e&&"object"==typeof e?e:{bufferSize:e,windowTime:t,refCount:!1,scheduler:n},function(e){return e.lift((a=(t=r).bufferSize,o=void 0===a?Number.POSITIVE_INFINITY:a,s=t.windowTime,l=void 0===s?Number.POSITIVE_INFINITY:s,c=t.refCount,u=t.scheduler,d=0,h=!1,p=!1,function(e){var t;d++,!n||h?(h=!1,n=new $.a(o,l,u),t=n.subscribe(this),i=e.subscribe({next:function(e){n.next(e)},error:function(e){h=!0,n.error(e)},complete:function(){p=!0,i=void 0,n.complete()}})):t=n.subscribe(this),this.add(function(){d--,t.unsubscribe(),i&&!p&&c&&0===d&&(i.unsubscribe(),i=void 0,n=void 0)})}));var t,n,i,a,o,s,l,c,u,d,h,p; -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */}}try{W="undefined"!=typeof Intl&&Intl.v8BreakIterator}catch(_t){W=!1}var Z,J,X,ee=function(){function e(e){this._platformId=e,this.isBrowser=this._platformId?Object(i.isPlatformBrowser)(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!W)&&"undefined"!=typeof CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}return e.ctorParameters=function(){return[{type:Object,decorators:[{type:r.Optional},{type:r.Inject,args:[r.PLATFORM_ID]}]}]},e.ɵprov=Object(r["ɵɵdefineInjectable"])({factory:function(){return new e(Object(r["ɵɵinject"])(r.PLATFORM_ID,8))},token:e,providedIn:"root"}),e.ɵfac=function(t){return new(t||e)(r["ɵɵinject"](r.PLATFORM_ID,8))},e}(),te=function(){function e(){}return e.ɵmod=r["ɵɵdefineNgModule"]({type:e}),e.ɵinj=r["ɵɵdefineInjector"]({factory:function(t){return new(t||e)}}),e}(); -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function ne(e){return function(){if(null==Z&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:function(){return Z=!0}}))}finally{Z=Z||!1}return Z}()?e:!!e.capture} -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function re(){if("object"!=typeof document||!document)return 0;if(null==J){var e=document.createElement("div"),t=e.style;e.dir="rtl",t.height="1px",t.width="1px",t.overflow="auto",t.visibility="hidden",t.pointerEvents="none",t.position="absolute";var n=document.createElement("div"),r=n.style;r.width="2px",r.height="1px",e.appendChild(n),document.body.appendChild(e),J=0,0===e.scrollLeft&&(e.scrollLeft=1,J=0===e.scrollLeft?1:2),e.parentNode.removeChild(e)}return J} -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function ie(e){if(function(){if(null==X){var e="undefined"!=typeof document?document.head:null;X=!(!e||!e.createShadowRoot&&!e.attachShadow)}return X}()){var t=e.getRootNode?e.getRootNode():null;if("undefined"!=typeof ShadowRoot&&ShadowRoot&&t instanceof ShadowRoot)return t}return null} -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var ae=new r.InjectionToken("cdk-dir-doc",{providedIn:"root",factory:function(){return Object(r.inject)(i.DOCUMENT)} -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */});var oe=function(){function e(e){if(this.value="ltr",this.change=new r.EventEmitter,e){var t=e.body?e.body.dir:null,n=e.documentElement?e.documentElement.dir:null,i=t||n;this.value="ltr"===i||"rtl"===i?i:"ltr"}}return e.prototype.ngOnDestroy=function(){this.change.complete()},e.ctorParameters=function(){return[{type:void 0,decorators:[{type:r.Optional},{type:r.Inject,args:[ae]}]}]},e.ɵprov=Object(r["ɵɵdefineInjectable"])({factory:function(){return new e(Object(r["ɵɵinject"])(ae,8))},token:e,providedIn:"root"}),e.ɵfac=function(t){return new(t||e)(r["ɵɵinject"](ae,8))},e}(),se=function(){function e(){this._dir="ltr",this._isInitialized=!1,this.change=new r.EventEmitter}return Object.defineProperty(e.prototype,"dir",{get:function(){return this._dir},set:function(e){var t=this._dir,n=e?e.toLowerCase():e;this._rawDir=e,this._dir="ltr"===n||"rtl"===n?n:"ltr",t!==this._dir&&this._isInitialized&&this.change.emit(this._dir)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this.dir},enumerable:!0,configurable:!0}),e.prototype.ngAfterContentInit=function(){this._isInitialized=!0},e.prototype.ngOnDestroy=function(){this.change.complete()},e.propDecorators={change:[{type:r.Output,args:["dirChange"]}],dir:[{type:r.Input}]},e.ɵfac=function(t){return new(t||e)},e.ɵdir=r["ɵɵdefineDirective"]({type:e,selectors:[["","dir",""]],hostVars:1,hostBindings:function(e,t){2&e&&r["ɵɵattribute"]("dir",t._rawDir)},inputs:{dir:"dir"},outputs:{change:"dirChange"},exportAs:["dir"],features:[r["ɵɵProvidersFeature"]([{provide:oe,useExisting:e}])]}),e}(),le=function(){function e(){}return e.ɵmod=r["ɵɵdefineNgModule"]({type:e}),e.ɵinj=r["ɵɵdefineInjector"]({factory:function(t){return new(t||e)}}),("undefined"==typeof ngJitMode||ngJitMode)&&r["ɵɵsetNgModuleScope"](e,{declarations:[se],exports:[se]}),e}(); -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -var ce=function(e){function t(t){var n=e.call(this)||this;return n._data=t,n}return Object(p.c)(t,e),t.prototype.connect=function(){return S(this._data)?this._data:Object(c.a)(this._data)},t.prototype.disconnect=function(){},t}(function(){return function(){}}()); -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */!function(){function e(e,t,n){var r=this;void 0===e&&(e=!1),void 0===n&&(n=!0),this._multiple=e,this._emitChanges=n,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new l.a,t&&t.length&&(e?t.forEach(function(e){return r._markSelected(e)}):this._markSelected(t[0]),this._selectedToEmit.length=0)}Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected},enumerable:!0,configurable:!0}),e.prototype.select=function(){for(var e=this,t=[],n=0;n1&&!this._multiple)throw Error("Cannot pass multiple values into SelectionModel with single-value mode.")}}();!function(){function e(){this._listeners=[]}e.prototype.notify=function(e,t){var n,r;try{for(var i=Object(p.h)(this._listeners),a=i.next();!a.done;a=i.next()){(0,a.value)(e,t)}}catch(o){n={error:o}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}},e.prototype.listen=function(e){var t=this;return this._listeners.push(e),function(){t._listeners=t._listeners.filter(function(t){return e!==t})}},e.prototype.ngOnDestroy=function(){this._listeners=[]},e.ɵprov=Object(r["ɵɵdefineInjectable"])({factory:function(){return new e},token:e,providedIn:"root"}),e.ɵfac=function(t){return new(t||e)}}(); -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var ue=["contentWrapper"],de=["*"],he=new r.InjectionToken("VIRTUAL_SCROLL_STRATEGY"),pe=function(){function e(e,t,n){var r,i;this._scrolledIndexChange=new l.a,this.scrolledIndexChange=this._scrolledIndexChange.pipe(function(e){return e.lift(new O(r,i))}),this._viewport=null,this._itemSize=e,this._minBufferPx=t,this._maxBufferPx=n}return e.prototype.attach=function(e){this._viewport=e,this._updateTotalContentSize(),this._updateRenderedRange()},e.prototype.detach=function(){this._scrolledIndexChange.complete(),this._viewport=null},e.prototype.updateItemAndBufferSize=function(e,t,n){if(n0&&(r.end=Math.min(a,r.end+c),r.start=Math.max(0,Math.floor(t-this._minBufferPx/this._itemSize)))}}this._viewport.setRenderedRange(r),this._viewport.setRenderedContentOffset(this._itemSize*r.start),this._scrolledIndexChange.next(Math.floor(t))}},e}();function fe(e){return e._scrollStrategy}var me=function(){function e(){this._itemSize=20,this._minBufferPx=100,this._maxBufferPx=200,this._scrollStrategy=new pe(this.itemSize,this.minBufferPx,this.maxBufferPx)}return Object.defineProperty(e.prototype,"itemSize",{get:function(){return this._itemSize},set:function(e){this._itemSize=o(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"minBufferPx",{get:function(){return this._minBufferPx},set:function(e){this._minBufferPx=o(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"maxBufferPx",{get:function(){return this._maxBufferPx},set:function(e){this._maxBufferPx=o(e)},enumerable:!0,configurable:!0}),e.prototype.ngOnChanges=function(){this._scrollStrategy.updateItemAndBufferSize(this.itemSize,this.minBufferPx,this.maxBufferPx)},e.propDecorators={itemSize:[{type:r.Input}],minBufferPx:[{type:r.Input}],maxBufferPx:[{type:r.Input}]},e.ɵfac=function(t){return new(t||e)},e.ɵdir=r["ɵɵdefineDirective"]({type:e,selectors:[["cdk-virtual-scroll-viewport","itemSize",""]],inputs:{itemSize:"itemSize",minBufferPx:"minBufferPx",maxBufferPx:"maxBufferPx"},features:[r["ɵɵProvidersFeature"]([{provide:he,useFactory:fe,deps:[Object(r.forwardRef)(function(){return e})]}]),r["ɵɵNgOnChangesFeature"]]}),e}(),ge=function(){function e(e,t,n){this._ngZone=e,this._platform=t,this._scrolled=new l.a,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=n}return e.prototype.register=function(e){var t=this;this.scrollContainers.has(e)||this.scrollContainers.set(e,e.elementScrolled().subscribe(function(){return t._scrolled.next(e)}))},e.prototype.deregister=function(e){var t=this.scrollContainers.get(e);t&&(t.unsubscribe(),this.scrollContainers.delete(e))},e.prototype.scrolled=function(e){var t=this;return void 0===e&&(e=20),this._platform.isBrowser?new u.a(function(n){t._globalSubscription||t._addGlobalListener();var r=e>0?t._scrolled.pipe(L(e)).subscribe(n):t._scrolled.subscribe(n);return t._scrolledCount++,function(){r.unsubscribe(),t._scrolledCount--,t._scrolledCount||t._removeGlobalListener()}}):Object(c.a)()},e.prototype.ngOnDestroy=function(){var e=this;this._removeGlobalListener(),this.scrollContainers.forEach(function(t,n){return e.deregister(n)}),this._scrolled.complete()},e.prototype.ancestorScrolled=function(e,t){var n=this.getAncestorScrollContainers(e);return this.scrolled(t).pipe(Object(B.a)(function(e){return!e||n.indexOf(e)>-1}))},e.prototype.getAncestorScrollContainers=function(e){var t=this,n=[];return this.scrollContainers.forEach(function(r,i){t._scrollableContainsElement(i,e)&&n.push(i)}),n},e.prototype._getDocument=function(){return this._document||document},e.prototype._getWindow=function(){return this._getDocument().defaultView||window},e.prototype._scrollableContainsElement=function(e,t){var n=t.nativeElement,r=e.getElementRef().nativeElement;do{if(n==r)return!0}while(n=n.parentElement);return!1},e.prototype._addGlobalListener=function(){var e=this;this._globalSubscription=this._ngZone.runOutsideAngular(function(){var t=e._getWindow();return Object(d.a)(t.document,"scroll").subscribe(function(){return e._scrolled.next()})})},e.prototype._removeGlobalListener=function(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)},e.ctorParameters=function(){return[{type:r.NgZone},{type:ee},{type:void 0,decorators:[{type:r.Optional},{type:r.Inject,args:[i.DOCUMENT]}]}]},e.ɵprov=Object(r["ɵɵdefineInjectable"])({factory:function(){return new e(Object(r["ɵɵinject"])(r.NgZone),Object(r["ɵɵinject"])(ee),Object(r["ɵɵinject"])(i.DOCUMENT,8))},token:e,providedIn:"root"}),e.ɵfac=function(t){return new(t||e)(r["ɵɵinject"](r.NgZone),r["ɵɵinject"](ee),r["ɵɵinject"](i.DOCUMENT,8))},e}(),ye=function(){function e(e,t,n,r){var i=this;this.elementRef=e,this.scrollDispatcher=t,this.ngZone=n,this.dir=r,this._destroyed=new l.a,this._elementScrolled=new u.a(function(e){return i.ngZone.runOutsideAngular(function(){return Object(d.a)(i.elementRef.nativeElement,"scroll").pipe(F(i._destroyed)).subscribe(e)})})}return e.prototype.ngOnInit=function(){this.scrollDispatcher.register(this)},e.prototype.ngOnDestroy=function(){this.scrollDispatcher.deregister(this),this._destroyed.next(),this._destroyed.complete()},e.prototype.elementScrolled=function(){return this._elementScrolled},e.prototype.getElementRef=function(){return this.elementRef},e.prototype.scrollTo=function(e){var t=this.elementRef.nativeElement,n=this.dir&&"rtl"==this.dir.value;null==e.left&&(e.left=n?e.end:e.start),null==e.right&&(e.right=n?e.start:e.end),null!=e.bottom&&(e.top=t.scrollHeight-t.clientHeight-e.bottom),n&&0!=re()?(null!=e.left&&(e.right=t.scrollWidth-t.clientWidth-e.left),2==re()?e.left=e.right:1==re()&&(e.left=e.right?-e.right:e.right)):null!=e.right&&(e.left=t.scrollWidth-t.clientWidth-e.right),this._applyScrollToOptions(e)},e.prototype._applyScrollToOptions=function(e){var t=this.elementRef.nativeElement;"object"==typeof document&&"scrollBehavior"in document.documentElement.style?t.scrollTo(e):(null!=e.top&&(t.scrollTop=e.top),null!=e.left&&(t.scrollLeft=e.left))},e.prototype.measureScrollOffset=function(e){var t=this.elementRef.nativeElement;if("top"==e)return t.scrollTop;if("bottom"==e)return t.scrollHeight-t.clientHeight-t.scrollTop;var n=this.dir&&"rtl"==this.dir.value;return"start"==e?e=n?"right":"left":"end"==e&&(e=n?"left":"right"),n&&2==re()?"left"==e?t.scrollWidth-t.clientWidth-t.scrollLeft:t.scrollLeft:n&&1==re()?"left"==e?t.scrollLeft+t.scrollWidth-t.clientWidth:-t.scrollLeft:"left"==e?t.scrollLeft:t.scrollWidth-t.clientWidth-t.scrollLeft},e.ctorParameters=function(){return[{type:r.ElementRef},{type:ge},{type:r.NgZone},{type:oe,decorators:[{type:r.Optional}]}]},e.ɵfac=function(t){return new(t||e)(r["ɵɵdirectiveInject"](r.ElementRef),r["ɵɵdirectiveInject"](ge),r["ɵɵdirectiveInject"](r.NgZone),r["ɵɵdirectiveInject"](oe,8))},e.ɵdir=r["ɵɵdefineDirective"]({type:e,selectors:[["","cdk-scrollable",""],["","cdkScrollable",""]]}),e}(),be=function(){function e(e,t,n){var r=this;this._platform=e,this._document=n,t.runOutsideAngular(function(){var t=r._getWindow();r._change=e.isBrowser?Object(h.a)(Object(d.a)(t,"resize"),Object(d.a)(t,"orientationchange")):Object(c.a)(),r._invalidateCache=r.change().subscribe(function(){return r._updateViewportSize()})})}return e.prototype.ngOnDestroy=function(){this._invalidateCache.unsubscribe()},e.prototype.getViewportSize=function(){this._viewportSize||this._updateViewportSize();var e={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),e},e.prototype.getViewportRect=function(){var e=this.getViewportScrollPosition(),t=this.getViewportSize(),n=t.width,r=t.height;return{top:e.top,left:e.left,bottom:e.top+r,right:e.left+n,height:r,width:n}},e.prototype.getViewportScrollPosition=function(){if(!this._platform.isBrowser)return{top:0,left:0};var e=this._getDocument(),t=this._getWindow(),n=e.documentElement,r=n.getBoundingClientRect();return{top:-r.top||e.body.scrollTop||t.scrollY||n.scrollTop||0,left:-r.left||e.body.scrollLeft||t.scrollX||n.scrollLeft||0}},e.prototype.change=function(e){return void 0===e&&(e=20),e>0?this._change.pipe(L(e)):this._change},e.prototype._getDocument=function(){return this._document||document},e.prototype._getWindow=function(){return this._getDocument().defaultView||window},e.prototype._updateViewportSize=function(){var e=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:e.innerWidth,height:e.innerHeight}:{width:0,height:0}},e.ctorParameters=function(){return[{type:ee},{type:r.NgZone},{type:void 0,decorators:[{type:r.Optional},{type:r.Inject,args:[i.DOCUMENT]}]}]},e.ɵprov=Object(r["ɵɵdefineInjectable"])({factory:function(){return new e(Object(r["ɵɵinject"])(ee),Object(r["ɵɵinject"])(r.NgZone),Object(r["ɵɵinject"])(i.DOCUMENT,8))},token:e,providedIn:"root"}),e.ɵfac=function(t){return new(t||e)(r["ɵɵinject"](ee),r["ɵɵinject"](r.NgZone),r["ɵɵinject"](i.DOCUMENT,8))},e}(); -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var ve="undefined"!=typeof requestAnimationFrame?y:E,ke=function(e){function t(t,n,r,i,a,o,s){var c=e.call(this,t,o,r,a)||this;if(c.elementRef=t,c._changeDetectorRef=n,c._scrollStrategy=i,c._detachedSubject=new l.a,c._renderedRangeSubject=new l.a,c._orientation="vertical",c.scrolledIndexChange=new u.a(function(e){return c._scrollStrategy.scrolledIndexChange.subscribe(function(t){return Promise.resolve().then(function(){return c.ngZone.run(function(){return e.next(t)})})})}),c.renderedRangeStream=c._renderedRangeSubject.asObservable(),c._totalContentSize=0,c._totalContentWidth="",c._totalContentHeight="",c._renderedRange={start:0,end:0},c._dataLength=0,c._viewportSize=0,c._renderedContentOffset=0,c._renderedContentOffsetNeedsRewrite=!1,c._isChangeDetectionPending=!1,c._runAfterChangeDetection=[],c._viewportChanges=x.a.EMPTY,!i)throw Error('Error: cdk-virtual-scroll-viewport requires the "itemSize" property to be set.');return s&&(c._viewportChanges=s.change().subscribe(function(){c.checkViewportSize()})),c}return Object(p.c)(t,e),Object.defineProperty(t.prototype,"orientation",{get:function(){return this._orientation},set:function(e){this._orientation!==e&&(this._orientation=e,this._calculateSpacerSize())},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){var t=this;e.prototype.ngOnInit.call(this),this.ngZone.runOutsideAngular(function(){return Promise.resolve().then(function(){t._measureViewportSize(),t._scrollStrategy.attach(t),t.elementScrolled().pipe(Object(H.a)(null),L(0,ve)).subscribe(function(){return t._scrollStrategy.onContentScrolled()}),t._markChangeDetectionNeeded()})})},t.prototype.ngOnDestroy=function(){this.detach(),this._scrollStrategy.detach(),this._renderedRangeSubject.complete(),this._detachedSubject.complete(),this._viewportChanges.unsubscribe(),e.prototype.ngOnDestroy.call(this)},t.prototype.attach=function(e){var t=this;if(this._forOf)throw Error("CdkVirtualScrollViewport is already attached.");this.ngZone.runOutsideAngular(function(){t._forOf=e,t._forOf.dataStream.pipe(F(t._detachedSubject)).subscribe(function(e){var n=e.length;n!==t._dataLength&&(t._dataLength=n,t._scrollStrategy.onDataLengthChanged()),t._doChangeDetection()})})},t.prototype.detach=function(){this._forOf=null,this._detachedSubject.next()},t.prototype.getDataLength=function(){return this._dataLength},t.prototype.getViewportSize=function(){return this._viewportSize},t.prototype.getRenderedRange=function(){return this._renderedRange},t.prototype.setTotalContentSize=function(e){this._totalContentSize!==e&&(this._totalContentSize=e,this._calculateSpacerSize(),this._markChangeDetectionNeeded())},t.prototype.setRenderedRange=function(e){var t,n,r=this;t=this._renderedRange,n=e,(t.start!=n.start||t.end!=n.end)&&(this._renderedRangeSubject.next(this._renderedRange=e),this._markChangeDetectionNeeded(function(){return r._scrollStrategy.onContentRendered()}))},t.prototype.getOffsetToRenderedContentStart=function(){return this._renderedContentOffsetNeedsRewrite?null:this._renderedContentOffset},t.prototype.setRenderedContentOffset=function(e,t){var n=this;void 0===t&&(t="to-start");var r=this.dir&&"rtl"==this.dir.value,i="horizontal"==this.orientation,a=i?"X":"Y",o="translate"+a+"("+Number((i&&r?-1:1)*e)+"px)";this._renderedContentOffset=e,"to-end"===t&&(o+=" translate"+a+"(-100%)",this._renderedContentOffsetNeedsRewrite=!0),this._renderedContentTransform!=o&&(this._renderedContentTransform=o,this._markChangeDetectionNeeded(function(){n._renderedContentOffsetNeedsRewrite?(n._renderedContentOffset-=n.measureRenderedContentSize(),n._renderedContentOffsetNeedsRewrite=!1,n.setRenderedContentOffset(n._renderedContentOffset)):n._scrollStrategy.onRenderedOffsetChanged()}))},t.prototype.scrollToOffset=function(e,t){void 0===t&&(t="auto");var n={behavior:t};"horizontal"===this.orientation?n.start=e:n.top=e,this.scrollTo(n)},t.prototype.scrollToIndex=function(e,t){void 0===t&&(t="auto"),this._scrollStrategy.scrollToIndex(e,t)},t.prototype.measureScrollOffset=function(t){return t?e.prototype.measureScrollOffset.call(this,t):e.prototype.measureScrollOffset.call(this,"horizontal"===this.orientation?"start":"top")},t.prototype.measureRenderedContentSize=function(){var e=this._contentWrapper.nativeElement;return"horizontal"===this.orientation?e.offsetWidth:e.offsetHeight},t.prototype.measureRangeSize=function(e){return this._forOf?this._forOf.measureRangeSize(e,this.orientation):0},t.prototype.checkViewportSize=function(){this._measureViewportSize(),this._scrollStrategy.onDataLengthChanged()},t.prototype._measureViewportSize=function(){var e=this.elementRef.nativeElement;this._viewportSize="horizontal"===this.orientation?e.clientWidth:e.clientHeight},t.prototype._markChangeDetectionNeeded=function(e){var t=this;e&&this._runAfterChangeDetection.push(e),this._isChangeDetectionPending||(this._isChangeDetectionPending=!0,this.ngZone.runOutsideAngular(function(){return Promise.resolve().then(function(){t._doChangeDetection()})}))},t.prototype._doChangeDetection=function(){var e,t,n=this;this._isChangeDetectionPending=!1,this._contentWrapper.nativeElement.style.transform=this._renderedContentTransform,this.ngZone.run(function(){return n._changeDetectorRef.markForCheck()});var r=this._runAfterChangeDetection;this._runAfterChangeDetection=[];try{for(var i=Object(p.h)(r),a=i.next();!a.done;a=i.next()){(0,a.value)()}}catch(o){e={error:o}}finally{try{a&&!a.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}},t.prototype._calculateSpacerSize=function(){this._totalContentHeight="horizontal"===this.orientation?"":this._totalContentSize+"px",this._totalContentWidth="horizontal"===this.orientation?this._totalContentSize+"px":""},t.ctorParameters=function(){return[{type:r.ElementRef},{type:r.ChangeDetectorRef},{type:r.NgZone},{type:void 0,decorators:[{type:r.Optional},{type:r.Inject,args:[he]}]},{type:oe,decorators:[{type:r.Optional}]},{type:ge},{type:be,decorators:[{type:r.Optional}]}]},t.propDecorators={orientation:[{type:r.Input}],scrolledIndexChange:[{type:r.Output}],_contentWrapper:[{type:r.ViewChild,args:["contentWrapper",{static:!0}]}]},t.ɵfac=function(e){return new(e||t)(r["ɵɵdirectiveInject"](r.ElementRef),r["ɵɵdirectiveInject"](r.ChangeDetectorRef),r["ɵɵdirectiveInject"](r.NgZone),r["ɵɵdirectiveInject"](he,8),r["ɵɵdirectiveInject"](oe,8),r["ɵɵdirectiveInject"](ge),r["ɵɵdirectiveInject"](be,8))},t.ɵcmp=r["ɵɵdefineComponent"]({type:t,selectors:[["cdk-virtual-scroll-viewport"]],viewQuery:function(e,t){var n;(1&e&&r["ɵɵstaticViewQuery"](ue,!0),2&e)&&(r["ɵɵqueryRefresh"](n=r["ɵɵloadQuery"]())&&(t._contentWrapper=n.first))},hostAttrs:[1,"cdk-virtual-scroll-viewport"],hostVars:4,hostBindings:function(e,t){2&e&&r["ɵɵclassProp"]("cdk-virtual-scroll-orientation-horizontal","horizontal"===t.orientation)("cdk-virtual-scroll-orientation-vertical","horizontal"!==t.orientation)},inputs:{orientation:"orientation"},outputs:{scrolledIndexChange:"scrolledIndexChange"},features:[r["ɵɵProvidersFeature"]([{provide:ye,useExisting:t}]),r["ɵɵInheritDefinitionFeature"]],ngContentSelectors:de,decls:10,vars:4,consts:[[1,"cdk-virtual-scroll-content-wrapper"],["contentWrapper",""],[1,"cdk-virtual-scroll-spacer"]],template:function(e,t){1&e&&(r["ɵɵprojectionDef"](),r["ɵɵtext"](0,"\n"),r["ɵɵelementStart"](1,"div",0,1),r["ɵɵtext"](3,"\n "),r["ɵɵprojection"](4),r["ɵɵtext"](5,"\n"),r["ɵɵelementEnd"](),r["ɵɵtext"](6,"\n"),r["ɵɵtext"](7,"\n"),r["ɵɵelement"](8,"div",2),r["ɵɵtext"](9,"\n")),2&e&&(r["ɵɵadvance"](8),r["ɵɵstyleProp"]("width",t._totalContentWidth)("height",t._totalContentHeight))},styles:["cdk-virtual-scroll-viewport{display:block;position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0}[dir=rtl] .cdk-virtual-scroll-spacer{right:0;left:auto;transform-origin:100% 0}\n"],encapsulation:2,changeDetection:0}),t}(ye); -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -function we(e,t){var n=t;if(!n.getBoundingClientRect)return 0;var r=n.getBoundingClientRect();return"horizontal"==e?r.width:r.height}var _e=function(){function e(e,t,n,r,i){var a=this;this._viewContainerRef=e,this._template=t,this._differs=n,this._viewport=r,this.viewChange=new l.a,this._dataSourceChanges=new l.a,this.cdkVirtualForTemplateCacheSize=20,this.dataStream=this._dataSourceChanges.pipe(Object(H.a)(null),function(e){return e.lift(new K)},Object(Q.a)(function(e){var t=Object(p.f)(e,2),n=t[0],r=t[1];return a._changeDataSource(n,r)}),Y(1)),this._differ=null,this._templateCache=[],this._needsUpdate=!1,this._destroyed=new l.a,this.dataStream.subscribe(function(e){a._data=e,a._onRenderedDataChange()}),this._viewport.renderedRangeStream.pipe(F(this._destroyed)).subscribe(function(e){a._renderedRange=e,i.run(function(){return a.viewChange.next(a._renderedRange)}),a._onRenderedDataChange()}),this._viewport.attach(this)}return Object.defineProperty(e.prototype,"cdkVirtualForOf",{get:function(){return this._cdkVirtualForOf},set:function(e){this._cdkVirtualForOf=e,!function(e){return e&&"function"==typeof e.connect}(e)?this._dataSourceChanges.next(new ce(S(e)?e:Array.prototype.slice.call(e||[]))):this._dataSourceChanges.next(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"cdkVirtualForTrackBy",{get:function(){return this._cdkVirtualForTrackBy},set:function(e){var t=this;this._needsUpdate=!0,this._cdkVirtualForTrackBy=e?function(n,r){return e(n+(t._renderedRange?t._renderedRange.start:0),r)}:void 0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"cdkVirtualForTemplate",{set:function(e){e&&(this._needsUpdate=!0,this._template=e)},enumerable:!0,configurable:!0}),e.prototype.measureRangeSize=function(e,t){if(e.start>=e.end)return 0;if(e.startthis._renderedRange.end)throw Error("Error: attempted to measure an item that isn't rendered.");for(var n=e.start-this._renderedRange.start,r=0,i=e.end-e.start;i--;)for(var a=this._viewContainerRef.get(i+n),o=a?a.rootNodes.length:0;o--;)r+=we(t,a.rootNodes[o]);return r},e.prototype.ngDoCheck=function(){if(this._differ&&this._needsUpdate){var e=this._differ.diff(this._renderedItems);e?this._applyChanges(e):this._updateContext(),this._needsUpdate=!1}},e.prototype.ngOnDestroy=function(){var e,t;this._viewport.detach(),this._dataSourceChanges.next(),this._dataSourceChanges.complete(),this.viewChange.complete(),this._destroyed.next(),this._destroyed.complete();try{for(var n=Object(p.h)(this._templateCache),r=n.next();!r.done;r=n.next()){r.value.destroy()}}catch(i){e={error:i}}finally{try{r&&!r.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}},e.prototype._onRenderedDataChange=function(){this._renderedRange&&(this._renderedItems=this._data.slice(this._renderedRange.start,this._renderedRange.end),this._differ||(this._differ=this._differs.find(this._renderedItems).create(this.cdkVirtualForTrackBy)),this._needsUpdate=!0)},e.prototype._changeDataSource=function(e,t){return e&&e.disconnect(this),this._needsUpdate=!0,t?t.connect(this):Object(c.a)()},e.prototype._updateContext=function(){for(var e=this._data.length,t=this._viewContainerRef.length;t--;){var n=this._viewContainerRef.get(t);n.context.index=this._renderedRange.start+t,n.context.count=e,this._updateComputedContextProperties(n.context),n.detectChanges()}},e.prototype._applyChanges=function(e){var t=this;e.forEachOperation(function(e,n,r){if(null==e.previousIndex)(i=t._insertViewForNewItem(r)).context.$implicit=e.item;else if(null==r)t._cacheView(t._detachView(n));else{var i=t._viewContainerRef.get(n);t._viewContainerRef.move(i,r),i.context.$implicit=e.item}}),e.forEachIdentityChange(function(e){t._viewContainerRef.get(e.currentIndex).context.$implicit=e.item});for(var n=this._data.length,r=this._viewContainerRef.length;r--;){var i=this._viewContainerRef.get(r);i.context.index=this._renderedRange.start+r,i.context.count=n,this._updateComputedContextProperties(i.context)}},e.prototype._cacheView=function(e){if(this._templateCache.length-1?1:1e3;return parseFloat(e)*t}function ze(e,t){return e.getPropertyValue(t).split(",").map(function(e){return e.trim()})} -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function De(e){var t=e.getBoundingClientRect();return{top:t.top,right:t.right,bottom:t.bottom,left:t.left,width:t.width,height:t.height}}function Ae(e,t,n){var r=e.top,i=e.bottom,a=e.left,o=e.right;return n>=r&&n<=i&&t>=a&&t<=o}function Ne(e,t,n){e.top+=t,e.bottom=e.top+e.height,e.left+=n,e.right=e.left+e.width}function Pe(e,t,n,r){var i=e.top,a=e.right,o=e.bottom,s=e.left,l=e.width*t,c=e.height*t;return r>i-c&&rs-l&&n=o._config.dragStartThreshold){if(!(Date.now()>=o._dragStartTime+o._getDragStartDelay(e)))return void o._endDragSequence(e);o._dropContainer&&o._dropContainer.isDragging()||(o._hasStartedDragging=!0,o._ngZone.run(function(){return o._startDragSequence(e)}))}}},this._pointerUp=function(e){o._endDragSequence(e)},this.withRootElement(e),this._parentPositions=new Re(n,i),a.registerDragItem(this)}return Object.defineProperty(e.prototype,"disabled",{get:function(){return this._disabled||!(!this._dropContainer||!this._dropContainer.disabled)},set:function(e){var t=a(e);t!==this._disabled&&(this._disabled=t,this._toggleNativeDragInteractions())},enumerable:!0,configurable:!0}),e.prototype.getPlaceholderElement=function(){return this._placeholder},e.prototype.getRootElement=function(){return this._rootElement},e.prototype.getVisibleElement=function(){return this.isDragging()?this.getPlaceholderElement():this.getRootElement()},e.prototype.withHandles=function(e){return this._handles=e.map(function(e){return s(e)}),this._handles.forEach(function(e){return Oe(e,!1)}),this._toggleNativeDragInteractions(),this},e.prototype.withPreviewTemplate=function(e){return this._previewTemplate=e,this},e.prototype.withPlaceholderTemplate=function(e){return this._placeholderTemplate=e,this},e.prototype.withRootElement=function(e){var t=this,n=s(e);return n!==this._rootElement&&(this._rootElement&&this._removeRootElementListeners(this._rootElement),this._ngZone.runOutsideAngular(function(){n.addEventListener("mousedown",t._pointerDown,qe),n.addEventListener("touchstart",t._pointerDown,Me)}),this._initialTransform=void 0,this._rootElement=n),this},e.prototype.withBoundaryElement=function(e){var t=this;return this._boundaryElement=e?s(e):null,this._resizeSubscription.unsubscribe(),e&&(this._resizeSubscription=this._viewportRuler.change(10).subscribe(function(){return t._containInsideBoundaryOnResize()})),this},e.prototype.dispose=function(){this._removeRootElementListeners(this._rootElement),this.isDragging()&&Ue(this._rootElement),Ue(this._anchor),this._destroyPreview(),this._destroyPlaceholder(),this._dragDropRegistry.removeDragItem(this),this._removeSubscriptions(),this.beforeStarted.complete(),this.started.complete(),this.released.complete(),this.ended.complete(),this.entered.complete(),this.exited.complete(),this.dropped.complete(),this._moveEvents.complete(),this._handles=[],this._disabledHandles.clear(),this._dropContainer=void 0,this._resizeSubscription.unsubscribe(),this._parentPositions.clear(),this._boundaryElement=this._rootElement=this._placeholderTemplate=this._previewTemplate=this._anchor=null},e.prototype.isDragging=function(){return this._hasStartedDragging&&this._dragDropRegistry.isDragging(this)},e.prototype.reset=function(){this._rootElement.style.transform=this._initialTransform||"",this._activeTransform={x:0,y:0},this._passiveTransform={x:0,y:0}},e.prototype.disableHandle=function(e){this._handles.indexOf(e)>-1&&this._disabledHandles.add(e)},e.prototype.enableHandle=function(e){this._disabledHandles.delete(e)},e.prototype.withDirection=function(e){return this._direction=e,this},e.prototype._withDropContainer=function(e){this._dropContainer=e},e.prototype.getFreeDragPosition=function(){var e=this.isDragging()?this._activeTransform:this._passiveTransform;return{x:e.x,y:e.y}},e.prototype.setFreeDragPosition=function(e){return this._activeTransform={x:0,y:0},this._passiveTransform.x=e.x,this._passiveTransform.y=e.y,this._dropContainer||this._applyRootElementTransform(e.x,e.y),this},e.prototype._sortFromLastPointerPosition=function(){var e=this._pointerPositionAtLastDirectionChange;e&&this._dropContainer&&this._updateActiveDropContainer(this._getConstrainedPointerPosition(e))},e.prototype._removeSubscriptions=function(){this._pointerMoveSubscription.unsubscribe(),this._pointerUpSubscription.unsubscribe(),this._scrollSubscription.unsubscribe()},e.prototype._destroyPreview=function(){this._preview&&Ue(this._preview),this._previewRef&&this._previewRef.destroy(),this._preview=this._previewRef=null},e.prototype._destroyPlaceholder=function(){this._placeholder&&Ue(this._placeholder),this._placeholderRef&&this._placeholderRef.destroy(),this._placeholder=this._placeholderRef=null},e.prototype._endDragSequence=function(e){var t=this;this._dragDropRegistry.isDragging(this)&&(this._removeSubscriptions(),this._dragDropRegistry.stopDragging(this),this._toggleNativeDragInteractions(),this._handles&&(this._rootElement.style.webkitTapHighlightColor=this._rootElementTapHighlight),this._hasStartedDragging&&(this.released.next({source:this}),this._dropContainer?(this._dropContainer._stopScrolling(),this._animatePreviewToPlaceholder().then(function(){t._cleanupDragArtifacts(e),t._cleanupCachedDimensions(),t._dragDropRegistry.stopDragging(t)})):(this._passiveTransform.x=this._activeTransform.x,this._passiveTransform.y=this._activeTransform.y,this._ngZone.run(function(){t.ended.next({source:t,distance:t._getDragDistance(t._getPointerPositionOnPage(e))})}),this._cleanupCachedDimensions(),this._dragDropRegistry.stopDragging(this))))},e.prototype._startDragSequence=function(e){this.started.next({source:this}),He(e)&&(this._lastTouchEventTime=Date.now()),this._toggleNativeDragInteractions();var t,n=this._dropContainer;if(n){var r=this._rootElement,i=r.parentNode,a=this._preview=this._createPreviewElement(),o=this._placeholder=this._createPlaceholderElement(),s=this._anchor=this._anchor||this._document.createComment("");i.insertBefore(s,r),r.style.display="none",this._document.body.appendChild(i.replaceChild(o,r)),(t=this._document,t.fullscreenElement||t.webkitFullscreenElement||t.mozFullScreenElement||t.msFullscreenElement||t.body).appendChild(a),n.start(),this._initialContainer=n,this._initialIndex=n.getItemIndex(this)}else this._initialContainer=this._initialIndex=void 0;this._parentPositions.cache(n?n.getScrollableParents():[])},e.prototype._initializeDragSequence=function(e,t){var n=this;t.stopPropagation();var r=this.isDragging(),i=He(t),a=!i&&0!==t.button,o=this._rootElement,s=!i&&this._lastTouchEventTime&&this._lastTouchEventTime+800>Date.now();if(t.target&&t.target.draggable&&"mousedown"===t.type&&t.preventDefault(),!(r||a||s)){this._handles.length&&(this._rootElementTapHighlight=o.style.webkitTapHighlightColor,o.style.webkitTapHighlightColor="transparent"),this._hasStartedDragging=this._hasMoved=!1,this._removeSubscriptions(),this._pointerMoveSubscription=this._dragDropRegistry.pointerMove.subscribe(this._pointerMove),this._pointerUpSubscription=this._dragDropRegistry.pointerUp.subscribe(this._pointerUp),this._scrollSubscription=this._dragDropRegistry.scroll.subscribe(function(e){n._updateOnScroll(e)}),this._boundaryElement&&(this._boundaryRect=De(this._boundaryElement));var l=this._previewTemplate;this._pickupPositionInElement=l&&l.template&&!l.matchSize?{x:0,y:0}:this._getPointerPositionInElement(e,t);var c=this._pickupPositionOnPage=this._getPointerPositionOnPage(t);this._pointerDirectionDelta={x:0,y:0},this._pointerPositionAtLastDirectionChange={x:c.x,y:c.y},this._dragStartTime=Date.now(),this._dragDropRegistry.startDragging(this,t)}},e.prototype._cleanupDragArtifacts=function(e){var t=this;this._rootElement.style.display="",this._anchor.parentNode.replaceChild(this._rootElement,this._anchor),this._destroyPreview(),this._destroyPlaceholder(),this._boundaryRect=this._previewRect=void 0,this._ngZone.run(function(){var n=t._dropContainer,r=n.getItemIndex(t),i=t._getPointerPositionOnPage(e),a=t._getDragDistance(t._getPointerPositionOnPage(e)),o=n._isOverContainer(i.x,i.y);t.ended.next({source:t,distance:a}),t.dropped.next({item:t,currentIndex:r,previousIndex:t._initialIndex,container:n,previousContainer:t._initialContainer,isPointerOverContainer:o,distance:a}),n.drop(t,r,t._initialContainer,o,a,t._initialIndex),t._dropContainer=t._initialContainer})},e.prototype._updateActiveDropContainer=function(e){var t=this,n=e.x,r=e.y,i=this._initialContainer._getSiblingContainerFromPosition(this,n,r);!i&&this._dropContainer!==this._initialContainer&&this._initialContainer._isOverContainer(n,r)&&(i=this._initialContainer),i&&i!==this._dropContainer&&this._ngZone.run(function(){t.exited.next({item:t,container:t._dropContainer}),t._dropContainer.exit(t),t._dropContainer=i,t._dropContainer.enter(t,n,r,i===t._initialContainer&&i.sortingDisabled?t._initialIndex:void 0),t.entered.next({item:t,container:i,currentIndex:i.getItemIndex(t)})}),this._dropContainer._startScrollingIfNecessary(n,r),this._dropContainer._sortItem(this,n,r,this._pointerDirectionDelta),this._preview.style.transform=Be(n-this._pickupPositionInElement.x,r-this._pickupPositionInElement.y)},e.prototype._createPreviewElement=function(){var e,t=this._previewTemplate,n=this.previewClass,r=t?t.template:null;if(r&&t){var i=t.matchSize?this._rootElement.getBoundingClientRect():null,a=t.viewContainer.createEmbeddedView(r,t.context);a.detectChanges(),e=We(a,this._document),this._previewRef=a,t.matchSize?Ke(e,i):e.style.transform=Be(this._pickupPositionOnPage.x,this._pickupPositionOnPage.y)}else{var o=this._rootElement;Ke(e=Fe(o),o.getBoundingClientRect())}return Te(e.style,{pointerEvents:"none",margin:"0",position:"fixed",top:"0",left:"0",zIndex:""+(this._config.zIndex||1e3)}),Oe(e,!1),e.classList.add("cdk-drag-preview"),e.setAttribute("dir",this._direction),n&&(Array.isArray(n)?n.forEach(function(t){return e.classList.add(t)}):e.classList.add(n)),e},e.prototype._animatePreviewToPlaceholder=function(){var e=this;if(!this._hasMoved)return Promise.resolve();var t=this._placeholder.getBoundingClientRect();this._preview.classList.add("cdk-drag-animating"),this._preview.style.transform=Be(t.left,t.top);var n=function(e){var t=getComputedStyle(e),n=ze(t,"transition-property"),r=n.find(function(e){return"transform"===e||"all"===e});if(!r)return 0;var i=n.indexOf(r),a=ze(t,"transition-duration"),o=ze(t,"transition-delay");return Ie(a[i])+Ie(o[i])}(this._preview);return 0===n?Promise.resolve():this._ngZone.runOutsideAngular(function(){return new Promise(function(t){var r=function(n){(!n||n.target===e._preview&&"transform"===n.propertyName)&&(e._preview.removeEventListener("transitionend",r),t(),clearTimeout(i))},i=setTimeout(r,1.5*n);e._preview.addEventListener("transitionend",r)})})},e.prototype._createPlaceholderElement=function(){var e,t=this._placeholderTemplate,n=t?t.template:null;return n?(this._placeholderRef=t.viewContainer.createEmbeddedView(n,t.context),this._placeholderRef.detectChanges(),e=We(this._placeholderRef,this._document)):e=Fe(this._rootElement),e.classList.add("cdk-drag-placeholder"),e},e.prototype._getPointerPositionInElement=function(e,t){var n=this._rootElement.getBoundingClientRect(),r=e===this._rootElement?null:e,i=r?r.getBoundingClientRect():n,a=He(t)?t.targetTouches[0]:t,o=this._getViewportScrollPosition(),s=a.pageX-i.left-o.left,l=a.pageY-i.top-o.top;return{x:i.left-n.left+s,y:i.top-n.top+l}},e.prototype._getPointerPositionOnPage=function(e){var t=He(e)?e.touches[0]||e.changedTouches[0]:e,n=this._getViewportScrollPosition();return{x:t.pageX-n.left,y:t.pageY-n.top}},e.prototype._getConstrainedPointerPosition=function(e){var t=this.constrainPosition?this.constrainPosition(e,this):e,n=this._dropContainer?this._dropContainer.lockAxis:null;if("x"===this.lockAxis||"x"===n?t.y=this._pickupPositionOnPage.y:"y"!==this.lockAxis&&"y"!==n||(t.x=this._pickupPositionOnPage.x),this._boundaryRect){var r=this._pickupPositionInElement,i=r.x,a=r.y,o=this._boundaryRect,s=this._previewRect,l=o.top+a,c=o.bottom-(s.height-a),u=o.left+i,d=o.right-(s.width-i);t.x=Ve(t.x,u,d),t.y=Ve(t.y,l,c)}return t},e.prototype._updatePointerDirectionDelta=function(e){var t=e.x,n=e.y,r=this._pointerDirectionDelta,i=this._pointerPositionAtLastDirectionChange,a=Math.abs(t-i.x),o=Math.abs(n-i.y);return a>this._config.pointerDirectionChangeThreshold&&(r.x=t>i.x?1:-1,i.x=t),o>this._config.pointerDirectionChangeThreshold&&(r.y=n>i.y?1:-1,i.y=n),r},e.prototype._toggleNativeDragInteractions=function(){if(this._rootElement&&this._handles){var e=this._handles.length>0||!this.isDragging();e!==this._nativeInteractionsEnabled&&(this._nativeInteractionsEnabled=e,Oe(this._rootElement,e))}},e.prototype._removeRootElementListeners=function(e){e.removeEventListener("mousedown",this._pointerDown,qe),e.removeEventListener("touchstart",this._pointerDown,Me)},e.prototype._applyRootElementTransform=function(e,t){var n=Be(e,t);null==this._initialTransform&&(this._initialTransform=this._rootElement.style.transform||""),this._rootElement.style.transform=this._initialTransform?n+" "+this._initialTransform:n},e.prototype._getDragDistance=function(e){var t=this._pickupPositionOnPage;return t?{x:e.x-t.x,y:e.y-t.y}:{x:0,y:0}},e.prototype._cleanupCachedDimensions=function(){this._boundaryRect=this._previewRect=void 0,this._parentPositions.clear()},e.prototype._containInsideBoundaryOnResize=function(){var e=this._passiveTransform,t=e.x,n=e.y;if(!(0===t&&0===n||this.isDragging())&&this._boundaryElement){var r=this._boundaryElement.getBoundingClientRect(),i=this._rootElement.getBoundingClientRect();if(!(0===r.width&&0===r.height||0===i.width&&0===i.height)){var a=r.left-i.left,o=i.right-r.right,s=r.top-i.top,l=i.bottom-r.bottom;r.width>i.width?(a>0&&(t+=a),o>0&&(t-=o)):t=0,r.height>i.height?(s>0&&(n+=s),l>0&&(n-=l)):n=0,t===this._passiveTransform.x&&n===this._passiveTransform.y||this.setFreeDragPosition({y:n,x:t})}}},e.prototype._getDragStartDelay=function(e){var t=this.dragStartDelay;return"number"==typeof t?t:He(e)?t.touch:t?t.mouse:0},e.prototype._updateOnScroll=function(e){var t=this._parentPositions.handleScroll(e);this._boundaryRect&&t&&Ne(this._boundaryRect,t.top,t.left)},e.prototype._getViewportScrollPosition=function(){var e=this._parentPositions.positions.get(this._document);return e?e.scrollPosition:this._viewportRuler.getViewportScrollPosition()},e}(); -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */function Be(e,t){return"translate3d("+Math.round(e)+"px, "+Math.round(t)+"px, 0)"}function Fe(e){var t=e.cloneNode(!0),n=t.querySelectorAll("[id]"),r=e.querySelectorAll("canvas");t.removeAttribute("id");for(var i=0;i-1&&a.splice(o,1),c&&!this._dragDropRegistry.isDragging(c)){(u=c.getRootElement()).parentElement.insertBefore(l,u),a.splice(i,0,e)}else{var u=s(this.element);this._shouldEnterAsFirstChild(t,n)?(u.insertBefore(l,a[0].getRootElement()),a.unshift(e)):(u.appendChild(l),a.push(e))}l.style.transform="",this._cacheItemPositions(),this._cacheParentPositions(),this.entered.next({item:e,container:this,currentIndex:this.getItemIndex(e)})},e.prototype.exit=function(e){this._reset(),this.exited.next({item:e,container:this})},e.prototype.drop=function(e,t,n,r,i,a){this._reset(),null==a&&(a=n.getItemIndex(e)),this.dropped.next({item:e,currentIndex:t,previousIndex:a,container:this,previousContainer:n,isPointerOverContainer:r,distance:i})},e.prototype.withItems=function(e){var t=this,n=this._draggables;(this._draggables=e,e.forEach(function(e){return e._withDropContainer(t)}),this.isDragging())&&(n.filter(function(e){return e.isDragging()}).every(function(t){return-1===e.indexOf(t)})?this._reset():this._cacheItems());return this},e.prototype.withDirection=function(e){return this._direction=e,this},e.prototype.connectedTo=function(e){return this._siblings=e.slice(),this},e.prototype.withOrientation=function(e){return this._orientation=e,this},e.prototype.withScrollableParents=function(e){var t=s(this.element);return this._scrollableElements=-1===e.indexOf(t)?Object(p.g)([t],e):e.slice(),this},e.prototype.getScrollableParents=function(){return this._scrollableElements},e.prototype.getItemIndex=function(e){return this._isDragging?et("horizontal"===this._orientation&&"rtl"===this._direction?this._itemPositions.slice().reverse():this._itemPositions,function(t){return t.drag===e}):this._draggables.indexOf(e)},e.prototype.isReceiving=function(){return this._activeSiblings.size>0},e.prototype._sortItem=function(e,t,n,r){if(!this.sortingDisabled&&Pe(this._clientRect,.05,t,n)){var i=this._itemPositions,a=this._getItemIndexFromPointerPosition(e,t,n,r);if(!(-1===a&&i.length>0)){var o="horizontal"===this._orientation,s=et(i,function(t){return t.drag===e}),l=i[a],c=i[s].clientRect,u=l.clientRect,d=s>a?1:-1;this._previousSwap.drag=l.drag,this._previousSwap.delta=o?r.x:r.y;var h=this._getItemOffsetPx(c,u,d),p=this._getSiblingOffsetPx(s,i,d),f=i.slice();Ge(i,s,a),this.sorted.next({previousIndex:s,currentIndex:a,container:this,item:e}),i.forEach(function(t,n){if(f[n]!==t){var r=t.drag===e,i=r?h:p,a=r?e.getPlaceholderElement():t.drag.getRootElement();t.offset+=i,o?(a.style.transform="translate3d("+Math.round(t.offset)+"px, 0, 0)",Ne(t.clientRect,0,i)):(a.style.transform="translate3d(0, "+Math.round(t.offset)+"px, 0)",Ne(t.clientRect,i,0))}})}}},e.prototype._startScrollingIfNecessary=function(e,t){var n=this;if(!this.autoScrollDisabled){var r,i=0,a=0;if(this._parentPositions.positions.forEach(function(o,s){var l;s!==n._document&&o.clientRect&&!r&&Pe(o.clientRect,.05,e,t)&&(l=Object(p.f)(function(e,t,n,r){var i=rt(t,r),a=it(t,n),o=0,s=0;if(i){var l=e.scrollTop;1===i?l>0&&(o=1):e.scrollHeight-l>e.clientHeight&&(o=2)}if(a){var c=e.scrollLeft;1===a?c>0&&(s=1):e.scrollWidth-c>e.clientWidth&&(s=2)}return[o,s]} -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */(s,o.clientRect,e,t),2),i=l[0],a=l[1],(i||a)&&(r=s))}),!i&&!a){var o=this._viewportRuler.getViewportSize(),s=o.width,l=o.height,c={width:s,height:l,top:0,right:s,bottom:l,left:0};i=rt(c,t),a=it(c,e),r=window}!r||i===this._verticalScrollDirection&&a===this._horizontalScrollDirection&&r===this._scrollNode||(this._verticalScrollDirection=i,this._horizontalScrollDirection=a,this._scrollNode=r,(i||a)&&r?this._ngZone.runOutsideAngular(this._startScrollInterval):this._stopScrolling())}},e.prototype._stopScrolling=function(){this._stopScrollTimers.next()},e.prototype._cacheParentPositions=function(){var e=s(this.element);this._parentPositions.cache(this._scrollableElements),this._clientRect=this._parentPositions.positions.get(e).clientRect},e.prototype._cacheItemPositions=function(){var e="horizontal"===this._orientation;this._itemPositions=this._activeDraggables.map(function(e){var t=e.getVisibleElement();return{drag:e,offset:0,clientRect:De(t)}}).sort(function(t,n){return e?t.clientRect.left-n.clientRect.left:t.clientRect.top-n.clientRect.top})},e.prototype._reset=function(){var e=this;this._isDragging=!1;var t=s(this.element).style;t.scrollSnapType=t.msScrollSnapType=this._initialScrollSnap,this._activeDraggables.forEach(function(e){var t=e.getRootElement();t&&(t.style.transform="")}),this._siblings.forEach(function(t){return t._stopReceiving(e)}),this._activeDraggables=[],this._itemPositions=[],this._previousSwap.drag=null,this._previousSwap.delta=0,this._stopScrolling(),this._viewportScrollSubscription.unsubscribe(),this._parentPositions.clear()},e.prototype._getSiblingOffsetPx=function(e,t,n){var r="horizontal"===this._orientation,i=t[e].clientRect,a=t[e+-1*n],o=i[r?"width":"height"]*n;if(a){var s=r?"left":"top",l=r?"right":"bottom";-1===n?o-=a.clientRect[s]-i[l]:o+=i[s]-a.clientRect[l]}return o},e.prototype._getItemOffsetPx=function(e,t,n){var r="horizontal"===this._orientation,i=r?t.left-e.left:t.top-e.top;return-1===n&&(i+=r?t.width-e.width:t.height-e.height),i},e.prototype._shouldEnterAsFirstChild=function(e,t){if(!this._activeDraggables.length)return!1;var n=this._itemPositions,r="horizontal"===this._orientation;if(n[0].drag!==this._activeDraggables[0]){var i=n[n.length-1].clientRect;return r?e>=i.right:t>=i.bottom}var a=n[0].clientRect;return r?e<=a.left:t<=a.top},e.prototype._getItemIndexFromPointerPosition=function(e,t,n,r){var i=this,a="horizontal"===this._orientation;return et(this._itemPositions,function(o,s,l){var c=o.drag,u=o.clientRect;if(c===e)return l.length<2;if(r){var d=a?r.x:r.y;if(c===i._previousSwap.drag&&d===i._previousSwap.delta)return!1}return a?t>=Math.floor(u.left)&&t=Math.floor(u.top)&&n=n-i&&t<=n+i?1:t>=r-i&&t<=r+i?2:0}function it(e,t){var n=e.left,r=e.right,i=e.width*Ze;return t>=n-i&&t<=n+i?1:t>=r-i&&t<=r+i?2:0}var at=ne({passive:!1,capture:!0}),ot=function(){function e(e,t){var n=this;this._ngZone=e,this._dropInstances=new Set,this._dragInstances=new Set,this._activeDragInstances=new Set,this._globalListeners=new Map,this.pointerMove=new l.a,this.pointerUp=new l.a,this.scroll=new l.a,this._preventDefaultWhileDragging=function(e){n._activeDragInstances.size&&e.preventDefault()},this._document=t}return e.prototype.registerDropContainer=function(e){this._dropInstances.has(e)||this._dropInstances.add(e)},e.prototype.registerDragItem=function(e){var t=this;this._dragInstances.add(e),1===this._dragInstances.size&&this._ngZone.runOutsideAngular(function(){t._document.addEventListener("touchmove",t._preventDefaultWhileDragging,at)})},e.prototype.removeDropContainer=function(e){this._dropInstances.delete(e)},e.prototype.removeDragItem=function(e){this._dragInstances.delete(e),this.stopDragging(e),0===this._dragInstances.size&&this._document.removeEventListener("touchmove",this._preventDefaultWhileDragging,at)},e.prototype.startDragging=function(e,t){var n=this;if(!this._activeDragInstances.has(e)&&(this._activeDragInstances.add(e),1===this._activeDragInstances.size)){var r=t.type.startsWith("touch"),i=r?"touchmove":"mousemove",a=r?"touchend":"mouseup";this._globalListeners.set(i,{handler:function(e){return n.pointerMove.next(e)},options:at}).set(a,{handler:function(e){return n.pointerUp.next(e)},options:!0}).set("scroll",{handler:function(e){return n.scroll.next(e)},options:!0}).set("selectstart",{handler:this._preventDefaultWhileDragging,options:at}),this._ngZone.runOutsideAngular(function(){n._globalListeners.forEach(function(e,t){n._document.addEventListener(t,e.handler,e.options)})})}},e.prototype.stopDragging=function(e){this._activeDragInstances.delete(e),0===this._activeDragInstances.size&&this._clearGlobalListeners()},e.prototype.isDragging=function(e){return this._activeDragInstances.has(e)},e.prototype.ngOnDestroy=function(){var e=this;this._dragInstances.forEach(function(t){return e.removeDragItem(t)}),this._dropInstances.forEach(function(t){return e.removeDropContainer(t)}),this._clearGlobalListeners(),this.pointerMove.complete(),this.pointerUp.complete()},e.prototype._clearGlobalListeners=function(){var e=this;this._globalListeners.forEach(function(t,n){e._document.removeEventListener(n,t.handler,t.options)}),this._globalListeners.clear()},e.ctorParameters=function(){return[{type:r.NgZone},{type:void 0,decorators:[{type:r.Inject,args:[i.DOCUMENT]}]}]},e.ɵprov=Object(r["ɵɵdefineInjectable"])({factory:function(){return new e(Object(r["ɵɵinject"])(r.NgZone),Object(r["ɵɵinject"])(i.DOCUMENT))},token:e,providedIn:"root"}),e.ɵfac=function(t){return new(t||e)(r["ɵɵinject"](r.NgZone),r["ɵɵinject"](i.DOCUMENT))},e}(),st={dragStartThreshold:5,pointerDirectionChangeThreshold:5},lt=function(){function e(e,t,n,r){this._document=e,this._ngZone=t,this._viewportRuler=n,this._dragDropRegistry=r}return e.prototype.createDrag=function(e,t){return void 0===t&&(t=st),new Le(e,t,this._document,this._ngZone,this._viewportRuler,this._dragDropRegistry)},e.prototype.createDropList=function(e){return new Xe(e,this._dragDropRegistry,this._document,this._ngZone,this._viewportRuler)},e.ctorParameters=function(){return[{type:void 0,decorators:[{type:r.Inject,args:[i.DOCUMENT]}]},{type:r.NgZone},{type:be},{type:ot}]},e.ɵprov=Object(r["ɵɵdefineInjectable"])({factory:function(){return new e(Object(r["ɵɵinject"])(i.DOCUMENT),Object(r["ɵɵinject"])(r.NgZone),Object(r["ɵɵinject"])(be),Object(r["ɵɵinject"])(ot))},token:e,providedIn:"root"}),e.ɵfac=function(t){return new(t||e)(r["ɵɵinject"](i.DOCUMENT),r["ɵɵinject"](r.NgZone),r["ɵɵinject"](be),r["ɵɵinject"](ot))},e}(),ct=new r.InjectionToken("CDK_DRAG_PARENT"),ut=function(){function e(e,t){this.element=e,this._stateChanges=new l.a,this._disabled=!1,this._parentDrag=t,Oe(e.nativeElement,!1)}return Object.defineProperty(e.prototype,"disabled",{get:function(){return this._disabled},set:function(e){this._disabled=a(e),this._stateChanges.next(this)},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this._stateChanges.complete()},e.ctorParameters=function(){return[{type:r.ElementRef},{type:void 0,decorators:[{type:r.Inject,args:[ct]},{type:r.Optional}]}]},e.propDecorators={disabled:[{type:r.Input,args:["cdkDragHandleDisabled"]}]},e.ɵfac=function(t){return new(t||e)(r["ɵɵdirectiveInject"](r.ElementRef),r["ɵɵdirectiveInject"](ct,8))},e.ɵdir=r["ɵɵdefineDirective"]({type:e,selectors:[["","cdkDragHandle",""]],hostAttrs:[1,"cdk-drag-handle"],inputs:{disabled:["cdkDragHandleDisabled","disabled"]}}),e}(),dt=function(){function e(e){this.templateRef=e}return e.ctorParameters=function(){return[{type:r.TemplateRef}]},e.propDecorators={data:[{type:r.Input}]},e.ɵfac=function(t){return new(t||e)(r["ɵɵdirectiveInject"](r.TemplateRef))},e.ɵdir=r["ɵɵdefineDirective"]({type:e,selectors:[["ng-template","cdkDragPlaceholder",""]],inputs:{data:"data"}}),e}(),ht=function(){function e(e){this.templateRef=e,this._matchSize=!1}return Object.defineProperty(e.prototype,"matchSize",{get:function(){return this._matchSize},set:function(e){this._matchSize=a(e)},enumerable:!0,configurable:!0}),e.ctorParameters=function(){return[{type:r.TemplateRef}]},e.propDecorators={data:[{type:r.Input}],matchSize:[{type:r.Input}]},e.ɵfac=function(t){return new(t||e)(r["ɵɵdirectiveInject"](r.TemplateRef))},e.ɵdir=r["ɵɵdefineDirective"]({type:e,selectors:[["ng-template","cdkDragPreview",""]],inputs:{matchSize:"matchSize",data:"data"}}),e}(),pt=new r.InjectionToken("CDK_DRAG_CONFIG");function ft(){return{dragStartThreshold:5,pointerDirectionChangeThreshold:5}} -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var mt=new r.InjectionToken("CDK_DROP_LIST"),gt=function(){function e(e,t,n,i,a,o,s,c,d){var h=this;this.element=e,this.dropContainer=t,this._document=n,this._ngZone=i,this._viewContainerRef=a,this._dir=s,this._changeDetectorRef=d,this._destroyed=new l.a,this.started=new r.EventEmitter,this.released=new r.EventEmitter,this.ended=new r.EventEmitter,this.entered=new r.EventEmitter,this.exited=new r.EventEmitter,this.dropped=new r.EventEmitter,this.moved=new u.a(function(e){var t=h._dragRef.moved.pipe(Object(Ee.a)(function(e){return{source:h,pointerPosition:e.pointerPosition,event:e.event,delta:e.delta,distance:e.distance}})).subscribe(e);return function(){t.unsubscribe()}}),this._dragRef=c.createDrag(e,{dragStartThreshold:o&&null!=o.dragStartThreshold?o.dragStartThreshold:5,pointerDirectionChangeThreshold:o&&null!=o.pointerDirectionChangeThreshold?o.pointerDirectionChangeThreshold:5,zIndex:null==o?void 0:o.zIndex}),this._dragRef.data=this,o&&this._assignDefaults(o),t&&(this._dragRef._withDropContainer(t._dropListRef),t.addItem(this)),this._syncInputs(this._dragRef),this._handleEvents(this._dragRef)}return Object.defineProperty(e.prototype,"disabled",{get:function(){return this._disabled||this.dropContainer&&this.dropContainer.disabled},set:function(e){this._disabled=a(e),this._dragRef.disabled=this._disabled},enumerable:!0,configurable:!0}),e.prototype.getPlaceholderElement=function(){return this._dragRef.getPlaceholderElement()},e.prototype.getRootElement=function(){return this._dragRef.getRootElement()},e.prototype.reset=function(){this._dragRef.reset()},e.prototype.getFreeDragPosition=function(){return this._dragRef.getFreeDragPosition()},e.prototype.ngAfterViewInit=function(){var e=this;this._ngZone.onStable.asObservable().pipe(Object(xe.a)(1),F(this._destroyed)).subscribe(function(){e._updateRootElement(),e._handles.changes.pipe(Object(H.a)(e._handles),Object(Se.a)(function(t){var n=t.filter(function(t){return t._parentDrag===e}).map(function(e){return e.element});e._dragRef.withHandles(n)}),Object(Q.a)(function(e){return h.a.apply(void 0,Object(p.g)(e.map(function(e){return e._stateChanges.pipe(Object(H.a)(e))})))}),F(e._destroyed)).subscribe(function(t){var n=e._dragRef,r=t.element.nativeElement;t.disabled?n.disableHandle(r):n.enableHandle(r)}),e.freeDragPosition&&e._dragRef.setFreeDragPosition(e.freeDragPosition)})},e.prototype.ngOnChanges=function(e){var t=e.rootElementSelector,n=e.freeDragPosition;t&&!t.firstChange&&this._updateRootElement(),n&&!n.firstChange&&this.freeDragPosition&&this._dragRef.setFreeDragPosition(this.freeDragPosition)},e.prototype.ngOnDestroy=function(){this.dropContainer&&this.dropContainer.removeItem(this),this._destroyed.next(),this._destroyed.complete(),this._dragRef.dispose()},e.prototype._updateRootElement=function(){var e=this.element.nativeElement,t=this.rootElementSelector?yt(e,this.rootElementSelector):e;if(t&&t.nodeType!==this._document.ELEMENT_NODE)throw Error('cdkDrag must be attached to an element node. Currently attached to "'+t.nodeName+'".');this._dragRef.withRootElement(t||e)},e.prototype._getBoundaryElement=function(){var e=this.boundaryElement;if(!e)return null;if("string"==typeof e)return yt(this.element.nativeElement,e);var t=s(e);if(Object(r.isDevMode)()&&!t.contains(this.element.nativeElement))throw Error("Draggable element is not inside of the node passed into cdkDragBoundary.");return t},e.prototype._syncInputs=function(e){var t=this;e.beforeStarted.subscribe(function(){if(!e.isDragging()){var n=t._dir,r=t.dragStartDelay,i=t._placeholderTemplate?{template:t._placeholderTemplate.templateRef,context:t._placeholderTemplate.data,viewContainer:t._viewContainerRef}:null,a=t._previewTemplate?{template:t._previewTemplate.templateRef,context:t._previewTemplate.data,matchSize:t._previewTemplate.matchSize,viewContainer:t._viewContainerRef}:null;e.disabled=t.disabled,e.lockAxis=t.lockAxis,e.dragStartDelay="object"==typeof r&&r?r:o(r),e.constrainPosition=t.constrainPosition,e.previewClass=t.previewClass,e.withBoundaryElement(t._getBoundaryElement()).withPlaceholderTemplate(i).withPreviewTemplate(a),n&&e.withDirection(n.value)}})},e.prototype._handleEvents=function(e){var t=this;e.started.subscribe(function(){t.started.emit({source:t}),t._changeDetectorRef.markForCheck()}),e.released.subscribe(function(){t.released.emit({source:t})}),e.ended.subscribe(function(e){t.ended.emit({source:t,distance:e.distance}),t._changeDetectorRef.markForCheck()}),e.entered.subscribe(function(e){t.entered.emit({container:e.container.data,item:t,currentIndex:e.currentIndex})}),e.exited.subscribe(function(e){t.exited.emit({container:e.container.data,item:t})}),e.dropped.subscribe(function(e){t.dropped.emit({previousIndex:e.previousIndex,currentIndex:e.currentIndex,previousContainer:e.previousContainer.data,container:e.container.data,isPointerOverContainer:e.isPointerOverContainer,item:t,distance:e.distance})})},e.prototype._assignDefaults=function(e){var t=e.lockAxis,n=e.dragStartDelay,r=e.constrainPosition,i=e.previewClass,a=e.boundaryElement,o=e.draggingDisabled,s=e.rootElementSelector;this.disabled=null!=o&&o,this.dragStartDelay=n||0,t&&(this.lockAxis=t),r&&(this.constrainPosition=r),i&&(this.previewClass=i),a&&(this.boundaryElement=a),s&&(this.rootElementSelector=s)},e.ctorParameters=function(){return[{type:r.ElementRef},{type:void 0,decorators:[{type:r.Inject,args:[mt]},{type:r.Optional},{type:r.SkipSelf}]},{type:void 0,decorators:[{type:r.Inject,args:[i.DOCUMENT]}]},{type:r.NgZone},{type:r.ViewContainerRef},{type:void 0,decorators:[{type:r.Optional},{type:r.Inject,args:[pt]}]},{type:oe,decorators:[{type:r.Optional}]},{type:lt},{type:r.ChangeDetectorRef}]},e.propDecorators={_handles:[{type:r.ContentChildren,args:[ut,{descendants:!0}]}],_previewTemplate:[{type:r.ContentChild,args:[ht]}],_placeholderTemplate:[{type:r.ContentChild,args:[dt]}],data:[{type:r.Input,args:["cdkDragData"]}],lockAxis:[{type:r.Input,args:["cdkDragLockAxis"]}],rootElementSelector:[{type:r.Input,args:["cdkDragRootElement"]}],boundaryElement:[{type:r.Input,args:["cdkDragBoundary"]}],dragStartDelay:[{type:r.Input,args:["cdkDragStartDelay"]}],freeDragPosition:[{type:r.Input,args:["cdkDragFreeDragPosition"]}],disabled:[{type:r.Input,args:["cdkDragDisabled"]}],constrainPosition:[{type:r.Input,args:["cdkDragConstrainPosition"]}],previewClass:[{type:r.Input,args:["cdkDragPreviewClass"]}],started:[{type:r.Output,args:["cdkDragStarted"]}],released:[{type:r.Output,args:["cdkDragReleased"]}],ended:[{type:r.Output,args:["cdkDragEnded"]}],entered:[{type:r.Output,args:["cdkDragEntered"]}],exited:[{type:r.Output,args:["cdkDragExited"]}],dropped:[{type:r.Output,args:["cdkDragDropped"]}],moved:[{type:r.Output,args:["cdkDragMoved"]}]},e.ɵfac=function(t){return new(t||e)(r["ɵɵdirectiveInject"](r.ElementRef),r["ɵɵdirectiveInject"](mt,12),r["ɵɵdirectiveInject"](i.DOCUMENT),r["ɵɵdirectiveInject"](r.NgZone),r["ɵɵdirectiveInject"](r.ViewContainerRef),r["ɵɵdirectiveInject"](pt,8),r["ɵɵdirectiveInject"](oe,8),r["ɵɵdirectiveInject"](lt),r["ɵɵdirectiveInject"](r.ChangeDetectorRef))},e.ɵdir=r["ɵɵdefineDirective"]({type:e,selectors:[["","cdkDrag",""]],contentQueries:function(e,t,n){var i;(1&e&&(r["ɵɵcontentQuery"](n,ht,!0),r["ɵɵcontentQuery"](n,dt,!0),r["ɵɵcontentQuery"](n,ut,!0)),2&e)&&(r["ɵɵqueryRefresh"](i=r["ɵɵloadQuery"]())&&(t._previewTemplate=i.first),r["ɵɵqueryRefresh"](i=r["ɵɵloadQuery"]())&&(t._placeholderTemplate=i.first),r["ɵɵqueryRefresh"](i=r["ɵɵloadQuery"]())&&(t._handles=i))},hostAttrs:[1,"cdk-drag"],hostVars:4,hostBindings:function(e,t){2&e&&r["ɵɵclassProp"]("cdk-drag-disabled",t.disabled)("cdk-drag-dragging",t._dragRef.isDragging())},inputs:{disabled:["cdkDragDisabled","disabled"],dragStartDelay:["cdkDragStartDelay","dragStartDelay"],lockAxis:["cdkDragLockAxis","lockAxis"],constrainPosition:["cdkDragConstrainPosition","constrainPosition"],previewClass:["cdkDragPreviewClass","previewClass"],boundaryElement:["cdkDragBoundary","boundaryElement"],rootElementSelector:["cdkDragRootElement","rootElementSelector"],data:["cdkDragData","data"],freeDragPosition:["cdkDragFreeDragPosition","freeDragPosition"]},outputs:{started:"cdkDragStarted",released:"cdkDragReleased",ended:"cdkDragEnded",entered:"cdkDragEntered",exited:"cdkDragExited",dropped:"cdkDragDropped",moved:"cdkDragMoved"},exportAs:["cdkDrag"],features:[r["ɵɵProvidersFeature"]([{provide:ct,useExisting:e}]),r["ɵɵNgOnChangesFeature"]]}),e}();function yt(e,t){for(var n=e.parentElement;n;){if(n.matches?n.matches(t):n.msMatchesSelector(t))return n;n=n.parentElement}return null} -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */var bt=function(){function e(){this._items=new Set,this._disabled=!1}return Object.defineProperty(e.prototype,"disabled",{get:function(){return this._disabled},set:function(e){this._disabled=a(e)},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this._items.clear()},e.propDecorators={disabled:[{type:r.Input,args:["cdkDropListGroupDisabled"]}]},e.ɵfac=function(t){return new(t||e)},e.ɵdir=r["ɵɵdefineDirective"]({type:e,selectors:[["","cdkDropListGroup",""]],inputs:{disabled:["cdkDropListGroupDisabled","disabled"]},exportAs:["cdkDropListGroup"]}),e}(),vt=0,kt=function(){function e(t,n,i,a,o,s,c){var u=this;this.element=t,this._changeDetectorRef=i,this._dir=a,this._group=o,this._scrollDispatcher=s,this._destroyed=new l.a,this.connectedTo=[],this.id="cdk-drop-list-"+vt++,this.enterPredicate=function(){return!0},this.dropped=new r.EventEmitter,this.entered=new r.EventEmitter,this.exited=new r.EventEmitter,this.sorted=new r.EventEmitter,this._unsortedItems=new Set,this._dropListRef=n.createDropList(t),this._dropListRef.data=this,c&&this._assignDefaults(c),this._dropListRef.enterPredicate=function(e,t){return u.enterPredicate(e.data,t.data)},this._setupInputSyncSubscription(this._dropListRef),this._handleEvents(this._dropListRef),e._dropLists.push(this),o&&o._items.add(this)}return Object.defineProperty(e.prototype,"disabled",{get:function(){return this._disabled||!!this._group&&this._group.disabled},set:function(e){this._dropListRef.disabled=this._disabled=a(e)},enumerable:!0,configurable:!0}),e.prototype.addItem=function(e){this._unsortedItems.add(e),this._dropListRef.isDragging()&&this._syncItemsWithRef()},e.prototype.removeItem=function(e){this._unsortedItems.delete(e),this._dropListRef.isDragging()&&this._syncItemsWithRef()},e.prototype.getSortedItems=function(){return Array.from(this._unsortedItems).sort(function(e,t){return e._dragRef.getVisibleElement().compareDocumentPosition(t._dragRef.getVisibleElement())&Node.DOCUMENT_POSITION_FOLLOWING?-1:1})},e.prototype.ngOnDestroy=function(){var t=e._dropLists.indexOf(this);t>-1&&e._dropLists.splice(t,1),this._group&&this._group._items.delete(this),this._unsortedItems.clear(),this._dropListRef.dispose(),this._destroyed.next(),this._destroyed.complete()},e.prototype.start=function(){this._dropListRef.start()},e.prototype.drop=function(e,t,n,r){this._dropListRef.drop(e._dragRef,t,n._dropListRef,r,{x:0,y:0})},e.prototype.enter=function(e,t,n){this._dropListRef.enter(e._dragRef,t,n)},e.prototype.exit=function(e){this._dropListRef.exit(e._dragRef)},e.prototype.getItemIndex=function(e){return this._dropListRef.getItemIndex(e._dragRef)},e.prototype._setupInputSyncSubscription=function(t){var n=this;this._dir&&this._dir.change.pipe(Object(H.a)(this._dir.value),F(this._destroyed)).subscribe(function(e){return t.withDirection(e)}),t.beforeStarted.subscribe(function(){var r,i=(r=n.connectedTo,Array.isArray(r)?r:[r]).map(function(t){return"string"==typeof t?e._dropLists.find(function(e){return e.id===t}):t});if(n._group&&n._group._items.forEach(function(e){-1===i.indexOf(e)&&i.push(e)}),!n._scrollableParentsResolved&&n._scrollDispatcher){var o=n._scrollDispatcher.getAncestorScrollContainers(n.element).map(function(e){return e.getElementRef().nativeElement});n._dropListRef.withScrollableParents(o),n._scrollableParentsResolved=!0}t.disabled=n.disabled,t.lockAxis=n.lockAxis,t.sortingDisabled=a(n.sortingDisabled),t.autoScrollDisabled=a(n.autoScrollDisabled),t.connectedTo(i.filter(function(e){return e&&e!==n}).map(function(e){return e._dropListRef})).withOrientation(n.orientation)})},e.prototype._handleEvents=function(e){var t=this;e.beforeStarted.subscribe(function(){t._syncItemsWithRef(),t._changeDetectorRef.markForCheck()}),e.entered.subscribe(function(e){t.entered.emit({container:t,item:e.item.data,currentIndex:e.currentIndex})}),e.exited.subscribe(function(e){t.exited.emit({container:t,item:e.item.data}),t._changeDetectorRef.markForCheck()}),e.sorted.subscribe(function(e){t.sorted.emit({previousIndex:e.previousIndex,currentIndex:e.currentIndex,container:t,item:e.item.data})}),e.dropped.subscribe(function(e){t.dropped.emit({previousIndex:e.previousIndex,currentIndex:e.currentIndex,previousContainer:e.previousContainer.data,container:e.container.data,item:e.item.data,isPointerOverContainer:e.isPointerOverContainer,distance:e.distance}),t._changeDetectorRef.markForCheck()})},e.prototype._assignDefaults=function(e){var t=e.lockAxis,n=e.draggingDisabled,r=e.sortingDisabled,i=e.listAutoScrollDisabled,a=e.listOrientation;this.disabled=null!=n&&n,this.sortingDisabled=null!=r&&r,this.autoScrollDisabled=null!=i&&i,this.orientation=a||"vertical",t&&(this.lockAxis=t)},e.prototype._syncItemsWithRef=function(){this._dropListRef.withItems(this.getSortedItems().map(function(e){return e._dragRef}))},e._dropLists=[],e.ctorParameters=function(){return[{type:r.ElementRef},{type:lt},{type:r.ChangeDetectorRef},{type:oe,decorators:[{type:r.Optional}]},{type:bt,decorators:[{type:r.Optional},{type:r.SkipSelf}]},{type:ge},{type:void 0,decorators:[{type:r.Optional},{type:r.Inject,args:[pt]}]}]},e.propDecorators={connectedTo:[{type:r.Input,args:["cdkDropListConnectedTo"]}],data:[{type:r.Input,args:["cdkDropListData"]}],orientation:[{type:r.Input,args:["cdkDropListOrientation"]}],id:[{type:r.Input}],lockAxis:[{type:r.Input,args:["cdkDropListLockAxis"]}],disabled:[{type:r.Input,args:["cdkDropListDisabled"]}],sortingDisabled:[{type:r.Input,args:["cdkDropListSortingDisabled"]}],enterPredicate:[{type:r.Input,args:["cdkDropListEnterPredicate"]}],autoScrollDisabled:[{type:r.Input,args:["cdkDropListAutoScrollDisabled"]}],dropped:[{type:r.Output,args:["cdkDropListDropped"]}],entered:[{type:r.Output,args:["cdkDropListEntered"]}],exited:[{type:r.Output,args:["cdkDropListExited"]}],sorted:[{type:r.Output,args:["cdkDropListSorted"]}]},e.ɵfac=function(t){return new(t||e)(r["ɵɵdirectiveInject"](r.ElementRef),r["ɵɵdirectiveInject"](lt),r["ɵɵdirectiveInject"](r.ChangeDetectorRef),r["ɵɵdirectiveInject"](oe,8),r["ɵɵdirectiveInject"](bt,12),r["ɵɵdirectiveInject"](ge),r["ɵɵdirectiveInject"](pt,8))},e.ɵdir=r["ɵɵdefineDirective"]({type:e,selectors:[["","cdkDropList",""],["cdk-drop-list"]],hostAttrs:[1,"cdk-drop-list"],hostVars:7,hostBindings:function(e,t){2&e&&(r["ɵɵhostProperty"]("id",t.id),r["ɵɵclassProp"]("cdk-drop-list-disabled",t.disabled)("cdk-drop-list-dragging",t._dropListRef.isDragging())("cdk-drop-list-receiving",t._dropListRef.isReceiving()))},inputs:{connectedTo:["cdkDropListConnectedTo","connectedTo"],id:"id",enterPredicate:["cdkDropListEnterPredicate","enterPredicate"],disabled:["cdkDropListDisabled","disabled"],sortingDisabled:["cdkDropListSortingDisabled","sortingDisabled"],autoScrollDisabled:["cdkDropListAutoScrollDisabled","autoScrollDisabled"],orientation:["cdkDropListOrientation","orientation"],lockAxis:["cdkDropListLockAxis","lockAxis"],data:["cdkDropListData","data"]},outputs:{dropped:"cdkDropListDropped",entered:"cdkDropListEntered",exited:"cdkDropListExited",sorted:"cdkDropListSorted"},exportAs:["cdkDropList"],features:[r["ɵɵProvidersFeature"]([{provide:bt,useValue:void 0},{provide:mt,useExisting:e}])]}),e}(),wt=function(){function e(){}return e.ɵmod=r["ɵɵdefineNgModule"]({type:e}),e.ɵinj=r["ɵɵdefineInjector"]({factory:function(t){return new(t||e)},providers:[lt],imports:[je]}),("undefined"==typeof ngJitMode||ngJitMode)&&r["ɵɵsetNgModuleScope"](e,{declarations:function(){return[kt,bt,gt,ut,ht,dt]},exports:function(){return[je,kt,bt,gt,ut,ht,dt]}}),e}(); -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */},function(e,t,n){"use strict";n.d(t,"a",function(){return i}),n.d(t,"b",function(){return a});var r=n(163);function i(){for(var e=[],t=0;ts||n!=n?c*(1/0):c*n}},function(e,t){e.exports=function(e){try{return{e:!1,v:e()}}catch(t){return{e:!0,v:t}}}},function(e,t,n){var r=n(16),i=n(23),a=n(207);e.exports=function(e,t){if(r(e),i(t)&&t.constructor===e)return t;var n=a.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){var r=n(99);e.exports=function(e,t){var n=[];return r(e,!1,n.push,n,t),n}},function(e,t,n){var r; -/*! - * jQuery JavaScript Library v3.4.1 - * https://jquery.com/ - * - * Includes Sizzle.js - * https://sizzlejs.com/ - * - * Copyright JS Foundation and other contributors - * Released under the MIT license - * https://jquery.org/license - * - * Date: 2019-05-01T21:04Z - */ -/*! - * jQuery JavaScript Library v3.4.1 - * https://jquery.com/ - * - * Includes Sizzle.js - * https://sizzlejs.com/ - * - * Copyright JS Foundation and other contributors - * Released under the MIT license - * https://jquery.org/license - * - * Date: 2019-05-01T21:04Z - */ -!function(t,n){"use strict";"object"==typeof e.exports?e.exports=t.document?n(t,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(t)}("undefined"!=typeof window?window:this,function(n,i){"use strict";var a=[],o=n.document,s=Object.getPrototypeOf,l=a.slice,c=a.concat,u=a.push,d=a.indexOf,h={},p=h.toString,f=h.hasOwnProperty,m=f.toString,g=m.call(Object),y={},b=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},v=function(e){return null!=e&&e===e.window},k={type:!0,src:!0,nonce:!0,noModule:!0};function w(e,t,n){var r,i,a=(n=n||o).createElement("script");if(a.text=e,t)for(r in k)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&a.setAttribute(r,i);n.head.appendChild(a).parentNode.removeChild(a)}function _(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?h[p.call(e)]||"object":typeof e}var j=function(e,t){return new j.fn.init(e,t)},C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function E(e){var t=!!e&&"length"in e&&e.length,n=_(e);return!b(e)&&!v(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}j.fn=j.prototype={jquery:"3.4.1",constructor:j,length:0,toArray:function(){return l.call(this)},get:function(e){return null==e?l.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=j.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return j.each(this,e)},map:function(e){return this.pushStack(j.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(l.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n+~]|"+M+")"+M+"*"),W=new RegExp(M+"|>"),K=new RegExp(B),G=new RegExp("^"+q+"$"),Q={ID:new RegExp("^#("+q+")"),CLASS:new RegExp("^\\.("+q+")"),TAG:new RegExp("^("+q+"|[*])"),ATTR:new RegExp("^"+L),PSEUDO:new RegExp("^"+B),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},$=/HTML$/i,Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,J=/^[^{]+\{\s*\[native \w/,X=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ae=function(){h()},oe=ke(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{A.apply(I=N.call(w.childNodes),w.childNodes),I[w.childNodes.length].nodeType}catch(Ee){A={apply:I.length?function(e,t){D.apply(e,N.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(e,t,r,i){var a,s,c,u,d,f,y,b=t&&t.ownerDocument,_=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==_&&9!==_&&11!==_)return r;if(!i&&((t?t.ownerDocument||t:w)!==p&&h(t),t=t||p,m)){if(11!==_&&(d=X.exec(e)))if(a=d[1]){if(9===_){if(!(c=t.getElementById(a)))return r;if(c.id===a)return r.push(c),r}else if(b&&(c=b.getElementById(a))&&v(t,c)&&c.id===a)return r.push(c),r}else{if(d[2])return A.apply(r,t.getElementsByTagName(e)),r;if((a=d[3])&&n.getElementsByClassName&&t.getElementsByClassName)return A.apply(r,t.getElementsByClassName(a)),r}if(n.qsa&&!S[e+" "]&&(!g||!g.test(e))&&(1!==_||"object"!==t.nodeName.toLowerCase())){if(y=e,b=t,1===_&&W.test(e)){for((u=t.getAttribute("id"))?u=u.replace(re,ie):t.setAttribute("id",u=k),s=(f=o(e)).length;s--;)f[s]="#"+u+" "+ve(f[s]);y=f.join(","),b=ee.test(e)&&ye(t.parentNode)||t}try{return A.apply(r,b.querySelectorAll(y)),r}catch(j){S(e,!0)}finally{u===k&&t.removeAttribute("id")}}}return l(e.replace(V,"$1"),t,r,i)}function le(){var e=[];return function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}}function ce(e){return e[k]=!0,e}function ue(e){var t=p.createElement("fieldset");try{return!!e(t)}catch(Ee){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function de(e,t){for(var n=e.split("|"),i=n.length;i--;)r.attrHandle[n[i]]=t}function he(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function pe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function fe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function me(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&oe(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function ge(e){return ce(function(t){return t=+t,ce(function(n,r){for(var i,a=e([],n.length,t),o=a.length;o--;)n[i=a[o]]&&(n[i]=!(r[i]=n[i]))})})}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=se.support={},a=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!$.test(t||n&&n.nodeName||"HTML")},h=se.setDocument=function(e){var t,i,o=e?e.ownerDocument||e:w;return o!==p&&9===o.nodeType&&o.documentElement?(f=(p=o).documentElement,m=!a(p),w!==p&&(i=p.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",ae,!1):i.attachEvent&&i.attachEvent("onunload",ae)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(p.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=J.test(p.getElementsByClassName),n.getById=ue(function(e){return f.appendChild(e).id=k,!p.getElementsByName||!p.getElementsByName(k).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&m){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&m){var n,r,i,a=t.getElementById(e);if(a){if((n=a.getAttributeNode("id"))&&n.value===e)return[a];for(i=t.getElementsByName(e),r=0;a=i[r++];)if((n=a.getAttributeNode("id"))&&n.value===e)return[a]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,a=t.getElementsByTagName(e);if("*"===e){for(;n=a[i++];)1===n.nodeType&&r.push(n);return r}return a},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&m)return t.getElementsByClassName(e)},y=[],g=[],(n.qsa=J.test(p.querySelectorAll))&&(ue(function(e){f.appendChild(e).innerHTML="
",e.querySelectorAll("[msallowcapture^='']").length&&g.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||g.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||g.push("~="),e.querySelectorAll(":checked").length||g.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||g.push(".#.+[+~]")}),ue(function(e){e.innerHTML="";var t=p.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&g.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&g.push(":enabled",":disabled"),f.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(n.matchesSelector=J.test(b=f.matches||f.webkitMatchesSelector||f.mozMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=b.call(e,"*"),b.call(e,"[s!='']:x"),y.push("!=",B)}),g=g.length&&new RegExp(g.join("|")),y=y.length&&new RegExp(y.join("|")),t=J.test(f.compareDocumentPosition),v=t||J.test(f.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},T=t?function(e,t){if(e===t)return d=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===p||e.ownerDocument===w&&v(w,e)?-1:t===p||t.ownerDocument===w&&v(w,t)?1:u?P(u,e)-P(u,t):0:4&r?-1:1)}:function(e,t){if(e===t)return d=!0,0;var n,r=0,i=e.parentNode,a=t.parentNode,o=[e],s=[t];if(!i||!a)return e===p?-1:t===p?1:i?-1:a?1:u?P(u,e)-P(u,t):0;if(i===a)return he(e,t);for(n=e;n=n.parentNode;)o.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;o[r]===s[r];)r++;return r?he(o[r],s[r]):o[r]===w?-1:s[r]===w?1:0},p):p},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&h(e),n.matchesSelector&&m&&!S[t+" "]&&(!y||!y.test(t))&&(!g||!g.test(t)))try{var r=b.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(Ee){S(t,!0)}return se(t,p,null,[e]).length>0},se.contains=function(e,t){return(e.ownerDocument||e)!==p&&h(e),v(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==p&&h(e);var i=r.attrHandle[t.toLowerCase()],a=i&&O.call(r.attrHandle,t.toLowerCase())?i(e,t,!m):void 0;return void 0!==a?a:n.attributes||!m?e.getAttribute(t):(a=e.getAttributeNode(t))&&a.specified?a.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,r=[],i=0,a=0;if(d=!n.detectDuplicates,u=!n.sortStable&&e.slice(0),e.sort(T),d){for(;t=e[a++];)t===e[a]&&(i=r.push(a));for(;i--;)e.splice(r[i],1)}return u=null,e},i=se.getText=function(e){var t,n="",r=0,a=e.nodeType;if(a){if(1===a||9===a||11===a){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===a||4===a)return e.nodeValue}else for(;t=e[r++];)n+=i(t);return n},(r=se.selectors={cacheLength:50,createPseudo:ce,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&K.test(n)&&(t=o(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=C[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&C(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=se.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace(F," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var a="nth"!==e.slice(0,3),o="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var c,u,d,h,p,f,m=a!==o?"nextSibling":"previousSibling",g=t.parentNode,y=s&&t.nodeName.toLowerCase(),b=!l&&!s,v=!1;if(g){if(a){for(;m;){for(h=t;h=h[m];)if(s?h.nodeName.toLowerCase()===y:1===h.nodeType)return!1;f=m="only"===e&&!f&&"nextSibling"}return!0}if(f=[o?g.firstChild:g.lastChild],o&&b){for(v=(p=(c=(u=(d=(h=g)[k]||(h[k]={}))[h.uniqueID]||(d[h.uniqueID]={}))[e]||[])[0]===_&&c[1])&&c[2],h=p&&g.childNodes[p];h=++p&&h&&h[m]||(v=p=0)||f.pop();)if(1===h.nodeType&&++v&&h===t){u[e]=[_,p,v];break}}else if(b&&(v=p=(c=(u=(d=(h=t)[k]||(h[k]={}))[h.uniqueID]||(d[h.uniqueID]={}))[e]||[])[0]===_&&c[1]),!1===v)for(;(h=++p&&h&&h[m]||(v=p=0)||f.pop())&&((s?h.nodeName.toLowerCase()!==y:1!==h.nodeType)||!++v||(b&&((u=(d=h[k]||(h[k]={}))[h.uniqueID]||(d[h.uniqueID]={}))[e]=[_,v]),h!==t)););return(v-=i)===r||v%r==0&&v/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return i[k]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?ce(function(e,n){for(var r,a=i(e,t),o=a.length;o--;)e[r=P(e,a[o])]=!(n[r]=a[o])}):function(e){return i(e,0,n)}):i}},pseudos:{not:ce(function(e){var t=[],n=[],r=s(e.replace(V,"$1"));return r[k]?ce(function(e,t,n,i){for(var a,o=r(e,null,i,[]),s=e.length;s--;)(a=o[s])&&(e[s]=!(t[s]=a))}):function(e,i,a){return t[0]=e,r(t,null,a,n),t[0]=null,!n.pop()}}),has:ce(function(e){return function(t){return se(e,t).length>0}}),contains:ce(function(e){return e=e.replace(te,ne),function(t){return(t.textContent||i(t)).indexOf(e)>-1}}),lang:ce(function(e){return G.test(e||"")||se.error("unsupported lang: "+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=m?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:me(!1),disabled:me(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Z.test(e.nodeName)},input:function(e){return Y.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ge(function(){return[0]}),last:ge(function(e,t){return[t-1]}),eq:ge(function(e,t,n){return[n<0?n+t:n]}),even:ge(function(e,t){for(var n=0;nt?t:n;--r>=0;)e.push(r);return e}),gt:ge(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function _e(e,t,n,r,i){for(var a,o=[],s=0,l=e.length,c=null!=t;s-1&&(a[c]=!(o[c]=d))}}else y=_e(y===o?y.splice(f,y.length):y),i?i(null,o,y,l):A.apply(o,y)})}function Ce(e){for(var t,n,i,a=e.length,o=r.relative[e[0].type],s=o||r.relative[" "],l=o?1:0,u=ke(function(e){return e===t},s,!0),d=ke(function(e){return P(t,e)>-1},s,!0),h=[function(e,n,r){var i=!o&&(r||n!==c)||((t=n).nodeType?u(e,n,r):d(e,n,r));return t=null,i}];l1&&we(h),l>1&&ve(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(V,"$1"),n,l0,i=e.length>0,a=function(a,o,s,l,u){var d,f,g,y=0,b="0",v=a&&[],k=[],w=c,j=a||i&&r.find.TAG("*",u),C=_+=null==w?1:Math.random()||.1,E=j.length;for(u&&(c=o===p||o||u);b!==E&&null!=(d=j[b]);b++){if(i&&d){for(f=0,o||d.ownerDocument===p||(h(d),s=!m);g=e[f++];)if(g(d,o||p,s)){l.push(d);break}u&&(_=C)}n&&((d=!g&&d)&&y--,a&&v.push(d))}if(y+=b,n&&b!==y){for(f=0;g=t[f++];)g(v,k,o,s);if(a){if(y>0)for(;b--;)v[b]||k[b]||(k[b]=z.call(l));k=_e(k)}A.apply(l,k),u&&!a&&k.length>0&&y+t.length>1&&se.uniqueSort(l)}return u&&(_=C,c=w),v};return n?ce(a):a}(a,i))).selector=e}return s},l=se.select=function(e,t,n,i){var a,l,c,u,d,h="function"==typeof e&&e,p=!i&&o(e=h.selector||e);if(n=n||[],1===p.length){if((l=p[0]=p[0].slice(0)).length>2&&"ID"===(c=l[0]).type&&9===t.nodeType&&m&&r.relative[l[1].type]){if(!(t=(r.find.ID(c.matches[0].replace(te,ne),t)||[])[0]))return n;h&&(t=t.parentNode),e=e.slice(l.shift().value.length)}for(a=Q.needsContext.test(e)?0:l.length;a--&&(c=l[a],!r.relative[u=c.type]);)if((d=r.find[u])&&(i=d(c.matches[0].replace(te,ne),ee.test(l[0].type)&&ye(t.parentNode)||t))){if(l.splice(a,1),!(e=i.length&&ve(l)))return A.apply(n,i),n;break}}return(h||s(e,p))(i,t,!m,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},n.sortStable=k.split("").sort(T).join("")===k,n.detectDuplicates=!!d,h(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(p.createElement("fieldset"))}),ue(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||de("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||de("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||de(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(n);j.find=x,j.expr=x.selectors,j.expr[":"]=j.expr.pseudos,j.uniqueSort=j.unique=x.uniqueSort,j.text=x.getText,j.isXMLDoc=x.isXML,j.contains=x.contains,j.escapeSelector=x.escape;var S=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&j(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},O=j.expr.match.needsContext;function I(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var z=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,t,n){return b(t)?j.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?j.grep(e,function(e){return e===t!==n}):"string"!=typeof t?j.grep(e,function(e){return d.call(t,e)>-1!==n}):j.filter(t,e,n)}j.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?j.find.matchesSelector(r,e)?[r]:[]:j.find.matches(e,j.grep(t,function(e){return 1===e.nodeType}))},j.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(j(e).filter(function(){for(t=0;t1?j.uniqueSort(n):n},filter:function(e){return this.pushStack(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,"string"==typeof e&&O.test(e)?j(e):e||[],!1).length}});var A,N=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(j.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||A,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:N.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof j?t[0]:t,j.merge(this,j.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:o,!0)),z.test(r[1])&&j.isPlainObject(t))for(r in t)b(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=o.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):b(e)?void 0!==n.ready?n.ready(e):e(j):j.makeArray(e,this)}).prototype=j.fn,A=j(o);var P=/^(?:parents|prev(?:Until|All))/,R={children:!0,contents:!0,next:!0,prev:!0};function M(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}j.fn.extend({has:function(e){var t=j(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&j.find.matchesSelector(n,e))){a.push(n);break}return this.pushStack(a.length>1?j.uniqueSort(a):a)},index:function(e){return e?"string"==typeof e?d.call(j(e),this[0]):d.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(j.uniqueSort(j.merge(this.get(),j(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),j.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return S(e,"parentNode")},parentsUntil:function(e,t,n){return S(e,"parentNode",n)},next:function(e){return M(e,"nextSibling")},prev:function(e){return M(e,"previousSibling")},nextAll:function(e){return S(e,"nextSibling")},prevAll:function(e){return S(e,"previousSibling")},nextUntil:function(e,t,n){return S(e,"nextSibling",n)},prevUntil:function(e,t,n){return S(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return void 0!==e.contentDocument?e.contentDocument:(I(e,"template")&&(e=e.content||e),j.merge([],e.childNodes))}},function(e,t){j.fn[e]=function(n,r){var i=j.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=j.filter(r,i)),this.length>1&&(R[e]||j.uniqueSort(i),P.test(e)&&i.reverse()),this.pushStack(i)}});var q=/[^\x20\t\r\n\f]+/g;function L(e){return e}function B(e){throw e}function F(e,t,n,r){var i;try{e&&b(i=e.promise)?i.call(e).done(t).fail(n):e&&b(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}j.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return j.each(e.match(q)||[],function(e,n){t[n]=!0}),t}(e):j.extend({},e);var t,n,r,i,a=[],o=[],s=-1,l=function(){for(i=i||e.once,r=t=!0;o.length;s=-1)for(n=o.shift();++s-1;)a.splice(n,1),n<=s&&s--}),this},has:function(e){return e?j.inArray(e,a)>-1:a.length>0},empty:function(){return a&&(a=[]),this},disable:function(){return i=o=[],a=n="",this},disabled:function(){return!a},lock:function(){return i=o=[],n||t||(a=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],o.push(n),t||l()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},j.extend({Deferred:function(e){var t=[["notify","progress",j.Callbacks("memory"),j.Callbacks("memory"),2],["resolve","done",j.Callbacks("once memory"),j.Callbacks("once memory"),0,"resolved"],["reject","fail",j.Callbacks("once memory"),j.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return a.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return j.Deferred(function(n){j.each(t,function(t,r){var i=b(e[r[4]])&&e[r[4]];a[r[1]](function(){var e=i&&i.apply(this,arguments);e&&b(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(e,r,i){var a=0;function o(e,t,r,i){return function(){var s=this,l=arguments,c=function(){var n,c;if(!(e=a&&(r!==B&&(s=void 0,l=[n]),t.rejectWith(s,l))}};e?u():(j.Deferred.getStackHook&&(u.stackTrace=j.Deferred.getStackHook()),n.setTimeout(u))}}return j.Deferred(function(n){t[0][3].add(o(0,n,b(i)?i:L,n.notifyWith)),t[1][3].add(o(0,n,b(e)?e:L)),t[2][3].add(o(0,n,b(r)?r:B))}).promise()},promise:function(e){return null!=e?j.extend(e,i):i}},a={};return j.each(t,function(e,n){var o=n[2],s=n[5];i[n[1]]=o.add,s&&o.add(function(){r=s},t[3-e][2].disable,t[3-e][3].disable,t[0][2].lock,t[0][3].lock),o.add(n[3].fire),a[n[0]]=function(){return a[n[0]+"With"](this===a?void 0:this,arguments),this},a[n[0]+"With"]=o.fireWith}),i.promise(a),e&&e.call(a,a),a},when:function(e){var t=arguments.length,n=t,r=Array(n),i=l.call(arguments),a=j.Deferred(),o=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?l.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&(F(e,a.done(o(n)).resolve,a.reject,!t),"pending"===a.state()||b(i[n]&&i[n].then)))return a.then();for(;n--;)F(i[n],o(n),a.reject);return a.promise()}});var V=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;j.Deferred.exceptionHook=function(e,t){n.console&&n.console.warn&&e&&V.test(e.name)&&n.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},j.readyException=function(e){n.setTimeout(function(){throw e})};var U=j.Deferred();function H(){o.removeEventListener("DOMContentLoaded",H),n.removeEventListener("load",H),j.ready()}j.fn.ready=function(e){return U.then(e).catch(function(e){j.readyException(e)}),this},j.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--j.readyWait:j.isReady)||(j.isReady=!0,!0!==e&&--j.readyWait>0||U.resolveWith(o,[j]))}}),j.ready.then=U.then,"complete"===o.readyState||"loading"!==o.readyState&&!o.documentElement.doScroll?n.setTimeout(j.ready):(o.addEventListener("DOMContentLoaded",H),n.addEventListener("load",H));var W=function(e,t,n,r,i,a,o){var s=0,l=e.length,c=null==n;if("object"===_(n))for(s in i=!0,n)W(e,t,s,n[s],!0,a,o);else if(void 0!==r&&(i=!0,b(r)||(o=!0),c&&(o?(t.call(e,r),t=null):(c=t,t=function(e,t,n){return c.call(j(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){X.remove(this,e)})}}),j.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,j.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=j.queue(e,t),r=n.length,i=n.shift(),a=j._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete a.stop,i.call(e,function(){j.dequeue(e,t)},a)),!r&&a&&a.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:j.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),j.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]*)/i,ye=/^$|^module$|\/(?:java|ecma)script/i,be={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&I(e,t)?j.merge([e],n):n}function ke(e,t){for(var n=0,r=e.length;n-1)i&&i.push(a);else if(c=se(a),o=ve(d.appendChild(a),"script"),c&&ke(o),n)for(u=0;a=o[u++];)ye.test(a.type||"")&&n.push(a);return d}we=o.createDocumentFragment().appendChild(o.createElement("div")),(_e=o.createElement("input")).setAttribute("type","radio"),_e.setAttribute("checked","checked"),_e.setAttribute("name","t"),we.appendChild(_e),y.checkClone=we.cloneNode(!0).cloneNode(!0).lastChild.checked,we.innerHTML="",y.noCloneChecked=!!we.cloneNode(!0).lastChild.defaultValue;var Ee=/^key/,xe=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Se=/^([^.]*)(?:\.(.+)|)/;function Te(){return!0}function Oe(){return!1}function Ie(e,t){return e===function(){try{return o.activeElement}catch(e){}}()==("focus"===t)}function ze(e,t,n,r,i,a){var o,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)ze(e,s,n,r,t[s],a);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Oe;else if(!i)return e;return 1===a&&(o=i,(i=function(e){return j().off(e),o.apply(this,arguments)}).guid=o.guid||(o.guid=j.guid++)),e.each(function(){j.event.add(this,t,i,r,n)})}function De(e,t,n){n?(J.set(e,t,!1),j.event.add(e,t,{namespace:!1,handler:function(e){var r,i,a=J.get(this,t);if(1&e.isTrigger&&this[t]){if(a.length)(j.event.special[t]||{}).delegateType&&e.stopPropagation();else if(a=l.call(arguments),J.set(this,t,a),r=n(this,t),this[t](),a!==(i=J.get(this,t))||r?J.set(this,t,!1):i={},a!==i)return e.stopImmediatePropagation(),e.preventDefault(),i.value}else a.length&&(J.set(this,t,{value:j.event.trigger(j.extend(a[0],j.Event.prototype),a.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===J.get(e,t)&&j.event.add(e,t,Te)}j.event={global:{},add:function(e,t,n,r,i){var a,o,s,l,c,u,d,h,p,f,m,g=J.get(e);if(g)for(n.handler&&(n=(a=n).handler,i=a.selector),i&&j.find.matchesSelector(oe,i),n.guid||(n.guid=j.guid++),(l=g.events)||(l=g.events={}),(o=g.handle)||(o=g.handle=function(t){return void 0!==j&&j.event.triggered!==t.type?j.event.dispatch.apply(e,arguments):void 0}),c=(t=(t||"").match(q)||[""]).length;c--;)p=m=(s=Se.exec(t[c])||[])[1],f=(s[2]||"").split(".").sort(),p&&(d=j.event.special[p]||{},p=(i?d.delegateType:d.bindType)||p,d=j.event.special[p]||{},u=j.extend({type:p,origType:m,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&j.expr.match.needsContext.test(i),namespace:f.join(".")},a),(h=l[p])||((h=l[p]=[]).delegateCount=0,d.setup&&!1!==d.setup.call(e,r,f,o)||e.addEventListener&&e.addEventListener(p,o)),d.add&&(d.add.call(e,u),u.handler.guid||(u.handler.guid=n.guid)),i?h.splice(h.delegateCount++,0,u):h.push(u),j.event.global[p]=!0)},remove:function(e,t,n,r,i){var a,o,s,l,c,u,d,h,p,f,m,g=J.hasData(e)&&J.get(e);if(g&&(l=g.events)){for(c=(t=(t||"").match(q)||[""]).length;c--;)if(p=m=(s=Se.exec(t[c])||[])[1],f=(s[2]||"").split(".").sort(),p){for(d=j.event.special[p]||{},h=l[p=(r?d.delegateType:d.bindType)||p]||[],s=s[2]&&new RegExp("(^|\\.)"+f.join("\\.(?:.*\\.|)")+"(\\.|$)"),o=a=h.length;a--;)u=h[a],!i&&m!==u.origType||n&&n.guid!==u.guid||s&&!s.test(u.namespace)||r&&r!==u.selector&&("**"!==r||!u.selector)||(h.splice(a,1),u.selector&&h.delegateCount--,d.remove&&d.remove.call(e,u));o&&!h.length&&(d.teardown&&!1!==d.teardown.call(e,f,g.handle)||j.removeEvent(e,p,g.handle),delete l[p])}else for(p in l)j.event.remove(e,p+t[c],n,r,!0);j.isEmptyObject(l)&&J.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,a,o,s=j.event.fix(e),l=new Array(arguments.length),c=(J.get(this,"events")||{})[s.type]||[],u=j.event.special[s.type]||{};for(l[0]=s,t=1;t=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==e.type||!0!==c.disabled)){for(a=[],o={},n=0;n-1:j.find(i,this,null,[c]).length),o[i]&&a.push(r);a.length&&s.push({elem:c,handlers:a})}return c=this,l\x20\t\r\n\f]*)[^>]*)\/>/gi,Ne=/\s*$/g;function Me(e,t){return I(e,"table")&&I(11!==t.nodeType?t:t.firstChild,"tr")&&j(e).children("tbody")[0]||e}function qe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Le(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Be(e,t){var n,r,i,a,o,s,l,c;if(1===t.nodeType){if(J.hasData(e)&&(a=J.access(e),o=J.set(t,a),c=a.events))for(i in delete o.handle,o.events={},c)for(n=0,r=c[i].length;n1&&"string"==typeof f&&!y.checkClone&&Pe.test(f))return e.each(function(i){var a=e.eq(i);m&&(t[0]=f.call(this,i,a.html())),Fe(a,t,n,r)});if(h&&(a=(i=Ce(t,e[0].ownerDocument,!1,e,r)).firstChild,1===i.childNodes.length&&(i=a),a||r)){for(s=(o=j.map(ve(i,"script"),qe)).length;d")},clone:function(e,t,n){var r,i,a,o,s,l,c,u=e.cloneNode(!0),d=se(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||j.isXMLDoc(e)))for(o=ve(u),r=0,i=(a=ve(e)).length;r0&&ke(o,!d&&ve(e,"script")),u},cleanData:function(e){for(var t,n,r,i=j.event.special,a=0;void 0!==(n=e[a]);a++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?j.event.remove(n,r):j.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[X.expando]&&(n[X.expando]=void 0)}}}),j.fn.extend({detach:function(e){return Ve(this,e,!0)},remove:function(e){return Ve(this,e)},text:function(e){return W(this,function(e){return void 0===e?j.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Fe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Me(this,e).appendChild(e)})},prepend:function(){return Fe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Me(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Fe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Fe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(j.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return j.clone(this,e,t)})},html:function(e){return W(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ne.test(e)&&!be[(ge.exec(e)||["",""])[1].toLowerCase()]){e=j.htmlPrefilter(e);try{for(;n=0&&(l+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-a-l-s-.5))||0),l}function it(e,t,n){var r=He(e),i=(!y.boxSizingReliable()||n)&&"border-box"===j.css(e,"boxSizing",!1,r),a=i,o=Ke(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Ue.test(o)){if(!n)return o;o="auto"}return(!y.boxSizingReliable()&&i||"auto"===o||!parseFloat(o)&&"inline"===j.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===j.css(e,"boxSizing",!1,r),(a=s in e)&&(o=e[s])),(o=parseFloat(o)||0)+rt(e,t,n||(i?"border":"content"),a,r,o)+"px"}function at(e,t,n,r,i){return new at.prototype.init(e,t,n,r,i)}j.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Ke(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,a,o,s=$(t),l=Xe.test(t),c=e.style;if(l||(t=Ze(s)),o=j.cssHooks[t]||j.cssHooks[s],void 0===n)return o&&"get"in o&&void 0!==(i=o.get(e,!1,r))?i:c[t];"string"===(a=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=de(e,t,i),a="number"),null!=n&&n==n&&("number"!==a||l||(n+=i&&i[3]||(j.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(c[t]="inherit"),o&&"set"in o&&void 0===(n=o.set(e,n,r))||(l?c.setProperty(t,n):c[t]=n))}},css:function(e,t,n,r){var i,a,o,s=$(t);return Xe.test(t)||(t=Ze(s)),(o=j.cssHooks[t]||j.cssHooks[s])&&"get"in o&&(i=o.get(e,!0,n)),void 0===i&&(i=Ke(e,t,r)),"normal"===i&&t in tt&&(i=tt[t]),""===n||n?(a=parseFloat(i),!0===n||isFinite(a)?a||0:i):i}}),j.each(["height","width"],function(e,t){j.cssHooks[t]={get:function(e,n,r){if(n)return!Je.test(j.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?it(e,t,r):ue(e,et,function(){return it(e,t,r)})},set:function(e,n,r){var i,a=He(e),o=!y.scrollboxSize()&&"absolute"===a.position,s=(o||r)&&"border-box"===j.css(e,"boxSizing",!1,a),l=r?rt(e,t,r,s,a):0;return s&&o&&(l-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(a[t])-rt(e,t,"border",!1,a)-.5)),l&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=j.css(e,t)),nt(0,n,l)}}}),j.cssHooks.marginLeft=Ge(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Ke(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),j.each({margin:"",padding:"",border:"Width"},function(e,t){j.cssHooks[e+t]={expand:function(n){for(var r=0,i={},a="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+ae[r]+t]=a[r]||a[r-2]||a[0];return i}},"margin"!==e&&(j.cssHooks[e+t].set=nt)}),j.fn.extend({css:function(e,t){return W(this,function(e,t,n){var r,i,a={},o=0;if(Array.isArray(t)){for(r=He(e),i=t.length;o1)}}),j.Tween=at,at.prototype={constructor:at,init:function(e,t,n,r,i,a){this.elem=e,this.prop=n,this.easing=i||j.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=a||(j.cssNumber[n]?"":"px")},cur:function(){var e=at.propHooks[this.prop];return e&&e.get?e.get(this):at.propHooks._default.get(this)},run:function(e){var t,n=at.propHooks[this.prop];return this.options.duration?this.pos=t=j.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):at.propHooks._default.set(this),this}},at.prototype.init.prototype=at.prototype,at.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=j.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){j.fx.step[e.prop]?j.fx.step[e.prop](e):1!==e.elem.nodeType||!j.cssHooks[e.prop]&&null==e.elem.style[Ze(e.prop)]?e.elem[e.prop]=e.now:j.style(e.elem,e.prop,e.now+e.unit)}}},at.propHooks.scrollTop=at.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},j.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},j.fx=at.prototype.init,j.fx.step={};var ot,st,lt=/^(?:toggle|show|hide)$/,ct=/queueHooks$/;function ut(){st&&(!1===o.hidden&&n.requestAnimationFrame?n.requestAnimationFrame(ut):n.setTimeout(ut,j.fx.interval),j.fx.tick())}function dt(){return n.setTimeout(function(){ot=void 0}),ot=Date.now()}function ht(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ae[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),a=0,o=i.length;a1)},removeAttr:function(e){return this.each(function(){j.removeAttr(this,e)})}}),j.extend({attr:function(e,t,n){var r,i,a=e.nodeType;if(3!==a&&8!==a&&2!==a)return void 0===e.getAttribute?j.prop(e,t,n):(1===a&&j.isXMLDoc(e)||(i=j.attrHooks[t.toLowerCase()]||(j.expr.match.bool.test(t)?mt:void 0)),void 0!==n?null===n?void j.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=j.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&I(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(q);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),mt={set:function(e,t,n){return!1===t?j.removeAttr(e,n):e.setAttribute(n,n),n}},j.each(j.expr.match.bool.source.match(/\w+/g),function(e,t){var n=gt[t]||j.find.attr;gt[t]=function(e,t,r){var i,a,o=t.toLowerCase();return r||(a=gt[o],gt[o]=i,i=null!=n(e,t,r)?o:null,gt[o]=a),i}});var yt=/^(?:input|select|textarea|button)$/i,bt=/^(?:a|area)$/i;function vt(e){return(e.match(q)||[]).join(" ")}function kt(e){return e.getAttribute&&e.getAttribute("class")||""}function wt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(q)||[]}j.fn.extend({prop:function(e,t){return W(this,j.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[j.propFix[e]||e]})}}),j.extend({prop:function(e,t,n){var r,i,a=e.nodeType;if(3!==a&&8!==a&&2!==a)return 1===a&&j.isXMLDoc(e)||(t=j.propFix[t]||t,i=j.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=j.find.attr(e,"tabindex");return t?parseInt(t,10):yt.test(e.nodeName)||bt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),y.optSelected||(j.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),j.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){j.propFix[this.toLowerCase()]=this}),j.fn.extend({addClass:function(e){var t,n,r,i,a,o,s,l=0;if(b(e))return this.each(function(t){j(this).addClass(e.call(this,t,kt(this)))});if((t=wt(e)).length)for(;n=this[l++];)if(i=kt(n),r=1===n.nodeType&&" "+vt(i)+" "){for(o=0;a=t[o++];)r.indexOf(" "+a+" ")<0&&(r+=a+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,a,o,s,l=0;if(b(e))return this.each(function(t){j(this).removeClass(e.call(this,t,kt(this)))});if(!arguments.length)return this.attr("class","");if((t=wt(e)).length)for(;n=this[l++];)if(i=kt(n),r=1===n.nodeType&&" "+vt(i)+" "){for(o=0;a=t[o++];)for(;r.indexOf(" "+a+" ")>-1;)r=r.replace(" "+a+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):b(e)?this.each(function(n){j(this).toggleClass(e.call(this,n,kt(this),t),t)}):this.each(function(){var t,i,a,o;if(r)for(i=0,a=j(this),o=wt(e);t=o[i++];)a.hasClass(t)?a.removeClass(t):a.addClass(t);else void 0!==e&&"boolean"!==n||((t=kt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+vt(kt(n))+" ").indexOf(t)>-1)return!0;return!1}});var _t=/\r/g;j.fn.extend({val:function(e){var t,n,r,i=this[0];return arguments.length?(r=b(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,j(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=j.map(i,function(e){return null==e?"":e+""})),(t=j.valHooks[this.type]||j.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))})):i?(t=j.valHooks[i.type]||j.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(_t,""):null==n?"":n:void 0}}),j.extend({valHooks:{option:{get:function(e){var t=j.find.attr(e,"value");return null!=t?t:vt(j.text(e))}},select:{get:function(e){var t,n,r,i=e.options,a=e.selectedIndex,o="select-one"===e.type,s=o?null:[],l=o?a+1:i.length;for(r=a<0?l:o?a:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),a}}}}),j.each(["radio","checkbox"],function(){j.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=j.inArray(j(e).val(),t)>-1}},y.checkOn||(j.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in n;var jt=/^(?:focusinfocus|focusoutblur)$/,Ct=function(e){e.stopPropagation()};j.extend(j.event,{trigger:function(e,t,r,i){var a,s,l,c,u,d,h,p,m=[r||o],g=f.call(e,"type")?e.type:e,y=f.call(e,"namespace")?e.namespace.split("."):[];if(s=p=l=r=r||o,3!==r.nodeType&&8!==r.nodeType&&!jt.test(g+j.event.triggered)&&(g.indexOf(".")>-1&&(y=g.split("."),g=y.shift(),y.sort()),u=g.indexOf(":")<0&&"on"+g,(e=e[j.expando]?e:new j.Event(g,"object"==typeof e&&e)).isTrigger=i?2:3,e.namespace=y.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+y.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=r),t=null==t?[e]:j.makeArray(t,[e]),h=j.event.special[g]||{},i||!h.trigger||!1!==h.trigger.apply(r,t))){if(!i&&!h.noBubble&&!v(r)){for(c=h.delegateType||g,jt.test(c+g)||(s=s.parentNode);s;s=s.parentNode)m.push(s),l=s;l===(r.ownerDocument||o)&&m.push(l.defaultView||l.parentWindow||n)}for(a=0;(s=m[a++])&&!e.isPropagationStopped();)p=s,e.type=a>1?c:h.bindType||g,(d=(J.get(s,"events")||{})[e.type]&&J.get(s,"handle"))&&d.apply(s,t),(d=u&&s[u])&&d.apply&&Y(s)&&(e.result=d.apply(s,t),!1===e.result&&e.preventDefault());return e.type=g,i||e.isDefaultPrevented()||h._default&&!1!==h._default.apply(m.pop(),t)||!Y(r)||u&&b(r[g])&&!v(r)&&((l=r[u])&&(r[u]=null),j.event.triggered=g,e.isPropagationStopped()&&p.addEventListener(g,Ct),r[g](),e.isPropagationStopped()&&p.removeEventListener(g,Ct),j.event.triggered=void 0,l&&(r[u]=l)),e.result}},simulate:function(e,t,n){var r=j.extend(new j.Event,n,{type:e,isSimulated:!0});j.event.trigger(r,null,t)}}),j.fn.extend({trigger:function(e,t){return this.each(function(){j.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return j.event.trigger(e,t,n,!0)}}),y.focusin||j.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){j.event.simulate(t,e.target,j.event.fix(e))};j.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var Et=n.location,xt=Date.now(),St=/\?/;j.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new n.DOMParser).parseFromString(e,"text/xml")}catch(r){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||j.error("Invalid XML: "+e),t};var Tt=/\[\]$/,Ot=/\r?\n/g,It=/^(?:submit|button|image|reset|file)$/i,zt=/^(?:input|select|textarea|keygen)/i;function Dt(e,t,n,r){var i;if(Array.isArray(t))j.each(t,function(t,i){n||Tt.test(e)?r(e,i):Dt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==_(t))r(e,t);else for(i in t)Dt(e+"["+i+"]",t[i],n,r)}j.param=function(e,t){var n,r=[],i=function(e,t){var n=b(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!j.isPlainObject(e))j.each(e,function(){i(this.name,this.value)});else for(n in e)Dt(n,e[n],t,i);return r.join("&")},j.fn.extend({serialize:function(){return j.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=j.prop(this,"elements");return e?j.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!j(this).is(":disabled")&&zt.test(this.nodeName)&&!It.test(e)&&(this.checked||!me.test(e))}).map(function(e,t){var n=j(this).val();return null==n?null:Array.isArray(n)?j.map(n,function(e){return{name:t.name,value:e.replace(Ot,"\r\n")}}):{name:t.name,value:n.replace(Ot,"\r\n")}}).get()}});var At=/%20/g,Nt=/#.*$/,Pt=/([?&])_=[^&]*/,Rt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Mt=/^(?:GET|HEAD)$/,qt=/^\/\//,Lt={},Bt={},Ft="*/".concat("*"),Vt=o.createElement("a");function Ut(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,a=t.toLowerCase().match(q)||[];if(b(n))for(;r=a[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function Ht(e,t,n,r){var i={},a=e===Bt;function o(s){var l;return i[s]=!0,j.each(e[s]||[],function(e,s){var c=s(t,n,r);return"string"!=typeof c||a||i[c]?a?!(l=c):void 0:(t.dataTypes.unshift(c),o(c),!1)}),l}return o(t.dataTypes[0])||!i["*"]&&o("*")}function Wt(e,t){var n,r,i=j.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&j.extend(!0,e,r),e}Vt.href=Et.href,j.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Ft,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":j.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Wt(Wt(e,j.ajaxSettings),t):Wt(j.ajaxSettings,e)},ajaxPrefilter:Ut(Lt),ajaxTransport:Ut(Bt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var r,i,a,s,l,c,u,d,h,p,f=j.ajaxSetup({},t),m=f.context||f,g=f.context&&(m.nodeType||m.jquery)?j(m):j.event,y=j.Deferred(),b=j.Callbacks("once memory"),v=f.statusCode||{},k={},w={},_="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(u){if(!s)for(s={};t=Rt.exec(a);)s[t[1].toLowerCase()+" "]=(s[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=s[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return u?a:null},setRequestHeader:function(e,t){return null==u&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,k[e]=t),this},overrideMimeType:function(e){return null==u&&(f.mimeType=e),this},statusCode:function(e){var t;if(e)if(u)C.always(e[C.status]);else for(t in e)v[t]=[v[t],e[t]];return this},abort:function(e){var t=e||_;return r&&r.abort(t),E(0,t),this}};if(y.promise(C),f.url=((e||f.url||Et.href)+"").replace(qt,Et.protocol+"//"),f.type=t.method||t.type||f.method||f.type,f.dataTypes=(f.dataType||"*").toLowerCase().match(q)||[""],null==f.crossDomain){c=o.createElement("a");try{c.href=f.url,c.href=c.href,f.crossDomain=Vt.protocol+"//"+Vt.host!=c.protocol+"//"+c.host}catch(x){f.crossDomain=!0}}if(f.data&&f.processData&&"string"!=typeof f.data&&(f.data=j.param(f.data,f.traditional)),Ht(Lt,f,t,C),u)return C;for(h in(d=j.event&&f.global)&&0==j.active++&&j.event.trigger("ajaxStart"),f.type=f.type.toUpperCase(),f.hasContent=!Mt.test(f.type),i=f.url.replace(Nt,""),f.hasContent?f.data&&f.processData&&0===(f.contentType||"").indexOf("application/x-www-form-urlencoded")&&(f.data=f.data.replace(At,"+")):(p=f.url.slice(i.length),f.data&&(f.processData||"string"==typeof f.data)&&(i+=(St.test(i)?"&":"?")+f.data,delete f.data),!1===f.cache&&(i=i.replace(Pt,"$1"),p=(St.test(i)?"&":"?")+"_="+xt+++p),f.url=i+p),f.ifModified&&(j.lastModified[i]&&C.setRequestHeader("If-Modified-Since",j.lastModified[i]),j.etag[i]&&C.setRequestHeader("If-None-Match",j.etag[i])),(f.data&&f.hasContent&&!1!==f.contentType||t.contentType)&&C.setRequestHeader("Content-Type",f.contentType),C.setRequestHeader("Accept",f.dataTypes[0]&&f.accepts[f.dataTypes[0]]?f.accepts[f.dataTypes[0]]+("*"!==f.dataTypes[0]?", "+Ft+"; q=0.01":""):f.accepts["*"]),f.headers)C.setRequestHeader(h,f.headers[h]);if(f.beforeSend&&(!1===f.beforeSend.call(m,C,f)||u))return C.abort();if(_="abort",b.add(f.complete),C.done(f.success),C.fail(f.error),r=Ht(Bt,f,t,C)){if(C.readyState=1,d&&g.trigger("ajaxSend",[C,f]),u)return C;f.async&&f.timeout>0&&(l=n.setTimeout(function(){C.abort("timeout")},f.timeout));try{u=!1,r.send(k,E)}catch(x){if(u)throw x;E(-1,x)}}else E(-1,"No Transport");function E(e,t,o,s){var c,h,p,k,w,_=t;u||(u=!0,l&&n.clearTimeout(l),r=void 0,a=s||"",C.readyState=e>0?4:0,c=e>=200&&e<300||304===e,o&&(k=function(e,t,n){for(var r,i,a,o,s=e.contents,l=e.dataTypes;"*"===l[0];)l.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){l.unshift(i);break}if(l[0]in n)a=l[0];else{for(i in n){if(!l[0]||e.converters[i+" "+l[0]]){a=i;break}o||(o=i)}a=a||o}if(a)return a!==l[0]&&l.unshift(a),n[a]}(f,C,o)),k=function(e,t,n,r){var i,a,o,s,l,c={},u=e.dataTypes.slice();if(u[1])for(o in e.converters)c[o.toLowerCase()]=e.converters[o];for(a=u.shift();a;)if(e.responseFields[a]&&(n[e.responseFields[a]]=t),!l&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=a,a=u.shift())if("*"===a)a=l;else if("*"!==l&&l!==a){if(!(o=c[l+" "+a]||c["* "+a]))for(i in c)if((s=i.split(" "))[1]===a&&(o=c[l+" "+s[0]]||c["* "+s[0]])){!0===o?o=c[i]:!0!==c[i]&&(a=s[0],u.unshift(s[1]));break}if(!0!==o)if(o&&e.throws)t=o(t);else try{t=o(t)}catch(x){return{state:"parsererror",error:o?x:"No conversion from "+l+" to "+a}}}return{state:"success",data:t}}(f,k,C,c),c?(f.ifModified&&((w=C.getResponseHeader("Last-Modified"))&&(j.lastModified[i]=w),(w=C.getResponseHeader("etag"))&&(j.etag[i]=w)),204===e||"HEAD"===f.type?_="nocontent":304===e?_="notmodified":(_=k.state,h=k.data,c=!(p=k.error))):(p=_,!e&&_||(_="error",e<0&&(e=0))),C.status=e,C.statusText=(t||_)+"",c?y.resolveWith(m,[h,_,C]):y.rejectWith(m,[C,_,p]),C.statusCode(v),v=void 0,d&&g.trigger(c?"ajaxSuccess":"ajaxError",[C,f,c?h:p]),b.fireWith(m,[C,_]),d&&(g.trigger("ajaxComplete",[C,f]),--j.active||j.event.trigger("ajaxStop")))}return C},getJSON:function(e,t,n){return j.get(e,t,n,"json")},getScript:function(e,t){return j.get(e,void 0,t,"script")}}),j.each(["get","post"],function(e,t){j[t]=function(e,n,r,i){return b(n)&&(i=i||r,r=n,n=void 0),j.ajax(j.extend({url:e,type:t,dataType:i,data:n,success:r},j.isPlainObject(e)&&e))}}),j._evalUrl=function(e,t){return j.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){j.globalEval(e,t)}})},j.fn.extend({wrapAll:function(e){var t;return this[0]&&(b(e)&&(e=e.call(this[0])),t=j(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return b(e)?this.each(function(t){j(this).wrapInner(e.call(this,t))}):this.each(function(){var t=j(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b(e);return this.each(function(n){j(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){j(this).replaceWith(this.childNodes)}),this}}),j.expr.pseudos.hidden=function(e){return!j.expr.pseudos.visible(e)},j.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},j.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(e){}};var Kt={0:200,1223:204},Gt=j.ajaxSettings.xhr();y.cors=!!Gt&&"withCredentials"in Gt,y.ajax=Gt=!!Gt,j.ajaxTransport(function(e){var t,r;if(y.cors||Gt&&!e.crossDomain)return{send:function(i,a){var o,s=e.xhr();if(s.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(o in e.xhrFields)s[o]=e.xhrFields[o];for(o in e.mimeType&&s.overrideMimeType&&s.overrideMimeType(e.mimeType),e.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest"),i)s.setRequestHeader(o,i[o]);t=function(e){return function(){t&&(t=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?a(0,"error"):a(s.status,s.statusText):a(Kt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=t(),r=s.onerror=s.ontimeout=t("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&n.setTimeout(function(){t&&r()})},t=t("abort");try{s.send(e.hasContent&&e.data||null)}catch(l){if(t)throw l}},abort:function(){t&&t()}}}),j.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),j.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return j.globalEval(e),e}}}),j.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),j.ajaxTransport("script",function(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(r,i){t=j(" - - diff --git a/favicon.ico b/favicon.ico deleted file mode 100644 index 841840df..00000000 Binary files a/favicon.ico and /dev/null differ diff --git a/fonts/Open_Sans-italic-300.woff b/fonts/Open_Sans-italic-300.woff deleted file mode 100644 index c543ae05..00000000 Binary files a/fonts/Open_Sans-italic-300.woff and /dev/null differ diff --git a/fonts/Open_Sans-italic-400.woff b/fonts/Open_Sans-italic-400.woff deleted file mode 100644 index 34f3eae8..00000000 Binary files a/fonts/Open_Sans-italic-400.woff and /dev/null differ diff --git a/fonts/Open_Sans-italic-600.woff b/fonts/Open_Sans-italic-600.woff deleted file mode 100644 index 2eaa468c..00000000 Binary files a/fonts/Open_Sans-italic-600.woff and /dev/null differ diff --git a/fonts/Open_Sans-italic-700.woff b/fonts/Open_Sans-italic-700.woff deleted file mode 100644 index f5f7974e..00000000 Binary files a/fonts/Open_Sans-italic-700.woff and /dev/null differ diff --git a/fonts/Open_Sans-italic-800.woff b/fonts/Open_Sans-italic-800.woff deleted file mode 100644 index edafee69..00000000 Binary files a/fonts/Open_Sans-italic-800.woff and /dev/null differ diff --git a/fonts/Open_Sans-normal-300.woff b/fonts/Open_Sans-normal-300.woff deleted file mode 100644 index c70aae49..00000000 Binary files a/fonts/Open_Sans-normal-300.woff and /dev/null differ diff --git a/fonts/Open_Sans-normal-400.woff b/fonts/Open_Sans-normal-400.woff deleted file mode 100644 index 799305af..00000000 Binary files a/fonts/Open_Sans-normal-400.woff and /dev/null differ diff --git a/fonts/Open_Sans-normal-600.woff b/fonts/Open_Sans-normal-600.woff deleted file mode 100644 index 55c50a36..00000000 Binary files a/fonts/Open_Sans-normal-600.woff and /dev/null differ diff --git a/fonts/Open_Sans-normal-700.woff b/fonts/Open_Sans-normal-700.woff deleted file mode 100644 index 18788e84..00000000 Binary files a/fonts/Open_Sans-normal-700.woff and /dev/null differ diff --git a/fonts/Open_Sans-normal-800.woff b/fonts/Open_Sans-normal-800.woff deleted file mode 100644 index 556ca357..00000000 Binary files a/fonts/Open_Sans-normal-800.woff and /dev/null differ diff --git a/fonts/fontawesome-webfont.eot b/fonts/fontawesome-webfont.eot deleted file mode 100644 index e9f60ca9..00000000 Binary files a/fonts/fontawesome-webfont.eot and /dev/null differ diff --git a/fonts/fontawesome-webfont.svg b/fonts/fontawesome-webfont.svg deleted file mode 100644 index 855c845e..00000000 --- a/fonts/fontawesome-webfont.svg +++ /dev/null @@ -1,2671 +0,0 @@ - - - - -Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 - By ,,, -Copyright Dave Gandy 2016. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/fonts/fontawesome-webfont.ttf b/fonts/fontawesome-webfont.ttf deleted file mode 100644 index 35acda2f..00000000 Binary files a/fonts/fontawesome-webfont.ttf and /dev/null differ diff --git a/fonts/fontawesome-webfont.woff b/fonts/fontawesome-webfont.woff deleted file mode 100644 index 400014a4..00000000 Binary files a/fonts/fontawesome-webfont.woff and /dev/null differ diff --git a/fonts/fontawesome-webfont.woff2 b/fonts/fontawesome-webfont.woff2 deleted file mode 100644 index 4d13fc60..00000000 Binary files a/fonts/fontawesome-webfont.woff2 and /dev/null differ diff --git a/images/0.png b/images/0.png deleted file mode 100644 index f37e3f17..00000000 Binary files a/images/0.png and /dev/null differ diff --git a/images/1.png b/images/1.png deleted file mode 100644 index b47a12b1..00000000 Binary files a/images/1.png and /dev/null differ diff --git a/images/2.png b/images/2.png deleted file mode 100644 index ab2e4340..00000000 Binary files a/images/2.png and /dev/null differ diff --git a/images/3.png b/images/3.png deleted file mode 100644 index 21aac2da..00000000 Binary files a/images/3.png and /dev/null differ diff --git a/images/4.png b/images/4.png deleted file mode 100644 index ae7d7b55..00000000 Binary files a/images/4.png and /dev/null differ diff --git a/images/404.png b/images/404.png deleted file mode 100644 index c84f7063..00000000 Binary files a/images/404.png and /dev/null differ diff --git a/images/cards.png b/images/cards.png deleted file mode 100644 index 16722411..00000000 Binary files a/images/cards.png and /dev/null differ diff --git a/images/fa-globe.png b/images/fa-globe.png deleted file mode 100644 index 7ba709fd..00000000 Binary files a/images/fa-globe.png and /dev/null differ diff --git a/images/icons/android-chrome-192x192.png b/images/icons/android-chrome-192x192.png deleted file mode 100644 index 1d86f89a..00000000 Binary files a/images/icons/android-chrome-192x192.png and /dev/null differ diff --git a/images/icons/android-chrome-512x512.png b/images/icons/android-chrome-512x512.png deleted file mode 100644 index 2d7c7d42..00000000 Binary files a/images/icons/android-chrome-512x512.png and /dev/null differ diff --git a/images/icons/apple-touch-icon.png b/images/icons/apple-touch-icon.png deleted file mode 100644 index e86b8d41..00000000 Binary files a/images/icons/apple-touch-icon.png and /dev/null differ diff --git a/images/icons/favicon-16x16.png b/images/icons/favicon-16x16.png deleted file mode 100644 index 136b7285..00000000 Binary files a/images/icons/favicon-16x16.png and /dev/null differ diff --git a/images/icons/favicon-32x32.png b/images/icons/favicon-32x32.png deleted file mode 100644 index 1d39a02c..00000000 Binary files a/images/icons/favicon-32x32.png and /dev/null differ diff --git a/images/icons/mstile-150x150.png b/images/icons/mstile-150x150.png deleted file mode 100644 index 6de600ca..00000000 Binary files a/images/icons/mstile-150x150.png and /dev/null differ diff --git a/images/icons/safari-pinned-tab.svg b/images/icons/safari-pinned-tab.svg deleted file mode 100644 index 29063dd6..00000000 --- a/images/icons/safari-pinned-tab.svg +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/images/loading.svg b/images/loading.svg deleted file mode 100644 index 70763105..00000000 --- a/images/loading.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - Loading... - - diff --git a/images/logo-dark@2x.png b/images/logo-dark@2x.png deleted file mode 100644 index 7d0850c5..00000000 Binary files a/images/logo-dark@2x.png and /dev/null differ diff --git a/images/logo-horizontal-white.png b/images/logo-horizontal-white.png deleted file mode 100644 index 38e7ffa4..00000000 Binary files a/images/logo-horizontal-white.png and /dev/null differ diff --git a/images/register-layout/logo-horizontal-white.png b/images/register-layout/logo-horizontal-white.png deleted file mode 100644 index 38e7ffa4..00000000 Binary files a/images/register-layout/logo-horizontal-white.png and /dev/null differ diff --git a/images/register-layout/wired-logo.png b/images/register-layout/wired-logo.png deleted file mode 100644 index aaa339c0..00000000 Binary files a/images/register-layout/wired-logo.png and /dev/null differ diff --git a/images/totp-countdown.png b/images/totp-countdown.png deleted file mode 100644 index 87b9fe14..00000000 Binary files a/images/totp-countdown.png and /dev/null differ diff --git a/images/two-factor/0.png b/images/two-factor/0.png deleted file mode 100644 index f37e3f17..00000000 Binary files a/images/two-factor/0.png and /dev/null differ diff --git a/images/two-factor/1.png b/images/two-factor/1.png deleted file mode 100644 index b47a12b1..00000000 Binary files a/images/two-factor/1.png and /dev/null differ diff --git a/images/two-factor/2.png b/images/two-factor/2.png deleted file mode 100644 index ab2e4340..00000000 Binary files a/images/two-factor/2.png and /dev/null differ diff --git a/images/two-factor/3.png b/images/two-factor/3.png deleted file mode 100644 index 21aac2da..00000000 Binary files a/images/two-factor/3.png and /dev/null differ diff --git a/images/two-factor/4.png b/images/two-factor/4.png deleted file mode 100644 index ae7d7b55..00000000 Binary files a/images/two-factor/4.png and /dev/null differ diff --git a/images/two-factor/6.png b/images/two-factor/6.png deleted file mode 100644 index ab2e4340..00000000 Binary files a/images/two-factor/6.png and /dev/null differ diff --git a/images/u2fkey.jpg b/images/u2fkey.jpg deleted file mode 100644 index 8013df0e..00000000 Binary files a/images/u2fkey.jpg and /dev/null differ diff --git a/images/wired-logo.png b/images/wired-logo.png deleted file mode 100644 index aaa339c0..00000000 Binary files a/images/wired-logo.png and /dev/null differ diff --git a/images/yubikey.jpg b/images/yubikey.jpg deleted file mode 100644 index 9ddf755d..00000000 Binary files a/images/yubikey.jpg and /dev/null differ diff --git a/index.html b/index.html deleted file mode 100644 index 066d10ba..00000000 --- a/index.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - Bitwarden Web Vault - - - - - - - - - - -
-
- -

- -

-
-
-
- - - diff --git a/locales/af/messages.json b/locales/af/messages.json deleted file mode 100644 index feee20b1..00000000 --- a/locales/af/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$ Webkluis", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "Welke tipe item is dit?" - }, - "name": { - "message": "Naam" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "New URI" - }, - "username": { - "message": "Gebruikersnaam" - }, - "password": { - "message": "Wagwoord" - }, - "newPassword": { - "message": "New Password" - }, - "passphrase": { - "message": "Wagfrase" - }, - "notes": { - "message": "Notas" - }, - "customFields": { - "message": "Custom Fields" - }, - "cardholderName": { - "message": "Kaarthouernaam" - }, - "number": { - "message": "Nommer" - }, - "brand": { - "message": "Handelsmerk" - }, - "expiration": { - "message": "Expiration" - }, - "securityCode": { - "message": "Security Code (CVV)" - }, - "identityName": { - "message": "Identity Name" - }, - "company": { - "message": "Maatskappy" - }, - "ssn": { - "message": "Identiteitsnommer" - }, - "passportNumber": { - "message": "Paspoortnommer" - }, - "licenseNumber": { - "message": "Lisensienommer" - }, - "email": { - "message": "E-pos" - }, - "phone": { - "message": "Phone" - }, - "january": { - "message": "Januarie" - }, - "february": { - "message": "Februarie" - }, - "march": { - "message": "Maart" - }, - "april": { - "message": "April" - }, - "may": { - "message": "Mei" - }, - "june": { - "message": "Junie" - }, - "july": { - "message": "Julie" - }, - "august": { - "message": "Augustus" - }, - "september": { - "message": "September" - }, - "october": { - "message": "Oktober" - }, - "november": { - "message": "November" - }, - "december": { - "message": "Desember" - }, - "title": { - "message": "Titel" - }, - "mr": { - "message": "Mnr." - }, - "mrs": { - "message": "Mev." - }, - "ms": { - "message": "Mej." - }, - "dr": { - "message": "Dr." - }, - "expirationMonth": { - "message": "Vervalmaand" - }, - "expirationYear": { - "message": "Vervaljaar" - }, - "authenticatorKeyTotp": { - "message": "Authenticator Key (TOTP)" - }, - "folder": { - "message": "Vouer" - }, - "newCustomField": { - "message": "New Custom Field" - }, - "value": { - "message": "Waarde" - }, - "dragToSort": { - "message": "Drag to sort" - }, - "cfTypeText": { - "message": "Teks" - }, - "cfTypeHidden": { - "message": "Hidden" - }, - "cfTypeBoolean": { - "message": "Boolean" - }, - "remove": { - "message": "Remove" - }, - "unassigned": { - "message": "Unassigned" - }, - "noneFolder": { - "message": "Geen vouer", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Voeg vouer toe" - }, - "editFolder": { - "message": "Wysig vouer" - }, - "baseDomain": { - "message": "Basisdomein" - }, - "host": { - "message": "Gasheer", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Presies" - }, - "startsWith": { - "message": "Begin met" - }, - "regEx": { - "message": "Regular expression", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Match Detection", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Default match detection", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Nooit" - }, - "toggleVisibility": { - "message": "Tokkel sigbaarheid" - }, - "toggleCollapse": { - "message": "Tokkel invou", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Genereer Wagwoord" - }, - "checkPassword": { - "message": "Gaan na of wagwoord blootgestel is." - }, - "passwordExposed": { - "message": "Hierdie wagwoord is $VALUE$ keer in databreuke blootgestel. U behoort dit te verander.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "Hierdie wagwoord is in geen bekende databreuke gevind nie. Dit behoort veilig vir gebruik te wees." - }, - "save": { - "message": "Bewaar" - }, - "cancel": { - "message": "Kanselleer" - }, - "canceled": { - "message": "Gekanselleer" - }, - "close": { - "message": "Close" - }, - "delete": { - "message": "Skrap" - }, - "favorite": { - "message": "Gunsteling" - }, - "unfavorite": { - "message": "Unfavorite" - }, - "edit": { - "message": "Wysig" - }, - "searchCollection": { - "message": "Search Collection" - }, - "searchFolder": { - "message": "Search Folder" - }, - "searchFavorites": { - "message": "Search Favorites" - }, - "searchType": { - "message": "Search Type", - "description": "Search item type" - }, - "searchVault": { - "message": "Search Vault" - }, - "allItems": { - "message": "Alle items" - }, - "favorites": { - "message": "Gunstelinge" - }, - "types": { - "message": "Tipes" - }, - "typeLogin": { - "message": "Aantekening" - }, - "typeCard": { - "message": "Kaart" - }, - "typeIdentity": { - "message": "Identiteit" - }, - "typeSecureNote": { - "message": "Beveiligde nota" - }, - "folders": { - "message": "Vouers" - }, - "collections": { - "message": "Versamelings" - }, - "firstName": { - "message": "First Name" - }, - "middleName": { - "message": "Middle Name" - }, - "lastName": { - "message": "Last Name" - }, - "address1": { - "message": "Adres 1" - }, - "address2": { - "message": "Adres 2" - }, - "address3": { - "message": "Adres 3" - }, - "cityTown": { - "message": "Stad / Dorp" - }, - "stateProvince": { - "message": "Staat / Provinsie" - }, - "zipPostalCode": { - "message": "Poskode" - }, - "country": { - "message": "Land" - }, - "shared": { - "message": "Gedeel" - }, - "attachments": { - "message": "Aanhegsels" - }, - "select": { - "message": "Kies" - }, - "addItem": { - "message": "Add Item" - }, - "editItem": { - "message": "Edit Item" - }, - "viewItem": { - "message": "View Item" - }, - "ex": { - "message": "ex.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Ander" - }, - "share": { - "message": "Share" - }, - "valueCopied": { - "message": "$VALUE$ copied", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Copy Value", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Copy Password", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Copy Username", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Copy Number", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Copy Security Code", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Copy URI", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "My kluis" - }, - "vault": { - "message": "Kluis" - }, - "shareSelected": { - "message": "Share Selected" - }, - "deleteSelected": { - "message": "Delete Selected" - }, - "moveSelected": { - "message": "Move Selected" - }, - "selectAll": { - "message": "Select All" - }, - "unselectAll": { - "message": "Unselect All" - }, - "launch": { - "message": "Launch" - }, - "newAttachment": { - "message": "Add New Attachment" - }, - "deletedAttachment": { - "message": "Deleted attachment" - }, - "deleteAttachmentConfirmation": { - "message": "Is u seker u wil hierdie aanhegsel skrap?" - }, - "attachmentSaved": { - "message": "Die aanhegsel is bewaar." - }, - "file": { - "message": "Lêer" - }, - "selectFile": { - "message": "Kies ’n lêer." - }, - "maxFileSize": { - "message": "Maksimum lêergrootte is 100 MB." - }, - "updateKey": { - "message": "U kan eers hierdie funksie gebruik wanneer u u enkripsiesleutel bygewerk het." - }, - "addedItem": { - "message": "Added item" - }, - "editedItem": { - "message": "Edited item" - }, - "sharedItem": { - "message": "Shared item" - }, - "sharedItems": { - "message": "Shared items" - }, - "deleteItem": { - "message": "Delete Item" - }, - "deleteFolder": { - "message": "Delete Folder" - }, - "deleteAttachment": { - "message": "Delete Attachment" - }, - "deleteItemConfirmation": { - "message": "Do you really want to send to the trash?" - }, - "deletedItem": { - "message": "Item sent to trash" - }, - "deletedItems": { - "message": "Items sent to trash" - }, - "movedItems": { - "message": "Moved items" - }, - "overwritePasswordConfirmation": { - "message": "Are you sure you want to overwrite the current password?" - }, - "editedFolder": { - "message": "Edited folder" - }, - "addedFolder": { - "message": "Added folder" - }, - "deleteFolderConfirmation": { - "message": "Are you sure you want to delete this folder?" - }, - "deletedFolder": { - "message": "Deleted folder" - }, - "loggedOut": { - "message": "Logged out" - }, - "loginExpired": { - "message": "Your login session has expired." - }, - "logOutConfirmation": { - "message": "Are you sure you want to log out?" - }, - "logOut": { - "message": "Log Out" - }, - "ok": { - "message": "Goed" - }, - "yes": { - "message": "Ja" - }, - "no": { - "message": "Nee" - }, - "loginOrCreateNewAccount": { - "message": "Log in or create a new account to access your secure vault." - }, - "createAccount": { - "message": "Skep rekening" - }, - "logIn": { - "message": "Teken aan" - }, - "submit": { - "message": "Dien in" - }, - "emailAddressDesc": { - "message": "You'll use your email address to log in." - }, - "yourName": { - "message": "U naam" - }, - "yourNameDesc": { - "message": "Wat moet ons u noem?" - }, - "masterPass": { - "message": "Hoofwagwoord" - }, - "masterPassDesc": { - "message": "The master password is the password you use to access your vault. It is very important that you do not forget your master password. There is no way to recover the password in the event that you forget it." - }, - "masterPassHintDesc": { - "message": "A master password hint can help you remember your password if you forget it." - }, - "reTypeMasterPass": { - "message": "Re-type Master Password" - }, - "masterPassHint": { - "message": "Hoofwagwoordwenk (opsioneel)" - }, - "masterPassHintLabel": { - "message": "Hoofwagwoordwenk" - }, - "settings": { - "message": "Instellings" - }, - "passwordHint": { - "message": "Wagwoordwenk" - }, - "enterEmailToGetHint": { - "message": "Enter your account email address to receive your master password hint." - }, - "getMasterPasswordHint": { - "message": "Get master password hint" - }, - "emailRequired": { - "message": "Email address is required." - }, - "invalidEmail": { - "message": "Invalid email address." - }, - "masterPassRequired": { - "message": "Master password is required." - }, - "masterPassLength": { - "message": "Master password must be at least 8 characters long." - }, - "masterPassDoesntMatch": { - "message": "Master password confirmation does not match." - }, - "newAccountCreated": { - "message": "Your new account has been created! You may now log in." - }, - "masterPassSent": { - "message": "We've sent you an email with your master password hint." - }, - "unexpectedError": { - "message": "An unexpected error has occurred." - }, - "emailAddress": { - "message": "Email Address" - }, - "yourVaultIsLocked": { - "message": "Your vault is locked. Verify your master password to continue." - }, - "unlock": { - "message": "Unlock" - }, - "loggedInAsEmailOn": { - "message": "Logged in as $EMAIL$ on $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Invalid master password" - }, - "lockNow": { - "message": "Lock Now" - }, - "noItemsInList": { - "message": "There are no items to list." - }, - "noCollectionsInList": { - "message": "There are no collections to list." - }, - "noGroupsInList": { - "message": "There are no groups to list." - }, - "noUsersInList": { - "message": "There are no users to list." - }, - "noEventsInList": { - "message": "There are no events to list." - }, - "newOrganization": { - "message": "New Organization" - }, - "noOrganizationsList": { - "message": "You do not belong to any organizations. Organizations allow you to securely share items with other users." - }, - "versionNumber": { - "message": "Version $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Enter the 6 digit verification code from your authenticator app." - }, - "enterVerificationCodeEmail": { - "message": "Enter the 6 digit verification code that was emailed to $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "Verification email sent to $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Remember me" - }, - "sendVerificationCodeEmailAgain": { - "message": "Send verification code email again" - }, - "useAnotherTwoStepMethod": { - "message": "Use another two-step login method" - }, - "insertYubiKey": { - "message": "Insert your YubiKey into your computer's USB port, then touch its button." - }, - "insertU2f": { - "message": "Insert your security key into your computer's USB port. If it has a button, touch it." - }, - "loginUnavailable": { - "message": "Login Unavailable" - }, - "noTwoStepProviders": { - "message": "This account has two-step login enabled, however, none of the configured two-step providers are supported by this web browser." - }, - "noTwoStepProviders2": { - "message": "Please use a supported web browser (such as Chrome) and/or add additional providers that are better supported across web browsers (such as an authenticator app)." - }, - "twoStepOptions": { - "message": "Two-step Login Options" - }, - "recoveryCodeDesc": { - "message": "Lost access to all of your two-factor providers? Use your recovery code to disable all two-factor providers from your account." - }, - "recoveryCodeTitle": { - "message": "Recovery Code" - }, - "authenticatorAppTitle": { - "message": "Authenticator App" - }, - "authenticatorAppDesc": { - "message": "Use an authenticator app (such as Authy or Google Authenticator) to generate time-based verification codes.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "YubiKey OTP Security Key" - }, - "yubiKeyDesc": { - "message": "Use a YubiKey to access your account. Works with YubiKey 4 series, 5 series, and NEO devices." - }, - "duoDesc": { - "message": "Verify with Duo Security using the Duo Mobile app, SMS, phone call, or U2F security key.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Verify with Duo Security for your organization using the Duo Mobile app, SMS, phone call, or U2F security key.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Use any FIDO U2F enabled security key to access your account." - }, - "u2fTitle": { - "message": "FIDO U2F Security Key" - }, - "emailTitle": { - "message": "Email" - }, - "emailDesc": { - "message": "Verification codes will be emailed to you." - }, - "continue": { - "message": "Continue" - }, - "organization": { - "message": "Organization" - }, - "organizations": { - "message": "Organizations" - }, - "shareDesc": { - "message": "Choose an organization that you wish to share this item with. Sharing transfers ownership of the item to the organization. You will no longer be the direct owner of this item once it has been shared." - }, - "shareManyDesc": { - "message": "Choose an organization that you wish to share these items with. Sharing transfers ownership of the items to the organization. You will no longer be the direct owner of these items once they have been shared." - }, - "collectionsDesc": { - "message": "Edit the collections that this item is being shared with. Only organization users with access to these collections will be able to see this item." - }, - "deleteSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to delete. Are you sure you want to delete all of these items?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Choose a folder that you would like to move the $COUNT$ selected item(s) to.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "You have selected $COUNT$ item(s). $SHAREABLE_COUNT$ items are sharable, $NONSHAREABLE_COUNT$ are not.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Verification Code (TOTP)" - }, - "copyVerificationCode": { - "message": "Copy Verification Code" - }, - "warning": { - "message": "Warning" - }, - "confirmVaultExport": { - "message": "Confirm Vault Export" - }, - "exportWarningDesc": { - "message": "This export contains your vault data in an unencrypted format. You should not store or send the exported file over unsecure channels (such as email). Delete it immediately after you are done using it." - }, - "encExportWarningDesc": { - "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." - }, - "exportMasterPassword": { - "message": "Enter your master password to export your vault data." - }, - "exportVault": { - "message": "Export Vault" - }, - "fileFormat": { - "message": "File Format" - }, - "exportSuccess": { - "message": "Your vault data has been exported." - }, - "passwordGenerator": { - "message": "Password Generator" - }, - "minComplexityScore": { - "message": "Minimum Complexity Score" - }, - "minNumbers": { - "message": "Minimum Numbers" - }, - "minSpecial": { - "message": "Minimum Special", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Avoid Ambiguous Characters" - }, - "regeneratePassword": { - "message": "Regenerate Password" - }, - "length": { - "message": "Length" - }, - "numWords": { - "message": "Number of Words" - }, - "wordSeparator": { - "message": "Word Separator" - }, - "capitalize": { - "message": "Capitalize", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Include Number" - }, - "passwordHistory": { - "message": "Password History" - }, - "noPasswordsInList": { - "message": "There are no passwords to list." - }, - "clear": { - "message": "Clear", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Account Updated" - }, - "changeEmail": { - "message": "Change Email" - }, - "newEmail": { - "message": "New Email" - }, - "code": { - "message": "Code" - }, - "changeEmailDesc": { - "message": "We have emailed a verification code to $EMAIL$. Please check your email for this code and enter it below to finalize the email address change.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour." - }, - "emailChanged": { - "message": "Email Changed" - }, - "logBackIn": { - "message": "Please log back in." - }, - "logBackInOthersToo": { - "message": "Please log back in. If you are using other Bitwarden applications log out and back in to those as well." - }, - "changeMasterPassword": { - "message": "Change Master Password" - }, - "masterPasswordChanged": { - "message": "Master Password Changed" - }, - "currentMasterPass": { - "message": "Current Master Password" - }, - "newMasterPass": { - "message": "New Master Password" - }, - "confirmNewMasterPass": { - "message": "Confirm New Master Password" - }, - "encKeySettings": { - "message": "Encryption Key Settings" - }, - "kdfAlgorithm": { - "message": "KDF Algorithm" - }, - "kdfIterations": { - "message": "KDF Iterations" - }, - "kdfIterationsDesc": { - "message": "Higher KDF iterations can help protect your master password from being brute forced by an attacker. We recommend a value of $VALUE$ or more.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Setting your KDF iterations too high could result in poor performance when logging into (and unlocking) Bitwarden on devices with slower CPUs. We recommend that you increase the value in increments of $INCREMENT$ and then test all of your devices.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Change KDF" - }, - "encKeySettingsChanged": { - "message": "Encryption Key Settings Changed" - }, - "dangerZone": { - "message": "Danger Zone" - }, - "dangerZoneDesc": { - "message": "Careful, these actions are not reversible!" - }, - "deauthorizeSessions": { - "message": "Deauthorize Sessions" - }, - "deauthorizeSessionsDesc": { - "message": "Concerned your account is logged in on another device? Proceed below to deauthorize all computers or devices that you have previously used. This security step is recommended if you previously used a public computer or accidentally saved your password on a device that isn't yours. This step will also clear all previously remembered two-step login sessions." - }, - "deauthorizeSessionsWarning": { - "message": "Proceeding will also log you out of your current session, requiring you to log back in. You will also be prompted for two-step login again, if enabled. Active sessions on other devices may continue to remain active for up to one hour." - }, - "sessionsDeauthorized": { - "message": "All Sessions Deauthorized" - }, - "purgeVault": { - "message": "Purge Vault" - }, - "purgedOrganizationVault": { - "message": "Purged organization vault." - }, - "purgeVaultDesc": { - "message": "Proceed below to delete all items and folders in your vault. Items that belong to an organization that you share with will not be deleted." - }, - "purgeOrgVaultDesc": { - "message": "Proceed below to delete all items in the organization's vault." - }, - "purgeVaultWarning": { - "message": "Purging your vault is permanent. It cannot be undone." - }, - "vaultPurged": { - "message": "Your vault has been purged." - }, - "deleteAccount": { - "message": "Delete Account" - }, - "deleteAccountDesc": { - "message": "Proceed below to delete your account and all associated data." - }, - "deleteAccountWarning": { - "message": "Deleting your account is permanent. It cannot be undone." - }, - "accountDeleted": { - "message": "Account Deleted" - }, - "accountDeletedDesc": { - "message": "Your account has been closed and all associated data has been deleted." - }, - "myAccount": { - "message": "My Account" - }, - "tools": { - "message": "Tools" - }, - "importData": { - "message": "Import Data" - }, - "importSuccess": { - "message": "Data has been successfully imported into your vault." - }, - "importFormatError": { - "message": "Data is not formatted correctly. Please check your import file and try again." - }, - "importNothingError": { - "message": "Nothing was imported." - }, - "selectFormat": { - "message": "Select the format of the import file" - }, - "selectImportFile": { - "message": "Select the import file" - }, - "orCopyPasteFileContents": { - "message": "or copy/paste the import file contents" - }, - "instructionsFor": { - "message": "$NAME$ Instructions", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Options" - }, - "optionsDesc": { - "message": "Customize your web vault experience." - }, - "optionsUpdated": { - "message": "Options updated" - }, - "language": { - "message": "Language" - }, - "languageDesc": { - "message": "Change the language used by the web vault." - }, - "disableIcons": { - "message": "Disable Website Icons" - }, - "disableIconsDesc": { - "message": "Website Icons provide a recognizable image next to each login item in your vault." - }, - "enableGravatars": { - "message": "Enable Gravatars", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Use avatar images loaded from gravatar.com." - }, - "enableFullWidth": { - "message": "Enable Full Width Layout", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Allow the web vault to expand the full width of the browser window." - }, - "default": { - "message": "Default" - }, - "domainRules": { - "message": "Domain Rules" - }, - "domainRulesDesc": { - "message": "If you have the same login across multiple different website domains, you can mark the website as \"equivalent\". \"Global\" domains are ones already created for you by Bitwarden." - }, - "globalEqDomains": { - "message": "Global Equivalent Domains" - }, - "customEqDomains": { - "message": "Custom Equivalent Domains" - }, - "exclude": { - "message": "Exclude" - }, - "include": { - "message": "Include" - }, - "customize": { - "message": "Customize" - }, - "newCustomDomain": { - "message": "New Custom Domain" - }, - "newCustomDomainDesc": { - "message": "Enter a list of domains separated by commas. Only \"base\" domains are allowed. Do not enter subdomains. For example, enter \"google.com\" instead of \"www.google.com\". You can also enter \"androidapp://package.name\" to associate an android app with other website domains." - }, - "customDomainX": { - "message": "Custom Domain $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Domains updated" - }, - "twoStepLogin": { - "message": "Two-step Login" - }, - "twoStepLoginDesc": { - "message": "Secure your account by requiring an additional step when logging in." - }, - "twoStepLoginOrganizationDesc": { - "message": "Require two-step login for your organization's users by configuring providers at the organization level." - }, - "twoStepLoginRecoveryWarning": { - "message": "Enabling two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (ex. you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." - }, - "viewRecoveryCode": { - "message": "View Recovery Code" - }, - "providers": { - "message": "Providers", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Enable" - }, - "enabled": { - "message": "Enabled" - }, - "premium": { - "message": "Premium", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Premium Membership" - }, - "premiumRequired": { - "message": "Premium Required" - }, - "premiumRequiredDesc": { - "message": "A premium membership is required to use this feature." - }, - "youHavePremiumAccess": { - "message": "You have premium access" - }, - "alreadyPremiumFromOrg": { - "message": "You already have access to premium features because of an organization you are a member of." - }, - "manage": { - "message": "Manage" - }, - "disable": { - "message": "Disable" - }, - "twoStepLoginProviderEnabled": { - "message": "This two-step login provider is enabled on your account." - }, - "twoStepLoginAuthDesc": { - "message": "Enter your master password to modify two-step login settings." - }, - "twoStepAuthenticatorDesc": { - "message": "Follow these steps to set up two-step login with an authenticator app:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Download a two-step authenticator app" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Need a two-step authenticator app? Download one of the following" - }, - "iosDevices": { - "message": "iOS devices" - }, - "androidDevices": { - "message": "Android devices" - }, - "windowsDevices": { - "message": "Windows devices" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "These apps are recommended, however, other authenticator apps will also work." - }, - "twoStepAuthenticatorScanCode": { - "message": "Scan this QR code with your authenticator app" - }, - "key": { - "message": "Key" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Enter the resulting 6 digit verification code from the app" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "In case you need to add it to another device, below is the QR code (or key) required by your authenticator app." - }, - "twoStepDisableDesc": { - "message": "Are you sure you want to disable this two-step login provider?" - }, - "twoStepDisabled": { - "message": "Two-step login provider disabled." - }, - "twoFactorYubikeyAdd": { - "message": "Add a new YubiKey to your account" - }, - "twoFactorYubikeyPlugIn": { - "message": "Plug the YubiKey into your computer's USB port." - }, - "twoFactorYubikeySelectKey": { - "message": "Select the first empty YubiKey input field below." - }, - "twoFactorYubikeyTouchButton": { - "message": "Touch the YubiKey's button." - }, - "twoFactorYubikeySaveForm": { - "message": "Save the form." - }, - "twoFactorYubikeyWarning": { - "message": "Due to platform limitations, YubiKeys cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when YubiKeys cannot be used. Supported platforms:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Web vault, desktop application, CLI, and all browser extensions on a device with a USB port that can accept your YubiKey." - }, - "twoFactorYubikeySupportMobile": { - "message": "Mobile apps on a device with NFC capabilities or a USB port that can accept your YubiKey." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "U2F Key $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "NFC Support" - }, - "twoFactorYubikeySupportsNfc": { - "message": "One of my keys supports NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "If one of your YubiKeys supports NFC (such as a YubiKey NEO), you will be prompted on mobile devices whenever NFC availability is detected." - }, - "yubikeysUpdated": { - "message": "YubiKeys updated" - }, - "disableAllKeys": { - "message": "Disable All Keys" - }, - "twoFactorDuoDesc": { - "message": "Enter the Bitwarden application information from your Duo Admin panel." - }, - "twoFactorDuoIntegrationKey": { - "message": "Integration Key" - }, - "twoFactorDuoSecretKey": { - "message": "Secret Key" - }, - "twoFactorDuoApiHostname": { - "message": "API Hostname" - }, - "twoFactorEmailDesc": { - "message": "Follow these steps to set up two-step login with email:" - }, - "twoFactorEmailEnterEmail": { - "message": "Enter the email that you wish to receive verification codes" - }, - "twoFactorEmailEnterCode": { - "message": "Enter the resulting 6 digit verification code from the email" - }, - "sendEmail": { - "message": "Send Email" - }, - "twoFactorU2fAdd": { - "message": "Add a FIDO U2F security key to your account" - }, - "removeU2fConfirmation": { - "message": "Are you sure you want to remove this security key?" - }, - "readKey": { - "message": "Read Key" - }, - "keyCompromised": { - "message": "Key is compromised." - }, - "twoFactorU2fGiveName": { - "message": "Give the security key a friendly name to identify it." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Plug the security key into your computer's USB port and click the \"Read Key\" button." - }, - "twoFactorU2fTouchButton": { - "message": "If the security key has a button, touch it." - }, - "twoFactorU2fSaveForm": { - "message": "Save the form." - }, - "twoFactorU2fWarning": { - "message": "Due to platform limitations, FIDO U2F cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when FIDO U2F cannot be used. Supported platforms:" - }, - "twoFactorU2fSupportWeb": { - "message": "Web vault and browser extensions on a desktop/laptop with a U2F enabled browser (Chrome, Opera, Vivaldi, or Firefox with FIDO U2F enabled)." - }, - "twoFactorU2fWaiting": { - "message": "Waiting for you to touch the button on your security key" - }, - "twoFactorU2fClickSave": { - "message": "Click the \"Save\" button below to enable this security key for two-step login." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "There was a problem reading the security key. Try again." - }, - "twoFactorRecoveryYourCode": { - "message": "Your Bitwarden two-step login recovery code" - }, - "twoFactorRecoveryNoCode": { - "message": "You have not enabled any two-step login providers yet. After you have enabled a two-step login provider you can check back here for your recovery code." - }, - "printCode": { - "message": "Print Code", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Reports" - }, - "unsecuredWebsitesReport": { - "message": "Unsecured Websites Report" - }, - "unsecuredWebsitesReportDesc": { - "message": "Using unsecured websites with the http:// scheme can be dangerous. If the website allows, you should always access it using the https:// scheme so that your connection is encrypted." - }, - "unsecuredWebsitesFound": { - "message": "Unsecured Websites Found" - }, - "unsecuredWebsitesFoundDesc": { - "message": "We found $COUNT$ items in your vault with unsecured URIs. You should change their URI scheme to https:// if the website allows it.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "No items in your vault have unsecured URIs." - }, - "inactive2faReport": { - "message": "Inactive 2FA Report" - }, - "inactive2faReportDesc": { - "message": "Two-factor authentication (2FA) is an important security setting that helps secure your accounts. If the website offers it, you should always enable two-factor authentication." - }, - "inactive2faFound": { - "message": "Logins Without 2FA Found" - }, - "inactive2faFoundDesc": { - "message": "We found $COUNT$ website(s) in your vault that may not be configured with two-factor authentication (according to 2fa.directory). To further protect these accounts, you should enable two-factor authentication.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "No websites were found in your vault with a missing two-factor authentication configuration." - }, - "instructions": { - "message": "Instructions" - }, - "exposedPasswordsReport": { - "message": "Exposed Passwords Report" - }, - "exposedPasswordsReportDesc": { - "message": "Exposed passwords are passwords that have been uncovered in known data breaches that were released publicly or sold on the dark web by hackers." - }, - "exposedPasswordsFound": { - "message": "Exposed Passwords Found" - }, - "exposedPasswordsFoundDesc": { - "message": "We found $COUNT$ items in your vault that have passwords that were exposed in known data breaches. You should change them to use a new password.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "No items in your vault have passwords that have been exposed in known data breaches." - }, - "checkExposedPasswords": { - "message": "Check Exposed Passwords" - }, - "exposedXTimes": { - "message": "Exposed $COUNT$ time(s)", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Weak Passwords Report" - }, - "weakPasswordsReportDesc": { - "message": "Weak passwords can easily be guessed by hackers and automated tools that are used to crack passwords. The Bitwarden password generator can help you create strong passwords." - }, - "weakPasswordsFound": { - "message": "Weak Passwords Found" - }, - "weakPasswordsFoundDesc": { - "message": "We found $COUNT$ items in your vault with passwords that are not strong. You should update them to use stronger passwords.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "No items in your vault have weak passwords." - }, - "reusedPasswordsReport": { - "message": "Reused Passwords Report" - }, - "reusedPasswordsReportDesc": { - "message": "If a service that you use is compromised, reusing the same password elsewhere can allow hackers to easily gain access to more of your online accounts. You should use a unique password for every account or service." - }, - "reusedPasswordsFound": { - "message": "Reused Passwords Found" - }, - "reusedPasswordsFoundDesc": { - "message": "We found $COUNT$ passwords that are being reused in your vault. You should change them to a unique value.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "No logins in your vault have passwords that are being reused." - }, - "reusedXTimes": { - "message": "Reused $COUNT$ times", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Data Breach Report" - }, - "breachDesc": { - "message": "A \"breach\" is an incident where a site's data has been illegally accessed by hackers and then released publicly. Review the types of data that were compromised (email addresses, passwords, credit cards etc.) and take appropriate action, such as changing passwords." - }, - "breachCheckUsernameEmail": { - "message": "Check any usernames or email addresses that you use." - }, - "checkBreaches": { - "message": "Check Breaches" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ was not found in any known data breaches.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Good News", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ was found in $COUNT$ different data breaches online.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Breached Accounts Found" - }, - "compromisedData": { - "message": "Compromised data" - }, - "website": { - "message": "Website" - }, - "affectedUsers": { - "message": "Affected Users" - }, - "breachOccurred": { - "message": "Breach Occurred" - }, - "breachReported": { - "message": "Breach Reported" - }, - "reportError": { - "message": "An error occurred trying to load the report. Try again" - }, - "billing": { - "message": "Billing" - }, - "accountCredit": { - "message": "Account Credit", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Account Balance", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Add Credit", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Amount", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Added credit will appear on your account after the payment has been fully processed. Some payment methods are delayed and can take longer to process than others." - }, - "makeSureEnoughCredit": { - "message": "Please make sure that your account has enough credit available for this purchase. If your account does not have enough credit available, your default payment method on file will be used for the difference. You can add credit to your account from the Billing page." - }, - "creditAppliedDesc": { - "message": "Your account's credit can be used to make purchases. Any available credit will be automatically applied towards invoices generated for this account." - }, - "goPremium": { - "message": "Go Premium", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "You've upgraded to premium." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Upgrade your account to a premium membership and unlock some great additional features." - }, - "premiumSignUpStorage": { - "message": "1 GB encrypted storage for file attachments." - }, - "premiumSignUpTwoStep": { - "message": "Additional two-step login options such as YubiKey, FIDO U2F, and Duo." - }, - "premiumSignUpReports": { - "message": "Password hygiene, account health, and data breach reports to keep your vault safe." - }, - "premiumSignUpTotp": { - "message": "TOTP verification code (2FA) generator for logins in your vault." - }, - "premiumSignUpSupport": { - "message": "Priority customer support." - }, - "premiumSignUpFuture": { - "message": "All future premium features. More coming soon!" - }, - "premiumPrice": { - "message": "All for just $PRICE$ /year!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Toevoegings" - }, - "premiumAccess": { - "message": "Premium Access" - }, - "premiumAccessDesc": { - "message": "You can add premium access to all members of your organization for $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Bykomende berging (GB)" - }, - "additionalStorageGbDesc": { - "message": "# in bykomende GB" - }, - "additionalStorageIntervalDesc": { - "message": "Your plan comes with $SIZE$ of encrypted file storage. You can add additional storage for $PRICE$ per GB /$INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Opsomming" - }, - "total": { - "message": "Totaal" - }, - "year": { - "message": "jaar" - }, - "month": { - "message": "maand" - }, - "monthAbbr": { - "message": "md.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Your payment method will be charged immediately and then on a recurring basis each year. You may cancel at any time." - }, - "paymentCharged": { - "message": "Your payment method will be charged immediately and then on a recurring basis each $INTERVAL$. You may cancel at any time.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Your plan comes with a free 7 day trial. Your payment method will not be charged until the trial has ended. Billing will occur on a recurring basis each $INTERVAL$. You may cancel at any time.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Betaalinligting" - }, - "billingInformation": { - "message": "Billing Information" - }, - "creditCard": { - "message": "Kredietkaart" - }, - "paypalClickSubmit": { - "message": "Click the PayPal button to log into your PayPal account, then click the Submit button below to continue." - }, - "cancelSubscription": { - "message": "Kanselleer Intekening" - }, - "subscriptionCanceled": { - "message": "Die intekening is gekanselleer." - }, - "pendingCancellation": { - "message": "Hangende kansellasie" - }, - "subscriptionPendingCanceled": { - "message": "Die intekening is gemerk vir kansellasie aan die einde van die huidige faktureringstydperk." - }, - "reinstateSubscription": { - "message": "Reinstate Subscription" - }, - "reinstateConfirmation": { - "message": "Are you sure you want to remove the pending cancellation request and reinstate your subscription?" - }, - "reinstated": { - "message": "The subscription has been reinstated." - }, - "cancelConfirmation": { - "message": "Are you sure you want to cancel? You will lose access to all of this subscription's features at the end of this billing cycle." - }, - "canceledSubscription": { - "message": "Die intekening is gekanselleer." - }, - "neverExpires": { - "message": "Verval nooit" - }, - "status": { - "message": "Status" - }, - "nextCharge": { - "message": "Next Charge" - }, - "details": { - "message": "Details" - }, - "downloadLicense": { - "message": "Laai lisensie af" - }, - "updateLicense": { - "message": "Werk lisensie by" - }, - "updatedLicense": { - "message": "Lisensie bygewerk" - }, - "manageSubscription": { - "message": "Bestuur intekening" - }, - "storage": { - "message": "Berging" - }, - "addStorage": { - "message": "Voeg berging toe" - }, - "removeStorage": { - "message": "Verwyder berging" - }, - "subscriptionStorage": { - "message": "Your subscription has a total of $MAX_STORAGE$ GB of encrypted file storage. You are currently using $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Betaalmetode" - }, - "noPaymentMethod": { - "message": "Geen betaalmetode op lêer." - }, - "addPaymentMethod": { - "message": "Voeg betaalmetode toe" - }, - "changePaymentMethod": { - "message": "Verander betaalmetode" - }, - "invoices": { - "message": "Fakture" - }, - "noInvoices": { - "message": "Geen fakture." - }, - "paid": { - "message": "Betaal", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Nie betaal", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Transaksies", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "Geen transaksies." - }, - "chargeNoun": { - "message": "Charge", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Refund", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Any charges will appear on your statement as $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "GB of Storage To Add" - }, - "gbStorageRemove": { - "message": "GB of Storage To Remove" - }, - "storageAddNote": { - "message": "Adding storage will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." - }, - "storageRemoveNote": { - "message": "Removing storage will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." - }, - "adjustedStorage": { - "message": "Adjusted $AMOUNT$ GB of storage.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Contact Customer Support" - }, - "updatedPaymentMethod": { - "message": "Updated payment method." - }, - "purchasePremium": { - "message": "Purchase Premium" - }, - "licenseFile": { - "message": "Lisensielêer" - }, - "licenseFileDesc": { - "message": "U lisensielêer sal iets soos $FILE_NAME$ genoem wees", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "To upgrade your account to a premium membership you need to upload a valid license file." - }, - "uploadLicenseFileOrg": { - "message": "To create an on-premise hosted organization you need to upload a valid license file." - }, - "accountEmailMustBeVerified": { - "message": "Your account's email address must be verified." - }, - "newOrganizationDesc": { - "message": "Organizations allow you to share parts of your vault with others as well as manage related users for a specific entity such as a family, small team, or large company." - }, - "generalInformation": { - "message": "Algemene Inligting" - }, - "organizationName": { - "message": "Organisasienaam" - }, - "accountOwnedBusiness": { - "message": "This account is owned by a business." - }, - "billingEmail": { - "message": "Billing Email" - }, - "businessName": { - "message": "Besigheidnaam" - }, - "chooseYourPlan": { - "message": "Kies U Plan" - }, - "users": { - "message": "Gebruikers" - }, - "userSeats": { - "message": "User Seats" - }, - "additionalUserSeats": { - "message": "Additional User Seats" - }, - "userSeatsDesc": { - "message": "# of user seats" - }, - "userSeatsAdditionalDesc": { - "message": "Your plan comes with $BASE_SEATS$ user seats. You can add additional users for $SEAT_PRICE$ per user /month.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "How many user seats do you need? You can also add additional seats later if needed." - }, - "planNameFree": { - "message": "Gratis", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "For testing or personal users to share with $COUNT$ other user.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Gesinne" - }, - "planDescFamilies": { - "message": "Vir persoonlike gebruik om met vriende en familie te deel." - }, - "planNameTeams": { - "message": "Spanne" - }, - "planDescTeams": { - "message": "Vir sake- en ander spanorganisasies." - }, - "planNameEnterprise": { - "message": "Enterprise" - }, - "planDescEnterprise": { - "message": "For businesses and other large organizations." - }, - "freeForever": { - "message": "Altyd Gratis" - }, - "includesXUsers": { - "message": "sluit $COUNT$ gebruikers in", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Bykomende Gebruikers" - }, - "costPerUser": { - "message": "$COST$ per gebruiker", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Limited to $COUNT$ users (including you)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Limited to $COUNT$ collections", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Add and share with up to $COUNT$ users", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Add and share with unlimited users" - }, - "createUnlimitedCollections": { - "message": "Create unlimited Collections" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ encrypted file storage", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "On-premise hosting (optional)" - }, - "usersGetPremium": { - "message": "Users get access to Premium Features" - }, - "controlAccessWithGroups": { - "message": "Control user access with Groups" - }, - "syncUsersFromDirectory": { - "message": "Sync your users and Groups from a directory" - }, - "trackAuditLogs": { - "message": "Track user actions with audit logs" - }, - "enforce2faDuo": { - "message": "Enforce 2FA with Duo" - }, - "priorityCustomerSupport": { - "message": "Priority customer support" - }, - "xDayFreeTrial": { - "message": "$COUNT$ day free trial, cancel anytime", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Maandeliks" - }, - "annually": { - "message": "Jaarliks" - }, - "basePrice": { - "message": "Basisprys" - }, - "organizationCreated": { - "message": "Organisasie Geskep" - }, - "organizationReadyToGo": { - "message": "U nuwe organisasie is gereed vir gebruik!" - }, - "organizationUpgraded": { - "message": "U organisasie is opgegradeer." - }, - "leave": { - "message": "Verlaat" - }, - "leaveOrganizationConfirmation": { - "message": "Is u seker u wil hierdie organisasie verlaat?" - }, - "leftOrganization": { - "message": "U het die organisasie verlaat." - }, - "defaultCollection": { - "message": "Verstekversameling" - }, - "getHelp": { - "message": "Kry Hulp" - }, - "getApps": { - "message": "Kry die Toeps" - }, - "loggedInAs": { - "message": "Aangeteken as" - }, - "eventLogs": { - "message": "Event Logs" - }, - "people": { - "message": "Mense" - }, - "policies": { - "message": "Beleide" - }, - "editPolicy": { - "message": "Wysig Beleid" - }, - "groups": { - "message": "Groepe" - }, - "newGroup": { - "message": "Nuwe Groep" - }, - "addGroup": { - "message": "Voeg Groep Toe" - }, - "editGroup": { - "message": "Wysig Groep" - }, - "deleteGroupConfirmation": { - "message": "Is u seker u wil hierdie groep skrap?" - }, - "removeUserConfirmation": { - "message": "Is u seker u wil hierdie gebruiker verwyder?" - }, - "externalId": { - "message": "Eksterne ID" - }, - "externalIdDesc": { - "message": "The external id can be used as a reference or to link this resource to an external system such as a user directory." - }, - "accessControl": { - "message": "Toegangbeheer" - }, - "groupAccessAllItems": { - "message": "Hierdie groep het toegang tot alle items en kan dit wysig." - }, - "groupAccessSelectedCollections": { - "message": "Hierdie groep het slegs toegang tot die gekose versamelings." - }, - "readOnly": { - "message": "Leesalleen" - }, - "newCollection": { - "message": "Nuwe Versameling" - }, - "addCollection": { - "message": "Voeg Versameling Toe" - }, - "editCollection": { - "message": "Wysig Versameling" - }, - "deleteCollectionConfirmation": { - "message": "Is u seker u wil hierdie versameling skrap?" - }, - "editUser": { - "message": "Wysig Gebruiker" - }, - "inviteUser": { - "message": "Nooi Gebruiker Uit" - }, - "inviteUserDesc": { - "message": "Invite a new user to your organization by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "inviteMultipleEmailDesc": { - "message": "You can invite up to $COUNT$ users at a time by comma separating a list of email addresses.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "This user is using two-step login to protect their account." - }, - "userAccessAllItems": { - "message": "This user can access and modify all items." - }, - "userAccessSelectedCollections": { - "message": "This user can access only the selected collections." - }, - "search": { - "message": "Soek" - }, - "invited": { - "message": "Genooi" - }, - "accepted": { - "message": "Aanvaar" - }, - "confirmed": { - "message": "Bevestig" - }, - "owner": { - "message": "Eienaar" - }, - "ownerDesc": { - "message": "The highest access user that can manage all aspects of your organization." - }, - "admin": { - "message": "Admin" - }, - "adminDesc": { - "message": "Admins can access and manage all items, collections and users in your organization." - }, - "user": { - "message": "Gebruiker" - }, - "userDesc": { - "message": "A regular user with access to assigned collections in your organization." - }, - "manager": { - "message": "Bestuurder" - }, - "managerDesc": { - "message": "Bestuurders bestuur en het toegang tot toegewysde versamelings in u organisasie." - }, - "all": { - "message": "Alle" - }, - "refresh": { - "message": "Verfris" - }, - "timestamp": { - "message": "Tydstempel" - }, - "event": { - "message": "Gebeurtenis" - }, - "unknown": { - "message": "Onbekend" - }, - "loadMore": { - "message": "Laai Meer" - }, - "mobile": { - "message": "Mobiel", - "description": "Mobile app" - }, - "extension": { - "message": "Uitbreiding", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Werkskerm", - "description": "Desktop app" - }, - "webVault": { - "message": "Webkluis" - }, - "loggedIn": { - "message": "Aangeteken." - }, - "changedPassword": { - "message": "Rekeningwagwoord is verander." - }, - "enabledUpdated2fa": { - "message": "Enabled/updated two-step login." - }, - "disabled2fa": { - "message": "Disabled two-step login." - }, - "recovered2fa": { - "message": "Recovered account from two-step login." - }, - "failedLogin": { - "message": "Login attempt failed with incorrect password." - }, - "failedLogin2fa": { - "message": "Login attempt failed with incorrect two-step login." - }, - "exportedVault": { - "message": "Exported vault." - }, - "exportedOrganizationVault": { - "message": "Exported organization vault." - }, - "editedOrgSettings": { - "message": "Edited organization settings." - }, - "createdItemId": { - "message": "Item $ID$ geskep.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Item $ID$ gewysig.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Item $ID$ na asblik gestuur.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Item $ID$ gedeel.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Item $ID$ gekyk.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Het wagwoord vir item $ID$ bekyk.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Het versteekte veld vir item $ID$ bekyk.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Het sekerheidskode vir item $ID$ bekyk.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Het wagwoord vir item $ID$ gekopieer.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Het versteekte veld vir item $ID$ gekopieer.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Het sekerheidskode vir item $ID$ gekopieer.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Item $ID$ outomaties ingevul.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Versameling $ID$ geskep.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Versameling $ID$ gewysig.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Versameling $ID$ geskrap.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Beleid $ID$ gewysig.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Groep $ID$ geskep.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Groep $ID$ gewysig.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Groep $ID$ geskrap.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Gebruiker $ID$ verwyder.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Het aanhegsel vir item $ID$ geskep.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Het aanhegsel vir item $ID$ geskrap.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Het aanhegsel vir item $ID$ gewysig.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Gebruiker $ID$ genooi.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Gebruiker $ID$ is bevestig.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Gebruiker $ID$ gewysig.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Groepe vir gebruiker $ID$ gewysig.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Toestel" - }, - "view": { - "message": "Bekyk" - }, - "invalidDateRange": { - "message": "Ongeldige datumbereik." - }, - "errorOccurred": { - "message": "’n Fout het voorgekom." - }, - "userAccess": { - "message": "Gebruikertoegang" - }, - "userType": { - "message": "Gebruikertipe" - }, - "groupAccess": { - "message": "Groeptoegang" - }, - "groupAccessUserDesc": { - "message": "Wysig die groepe waaraan hierdie gebruiker behoort." - }, - "invitedUsers": { - "message": "Gebruiker(s) genooi." - }, - "resendInvitation": { - "message": "Stuur weer uitnodiging" - }, - "hasBeenReinvited": { - "message": "$USER$ is weer uitgenooi.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Bevestig" - }, - "confirmUser": { - "message": "Bevestig Gebruiker" - }, - "hasBeenConfirmed": { - "message": "$USER$ is bevestig.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Bevestig Gebruikers" - }, - "usersNeedConfirmed": { - "message": "U het gebruikers wat die uitnodiging aanvaar het, maar nog bevestig moet word. Gebruikers sal nie toegang tot die organisasie hê tot hulle bevestig is nie." - }, - "startDate": { - "message": "Begindatum" - }, - "endDate": { - "message": "Einddatum" - }, - "verifyEmail": { - "message": "Bevestig e-pos" - }, - "verifyEmailDesc": { - "message": "Bevestig u rekening se e-posadres om toegang tot alle funksies te ontgrendel." - }, - "verifyEmailFirst": { - "message": "U rekening se e-posadres moet eers bevestig word." - }, - "checkInboxForVerification": { - "message": "Check your email inbox for a verification link." - }, - "emailVerified": { - "message": "Your email has been verified." - }, - "emailVerifiedFailed": { - "message": "Unable to verify your email. Try sending a new verification email." - }, - "updateBrowser": { - "message": "Werk Blaaier By" - }, - "updateBrowserDesc": { - "message": "You are using an unsupported web browser. The web vault may not function properly." - }, - "joinOrganization": { - "message": "Join Organization" - }, - "joinOrganizationDesc": { - "message": "You've been invited to join the organization listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "inviteAccepted": { - "message": "Uitnodiging is Aanvaar" - }, - "inviteAcceptedDesc": { - "message": "You can access this organization once an administrator confirms your membership. We'll send you an email when that happens." - }, - "inviteAcceptFailed": { - "message": "Unable to accept invitation. Ask an organization admin to send a new invitation." - }, - "inviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Remember email" - }, - "recoverAccountTwoStepDesc": { - "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to disable all two-step providers on your account." - }, - "recoverAccountTwoStep": { - "message": "Recover Account Two-Step Login" - }, - "twoStepRecoverDisabled": { - "message": "Two-step login has been disabled on your account." - }, - "learnMore": { - "message": "Learn more" - }, - "deleteRecoverDesc": { - "message": "Enter your email address below to recover and delete your account." - }, - "deleteRecoverEmailSent": { - "message": "If your account exists, we've sent you an email with further instructions." - }, - "deleteRecoverConfirmDesc": { - "message": "You have requested to delete your Bitwarden account. Click the button below to confirm." - }, - "myOrganization": { - "message": "My Organisasie" - }, - "deleteOrganization": { - "message": "Skrap Organisasie" - }, - "deleteOrganizationDesc": { - "message": "Gaan hieronder voort om hierdie organisasie en alle verwante data te skrap. Individuele gebruikersrekeninge bly bestaan maar sal nie meer aan hierdie organisasie gekoppel wees nie. " - }, - "deleteOrganizationWarning": { - "message": "Skrap van die organisasie is permanent. Dit kan nie ontdaan word nie." - }, - "organizationDeleted": { - "message": "Organisasie Geskrap" - }, - "organizationDeletedDesc": { - "message": "Die organisasie en alle verwante data is geskrap." - }, - "organizationUpdated": { - "message": "Organisasie bygewerk" - }, - "taxInformation": { - "message": "Belastinginligting" - }, - "taxInformationDesc": { - "message": "For customers within the US, ZIP code is required to satisfy sales tax requirements, for other countries you may optionally provide a tax identification number (VAT/GST) and/or address to appear on your invoices." - }, - "billingPlan": { - "message": "Pakket", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Verander Pakket", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Upgrade your account to another plan be providing the information below. Please ensure that you have an active payment method added to the account.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Contact customer support if you would like to change your plan. Please ensure that you have an active payment method added to the account.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Faktuur #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "Bekyk Faktuur" - }, - "downloadInvoice": { - "message": "Laai Faktuur Af" - }, - "verifyBankAccount": { - "message": "Bevestig Bankrekening" - }, - "verifyBankAccountDesc": { - "message": "We have made two micro-deposits to your bank account (it may take 1-2 business days to show up). Enter these amounts to verify the bank account." - }, - "verifyBankAccountInitialDesc": { - "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make two micro-deposits within the next 1-2 business days. Enter these amounts on the organization's billing page to verify the bank account." - }, - "verifyBankAccountFailureWarning": { - "message": "Failure to verify the bank account will result in a missed payment and your subscription being disabled." - }, - "verifiedBankAccount": { - "message": "Bankrekening is bevestig." - }, - "bankAccount": { - "message": "Bankrekening" - }, - "amountX": { - "message": "Bedrag $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Routing Number", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Rekeningnommer" - }, - "accountHolderName": { - "message": "Rekeninghouernaam" - }, - "bankAccountType": { - "message": "Rekeningtipe" - }, - "bankAccountTypeCompany": { - "message": "Maatskappy (Saaklik)" - }, - "bankAccountTypeIndividual": { - "message": "Individueel (Persoonlik)" - }, - "enterInstallationId": { - "message": "Enter your installation id" - }, - "addSeats": { - "message": "Add Seats", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Remove Seats", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Your subscription allows for a total of $COUNT$ users.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Seats To Add" - }, - "seatsToRemove": { - "message": "Seats To Remove" - }, - "seatsAddNote": { - "message": "Adding user seats will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." - }, - "seatsRemoveNote": { - "message": "Removing user seats will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." - }, - "adjustedSeats": { - "message": "Adjusted $AMOUNT$ user seats.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Key Updated" - }, - "updateKeyTitle": { - "message": "Werk sleutel by" - }, - "updateEncryptionKey": { - "message": "Werk enkripsiesleutel by" - }, - "updateEncryptionKeyShortDesc": { - "message": "U gebruik tans ’n verouderde enkripsieskema." - }, - "updateEncryptionKeyDesc": { - "message": "We've moved to larger encryption keys that provide better security and access to newer features. Updating your encryption key is quick and easy. Just type your master password below. This update will eventually become mandatory." - }, - "updateEncryptionKeyWarning": { - "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." - }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." - }, - "subscription": { - "message": "Intekening" - }, - "loading": { - "message": "Laai tans" - }, - "upgrade": { - "message": "Gradeer Op" - }, - "upgradeOrganization": { - "message": "Gradeer Organisasie Op" - }, - "upgradeOrganizationDesc": { - "message": "This feature is not available for free organizations. Switch to a paid plan to unlock more features." - }, - "createOrganizationStep1": { - "message": "Skep Organisasie: Stap 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "U moet eers ’n gratis persoonlike rekening skep voor u u organisasie skep." - }, - "refunded": { - "message": "Refunded" - }, - "nothingSelected": { - "message": "U het niks gekies nie." - }, - "acceptPolicies": { - "message": "By checking this box you agree to the following:" - }, - "acceptPoliciesError": { - "message": "Terms of Service and Privacy Policy have not been acknowledged." - }, - "termsOfService": { - "message": "Gebruiksvoorwaardes" - }, - "privacyPolicy": { - "message": "Privaatheidsbeleid" - }, - "filters": { - "message": "Filters" - }, - "vaultTimeout": { - "message": "Vault Timeout" - }, - "vaultTimeoutDesc": { - "message": "Choose when your vault will timeout and perform the selected action." - }, - "oneMinute": { - "message": "1 minuut" - }, - "fiveMinutes": { - "message": "5 minute" - }, - "fifteenMinutes": { - "message": "15 minute" - }, - "thirtyMinutes": { - "message": "30 minute" - }, - "oneHour": { - "message": "1 uur" - }, - "fourHours": { - "message": "4 uur" - }, - "onRefresh": { - "message": "On Browser Refresh" - }, - "dateUpdated": { - "message": "Bygewerk", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Wagwoord Bygewerk", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "Organisasie is gedeaktiveer." - }, - "licenseIsExpired": { - "message": "Lisensie het verstryk." - }, - "updatedUsers": { - "message": "Bygewerkte gebruikers" - }, - "selected": { - "message": "Gekose" - }, - "ownership": { - "message": "Eienaarskap" - }, - "whoOwnsThisItem": { - "message": "Wie besit hierdie item?" - }, - "strong": { - "message": "Sterk", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Goed", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Swak", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Baie Swak", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Swak Hoofwagwoord" - }, - "weakMasterPasswordDesc": { - "message": "U gekose hoofwagwoord is te swak. U behoort ’n sterk wagwoord (of ’n wagfrase) te gebruik om u Bitwarden-rekening behoorlik te beveilig. Is u seker u wil hierdie hoofwagwoord gebruik?" - }, - "rotateAccountEncKey": { - "message": "Roteer ook my rekening se enrkipsiesleutel" - }, - "rotateEncKeyTitle": { - "message": "Roteer Enkripsiesleutel" - }, - "rotateEncKeyConfirmation": { - "message": "Is u seker u wil u rekening se enkripsiesleutel roteer?" - }, - "attachmentsNeedFix": { - "message": "Hierdie item het ou lêeraanhegsels wat herstel moet word." - }, - "attachmentFixDesc": { - "message": "Dit is ’n ou lêeraanhegsel wat herstel moet word. Klik om meer uit te vind." - }, - "fix": { - "message": "Herstel", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "Daar is ou lêeraanhegsels in u kluis wat herstel moet word alvorens u u rekening se enkripsiesleutel kan roteer." - }, - "yourAccountsFingerprint": { - "message": "U rekening se vingerafdrukfrase", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "Bevestig die gebruiker se vingerafdrukfrase alvorens voortgegaan word om die integriteit van u enkripsiesleutels te verseker.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Moenie weer vra om die vingerafdrukfrase te bevestig nie", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Gratis", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "API-sleutel" - }, - "apiKeyDesc": { - "message": "U API-sleutel kan gebruik word om aan die Bitwarden openbare API te bevestig." - }, - "apiKeyRotateDesc": { - "message": "Rotasie van die API-sleutel sal die vorige sleutel ongeldig maak. U kan u API-sleutel roteer indien u dink die huidige sleutel is nie meer veilig is vir gebruik nie." - }, - "apiKeyWarning": { - "message": "U API-sleutel het volledige toegang tot die organisasie. Dit moet geheim bly." - }, - "userApiKeyDesc": { - "message": "Your API key can be used to authenticate in the Bitwarden CLI." - }, - "userApiKeyWarning": { - "message": "Your API key is an alternative authentication mechanism. It should be kept secret." - }, - "oauth2ClientCredentials": { - "message": "OAuth 2.0 Client Credentials", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "Bekyk API-sleutel" - }, - "rotateApiKey": { - "message": "Roteer API-sleutel" - }, - "selectOneCollection": { - "message": "U moet ten minste een versameling kies." - }, - "couldNotChargeCardPayInvoice": { - "message": "We were not able to charge your card. Please view and pay the unpaid invoice listed below." - }, - "inAppPurchase": { - "message": "Toepgebonde Aankope" - }, - "cannotPerformInAppPurchase": { - "message": "U kan nie hierdie aksie uitvoer terwyl ’n toepgebonde aankoopmetode gebruik word nie." - }, - "manageSubscriptionFromStore": { - "message": "U moet u intekening bestuur vanuit die winkel waarin u toepgebonde aankoop gedoen is." - }, - "minLength": { - "message": "Minimum lengte" - }, - "clone": { - "message": "Kloon" - }, - "masterPassPolicyDesc": { - "message": "Stel minimum vereistes vir hoofwagwoordsterkte." - }, - "twoStepLoginPolicyDesc": { - "message": "Require users to set up two-step login on their personal accounts." - }, - "twoStepLoginPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and do not have two-step login enabled for their personal account will be removed from the organization and will receive an email notifying them about the change." - }, - "twoStepLoginPolicyUserWarning": { - "message": "You are a member of an organization that requires two-step login to be enabled on your user account. If you disable all two-step login providers you will be automatically removed from these organizations." - }, - "passwordGeneratorPolicyDesc": { - "message": "Stel minimum vereistes vir opstelling van wagwoordgenereerder." - }, - "passwordGeneratorPolicyInEffect": { - "message": "Een of meer organisasiebeleide beïnvloed u genereerderinstellings." - }, - "masterPasswordPolicyInEffect": { - "message": "Een of meer organisasiebeleide stel die volgende eise aan u hoofwagwoord:" - }, - "policyInEffectMinComplexity": { - "message": "Minimum ingewikkeldheidstelling van $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Minimum lengte van $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Bevat een of meer hoofletterkarakters" - }, - "policyInEffectLowercase": { - "message": "Bevat een of meer kleinletterkarakters" - }, - "policyInEffectNumbers": { - "message": "Bevat een of meer syfers" - }, - "policyInEffectSpecial": { - "message": "Bevat een of meer van die volgende spesiale karakters $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "U nuwe hoofwagwoord voldoen nie aan die beleidsvereistes nie." - }, - "minimumNumberOfWords": { - "message": "Minimum Aantal Woorde" - }, - "defaultType": { - "message": "Verstektipe" - }, - "userPreference": { - "message": "Gebruikersvoorkeure" - }, - "vaultTimeoutAction": { - "message": "Vault Timeout Action" - }, - "vaultTimeoutActionLockDesc": { - "message": "A locked vault requires that you re-enter your master password to access it again." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "A logged out vault requires that you re-authenticate to access it again." - }, - "lock": { - "message": "Vergrendel", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Asblik", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Deursoek Asblik" - }, - "permanentlyDelete": { - "message": "Skrap Permanent" - }, - "permanentlyDeleteSelected": { - "message": "Skrap Gekose Permanent" - }, - "permanentlyDeleteItem": { - "message": "Skrap Item Permanent" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Is u seker u wil hierdie item permanent skrap?" - }, - "permanentlyDeletedItem": { - "message": "Permanent Geskrapte Item" - }, - "permanentlyDeletedItems": { - "message": "Permanent Geskrapte Items" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "U het $COUNT$ item(s) gekies om permanent te skrap. Is u seker u wil al hierdie items permanent skrap?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Permanent Geskrapte Items $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Restore" - }, - "restoreSelected": { - "message": "Restore Selected" - }, - "restoreItem": { - "message": "Restore Item" - }, - "restoredItem": { - "message": "Restored Item" - }, - "restoredItems": { - "message": "Restored Items" - }, - "restoreItemConfirmation": { - "message": "Are you sure you want to restore this item?" - }, - "restoreItems": { - "message": "Restore items" - }, - "restoreSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to restore. Are you sure you want to restore all of these items?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Restored item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Logging out will remove all access to your vault and requires online authentication after the timeout period. Are you sure you want to use this setting?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Timeout Action Confirmation" - }, - "hidePasswords": { - "message": "Versteek wagwoorde" - }, - "countryPostalCodeRequiredDesc": { - "message": "Ons benodig hierdie inligting slegs om verkoopsbelasting te bereken en vir finansiële verslaggewing." - }, - "includeVAT": { - "message": "Include VAT/GST Information (optional)" - }, - "taxIdNumber": { - "message": "VAT/GST Tax ID" - }, - "taxInfoUpdated": { - "message": "Tax information updated." - }, - "setMasterPassword": { - "message": "Stel Hoofwagwoord" - }, - "ssoCompleteRegistration": { - "message": "In order to complete logging in with SSO, please set a master password to access and protect your vault." - }, - "identifier": { - "message": "Identifiseerder" - }, - "organizationIdentifier": { - "message": "Organisasie-identifiseerder" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Log in using your organization's single sign-on portal. Please enter your organization's identifier to begin." - }, - "enterpriseSingleSignOn": { - "message": "Enterprise Single Sign-On" - }, - "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." - }, - "businessPortal": { - "message": "Sakeportaal", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "All Teams features, plus:" - }, - "includeSsoAuthentication": { - "message": "SSO Authentication via SAML2.0 and OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Enterprise Policies" - }, - "ssoValidationFailed": { - "message": "SSO Validation Failed" - }, - "ssoIdentifierRequired": { - "message": "Organisasie-identifiseerder word benodig." - }, - "unlinkSso": { - "message": "Unlink SSO" - }, - "linkSso": { - "message": "Link SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "Policy configuration has been moved, and this page will soon be deprecated. Please click below to use the Business Portal policies page instead." - }, - "singleOrg": { - "message": "Single Organization" - }, - "singleOrgDesc": { - "message": "Restrict users from being able to join any other organizations." - }, - "singleOrgBlockCreateMessage": { - "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." - }, - "singleOrgPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and are already a member of another organization will be removed from your organization." - }, - "requireSso": { - "message": "Single Sign-On Authentication" - }, - "requireSsoPolicyDesc": { - "message": "Require users to log in with the Enterprise Single Sign-On method." - }, - "prerequisite": { - "message": "Prerequisite" - }, - "requireSsoPolicyReq": { - "message": "The Single Organization enterprise policy must be enabled before activating this policy." - }, - "requireSsoPolicyReqError": { - "message": "Single Organization policy not enabled." - }, - "requireSsoExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "sendTypeFile": { - "message": "File" - }, - "sendTypeText": { - "message": "Text" - }, - "createSend": { - "message": "Create New Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Edit Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Created Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Edited Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Deleted Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Delete Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Are you sure you want to delete this Send?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "What type of Send is this?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Deletion Date" - }, - "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Expiration Date" - }, - "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Maximum Access Count" - }, - "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Current Access Count" - }, - "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Private notes about this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Disabled" - }, - "sendLink": { - "message": "Send Link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Copy Send Link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Remove Password" - }, - "removedPassword": { - "message": "Removed Password" - }, - "removePasswordConfirmation": { - "message": "Are you sure you want to remove the password?" - }, - "disableThisSend": { - "message": "Disable this Send so that no one can access it.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "All Sends" - }, - "maxAccessCountReached": { - "message": "Max access count reached" - }, - "pendingDeletion": { - "message": "Pending deletion" - }, - "expired": { - "message": "Expired" - }, - "searchSends": { - "message": "Search Sends", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "This Send is protected with a password. Please type the password below to continue.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Don't know the password? Ask the Sender for the password needed to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "This send is hidden by default. You can toggle its visibility using the button below.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Download File" - }, - "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "There are no Sends to list.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Emergency Access" - }, - "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." - }, - "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" - }, - "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." - }, - "addEmergencyContact": { - "message": "Add emergency contact" - }, - "designatedEmergencyContacts": { - "message": "Designated as emergency contact" - }, - "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." - }, - "inviteEmergencyContact": { - "message": "Invite emergency contact" - }, - "editEmergencyContact": { - "message": "Edit emergency contact" - }, - "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" - }, - "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" - }, - "viewDesc": { - "message": "Can view all items in your own vault." - }, - "takeover": { - "message": "Takeover" - }, - "takeoverDesc": { - "message": "Can reset your account with a new master password." - }, - "waitTime": { - "message": "Wagtyd" - }, - "waitTimeDesc": { - "message": "Time required before automatically granting access." - }, - "oneDay": { - "message": "1 dag" - }, - "days": { - "message": "$DAYS$ dae", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Genooide gebruiker." - }, - "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." - }, - "requestAccess": { - "message": "Versoek toegang" - }, - "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Approve" - }, - "reject": { - "message": "Reject" - }, - "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Emergency access approved." - }, - "emergencyRejected": { - "message": "Emergency access rejected" - }, - "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Personal Ownership" - }, - "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." - }, - "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." - }, - "modifiedPolicyId": { - "message": "Modified policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Plan price" - }, - "estimatedTax": { - "message": "Estimated tax" - }, - "custom": { - "message": "Custom" - }, - "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." - }, - "permissions": { - "message": "Toestemmings" - }, - "accessBusinessPortal": { - "message": "Access Business Portal" - }, - "accessEventLogs": { - "message": "Access Event Logs" - }, - "accessImportExport": { - "message": "Access Import/Export" - }, - "accessReports": { - "message": "Access Reports" - }, - "manageAllCollections": { - "message": "Bestuur alle versamelings" - }, - "manageAssignedCollections": { - "message": "Bestuur toegekende versamelings" - }, - "manageGroups": { - "message": "Bestuur groepe" - }, - "managePolicies": { - "message": "Bestuur beleide" - }, - "manageSso": { - "message": "Manage SSO" - }, - "manageUsers": { - "message": "Bestuur gebruikers" - }, - "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." - }, - "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." - }, - "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" - }, - "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/be/messages.json b/locales/be/messages.json deleted file mode 100644 index cf2539c1..00000000 --- a/locales/be/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$ вэб-сховішча", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "Выберыце тып элемента" - }, - "name": { - "message": "Назва" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "Новы URI" - }, - "username": { - "message": "Імя карыстальніка" - }, - "password": { - "message": "Пароль" - }, - "newPassword": { - "message": "Новы пароль" - }, - "passphrase": { - "message": "Парольная фраза" - }, - "notes": { - "message": "Нататкі" - }, - "customFields": { - "message": "Карыстальніцкія палі" - }, - "cardholderName": { - "message": "Імя ўладальніка карткі" - }, - "number": { - "message": "Нумар" - }, - "brand": { - "message": "Тып карткі" - }, - "expiration": { - "message": "Тэрмін дзеяння" - }, - "securityCode": { - "message": "Код бяспекі (CVV)" - }, - "identityName": { - "message": "Імя" - }, - "company": { - "message": "Кампанія" - }, - "ssn": { - "message": "Нумар сацыяльнага страхавання" - }, - "passportNumber": { - "message": "Нумар пашпарта" - }, - "licenseNumber": { - "message": "Нумар ліцэнзіі" - }, - "email": { - "message": "Электронная пошта" - }, - "phone": { - "message": "Тэлефон" - }, - "january": { - "message": "Студзень" - }, - "february": { - "message": "Люты" - }, - "march": { - "message": "Сакавік" - }, - "april": { - "message": "Красавік" - }, - "may": { - "message": "Май" - }, - "june": { - "message": "Чэрвень" - }, - "july": { - "message": "Ліпень" - }, - "august": { - "message": "Жнівень" - }, - "september": { - "message": "Верасень" - }, - "october": { - "message": "Кастрычнік" - }, - "november": { - "message": "Лістапад" - }, - "december": { - "message": "Снежань" - }, - "title": { - "message": "Зварот" - }, - "mr": { - "message": "С-р" - }, - "mrs": { - "message": "С-ня" - }, - "ms": { - "message": "Пані" - }, - "dr": { - "message": "Док." - }, - "expirationMonth": { - "message": "Месяц заканчэння" - }, - "expirationYear": { - "message": "Год заканчэння" - }, - "authenticatorKeyTotp": { - "message": "Ключ праверкі сапраўднасці (TOTP)" - }, - "folder": { - "message": "Папка" - }, - "newCustomField": { - "message": "Новае карыстальніцкае поле" - }, - "value": { - "message": "Значэнне" - }, - "dragToSort": { - "message": "Перацягніце для сартавання" - }, - "cfTypeText": { - "message": "Тэкст" - }, - "cfTypeHidden": { - "message": "Схавана" - }, - "cfTypeBoolean": { - "message": "Лагічнае" - }, - "remove": { - "message": "Выдаліць" - }, - "unassigned": { - "message": "Непрызначаныя" - }, - "noneFolder": { - "message": "Без папкі", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Дадаць папку" - }, - "editFolder": { - "message": "Рэдагаваць папку" - }, - "baseDomain": { - "message": "Асноўны дамен" - }, - "host": { - "message": "Хост", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Дакладна" - }, - "startsWith": { - "message": "Пачынаецца з" - }, - "regEx": { - "message": "Рэгулярны выраз", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Выяўленне супадзенняў", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Метад выяўлення па змаўчанні", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Ніколі" - }, - "toggleVisibility": { - "message": "Пераключыць бачнасць" - }, - "toggleCollapse": { - "message": "Згарнуць/Разгарнуць", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Стварыць пароль" - }, - "checkPassword": { - "message": "Праверце, ці не скампраметаваны пароль." - }, - "passwordExposed": { - "message": "Гэты пароль быў скампраметаваны $VALUE$ раз(-ы/-оў). Вы павінны змяніць яго.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "Гэты пароль не быў знойдзены ў вядомых базах уцечак. Можна працягваць яго выкарыстоўваць." - }, - "save": { - "message": "Захаваць" - }, - "cancel": { - "message": "Скасаваць" - }, - "canceled": { - "message": "Скасавана" - }, - "close": { - "message": "Закрыць" - }, - "delete": { - "message": "Выдаліць" - }, - "favorite": { - "message": "Абраны" - }, - "unfavorite": { - "message": "Выдаліць з абранага" - }, - "edit": { - "message": "Рэдагаваць" - }, - "searchCollection": { - "message": "Пошук у калекцыі" - }, - "searchFolder": { - "message": "Пошук у папцы" - }, - "searchFavorites": { - "message": "Пошук у абраным" - }, - "searchType": { - "message": "Пошук па тыпу", - "description": "Search item type" - }, - "searchVault": { - "message": "Пошук у сховішчы" - }, - "allItems": { - "message": "Усе элементы" - }, - "favorites": { - "message": "Абраныя" - }, - "types": { - "message": "Тыпы" - }, - "typeLogin": { - "message": "Імя карыстальніка" - }, - "typeCard": { - "message": "Картка" - }, - "typeIdentity": { - "message": "Пасведчанне" - }, - "typeSecureNote": { - "message": "Бяспечныя нататкі" - }, - "folders": { - "message": "Папкі" - }, - "collections": { - "message": "Калекцыі" - }, - "firstName": { - "message": "Імя" - }, - "middleName": { - "message": "Імя па бацьку" - }, - "lastName": { - "message": "Прозвішча" - }, - "address1": { - "message": "Радок адрасу 1" - }, - "address2": { - "message": "Радок адрасу 2" - }, - "address3": { - "message": "Радок адрасу 3" - }, - "cityTown": { - "message": "Горад / Пасёлак" - }, - "stateProvince": { - "message": "Рэгіён / Вобласць" - }, - "zipPostalCode": { - "message": "Паштовы індэкс" - }, - "country": { - "message": "Краіна" - }, - "shared": { - "message": "Абагуленыя" - }, - "attachments": { - "message": "Далучэнні" - }, - "select": { - "message": "Выбраць" - }, - "addItem": { - "message": "Дадаць элемент" - }, - "editItem": { - "message": "Рэдагаванне элемента" - }, - "viewItem": { - "message": "View Item" - }, - "ex": { - "message": "напр.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Iншае" - }, - "share": { - "message": "Абагуліць" - }, - "valueCopied": { - "message": "$VALUE$ скапіяваны(-а)", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Капіяваць значэнне", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Капіяваць пароль", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Капіяваць імя карыстальніка", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Капіяваць нумар", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Капіяваць код бяспекі", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Капіяваць URI", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "Маё сховішча" - }, - "vault": { - "message": "Сховішча" - }, - "shareSelected": { - "message": "Абагуліць выбраныя" - }, - "deleteSelected": { - "message": "Выдаліць выбраныя" - }, - "moveSelected": { - "message": "Перамясціць выбраныя" - }, - "selectAll": { - "message": "Выбраць усё" - }, - "unselectAll": { - "message": "Адмяніць выбар" - }, - "launch": { - "message": "Запусціць" - }, - "newAttachment": { - "message": "Дадаць новае далучэнне" - }, - "deletedAttachment": { - "message": "Далучэнне выдалена" - }, - "deleteAttachmentConfirmation": { - "message": "Вы ўпэўнены, што хочаце выдаліць гэта далучэнне?" - }, - "attachmentSaved": { - "message": "Далучэнне захавана." - }, - "file": { - "message": "Файл" - }, - "selectFile": { - "message": "Выберыце файл." - }, - "maxFileSize": { - "message": "Максімальны памер файла 100 МБ." - }, - "updateKey": { - "message": "Вы не можаце выкарыстоўваць гэту функцыю, пакуль не абнавіце свой ключ шыфравання." - }, - "addedItem": { - "message": "Элемент дададзены" - }, - "editedItem": { - "message": "Элемент адрэдагаваны" - }, - "sharedItem": { - "message": "Абагулены элемент" - }, - "sharedItems": { - "message": "Абагуленыя элементы" - }, - "deleteItem": { - "message": "Выдаліць элемент" - }, - "deleteFolder": { - "message": "Выдаліць папку" - }, - "deleteAttachment": { - "message": "Выдаліць далучэнне" - }, - "deleteItemConfirmation": { - "message": "Вы ўпэўнены, што хочаце выдаліць гэты элемент?" - }, - "deletedItem": { - "message": "Выдалены элемент" - }, - "deletedItems": { - "message": "Выдаленыя элементы" - }, - "movedItems": { - "message": "Перамешчаныя элементы" - }, - "overwritePasswordConfirmation": { - "message": "Вы ўпэўнены, што хочаце перазапісаць бягучы пароль?" - }, - "editedFolder": { - "message": "Папка адрэдагавана" - }, - "addedFolder": { - "message": "Папка дададзена" - }, - "deleteFolderConfirmation": { - "message": "Вы ўпэўнены, што хочаце выдаліць гэту папку?" - }, - "deletedFolder": { - "message": "Папка выдалена" - }, - "loggedOut": { - "message": "Вы выйшлі са сховішча" - }, - "loginExpired": { - "message": "Скончыўся тэрмін дзеяння вашага сеансу." - }, - "logOutConfirmation": { - "message": "Вы ўпэўнены, што хочаце выйсці?" - }, - "logOut": { - "message": "Выйсці" - }, - "ok": { - "message": "ОК" - }, - "yes": { - "message": "Так" - }, - "no": { - "message": "Не" - }, - "loginOrCreateNewAccount": { - "message": "Увайдзіце або стварыце новы ўліковы запіс для доступу да бяспечнага сховішча." - }, - "createAccount": { - "message": "Стварыць уліковы запіс" - }, - "logIn": { - "message": "Увайсці" - }, - "submit": { - "message": "Адправіць" - }, - "emailAddressDesc": { - "message": "You'll use your email address to log in." - }, - "yourName": { - "message": "Ваша імя" - }, - "yourNameDesc": { - "message": "What should we call you?" - }, - "masterPass": { - "message": "Асноўны пароль" - }, - "masterPassDesc": { - "message": "Асноўны пароль — ключ да вашага бяспечнага сховішча. Ён вельмі важны, таму не забывайце яго. Аднавіць асноўны пароль немагчыма." - }, - "masterPassHintDesc": { - "message": "Падказка да асноўнага пароля можа дапамагчы вам яго ўспомніць." - }, - "reTypeMasterPass": { - "message": "Увядзіце асноўны пароль паўторна" - }, - "masterPassHint": { - "message": "Падказка да асноўнага пароля (неабавязкова)" - }, - "masterPassHintLabel": { - "message": "Падказка да асноўнага пароля" - }, - "settings": { - "message": "Налады" - }, - "passwordHint": { - "message": "Падказка да пароля" - }, - "enterEmailToGetHint": { - "message": "Увядзіце адрас электроннай пошты ўліковага запісу для атрымання падказкі для асноўнага пароля." - }, - "getMasterPasswordHint": { - "message": "Атрымаць падказку для асноўнага пароля" - }, - "emailRequired": { - "message": "Патрабуецца адрас электроннай пошты." - }, - "invalidEmail": { - "message": "Памылковы адрас электроннай пошты." - }, - "masterPassRequired": { - "message": "Патрабуецца асноўны пароль." - }, - "masterPassLength": { - "message": "Асноўны пароль павінен быць даўжынёй не менш за 8 сімвалаў." - }, - "masterPassDoesntMatch": { - "message": "Асноўныя паролі не супадаюць." - }, - "newAccountCreated": { - "message": "Ваш уліковы запіс створаны! Вы можаце ўвайсці." - }, - "masterPassSent": { - "message": "Мы адправілі вам на электронную пошту падказку для асноўнага пароля." - }, - "unexpectedError": { - "message": "Адбылася нечаканая памылка." - }, - "emailAddress": { - "message": "Адрас эл. пошты" - }, - "yourVaultIsLocked": { - "message": "Ваша сховішча заблакіравана. Каб працягнуць, увядзіце асноўны пароль." - }, - "unlock": { - "message": "Разблакіраваць" - }, - "loggedInAsEmailOn": { - "message": "Выкананы ўваход на $HOSTNAME$ як $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Памылковы асноўны пароль" - }, - "lockNow": { - "message": "Заблакіраваць" - }, - "noItemsInList": { - "message": "Няма элементаў для паказу." - }, - "noCollectionsInList": { - "message": "Няма калекцый для паказу." - }, - "noGroupsInList": { - "message": "Няма груп для паказу." - }, - "noUsersInList": { - "message": "Няма карыстальнікаў для паказу." - }, - "noEventsInList": { - "message": "Няма падзей для паказу." - }, - "newOrganization": { - "message": "Новая арганізацыя" - }, - "noOrganizationsList": { - "message": "Вы не з'яўляецеся членам якой-небудзь арганізацыі. Арганізацыі дазваляюць бяспечна абменьвацца элементамі з іншымі карыстальнікамі." - }, - "versionNumber": { - "message": "Версія $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Увядзіце 6 лічбаў кода праверкі з вашай праграмы праверкі сапраўднасці." - }, - "enterVerificationCodeEmail": { - "message": "Увядзіце 6 лічбаў кода праверкі, які быў адпраўлены на $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "Адпраўлены ліст для пацвярджэння $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Запомніць мяне" - }, - "sendVerificationCodeEmailAgain": { - "message": "Адправіць код пацвярджэння зноў" - }, - "useAnotherTwoStepMethod": { - "message": "Выкарыстоўваць іншы метад двухэтапнага ўваходу" - }, - "insertYubiKey": { - "message": "Устаўце ваш YubiKey ў порт USB вашага камп'ютара, затым націсніце на кнопку." - }, - "insertU2f": { - "message": "Устаўце ваш ключ бяспекі ў порт USB вашага камп'ютара. Калі на ім ёсць кнопка, націсніце на яе." - }, - "loginUnavailable": { - "message": "Уваход недаступны" - }, - "noTwoStepProviders": { - "message": "У гэтага ўліковага запісу ўключаны двухэтапны ўваход, аднак ні адзін з наладжаных варыянтаў не падтрымліваецца гэтым вэб-браўзерам." - }, - "noTwoStepProviders2": { - "message": "Выкарыстоўвайце актуальын вэб-браўзар (напрыклад, Chrome) і/або дадайце дадатковыя варыянты праверкі сапраўднасці, якія падтрымліваюцца ў вэб-браўзерах (напрыклад, праграма для праверкі сапраўднасці)." - }, - "twoStepOptions": { - "message": "Параметры двухэтапнага ўваходу" - }, - "recoveryCodeDesc": { - "message": "Згубілі доступ да ўсіх варыянтаў двухэтапнага ўваходу? Скарыстайцеся кодам аднаўлення, каб адключыць двухэтапны ўваход для вашага ўліковага запісу." - }, - "recoveryCodeTitle": { - "message": "Код аднаўлення" - }, - "authenticatorAppTitle": { - "message": "Праграма праверкі сапраўднасці" - }, - "authenticatorAppDesc": { - "message": "Выкарыстоўвайце праграму для праверкі сапраўднасці (напрыклад, Authy або Google Authenticator) для стварэння кодаў праверкі на аснове часу.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "Ключ бяспекі YubiKey OTP" - }, - "yubiKeyDesc": { - "message": "Выкарыстоўвайце YubiKey для доступу да вашага ўліковага запісу. Працуе з прыладамі YubiKey серый 4, 5 і NEO." - }, - "duoDesc": { - "message": "Пацвярдзіце з дапамогай Duo Security, выкарыстоўваючы праграму Duo Mobile, SMS, тэлефонны выклік або ключ бяспекі.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Пацвярдзіце з дапамогай Duo Security для вашай арганізацыі, выкарыстоўваючы праграму Duo Mobile, SMS, тэлефонны выклік або ключ бяспекі.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Выкарыстоўвайце любы ключ бяспекі FIDO U2F для доступу да вашага ўліковага запісу." - }, - "u2fTitle": { - "message": "Ключ бяспекі FIDO U2F" - }, - "emailTitle": { - "message": "Электронная пошта" - }, - "emailDesc": { - "message": "Коды пацвярджэння будуць адпраўлены вам па электроннай пошце." - }, - "continue": { - "message": "Працягнуць" - }, - "organization": { - "message": "Арганізацыя" - }, - "organizations": { - "message": "Арганізацыя" - }, - "shareDesc": { - "message": "Выберыце арганізацыю, якой вы хочаце даць доступ да гэтага элемента. Пасля выканання гэтай аперацыі, правы на элемент будуць перададзены арганізацыі і вы не будзеце з'яўляцца непасрэдным уладальнікам гэтага элемента." - }, - "shareManyDesc": { - "message": "Выберыце арганізацыю, якой вы хочаце даць доступ да гэтага элемента. Пасля выканання гэтай аперацыі, правы на элемент будуць перададзены арганізацыі і вы не будзеце з'яўляцца непасрэдным уладальнікам гэтага элемента." - }, - "collectionsDesc": { - "message": "Edit the collections that this item is being shared with. Only organization users with access to these collections will be able to see this item." - }, - "deleteSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to delete. Are you sure you want to delete all of these items?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Choose a folder that you would like to move the $COUNT$ selected item(s) to.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "You have selected $COUNT$ item(s). $SHAREABLE_COUNT$ items are sharable, $NONSHAREABLE_COUNT$ are not.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Код праверкі (TOTP)" - }, - "copyVerificationCode": { - "message": "Капіяваць код праверкі" - }, - "warning": { - "message": "Увага" - }, - "confirmVaultExport": { - "message": "Confirm Vault Export" - }, - "exportWarningDesc": { - "message": "Экспартуемы файл утрымлівае даныя вашага сховішча ў незашыфраваным фармаце. Яго не варта захоўваць ці адпраўляць па небяспечным каналам (напрыклад, па электроннай пошце). Выдаліце яго адразу пасля выкарыстання." - }, - "encExportWarningDesc": { - "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." - }, - "exportMasterPassword": { - "message": "Увядзіце ваш асноўны пароль для экспарту даных са сховішча." - }, - "exportVault": { - "message": "Экспарт сховішча" - }, - "fileFormat": { - "message": "Фармат файла" - }, - "exportSuccess": { - "message": "Your vault data has been exported." - }, - "passwordGenerator": { - "message": "Генератар пароляў" - }, - "minComplexityScore": { - "message": "Minimum Complexity Score" - }, - "minNumbers": { - "message": "Мін. колькасць лічбаў" - }, - "minSpecial": { - "message": "Мін. колькасць сімвалаў", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Пазбягаць неадназначных сімвалаў" - }, - "regeneratePassword": { - "message": "Стварыць новы пароль" - }, - "length": { - "message": "Даўжыня" - }, - "numWords": { - "message": "Колькасць слоў" - }, - "wordSeparator": { - "message": "Раздзяляльнік слоў" - }, - "capitalize": { - "message": "З вялікай літары", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Уключыць лічбу" - }, - "passwordHistory": { - "message": "Гісторыя пароляў" - }, - "noPasswordsInList": { - "message": "Няма пароляў для паказу." - }, - "clear": { - "message": "Ачысціць", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Уліковы запіс абноўлены" - }, - "changeEmail": { - "message": "Змяніць адрас электроннай пошты" - }, - "newEmail": { - "message": "Новы адрас электроннай пошты" - }, - "code": { - "message": "Код" - }, - "changeEmailDesc": { - "message": "We have emailed a verification code to $EMAIL$. Please check your email for this code and enter it below to finalize the email address change.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour." - }, - "emailChanged": { - "message": "Электронная пошта зменена" - }, - "logBackIn": { - "message": "Please log back in." - }, - "logBackInOthersToo": { - "message": "Please log back in. If you are using other Bitwarden applications log out and back in to those as well." - }, - "changeMasterPassword": { - "message": "Змяніць асноўны пароль" - }, - "masterPasswordChanged": { - "message": "Асноўны пароль зменены" - }, - "currentMasterPass": { - "message": "Бягучы асноўны пароль" - }, - "newMasterPass": { - "message": "Новы асноўны пароль" - }, - "confirmNewMasterPass": { - "message": "Пацвердзіць новы асноўны пароль" - }, - "encKeySettings": { - "message": "Encryption Key Settings" - }, - "kdfAlgorithm": { - "message": "KDF Algorithm" - }, - "kdfIterations": { - "message": "KDF Iterations" - }, - "kdfIterationsDesc": { - "message": "Higher KDF iterations can help protect your master password from being brute forced by an attacker. We recommend a value of $VALUE$ or more.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Setting your KDF iterations too high could result in poor performance when logging into (and unlocking) Bitwarden on devices with slower CPUs. We recommend that you increase the value in increments of $INCREMENT$ and then test all of your devices.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Change KDF" - }, - "encKeySettingsChanged": { - "message": "Encryption Key Settings Changed" - }, - "dangerZone": { - "message": "Danger Zone" - }, - "dangerZoneDesc": { - "message": "Careful, these actions are not reversible!" - }, - "deauthorizeSessions": { - "message": "Deauthorize Sessions" - }, - "deauthorizeSessionsDesc": { - "message": "Concerned your account is logged in on another device? Proceed below to deauthorize all computers or devices that you have previously used. This security step is recommended if you previously used a public computer or accidentally saved your password on a device that isn't yours. This step will also clear all previously remembered two-step login sessions." - }, - "deauthorizeSessionsWarning": { - "message": "Proceeding will also log you out of your current session, requiring you to log back in. You will also be prompted for two-step login again, if enabled. Active sessions on other devices may continue to remain active for up to one hour." - }, - "sessionsDeauthorized": { - "message": "All Sessions Deauthorized" - }, - "purgeVault": { - "message": "Purge Vault" - }, - "purgedOrganizationVault": { - "message": "Purged organization vault." - }, - "purgeVaultDesc": { - "message": "Proceed below to delete all items and folders in your vault. Items that belong to an organization that you share with will not be deleted." - }, - "purgeOrgVaultDesc": { - "message": "Proceed below to delete all items in the organization's vault." - }, - "purgeVaultWarning": { - "message": "Purging your vault is permanent. It cannot be undone." - }, - "vaultPurged": { - "message": "Your vault has been purged." - }, - "deleteAccount": { - "message": "Delete Account" - }, - "deleteAccountDesc": { - "message": "Proceed below to delete your account and all associated data." - }, - "deleteAccountWarning": { - "message": "Deleting your account is permanent. It cannot be undone." - }, - "accountDeleted": { - "message": "Account Deleted" - }, - "accountDeletedDesc": { - "message": "Your account has been closed and all associated data has been deleted." - }, - "myAccount": { - "message": "Мой уліковы запіс" - }, - "tools": { - "message": "Інструменты" - }, - "importData": { - "message": "Імпарт даных" - }, - "importSuccess": { - "message": "Data has been successfully imported into your vault." - }, - "importFormatError": { - "message": "Data is not formatted correctly. Please check your import file and try again." - }, - "importNothingError": { - "message": "Nothing was imported." - }, - "selectFormat": { - "message": "Select the format of the import file" - }, - "selectImportFile": { - "message": "Select the import file" - }, - "orCopyPasteFileContents": { - "message": "or copy/paste the import file contents" - }, - "instructionsFor": { - "message": "$NAME$ Instructions", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Параметры" - }, - "optionsDesc": { - "message": "Customize your web vault experience." - }, - "optionsUpdated": { - "message": "Options updated" - }, - "language": { - "message": "Мова" - }, - "languageDesc": { - "message": "Change the language used by the web vault." - }, - "disableIcons": { - "message": "Адключыць значкі вэб-сайтаў" - }, - "disableIconsDesc": { - "message": "Значкі вэб-сайтаў паказваюцца з кожным элементам у вашым сховішчы." - }, - "enableGravatars": { - "message": "Уключыць Gravatars", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Use avatar images loaded from gravatar.com." - }, - "enableFullWidth": { - "message": "Enable Full Width Layout", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Allow the web vault to expand the full width of the browser window." - }, - "default": { - "message": "Па змаўчанні" - }, - "domainRules": { - "message": "Domain Rules" - }, - "domainRulesDesc": { - "message": "If you have the same login across multiple different website domains, you can mark the website as \"equivalent\". \"Global\" domains are ones already created for you by Bitwarden." - }, - "globalEqDomains": { - "message": "Global Equivalent Domains" - }, - "customEqDomains": { - "message": "Custom Equivalent Domains" - }, - "exclude": { - "message": "Выключыць" - }, - "include": { - "message": "Уключыць" - }, - "customize": { - "message": "Наладзіць" - }, - "newCustomDomain": { - "message": "New Custom Domain" - }, - "newCustomDomainDesc": { - "message": "Enter a list of domains separated by commas. Only \"base\" domains are allowed. Do not enter subdomains. For example, enter \"google.com\" instead of \"www.google.com\". You can also enter \"androidapp://package.name\" to associate an android app with other website domains." - }, - "customDomainX": { - "message": "Custom Domain $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Domains updated" - }, - "twoStepLogin": { - "message": "Двухэтапны ўваход" - }, - "twoStepLoginDesc": { - "message": "Secure your account by requiring an additional step when logging in." - }, - "twoStepLoginOrganizationDesc": { - "message": "Require two-step login for your organization's users by configuring providers at the organization level." - }, - "twoStepLoginRecoveryWarning": { - "message": "Enabling two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (ex. you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." - }, - "viewRecoveryCode": { - "message": "Код аднаўлення" - }, - "providers": { - "message": "Правайдары", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Уключыць" - }, - "enabled": { - "message": "Уключана" - }, - "premium": { - "message": "Прэміяльны статус", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Прэміяльны статус" - }, - "premiumRequired": { - "message": "Патрабуецца прэміяльны статус" - }, - "premiumRequiredDesc": { - "message": "Для выкарыстання гэтай функцыі патрабуецца прэміяльны статус." - }, - "youHavePremiumAccess": { - "message": "У вас прэміяльын статус" - }, - "alreadyPremiumFromOrg": { - "message": "You already have access to premium features because of an organization you are a member of." - }, - "manage": { - "message": "Кіраваць" - }, - "disable": { - "message": "Адключыць" - }, - "twoStepLoginProviderEnabled": { - "message": "This two-step login provider is enabled on your account." - }, - "twoStepLoginAuthDesc": { - "message": "Enter your master password to modify two-step login settings." - }, - "twoStepAuthenticatorDesc": { - "message": "Follow these steps to set up two-step login with an authenticator app:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Download a two-step authenticator app" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Need a two-step authenticator app? Download one of the following" - }, - "iosDevices": { - "message": "Прылады на iOS" - }, - "androidDevices": { - "message": "Прылады на Android" - }, - "windowsDevices": { - "message": "Прылады на Windows" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "These apps are recommended, however, other authenticator apps will also work." - }, - "twoStepAuthenticatorScanCode": { - "message": "Scan this QR code with your authenticator app" - }, - "key": { - "message": "Ключ" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Enter the resulting 6 digit verification code from the app" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "In case you need to add it to another device, below is the QR code (or key) required by your authenticator app." - }, - "twoStepDisableDesc": { - "message": "Are you sure you want to disable this two-step login provider?" - }, - "twoStepDisabled": { - "message": "Two-step login provider disabled." - }, - "twoFactorYubikeyAdd": { - "message": "Add a new YubiKey to your account" - }, - "twoFactorYubikeyPlugIn": { - "message": "Plug the YubiKey into your computer's USB port." - }, - "twoFactorYubikeySelectKey": { - "message": "Select the first empty YubiKey input field below." - }, - "twoFactorYubikeyTouchButton": { - "message": "Touch the YubiKey's button." - }, - "twoFactorYubikeySaveForm": { - "message": "Save the form." - }, - "twoFactorYubikeyWarning": { - "message": "Due to platform limitations, YubiKeys cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when YubiKeys cannot be used. Supported platforms:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Web vault, desktop application, CLI, and all browser extensions on a device with a USB port that can accept your YubiKey." - }, - "twoFactorYubikeySupportMobile": { - "message": "Mobile apps on a device with NFC capabilities or a data port that can accept your YubiKey." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "U2F Key $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "NFC Support" - }, - "twoFactorYubikeySupportsNfc": { - "message": "One of my keys supports NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "If one of your YubiKeys supports NFC (such as a YubiKey NEO), you will be prompted on mobile devices whenever NFC availability is detected." - }, - "yubikeysUpdated": { - "message": "YubiKeys updated" - }, - "disableAllKeys": { - "message": "Disable All Keys" - }, - "twoFactorDuoDesc": { - "message": "Enter the Bitwarden application information from your Duo Admin panel." - }, - "twoFactorDuoIntegrationKey": { - "message": "Integration Key" - }, - "twoFactorDuoSecretKey": { - "message": "Сакрэтны ключ" - }, - "twoFactorDuoApiHostname": { - "message": "API Hostname" - }, - "twoFactorEmailDesc": { - "message": "Follow these steps to set up two-step login with email:" - }, - "twoFactorEmailEnterEmail": { - "message": "Enter the email that you wish to receive verification codes" - }, - "twoFactorEmailEnterCode": { - "message": "Enter the resulting 6 digit verification code from the email" - }, - "sendEmail": { - "message": "Send Email" - }, - "twoFactorU2fAdd": { - "message": "Add a FIDO U2F security key to your account" - }, - "removeU2fConfirmation": { - "message": "Are you sure you want to remove this security key?" - }, - "readKey": { - "message": "Read Key" - }, - "keyCompromised": { - "message": "Key is compromised." - }, - "twoFactorU2fGiveName": { - "message": "Give the security key a friendly name to identify it." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Plug the security key into your computer's USB port and click the \"Read Key\" button." - }, - "twoFactorU2fTouchButton": { - "message": "If the security key has a button, touch it." - }, - "twoFactorU2fSaveForm": { - "message": "Save the form." - }, - "twoFactorU2fWarning": { - "message": "Due to platform limitations, FIDO U2F cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when FIDO U2F cannot be used. Supported platforms:" - }, - "twoFactorU2fSupportWeb": { - "message": "Web vault and browser extensions on a desktop/laptop with a U2F enabled browser (Chrome, Opera, Vivaldi, or Firefox with FIDO U2F enabled)." - }, - "twoFactorU2fWaiting": { - "message": "Waiting for you to touch the button on your security key" - }, - "twoFactorU2fClickSave": { - "message": "Click the \"Save\" button below to enable this security key for two-step login." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "There was a problem reading the security key. Try again." - }, - "twoFactorRecoveryYourCode": { - "message": "Your Bitwarden two-step login recovery code" - }, - "twoFactorRecoveryNoCode": { - "message": "You have not enabled any two-step login providers yet. After you have enabled a two-step login provider you can check back here for your recovery code." - }, - "printCode": { - "message": "Print Code", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Справаздачы" - }, - "unsecuredWebsitesReport": { - "message": "Unsecured Websites Report" - }, - "unsecuredWebsitesReportDesc": { - "message": "Using unsecured websites with the http:// scheme can be dangerous. If the website allows, you should always access it using the https:// scheme so that your connection is encrypted." - }, - "unsecuredWebsitesFound": { - "message": "Unsecured Websites Found" - }, - "unsecuredWebsitesFoundDesc": { - "message": "We found $COUNT$ items in your vault with unsecured URIs. You should change their URI scheme to https:// if the website allows it.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "No items in your vault have unsecured URIs." - }, - "inactive2faReport": { - "message": "Inactive 2FA Report" - }, - "inactive2faReportDesc": { - "message": "Two-factor authentication (2FA) is an important security setting that helps secure your accounts. If the website offers it, you should always enable two-factor authentication." - }, - "inactive2faFound": { - "message": "Logins Without 2FA Found" - }, - "inactive2faFoundDesc": { - "message": "We found $COUNT$ website(s) in your vault that may not be configured with two-factor authentication (according to 2fa.directory). To further protect these accounts, you should enable two-factor authentication.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "No websites were found in your vault with a missing two-factor authentication configuration." - }, - "instructions": { - "message": "Instructions" - }, - "exposedPasswordsReport": { - "message": "Exposed Passwords Report" - }, - "exposedPasswordsReportDesc": { - "message": "Exposed passwords are passwords that have been uncovered in known data breaches that were released publicly or sold on the dark web by hackers." - }, - "exposedPasswordsFound": { - "message": "Exposed Passwords Found" - }, - "exposedPasswordsFoundDesc": { - "message": "We found $COUNT$ items in your vault that have passwords that were exposed in known data breaches. You should change them to use a new password.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "No items in your vault have passwords that have been exposed in known data breaches." - }, - "checkExposedPasswords": { - "message": "Check Exposed Passwords" - }, - "exposedXTimes": { - "message": "Exposed $COUNT$ time(s)", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Weak Passwords Report" - }, - "weakPasswordsReportDesc": { - "message": "Weak passwords can easily be guessed by hackers and automated tools that are used to crack passwords. The Bitwarden password generator can help you create strong passwords." - }, - "weakPasswordsFound": { - "message": "Weak Passwords Found" - }, - "weakPasswordsFoundDesc": { - "message": "We found $COUNT$ items in your vault with passwords that are not strong. You should update them to use stronger passwords.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "No items in your vault have weak passwords." - }, - "reusedPasswordsReport": { - "message": "Reused Passwords Report" - }, - "reusedPasswordsReportDesc": { - "message": "If a service that you use is compromised, reusing the same password elsewhere can allow hackers to easily gain access to more of your online accounts. You should use a unique password for every account or service." - }, - "reusedPasswordsFound": { - "message": "Reused Passwords Found" - }, - "reusedPasswordsFoundDesc": { - "message": "We found $COUNT$ passwords that are being reused in your vault. You should change them to a unique value.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "No logins in your vault have passwords that are being reused." - }, - "reusedXTimes": { - "message": "Reused $COUNT$ times", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Data Breach Report" - }, - "breachDesc": { - "message": "A \"breach\" is an incident where a site's data has been illegally accessed by hackers and then released publicly. Review the types of data that were compromised (email addresses, passwords, credit cards etc.) and take appropriate action, such as changing passwords." - }, - "breachCheckUsernameEmail": { - "message": "Check any usernames or email addresses that you use." - }, - "checkBreaches": { - "message": "Check Breaches" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ was not found in any known data breaches.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Good News", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ was found in $COUNT$ different data breaches online.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Breached Accounts Found" - }, - "compromisedData": { - "message": "Compromised data" - }, - "website": { - "message": "Вэб-сайт" - }, - "affectedUsers": { - "message": "Affected Users" - }, - "breachOccurred": { - "message": "Breach Occurred" - }, - "breachReported": { - "message": "Breach Reported" - }, - "reportError": { - "message": "An error occurred trying to load the report. Try again" - }, - "billing": { - "message": "Billing" - }, - "accountCredit": { - "message": "Account Credit", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Account Balance", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Add Credit", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Amount", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Added credit will appear on your account after the payment has been fully processed. Some payment methods are delayed and can take longer to process than others." - }, - "makeSureEnoughCredit": { - "message": "Please make sure that your account has enough credit available for this purchase. If your account does not have enough credit available, your default payment method on file will be used for the difference. You can add credit to your account from the Billing page." - }, - "creditAppliedDesc": { - "message": "Your account's credit can be used to make purchases. Any available credit will be automatically applied towards invoices generated for this account." - }, - "goPremium": { - "message": "Go Premium", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "Вы абнавіліся да прэміяльнага статусу." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Upgrade your account to a premium membership and unlock some great additional features." - }, - "premiumSignUpStorage": { - "message": "1 ГБ зашыфраванага сховішча для далучаных файлаў." - }, - "premiumSignUpTwoStep": { - "message": "Дадатковыя варыянты двухэтапнага ўваходу, такія як YubiKey, FIDO U2F і Duo." - }, - "premiumSignUpReports": { - "message": "Гігіена пароляў, здароўе ўліковага запісу і справаздачы аб уцечках даных для забеспячэння бяспекі вашага сховішча." - }, - "premiumSignUpTotp": { - "message": "TOTP-генератар кодаў (2ФА) для імён карыстальнікаў вашага сховішча." - }, - "premiumSignUpSupport": { - "message": "Прыярытэтная падтрымка." - }, - "premiumSignUpFuture": { - "message": "Усе будучыя функцыі прэміяльнага статусу. Іх будзе больш!" - }, - "premiumPrice": { - "message": "Усяго толькі за $PRICE$ на год!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Addons" - }, - "premiumAccess": { - "message": "Premium Access" - }, - "premiumAccessDesc": { - "message": "You can add premium access to all members of your organization for $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Additional Storage (GB)" - }, - "additionalStorageGbDesc": { - "message": "# of additional GB" - }, - "additionalStorageIntervalDesc": { - "message": "Your plan comes with $SIZE$ of encrypted file storage. You can add additional storage for $PRICE$ per GB /$INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Summary" - }, - "total": { - "message": "Total" - }, - "year": { - "message": "year" - }, - "month": { - "message": "month" - }, - "monthAbbr": { - "message": "mo.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Your payment method will be charged immediately and then on a recurring basis each year. You may cancel at any time." - }, - "paymentCharged": { - "message": "Your payment method will be charged immediately and then on a recurring basis each $INTERVAL$. You may cancel at any time.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Your plan comes with a free 7 day trial. Your payment method will not be charged until the trial has ended. Billing will occur on a recurring basis each $INTERVAL$. You may cancel at any time.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Payment Information" - }, - "billingInformation": { - "message": "Billing Information" - }, - "creditCard": { - "message": "Credit Card" - }, - "paypalClickSubmit": { - "message": "Click the PayPal button to log into your PayPal account, then click the Submit button below to continue." - }, - "cancelSubscription": { - "message": "Cancel Subscription" - }, - "subscriptionCanceled": { - "message": "The subscription has been canceled." - }, - "pendingCancellation": { - "message": "Pending Cancellation" - }, - "subscriptionPendingCanceled": { - "message": "The subscription has been marked for cancellation at the end of the current billing period." - }, - "reinstateSubscription": { - "message": "Reinstate Subscription" - }, - "reinstateConfirmation": { - "message": "Are you sure you want to remove the pending cancellation request and reinstate your subscription?" - }, - "reinstated": { - "message": "The subscription has been reinstated." - }, - "cancelConfirmation": { - "message": "Are you sure you want to cancel? You will lose access to all of this subscription's features at the end of this billing cycle." - }, - "canceledSubscription": { - "message": "The subscription has been canceled." - }, - "neverExpires": { - "message": "Never Expires" - }, - "status": { - "message": "Status" - }, - "nextCharge": { - "message": "Next Charge" - }, - "details": { - "message": "Details" - }, - "downloadLicense": { - "message": "Download License" - }, - "updateLicense": { - "message": "Update License" - }, - "updatedLicense": { - "message": "Updated license" - }, - "manageSubscription": { - "message": "Manage Subscription" - }, - "storage": { - "message": "Storage" - }, - "addStorage": { - "message": "Add Storage" - }, - "removeStorage": { - "message": "Remove Storage" - }, - "subscriptionStorage": { - "message": "Your subscription has a total of $MAX_STORAGE$ GB of encrypted file storage. You are currently using $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Спосаб аплаты" - }, - "noPaymentMethod": { - "message": "No payment method on file." - }, - "addPaymentMethod": { - "message": "Дадаць спосаб аплаты" - }, - "changePaymentMethod": { - "message": "Змяніць спосаб аплаты" - }, - "invoices": { - "message": "Invoices" - }, - "noInvoices": { - "message": "No invoices." - }, - "paid": { - "message": "Paid", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Unpaid", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Трансакцыі", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "Няма трансакцый." - }, - "chargeNoun": { - "message": "Charge", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Refund", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Any charges will appear on your statement as $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "GB of Storage To Add" - }, - "gbStorageRemove": { - "message": "GB of Storage To Remove" - }, - "storageAddNote": { - "message": "Adding storage will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." - }, - "storageRemoveNote": { - "message": "Removing storage will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." - }, - "adjustedStorage": { - "message": "Adjusted $AMOUNT$ GB of storage.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Contact Customer Support" - }, - "updatedPaymentMethod": { - "message": "Updated payment method." - }, - "purchasePremium": { - "message": "Купіць прэміяльны статус" - }, - "licenseFile": { - "message": "License File" - }, - "licenseFileDesc": { - "message": "Your license file will be named something like $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "To upgrade your account to a premium membership you need to upload a valid license file." - }, - "uploadLicenseFileOrg": { - "message": "To create an on-premises hosted organization you need to upload a valid license file." - }, - "accountEmailMustBeVerified": { - "message": "Your account's email address must be verified." - }, - "newOrganizationDesc": { - "message": "Organizations allow you to share parts of your vault with others as well as manage related users for a specific entity such as a family, small team, or large company." - }, - "generalInformation": { - "message": "General Information" - }, - "organizationName": { - "message": "Назва арганізацыі" - }, - "accountOwnedBusiness": { - "message": "This account is owned by a business." - }, - "billingEmail": { - "message": "Billing Email" - }, - "businessName": { - "message": "Business Name" - }, - "chooseYourPlan": { - "message": "Choose Your Plan" - }, - "users": { - "message": "Карыстальнікі" - }, - "userSeats": { - "message": "User Seats" - }, - "additionalUserSeats": { - "message": "Additional User Seats" - }, - "userSeatsDesc": { - "message": "# of user seats" - }, - "userSeatsAdditionalDesc": { - "message": "Your plan comes with $BASE_SEATS$ user seats. You can add additional users for $SEAT_PRICE$ per user /month.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "How many user seats do you need? You can also add additional seats later if needed." - }, - "planNameFree": { - "message": "Free", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "For testing or personal users to share with $COUNT$ other user.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Families" - }, - "planDescFamilies": { - "message": "For personal use, to share with family & friends." - }, - "planNameTeams": { - "message": "Teams" - }, - "planDescTeams": { - "message": "For businesses and other team organizations." - }, - "planNameEnterprise": { - "message": "Enterprise" - }, - "planDescEnterprise": { - "message": "For businesses and other large organizations." - }, - "freeForever": { - "message": "Free Forever" - }, - "includesXUsers": { - "message": "includes $COUNT$ users", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Additional Users" - }, - "costPerUser": { - "message": "$COST$ per user", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Limited to $COUNT$ users (including you)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Limited to $COUNT$ collections", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Add and share with up to $COUNT$ users", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Add and share with unlimited users" - }, - "createUnlimitedCollections": { - "message": "Create unlimited Collections" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ encrypted file storage", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "On-premise hosting (optional)" - }, - "usersGetPremium": { - "message": "Users get access to Premium Features" - }, - "controlAccessWithGroups": { - "message": "Control user access with Groups" - }, - "syncUsersFromDirectory": { - "message": "Sync your users and Groups from a directory" - }, - "trackAuditLogs": { - "message": "Track user actions with audit logs" - }, - "enforce2faDuo": { - "message": "Enforce 2FA with Duo" - }, - "priorityCustomerSupport": { - "message": "Priority customer support" - }, - "xDayFreeTrial": { - "message": "$COUNT$ day free trial, cancel anytime", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Monthly" - }, - "annually": { - "message": "Annually" - }, - "basePrice": { - "message": "Base Price" - }, - "organizationCreated": { - "message": "Organization Created" - }, - "organizationReadyToGo": { - "message": "Your new organization is ready to go!" - }, - "organizationUpgraded": { - "message": "Your organization has been upgraded." - }, - "leave": { - "message": "Leave" - }, - "leaveOrganizationConfirmation": { - "message": "Are you sure you want to leave this organization?" - }, - "leftOrganization": { - "message": "You have left the organization." - }, - "defaultCollection": { - "message": "Default Collection" - }, - "getHelp": { - "message": "Get Help" - }, - "getApps": { - "message": "Get the Apps" - }, - "loggedInAs": { - "message": "Logged in as" - }, - "eventLogs": { - "message": "Event Logs" - }, - "people": { - "message": "People" - }, - "policies": { - "message": "Policies" - }, - "editPolicy": { - "message": "Edit Policy" - }, - "groups": { - "message": "Groups" - }, - "newGroup": { - "message": "New Group" - }, - "addGroup": { - "message": "Add Group" - }, - "editGroup": { - "message": "Edit Group" - }, - "deleteGroupConfirmation": { - "message": "Are you sure you want to delete this group?" - }, - "removeUserConfirmation": { - "message": "Are you sure you want to remove this user?" - }, - "externalId": { - "message": "External Id" - }, - "externalIdDesc": { - "message": "The external id can be used as a reference or to link this resource to an external system such as a user directory." - }, - "accessControl": { - "message": "Access Control" - }, - "groupAccessAllItems": { - "message": "This group can access and modify all items." - }, - "groupAccessSelectedCollections": { - "message": "This group can access only the selected collections." - }, - "readOnly": { - "message": "Read Only" - }, - "newCollection": { - "message": "Новая калекцыя" - }, - "addCollection": { - "message": "Дадаць калекцыю" - }, - "editCollection": { - "message": "Рэдагаваць калекцыю" - }, - "deleteCollectionConfirmation": { - "message": "Вы ўпэўнены, што хочаце выдаліць гэту калекцыю?" - }, - "editUser": { - "message": "Рэдагаваць карыстальніка" - }, - "inviteUser": { - "message": "Invite User" - }, - "inviteUserDesc": { - "message": "Invite a new user to your organization by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "inviteMultipleEmailDesc": { - "message": "You can invite up to $COUNT$ users at a time by comma separating a list of email addresses.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "This user is using two-step login to protect their account." - }, - "userAccessAllItems": { - "message": "This user can access and modify all items." - }, - "userAccessSelectedCollections": { - "message": "This user can access only the selected collections." - }, - "search": { - "message": "Search" - }, - "invited": { - "message": "Invited" - }, - "accepted": { - "message": "Accepted" - }, - "confirmed": { - "message": "Confirmed" - }, - "owner": { - "message": "Owner" - }, - "ownerDesc": { - "message": "The highest access user that can manage all aspects of your organization." - }, - "admin": { - "message": "Admin" - }, - "adminDesc": { - "message": "Admins can access and manage all items, collections and users in your organization." - }, - "user": { - "message": "User" - }, - "userDesc": { - "message": "A regular user with access to assigned collections in your organization." - }, - "manager": { - "message": "Manager" - }, - "managerDesc": { - "message": "Managers can access and manage assigned collections in your organization." - }, - "all": { - "message": "All" - }, - "refresh": { - "message": "Refresh" - }, - "timestamp": { - "message": "Timestamp" - }, - "event": { - "message": "Event" - }, - "unknown": { - "message": "Unknown" - }, - "loadMore": { - "message": "Load More" - }, - "mobile": { - "message": "Mobile", - "description": "Mobile app" - }, - "extension": { - "message": "Extension", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Desktop", - "description": "Desktop app" - }, - "webVault": { - "message": "Web Vault" - }, - "loggedIn": { - "message": "Logged in." - }, - "changedPassword": { - "message": "Changed account password." - }, - "enabledUpdated2fa": { - "message": "Enabled/updated two-step login." - }, - "disabled2fa": { - "message": "Disabled two-step login." - }, - "recovered2fa": { - "message": "Recovered account from two-step login." - }, - "failedLogin": { - "message": "Login attempt failed with incorrect password." - }, - "failedLogin2fa": { - "message": "Login attempt failed with incorrect two-step login." - }, - "exportedVault": { - "message": "Exported vault." - }, - "exportedOrganizationVault": { - "message": "Exported organization vault." - }, - "editedOrgSettings": { - "message": "Edited organization settings." - }, - "createdItemId": { - "message": "Created item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Edited item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Sent item $ID$ to trash.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Shared item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Viewed item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Viewed password for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Viewed hidden field for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Viewed security code for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Copied password for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Copied hidden field for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Copied security code for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Auto-filled item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Created collection $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Edited collection $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Deleted collection $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Edited policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Created group $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Edited group $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Deleted group $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Removed user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Created attachment for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Deleted attachment for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Edited collections for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Invited user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Confirmed user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Edited user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Edited groups for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Device" - }, - "view": { - "message": "View" - }, - "invalidDateRange": { - "message": "Invalid date range." - }, - "errorOccurred": { - "message": "An error has occurred." - }, - "userAccess": { - "message": "User Access" - }, - "userType": { - "message": "User Type" - }, - "groupAccess": { - "message": "Group Access" - }, - "groupAccessUserDesc": { - "message": "Edit the groups that this user belongs to." - }, - "invitedUsers": { - "message": "Invited user(s)." - }, - "resendInvitation": { - "message": "Resend Invitation" - }, - "hasBeenReinvited": { - "message": "$USER$ has been reinvited.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Confirm" - }, - "confirmUser": { - "message": "Confirm User" - }, - "hasBeenConfirmed": { - "message": "$USER$ has been confirmed.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Confirm Users" - }, - "usersNeedConfirmed": { - "message": "You have users that have accepted their invitation, but still need to be confirmed. Users will not have access to the organization until they are confirmed." - }, - "startDate": { - "message": "Start Date" - }, - "endDate": { - "message": "End Date" - }, - "verifyEmail": { - "message": "Verify Email" - }, - "verifyEmailDesc": { - "message": "Verify your account's email address to unlock access to all features." - }, - "verifyEmailFirst": { - "message": "Your account's email address first must be verified." - }, - "checkInboxForVerification": { - "message": "Check your email inbox for a verification link." - }, - "emailVerified": { - "message": "Your email has been verified." - }, - "emailVerifiedFailed": { - "message": "Unable to verify your email. Try sending a new verification email." - }, - "updateBrowser": { - "message": "Update Browser" - }, - "updateBrowserDesc": { - "message": "You are using an unsupported web browser. The web vault may not function properly." - }, - "joinOrganization": { - "message": "Join Organization" - }, - "joinOrganizationDesc": { - "message": "You've been invited to join the organization listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "inviteAccepted": { - "message": "Invitation Accepted" - }, - "inviteAcceptedDesc": { - "message": "You can access this organization once an administrator confirms your membership. We'll send you an email when that happens." - }, - "inviteAcceptFailed": { - "message": "Unable to accept invitation. Ask an organization admin to send a new invitation." - }, - "inviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Remember email" - }, - "recoverAccountTwoStepDesc": { - "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to disable all two-step providers on your account." - }, - "recoverAccountTwoStep": { - "message": "Recover Account Two-Step Login" - }, - "twoStepRecoverDisabled": { - "message": "Two-step login has been disabled on your account." - }, - "learnMore": { - "message": "Learn more" - }, - "deleteRecoverDesc": { - "message": "Enter your email address below to recover and delete your account." - }, - "deleteRecoverEmailSent": { - "message": "If your account exists, we've sent you an email with further instructions." - }, - "deleteRecoverConfirmDesc": { - "message": "You have requested to delete your Bitwarden account. Click the button below to confirm." - }, - "myOrganization": { - "message": "My Organization" - }, - "deleteOrganization": { - "message": "Delete Organization" - }, - "deleteOrganizationDesc": { - "message": "Proceed below to delete this organization and all associated data. Individual user accounts will remain, though they will not be associated to this organization anymore. " - }, - "deleteOrganizationWarning": { - "message": "Deleting the organization is permanent. It cannot be undone." - }, - "organizationDeleted": { - "message": "Organization Deleted" - }, - "organizationDeletedDesc": { - "message": "The organization and all associated data has been deleted." - }, - "organizationUpdated": { - "message": "Organization updated" - }, - "taxInformation": { - "message": "Tax Information" - }, - "taxInformationDesc": { - "message": "For customers within the US, ZIP code is required to satisfy sales tax requirements, for other countries you may optionally provide a tax identification number (VAT/GST) and/or address to appear on your invoices." - }, - "billingPlan": { - "message": "Plan", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Change Plan", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Upgrade your account to another plan by providing the information below. Please ensure that you have an active payment method added to the account.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Contact customer support if you would like to change your plan. Please ensure that you have an active payment method added to the account.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Invoice #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "View Invoice" - }, - "downloadInvoice": { - "message": "Download Invoice" - }, - "verifyBankAccount": { - "message": "Verify Bank Account" - }, - "verifyBankAccountDesc": { - "message": "We have made two micro-deposits to your bank account (it may take 1-2 business days to show up). Enter these amounts to verify the bank account." - }, - "verifyBankAccountInitialDesc": { - "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make two micro-deposits within the next 1-2 business days. Enter these amounts on the organization's billing page to verify the bank account." - }, - "verifyBankAccountFailureWarning": { - "message": "Failure to verify the bank account will result in a missed payment and your subscription being disabled." - }, - "verifiedBankAccount": { - "message": "Bank account has been verified." - }, - "bankAccount": { - "message": "Bank Account" - }, - "amountX": { - "message": "Amount $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Routing Number", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Account Number" - }, - "accountHolderName": { - "message": "Account Holder Name" - }, - "bankAccountType": { - "message": "Account Type" - }, - "bankAccountTypeCompany": { - "message": "Company (Business)" - }, - "bankAccountTypeIndividual": { - "message": "Individual (Personal)" - }, - "enterInstallationId": { - "message": "Enter your installation id" - }, - "addSeats": { - "message": "Add Seats", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Remove Seats", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Your subscription allows for a total of $COUNT$ users.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Seats To Add" - }, - "seatsToRemove": { - "message": "Seats To Remove" - }, - "seatsAddNote": { - "message": "Adding user seats will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." - }, - "seatsRemoveNote": { - "message": "Removing user seats will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." - }, - "adjustedSeats": { - "message": "Adjusted $AMOUNT$ user seats.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Key Updated" - }, - "updateKeyTitle": { - "message": "Update Key" - }, - "updateEncryptionKey": { - "message": "Update Encryption Key" - }, - "updateEncryptionKeyShortDesc": { - "message": "You are currently using an outdated encryption scheme." - }, - "updateEncryptionKeyDesc": { - "message": "We've moved to larger encryption keys that provide better security and access to newer features. Updating your encryption key is quick and easy. Just type your master password below. This update will eventually become mandatory." - }, - "updateEncryptionKeyWarning": { - "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." - }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." - }, - "subscription": { - "message": "Subscription" - }, - "loading": { - "message": "Loading" - }, - "upgrade": { - "message": "Upgrade" - }, - "upgradeOrganization": { - "message": "Upgrade Organization" - }, - "upgradeOrganizationDesc": { - "message": "This feature is not available for free organizations. Switch to a paid plan to unlock more features." - }, - "createOrganizationStep1": { - "message": "Create Organization: Step 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Before creating your organization, you first need to create a free personal account." - }, - "refunded": { - "message": "Refunded" - }, - "nothingSelected": { - "message": "You have not selected anything." - }, - "acceptPolicies": { - "message": "By checking this box you agree to the following:" - }, - "acceptPoliciesError": { - "message": "Terms of Service and Privacy Policy have not been acknowledged." - }, - "termsOfService": { - "message": "Terms of Service" - }, - "privacyPolicy": { - "message": "Privacy Policy" - }, - "filters": { - "message": "Filters" - }, - "vaultTimeout": { - "message": "Vault Timeout" - }, - "vaultTimeoutDesc": { - "message": "Choose when your vault will timeout and perform the selected action." - }, - "oneMinute": { - "message": "1 minute" - }, - "fiveMinutes": { - "message": "5 minutes" - }, - "fifteenMinutes": { - "message": "15 minutes" - }, - "thirtyMinutes": { - "message": "30 minutes" - }, - "oneHour": { - "message": "1 hour" - }, - "fourHours": { - "message": "4 hours" - }, - "onRefresh": { - "message": "On Browser Refresh" - }, - "dateUpdated": { - "message": "Updated", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Password Updated", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "Organization is disabled." - }, - "licenseIsExpired": { - "message": "License is expired." - }, - "updatedUsers": { - "message": "Updated users" - }, - "selected": { - "message": "Selected" - }, - "ownership": { - "message": "Ownership" - }, - "whoOwnsThisItem": { - "message": "Who owns this item?" - }, - "strong": { - "message": "Strong", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Good", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Weak", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Very Weak", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Слабы асноўны пароль" - }, - "weakMasterPasswordDesc": { - "message": "Асноўны пароль, выбраны вамі, з'яўляецца слабым. Для належнай абароны ўліковага запісу Bitwarden, вы павінны выкарыстоўваць моцны асноўны пароль (або парольную фразу). Вы ўпэўнены, што хочаце выкарыстоўваць гэты асноўны пароль?" - }, - "rotateAccountEncKey": { - "message": "Also rotate my account's encryption key" - }, - "rotateEncKeyTitle": { - "message": "Rotate Encryption Key" - }, - "rotateEncKeyConfirmation": { - "message": "Are you sure you want to rotate your account's encryption key?" - }, - "attachmentsNeedFix": { - "message": "This item has old file attachments that need to be fixed." - }, - "attachmentFixDesc": { - "message": "This is an old file attachment the needs to be fixed. Click to learn more." - }, - "fix": { - "message": "Fix", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "There are old file attachments in your vault that need to be fixed before you can rotate your account's encryption key." - }, - "yourAccountsFingerprint": { - "message": "Your account's fingerprint phrase", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "To ensure the integrity of your encryption keys, please verify the user's fingerprint phrase before continuing.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Don't ask to verify fingerprint phrase again", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Free", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "API Key" - }, - "apiKeyDesc": { - "message": "Your API key can be used to authenticate to the Bitwarden public API." - }, - "apiKeyRotateDesc": { - "message": "Rotating the API key will invalidate the previous key. You can rotate your API key if you believe that the current key is no longer safe to use." - }, - "apiKeyWarning": { - "message": "Your API key has full access to the organization. It should be kept secret." - }, - "userApiKeyDesc": { - "message": "Your API key can be used to authenticate in the Bitwarden CLI." - }, - "userApiKeyWarning": { - "message": "Your API key is an alternative authentication mechanism. It should be kept secret." - }, - "oauth2ClientCredentials": { - "message": "OAuth 2.0 Client Credentials", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "View API Key" - }, - "rotateApiKey": { - "message": "Rotate API Key" - }, - "selectOneCollection": { - "message": "You must select at least one collection." - }, - "couldNotChargeCardPayInvoice": { - "message": "We were not able to charge your card. Please view and pay the unpaid invoice listed below." - }, - "inAppPurchase": { - "message": "In-app Purchase" - }, - "cannotPerformInAppPurchase": { - "message": "You cannot perform this action while using an in-app purchase payment method." - }, - "manageSubscriptionFromStore": { - "message": "You must manage your subscription from the store where your in-app purchase was made." - }, - "minLength": { - "message": "Minimum Length" - }, - "clone": { - "message": "Clone" - }, - "masterPassPolicyDesc": { - "message": "Задайце мінімальныя патрабаванні да надзейнасці асноўнага пароля." - }, - "twoStepLoginPolicyDesc": { - "message": "Require users to set up two-step login on their personal accounts." - }, - "twoStepLoginPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and do not have two-step login enabled for their personal account will be removed from the organization and will receive an email notifying them about the change." - }, - "twoStepLoginPolicyUserWarning": { - "message": "You are a member of an organization that requires two-step login to be enabled on your user account. If you disable all two-step login providers you will be automatically removed from these organizations." - }, - "passwordGeneratorPolicyDesc": { - "message": "Set minimum requirements for password generator configuration." - }, - "passwordGeneratorPolicyInEffect": { - "message": "One or more organization policies are affecting your generator settings." - }, - "masterPasswordPolicyInEffect": { - "message": "Згодна з адной або некалькімі палітыкамі арганізацыі неабходна, каб ваш асноўны пароль адказваў наступным патрабаванням:" - }, - "policyInEffectMinComplexity": { - "message": "Minimum complexity score of $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Minimum length of $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Contain one or more uppercase characters" - }, - "policyInEffectLowercase": { - "message": "Contain one or more lowercase characters" - }, - "policyInEffectNumbers": { - "message": "Contain one or more numbers" - }, - "policyInEffectSpecial": { - "message": "Contain one or more of the following special characters $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Ваш новы асноўны пароль не адпавядае патрабаванням палітыкі арганізацыі." - }, - "minimumNumberOfWords": { - "message": "Minimum Number of Words" - }, - "defaultType": { - "message": "Default Type" - }, - "userPreference": { - "message": "User Preference" - }, - "vaultTimeoutAction": { - "message": "Vault Timeout Action" - }, - "vaultTimeoutActionLockDesc": { - "message": "A locked vault requires that you re-enter your master password to access it again." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "A logged out vault requires that you re-authenticate to access it again." - }, - "lock": { - "message": "Lock", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Trash", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Search Trash" - }, - "permanentlyDelete": { - "message": "Permanently Delete" - }, - "permanentlyDeleteSelected": { - "message": "Permanently Delete Selected" - }, - "permanentlyDeleteItem": { - "message": "Permanently Delete Item" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Are you sure you want to permanently delete this item?" - }, - "permanentlyDeletedItem": { - "message": "Permanently Deleted item" - }, - "permanentlyDeletedItems": { - "message": "Permanently Deleted items" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to permanently delete. Are you sure you want to permanently delete all of these items?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Permanently Deleted item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Restore" - }, - "restoreSelected": { - "message": "Restore Selected" - }, - "restoreItem": { - "message": "Restore Item" - }, - "restoredItem": { - "message": "Restored Item" - }, - "restoredItems": { - "message": "Restored Items" - }, - "restoreItemConfirmation": { - "message": "Are you sure you want to restore this item?" - }, - "restoreItems": { - "message": "Restore items" - }, - "restoreSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to restore. Are you sure you want to restore all of these items?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Restored item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Logging out will remove all access to your vault and requires online authentication after the timeout period. Are you sure you want to use this setting?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Timeout Action Confirmation" - }, - "hidePasswords": { - "message": "Hide Passwords" - }, - "countryPostalCodeRequiredDesc": { - "message": "We require this information for calculating sales tax and financial reporting only." - }, - "includeVAT": { - "message": "Include VAT/GST Information (optional)" - }, - "taxIdNumber": { - "message": "VAT/GST Tax ID" - }, - "taxInfoUpdated": { - "message": "Tax information updated." - }, - "setMasterPassword": { - "message": "Задаць асноўны пароль" - }, - "ssoCompleteRegistration": { - "message": "In order to complete logging in with SSO, please set a master password to access and protect your vault." - }, - "identifier": { - "message": "Identifier" - }, - "organizationIdentifier": { - "message": "Organization Identifier" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Log in using your organization's single sign-on portal. Please enter your organization's identifier to begin." - }, - "enterpriseSingleSignOn": { - "message": "Enterprise Single Sign-On" - }, - "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." - }, - "businessPortal": { - "message": "Business Portal", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "All Teams features, plus:" - }, - "includeSsoAuthentication": { - "message": "SSO Authentication via SAML2.0 and OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Enterprise Policies" - }, - "ssoValidationFailed": { - "message": "SSO Validation Failed" - }, - "ssoIdentifierRequired": { - "message": "Organization Identifier is required." - }, - "unlinkSso": { - "message": "Unlink SSO" - }, - "linkSso": { - "message": "Link SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "Policy configuration has been moved, and this page will soon be deprecated. Please click below to use the Business Portal policies page instead." - }, - "singleOrg": { - "message": "Single Organization" - }, - "singleOrgDesc": { - "message": "Restrict users from being able to join any other organizations." - }, - "singleOrgBlockCreateMessage": { - "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." - }, - "singleOrgPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and are already a member of another organization will be removed from your organization." - }, - "requireSso": { - "message": "Single Sign-On Authentication" - }, - "requireSsoPolicyDesc": { - "message": "Require users to log in with the Enterprise Single Sign-On method." - }, - "prerequisite": { - "message": "Prerequisite" - }, - "requireSsoPolicyReq": { - "message": "The Single Organization enterprise policy must be enabled before activating this policy." - }, - "requireSsoPolicyReqError": { - "message": "Single Organization policy not enabled." - }, - "requireSsoExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "sendTypeFile": { - "message": "File" - }, - "sendTypeText": { - "message": "Text" - }, - "createSend": { - "message": "Create New Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Edit Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Created Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Edited Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Deleted Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Delete Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Are you sure you want to delete this Send?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "What type of Send is this?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Deletion Date" - }, - "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Expiration Date" - }, - "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Maximum Access Count" - }, - "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Current Access Count" - }, - "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Private notes about this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Disabled" - }, - "sendLink": { - "message": "Send Link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Copy Send Link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Remove Password" - }, - "removedPassword": { - "message": "Removed Password" - }, - "removePasswordConfirmation": { - "message": "Are you sure you want to remove the password?" - }, - "disableThisSend": { - "message": "Disable this Send so that no one can access it.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "All Sends" - }, - "maxAccessCountReached": { - "message": "Max access count reached" - }, - "pendingDeletion": { - "message": "Pending deletion" - }, - "expired": { - "message": "Expired" - }, - "searchSends": { - "message": "Search Sends", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "This Send is protected with a password. Please type the password below to continue.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Don't know the password? Ask the Sender for the password needed to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "This send is hidden by default. You can toggle its visibility using the button below.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Download File" - }, - "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "There are no Sends to list.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Emergency Access" - }, - "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." - }, - "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" - }, - "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." - }, - "addEmergencyContact": { - "message": "Add emergency contact" - }, - "designatedEmergencyContacts": { - "message": "Designated as emergency contact" - }, - "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." - }, - "inviteEmergencyContact": { - "message": "Invite emergency contact" - }, - "editEmergencyContact": { - "message": "Edit emergency contact" - }, - "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" - }, - "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" - }, - "viewDesc": { - "message": "Can view all items in your own vault." - }, - "takeover": { - "message": "Takeover" - }, - "takeoverDesc": { - "message": "Can reset your account with a new master password." - }, - "waitTime": { - "message": "Wait Time" - }, - "waitTimeDesc": { - "message": "Time required before automatically granting access." - }, - "oneDay": { - "message": "1 day" - }, - "days": { - "message": "$DAYS$ days", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Invited user." - }, - "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." - }, - "requestAccess": { - "message": "Request Access" - }, - "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Approve" - }, - "reject": { - "message": "Reject" - }, - "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Emergency access approved." - }, - "emergencyRejected": { - "message": "Emergency access rejected" - }, - "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Personal Ownership" - }, - "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." - }, - "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." - }, - "modifiedPolicyId": { - "message": "Modified policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Plan price" - }, - "estimatedTax": { - "message": "Estimated tax" - }, - "custom": { - "message": "Custom" - }, - "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." - }, - "permissions": { - "message": "Permissions" - }, - "accessBusinessPortal": { - "message": "Access Business Portal" - }, - "accessEventLogs": { - "message": "Access Event Logs" - }, - "accessImportExport": { - "message": "Access Import/Export" - }, - "accessReports": { - "message": "Access Reports" - }, - "manageAllCollections": { - "message": "Manage All Collections" - }, - "manageAssignedCollections": { - "message": "Manage Assigned Collections" - }, - "manageGroups": { - "message": "Manage Groups" - }, - "managePolicies": { - "message": "Manage Policies" - }, - "manageSso": { - "message": "Manage SSO" - }, - "manageUsers": { - "message": "Manage Users" - }, - "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." - }, - "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." - }, - "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" - }, - "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/bg/messages.json b/locales/bg/messages.json deleted file mode 100644 index f43121bf..00000000 --- a/locales/bg/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "Трезор по уеб „$APP_NAME$“", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "Вид на елемента" - }, - "name": { - "message": "Наименование" - }, - "uri": { - "message": "Адрес" - }, - "uriPosition": { - "message": "Адрес $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "Нов адрес" - }, - "username": { - "message": "Потребителско име" - }, - "password": { - "message": "Парола" - }, - "newPassword": { - "message": "Нова парола" - }, - "passphrase": { - "message": "Парола-фраза" - }, - "notes": { - "message": "Бележки" - }, - "customFields": { - "message": "Допълнителни полета" - }, - "cardholderName": { - "message": "Име на притежателя на картата" - }, - "number": { - "message": "Номер" - }, - "brand": { - "message": "Вид" - }, - "expiration": { - "message": "Изтичане" - }, - "securityCode": { - "message": "Код за сигурност" - }, - "identityName": { - "message": "Име на самоличността" - }, - "company": { - "message": "Фирма" - }, - "ssn": { - "message": "Номер на осигуровката" - }, - "passportNumber": { - "message": "Номер на паспорта" - }, - "licenseNumber": { - "message": "Номер на лиценза" - }, - "email": { - "message": "Електронна поща" - }, - "phone": { - "message": "Телефон" - }, - "january": { - "message": "януари" - }, - "february": { - "message": "февруари" - }, - "march": { - "message": "март" - }, - "april": { - "message": "април" - }, - "may": { - "message": "май" - }, - "june": { - "message": "юни" - }, - "july": { - "message": "юли" - }, - "august": { - "message": "август" - }, - "september": { - "message": "септември" - }, - "october": { - "message": "октомври" - }, - "november": { - "message": "ноември" - }, - "december": { - "message": "декември" - }, - "title": { - "message": "Обръщение" - }, - "mr": { - "message": "Г-н" - }, - "mrs": { - "message": "Г-жа" - }, - "ms": { - "message": "Г-жа" - }, - "dr": { - "message": "Д-р" - }, - "expirationMonth": { - "message": "Месец на изтичане" - }, - "expirationYear": { - "message": "Година на изтичане" - }, - "authenticatorKeyTotp": { - "message": "Удостоверителен ключ (TOTP)" - }, - "folder": { - "message": "Папка" - }, - "newCustomField": { - "message": "Ново допълнително поле" - }, - "value": { - "message": "Стойност" - }, - "dragToSort": { - "message": "Подредба чрез влачене" - }, - "cfTypeText": { - "message": "Текст" - }, - "cfTypeHidden": { - "message": "Скрито" - }, - "cfTypeBoolean": { - "message": "Булево" - }, - "remove": { - "message": "Премахване" - }, - "unassigned": { - "message": "Незададено" - }, - "noneFolder": { - "message": "Няма папка", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Добавяне на папка" - }, - "editFolder": { - "message": "Редактиране на папка" - }, - "baseDomain": { - "message": "Основен домейн" - }, - "host": { - "message": "Сървър", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Точно" - }, - "startsWith": { - "message": "Започва с" - }, - "regEx": { - "message": "Регулярен израз", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Откриване на съвпадения", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Стандартно откриване на съвпадения", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Никога" - }, - "toggleVisibility": { - "message": "Превключване на видимостта" - }, - "toggleCollapse": { - "message": "Превключване на свиването", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Нова парола" - }, - "checkPassword": { - "message": "Проверка дали паролата е разкрита." - }, - "passwordExposed": { - "message": "Паролата е била разкрита поне $VALUE$ път/и в масивите с изтеклите данни. Непременно я сменете.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "Паролата не е била разкрита в известните масиви с изтекли данни. Засега ползването ѝ изглежда безопасно." - }, - "save": { - "message": "Запазване" - }, - "cancel": { - "message": "Отказ" - }, - "canceled": { - "message": "Отказано" - }, - "close": { - "message": "Затваряне" - }, - "delete": { - "message": "Изтриване" - }, - "favorite": { - "message": "Любими" - }, - "unfavorite": { - "message": "Изваждане от любими" - }, - "edit": { - "message": "Редактиране" - }, - "searchCollection": { - "message": "Търсене в колекцията" - }, - "searchFolder": { - "message": "Търсене в папката" - }, - "searchFavorites": { - "message": "Търсене в любими" - }, - "searchType": { - "message": "Търсене по вид", - "description": "Search item type" - }, - "searchVault": { - "message": "Търсене в трезора" - }, - "allItems": { - "message": "Всички елементи" - }, - "favorites": { - "message": "Любими" - }, - "types": { - "message": "Видове" - }, - "typeLogin": { - "message": "Запис" - }, - "typeCard": { - "message": "Карта" - }, - "typeIdentity": { - "message": "Самоличност" - }, - "typeSecureNote": { - "message": "Защитена бележка" - }, - "folders": { - "message": "Папки" - }, - "collections": { - "message": "Колекции" - }, - "firstName": { - "message": "Собствено име" - }, - "middleName": { - "message": "Презиме" - }, - "lastName": { - "message": "Фамилно име" - }, - "address1": { - "message": "Адрес 1" - }, - "address2": { - "message": "Адрес 2" - }, - "address3": { - "message": "Адрес 3" - }, - "cityTown": { - "message": "Населено място" - }, - "stateProvince": { - "message": "Област" - }, - "zipPostalCode": { - "message": "Пощенски код" - }, - "country": { - "message": "Държава" - }, - "shared": { - "message": "Споделено" - }, - "attachments": { - "message": "Прикачени файлове" - }, - "select": { - "message": "Избор" - }, - "addItem": { - "message": "Добавяне на елемент" - }, - "editItem": { - "message": "Редактиране на елемента" - }, - "viewItem": { - "message": "View Item" - }, - "ex": { - "message": "напр.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Други" - }, - "share": { - "message": "Споделяне" - }, - "valueCopied": { - "message": "$VALUE$ — копирано", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Копиране на стойността", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Копиране на паролата", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Копиране на потребителското име", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Копиране на но̀мера", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Копиране на кода за сигурност", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Копиране на адреса", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "Моят трезор" - }, - "vault": { - "message": "Трезор" - }, - "shareSelected": { - "message": "Споделяне на избраното" - }, - "deleteSelected": { - "message": "Изтриване на избраното" - }, - "moveSelected": { - "message": "Преместване на избраното" - }, - "selectAll": { - "message": "Избиране на всичко" - }, - "unselectAll": { - "message": "Без избиране" - }, - "launch": { - "message": "Пускане" - }, - "newAttachment": { - "message": "Прикачване на файл" - }, - "deletedAttachment": { - "message": "Прикаченият файл е изтрит" - }, - "deleteAttachmentConfirmation": { - "message": "Сигурни ли сте, че искате да изтриете прикачения файл?" - }, - "attachmentSaved": { - "message": "Прикаченият файл е запазен." - }, - "file": { - "message": "Файл" - }, - "selectFile": { - "message": "Избор на файл." - }, - "maxFileSize": { - "message": "Големината на файла е най-много 100 MB." - }, - "updateKey": { - "message": "Трябва да обновите шифриращия си ключ, за да използвате тази възможност." - }, - "addedItem": { - "message": "Елементът е добавен" - }, - "editedItem": { - "message": "Елементът е редактиран" - }, - "sharedItem": { - "message": "Споделен запис" - }, - "sharedItems": { - "message": "Споделени записи" - }, - "deleteItem": { - "message": "Изтриване на елемента" - }, - "deleteFolder": { - "message": "Изтриване на папка" - }, - "deleteAttachment": { - "message": "Изтриване на прикачения файл" - }, - "deleteItemConfirmation": { - "message": "Сигурни ли сте, че искате да изтриете елемента?" - }, - "deletedItem": { - "message": "Елементът е изтрит" - }, - "deletedItems": { - "message": "Елементите са изтрити" - }, - "movedItems": { - "message": "Елементите са преместени" - }, - "overwritePasswordConfirmation": { - "message": "Сигурни ли сте, че искате да обновите текущата парола?" - }, - "editedFolder": { - "message": "Редактирана папка" - }, - "addedFolder": { - "message": "Добавена папка" - }, - "deleteFolderConfirmation": { - "message": "Сигурни ли сте, че искате да изтриете тази папка?" - }, - "deletedFolder": { - "message": "Изтрита папка" - }, - "loggedOut": { - "message": "Бяхте отписани" - }, - "loginExpired": { - "message": "Сесията ви изтече." - }, - "logOutConfirmation": { - "message": "Сигурни ли сте, че искате да се отпишете?" - }, - "logOut": { - "message": "Отписване" - }, - "ok": { - "message": "Добре" - }, - "yes": { - "message": "Да" - }, - "no": { - "message": "Не" - }, - "loginOrCreateNewAccount": { - "message": "Впишете се или създайте нов абонамент, за да достъпите защитен трезор." - }, - "createAccount": { - "message": "Създаване на абонамент" - }, - "logIn": { - "message": "Вписване" - }, - "submit": { - "message": "Подаване" - }, - "emailAddressDesc": { - "message": "Ще се вписвате с адреса на електронната си поща." - }, - "yourName": { - "message": "Името ви" - }, - "yourNameDesc": { - "message": "Как да ви наричаме?" - }, - "masterPass": { - "message": "Главна парола" - }, - "masterPassDesc": { - "message": "Главната парола се използва за достъп до трезора ви. Запомнете я добре, защото възстановяването ѝ е абсолютно невъзможно." - }, - "masterPassHintDesc": { - "message": "Ако сте забравили главната парола, то подсказването може да ви помогне да си я припомните." - }, - "reTypeMasterPass": { - "message": "Въведете пак главната парола" - }, - "masterPassHint": { - "message": "Подсказка за главната парола (по избор)" - }, - "masterPassHintLabel": { - "message": "Подсказка за главната парола" - }, - "settings": { - "message": "Настройки" - }, - "passwordHint": { - "message": "Подсказка за паролата" - }, - "enterEmailToGetHint": { - "message": "Въведете адреса на електронната си поща, за да получите подсказка за главната парола." - }, - "getMasterPasswordHint": { - "message": "Подсказка за главната парола" - }, - "emailRequired": { - "message": "Електронната поща е задължителна." - }, - "invalidEmail": { - "message": "Недействителна електронна поща." - }, - "masterPassRequired": { - "message": "Главната парола е задължителна." - }, - "masterPassLength": { - "message": "Главната парола трябва да съдържа поне 8 знака." - }, - "masterPassDoesntMatch": { - "message": "Главната парола и потвърждението ѝ не съвпадат." - }, - "newAccountCreated": { - "message": "Абонаментът ви бе създаден. Вече можете да се впишете." - }, - "masterPassSent": { - "message": "Изпратихме ви писмо с подсказка за главната ви парола." - }, - "unexpectedError": { - "message": "Възникна неочаквана грешка." - }, - "emailAddress": { - "message": "Адрес на електронната поща" - }, - "yourVaultIsLocked": { - "message": "Трезорът е заключен — въведете главната си парола, за да продължите." - }, - "unlock": { - "message": "Отключване" - }, - "loggedInAsEmailOn": { - "message": "Вписани сте като $EMAIL$ на $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Грешна главна парола" - }, - "lockNow": { - "message": "Заключване сега" - }, - "noItemsInList": { - "message": "Няма елементи за показване." - }, - "noCollectionsInList": { - "message": "Няма колекции за показване." - }, - "noGroupsInList": { - "message": "Няма групи за показване." - }, - "noUsersInList": { - "message": "Няма потребители за показване." - }, - "noEventsInList": { - "message": "Няма събития за показване." - }, - "newOrganization": { - "message": "Нова организация" - }, - "noOrganizationsList": { - "message": "Не сте член на никоя организация. Организациите позволяват да споделяте записи с други потребители по защитен начин." - }, - "versionNumber": { - "message": "Версия $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Въведете шестцифрения код за потвърждение от приложението за удостоверяване." - }, - "enterVerificationCodeEmail": { - "message": "Въведете шестцифрения код за потвърждение, който е бил изпратен на $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "Писмото за потвърждение е изпратено на $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Запомняне" - }, - "sendVerificationCodeEmailAgain": { - "message": "Повторно изпращане на писмото за потвърждение" - }, - "useAnotherTwoStepMethod": { - "message": "Използвайте друг начин на двустепенно удостоверяване" - }, - "insertYubiKey": { - "message": "Поставете устройството на YubiKey в USB порт на компютъра и натиснете бутона на устройството." - }, - "insertU2f": { - "message": "Поставете устройството за удостоверяване в USB порт на компютъра. Ако на устройството има бутон, натиснете го." - }, - "loginUnavailable": { - "message": "Записът липсва" - }, - "noTwoStepProviders": { - "message": "Абонаментът е защитен с двустепенно удостоверяване, но никой от настроените доставчици на удостоверяване не се поддържа от този браузър." - }, - "noTwoStepProviders2": { - "message": "Пробвайте с поддържан уеб браузър (като Chrome или Firefox) и други доставчици на удостоверяване, които се поддържат от браузърите (като специални програми за удостоверяване)." - }, - "twoStepOptions": { - "message": "Настройки на двустепенното удостоверяване" - }, - "recoveryCodeDesc": { - "message": "Ако сте загубили достъп до двустепенното удостоверяване, може да използвате код за възстановяване, за да изключите двустепенното удостоверяване в абонамента си." - }, - "recoveryCodeTitle": { - "message": "Код за възстановяване" - }, - "authenticatorAppTitle": { - "message": "Приложение за удостоверяване" - }, - "authenticatorAppDesc": { - "message": "Използвайте приложение за удостоверяване (като Authy или Google Authenticator) за генерирането на временни кодове за потвърждение.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "Устройство YubiKey OTP" - }, - "yubiKeyDesc": { - "message": "Използвайте устройство на YubiKey, за да влезете в абонамента си. Поддържат се моделите YubiKey 4, 4 Nano, 4C и NEO." - }, - "duoDesc": { - "message": "Удостоверяване чрез Duo Security, с ползване на приложението Duo Mobile, SMS, телефонен разговор или устройство U2F.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Удостоверяване чрез Duo Security за организацията ви, с ползване на приложението Duo Mobile, SMS, телефонен разговор или устройство U2F.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Използвайте всяко устройство, поддържащо FIDO U2F, за да влезете в абонамента си." - }, - "u2fTitle": { - "message": "Устройство FIDO U2F" - }, - "emailTitle": { - "message": "Електронна поща" - }, - "emailDesc": { - "message": "Кодовете за потвърждение ще ви бъдат пратени по електронна поща." - }, - "continue": { - "message": "Продължаване" - }, - "organization": { - "message": "Организация" - }, - "organizations": { - "message": "Организации" - }, - "shareDesc": { - "message": "Изберете организацията, с която искате да споделите записа. Споделянето ѝ прехвърля собствеността. След това няма вече директно да го притежавате." - }, - "shareManyDesc": { - "message": "Изберете организацията, с която искате да споделите записите. Споделянето им прехвърля собствеността. След това няма вече директно да ги притежавате." - }, - "collectionsDesc": { - "message": "Редактиране на колекциите, с които записът е споделен. Само потребителите на организациите, с които колекцията е споделена, ще виждат записа." - }, - "deleteSelectedItemsDesc": { - "message": "За изтриване сте избрали $COUNT$ елемента/и. Сигурни ли сте, че искате да ги изтриете?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Избор на папка, в която да се преместят $COUNT$ избрани записи.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "Избрали сте $COUNT$ запис/и. От тях споделими са $SHAREABLE_COUNT$, а $NONSHAREABLE_COUNT$ не са.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Код за потвърждаване (TOTP)" - }, - "copyVerificationCode": { - "message": "Копиране на кода за потвърждаване" - }, - "warning": { - "message": "ВНИМАНИЕ" - }, - "confirmVaultExport": { - "message": "Confirm Vault Export" - }, - "exportWarningDesc": { - "message": "Данните от трезора ви ще се изнесат в незащитен формат. Не го пращайте по незащитени канали като електронна поща. Изтрийте файла незабавно след като свършите работата си с него." - }, - "encExportWarningDesc": { - "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." - }, - "exportMasterPassword": { - "message": "Въведете главната парола, за да изнесете данните." - }, - "exportVault": { - "message": "Изнасяне на трезора" - }, - "fileFormat": { - "message": "Формат на файла" - }, - "exportSuccess": { - "message": "Данните от трезора ви са изнесени." - }, - "passwordGenerator": { - "message": "Създаване на пароли" - }, - "minComplexityScore": { - "message": "Минимална сложност" - }, - "minNumbers": { - "message": "Минимален брой цифри" - }, - "minSpecial": { - "message": "Минимален брой специални знаци", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Без нееднозначни знаци" - }, - "regeneratePassword": { - "message": "Друга парола" - }, - "length": { - "message": "Дължина" - }, - "numWords": { - "message": "Брой думи" - }, - "wordSeparator": { - "message": "Разделител за думи" - }, - "capitalize": { - "message": "Главни букви", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "И цифри" - }, - "passwordHistory": { - "message": "Хронология на паролата" - }, - "noPasswordsInList": { - "message": "Няма пароли за показване." - }, - "clear": { - "message": "Изчистване", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Абонаментът е обновен" - }, - "changeEmail": { - "message": "Промяна на адреса за е-поща" - }, - "newEmail": { - "message": "Нов адрес за електронна поща" - }, - "code": { - "message": "Код" - }, - "changeEmailDesc": { - "message": "Пратили сме кода за потвърждаване на $EMAIL$. Проверете електронната си поща за писмо с този код и го въведете по-долу, за да завършите процеса на смяна на адреса на електронна поща.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Действието ще прекрати и текущата ви сесия, след което ще се наложи отново да се впишете. Активните сесии на другите устройства може да останат такива до един час." - }, - "emailChanged": { - "message": "Електронната поща е сменена" - }, - "logBackIn": { - "message": "Впишете се отново." - }, - "logBackInOthersToo": { - "message": "Впишете се отново. Ако използвате и други приложения на Битуорден, впишете се отново и в тях." - }, - "changeMasterPassword": { - "message": "Промяна на главната парола" - }, - "masterPasswordChanged": { - "message": "Главната парола е променена" - }, - "currentMasterPass": { - "message": "Текуща главна парола" - }, - "newMasterPass": { - "message": "Нова главна парола" - }, - "confirmNewMasterPass": { - "message": "Потвърждаване на новата главна парола" - }, - "encKeySettings": { - "message": "Настройки на шифриращия ключ" - }, - "kdfAlgorithm": { - "message": "Алгоритъм KDF" - }, - "kdfIterations": { - "message": "Повторения за KDF" - }, - "kdfIterationsDesc": { - "message": "По-големият брой повторения за KDF спомага за защитата на главната ви парола от атака с грубо изброяване. Препоръчваме ви стойност $VALUE$ или повече.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Задаването на прекалено голяма стойност на повторенията на KDF може да доведе до бавно вписване и отключване на трезора на Битуорден при работа от устройства с бавни процесори. Препоръчваме ви да увеличавате стойността на стъпки по $INCREMENT$ и да тествате на всичките си устройства.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Смяна на KDF" - }, - "encKeySettingsChanged": { - "message": "Настройките за шифриращия ключ са сменени" - }, - "dangerZone": { - "message": "ОПАСНО" - }, - "dangerZoneDesc": { - "message": "Внимание, тези действия са необратими!" - }, - "deauthorizeSessions": { - "message": "Прекратяване на сесии" - }, - "deauthorizeSessionsDesc": { - "message": "Ако се притеснявате, че сте влезли от друго устройство, може да прекратите влизанията от всички устройства, които сте ползвали досега. Препоръчваме ви да направите това, ако сте достъпвали трезора през споделено устройство или погрешка сте запазили паролата върху чуждо устройство. Тази стъпка изчиства и всички запомнени сесии с двустепенни идентификации." - }, - "deauthorizeSessionsWarning": { - "message": "Действието ще прекрати и текущата ви сесия, след което ще се наложи отново да се впишете. Ако сте включили двустепенна идентификация, ще се наложи да повторите и нея. Активните сесии на другите устройства може да останат такива до един час." - }, - "sessionsDeauthorized": { - "message": "Всички сесии са прекратени" - }, - "purgeVault": { - "message": "Пълно изчистване на трезора" - }, - "purgedOrganizationVault": { - "message": "Трезорът на организацията е напълно изчистен." - }, - "purgeVaultDesc": { - "message": "Ако продължите, ще изтриете всички папки и записи в трезора ви. Елементите, които са споделени и принадлежат на организации, няма да бъдат изтрити." - }, - "purgeOrgVaultDesc": { - "message": "Ако продължите, ще изтриете всички папки и записи в трезора на организацията." - }, - "purgeVaultWarning": { - "message": "Изчистването на трезора е окончателно и необратимо." - }, - "vaultPurged": { - "message": "Трезорът ви е напълно изчистен." - }, - "deleteAccount": { - "message": "Изтриване на абонамента" - }, - "deleteAccountDesc": { - "message": "Ако продължите, ще изтриете абонамента си и всички притежавани данни." - }, - "deleteAccountWarning": { - "message": "Изтриването на абонамента е окончателно и необратимо." - }, - "accountDeleted": { - "message": "Абонаментът е изтрит" - }, - "accountDeletedDesc": { - "message": "Абонаментът ви е окончателно прекратен и всички данни към него са изтрити." - }, - "myAccount": { - "message": "Абонамент" - }, - "tools": { - "message": "Инструменти" - }, - "importData": { - "message": "Внасяне на данни" - }, - "importSuccess": { - "message": "Данните са внесени успешно в трезора ви." - }, - "importFormatError": { - "message": "Данните са в неправилен формат. Проверете файла за внасяне и пробвайте отново." - }, - "importNothingError": { - "message": "Нищо не бе внесено." - }, - "selectFormat": { - "message": "Избор на форма̀та на файла за внасяне" - }, - "selectImportFile": { - "message": "Изберете файла за внасяне" - }, - "orCopyPasteFileContents": { - "message": "или поставете съдържанието му" - }, - "instructionsFor": { - "message": "Инструкции за $NAME$", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Настройки" - }, - "optionsDesc": { - "message": "Настройки на трезора по уеб." - }, - "optionsUpdated": { - "message": "Обновени настройки" - }, - "language": { - "message": "Език" - }, - "languageDesc": { - "message": "Смяна на езика на интерфейса. Ще трябва да пуснете програмата повторно." - }, - "disableIcons": { - "message": "Изключване на иконите на сайтовете" - }, - "disableIconsDesc": { - "message": "Иконите на сайтовете са разпознаваеми изображения към записите за вход в трезора." - }, - "enableGravatars": { - "message": "Включване на граватари", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Използване на иконки за потребители от сайта „gravatar.com“." - }, - "enableFullWidth": { - "message": "Извеждане на цяла широчина", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Трезорът по уеб да заема цялата широчина на прозореца на браузъра." - }, - "default": { - "message": "Стандартно" - }, - "domainRules": { - "message": "Правила за домейни" - }, - "domainRulesDesc": { - "message": "Ако ползвате същите регистрации с много домейни, може да обявите домейните като еквиваленти. Глобалните еквиваленти са зададени от Битуорден." - }, - "globalEqDomains": { - "message": "Глобални домейни-еквиваленти" - }, - "customEqDomains": { - "message": "Потребителски домейни-еквиваленти" - }, - "exclude": { - "message": "Изваждане" - }, - "include": { - "message": "Добавяне" - }, - "customize": { - "message": "Настройки" - }, - "newCustomDomain": { - "message": "Нов домейн" - }, - "newCustomDomainDesc": { - "message": "Въведете списък с домейни, разделени със запетаи. Позволени са само основни домейни, не въвеждайте поддомейни. Напр. ползвайте „google.com“ вместо „www.google.com“. Може да ползвате и варианти като \"androidapp://package.name\", за да добавите и приложение." - }, - "customDomainX": { - "message": "Потребителски домейни $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Домейните са обновени" - }, - "twoStepLogin": { - "message": "Двустепенно удостоверяване" - }, - "twoStepLoginDesc": { - "message": "Допълнителна защита на абонамента чрез изискването на допълнително действие при вписване." - }, - "twoStepLoginOrganizationDesc": { - "message": "Може да изискате двустепенна идентификация за всички потребители в организацията ви, като настроите доставчиците на ниво организация." - }, - "twoStepLoginRecoveryWarning": { - "message": "Включването на двустепенна идентификация може завинаги да предотврати вписването ви в абонамента към Битуорден. Кодът за възстановяване ще ви позволи да достъпите абонамента дори и да имате проблем с доставчика на двустепенна идентификация (напр. ако изгубите устройството си). Дори и екипът по поддръжката към няма да ви помогне в такъв случай. Силно препоръчваме да отпечатате или запишете кодовете и да ги пазете на надеждно място." - }, - "viewRecoveryCode": { - "message": "Извеждане на кодовете за възстановяване" - }, - "providers": { - "message": "Доставчици", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Включване" - }, - "enabled": { - "message": "Включено" - }, - "premium": { - "message": "Платен", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Платен абонамент" - }, - "premiumRequired": { - "message": "Изисква се платен абонамент" - }, - "premiumRequiredDesc": { - "message": "За да се възползвате от тази възможност, трябва да ползвате платен абонамент." - }, - "youHavePremiumAccess": { - "message": "Имате платен абонамент" - }, - "alreadyPremiumFromOrg": { - "message": "Вече имате достъп до възможностите на платения абонамент — членувате в организация, която ви осигурява това." - }, - "manage": { - "message": "Управление" - }, - "disable": { - "message": "Изключване" - }, - "twoStepLoginProviderEnabled": { - "message": "Този доставчик на двустепенно удостоверяване е включен за абонамента ви." - }, - "twoStepLoginAuthDesc": { - "message": "Въведете главната си парола, за да променяте настройките за двустепенно удостоверяване." - }, - "twoStepAuthenticatorDesc": { - "message": "Следвайте тези стъпки, за да настроите двустепенно удостоверяване:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Изтегляне на приложение за двустепенно удостоверяване" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Ако ви трябва приложение за двустепенно удостоверяване, пробвайте някое от следните:" - }, - "iosDevices": { - "message": "Устройства с iOS" - }, - "androidDevices": { - "message": "Устройства с Android" - }, - "windowsDevices": { - "message": "Устройства с Windows" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "Това са само препоръчаните приложения. Другите приложения за идентификация също ще работят." - }, - "twoStepAuthenticatorScanCode": { - "message": "Сканирайте този QR код с приложението си за идентификация" - }, - "key": { - "message": "Ключ" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Въведете 6-цифрения код за потвърждение от приложението" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "Ако трябва да добавите и друго устройство, по-долу е QR кодът или ключът, изисквани от приложението ви за идентификация." - }, - "twoStepDisableDesc": { - "message": "Сигурни ли сте, че искате да изключите този доставчик на двустепенно удостоверяване?" - }, - "twoStepDisabled": { - "message": "Доставчикът на двустепенно удостоверяване е изключен." - }, - "twoFactorYubikeyAdd": { - "message": "Добавяне на ново устройство YubiKey към регистрацията ви" - }, - "twoFactorYubikeyPlugIn": { - "message": "Поставете устройството на YubiKey в USB порт на компютър." - }, - "twoFactorYubikeySelectKey": { - "message": "Изберете първото свободно поле за YubiKey по-долу." - }, - "twoFactorYubikeyTouchButton": { - "message": "Натиснете бутона на устройството от YubiKey." - }, - "twoFactorYubikeySaveForm": { - "message": "Запазване на формуляра." - }, - "twoFactorYubikeyWarning": { - "message": "Поради платформени ограничения устройствата на YubiKey не могат да се използват с всички приложения на Битуорден. В такъв случай ще трябва да добавите друг доставчик на двустепенно удостоверяване, за да имате достъп до абонамента си, дори когато YubiKey не работи. Поддържани платформи:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Трезорът по уеб, самостоятелното приложение, командата за командния ред както и разширенията за браузърите за всички устройства с USB порт могат да работят с устройства на YubiKey." - }, - "twoFactorYubikeySupportMobile": { - "message": "Мобилните приложения на устройство с NFC или USB порт могат да работят с устройства на YubiKey." - }, - "yubikeyX": { - "message": "YubiKey № $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "U2F Key № $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "Поддръжка на NFC" - }, - "twoFactorYubikeySupportsNfc": { - "message": "Някой от ключовете поддържа NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "Ако някое от устройствата на YubiKey поддържа NFC (напр. моделът YubiKey NEO), ще бъдете питани за удостоверяване всеки път при засичането на NFC." - }, - "yubikeysUpdated": { - "message": "Данните за YubiKey са обновени" - }, - "disableAllKeys": { - "message": "Изключване на всички ключове" - }, - "twoFactorDuoDesc": { - "message": "Въведете информацията за приложението на Битуорден от административния панел на Duo." - }, - "twoFactorDuoIntegrationKey": { - "message": "Ключ за интеграция" - }, - "twoFactorDuoSecretKey": { - "message": "Таен ключ" - }, - "twoFactorDuoApiHostname": { - "message": "Адрес на сървъра за API" - }, - "twoFactorEmailDesc": { - "message": "Следвайте следните стъпки, за да настроите двустепенно удостоверяване с електронна поща:" - }, - "twoFactorEmailEnterEmail": { - "message": "Въведете адреса на електронната поща, където искате да получавате кодовете за потвърждение" - }, - "twoFactorEmailEnterCode": { - "message": "Въведете 6-цифрения код за потвърждение от пощата" - }, - "sendEmail": { - "message": "Изпращане на електронно писмо" - }, - "twoFactorU2fAdd": { - "message": "Добавяне на ново устройство FIDO U2F към регистрацията ви" - }, - "removeU2fConfirmation": { - "message": "Сигурни ли сте, че искате да изтриете този ключ за сигурност?" - }, - "readKey": { - "message": "Прочитане на ключ" - }, - "keyCompromised": { - "message": "Ключът е компрометиран." - }, - "twoFactorU2fGiveName": { - "message": "Задайте име на ключа за сигурност за лесното му разпознаване." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Поставете ключа за сигурност в USB порта на компютъра и натиснете бутона „Прочитане на ключ“." - }, - "twoFactorU2fTouchButton": { - "message": "Ако ключът разполага с бутон, натиснете го." - }, - "twoFactorU2fSaveForm": { - "message": "Запазване на формуляра." - }, - "twoFactorU2fWarning": { - "message": "Поради платформени ограничения устройствата FIDO U2F не могат да се използват със всички приложения на Битуорден. В такъв случай ще трябва да добавите друг доставчик на двустепенно удостоверяване, за да имате достъп до абонамента си, дори когато FIDO U2F не работи. Поддържани платформи:" - }, - "twoFactorU2fSupportWeb": { - "message": "Трезорът по уеб както и разширенията за браузърите с поддръжка на U2F (Chrome, Opera, Vivaldi и Firefox с поддръжка на FIDO U2F)." - }, - "twoFactorU2fWaiting": { - "message": "Изчакване да натиснете бутона на устройството си за сигурност" - }, - "twoFactorU2fClickSave": { - "message": "Натиснете бутона „Запазване“ по-долу, за да включите този ключ за двустепенна идентификация." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "Проблем при изчитането на ключа за сигурност. Пробвайте отново." - }, - "twoFactorRecoveryYourCode": { - "message": "Код за възстановяване на достъпа до Битуорден при двустепенна идентификация" - }, - "twoFactorRecoveryNoCode": { - "message": "Не сте включили никой доставчик на двустепенна идентификация. След като направите това, може да проверите тук за код за възстановяване на достъпа." - }, - "printCode": { - "message": "Отпечатване на кода", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Доклади" - }, - "unsecuredWebsitesReport": { - "message": "Доклад за сайтове без защита" - }, - "unsecuredWebsitesReportDesc": { - "message": "Използването на сайтове, които използват схемата без шифриране „http://“ може да е опасно. Ако сайтовете позволяват, следва да ги достъпвате през схемата „https://“, при което връзката ви е шифрирана." - }, - "unsecuredWebsitesFound": { - "message": "Открити са записи без защита" - }, - "unsecuredWebsitesFoundDesc": { - "message": "Открити са $COUNT$ записи в трезора с адрес без защита. Трябва да смените схемата за URI-то им на „https://“, ако сайтовете го поддържат.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "Всички записи в трезора са със защитени адреси." - }, - "inactive2faReport": { - "message": "Доклад за сайтовете без двустепенна защита" - }, - "inactive2faReportDesc": { - "message": "Двустепенната идентификация (2FA) е важна настройка, която силно повишава защитата на регистрациите ви. Ако сайтът поддържа това, задължително включете тази възможност." - }, - "inactive2faFound": { - "message": "Открити са записи без двустепенна идентификация" - }, - "inactive2faFoundDesc": { - "message": "В трезора ви има записи за $COUNT$ уебсайта, които е възможно да не са настроени за работа с двустепенна идентификация (според сайта 2fa.directory). За да защитите тези регистрации, трябва да включите двустепенната идентификация.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "Не са открити записи в трезора ви с липсващи настройки за двустепенна идентификация." - }, - "instructions": { - "message": "Инструкции" - }, - "exposedPasswordsReport": { - "message": "Доклад за разкрити пароли" - }, - "exposedPasswordsReportDesc": { - "message": "Разкритите пароли са публикувани като част от докладите за изтекли данни или се продават в тъмния Интернет." - }, - "exposedPasswordsFound": { - "message": "Открити са разкрити пароли" - }, - "exposedPasswordsFoundDesc": { - "message": "Открити са $COUNT$ записа в трезора ви, които са с разкрити пароли. Трябва да смените тези пароли.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "Няма записи в трезора ви, които са с разкрити пароли." - }, - "checkExposedPasswords": { - "message": "Проверка за разкрити пароли" - }, - "exposedXTimes": { - "message": "Разкрити $COUNT$ път/и", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Доклад за слаби пароли" - }, - "weakPasswordsReportDesc": { - "message": "Слабите пароли лесно биват разкрити. Злоумишлени лица могат да ги отгатнат, а автоматични инструменти могат да ги налучкат. Генераторът на пароли на Битуорден може да ви помогне да създадете надеждни пароли." - }, - "weakPasswordsFound": { - "message": "Открити са слаби пароли" - }, - "weakPasswordsFoundDesc": { - "message": "В трезора ви има $COUNT$записи със слаби пароли. Сменете паролите с надеждни.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "Всички записи в трезора са с надеждни пароли." - }, - "reusedPasswordsReport": { - "message": "Доклад за повтарящи се пароли" - }, - "reusedPasswordsReportDesc": { - "message": "Ако някой достъпи данните ви за вписване към дадена услуга, а вие ползвате една и съща парола навсякъде, то злоумишлени лица могат много по-лесно да пробият другите ви регистрации. За всяка регистрация следва да ползвате различна парола." - }, - "reusedPasswordsFound": { - "message": "Отрити са повтарящи се пароли" - }, - "reusedPasswordsFoundDesc": { - "message": "В трезора ви има $COUNT$ повтарящи се пароли. Задължително ги сменете с други, уникални пароли.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "В трезора ви няма записи с пароли, които се ползват и другаде." - }, - "reusedXTimes": { - "message": "Преизползвана $COUNT$ пъти", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Доклад за изтичането на данни" - }, - "breachDesc": { - "message": "Изтичането на данни е инцидент, при който злоумишлени лица получават достъп до данните ви, след което те биват публикувани. Прегледайте вида на изтеклата информация (адреси за електронна поща, пароли, номера на карти и т. н.) и предприемете надлежните действия като да си смените паролата." - }, - "breachCheckUsernameEmail": { - "message": "Проверка за изтекли данни, съдържащи потребителското ви име или адреса ви за електронна поща" - }, - "checkBreaches": { - "message": "Проверка за изтичане на данни" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ липсва във всички известни масиви с изтекли данни.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Добри новини", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ е открит в $COUNT$ от известните масиви с изтекли данни.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Някои от записите са открити в масивите с изтекли данни" - }, - "compromisedData": { - "message": "Изтекли данни" - }, - "website": { - "message": "Сайт" - }, - "affectedUsers": { - "message": "Засегнати потребители" - }, - "breachOccurred": { - "message": "Изтичане на данните" - }, - "breachReported": { - "message": "Доклад за изтичането" - }, - "reportError": { - "message": "Грешка при зареждането на доклада. Пробвайте отново" - }, - "billing": { - "message": "Заплащане" - }, - "accountCredit": { - "message": "Кредит по абонамента", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Баланс по абонамента", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Добавяне на кредит", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Сума", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Добавеният кредит се появява в абонамента ви след окончателната обработка на плащането. Някои начини за плащане са по-бавни и отнемат повече време." - }, - "makeSureEnoughCredit": { - "message": "Проверете дали към абонамента си имате достатъчно средства за тази покупка. В противен случай разликата от наличното и необходимото се изисква от основния ви метод за плащане, който сте задали." - }, - "creditAppliedDesc": { - "message": "Може да използвате кредитите към абонамента си за покупки. Кредитите се използват за покриването на издадените фактури към абонамента." - }, - "goPremium": { - "message": "Платен абонамент", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "Вече ползвате платен абонамент." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Платеният абонамент идва с допълнителни преимущества." - }, - "premiumSignUpStorage": { - "message": "1 GB пространство за файлове, които се шифрират." - }, - "premiumSignUpTwoStep": { - "message": "Двустепенно удостоверяване чрез YubiKey, FIDO U2F и Duo." - }, - "premiumSignUpReports": { - "message": "Проверки в списъците с публикувани пароли, проверка на регистрациите и доклади за изтекли данни, което спомага трезорът ви да е допълнително защитен." - }, - "premiumSignUpTotp": { - "message": "Генериране на временни, еднократни кодове за двустепенно удостоверяване за регистрациите в трезора." - }, - "premiumSignUpSupport": { - "message": "Приоритетна поддръжка." - }, - "premiumSignUpFuture": { - "message": "Всички бъдещи ползи! Предстои въвеждането на още!" - }, - "premiumPrice": { - "message": "И това само за $PRICE$ на година!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Добавки" - }, - "premiumAccess": { - "message": "Платен абонамент" - }, - "premiumAccessDesc": { - "message": "Членовете на организацията ви могат ще могат да се възползват от допълнителните възможности на платения абонамент срещу $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Допълнително място [GB]" - }, - "additionalStorageGbDesc": { - "message": "брой GB допълнително" - }, - "additionalStorageIntervalDesc": { - "message": "Планът ви идва с $SIZE$ място за шифрирани данни. Може да се сдобиете с още при цена $PRICE$ за 1 GB /$INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Обобщено" - }, - "total": { - "message": "Общо" - }, - "year": { - "message": "година" - }, - "month": { - "message": "месец" - }, - "monthAbbr": { - "message": "мес.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Сумата ще бъде директно изискана от метода за плащане, след което ще се повтаря всяка година. Може да се откажете по всяко време." - }, - "paymentCharged": { - "message": "Сумата ще бъде директно изискана от метода за плащане, след което ще се повтаря всеки $INTERVAL$. Може да се откажете по всяко време.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Планът ви идва с пробен период от 7 дена. Плащането няма се изиска преди това, след което ще се повтаря всеки $INTERVAL$. Може да се откажете по всяко време.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Информация за плащането" - }, - "billingInformation": { - "message": "Billing Information" - }, - "creditCard": { - "message": "Кредитна карта" - }, - "paypalClickSubmit": { - "message": "Натиснете бутона на PayPal, за да се впишете в регистрацията ви в него. След това натиснете бутона „Подаване“ по-долу, за да продължите." - }, - "cancelSubscription": { - "message": "Прекратяване на абонамента" - }, - "subscriptionCanceled": { - "message": "Абонаментът е прекратен." - }, - "pendingCancellation": { - "message": "Предстоящо прекратяване на абонамента" - }, - "subscriptionPendingCanceled": { - "message": "Прекратяването на абонамента след края на последно платения период е обявено." - }, - "reinstateSubscription": { - "message": "Подновяване на абонамента" - }, - "reinstateConfirmation": { - "message": "Уверени ли сте, че искате да подновите абонамента и да отмените заявката за прекратяването му?" - }, - "reinstated": { - "message": "Абонаментът е подновен." - }, - "cancelConfirmation": { - "message": "Уверени ли сте, че искате да прекратите абонамента? След края на последно платения период ще загубите всички допълнителни преимущества." - }, - "canceledSubscription": { - "message": "Абонаментът е прекратен." - }, - "neverExpires": { - "message": "Никога не изтича" - }, - "status": { - "message": "Състояние" - }, - "nextCharge": { - "message": "Следваща промяна" - }, - "details": { - "message": "Детайли" - }, - "downloadLicense": { - "message": "Изтегляне на лиценз" - }, - "updateLicense": { - "message": "Обновяване на лиценз" - }, - "updatedLicense": { - "message": "Лицензът е обновен" - }, - "manageSubscription": { - "message": "Управление на абонамента" - }, - "storage": { - "message": "Съхранение на данни" - }, - "addStorage": { - "message": "Добавяне на пространство" - }, - "removeStorage": { - "message": "GB пространство за махане" - }, - "subscriptionStorage": { - "message": "Абонаментът ви предоставя общо $MAX_STORAGE$ GB място за съхранение със шифриране. В момента ползвате $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Метод за плащане" - }, - "noPaymentMethod": { - "message": "Липсва какъвто и да е метод за плащане." - }, - "addPaymentMethod": { - "message": "Добавяне на метод за плащане" - }, - "changePaymentMethod": { - "message": "Промяна на метод за плащане" - }, - "invoices": { - "message": "Фактури" - }, - "noInvoices": { - "message": "Няма фактури." - }, - "paid": { - "message": "Платено", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Дължимо", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Транзакции", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "Няма транзакции." - }, - "chargeNoun": { - "message": "Зареждане", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Възстановяване", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Всички плащания ще бъдат изброени като $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "GB пространство за добавяне" - }, - "gbStorageRemove": { - "message": "Махане на пространство" - }, - "storageAddNote": { - "message": "Добавянето на място за съхранение ще се отрази незабавно на сумата, която плащате. Ще изискаме допълнителната сума от метода ви за плащане. Първото плащане ще е пропорционално на оставащото време от текущия платежен цикъл." - }, - "storageRemoveNote": { - "message": "Освободеното място също се отразява незабавно на плащаните суми. Надвзетата сума, пропорционално на оставащото време от текущия платежен цикъл ще ви бъде върната като кредити за следващия платежен цикъл." - }, - "adjustedStorage": { - "message": "Промяна с $AMOUNT$ GB място за съхранение.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Връзка с поддръжката на потребители" - }, - "updatedPaymentMethod": { - "message": "Обновен метод за плащане." - }, - "purchasePremium": { - "message": "Закупуване на абонамент" - }, - "licenseFile": { - "message": "Файл с лиценза" - }, - "licenseFileDesc": { - "message": "Файлът с лиценза се казва „$FILE_NAME$“ или нещо подобно", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "За да преминете към платен абонамент, трябва да качите файл с валиден лиценз." - }, - "uploadLicenseFileOrg": { - "message": "За да създадете организация в собствените сървъри, ще трябва да качите файл с валиден лиценз." - }, - "accountEmailMustBeVerified": { - "message": "Трябва да покажете, че имате достъп до адреса на електронната си поща." - }, - "newOrganizationDesc": { - "message": "Организациите позволяват да споделяте части от трезора си с други потребители, както и да управлявате потребители по звена — семейство, екип, отдел." - }, - "generalInformation": { - "message": "Обща информация" - }, - "organizationName": { - "message": "Име на организация" - }, - "accountOwnedBusiness": { - "message": "Този абонамент е на организация." - }, - "billingEmail": { - "message": "Адрес на електронната поща за плащанията" - }, - "businessName": { - "message": "Име на организация" - }, - "chooseYourPlan": { - "message": "Избор на план" - }, - "users": { - "message": "Потребители" - }, - "userSeats": { - "message": "Потребители в организацията" - }, - "additionalUserSeats": { - "message": "Допълнителни потребители в организацията" - }, - "userSeatsDesc": { - "message": "Брой потребители в организацията" - }, - "userSeatsAdditionalDesc": { - "message": "Планът идва с поддръжка на $BASE_SEATS$ потребители в организацията. Можете да добавяте допълнителни потребители на цена $SEAT_PRICE$ за потребител на месец.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "Колко потребители в организацията са ви нужни? По-късно пак може да добавяте потребители, ако е нужно." - }, - "planNameFree": { - "message": "Безплатен", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "За проба или за индивидуални потребители, които ще могат да споделят с $COUNT$ на брой допълнителни потребители.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Семеен" - }, - "planDescFamilies": { - "message": "За индивидуални потребители, които ще могат да споделят със семейството и приятелите си." - }, - "planNameTeams": { - "message": "Екипен" - }, - "planDescTeams": { - "message": "За компании и други екипни организации." - }, - "planNameEnterprise": { - "message": "За големи организации" - }, - "planDescEnterprise": { - "message": "За големи компании и организации." - }, - "freeForever": { - "message": "Завинаги безплатно" - }, - "includesXUsers": { - "message": "включва $COUNT$ потребители", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Допълнителни потребители" - }, - "costPerUser": { - "message": "$COST$ на потребител", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "До максимум $COUNT$ потребители (включително и вие)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "До максимум $COUNT$ колекции", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Добавяне и споделяне с до $COUNT$ потребители", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Добавяне и споделяне с неограничен брой потребители" - }, - "createUnlimitedCollections": { - "message": "Неограничен брой колекции" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ място за съхранение на шифрирани данни", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "Собствени сървъри (по избор)" - }, - "usersGetPremium": { - "message": "Потребителите получават достъп до възможностите на платения абонамент" - }, - "controlAccessWithGroups": { - "message": "Управление на потребителите по групи" - }, - "syncUsersFromDirectory": { - "message": "Синхронизиране на потребителите и групите с директорийни услуги" - }, - "trackAuditLogs": { - "message": "Одит на действията на потребителите чрез журнали" - }, - "enforce2faDuo": { - "message": "Задължително ползване на двустепенна защита с Duo" - }, - "priorityCustomerSupport": { - "message": "Поддръжка с приоритет" - }, - "xDayFreeTrial": { - "message": "$COUNT$ дни безплатен пробен период! Може да прекъснете по всяко време", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Месечно" - }, - "annually": { - "message": "Годишно" - }, - "basePrice": { - "message": "Базова цена" - }, - "organizationCreated": { - "message": "Организацията е създадена" - }, - "organizationReadyToGo": { - "message": "Новата организация е готова!" - }, - "organizationUpgraded": { - "message": "Организацията е обновена." - }, - "leave": { - "message": "Напускане" - }, - "leaveOrganizationConfirmation": { - "message": "Уверени ли сте, че искате да напуснете тази организация?" - }, - "leftOrganization": { - "message": "Напуснахте организацията." - }, - "defaultCollection": { - "message": "Стандартна колекция" - }, - "getHelp": { - "message": "Помощ" - }, - "getApps": { - "message": "Изтегляне на приложенията" - }, - "loggedInAs": { - "message": "Вписани сте като" - }, - "eventLogs": { - "message": "Журнали със събития" - }, - "people": { - "message": "Хора" - }, - "policies": { - "message": "Политики" - }, - "editPolicy": { - "message": "Редактиране на политика" - }, - "groups": { - "message": "Групи" - }, - "newGroup": { - "message": "Нова група" - }, - "addGroup": { - "message": "Добавяне на група" - }, - "editGroup": { - "message": "Редактиране на група" - }, - "deleteGroupConfirmation": { - "message": "Сигурни ли сте, че искате да изтриете тази група?" - }, - "removeUserConfirmation": { - "message": "Сигурни ли сте, че искате да изтриете този потребител?" - }, - "externalId": { - "message": "Външен идентификатор" - }, - "externalIdDesc": { - "message": "Външните идентификатори указват връзката на този елемент с друга система, напр. директорийна услуга с потребители и групи." - }, - "accessControl": { - "message": "Управление на достъпа" - }, - "groupAccessAllItems": { - "message": "Тази група има достъп до всички записи." - }, - "groupAccessSelectedCollections": { - "message": "Тази група има достъп само до избраните колекции." - }, - "readOnly": { - "message": "Само за четене" - }, - "newCollection": { - "message": "Нова колекция" - }, - "addCollection": { - "message": "Добавяне на колекция" - }, - "editCollection": { - "message": "Редактиране на колекция" - }, - "deleteCollectionConfirmation": { - "message": "Сигурни ли сте, че искате да изтриете тази колекция?" - }, - "editUser": { - "message": "Редактиране на потребител" - }, - "inviteUser": { - "message": "Поканване на потребител" - }, - "inviteUserDesc": { - "message": "Може да поканите потребител да стане член на организацията като попълните адреса му за електронна поща, с който е регистриран в Битуорден, по-долу. В случай, че потребителят не е регистриран, той автоматично ще получи покана и да се регистрира." - }, - "inviteMultipleEmailDesc": { - "message": "Може да добавяте до $COUNT$ на брой потребители наведнъж, като подадете списък с адреси на електронна поща, разделени със запетаи.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "Този потребител използва двустепенна защита за достъп." - }, - "userAccessAllItems": { - "message": "Този потребител има достъп до всички записи и може да ги редактира." - }, - "userAccessSelectedCollections": { - "message": "Този потребител има достъп само до избраната колекция." - }, - "search": { - "message": "Търсене" - }, - "invited": { - "message": "Поканен" - }, - "accepted": { - "message": "Приел" - }, - "confirmed": { - "message": "Потвърдил" - }, - "owner": { - "message": "Собственик" - }, - "ownerDesc": { - "message": "Потребителят с най-големи права, който може да управлява всички настройки на организацията ви." - }, - "admin": { - "message": "Администратор" - }, - "adminDesc": { - "message": "Администраторите имат достъп до всички записи, колекции и потребители в организацията и могат да ги управляват." - }, - "user": { - "message": "Потребител" - }, - "userDesc": { - "message": "Редови потребител с достъп до определени колекции в организацията." - }, - "manager": { - "message": "Мениджър" - }, - "managerDesc": { - "message": "Мениджърите достъпват и управляват зададените им колекции в организацията." - }, - "all": { - "message": "Всички" - }, - "refresh": { - "message": "Опресняване" - }, - "timestamp": { - "message": "Времево клеймо" - }, - "event": { - "message": "Събитие" - }, - "unknown": { - "message": "Неизвестно" - }, - "loadMore": { - "message": "Още" - }, - "mobile": { - "message": "Мобилен номер", - "description": "Mobile app" - }, - "extension": { - "message": "Вътрешен номер", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Десктоп", - "description": "Desktop app" - }, - "webVault": { - "message": "Трезор по уеб" - }, - "loggedIn": { - "message": "Вписани сте." - }, - "changedPassword": { - "message": "Паролата на абонамента е сменена." - }, - "enabledUpdated2fa": { - "message": "Двустепенното удостоверяване е включено/обновено." - }, - "disabled2fa": { - "message": "Двустепенното удостоверяване е изключено." - }, - "recovered2fa": { - "message": "Абонаментът с двустепенно удостоверяване е възстановен." - }, - "failedLogin": { - "message": "Неуспешно вписване заради грешна парола." - }, - "failedLogin2fa": { - "message": "Неуспешно вписване заради неуспешно двустепенно удостоверяване." - }, - "exportedVault": { - "message": "Трезорът е изнесен." - }, - "exportedOrganizationVault": { - "message": "Трезорът на организацията е изнесен." - }, - "editedOrgSettings": { - "message": "Настройките на организацията са редактирани." - }, - "createdItemId": { - "message": "Запис № $ID$ е създаден.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Запис № $ID$ е редактиран.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Запис № $ID$ е изтрит.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Запис № $ID$ е споделен.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Запис № $ID$ е разгледан.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Паролата на запис № $ID$ е прегледана.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Скрито поле от запис № $ID$ е прегледано.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Кодът за сигурност за запис № $ID$ е прегледан.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Паролата на запис № $ID$ е копирана.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Скрито поле от запис № $ID$ е копирано.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Кодът за сигурност за запис № $ID$ е копирано.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Запис № $ID$ е ползван за автоматично дописване.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Колекция № $ID$ е създадена.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Колекция № $ID$ е редактирана.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Колекция № $ID$ е изтрита.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Редактирана политика № $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Група № $ID$ е създадена.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Група № $ID$ е редактирана.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Група № $ID$ е изтрита.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Потребител № $ID$ е изтрит.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Към запис № $ID$ е прикачен файл.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Прикаченият файл към запис № $ID$ е изтрит.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Колекциите за запис № $ID$ са редактирани.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Потребител № $ID$ е поканен.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Потребител № $ID$ е потвърден.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Потребител № $ID$ е редактиран.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Групите на потребител № $ID$ са редактирани.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Устройство" - }, - "view": { - "message": "Изглед" - }, - "invalidDateRange": { - "message": "Неправилен диапазон от дати." - }, - "errorOccurred": { - "message": "Възникна грешка." - }, - "userAccess": { - "message": "Права на потребител" - }, - "userType": { - "message": "Вид потребител" - }, - "groupAccess": { - "message": "Права на група" - }, - "groupAccessUserDesc": { - "message": "Редактирате на групите на потребителя." - }, - "invitedUsers": { - "message": "Поканени потребители." - }, - "resendInvitation": { - "message": "Изпращане на поканата наново" - }, - "hasBeenReinvited": { - "message": "$USER$ потребители са поканени.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Потвърждаване" - }, - "confirmUser": { - "message": "Потвърждаване на потребител" - }, - "hasBeenConfirmed": { - "message": "$USER$ потребители са потвърдени.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Потвърждаване на потребители" - }, - "usersNeedConfirmed": { - "message": "Има потребители, които са приели поканата си, но все още трябва да бъдат потвърдени. Потвърждаването е необходимо, за да получат достъп до организацията." - }, - "startDate": { - "message": "Начална дата" - }, - "endDate": { - "message": "Крайна дата" - }, - "verifyEmail": { - "message": "Потвърждаване на адреса на електронна поща" - }, - "verifyEmailDesc": { - "message": "Потвърдете адреса на електронната си поща, за да получите достъп до всички възможности." - }, - "verifyEmailFirst": { - "message": "Трябва да потвърдите адреса на електронната поща за абонамента си." - }, - "checkInboxForVerification": { - "message": "Проверете електронната си поща за писмо с хипервръзка, с която да потвърдите адреса ѝ." - }, - "emailVerified": { - "message": "Адресът на електронната ви поща е потвърден." - }, - "emailVerifiedFailed": { - "message": "Адресът на електронната ви поща не е потвърден. Пробвайте да изпратите ново писмо за потвърждение." - }, - "updateBrowser": { - "message": "Обновяване на браузъра" - }, - "updateBrowserDesc": { - "message": "Ползвате неподдържан браузър. Трезорът по уеб може да не сработи правилно." - }, - "joinOrganization": { - "message": "Присъединяване към организация" - }, - "joinOrganizationDesc": { - "message": "Поканени сте да се присъедините към посочената по-горе организация. За да приемете, ще трябва да се впишете в абонамента си към Битуорден. Ако нямате такъв, ще трябва да създадете безплатен абонамент и след това да се впишете в него." - }, - "inviteAccepted": { - "message": "Поканата е приета" - }, - "inviteAcceptedDesc": { - "message": "Ще имате достъп до организацията, след като администраторът ѝ потвърди членството ви. Ще ви изпратим електронно писмо, когато това се случи." - }, - "inviteAcceptFailed": { - "message": "Поканата не може да бъде приета. Помолете администратора на организацията да ви прати нова покана." - }, - "inviteAcceptFailedShort": { - "message": "Поканата не може да бъде приета. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Припомняне на електронната поща" - }, - "recoverAccountTwoStepDesc": { - "message": "Ако не може да достъпите абонамента си с нормалната двустепенна идентификация, може да ползвате код за възстановяване, за да я изключите." - }, - "recoverAccountTwoStep": { - "message": "Възстановяване на абонамент с двустепенна идентификация" - }, - "twoStepRecoverDisabled": { - "message": "Двустепенната идентификация е изключена за абонамента ви." - }, - "learnMore": { - "message": "Научете повече" - }, - "deleteRecoverDesc": { - "message": "Въведете адреса на електронната си поща, за да възстановите и да изтриете абонамента си." - }, - "deleteRecoverEmailSent": { - "message": "Ако има такъв абонамент, трябва да получите писмо с последващи инструкции." - }, - "deleteRecoverConfirmDesc": { - "message": "Заявили сте, че искате да изтриете абонамента си към Битуорден. Натиснете бутона по-долу, за да потвърдите това решение." - }, - "myOrganization": { - "message": "Моята организация" - }, - "deleteOrganization": { - "message": "Изтриване на организация" - }, - "deleteOrganizationDesc": { - "message": "Продължете с действието отдолу и организацията и нейните данни ще бъдат изтрити. Абонаментите на отделните хора ще останат, но те няма да бъдат свързани с тази организация. " - }, - "deleteOrganizationWarning": { - "message": "Изтриването на организация е окончателно и напълно необратимо действие." - }, - "organizationDeleted": { - "message": "Организацията е изтрита" - }, - "organizationDeletedDesc": { - "message": "Организацията и нейните данни са изтрити." - }, - "organizationUpdated": { - "message": "Организацията е обновена" - }, - "taxInformation": { - "message": "Данъчна информация" - }, - "taxInformationDesc": { - "message": "Свържете се с поддръжката, за да въведете (или смените) данъчната информация да фактурите." - }, - "billingPlan": { - "message": "План", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Смяна на плана", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Може да обновите плана си, като въведете изисканата информация по-долу. Уверете се, че имате действащ платежен метод към абонамента си.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Свържете се с поддръжката, за да смените плана си. Уверете се, че имате действащ платежен метод към абонамента си.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Фактура № $NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "Преглед на фактура" - }, - "downloadInvoice": { - "message": "Изтегляне на фактура" - }, - "verifyBankAccount": { - "message": "Потвърждаване на банковата сметка" - }, - "verifyBankAccountDesc": { - "message": "Наредихме две микротранзакции и трябва да получите сумите до два работни дни. Въведете сумите в страницата за плащания на организацията, за да потвърдите банковата си сметка." - }, - "verifyBankAccountInitialDesc": { - "message": "Плащането с банкова сметка е достъпно само за клиентите в Сащ. Ще трябва да потвърдите банковата си сметка. Ще наредим да ви се приведат две микротранзакции и трябва да получите сумите до два работни дни. Въведете сумите в страницата за плащания на организацията, за да потвърдите банковата си сметка." - }, - "verifyBankAccountFailureWarning": { - "message": "Ако не потвърдите номера на банкова сметка, няма да може да се нареди плащане и абонаментът ви ще бъде временно спрян." - }, - "verifiedBankAccount": { - "message": "Банковата сметка е потвърдена." - }, - "bankAccount": { - "message": "Банкова сметка" - }, - "amountX": { - "message": "Сума $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Банков код", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Номер на сметката" - }, - "accountHolderName": { - "message": "Име на притежателя на сметката" - }, - "bankAccountType": { - "message": "Вид на сметката" - }, - "bankAccountTypeCompany": { - "message": "На фирма" - }, - "bankAccountTypeIndividual": { - "message": "На физическо лице" - }, - "enterInstallationId": { - "message": "Въведете идентификатора на инсталацията" - }, - "addSeats": { - "message": "Добавяне на потребители", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Намаляване на потребители", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Абонаментът ви позволява $COUNT$ на брой потребители.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Брой потребители за добавяне" - }, - "seatsToRemove": { - "message": "Брой потребители за намаляване" - }, - "seatsAddNote": { - "message": "Добавянето на потребители води до увеличаване на дължимата сума. Разликата ще бъде незабавно погасена чрез текущия ви метод за плащане. Първото дължимо плащане е пропорционално на оставащия срок от текущия период на ползване." - }, - "seatsRemoveNote": { - "message": "Намаляването на потребители води до намаляване на дължимата сума. Разликата ще бъде заделена като кредит за следващото ви плащане, пропорционално на оставащия срок от текущия период на ползване." - }, - "adjustedSeats": { - "message": "Промяна с $AMOUNT$ потребители.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Ключът е обновен" - }, - "updateKeyTitle": { - "message": "Обновяване на ключа" - }, - "updateEncryptionKey": { - "message": "Обновяване на ключа за шифриране" - }, - "updateEncryptionKeyShortDesc": { - "message": "Ползвате остаряла схема за шифриране." - }, - "updateEncryptionKeyDesc": { - "message": "Вече ползваме по-дълги ключове за по-добра сигурност и повече възможности. Обновяването на ключа е бързо и лесно. Просто въведете главната си парола по-долу. В някой бъдещ момент това обновяване ще бъде задължително." - }, - "updateEncryptionKeyWarning": { - "message": "След смяната на ключа за шифриране ще трябва да се отпишете и след това да се впишете в регистрацията си във всички приложения на Битуорден, които ползвате (като мобилното приложение и разширенията за браузъри). Ако не се отпишете и впишете повторно (за да получите достъп до новия ключ), рискувате да повредите записите си. Сега ще се пробва да бъдете отписани автоматично, това обаче може да се забави." - }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." - }, - "subscription": { - "message": "Абонамент" - }, - "loading": { - "message": "Зареждане…\n" - }, - "upgrade": { - "message": "Обновяване" - }, - "upgradeOrganization": { - "message": "Обновяване на организацията" - }, - "upgradeOrganizationDesc": { - "message": "Безплатните планове нямат достъп до тази възможност. Преминете към платен план, за да се възползвате от тази и много други възможности." - }, - "createOrganizationStep1": { - "message": "Създаване на организация: стъпка № 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Преди да създадете организацията си, трябва да имате поне безплатен абонамент." - }, - "refunded": { - "message": "Парите са възстановени" - }, - "nothingSelected": { - "message": "Не сте избрали нищо." - }, - "acceptPolicies": { - "message": "Чрез тази отметка вие се съгласявате със следните:" - }, - "acceptPoliciesError": { - "message": "Условията за използване и политиката за поверителност не бяха приети." - }, - "termsOfService": { - "message": "Общи условия" - }, - "privacyPolicy": { - "message": "Политика за поверителност" - }, - "filters": { - "message": "Филтри" - }, - "vaultTimeout": { - "message": "Време за достъп" - }, - "vaultTimeoutDesc": { - "message": "Изберете колко да е времето за достъп и какво ще е действието след това." - }, - "oneMinute": { - "message": "1 минута" - }, - "fiveMinutes": { - "message": "5 минути" - }, - "fifteenMinutes": { - "message": "15 минути" - }, - "thirtyMinutes": { - "message": "30 минути" - }, - "oneHour": { - "message": "1 час" - }, - "fourHours": { - "message": "4 часа" - }, - "onRefresh": { - "message": "При презареждане на страницата" - }, - "dateUpdated": { - "message": "Обновена", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Обновена парола", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "Организацията е изключена." - }, - "licenseIsExpired": { - "message": "Изтекъл лиценз." - }, - "updatedUsers": { - "message": "Обновени потребители" - }, - "selected": { - "message": "Избрано" - }, - "ownership": { - "message": "Собственост" - }, - "whoOwnsThisItem": { - "message": "Кой притежава този запис?" - }, - "strong": { - "message": "Силна", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Добра", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Слаба", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Много слаба", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Слаба главна парола" - }, - "weakMasterPasswordDesc": { - "message": "Зададената главна парола е твърде слаба. Главната парола трябва да е силна. Добре е да ползвате цяла фраза за парола, за да защитите данните в трезора на Битуорден. Уверени ли сте, че искате да ползвате слаба парола?" - }, - "rotateAccountEncKey": { - "message": "Ключът за шифриране също да се смени" - }, - "rotateEncKeyTitle": { - "message": "Смяна на ключа за шифриране" - }, - "rotateEncKeyConfirmation": { - "message": "Сигурни ли сте, че искате да смените ключа за шифрирането на абонамента?" - }, - "attachmentsNeedFix": { - "message": "Този запис съдържа стар, прикачен файл, който трябва да бъде поправен. Натиснете, за да научите повече." - }, - "attachmentFixDesc": { - "message": "Този прикачен файл е стар и трябва да бъде поправен. Натиснете, за да научите повече." - }, - "fix": { - "message": "Поправяне", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "В трезора ви има стари прикачени файлове. Те трябва да бъдат поправени, за да можете да смените ключа за шифриране на абонамента." - }, - "yourAccountsFingerprint": { - "message": "Уникална фраза, идентифицираща абонамента ви", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "За да опазите ключовете за шифриране, въведете уникалната фраза, идентифицираща абонамента ви.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Без повторно питане за уникалната фраза", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Безплатно", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "Ключ за API" - }, - "apiKeyDesc": { - "message": "Ключът позволява да се идентифицирате към публичното API на Битуорден." - }, - "apiKeyRotateDesc": { - "message": "Смяната на ключа ще направи предния ключ неизползваем. Можете да смените ключа си, ако считате, че текущият не е надежден повече." - }, - "apiKeyWarning": { - "message": "Ключът за API дава пълен достъп до организацията. Трябва да го пазите в тайна." - }, - "userApiKeyDesc": { - "message": "Your API key can be used to authenticate in the Bitwarden CLI." - }, - "userApiKeyWarning": { - "message": "Вашият API ключ е алтернативен механизъм автентикация. Той трябва да се пази в тайна." - }, - "oauth2ClientCredentials": { - "message": "Идентификация за клиент за OAuth 2.0", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "Ключ за API" - }, - "rotateApiKey": { - "message": "Смяна на ключа за API" - }, - "selectOneCollection": { - "message": "Изберете поне една колекция." - }, - "couldNotChargeCardPayInvoice": { - "message": "Не можем да сменим картата ви. Разгледайте и платете по неплатените фактури по-долу." - }, - "inAppPurchase": { - "message": "Покупка в приложение" - }, - "cannotPerformInAppPurchase": { - "message": "Не може да извършите това действие, като ползвате метод за плащане за покупка в приложение." - }, - "manageSubscriptionFromStore": { - "message": "Може да управлявате абонамента си от електронния магазин, от който сте го купили." - }, - "minLength": { - "message": "Минимална дължина" - }, - "clone": { - "message": "Дублиране" - }, - "masterPassPolicyDesc": { - "message": "Задаване на минимална сила на главната парола." - }, - "twoStepLoginPolicyDesc": { - "message": "Изискване от потребителите да включат двустепенно удостоверяване за личните си абонаменти." - }, - "twoStepLoginPolicyWarning": { - "message": "Членовете на организацията без двустепенно удостоверяване за личните си абонаменти ще бъдат отстранени от организацията. Те ще бъдат уведомени за това по електронната поща." - }, - "twoStepLoginPolicyUserWarning": { - "message": "Вие сте член на поне една организация, която изисква двустепенно удостоверяване и за личния абонамент. Ако изключите двустепенното удостоверяване, ще бъдете отстранени от тези организации." - }, - "passwordGeneratorPolicyDesc": { - "message": "Задаване на минимална сила на генератора на пароли." - }, - "passwordGeneratorPolicyInEffect": { - "message": "Поне една политика на организация влияе на настройките на генерирането на паролите." - }, - "masterPasswordPolicyInEffect": { - "message": "Поне една политика на организация има следните изисквания към главната ви парола:" - }, - "policyInEffectMinComplexity": { - "message": "Минимална сложност от $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Минимална дължина: $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Поне една главна буква" - }, - "policyInEffectLowercase": { - "message": "Поне една малка буква" - }, - "policyInEffectNumbers": { - "message": "Поне една цифра" - }, - "policyInEffectSpecial": { - "message": "Поне един от следните специални знаци: $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Паролата ви не отговаря на политиките." - }, - "minimumNumberOfWords": { - "message": "Минимален брой думи" - }, - "defaultType": { - "message": "Стандартен вид" - }, - "userPreference": { - "message": "Потребителски настройки" - }, - "vaultTimeoutAction": { - "message": "Действие при изтичане на времето" - }, - "vaultTimeoutActionLockDesc": { - "message": "При заключване на трезора ще ви се наложи отново да въведете паролата си, за да го достъпите." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "При изход от трезора ще ви се наложи отново да се идентифицирате, за да го достъпите." - }, - "lock": { - "message": "Заключване", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Кошче", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Търсене в кошчето" - }, - "permanentlyDelete": { - "message": "Окончателно изтриване" - }, - "permanentlyDeleteSelected": { - "message": "Окончателно изтриване на избраното" - }, - "permanentlyDeleteItem": { - "message": "Окончателно изтриване на запис" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Сигурни ли сте, че искате да изтриете записа окончателно?" - }, - "permanentlyDeletedItem": { - "message": "Записът е изтрит окончателно" - }, - "permanentlyDeletedItems": { - "message": "Записите са изтрити окончателно" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "За изтриване сте избрали $COUNT$ запис/а. Сигурни ли сте, че искате да ги изтриете окончателно?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Запис № $ID$ е изтрит окончателно.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Възстановяване" - }, - "restoreSelected": { - "message": "Възстановяване на избраните" - }, - "restoreItem": { - "message": "Възстановяване на запис" - }, - "restoredItem": { - "message": "Записът е възстановен" - }, - "restoredItems": { - "message": "Записите са възстановени" - }, - "restoreItemConfirmation": { - "message": "Сигурни ли сте, че искате да възстановите записа?" - }, - "restoreItems": { - "message": "Възстановяване на записи" - }, - "restoreSelectedItemsDesc": { - "message": "За възстановяване сте избрали $COUNT$ запис/а. Сигурни ли сте, че искате да ги възстановите?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Запис № $ID$ е възстановен.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Излизането от трезора изцяло спира достъпа до него след изтичане на времето. Ще ви се наложи отново да се идентифицирате, за да го достъпите. Сигурни ли сте, че искате това действие?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Потвърждаване на действието" - }, - "hidePasswords": { - "message": "Криене на паролите" - }, - "countryPostalCodeRequiredDesc": { - "message": "Тази информация ни е необходима единствено за изчисляване на данъка при продажба, както и за финансова отчетност." - }, - "includeVAT": { - "message": "Включване на информацията за ДДС/GST (по избор)" - }, - "taxIdNumber": { - "message": "Данъчен номер за ДДС/GST" - }, - "taxInfoUpdated": { - "message": "Данъчната информация е обновена." - }, - "setMasterPassword": { - "message": "Задаване на главна парола" - }, - "ssoCompleteRegistration": { - "message": "За да завършите настройките за еднократна идентификация, трябва да зададете главна парола за трезора." - }, - "identifier": { - "message": "Идентификатор" - }, - "organizationIdentifier": { - "message": "Идентификатор на организация" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Вписване чрез портала на организацията ви за еднократна идентификация. За да продължите, въведете идентификатора на организацията." - }, - "enterpriseSingleSignOn": { - "message": "Еднократна идентификация (SSO)" - }, - "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." - }, - "businessPortal": { - "message": "Бизнес портал", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "Всички възможности в екип плюс:" - }, - "includeSsoAuthentication": { - "message": "Еднократна идентификация чрез SAML2.0 и OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Политики на бизнеса" - }, - "ssoValidationFailed": { - "message": "Неуспешна еднократна идентификация" - }, - "ssoIdentifierRequired": { - "message": "Идентификаторът на организация е задължителен." - }, - "unlinkSso": { - "message": "Прекъсване на еднократна идентификация" - }, - "linkSso": { - "message": "Свързване на еднократна идентификация" - }, - "webPoliciesDeprecationWarning": { - "message": "Policy configuration has been moved, and this page will soon be deprecated. Please click below to use the Business Portal policies page instead." - }, - "singleOrg": { - "message": "Една организация" - }, - "singleOrgDesc": { - "message": "Restrict users from being able to join any other organizations." - }, - "singleOrgBlockCreateMessage": { - "message": "Вашата настояща организация има политика, която не позволява да участвате в повече от една организация. Моля свържете се с администратора на организацията или се впишете с друг Bitwarden потребител." - }, - "singleOrgPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and are already a member of another organization will be removed from your organization." - }, - "requireSso": { - "message": "Single Sign-On Authentication" - }, - "requireSsoPolicyDesc": { - "message": "Require users to log in with the Enterprise Single Sign-On method." - }, - "prerequisite": { - "message": "Предпоставкa" - }, - "requireSsoPolicyReq": { - "message": "The Single Organization enterprise policy must be enabled before activating this policy." - }, - "requireSsoPolicyReqError": { - "message": "Single Organization policy not enabled." - }, - "requireSsoExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "sendTypeFile": { - "message": "Файл" - }, - "sendTypeText": { - "message": "Текст" - }, - "createSend": { - "message": "Create New Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Edit Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Created Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Edited Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Deleted Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Delete Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Are you sure you want to delete this Send?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "What type of Send is this?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Deletion Date" - }, - "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Срок на валидност" - }, - "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Maximum Access Count" - }, - "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Current Access Count" - }, - "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Private notes about this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Disabled" - }, - "sendLink": { - "message": "Send Link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Copy Send Link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Премахване на парола" - }, - "removedPassword": { - "message": "Removed Password" - }, - "removePasswordConfirmation": { - "message": "Are you sure you want to remove the password?" - }, - "disableThisSend": { - "message": "Disable this Send so that no one can access it.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "All Sends" - }, - "maxAccessCountReached": { - "message": "Max access count reached" - }, - "pendingDeletion": { - "message": "Pending deletion" - }, - "expired": { - "message": "Expired" - }, - "searchSends": { - "message": "Search Sends", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "This Send is protected with a password. Please type the password below to continue.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Don't know the password? Ask the Sender for the password needed to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "This send is hidden by default. You can toggle its visibility using the button below.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Изтеглете файл" - }, - "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "There are no Sends to list.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Emergency Access" - }, - "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." - }, - "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" - }, - "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." - }, - "addEmergencyContact": { - "message": "Add emergency contact" - }, - "designatedEmergencyContacts": { - "message": "Designated as emergency contact" - }, - "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." - }, - "inviteEmergencyContact": { - "message": "Invite emergency contact" - }, - "editEmergencyContact": { - "message": "Edit emergency contact" - }, - "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" - }, - "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" - }, - "viewDesc": { - "message": "Can view all items in your own vault." - }, - "takeover": { - "message": "Takeover" - }, - "takeoverDesc": { - "message": "Can reset your account with a new master password." - }, - "waitTime": { - "message": "Wait Time" - }, - "waitTimeDesc": { - "message": "Time required before automatically granting access." - }, - "oneDay": { - "message": "1 day" - }, - "days": { - "message": "$DAYS$ days", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Invited user." - }, - "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." - }, - "requestAccess": { - "message": "Request Access" - }, - "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Approve" - }, - "reject": { - "message": "Reject" - }, - "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Emergency access approved." - }, - "emergencyRejected": { - "message": "Emergency access rejected" - }, - "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Personal Ownership" - }, - "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." - }, - "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." - }, - "modifiedPolicyId": { - "message": "Modified policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Plan price" - }, - "estimatedTax": { - "message": "Estimated tax" - }, - "custom": { - "message": "Custom" - }, - "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." - }, - "permissions": { - "message": "Permissions" - }, - "accessBusinessPortal": { - "message": "Access Business Portal" - }, - "accessEventLogs": { - "message": "Access Event Logs" - }, - "accessImportExport": { - "message": "Access Import/Export" - }, - "accessReports": { - "message": "Access Reports" - }, - "manageAllCollections": { - "message": "Manage All Collections" - }, - "manageAssignedCollections": { - "message": "Manage Assigned Collections" - }, - "manageGroups": { - "message": "Manage Groups" - }, - "managePolicies": { - "message": "Manage Policies" - }, - "manageSso": { - "message": "Manage SSO" - }, - "manageUsers": { - "message": "Manage Users" - }, - "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." - }, - "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." - }, - "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" - }, - "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/ca/messages.json b/locales/ca/messages.json deleted file mode 100644 index 0e2d5908..00000000 --- a/locales/ca/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "Caixa forta web $APP_NAME$", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "Quin tipus d'element és aquest?" - }, - "name": { - "message": "Nom" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "Nova URI" - }, - "username": { - "message": "Nom d'usuari" - }, - "password": { - "message": "Contrasenya" - }, - "newPassword": { - "message": "Nova contrasenya" - }, - "passphrase": { - "message": "Frase de pas" - }, - "notes": { - "message": "Notes" - }, - "customFields": { - "message": "Camps personalitzats" - }, - "cardholderName": { - "message": "Nom del titular de la targeta" - }, - "number": { - "message": "Número" - }, - "brand": { - "message": "Marca" - }, - "expiration": { - "message": "Caducitat" - }, - "securityCode": { - "message": "Codi de seguretat (CVV)" - }, - "identityName": { - "message": "Nom d'identitat" - }, - "company": { - "message": "Empresa" - }, - "ssn": { - "message": "Número de la Seguretat Social" - }, - "passportNumber": { - "message": "Número de passaport" - }, - "licenseNumber": { - "message": "Número de llicència" - }, - "email": { - "message": "Correu electrònic" - }, - "phone": { - "message": "Telèfon" - }, - "january": { - "message": "Gener" - }, - "february": { - "message": "Febrer" - }, - "march": { - "message": "Març" - }, - "april": { - "message": "Abril" - }, - "may": { - "message": "Maig" - }, - "june": { - "message": "Juny" - }, - "july": { - "message": "Juliol" - }, - "august": { - "message": "Agost" - }, - "september": { - "message": "Setembre" - }, - "october": { - "message": "Octubre" - }, - "november": { - "message": "Novembre" - }, - "december": { - "message": "Desembre" - }, - "title": { - "message": "Títol" - }, - "mr": { - "message": "Sr." - }, - "mrs": { - "message": "Sra." - }, - "ms": { - "message": "Srta." - }, - "dr": { - "message": "Dr." - }, - "expirationMonth": { - "message": "Mes de venciment" - }, - "expirationYear": { - "message": "Any de venciment" - }, - "authenticatorKeyTotp": { - "message": "Clau d'autenticació (TOTP)" - }, - "folder": { - "message": "Carpeta" - }, - "newCustomField": { - "message": "Nou camp personalitzat" - }, - "value": { - "message": "Valor" - }, - "dragToSort": { - "message": "Arrossega per ordenar" - }, - "cfTypeText": { - "message": "Text" - }, - "cfTypeHidden": { - "message": "Amagat" - }, - "cfTypeBoolean": { - "message": "Booleà" - }, - "remove": { - "message": "Suprimeix" - }, - "unassigned": { - "message": "Sense assignar" - }, - "noneFolder": { - "message": "Cap carpeta", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Afegeix carpeta" - }, - "editFolder": { - "message": "Edita la carpeta" - }, - "baseDomain": { - "message": "Domini base" - }, - "host": { - "message": "Amfitrió", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Exacte" - }, - "startsWith": { - "message": "Comença amb" - }, - "regEx": { - "message": "Expressió regular", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Detecció de coincidències", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Detecció de coincidències per defecte", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Mai" - }, - "toggleVisibility": { - "message": "Commuta la visibilitat" - }, - "toggleCollapse": { - "message": "Redueix/Amplia", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Genera contrasenya" - }, - "checkPassword": { - "message": "Comprova si la contrasenya ha estat exposada." - }, - "passwordExposed": { - "message": "Aquesta contrasenya ha estat exposada $VALUE$ vegades en filtracions de seguretat de dades. Heu de canviar-la.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "Aquesta contrasenya no s'ha trobat en cap filtració de dades coneguda. Hauries de poder utilitzar-la de manera segura." - }, - "save": { - "message": "Guarda" - }, - "cancel": { - "message": "Cancel·la" - }, - "canceled": { - "message": "Cancel·lat" - }, - "close": { - "message": "Tanca" - }, - "delete": { - "message": "Suprimeix" - }, - "favorite": { - "message": "Preferit" - }, - "unfavorite": { - "message": "Treu dels preferits" - }, - "edit": { - "message": "Edita" - }, - "searchCollection": { - "message": "Cerca en col·lecció" - }, - "searchFolder": { - "message": "Cerca en la carpeta" - }, - "searchFavorites": { - "message": "Cerca en preferits" - }, - "searchType": { - "message": "Cerca en tipus", - "description": "Search item type" - }, - "searchVault": { - "message": "Cerca en la caixa forta" - }, - "allItems": { - "message": "Tots els elements" - }, - "favorites": { - "message": "Preferits" - }, - "types": { - "message": "Tipus" - }, - "typeLogin": { - "message": "Inici de sessió" - }, - "typeCard": { - "message": "Targeta" - }, - "typeIdentity": { - "message": "Identitat" - }, - "typeSecureNote": { - "message": "Nota segura" - }, - "folders": { - "message": "Carpetes" - }, - "collections": { - "message": "Col·leccions" - }, - "firstName": { - "message": "Nom" - }, - "middleName": { - "message": "Segon nom" - }, - "lastName": { - "message": "Cognoms" - }, - "address1": { - "message": "Adreça 1" - }, - "address2": { - "message": "Adreça 2" - }, - "address3": { - "message": "Adreça 3" - }, - "cityTown": { - "message": "Localitat" - }, - "stateProvince": { - "message": "Estat / província" - }, - "zipPostalCode": { - "message": "Codi postal" - }, - "country": { - "message": "País" - }, - "shared": { - "message": "Compartit" - }, - "attachments": { - "message": "Adjunts" - }, - "select": { - "message": "Selecciona" - }, - "addItem": { - "message": "Afegeix element" - }, - "editItem": { - "message": "Edita l'element" - }, - "viewItem": { - "message": "Visualitza l'element" - }, - "ex": { - "message": "ex.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Altres" - }, - "share": { - "message": "Comparteix" - }, - "valueCopied": { - "message": "S'ha copiat $VALUE$", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Copia el valor", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Copia la contrasenya", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Copia el nom d'usuari", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Copia el número", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Copia el codi de seguretat", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Copia URI", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "La meua caixa forta" - }, - "vault": { - "message": "Caixa forta" - }, - "shareSelected": { - "message": "Comparteix selecció" - }, - "deleteSelected": { - "message": "Suprimeix selecció" - }, - "moveSelected": { - "message": "Desplaça selecció" - }, - "selectAll": { - "message": "Selecciona-ho tot" - }, - "unselectAll": { - "message": "Anul·la tota la selecció" - }, - "launch": { - "message": "Inicia" - }, - "newAttachment": { - "message": "Afegeix un nou adjunt" - }, - "deletedAttachment": { - "message": "Adjunt suprimit" - }, - "deleteAttachmentConfirmation": { - "message": "Esteu segur que voleu suprimir aquest adjunt?" - }, - "attachmentSaved": { - "message": "S'ha guardat el fitxer adjunt." - }, - "file": { - "message": "Fitxer" - }, - "selectFile": { - "message": "Seleccioneu un fitxer." - }, - "maxFileSize": { - "message": "La mida màxima del fitxer és de 100 MB." - }, - "updateKey": { - "message": "No podeu utilitzar aquesta funció fins que actualitzeu la vostra clau de xifratge." - }, - "addedItem": { - "message": "Element afegit" - }, - "editedItem": { - "message": "Element editat" - }, - "sharedItem": { - "message": "Element compartit" - }, - "sharedItems": { - "message": "Elements compartits" - }, - "deleteItem": { - "message": "Suprimeix element" - }, - "deleteFolder": { - "message": "Suprimeix carpeta" - }, - "deleteAttachment": { - "message": "Suprimeix adjunt" - }, - "deleteItemConfirmation": { - "message": "Esteu segur que voleu suprimir aquest element?" - }, - "deletedItem": { - "message": "Element enviat a la paperera" - }, - "deletedItems": { - "message": "Elements enviats a la paperera" - }, - "movedItems": { - "message": "Elements desplaçats" - }, - "overwritePasswordConfirmation": { - "message": "Esteu segur que voleu sobreescriure la contrasenya actual?" - }, - "editedFolder": { - "message": "Carpeta editada" - }, - "addedFolder": { - "message": "Carpeta afegida" - }, - "deleteFolderConfirmation": { - "message": "Esteu segur que voleu suprimir aquesta carpeta?" - }, - "deletedFolder": { - "message": "Carpeta suprimida" - }, - "loggedOut": { - "message": "Sessió tancada" - }, - "loginExpired": { - "message": "La vostra sessió ha caducat." - }, - "logOutConfirmation": { - "message": "Segur que voleu tancar la sessió?" - }, - "logOut": { - "message": "Tanca la sessió" - }, - "ok": { - "message": "D’acord" - }, - "yes": { - "message": "Sí" - }, - "no": { - "message": "No" - }, - "loginOrCreateNewAccount": { - "message": "Inicieu sessió o creeu un compte nou per accedir a la caixa forta." - }, - "createAccount": { - "message": "Crea un compte" - }, - "logIn": { - "message": "Inicia sessió" - }, - "submit": { - "message": "Envia" - }, - "emailAddressDesc": { - "message": "Utilitzareu la vostra adreça de correu electrònic per iniciar sessió." - }, - "yourName": { - "message": "El vostre nom" - }, - "yourNameDesc": { - "message": "Com vols que et diguen?" - }, - "masterPass": { - "message": "Contrasenya mestra" - }, - "masterPassDesc": { - "message": "La contrasenya mestra és la clau que utilitzeu per accedir a la vostra caixa forta. És molt important que no la oblideu. No hi ha manera de recuperar-la en cas que la oblideu." - }, - "masterPassHintDesc": { - "message": "Una pista de la contrasenya mestra pot ajudar-vos a recordar-la si la oblideu." - }, - "reTypeMasterPass": { - "message": "Torneu a escriure la contrasenya mestra" - }, - "masterPassHint": { - "message": "Pista de la contrasenya mestra (opcional)" - }, - "masterPassHintLabel": { - "message": "Pista de la contrasenya mestra" - }, - "settings": { - "message": "Configuració" - }, - "passwordHint": { - "message": "Pista de la contrasenya" - }, - "enterEmailToGetHint": { - "message": "Introduïu l'adreça electrònica del vostre compte per rebre la contrasenya mestra." - }, - "getMasterPasswordHint": { - "message": "Obteniu la pista de la contrasenya mestra" - }, - "emailRequired": { - "message": "L'adreça de correu electrònic és obligatòria." - }, - "invalidEmail": { - "message": "L’adreça electrònica no és vàlida." - }, - "masterPassRequired": { - "message": "La contrasenya és obligatòria." - }, - "masterPassLength": { - "message": "La contrasenya ha de contenir almenys 8 caràcters." - }, - "masterPassDoesntMatch": { - "message": "La confirmació de la contrasenya mestra no coincideix." - }, - "newAccountCreated": { - "message": "El vostre compte s'ha creat correctament. Ara ja podeu entrar." - }, - "masterPassSent": { - "message": "Hem enviat un correu electrònic amb la vostra contrasenya mestra." - }, - "unexpectedError": { - "message": "S'ha produït un error inesperat." - }, - "emailAddress": { - "message": "Adreça electrònica" - }, - "yourVaultIsLocked": { - "message": "La caixa forta està bloquejada. Verifiqueu la contrasenya mestra per continuar." - }, - "unlock": { - "message": "Desbloqueja" - }, - "loggedInAsEmailOn": { - "message": "Heu iniciat sessió com a $EMAIL$ en $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Contrasenya mestra no vàlida" - }, - "lockNow": { - "message": "Bloqueja ara" - }, - "noItemsInList": { - "message": "No hi ha cap element a llistar." - }, - "noCollectionsInList": { - "message": "No hi ha cap col·lecció a llistar." - }, - "noGroupsInList": { - "message": "No hi ha cap grup a llistar." - }, - "noUsersInList": { - "message": "No hi ha cap usuari a llistar." - }, - "noEventsInList": { - "message": "No hi ha cap esdeveniment a llistar." - }, - "newOrganization": { - "message": "Organització nova" - }, - "noOrganizationsList": { - "message": "No pertanyeu a cap organització. Les organitzacions permeten compartir elements amb altres usuaris de forma segura." - }, - "versionNumber": { - "message": "Versió $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Introduïu el codi de verificació de 6 dígits de l'aplicació autenticadora." - }, - "enterVerificationCodeEmail": { - "message": "Introduïu el codi de verificació de 6 dígits que s'ha enviat per correu electrònic a $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "Correu electrònic de verificació enviat a $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Recorda'm" - }, - "sendVerificationCodeEmailAgain": { - "message": "Envia el codi de verificació altra vegada" - }, - "useAnotherTwoStepMethod": { - "message": "Utilitzeu un altre mètode d'inici de sessió en dues passes" - }, - "insertYubiKey": { - "message": "Introduïu el vostre YubiKey al port USB de l'ordinador i, a continuació, premeu el seu botó." - }, - "insertU2f": { - "message": "Introduïu la vostra clau de seguretat al port USB de l'ordinador. Si té un botó, premeu-lo." - }, - "loginUnavailable": { - "message": "Inici de sessió no disponible" - }, - "noTwoStepProviders": { - "message": "Aquest compte té habilitat l'inici de sessió en dues passes, però aquest navegador web no admet cap dels dos proveïdors configurats." - }, - "noTwoStepProviders2": { - "message": "Utilitzeu un navegador web compatible (com ara Chrome) o afegiu proveïdors addicionals que siguen compatibles amb tots els navegadors web (com una aplicació d'autenticació)." - }, - "twoStepOptions": { - "message": "Opcions d'inici de sessió en dues passes" - }, - "recoveryCodeDesc": { - "message": "Heu perdut l'accés a tots els vostres proveïdors de dos factors? Utilitzeu el vostre codi de recuperació per desactivar tots els proveïdors de dos factors del vostre compte." - }, - "recoveryCodeTitle": { - "message": "Codi de recuperació" - }, - "authenticatorAppTitle": { - "message": "Aplicació autenticadora" - }, - "authenticatorAppDesc": { - "message": "Utilitzeu una aplicació autenticadora (com Authy o Google Authenticator) per generar codis de verificació basats en el temps.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "Clau de seguretat OTP de YubiKey" - }, - "yubiKeyDesc": { - "message": "Utilitzeu una YubiKey per accedir al vostre compte. Funciona amb els dispositius YubiKey 4, 4 Nano, 4C i NEO." - }, - "duoDesc": { - "message": "Verifiqueu amb Duo Security mitjançant l'aplicació Duo Mobile, SMS, trucada telefònica o clau de seguretat U2F.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Verifiqueu amb Duo Security per a la vostra organització mitjançant l'aplicació Duo Mobile, SMS, trucada telefònica o clau de seguretat U2F.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Utilitzeu qualsevol clau de seguretat habilitada per FIDO U2F per accedir al vostre compte." - }, - "u2fTitle": { - "message": "Clau de seguretat FIDO U2F" - }, - "emailTitle": { - "message": "Correu electrònic" - }, - "emailDesc": { - "message": "Els codis de verificació els rebreu per correu electrònic." - }, - "continue": { - "message": "Continua" - }, - "organization": { - "message": "Organització" - }, - "organizations": { - "message": "Organitzacions" - }, - "shareDesc": { - "message": "Trieu una organització amb la qual vulgueu compartir aquest element. La compartició transfereix la propietat de l'element a l'organització. Ja no sereu el propietari directe d'aquest element una vegada que s'haja compartit." - }, - "shareManyDesc": { - "message": "Trieu una organització amb la qual vulgueu compartir aquests elements. La compartició transfereix la propietat de l'element a l'organització. Ja no sereu el propietari directe d'aquests elements una vegada que s'haja compartit." - }, - "collectionsDesc": { - "message": "Editeu les col·leccions amb les què es comparteix aquest element. Només els usuaris de l'organització que tinguen accés a aquestes col·leccions podran veure'l." - }, - "deleteSelectedItemsDesc": { - "message": "Heu seleccionat $COUNT$ elements per suprimir. Esteu segur que voleu suprimir tots aquests elements?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Trieu una carpeta a la que vulgueu desplaçar els $COUNT$ elements seleccionats.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "Heu seleccionat $COUNT$ elements. $SHAREABLE_COUNT$ elements són compartibles, $NONSHAREABLE_COUNT$ no ho són.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Codi de verificació (TOTP)" - }, - "copyVerificationCode": { - "message": "Copia el codi de verificació" - }, - "warning": { - "message": "Advertiment" - }, - "confirmVaultExport": { - "message": "Confirma l'exportació de la Caixa forta" - }, - "exportWarningDesc": { - "message": "Aquesta exportació conté les dades de la vostra caixa forta en un format no xifrat. No hauríeu d'emmagatzemar o enviar el fitxer exportat a través de canals no segurs (com ara el correu electrònic). Elimineu-lo immediatament després d'haver acabat d'usar-lo." - }, - "encExportWarningDesc": { - "message": "Aquesta exportació xifra les vostres dades mitjançant la vostra clau de xifratge. Si alguna vegada gireu eixa clau, hauríeu d'exportar de nou, ja que no podreu desxifrar aquest fitxer d'exportació." - }, - "exportMasterPassword": { - "message": "Introduïu la contrasenya mestra per exportar les dades de la caixa forta." - }, - "exportVault": { - "message": "Exporta la caixa forta" - }, - "fileFormat": { - "message": "Format de fitxer" - }, - "exportSuccess": { - "message": "S'han exportat les dades de la vostra caixa forta." - }, - "passwordGenerator": { - "message": "Generador de contrasenyes" - }, - "minComplexityScore": { - "message": "Puntuació mínima de complexitat" - }, - "minNumbers": { - "message": "Mínim de caràcters númerics" - }, - "minSpecial": { - "message": "Mínim de caràcters especials", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Eviteu caràcters ambigus" - }, - "regeneratePassword": { - "message": "Regenera contrasenya" - }, - "length": { - "message": "Longitud" - }, - "numWords": { - "message": "Nombre de paraules" - }, - "wordSeparator": { - "message": "Separador de paraules" - }, - "capitalize": { - "message": "Majúscules inicials", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Inclou número" - }, - "passwordHistory": { - "message": "Historial de les contrasenyes" - }, - "noPasswordsInList": { - "message": "No hi ha cap contrasenya a llistar." - }, - "clear": { - "message": "Esborra", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Compte actualitzat" - }, - "changeEmail": { - "message": "Canvia el correu electrònic" - }, - "newEmail": { - "message": "Nou correu electrònic" - }, - "code": { - "message": "Codi" - }, - "changeEmailDesc": { - "message": "Hem enviat un codi de verificació per correu electrònic a $EMAIL$. Comproveu el codi i introduïu-lo a continuació per finalitzar el canvi d'adreça de correu electrònic.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Si es procedeix, es tancarà la vostra sessió actual i l'haureu de tornar a iniciar. Les sessions d'altres dispositius poden mantenir-se actives fins a una hora." - }, - "emailChanged": { - "message": "El correu electrònic s'ha canviat" - }, - "logBackIn": { - "message": "Torneu a iniciar sessió." - }, - "logBackInOthersToo": { - "message": "Torneu a iniciar la sessió. Si esteu utilitzant altres aplicacions Bitwarden, tanqueu-les i torneu-les a obrir també." - }, - "changeMasterPassword": { - "message": "Canvia la contrasenya mestra" - }, - "masterPasswordChanged": { - "message": "S'ha canviat la contrasenya mestra" - }, - "currentMasterPass": { - "message": "Contrasenya mestra actual" - }, - "newMasterPass": { - "message": "Contrasenya mestra nova" - }, - "confirmNewMasterPass": { - "message": "Confirma la contrasenya nova" - }, - "encKeySettings": { - "message": "Configuració de claus de xifratge" - }, - "kdfAlgorithm": { - "message": "Algorisme de KDF" - }, - "kdfIterations": { - "message": "Iteracions de KDF" - }, - "kdfIterationsDesc": { - "message": "Més quantitat d'iteracions de KDF ajuden a protegir la contrasenya mestra d'un atac per força bruta. Recomanem un valor de $VALUE$ o més.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "L'establiment de massa iteracions de KDF pot provocar un rendiment deficient en els inicis de sessió (i desbloqueig) de Bitwarden en dispositius amb CPUs lentes. Recomanem que augmenteu el valor en increments de $INCREMENT$ i, a continuació, proveu-ho en tots els vostres dispositius.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Canvia KDF" - }, - "encKeySettingsChanged": { - "message": "S'ha canviat la configuració de les claus de xifratge" - }, - "dangerZone": { - "message": "Zona perillosa" - }, - "dangerZoneDesc": { - "message": "Aneu amb compte, aquestes accions no són reversibles!" - }, - "deauthorizeSessions": { - "message": "Desautoritza sessions" - }, - "deauthorizeSessionsDesc": { - "message": "Voleu evitar que el vostre compte s'inicie en un altre dispositiu? Seguiu aquestes passes per desautoritzar tots els ordinadors o dispositius que hàgeu utilitzat prèviament. Aquest pas de seguretat es recomana si anteriorment heu utilitzat un ordinador públic o si heu guardat la contrasenya accidentalment en un dispositiu que no és vostre. Aquest pas també esborrarà totes les sessions d'inici de sessió en dues passes recordades prèviament." - }, - "deauthorizeSessionsWarning": { - "message": "El procediment també tancarà la sessió actual, i l'heu de tornar a iniciar. També demanarà iniciar la sessió en dues passes, si està habilitada. Les sessions actives d'altres dispositius poden mantenir-se actives fins a una hora." - }, - "sessionsDeauthorized": { - "message": "Totes les sessions estan desautoritzades" - }, - "purgeVault": { - "message": "Purga la caixa forta" - }, - "purgedOrganizationVault": { - "message": "S'ha purgat la caixa forta de l'organització." - }, - "purgeVaultDesc": { - "message": "Procediu a continuació per esborrar tots els elements i carpetes de la vostra caixa forta. Els elements compartits i que pertanyen a una organització no se suprimiran." - }, - "purgeOrgVaultDesc": { - "message": "Procediu a continuació per esborrar tots els elements de la caixa forta de l'organització." - }, - "purgeVaultWarning": { - "message": "La purga de la caixa forta és permanent. No es pot desfer." - }, - "vaultPurged": { - "message": "S'ha purgat la vostra caixa forta." - }, - "deleteAccount": { - "message": "Suprimeix el compte" - }, - "deleteAccountDesc": { - "message": "Procediu a continuació per eliminar el vostre compte i totes les dades associades." - }, - "deleteAccountWarning": { - "message": "La supressió del compte és permanent. No es pot desfer." - }, - "accountDeleted": { - "message": "S'ha eliminat el compte" - }, - "accountDeletedDesc": { - "message": "El vostre compte s'ha tancat i s'han eliminat totes les dades associades." - }, - "myAccount": { - "message": "El meu compte" - }, - "tools": { - "message": "Eines" - }, - "importData": { - "message": "Importa dades" - }, - "importSuccess": { - "message": "Les dades s'han importat amb èxit a la vostra caixa forta." - }, - "importFormatError": { - "message": "Les dades no estan formatades correctament. Comproveu el fitxer d'importació i torneu-ho a provar." - }, - "importNothingError": { - "message": "No s'ha importat res." - }, - "selectFormat": { - "message": "Seleccioneu el format del fitxer d'importació" - }, - "selectImportFile": { - "message": "Seleccioneu el fitxer d'importació" - }, - "orCopyPasteFileContents": { - "message": "o copieu/enganxeu el contingut dels fitxers d'importació" - }, - "instructionsFor": { - "message": "Instruccions de $NAME$", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Opcions" - }, - "optionsDesc": { - "message": "Personalitzeu la vostra caixa forta web." - }, - "optionsUpdated": { - "message": "Opcions actualitzades" - }, - "language": { - "message": "Idioma" - }, - "languageDesc": { - "message": "Canvia l'idioma utilitzat per la caixa forta web." - }, - "disableIcons": { - "message": "Deshabilita les icones del lloc web" - }, - "disableIconsDesc": { - "message": "Les icones del lloc web proporcionen una imatge que es pot reconèixer al costat de cada element d'inici de sessió a la vostra caixa forta." - }, - "enableGravatars": { - "message": "Habilita Gravatars", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Utilitzeu imatges d'avatar carregades de gravatar.com." - }, - "enableFullWidth": { - "message": "Habilita la disposició de l'amplada completa", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Permet que la caixa forta web s'expandisca a tot l'ample de la finestra del navegador." - }, - "default": { - "message": "Per defecte" - }, - "domainRules": { - "message": "Regles de domini" - }, - "domainRulesDesc": { - "message": "Si teniu el mateix inici de sessió en diversos dominis web diferents, podeu marcar el lloc web com a \"equivalent\". Els dominis \"globals\" són els que Bitwarden ja ha creat per a vosaltres." - }, - "globalEqDomains": { - "message": "Dominis equivalents globals" - }, - "customEqDomains": { - "message": "Dominis equivalents personalitzats" - }, - "exclude": { - "message": "Exclou" - }, - "include": { - "message": "Inclou" - }, - "customize": { - "message": "Personalitza" - }, - "newCustomDomain": { - "message": "Nou domini personalitzat" - }, - "newCustomDomainDesc": { - "message": "Introduïu una llista de dominis separats per comes. Només es permeten els dominis \"base\". No introduïu els subdominis. Per exemple, introduïu \"google.com\" en lloc de \"www.google.com\". També podeu introduir \"androidapp://package.name\" per associar una aplicació d'android amb altres dominis del lloc web." - }, - "customDomainX": { - "message": "Domini personalitzat $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Dominis actualitzats" - }, - "twoStepLogin": { - "message": "Inici de sessió en dues passes" - }, - "twoStepLoginDesc": { - "message": "Protegiu el vostre compte exigint un pas addicional en iniciar sessió." - }, - "twoStepLoginOrganizationDesc": { - "message": "Demana un inici de sessió en dues passes per als usuaris de la vostra organització mitjançant la configuració de proveïdors a nivell de l'organització." - }, - "twoStepLoginRecoveryWarning": { - "message": "Si habiliteu l'inici de sessió en dues passes, pot bloquejar-vos de manera definitiva el compte de Bitwarden. Un codi de recuperació us permet accedir al vostre compte en cas que no pugueu utilitzar el proveïdor d'inici de sessió en dues passes (p. Ex. Perdre el dispositiu). El suport de Bitwarden no podrà ajudar-vos si perdeu l'accés al vostre compte. Us recomanem que escriviu o imprimiu el codi de recuperació i el mantingueu en un lloc segur." - }, - "viewRecoveryCode": { - "message": "Mostra el codi de recuperació" - }, - "providers": { - "message": "Proveïdors", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Habilita" - }, - "enabled": { - "message": "Habilitat" - }, - "premium": { - "message": "Premium", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Subscripció Premium" - }, - "premiumRequired": { - "message": "Premium requerit" - }, - "premiumRequiredDesc": { - "message": "Cal una subscripció premium per utilitzar aquesta característica." - }, - "youHavePremiumAccess": { - "message": "Teniu accés premium" - }, - "alreadyPremiumFromOrg": { - "message": "Ja teniu accés a les funcions premium degut a que sou membre d'una organització." - }, - "manage": { - "message": "Administra" - }, - "disable": { - "message": "Deshabilita" - }, - "twoStepLoginProviderEnabled": { - "message": "Aquest proveïdor d'inici de sessió en dues passes està habilitat al vostre compte." - }, - "twoStepLoginAuthDesc": { - "message": "Introduïu la vostra contrasenya mestra per modificar la configuració d'inici de sessió en dues passes." - }, - "twoStepAuthenticatorDesc": { - "message": "Seguiu aquestes passes per configurar l'inici de sessió en dues passes amb una aplicació autenticadora:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Baixeu una aplicació autenticadora en dues passes" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Necessiteu una aplicació d'autenticació en dues passes? Baixeu-ne una de les següents" - }, - "iosDevices": { - "message": "Dispositius iOS" - }, - "androidDevices": { - "message": "Dispositius Android" - }, - "windowsDevices": { - "message": "Dispositius Windows" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "Es recomanen aquestes aplicacions, però, altres aplicacions autenticadores també funcionaran." - }, - "twoStepAuthenticatorScanCode": { - "message": "Escanegeu aquest codi QR amb l'aplicació autenticadora" - }, - "key": { - "message": "Clau" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Introduïu el codi de verificació de 6 dígits generat a l'aplicació" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "En cas que hàgeu d'afegir-lo a un altre dispositiu, a continuació teniu el codi QR (o clau) requerit per l'aplicació autenticadora." - }, - "twoStepDisableDesc": { - "message": "Esteu segur que voleu inhabilitar aquest proveïdor d'inici de sessió en dues passes?" - }, - "twoStepDisabled": { - "message": "El proveïdor d'inici de sessió en dues passes està deshabilitat." - }, - "twoFactorYubikeyAdd": { - "message": "Afegiu una nova YubiKey al vostre compte" - }, - "twoFactorYubikeyPlugIn": { - "message": "Connecteu la YubiKey al port USB de l'ordinador." - }, - "twoFactorYubikeySelectKey": { - "message": "Seleccioneu a continuació el primer camp d'entrada buit de YubiKey." - }, - "twoFactorYubikeyTouchButton": { - "message": "Toqueu el botó de la YubiKey." - }, - "twoFactorYubikeySaveForm": { - "message": "Guardeu el formulari." - }, - "twoFactorYubikeyWarning": { - "message": "A causa de les limitacions de la plataforma, les YubiKeys no es poden utilitzar en totes les aplicacions de Bitwarden. Heu d'habilitar un altre proveïdor d'inici de sessió en dues passes per accedir al compte quan no es puguen utilitzar les YubiKeys. Plataformes compatibles:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Caixa forta web, aplicació d'escriptori, CLI i totes les extensions de navegador en un dispositiu amb un port USB que puga acceptar la vostra YubiKey." - }, - "twoFactorYubikeySupportMobile": { - "message": "Aplicacions mòbils en un dispositiu amb NFC o un port USB que puga acceptar la vostra YubiKey." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "Clau U2F $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "Suport NFC" - }, - "twoFactorYubikeySupportsNfc": { - "message": "Una de les meues claus és compatible amb NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "Si una de les vostres YubiKeys és compatible amb NFC (com ara una NEO YubiKey), se us demanarà als dispositius mòbils quan es detecte la disponibilitat de NFC." - }, - "yubikeysUpdated": { - "message": "S'han actualitzat les YubiKeys" - }, - "disableAllKeys": { - "message": "Deshabilita totes les claus" - }, - "twoFactorDuoDesc": { - "message": "Introduïu la informació de l'aplicació Bitwarden des del vostre tauler d'Administrador de Duo." - }, - "twoFactorDuoIntegrationKey": { - "message": "Clau d'integració" - }, - "twoFactorDuoSecretKey": { - "message": "Clau Secreta" - }, - "twoFactorDuoApiHostname": { - "message": "Nom de l'amfitrió d'API" - }, - "twoFactorEmailDesc": { - "message": "Seguiu aquestes passes per configurar l'inici de sessió en dues passes amb el correu electrònic:" - }, - "twoFactorEmailEnterEmail": { - "message": "Introduïu el correu electrònic amb el que voleu rebre els codis de verificació" - }, - "twoFactorEmailEnterCode": { - "message": "Introduïu el codi de verificació resultant de 6 dígits del correu electrònic" - }, - "sendEmail": { - "message": "Envia un correu electrònic" - }, - "twoFactorU2fAdd": { - "message": "Afegeix una clau de seguretat FIDO U2F al vostre compte" - }, - "removeU2fConfirmation": { - "message": "Segur que voleu suprimir aquesta clau de seguretat?" - }, - "readKey": { - "message": "Llegeix la clau" - }, - "keyCompromised": { - "message": "La clau està compromesa." - }, - "twoFactorU2fGiveName": { - "message": "Doneu un nom amigable a la clau de seguretat per identificar-la." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Connecteu la clau de seguretat al port USB de l'ordinador i feu clic al botó \"Llegeix la clau\"." - }, - "twoFactorU2fTouchButton": { - "message": "Si la clau de seguretat té un botó, toqueu-lo." - }, - "twoFactorU2fSaveForm": { - "message": "Guardeu el formulari." - }, - "twoFactorU2fWarning": { - "message": "A causa de les limitacions de la plataforma, FIDO U2F no es pot utilitzar en totes les aplicacions de Bitwarden. Heu d'habilitar un altre proveïdor d'inici de sessió en dues passes perquè pugueu accedir al vostre compte quan FIDO U2F no es puga utilitzar. Plataformes compatibles:" - }, - "twoFactorU2fSupportWeb": { - "message": "Caixa forta web i extensions de navegador en un escriptori/portàtil amb un navegador compatible amb U2F (Chrome, Opera, Vivaldi, o Firefox amb FIDO U2F activat)." - }, - "twoFactorU2fWaiting": { - "message": "S'està esperant que toqueu el botó de la vostra clau de seguretat" - }, - "twoFactorU2fClickSave": { - "message": "Feu clic al botó \"Guarda\" que apareix a continuació per habilitar aquesta clau de seguretat per iniciar sessió en dues passes." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "Hi ha hagut un problema en llegir la clau de seguretat. Torneu-ho a provar." - }, - "twoFactorRecoveryYourCode": { - "message": "El codi de recuperació d'inici de sessió en dues passes de Bitwarden" - }, - "twoFactorRecoveryNoCode": { - "message": "Encara no heu habilitat cap proveïdor d'inici de sessió en dues passes. Després d'activar-lo, podeu consultar ací el codi de recuperació." - }, - "printCode": { - "message": "Imprimeix el codi", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Informes" - }, - "unsecuredWebsitesReport": { - "message": "Informe de llocs web no segurs" - }, - "unsecuredWebsitesReportDesc": { - "message": "L'ús de llocs web no segurs amb l'esquema http:// pot ser perillós. Si el lloc web ho permet, sempre haureu d'accedir-hi mitjançant l'esquema https:// perquè la vostra connexió estiga xifrada." - }, - "unsecuredWebsitesFound": { - "message": "S'han trobat llocs web no segurs" - }, - "unsecuredWebsitesFoundDesc": { - "message": "Hem trobat $COUNT$ elements a la vostra caixa forta amb URI no segures. Heu de canviar el seu esquema URI a https:// si el lloc web ho permet.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "Cap element de la vostra caixa forta té URI no segures." - }, - "inactive2faReport": { - "message": "Informe 2FA inactiu" - }, - "inactive2faReportDesc": { - "message": "L'autenticació de dos factors (2FA) és una configuració de seguretat important que ajuda a assegurar els vostres comptes. Si el lloc web ho ofereix, sempre haureu d'activar l'autenticació de dos factors." - }, - "inactive2faFound": { - "message": "S'han trobat registres sense 2FA" - }, - "inactive2faFoundDesc": { - "message": "Hem trobat $COUNT$ llocs web a la vostra caixa forta que no es poden configurar amb l'autenticació de dos factors (d'acord amb 2fa.directory). Per protegir encara més aquests comptes, haureu d'habilitar l'autenticació de dos factors.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "No s'han trobat llocs web a la vostra caixa forta sense configuració d'autenticació de dos factors." - }, - "instructions": { - "message": "Instruccions" - }, - "exposedPasswordsReport": { - "message": "Informe de contrasenyes exposades" - }, - "exposedPasswordsReportDesc": { - "message": "Les contrasenyes exposades són claus que s'han descobert en filtracions de dades conegudes que es van fer públiques o que es van vendre a la web fosca per part d'hackers." - }, - "exposedPasswordsFound": { - "message": "S'han trobat contrasenyes exposades" - }, - "exposedPasswordsFoundDesc": { - "message": "Hem trobat $COUNT$ elements a la vostra caixa forta que tenen contrasenyes que van ser exposades a filtracions de dades conegudes. Heu de canviar-les amb una contrasenya nova.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "Cap element de la vostra caixa forta conté contrasenyes que s'hagen exposat a filtracions de dades conegudes." - }, - "checkExposedPasswords": { - "message": "Comprova les contrasenyes exposades" - }, - "exposedXTimes": { - "message": "S'han exposat $COUNT$ vegades", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Informe de contrasenyes poc segures" - }, - "weakPasswordsReportDesc": { - "message": "Les contrasenyes poc segures poden ser descobertes fàcilment per pirates informàtics amb eines automatitzades que s'utilitzen per trencar contrasenyes. El generador de contrasenyes Bitwarden us pot ajudar a crear contrasenyes fortes." - }, - "weakPasswordsFound": { - "message": "S'han trobat contrasenyes poc segures" - }, - "weakPasswordsFoundDesc": { - "message": "Hem trobat $COUNT$ elements a la vostra caixa forta amb contrasenyes que no són fortes. Heu d'actualitzar-les i utilitzar contrasenyes més fortes.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "Cap element de la vostra caixa forta té contrasenyes poc segures." - }, - "reusedPasswordsReport": { - "message": "Informe de contrasenyes reutilitzades" - }, - "reusedPasswordsReportDesc": { - "message": "Si un servei que utilitzeu està compromès, la reutilització de la mateixa contrasenya en altres llocs pot permetre als hackers accedir fàcilment a més comptes en línia vostres. Heu d'utilitzar una contrasenya exclusiva per a cada compte o servei." - }, - "reusedPasswordsFound": { - "message": "S'han trobat contrasenyes reutilitzades" - }, - "reusedPasswordsFoundDesc": { - "message": "Hem trobat $COUNT$ contrasenyes que s'estan reutilitzant a la vostra caixa forta. Heu de canviar-les a un valor únic.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "Cap inici de sessió a la vostra caixa forta té contrasenyes que s'estiguen reutilitzant." - }, - "reusedXTimes": { - "message": "S'ha reutilitzat $COUNT$ vegades", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Informe de filtració de dades" - }, - "breachDesc": { - "message": "Un \"filtració\" és un incident on les dades dels llocs han estat accessades il·legalment pels pirates informàtics i, posteriorment, es mostren públicament. Reviseu els tipus de dades que han quedat compromeses (adreces de correu electrònic, contrasenyes, targetes de crèdit, etc.) i preneu les mesures adequades, com ara canviar les contrasenyes." - }, - "breachCheckUsernameEmail": { - "message": "Comproveu qualsevol nom d'usuari o adreça electrònica que utilitzeu." - }, - "checkBreaches": { - "message": "Comprova filtracions" - }, - "breachUsernameNotFound": { - "message": "No s'ha trobat $USERNAME$ en cap filtració de dades coneguda.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Bones notícies", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "S'ha trobat $USERNAME$ en $COUNT$ diferents filtracions de dades en línia.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "S'han trobat comptes compromesos" - }, - "compromisedData": { - "message": "Dades compromeses" - }, - "website": { - "message": "Lloc web" - }, - "affectedUsers": { - "message": "Usuaris afectats" - }, - "breachOccurred": { - "message": "La filtració es va produir el" - }, - "breachReported": { - "message": "Es va informar de la filtració el" - }, - "reportError": { - "message": "S'ha produït un error en intentar carregar l'informe. Torneu-ho a provar" - }, - "billing": { - "message": "Facturació" - }, - "accountCredit": { - "message": "Compte de crèdit", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Saldo del compte", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Afegeix crèdit", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Quantitat", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "El crèdit afegit apareixerà al vostre compte després que el pagament haja estat totalment processat. Alguns mètodes de pagament es retardarden i poden trigar més en processar-se que altres." - }, - "makeSureEnoughCredit": { - "message": "Assegureu-vos que el compte tinga suficient crèdit disponible per a aquesta compra. Si no té suficient crèdit, el mètode de pagament predeterminat en el fitxer s'utilitzarà per la diferència. Podeu afegir crèdit al vostre compte des de la pàgina de facturació." - }, - "creditAppliedDesc": { - "message": "El crèdit del vostre compte es pot utilitzar per fer compres. Qualsevol crèdit disponible s'aplicarà automàticament a les factures generades." - }, - "goPremium": { - "message": "Fes-te Premium", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "Heu actualitzat a la versió premium." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Actualitzeu el vostre compte a una subscripció premium i desbloquegeu algunes característiques addicionals excel·lents." - }, - "premiumSignUpStorage": { - "message": "1 GB d'emmagatzematge xifrat per als fitxers adjunts." - }, - "premiumSignUpTwoStep": { - "message": "Opcions addicionals d'inici de sessió en dues passes com ara YubiKey, FIDO U2F i Duo." - }, - "premiumSignUpReports": { - "message": "Requisits d'higiene de la contrasenya, salut del compte i informe d'infraccions de dades per mantenir la seguretat de la vostra caixa forta." - }, - "premiumSignUpTotp": { - "message": "Generador de codi de verificació TOTP (2FA) per a inici de sessió a la vostra caixa forta." - }, - "premiumSignUpSupport": { - "message": "Prioritat d'atenció al client." - }, - "premiumSignUpFuture": { - "message": "Totes les funcions premium futures. Aviat, més!" - }, - "premiumPrice": { - "message": "Tot per només $PRICE$ /any!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Complements" - }, - "premiumAccess": { - "message": "Accés premium" - }, - "premiumAccessDesc": { - "message": "Podeu afegir accés premium a tots els membres de la vostra organització per $PRICE$/$INTERVAL$.\n \n", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Emmagatzematge suplementari (GB)" - }, - "additionalStorageGbDesc": { - "message": "# de GB addicionals" - }, - "additionalStorageIntervalDesc": { - "message": "El vostre pla inclou $SIZE$ d'emmagatzematge encriptat de fitxers. Podeu afegir un emmagatzematge addicional per a $PRICE$ per GB/$INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Resum" - }, - "total": { - "message": "Total" - }, - "year": { - "message": "any" - }, - "month": { - "message": "mes" - }, - "monthAbbr": { - "message": "mes.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "El mètode de pagament es cobrarà de manera immediata i després de forma recurrent cada any. Podeu cancel·lar-ho en qualsevol moment." - }, - "paymentCharged": { - "message": "El mètode de pagament es cobrarà immediatament i després de forma recurrent, cada $INTERVAL$. Podeu cancel·lar-ho en qualsevol moment.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "El vostre pla inclou una prova gratuïta de 7 dies. El mètode de pagament no es cobrarà fins que no s'haja acabat la prova. La facturació es farà de manera recurrent cada $INTERVAL$. Podeu cancel·lar-ho en qualsevol moment.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Informació de pagament" - }, - "billingInformation": { - "message": "Informació de facturació" - }, - "creditCard": { - "message": "Targeta de crèdit" - }, - "paypalClickSubmit": { - "message": "Feu clic al botó de PayPal per iniciar sessió al vostre compte i, a continuació, feu clic al botó Envia per continuar." - }, - "cancelSubscription": { - "message": "Cancel·la la subscripció" - }, - "subscriptionCanceled": { - "message": "S'ha cancel·lat la subscripció." - }, - "pendingCancellation": { - "message": "Pendent de cancel·lació" - }, - "subscriptionPendingCanceled": { - "message": "La subscripció s'ha marcat per cancel·lació al final del període de facturació actual." - }, - "reinstateSubscription": { - "message": "Reinicia la subscripció" - }, - "reinstateConfirmation": { - "message": "Esteu segur que voleu eliminar la sol·licitud de cancel·lació pendent i restablir la vostra subscripció?" - }, - "reinstated": { - "message": "S'ha restablert la subscripció." - }, - "cancelConfirmation": { - "message": "Esteu segur que voleu cancel·lar? Perdreu l'accés a totes les característiques d'aquesta subscripció al final d'aquest cicle de facturació." - }, - "canceledSubscription": { - "message": "S'ha cancel·lat la subscripció." - }, - "neverExpires": { - "message": "No caduca mai" - }, - "status": { - "message": "Estat" - }, - "nextCharge": { - "message": "Càrrec següent" - }, - "details": { - "message": "Detall" - }, - "downloadLicense": { - "message": "Baixa la llicència" - }, - "updateLicense": { - "message": "Actualitza la llicència" - }, - "updatedLicense": { - "message": "Llicència actualitzada" - }, - "manageSubscription": { - "message": "Administra la subscripció" - }, - "storage": { - "message": "Emmagatzematge" - }, - "addStorage": { - "message": "Afegeix emmagatzematge" - }, - "removeStorage": { - "message": "Suprimeix emmagatzematge" - }, - "subscriptionStorage": { - "message": "La vostra subscripció té un total de $MAX_STORAGE$ GB d'emmagatzematge xifrat de fitxers. Esteu utilitzant $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Mètode de pagament" - }, - "noPaymentMethod": { - "message": "No hi ha cap mètode de pagament en el fitxer." - }, - "addPaymentMethod": { - "message": "Afegir Mètode de Pagament" - }, - "changePaymentMethod": { - "message": "Canvia la forma de pagament" - }, - "invoices": { - "message": "Factures" - }, - "noInvoices": { - "message": "Cap factura." - }, - "paid": { - "message": "Pagat", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Pendent de pagament", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Transaccions", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "Cap transacció." - }, - "chargeNoun": { - "message": "Càrrecs", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Reemborsament", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Qualsevol càrrec apareixerà a la vostra declaració com a $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "GB d'emmagatzematge a afegir" - }, - "gbStorageRemove": { - "message": "GB d'emmagatzematge a suprimir" - }, - "storageAddNote": { - "message": "L'addició d'emmagatzematge generarà ajustos al total de facturació i carregarà immediatament el vostre mètode de pagament al fitxer. El primer càrrec serà prorratejat per a la resta del cicle de facturació actual." - }, - "storageRemoveNote": { - "message": "Si elimineu l'emmagatzematge, es generaran ajustos al total de facturació que es prorratejaran com a crèdits per al vostre càrrec de facturació següent." - }, - "adjustedStorage": { - "message": "S'han ajustat $AMOUNT$ GB d'emmagatzematge.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Contacteu amb atenció al client" - }, - "updatedPaymentMethod": { - "message": "Mètode de pagament actualitzat." - }, - "purchasePremium": { - "message": "Compra Premium" - }, - "licenseFile": { - "message": "Fitxer de llicència" - }, - "licenseFileDesc": { - "message": "El vostre fitxer de llicència s'anomenarà $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "Per actualitzar el vostre compte a una subscripció premium, cal carregar un fitxer de llicència vàlid." - }, - "uploadLicenseFileOrg": { - "message": "Per crear una organització en allotjament propi cal carregar un fitxer de llicència vàlid." - }, - "accountEmailMustBeVerified": { - "message": "L'adreça de correu electrònic del vostre compte s'ha de verificar." - }, - "newOrganizationDesc": { - "message": "Les organitzacions us permeten compartir parts de la vostra caixa forta amb altres persones i gestionar usuaris relacionats amb una entitat específica, com ara una família, un equip menut o una empresa gran." - }, - "generalInformation": { - "message": "Informació general" - }, - "organizationName": { - "message": "Nom de l'organització" - }, - "accountOwnedBusiness": { - "message": "Aquest compte és propietat d'una empresa." - }, - "billingEmail": { - "message": "Correu electrònic de facturació" - }, - "businessName": { - "message": "Nom comercial" - }, - "chooseYourPlan": { - "message": "Trieu el vostre pla" - }, - "users": { - "message": "Usuaris" - }, - "userSeats": { - "message": "Reserves d'usuari" - }, - "additionalUserSeats": { - "message": "Reserves d'usuari addicionals" - }, - "userSeatsDesc": { - "message": "# de reserves d'usuari" - }, - "userSeatsAdditionalDesc": { - "message": "El vostre pla inclou reserves d'usuari de $BASE_SEATS$. Podeu afegir usuaris addicionals per $SEAT_PRICE$ per usuari/mes.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "Quantes reserves d'usuari necessiteu? També podeu afegir reserves addicionals més endavant, si és necessari." - }, - "planNameFree": { - "message": "Gratuït", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "Per a usuaris de prova o personals, permet compartir amb $COUNT$ altres usuaris.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Famílies" - }, - "planDescFamilies": { - "message": "Per a ús personal, per compartir amb familiars i amics." - }, - "planNameTeams": { - "message": "Equips" - }, - "planDescTeams": { - "message": "Per a empreses i altres equips organitzats." - }, - "planNameEnterprise": { - "message": "Empresa" - }, - "planDescEnterprise": { - "message": "Per a empreses i altres grans organitzacions." - }, - "freeForever": { - "message": "Gratuït per sempre" - }, - "includesXUsers": { - "message": "inclou $COUNT$ usuaris", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Usuaris addicionals" - }, - "costPerUser": { - "message": "$COST$ per usuari", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Limitat a $COUNT$ usuaris (vosaltres inclosos)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Limitat a $COUNT$ col·leccions", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Afegiu i compartiu fins a $COUNT$ usuaris", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Afegiu i compartiu amb usuaris il·limitats" - }, - "createUnlimitedCollections": { - "message": "Crea col·leccions il·limitades" - }, - "gbEncryptedFileStorage": { - "message": "Emmagatzematge de fitxers xifrat de $SIZE$", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "Allotjament propi (opcional)" - }, - "usersGetPremium": { - "message": "Els usuaris aconsegueixen accés a característiques de membres premium" - }, - "controlAccessWithGroups": { - "message": "Controla l'accés dels usuaris amb grups" - }, - "syncUsersFromDirectory": { - "message": "Sincronitza els usuaris i grups d'un directori" - }, - "trackAuditLogs": { - "message": "Fes el seguiment de les accions de l'usuari amb registres d'auditoria" - }, - "enforce2faDuo": { - "message": "Reforça 2FA amb Duo" - }, - "priorityCustomerSupport": { - "message": "Atenció al client prioritària" - }, - "xDayFreeTrial": { - "message": "Prova gratuïta de $COUNT$ dies, cancel·leu-la en qualsevol moment", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Mensual" - }, - "annually": { - "message": "Annual" - }, - "basePrice": { - "message": "Preu base" - }, - "organizationCreated": { - "message": "S'ha creat l'organització" - }, - "organizationReadyToGo": { - "message": "La vostra organització nova està preparada per començar!" - }, - "organizationUpgraded": { - "message": "S'ha actualitzat la vostra organització." - }, - "leave": { - "message": "Abandona" - }, - "leaveOrganizationConfirmation": { - "message": "Esteu segur que voleu abandonar aquesta organització?" - }, - "leftOrganization": { - "message": "Heu deixat l'organització." - }, - "defaultCollection": { - "message": "Col·lecció per defecte" - }, - "getHelp": { - "message": "Obteniu ajuda" - }, - "getApps": { - "message": "Aconseguiu aplicacions" - }, - "loggedInAs": { - "message": "Has iniciat sessió com" - }, - "eventLogs": { - "message": "Registre d'esdeveniments" - }, - "people": { - "message": "Persones" - }, - "policies": { - "message": "Polítiques" - }, - "editPolicy": { - "message": "Edita la política" - }, - "groups": { - "message": "Grups" - }, - "newGroup": { - "message": "Grup nou" - }, - "addGroup": { - "message": "Afegeix un grup" - }, - "editGroup": { - "message": "Edita el grup" - }, - "deleteGroupConfirmation": { - "message": "Esteu segur que voleu suprimir aquest grup?" - }, - "removeUserConfirmation": { - "message": "Esteu segur que voleu suprimir aquest usuari?" - }, - "externalId": { - "message": "Id extern" - }, - "externalIdDesc": { - "message": "L'identificador extern es pot utilitzar com a referència o enllaçar aquest recurs a un sistema extern, com ara un directori d'usuari." - }, - "accessControl": { - "message": "Control d'accés" - }, - "groupAccessAllItems": { - "message": "Aquest grup pot accedir i modificar tots els elements." - }, - "groupAccessSelectedCollections": { - "message": "Aquest grup només pot accedir a les col·leccions seleccionades." - }, - "readOnly": { - "message": "Només de lectura" - }, - "newCollection": { - "message": "Col·lecció nova" - }, - "addCollection": { - "message": "Afegeix col·lecció" - }, - "editCollection": { - "message": "Edita col·lecció" - }, - "deleteCollectionConfirmation": { - "message": "Esteu segur que voleu suprimir aquesta col·lecció?" - }, - "editUser": { - "message": "Edita usuari" - }, - "inviteUser": { - "message": "Convida usuari" - }, - "inviteUserDesc": { - "message": "Convida un nou usuari a la vostra organització introduint l'adreça electrònica del compte de Bitwarden a continuació. Si encara no tenen un compte de Bitwarden, se us demanarà que creeu un compte nou." - }, - "inviteMultipleEmailDesc": { - "message": "Podeu convidar fins a $COUNT$ usuaris alhora separant per comes les adreces de correu electrònic.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "Aquest usuari fa servir l'inici de sessió en dues passes per protegir el seu compte." - }, - "userAccessAllItems": { - "message": "Aquest usuari pot accedir i modificar tots els elements." - }, - "userAccessSelectedCollections": { - "message": "Aquest usuari només pot accedir a les col·leccions seleccionades." - }, - "search": { - "message": "Cerca" - }, - "invited": { - "message": "Convidat" - }, - "accepted": { - "message": "Acceptat" - }, - "confirmed": { - "message": "Confirmat" - }, - "owner": { - "message": "Propietari" - }, - "ownerDesc": { - "message": "L'usuari d'accés més elevat que pot gestionar tots els aspectes de la vostra organització." - }, - "admin": { - "message": "Administrador" - }, - "adminDesc": { - "message": "Els administradors poden accedir i gestionar tots els elements, col·leccions i usuaris de la vostra organització." - }, - "user": { - "message": "Usuari" - }, - "userDesc": { - "message": "Un usuari habitual amb accés a les col·leccions assignades a la vostra organització." - }, - "manager": { - "message": "Gestor" - }, - "managerDesc": { - "message": "Els gestors poden accedir i gestionar les col·leccions assignades a la vostra organització." - }, - "all": { - "message": "Tot" - }, - "refresh": { - "message": "Actualitza" - }, - "timestamp": { - "message": "Data i hora" - }, - "event": { - "message": "Esdeveniment" - }, - "unknown": { - "message": "Desconegut" - }, - "loadMore": { - "message": "Carrega'n més" - }, - "mobile": { - "message": "Mòbil", - "description": "Mobile app" - }, - "extension": { - "message": "Extensió", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Escriptori", - "description": "Desktop app" - }, - "webVault": { - "message": "Caixa forta web" - }, - "loggedIn": { - "message": "Heu iniciat sessió." - }, - "changedPassword": { - "message": "S'ha canviat la contrasenya del compte." - }, - "enabledUpdated2fa": { - "message": "Inici de sessió en dues passes habilitat/actualitzat." - }, - "disabled2fa": { - "message": "S'ha deshabilitat l'inici de sessió en dues passes." - }, - "recovered2fa": { - "message": "S'ha recuperat el compte des de l'inici de sessió en dues passes." - }, - "failedLogin": { - "message": "S'ha produït un error d'inici de sessió amb una contrasenya incorrecta." - }, - "failedLogin2fa": { - "message": "S'ha produït un error amb un inici de sessió en dues passes incorrecte." - }, - "exportedVault": { - "message": "Caixa forta exportada." - }, - "exportedOrganizationVault": { - "message": "Caixa forta de l’organització exportada." - }, - "editedOrgSettings": { - "message": "S'ha editat la configuració de l'organització." - }, - "createdItemId": { - "message": "S'ha creat l'element $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "S'ha editat l'element $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Element $ID$ enviat a la paperera.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "S'ha compartit l'element $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "$ID$ de l'element vist.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Contrasenya visualitzada de l'article $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Camp ocult vist de l’element $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Codi de seguretat vist de l’element $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "S'ha copiat la contrasenya de l'element $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "S'ha copiat el camp ocult de l’element $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "S'ha copiat el codi de seguretat de l’element $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Element $ID$ emplenat automàticament.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "S'ha creat la col·lecció $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "S'ha editat la col·lecció $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "S'ha suprimit la col·lecció $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Política $ID$ editada.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "S'ha creat el grup $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "S'ha editat el grup $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "S'ha suprimit el grup $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "S'ha suprimit l'usuari $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "S'ha creat el fitxer adjunt per l'element $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "S'ha suprimit el fitxer adjunt per l'element $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "S'han editat les col·leccions per a l'element $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "S'ha convidat a l'usuari $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "S'ha confirmat l'usuari $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "S'ha editat l'usuari $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "S'han editat grups de l'usuari $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "SSO sense enllaçar per a l'usuari $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Dispositiu" - }, - "view": { - "message": "Mostra" - }, - "invalidDateRange": { - "message": "Període de data no vàlid." - }, - "errorOccurred": { - "message": "S'ha produït un error." - }, - "userAccess": { - "message": "Accés d'usuari" - }, - "userType": { - "message": "Tipus d'usuari" - }, - "groupAccess": { - "message": "Accés de grup" - }, - "groupAccessUserDesc": { - "message": "Editeu els grups als quals pertany aquest usuari." - }, - "invitedUsers": { - "message": "Usuaris convidats." - }, - "resendInvitation": { - "message": "Tornar a enviar invitació" - }, - "hasBeenReinvited": { - "message": "S'ha reconvidat a $USER$.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Confirma" - }, - "confirmUser": { - "message": "Confirma usuari" - }, - "hasBeenConfirmed": { - "message": "S'ha confirmat a $USER$.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Confirma usuaris" - }, - "usersNeedConfirmed": { - "message": "Teniu usuaris que han acceptat la seua invitació, però encara cal confirmar-la. Els usuaris no tindran accés a l'organització fins que estiguen confirmats." - }, - "startDate": { - "message": "Data d'inici" - }, - "endDate": { - "message": "Data de finalització" - }, - "verifyEmail": { - "message": "Comproveu el correu electrònic" - }, - "verifyEmailDesc": { - "message": "Verifiqueu l'adreça de correu electrònic del vostre compte per desbloquejar l'accés a totes les característiques." - }, - "verifyEmailFirst": { - "message": "S'ha de verificar primer l'adreça electrònica del vostre compte." - }, - "checkInboxForVerification": { - "message": "Consulteu la safata d'entrada del correu electrònic per obtenir un enllaç de verificació." - }, - "emailVerified": { - "message": "S'ha verificat el vostre correu electrònic." - }, - "emailVerifiedFailed": { - "message": "No es pot verificar el vostre correu electrònic. Proveu d'enviar un nou correu electrònic de verificació." - }, - "updateBrowser": { - "message": "Actualitza el navegador" - }, - "updateBrowserDesc": { - "message": "Esteu utilitzant un navegador web no compatible. La caixa forta web pot no funcionar correctament." - }, - "joinOrganization": { - "message": "Uneix-te a l'organització" - }, - "joinOrganizationDesc": { - "message": "Heu estat convidat a unir-vos a l'organització llistada més amunt. Per acceptar la invitació, heu d'iniciar sessió o crear un compte nou a Bitwarden." - }, - "inviteAccepted": { - "message": "Invitació acceptada" - }, - "inviteAcceptedDesc": { - "message": "Podeu accedir a aquesta organització una vegada que un administrador confirme la vostra pertinença. Rebreu un correu electrònic quan això passe." - }, - "inviteAcceptFailed": { - "message": "No es pot acceptar la invitació. Demaneu a l'administrador d'una organització que envie una invitació nova." - }, - "inviteAcceptFailedShort": { - "message": "No es pot acceptar la invitació. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Recorda el correu electronic" - }, - "recoverAccountTwoStepDesc": { - "message": "Si no podeu accedir al vostre compte a través dels vostres mètodes d'inici de sessió de dues passes, podeu utilitzar el codi de recuperació de l'inici de sessió en dues passes per desactivar tots els proveïdors del vostre compte." - }, - "recoverAccountTwoStep": { - "message": "Recupera l'inici de sessió en dues passes del compte" - }, - "twoStepRecoverDisabled": { - "message": "S'ha inhabilitat l'inici de sessió en dues passes al vostre compte." - }, - "learnMore": { - "message": "Més informació" - }, - "deleteRecoverDesc": { - "message": "Introduïu la vostra adreça de correu electrònic a continuació per recuperar i eliminar el vostre compte." - }, - "deleteRecoverEmailSent": { - "message": "Si el vostre compte existeix, rebreu un correu electrònic amb més instruccions." - }, - "deleteRecoverConfirmDesc": { - "message": "Heu sol·licitat suprimir el compte de Bitwarden. Feu clic al botó seguüent per confirmar-ho." - }, - "myOrganization": { - "message": "La meua organització" - }, - "deleteOrganization": { - "message": "Suprimeix l'organització" - }, - "deleteOrganizationDesc": { - "message": "Procediu a eliminar aquesta organització i totes les dades associades. Els comptes d'usuari individuals es mantindran, encara que ja no hi estaran associats. " - }, - "deleteOrganizationWarning": { - "message": "La supressió de l'organització és permanent. No es pot desfer." - }, - "organizationDeleted": { - "message": "S'ha suprimit l'organització" - }, - "organizationDeletedDesc": { - "message": "S'ha suprimit l'organització i totes les dades associades." - }, - "organizationUpdated": { - "message": "S'ha actualitzat l'organització" - }, - "taxInformation": { - "message": "Informació fiscal" - }, - "taxInformationDesc": { - "message": "Poseu-vos en contacte amb el servei d'assistència per proporcionar-vos (o actualitzar) la informació fiscal de les vostres factures." - }, - "billingPlan": { - "message": "Pla", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Canvi de pla", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Actualitzeu el compte a un altre pla proporcionant la informació següent. Assegureu-vos que heu afegit un mètode de pagament actiu al compte.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Poseu-vos en contacte amb l'assistència al client si voleu canviar el vostre pla. Assegureu-vos que heu afegit un mètode de pagament actiu al compte.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Factura #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "Visualitza factura" - }, - "downloadInvoice": { - "message": "Baixa factura" - }, - "verifyBankAccount": { - "message": "Comproveu compte" - }, - "verifyBankAccountDesc": { - "message": "Hem realitzat dos dipòsits en el vostre compte bancari (pot tardar entre 1-2 dies laborables). Introduïu aquests imports per verificar el compte bancari." - }, - "verifyBankAccountInitialDesc": { - "message": "El pagament amb un compte bancari només està disponible per als clients dels Estats Units. Se us demanarà que verifiqueu el vostre compte bancari. Realitzarem dos micro-dipòsits en els pròxims 1-2 dies laborables. Introduïu aquests imports a la pàgina de facturació de l'organització per verificar el compte bancari." - }, - "verifyBankAccountFailureWarning": { - "message": "Si no es verifica el compte bancari, es produirà un pagament perdut i la vostra subscripció s'inhabilitarà." - }, - "verifiedBankAccount": { - "message": "S'ha verificat el compte bancari." - }, - "bankAccount": { - "message": "Compte bancari" - }, - "amountX": { - "message": "L'import $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Número d'encaminament", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Número de compte" - }, - "accountHolderName": { - "message": "Titular del compte" - }, - "bankAccountType": { - "message": "Tipus de compte" - }, - "bankAccountTypeCompany": { - "message": "Empresa (negocis)" - }, - "bankAccountTypeIndividual": { - "message": "Individual (Personal)" - }, - "enterInstallationId": { - "message": "Introduïu la vostra id d'instal·lació" - }, - "addSeats": { - "message": "Afegeix reserves", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Suprimeix llocs", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "La vostra subscripció permet un total de $COUNT$ usuaris.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Reserves a afegir" - }, - "seatsToRemove": { - "message": "Reserves a suprimir" - }, - "seatsAddNote": { - "message": "Si afegiu reserves d'usuari, es generaran ajustos al total de facturació i carregarem el mètode de pagament immediatament al fitxer. El primer càrrec serà prorratejat per a la resta del cicle de facturació actual." - }, - "seatsRemoveNote": { - "message": "Si suprimiut reserves d'usuari, es generaran ajustos al total de facturació que es prorratejaran com a crèdits per al vostre càrrec de facturació següent." - }, - "adjustedSeats": { - "message": "Ajustades $AMOUNT$ reserves d'usuari.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Clau actualitzada" - }, - "updateKeyTitle": { - "message": "Actualitza clau" - }, - "updateEncryptionKey": { - "message": "Actualitzeu la clau de xifratge" - }, - "updateEncryptionKeyShortDesc": { - "message": "Esteu fent servir un esquema de xifrage antiquat." - }, - "updateEncryptionKeyDesc": { - "message": "Hem canviat a claus de xifratge més grans que proporcionen una millor seguretat i accés a característiques més noves. L'actualització de la vostra clau de xifratge és ràpida i senzilla. Només cal que introduïu la vostra contrasenya mestra a continuació. Aquesta actualització es convertirà en obligatòria en qualsevol moment." - }, - "updateEncryptionKeyWarning": { - "message": "Després d'actualitzar la vostra clau de xifratge, heu de tancar la sessió i tornar a entrar a totes les aplicacions de Bitwarden que esteu utilitzant actualment (com ara l'aplicació mòbil o les extensions del navegador). Si no es tanca i torna a iniciar la sessió (la qual descarrega la vostra nova clau de xifratge) pot provocar corrupció en les dades. Intentarem registrar-vos automàticament, però, es pot retardar." - }, - "updateEncryptionKeyExportWarning": { - "message": "Totes les exportacions xifrades que hàgeu desat també seran no vàlides." - }, - "subscription": { - "message": "Subscripció" - }, - "loading": { - "message": "S'està carregant" - }, - "upgrade": { - "message": "Actualitza" - }, - "upgradeOrganization": { - "message": "Actualitza l'organització" - }, - "upgradeOrganizationDesc": { - "message": "Aquesta característica no està disponible per a organitzacions gratuïtes. Canvieu a un pla de pagament per desbloquejar més característiques." - }, - "createOrganizationStep1": { - "message": "Crea l'organització: Pas 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Abans de crear l'organització, primer heu de crear un compte personal gratuït." - }, - "refunded": { - "message": "Reemborsat" - }, - "nothingSelected": { - "message": "No heu seleccionat res." - }, - "acceptPolicies": { - "message": "Si activeu aquesta casella, indiqueu que esteu d’acord amb el següent:" - }, - "acceptPoliciesError": { - "message": "No s’han reconegut les condicions del servei i la declaració de privadesa." - }, - "termsOfService": { - "message": "Condicions del servei" - }, - "privacyPolicy": { - "message": "Política de privacitat" - }, - "filters": { - "message": "Filtres" - }, - "vaultTimeout": { - "message": "Temps d'espera de la caixa forta" - }, - "vaultTimeoutDesc": { - "message": "Trieu quan es tancarà la vostra caixa forta i feu l'acció seleccionada." - }, - "oneMinute": { - "message": "1 minut" - }, - "fiveMinutes": { - "message": "5 Minuts" - }, - "fifteenMinutes": { - "message": "15 minuts" - }, - "thirtyMinutes": { - "message": "30 minuts" - }, - "oneHour": { - "message": "1 hora" - }, - "fourHours": { - "message": "4 hores" - }, - "onRefresh": { - "message": "En actualitzar el navegador" - }, - "dateUpdated": { - "message": "Actualitzat", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Contrasenya actualitzada", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "L'organització està inhabilitada." - }, - "licenseIsExpired": { - "message": "Llicència caducada." - }, - "updatedUsers": { - "message": "Actualitza usuaris" - }, - "selected": { - "message": "Seleccionat" - }, - "ownership": { - "message": "Propietat" - }, - "whoOwnsThisItem": { - "message": "Qui és propietari d'aquest element?" - }, - "strong": { - "message": "Forta", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Bona", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Poc segura", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Molt poc segura", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Contrasenya mestra poc segura" - }, - "weakMasterPasswordDesc": { - "message": "La contrasenya mestra que heu triat és poc segura. Heu d'utilitzar una contrasenya mestra segura (o una frase de pas) per protegir correctament el vostre compte de Bitwarden. Esteu segur que voleu utilitzar aquesta contrasenya mestra?" - }, - "rotateAccountEncKey": { - "message": "Rota també la clau de xifratge del meu compte" - }, - "rotateEncKeyTitle": { - "message": "Rota la clau de xifratge" - }, - "rotateEncKeyConfirmation": { - "message": "Esteu segur que voleu rotar la clau de xifratge del vostre compte?" - }, - "attachmentsNeedFix": { - "message": "Aquest element té fitxers adjunts antics que s'han de corregir." - }, - "attachmentFixDesc": { - "message": "Es tracta d'un arxiu adjunt antic que cal corregir. Feu clic per obtenir més informació." - }, - "fix": { - "message": "Corregeix", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "Hi ha arxius adjunts antics a la vostra caixa forta que s'han de corregir abans de poder rotar la clau de xifratge del vostre compte." - }, - "yourAccountsFingerprint": { - "message": "Frase d'empremta digital del vostre compte", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "Per assegurar la integritat de les vostres claus de xifratge, comproveu la frase de l'empremta digital de l'usuari abans de continuar.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "No sol·liciteu tornar a comprovar la frase de les empremtes dactilars", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Gratuït", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "Clau de l'API" - }, - "apiKeyDesc": { - "message": "La vostra clau API es pot utilitzar per autenticar-se a l'API pública de Bitwarden." - }, - "apiKeyRotateDesc": { - "message": "La rotació de la clau de l'API invalidarà la clau anterior. Podeu rotar la clau d'API si creu que la clau actual ja no és segura d'utilitzar." - }, - "apiKeyWarning": { - "message": "La clau de l'API té accés total a l'organització. S'ha de mantenir en secret." - }, - "userApiKeyDesc": { - "message": "La vostra clau API es pot utilitzar per autenticar-se al CLI de Bitwarden." - }, - "userApiKeyWarning": { - "message": "La vostra clau API és un mecanisme d'autenticació alternatiu. S’ha de mantenir en secret." - }, - "oauth2ClientCredentials": { - "message": "Credencials de client OAuth 2.0", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "Mostra clau de l'API" - }, - "rotateApiKey": { - "message": "Rota la clau de l'API" - }, - "selectOneCollection": { - "message": "Heu d'escollir com a mínim una col·lecció." - }, - "couldNotChargeCardPayInvoice": { - "message": "No hem pogut carregar la vostra targeta. Consulteu i pagueu la factura pendent que es mostra a continuació." - }, - "inAppPurchase": { - "message": "Compra integrada a l'aplicació" - }, - "cannotPerformInAppPurchase": { - "message": "No podeu realitzar aquesta acció mentre feu servir un mètode de pagament de compra a l’aplicació." - }, - "manageSubscriptionFromStore": { - "message": "Heu de gestionar la vostra subscripció des de la botiga on s’ha realitzat la compra a l’aplicació." - }, - "minLength": { - "message": "Longitud mínima" - }, - "clone": { - "message": "Clona" - }, - "masterPassPolicyDesc": { - "message": "Estableix els requisits mínims per al nivell de seguretat de la contrasenya principal." - }, - "twoStepLoginPolicyDesc": { - "message": "Requereix que els usuaris configuren l’inici de sessió en dues passes als seus comptes personals." - }, - "twoStepLoginPolicyWarning": { - "message": "Els membres de l’organització que no tinguen activat l’inici de sessió en dues passes per al seu compte personal s'eliminaran de l’organització i rebran un correu electrònic que els notificarà sobre el canvi." - }, - "twoStepLoginPolicyUserWarning": { - "message": "Eres membre d’una organització que necessita l’inici de sessió en dues passes per estar habilitat al vostre compte d’usuari. Si desactiveu tots els proveïdors d’inici de sessió en dues passes, sereu eliminats automàticament d’aquestes organitzacions." - }, - "passwordGeneratorPolicyDesc": { - "message": "Estableix els requisits mínims per a la configuració del generador de contrasenyes." - }, - "passwordGeneratorPolicyInEffect": { - "message": "Una o més polítiques d’organització afecten la configuració del generador." - }, - "masterPasswordPolicyInEffect": { - "message": "Una o més polítiques d’organització requereixen que la vostra contrasenya principal complisca els requisits següents:" - }, - "policyInEffectMinComplexity": { - "message": "Puntuació mínima de complexitat de $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Longitud mínima de $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Conté un o més caràcters en majúscula" - }, - "policyInEffectLowercase": { - "message": "Conté un o més caràcters en minúscula" - }, - "policyInEffectNumbers": { - "message": "Conté un o més números" - }, - "policyInEffectSpecial": { - "message": "Conté un o més dels següents caràcters especials $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "La nova contrasenya principal no compleix els requisits de la política." - }, - "minimumNumberOfWords": { - "message": "Número mínim de paraules" - }, - "defaultType": { - "message": "Tipus per defecte" - }, - "userPreference": { - "message": "Preferència d'usuari" - }, - "vaultTimeoutAction": { - "message": "Acció del temps d'espera de la caixa forta" - }, - "vaultTimeoutActionLockDesc": { - "message": "Una caixa forta bloquejada requereix que torneu a introduir la contrasenya principal per accedir-ne de nou." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "Una caixa forta desconnectada requereix que torneu a autentificar-vos per accedir-hi de nou." - }, - "lock": { - "message": "Bloqueja", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Paperera", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Cerca a la paperera" - }, - "permanentlyDelete": { - "message": "Suprimeix definitivament" - }, - "permanentlyDeleteSelected": { - "message": "Suprimeix definitivament la selecció" - }, - "permanentlyDeleteItem": { - "message": "Suprimeix definitivament l'element" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Esteu segur que voleu suprimir aquest element definitivament?" - }, - "permanentlyDeletedItem": { - "message": "Element suprimit definitivament" - }, - "permanentlyDeletedItems": { - "message": "Elements suprimits definitivament" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "Heu seleccionat $COUNT$ elements per suprimir definitivament. Esteu segur que voleu suprimir definitivament tots aquests elements?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Element $ID$ suprimit definitivament.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Restaura" - }, - "restoreSelected": { - "message": "Restaura selecció" - }, - "restoreItem": { - "message": "Restaura l'element" - }, - "restoredItem": { - "message": "Element restaurat" - }, - "restoredItems": { - "message": "Elements restaurats" - }, - "restoreItemConfirmation": { - "message": "Esteu segur que voleu restaurar aquest element?" - }, - "restoreItems": { - "message": "Restaura elements" - }, - "restoreSelectedItemsDesc": { - "message": "Heu seleccionat $COUNT$ elements per restaurar. Esteu segur que voleu restaurar tots aquests elements?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Element $ID$ restaurat.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "En tancar la sessió s'eliminarà tot l'accés a la vostra caixa forta i es requerirà una autenticació en línia després del període de temps d'espera. Esteu segur que voleu utilitzar aquesta configuració?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Confirmació de l’acció de temps d'espera de la caixa forta" - }, - "hidePasswords": { - "message": "Amaga contrasenyes" - }, - "countryPostalCodeRequiredDesc": { - "message": "Necessitem aquesta informació només per calcular l’impost de vendes i els informes financers." - }, - "includeVAT": { - "message": "Incloure informació sobre l'IVA i GST (opcional)" - }, - "taxIdNumber": { - "message": "ID de l'impost IVA/GST" - }, - "taxInfoUpdated": { - "message": "Informació fiscal actualitzada." - }, - "setMasterPassword": { - "message": "Estableix la contrasenya mestra" - }, - "ssoCompleteRegistration": { - "message": "Per completar la sessió amb SSO, configureu una contrasenya mestra per accedir i protegir la vostra caixa forta." - }, - "identifier": { - "message": "Identificador" - }, - "organizationIdentifier": { - "message": "Identificador d’organització" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Inicieu la sessió ràpidament mitjançant el portal d'inici de sessió únic de la vostra organització. Introduïu l'identificador de la vostra organització per començar." - }, - "enterpriseSingleSignOn": { - "message": "Inici de sessió únic d'empresa" - }, - "ssoHandOff": { - "message": "Ara podeu tancar aquesta pestanya i continuar a l'extensió." - }, - "businessPortal": { - "message": "Portal empresarial", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "Característiques de tots els equips, a més de:" - }, - "includeSsoAuthentication": { - "message": "Autenticació SSO mitjançant SAML2.0 i OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Polítiques empresarials" - }, - "ssoValidationFailed": { - "message": "La validació SSO ha fallat" - }, - "ssoIdentifierRequired": { - "message": "Cal identificador d’organització." - }, - "unlinkSso": { - "message": "Desenllaça SSO" - }, - "linkSso": { - "message": "Enllaça SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "La configuració de la política s'ha desplaçat i aquesta pàgina quedarà obsoleta aviat. Feu clic a continuació per utilitzar la pàgina de polítiques del portal empresarial." - }, - "singleOrg": { - "message": "Organització única" - }, - "singleOrgDesc": { - "message": "Restringeix els usuaris perquè no puguen unir-se a qualsevol altra organització." - }, - "singleOrgBlockCreateMessage": { - "message": "La vostra organització actual té una política que no us permet unir-vos a més d'una organització. Poseu-vos en contacte amb els administradors de la vostra organització o registreu-vos des d’un altre compte de Bitwarden." - }, - "singleOrgPolicyWarning": { - "message": "Els membres que no siguen propietaris ni administradors i que ja siguen membres d'una altra organització se suprimiran de la vostra organització." - }, - "requireSso": { - "message": "Autenticació d'inici de sessió únic" - }, - "requireSsoPolicyDesc": { - "message": "Sol·liciteu als usuaris que inicien la sessió amb el mètode d’inici de sessió únic de l’empresa." - }, - "prerequisite": { - "message": "Requisit previ" - }, - "requireSsoPolicyReq": { - "message": "La política empresarial d'una organització única s'ha d'activar abans d'activar aquesta política." - }, - "requireSsoPolicyReqError": { - "message": "La política d'una única organització no està habilitada." - }, - "requireSsoExemption": { - "message": "Els propietaris i administradors d’organitzacions estan exempts de fer complir aquesta política." - }, - "sendTypeFile": { - "message": "Fitxer" - }, - "sendTypeText": { - "message": "Text" - }, - "createSend": { - "message": "Crea un nou Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Edita Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Send creat", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Send editat", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Send suprimit", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Suprimeix el Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Esteu segur que voleu suprimir aquest Send?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "Quin tipus de Send és aquest?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Data de supressió" - }, - "deletionDateDesc": { - "message": "L'enviament se suprimirà permanentment a la data i hora especificades.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Data de venciment" - }, - "expirationDateDesc": { - "message": "Si s'estableix, l'accés a aquest enviament caducarà en la data i hora especificades.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Recompte màxim d'accés" - }, - "maxAccessCountDesc": { - "message": "Si s’estableix, els usuaris ja no podran accedir a aquest enviament una vegada s’assolisca el nombre màxim d’accessos.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Recompte d’accés actual" - }, - "sendPasswordDesc": { - "message": "Opcionalment, necessiteu una contrasenya perquè els usuaris accedisquen a aquest enviament.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Notes privades sobre aquest enviament.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Deshabilitat" - }, - "sendLink": { - "message": "Enllaç Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Copia l'enllaç Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Suprimeix la contrasenya" - }, - "removedPassword": { - "message": "Contrasenya suprimida" - }, - "removePasswordConfirmation": { - "message": "Esteu segur que voleu suprimir la contrasenya?" - }, - "disableThisSend": { - "message": "Desactiveu aquest enviament perquè ningú no hi puga accedir.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "Tots els Send" - }, - "maxAccessCountReached": { - "message": "S'ha assolit el recompte màxim d'accesos" - }, - "pendingDeletion": { - "message": "Pendent de supressió" - }, - "expired": { - "message": "Caducat" - }, - "searchSends": { - "message": "Cerca Sends", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "Aquest Send està protegit amb una contrasenya. Escriviu la contrasenya següent per continuar.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "No sabeu la contrasenya? Demaneu al remitent la contrasenya necessària per accedir a aquest Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "Aquest Send està ocult per defecte. Podeu canviar la seua visibilitat mitjançant el botó següent.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Baixa el fitxer" - }, - "sendAccessUnavailable": { - "message": "L'enviament al qual intenteu accedir no existeix o ja no està disponible.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "No hi ha cap Send a llistar.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Accés d’emergència" - }, - "emergencyAccessDesc": { - "message": "Concediu i gestioneu l'accés d'emergència per a contactes de confiança. Els contactes de confiança poden sol·licitar accés per Visualitzar o Adquirir el vostre compte en cas d’emergència. Visiteu la nostra pàgina d’ajuda per obtenir més informació i detalls sobre com funciona l’intercanvi de coneixement zero." - }, - "trustedEmergencyContacts": { - "message": "Contactes d’emergència de confiança" - }, - "noTrustedContacts": { - "message": "Encara no heu afegit cap contacte d’emergència, convideu un contacte de confiança per començar." - }, - "addEmergencyContact": { - "message": "Afig un contacte d’emergència" - }, - "designatedEmergencyContacts": { - "message": "Designat com a contacte d’emergència" - }, - "noGrantedAccess": { - "message": "Encara no heu sigut designats com a contacte d'emergència per a ningú." - }, - "inviteEmergencyContact": { - "message": "Convida un contacte d’emergència" - }, - "editEmergencyContact": { - "message": "Edita un contacte d’emergència" - }, - "inviteEmergencyContactDesc": { - "message": "Per convidar un contacte d’emergència nou, introduïu l'adreça de correu electrònic del seu compte Bitwarden a continuació. Si encara no tenen compte, se'ls demanarà que en creen un." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Accés d’emergència iniciat" - }, - "emergencyAccessRecoveryApproved": { - "message": "Accés d’emergència aprovat" - }, - "viewDesc": { - "message": "Pot veure tots els elements de la vostra caixa forta." - }, - "takeover": { - "message": "Prendre el control" - }, - "takeoverDesc": { - "message": "Pot restablir el vostre compte amb una nova contrasenya mestra." - }, - "waitTime": { - "message": "Temps d'espera" - }, - "waitTimeDesc": { - "message": "Temps necessari abans de concedir l'accés automàticament." - }, - "oneDay": { - "message": "1 dia" - }, - "days": { - "message": "$DAYS$ dies", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Usuari convidat." - }, - "acceptEmergencyAccess": { - "message": "Se us ha convidat a convertir-vos en un contacte d'emergència per a l'usuari indicat anteriorment. Per acceptar la invitació, heu d’iniciar sessió o crear un compte Bitwarden nou." - }, - "emergencyInviteAcceptFailed": { - "message": "No es pot acceptar la invitació. Demaneu a l'usuari que envie una invitació nova." - }, - "emergencyInviteAcceptFailedShort": { - "message": "No es pot acceptar la invitació. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "Podeu accedir a les opcions d’emergència d’aquest usuari després de confirmar la vostra identitat. Us enviarem un correu electrònic quan passe això." - }, - "requestAccess": { - "message": "Sol·liciteu accés" - }, - "requestAccessConfirmation": { - "message": "Esteu segur que voleu sol·licitar accés d'emergència? Se us proporcionarà accés després de $WAITTIME$ dies o sempre que l'usuari aprove la sol·licitud manualment.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "S'ha sol·licitat accés d'emergència per a $USER$. Us notificarem per correu electrònic quan siga possible continuar.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Aprova" - }, - "reject": { - "message": "Rebutja" - }, - "approveAccessConfirmation": { - "message": "Esteu segur que voleu aprovar l'accés d'emergència? Això permetrà a $USER$ a $ACTION$ el vostre compte.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Accés d’emergència aprovat." - }, - "emergencyRejected": { - "message": "Accés d’emergència rebutjat" - }, - "passwordResetFor": { - "message": "Restabliment de la contrasenya per a $USER$. Ara podeu iniciar la sessió amb la nova contrasenya.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Propietat personal" - }, - "personalOwnershipPolicyDesc": { - "message": "Sol·liciteu als usuaris que guarden elements de caixa forta a una organització suprimint l’opció de propietat personal." - }, - "personalOwnershipExemption": { - "message": "Els propietaris i administradors d’organitzacions estan exempts de fer complir aquesta política." - }, - "personalOwnershipSubmitError": { - "message": "A causa d'una política empresarial, no podeu guardar elements a la vostra caixa forta personal. Canvieu l'opció Propietat en organització i trieu entre les col·leccions disponibles." - }, - "modifiedPolicyId": { - "message": "Política modificada $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Preu del pla" - }, - "estimatedTax": { - "message": "Impost estimat" - }, - "custom": { - "message": "Personalitzat" - }, - "customDesc": { - "message": "Permet un control més granular dels permisos d'usuari per a configuracions avançades." - }, - "permissions": { - "message": "Permisos" - }, - "accessBusinessPortal": { - "message": "Accedeix al portal empresarial" - }, - "accessEventLogs": { - "message": "Registres d'esdeveniments dels accessos" - }, - "accessImportExport": { - "message": "Importació/exportació dels accessos" - }, - "accessReports": { - "message": "Informes d’accés" - }, - "manageAllCollections": { - "message": "Administra totes les col·leccions" - }, - "manageAssignedCollections": { - "message": "Administra les col·leccions assignades" - }, - "manageGroups": { - "message": "Administra els Grups" - }, - "managePolicies": { - "message": "Administra les Polítiques" - }, - "manageSso": { - "message": "Administra SSO" - }, - "manageUsers": { - "message": "Administra usuaris" - }, - "disableRequireSsoError": { - "message": "Per desactivar aquesta política, primer heu de desactivar manualment la política d’autenticació d’inici de sessió únic (SSO)." - }, - "personalOwnershipPolicyInEffect": { - "message": "Una política d’organització afecta les vostres opcions de propietat." - }, - "personalOwnershipCheckboxDesc": { - "message": "Desactiva la propietat personal per als usuaris de l'organització" - }, - "textHiddenByDefault": { - "message": "Quan accediu a Enviar, amaga el text per defecte", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/cs/messages.json b/locales/cs/messages.json deleted file mode 100644 index a34ce450..00000000 --- a/locales/cs/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "Webový trezor $APP_NAME$", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "O jaký typ položky se jedná?" - }, - "name": { - "message": "Název" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "Nová URI" - }, - "username": { - "message": "Uživatelské jméno" - }, - "password": { - "message": "Heslo" - }, - "newPassword": { - "message": "Nové heslo" - }, - "passphrase": { - "message": "Heslová fráze" - }, - "notes": { - "message": "Poznámky" - }, - "customFields": { - "message": "Vlastní pole" - }, - "cardholderName": { - "message": "Jméno držitele karty" - }, - "number": { - "message": "Číslo" - }, - "brand": { - "message": "Značka" - }, - "expiration": { - "message": "Expirace" - }, - "securityCode": { - "message": "Bezpečnostní kód (CVV)" - }, - "identityName": { - "message": "Název identity" - }, - "company": { - "message": "Firma" - }, - "ssn": { - "message": "Číslo sociálního pojištění" - }, - "passportNumber": { - "message": "Číslo cestovního pasu" - }, - "licenseNumber": { - "message": "Číslo dokladu totožnosti" - }, - "email": { - "message": "E-mail" - }, - "phone": { - "message": "Telefon" - }, - "january": { - "message": "Leden" - }, - "february": { - "message": "Únor" - }, - "march": { - "message": "Březen" - }, - "april": { - "message": "Duben" - }, - "may": { - "message": "Květen" - }, - "june": { - "message": "Červen" - }, - "july": { - "message": "Červenec" - }, - "august": { - "message": "Srpen" - }, - "september": { - "message": "Září" - }, - "october": { - "message": "Říjen" - }, - "november": { - "message": "Listopad" - }, - "december": { - "message": "Prosinec" - }, - "title": { - "message": "Oslovení" - }, - "mr": { - "message": "Pan" - }, - "mrs": { - "message": "Paní" - }, - "ms": { - "message": "Slečna" - }, - "dr": { - "message": "MUDr" - }, - "expirationMonth": { - "message": "Měsíc expirace" - }, - "expirationYear": { - "message": "Rok expirace" - }, - "authenticatorKeyTotp": { - "message": "Autentizační klíč (TOTP)" - }, - "folder": { - "message": "Složka" - }, - "newCustomField": { - "message": "Nové vlastní pole" - }, - "value": { - "message": "Hodnota" - }, - "dragToSort": { - "message": "Přetáhnutím seřadíte" - }, - "cfTypeText": { - "message": "Text" - }, - "cfTypeHidden": { - "message": "Skryté" - }, - "cfTypeBoolean": { - "message": "Ano/Ne" - }, - "remove": { - "message": "Smazat" - }, - "unassigned": { - "message": "Nepřiřazené" - }, - "noneFolder": { - "message": "Žádná složka", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Přidat složku" - }, - "editFolder": { - "message": "Upravit složku" - }, - "baseDomain": { - "message": "Základní doména" - }, - "host": { - "message": "Host", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Přesně" - }, - "startsWith": { - "message": "Začíná na" - }, - "regEx": { - "message": "Regulární výraz", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Zjišťování shody", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Výchozí", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Nikdy" - }, - "toggleVisibility": { - "message": "Přepnout viditelnost" - }, - "toggleCollapse": { - "message": "Přepnout sbalení", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Vygenerovat heslo" - }, - "checkPassword": { - "message": "Zkontrolujte, zda nedošlo k úniku hesla." - }, - "passwordExposed": { - "message": "K úniku tohoto hesla došlo celkem $VALUE$x. Měli byste jej změnit.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "K úniku tohoto hesla nedošlo v žádném ze známých případů. Mělo by být bezpečné používat jej i nadále." - }, - "save": { - "message": "Uložit" - }, - "cancel": { - "message": "Zrušit" - }, - "canceled": { - "message": "Zrušeno" - }, - "close": { - "message": "Zavřít" - }, - "delete": { - "message": "Smazat" - }, - "favorite": { - "message": "Oblíbené" - }, - "unfavorite": { - "message": "Odebrat z oblízených" - }, - "edit": { - "message": "Upravit" - }, - "searchCollection": { - "message": "Vyhledat v kolekci" - }, - "searchFolder": { - "message": "Vyhledat ve složce" - }, - "searchFavorites": { - "message": "Vyhledat v oblíbených" - }, - "searchType": { - "message": "Vyhledat v typu", - "description": "Search item type" - }, - "searchVault": { - "message": "Vyhledat v trezoru" - }, - "allItems": { - "message": "Všechny položky" - }, - "favorites": { - "message": "Oblíbené" - }, - "types": { - "message": "Typy" - }, - "typeLogin": { - "message": "Přihlášení" - }, - "typeCard": { - "message": "Karta" - }, - "typeIdentity": { - "message": "Identita" - }, - "typeSecureNote": { - "message": "Poznámka" - }, - "folders": { - "message": "Složky" - }, - "collections": { - "message": "Kolekce" - }, - "firstName": { - "message": "Jméno" - }, - "middleName": { - "message": "Druhé jméno" - }, - "lastName": { - "message": "Příjmení" - }, - "address1": { - "message": "Adresa 1" - }, - "address2": { - "message": "Adresa 2" - }, - "address3": { - "message": "Adresa 3" - }, - "cityTown": { - "message": "Město" - }, - "stateProvince": { - "message": "Kraj / Provincie" - }, - "zipPostalCode": { - "message": "PSČ" - }, - "country": { - "message": "Stát" - }, - "shared": { - "message": "Sdílené" - }, - "attachments": { - "message": "Přílohy" - }, - "select": { - "message": "Vybrat" - }, - "addItem": { - "message": "Přidat položku" - }, - "editItem": { - "message": "Upravit položku" - }, - "viewItem": { - "message": "Zobrazit položku" - }, - "ex": { - "message": "např.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Ostatní" - }, - "share": { - "message": "Sdílet" - }, - "valueCopied": { - "message": "$VALUE$ zkopírováno", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Zkopírovat hodnotu", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Kopírovat heslo", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Kopírovat uživatelské jméno", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Kopírovat číslo", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Kopírovat bezpečnostní kód", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Kopírovat URI", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "Můj trezor" - }, - "vault": { - "message": "Trezor" - }, - "shareSelected": { - "message": "Sdílet vybrané" - }, - "deleteSelected": { - "message": "Smazat vybrané" - }, - "moveSelected": { - "message": "Přesunout vybrané" - }, - "selectAll": { - "message": "Vybrat vše" - }, - "unselectAll": { - "message": "Zrušit výběr" - }, - "launch": { - "message": "Spustit" - }, - "newAttachment": { - "message": "Přidat přílohu" - }, - "deletedAttachment": { - "message": "Příloha byla smazána." - }, - "deleteAttachmentConfirmation": { - "message": "Opravdu chcete tuto přílohu smazat?" - }, - "attachmentSaved": { - "message": "Příloha byla uložena" - }, - "file": { - "message": "Soubor" - }, - "selectFile": { - "message": "Vybrat soubor." - }, - "maxFileSize": { - "message": "Maximální velikost souboru je 100 MB." - }, - "updateKey": { - "message": "Tuto funkci nemůžete použít dokud neaktualizujete svůj šifrovací klíč." - }, - "addedItem": { - "message": "Položka byla přidána" - }, - "editedItem": { - "message": "Položka byla upravena" - }, - "sharedItem": { - "message": "Položka byla sdílena." - }, - "sharedItems": { - "message": "Položky byly sdíleny." - }, - "deleteItem": { - "message": "Smazat položku" - }, - "deleteFolder": { - "message": "Smazat složku" - }, - "deleteAttachment": { - "message": "Smazat přílohu" - }, - "deleteItemConfirmation": { - "message": "Opravdu chcete tuto položku smazat?" - }, - "deletedItem": { - "message": "Položka byla smazána" - }, - "deletedItems": { - "message": "Položky byly smazány" - }, - "movedItems": { - "message": "Položky byly přesunuty" - }, - "overwritePasswordConfirmation": { - "message": "Opravdu chcete přepsat aktuální heslo?" - }, - "editedFolder": { - "message": "Složka byla upravena" - }, - "addedFolder": { - "message": "Složka byla přidána" - }, - "deleteFolderConfirmation": { - "message": "Opravdu chcete tuto složku smazat?" - }, - "deletedFolder": { - "message": "Složka byla smazána." - }, - "loggedOut": { - "message": "Odhlášení" - }, - "loginExpired": { - "message": "Platnost přihlášení vypršela." - }, - "logOutConfirmation": { - "message": "Opravdu se chcete odhlásit?" - }, - "logOut": { - "message": "Odhlásit se" - }, - "ok": { - "message": "OK" - }, - "yes": { - "message": "Ano" - }, - "no": { - "message": "Ne" - }, - "loginOrCreateNewAccount": { - "message": "Pro přístup do vašeho bezpečného trezoru se přihlaste nebo si vytvořte nový účet." - }, - "createAccount": { - "message": "Vytvořit účet" - }, - "logIn": { - "message": "Přihlásit se" - }, - "submit": { - "message": "Potvrdit" - }, - "emailAddressDesc": { - "message": "Vaši e-mailovou adresu budete používat k přihlášení." - }, - "yourName": { - "message": "Vaše jméno" - }, - "yourNameDesc": { - "message": "Jak vám máme říkat?" - }, - "masterPass": { - "message": "Hlavní heslo" - }, - "masterPassDesc": { - "message": "Hlavní heslo je heslo, které používáte k přístupu do vašeho trezoru. Je velmi důležité, abyste jej nezapomněli. Neexistuje totiž žádný způsob, jak heslo obnovit v případě, že jste na něj zapomněli." - }, - "masterPassHintDesc": { - "message": "Nápověda k hlavnímu heslu vám pomůže zapamatovat si heslo, pokud ho zapomenete." - }, - "reTypeMasterPass": { - "message": "Znovu zadejte hlavní heslo" - }, - "masterPassHint": { - "message": "Nápověda k hlavnímu heslu (volitelné)" - }, - "masterPassHintLabel": { - "message": "Nápověda k hlavnímu heslu" - }, - "settings": { - "message": "Nastavení" - }, - "passwordHint": { - "message": "Nápověda k heslu" - }, - "enterEmailToGetHint": { - "message": "Zadejte e-mailovou adresu pro zaslání nápovědy k hlavnímu heslu." - }, - "getMasterPasswordHint": { - "message": "Zaslat nápovědu k hlavnímu heslu" - }, - "emailRequired": { - "message": "E-mailová adresa je povinná." - }, - "invalidEmail": { - "message": "Neplatná e-mailová adresa." - }, - "masterPassRequired": { - "message": "Hlavní heslo je povinné." - }, - "masterPassLength": { - "message": "Hlavní heslo musí obsahovat alespoň 8 znaků." - }, - "masterPassDoesntMatch": { - "message": "Potvrzení hlavního hesla se neshoduje." - }, - "newAccountCreated": { - "message": "Váš účet byl vytvořen! Můžete se přihlásit." - }, - "masterPassSent": { - "message": "Poslali jsme vám e-mail s nápovědou k hlavnímu heslu." - }, - "unexpectedError": { - "message": "Došlo k neznámé chybě" - }, - "emailAddress": { - "message": "E-mailová adresa" - }, - "yourVaultIsLocked": { - "message": "Váš trezor je uzamčen. Pro pokračování musíte zadat hlavní heslo." - }, - "unlock": { - "message": "Odemknout" - }, - "loggedInAsEmailOn": { - "message": "Přihlášen jako $EMAIL$ na $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Chybné hlavní heslo" - }, - "lockNow": { - "message": "Zamknout nyní" - }, - "noItemsInList": { - "message": "Žádné položky k zobrazení." - }, - "noCollectionsInList": { - "message": "Žádné kolekce k zobrazení." - }, - "noGroupsInList": { - "message": "Žádné skupiny k zobrazení." - }, - "noUsersInList": { - "message": "Žádní uživatelé k zobrazení." - }, - "noEventsInList": { - "message": "Žádné události k zobrazení." - }, - "newOrganization": { - "message": "Nová organizace" - }, - "noOrganizationsList": { - "message": "Nepatříte do žádné organizace. Organizace umožňují bezpečné sdílení položek s ostatními uživateli." - }, - "versionNumber": { - "message": "Verze $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Zadejte 6místný kód z ověřovací aplikace." - }, - "enterVerificationCodeEmail": { - "message": "Zadejte 6místný kód z e-mailu, který byl zaslán na $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "Ověřovací e-mail byl zaslán na $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Pamatuj si mě" - }, - "sendVerificationCodeEmailAgain": { - "message": "Znovu zaslat ověřovací kód na e-mail" - }, - "useAnotherTwoStepMethod": { - "message": "Použít jinou metodu dvoufázového přihlášení" - }, - "insertYubiKey": { - "message": "Vložte YubiKey do USB portu vašeho počítače a stiskněte jeho tlačítko." - }, - "insertU2f": { - "message": "Vložte svůj bezpečnostní klíč do USB portu vašeho počítače a pokud má tlačítko, tak jej stiskněte." - }, - "loginUnavailable": { - "message": "Přihlášení není dostupné" - }, - "noTwoStepProviders": { - "message": "Tento účet má zapnuté dvoufázové ověřování, ale žádný z nastavených poskytovalů dvoufázového přihlášení není v tomto prohlížeči podporován." - }, - "noTwoStepProviders2": { - "message": "Použijte prosím podporovaný webový prohlížeč (například Chrome) a přidejte další poskytovatele, kteří lépe podporují více různých webových prohlížečích (jako například ověřovací aplikace)." - }, - "twoStepOptions": { - "message": "Možnosti dvoufázového přihlášení" - }, - "recoveryCodeDesc": { - "message": "Ztratili jste přístup ke všem nastaveným poskytovatelům dvoufázového přihlášení? Použijte obnovovací kód pro vypnutí dvoufázového přihlášení." - }, - "recoveryCodeTitle": { - "message": "Kód pro obnovení" - }, - "authenticatorAppTitle": { - "message": "Ověřovací aplikace" - }, - "authenticatorAppDesc": { - "message": "Použijte ověřovací aplikaci (jako je Authy nebo Google Authenticator) pro generování časově omezených kódů.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "YubiKey OTP bezpečnostní klíč" - }, - "yubiKeyDesc": { - "message": "Použít YubiKey pro přístup k vašemu trezoru. Podporuje YubiKey 4. série, 5. série a zařízení řady NEO." - }, - "duoDesc": { - "message": "Ověřit pomocí Duo Security prostřednictvím aplikace Duo Mobile, SMS, telefonního hovoru nebo U2F bezpečnostního kódu.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Ověřit pomocí Duo Security pro vaši organizaci prostřednictvím aplikace Duo Mobile, SMS, telefonního hovoru nebo U2F bezpečnostního kódu.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Použít jakýkoliv FIDO U2F bezpečnostní klíč pro přístup k vašemu trezoru." - }, - "u2fTitle": { - "message": "FIDO U2F bezpečnostní klíč" - }, - "emailTitle": { - "message": "E-mail" - }, - "emailDesc": { - "message": "Ověřovací kódy vám budou zaslány e-mailem." - }, - "continue": { - "message": "Pokračovat" - }, - "organization": { - "message": "Organizace" - }, - "organizations": { - "message": "Organizace" - }, - "shareDesc": { - "message": "Vyberte organizaci se kterou chcete tuto položku sdílet. Sdílením přenese vlastnictví položky na organizaci a již nadále nebudete přímým vlastníkem." - }, - "shareManyDesc": { - "message": "Vyberte organizaci se kterou chcete tyto položky sdílet. Sdílením přenese vlastnictví položek na organizaci a již nadále nebudete přímým vlastníkem." - }, - "collectionsDesc": { - "message": "Upravit kolekce, ve kterých je tato položka sdílená. Pouze uživatelé organizace, kteří mají přístup k těmto kolekcím, budou moci tuto položku vidět." - }, - "deleteSelectedItemsDesc": { - "message": "Vybrali jste $COUNT$ položek ke smazání. Opravdu chcete tyto položky smazat?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Vyberte složku, do které chcete přesunout $COUNT$ vybraných položek.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "Vybrali jste $COUNT$ položek. Sdílitelných položek je $SHAREABLE_COUNT$, $NONSHAREABLE_COUNT$ je nesdílitelných.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Ověřovací kód (TOTP)" - }, - "copyVerificationCode": { - "message": "Zkopírovat ověřovací kód" - }, - "warning": { - "message": "Varování" - }, - "confirmVaultExport": { - "message": "Potvrdit export trezoru" - }, - "exportWarningDesc": { - "message": "Tento export obsahuje data vašeho trezoru v nezašifrovaném formátu. Soubor exportu byste neměli ukládat ani odesílat přes nezabezpečené kanály (např. e-mailem). Odstraňte jej okamžitě po jeho použití." - }, - "encExportWarningDesc": { - "message": "Tento export šifruje vaše data pomocí šifrovacího klíče vašeho účtu. Pokud někdy změníte šifrovací klíč svého účtu, měli byste jej znovu exportovat, protože tento exportní soubor nebude možné dešifrovat." - }, - "exportMasterPassword": { - "message": "Zadejte své hlavní heslo pro export dat." - }, - "exportVault": { - "message": "Exportovat přihlašovací údaje" - }, - "fileFormat": { - "message": "Formát souboru" - }, - "exportSuccess": { - "message": "Data trezoru byla exportována" - }, - "passwordGenerator": { - "message": "Generátor hesla" - }, - "minComplexityScore": { - "message": "Minimální skóre složitosti" - }, - "minNumbers": { - "message": "Minimální počet čísel" - }, - "minSpecial": { - "message": "Minimální počet speciálních znaků", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Použít nezaměnitelné znaky" - }, - "regeneratePassword": { - "message": "Vygenerovat další heslo" - }, - "length": { - "message": "Délka" - }, - "numWords": { - "message": "Počet slov" - }, - "wordSeparator": { - "message": "Oddělovač slov" - }, - "capitalize": { - "message": "Velká písmena na začátku slova", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Zahrnout číslo" - }, - "passwordHistory": { - "message": "Historie hesel" - }, - "noPasswordsInList": { - "message": "Nejsou k dispozici žádná hesla." - }, - "clear": { - "message": "Vymazat", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Účet byl aktualizován" - }, - "changeEmail": { - "message": "Změnit e-mail" - }, - "newEmail": { - "message": "Nový e-mail" - }, - "code": { - "message": "Kód" - }, - "changeEmailDesc": { - "message": "Na e-mail $EMAIL$ jsme odeslali ověřovací kód. Zkontrolujte prosím svou e-mailovou schránku a pro potvrzení nové e-mailové adresy zadejte níže obdržený kód.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Pokud chcete pokračovat, budete odhlášeni z aktuální relace a bude nutné se znovu přihlásit. Aktivní relace na jiných zařízeních mohou nadále zůstat aktivní po dobu až jedné hodiny." - }, - "emailChanged": { - "message": "E-mail byl změněn" - }, - "logBackIn": { - "message": "Přihlaste se prosím znovu." - }, - "logBackInOthersToo": { - "message": "Přihlaste se prosím znovu. Používáte-li jiné Bitwarden aplikace, přihlaste se znovu i v nich." - }, - "changeMasterPassword": { - "message": "Změnit hlavní heslo" - }, - "masterPasswordChanged": { - "message": "Hlavní heslo bylo změněno" - }, - "currentMasterPass": { - "message": "Současné hlavní heslo" - }, - "newMasterPass": { - "message": "Nové hlavní heslo" - }, - "confirmNewMasterPass": { - "message": "Potvrzení nového hesla" - }, - "encKeySettings": { - "message": "Nastavení šifrovacího klíče" - }, - "kdfAlgorithm": { - "message": "KDF algoritmus" - }, - "kdfIterations": { - "message": "KDF iterace" - }, - "kdfIterationsDesc": { - "message": "Vyšší hodnota KDF iterací pomáhá chránit vaše hlavní heslo před útokem hrubou silou (brute force attack). Doporučujeme nastavit hodnotu $VALUE$ nebo vyšší.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Nastavení příliš vysoké hodnoty počtu KDF iterací může mít za následek špatný výkon při přihlašování (a odemykání) aplikace Bitwarden na zařízeních se slabým procesorem. Doporučujeme hodnotu navyšovat přírůstkově po $INCREMENT$ a vyzkoušet všechna vaše zařízení.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Změnit KDF" - }, - "encKeySettingsChanged": { - "message": "Nastavení šifrovacího klíče bylo změněno" - }, - "dangerZone": { - "message": "Nebezpečná zóna" - }, - "dangerZoneDesc": { - "message": "Opatrně. Tyto akce se nedají vrátit!" - }, - "deauthorizeSessions": { - "message": "Zrušit autorizaci relací" - }, - "deauthorizeSessionsDesc": { - "message": "Je váš účet přihlášen na jiném zařízení? Pokračujte níže ke zrušení přihlášení všech počítačů a zařízení, která jste dříve používali. Tento bezpečnostní krok je doporučen, pokud jste dříve používali veřejný počítač nebo nechtěně uložili heslo na zařízení, které není vaše. Tímto krokem se také zruší dříve zapamatovaná dvoufázová přihlášení." - }, - "deauthorizeSessionsWarning": { - "message": "Pokud chcete pokračovat, budete také odhlášeni z aktuální relace a bude nutné se znovu přihlásit. Pokud používáte dvoufázové přihlášení, bude také vyžadováno. Aktivní relace na jiných zařízeních mohou nadále zůstat aktivní po dobu až jedné hodiny." - }, - "sessionsDeauthorized": { - "message": "Všechny relace byly zrušeny" - }, - "purgeVault": { - "message": "Vymazat celý trezor" - }, - "purgedOrganizationVault": { - "message": "Trezor organizace byl vyprázdněn." - }, - "purgeVaultDesc": { - "message": "Chcete-li smazat všechny položky a složky ve vašem trezoru, pokračujte podle následujících pokynů. Položky sdílené s organizací nebudou smazány." - }, - "purgeOrgVaultDesc": { - "message": "Chcete-li smazat všechny položky v trezoru organizace, pokračujte podle následujících pokynů." - }, - "purgeVaultWarning": { - "message": "Vymazání trezoru je trvalé. Tuto akci nelze vrátit zpět." - }, - "vaultPurged": { - "message": "Výš trezor byl vymazán" - }, - "deleteAccount": { - "message": "Smazat účet" - }, - "deleteAccountDesc": { - "message": "Pokračujte níže ke smazání účtu a všech souvisejících dat." - }, - "deleteAccountWarning": { - "message": "Smazání účtu je trvalé. Tuto akci nelze vrátit zpět." - }, - "accountDeleted": { - "message": "Účet byl smazán." - }, - "accountDeletedDesc": { - "message": "Váš účet byl uzavřen a všechna související data byla smazána." - }, - "myAccount": { - "message": "Můj účet" - }, - "tools": { - "message": "Nástroje" - }, - "importData": { - "message": "Import dat" - }, - "importSuccess": { - "message": "Data byla úspěšně importována" - }, - "importFormatError": { - "message": "Data nemají správný formát. Zkontrolujte importovaný soubor a zkuste to znovu." - }, - "importNothingError": { - "message": "Nic nebylo importováno" - }, - "selectFormat": { - "message": "Vyberte formát importovaného souboru" - }, - "selectImportFile": { - "message": "Vyberte soubor pro import" - }, - "orCopyPasteFileContents": { - "message": "nebo zkopírujte a vložte obsah souboru" - }, - "instructionsFor": { - "message": "Instrukce pro $NAME$", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Možnosti" - }, - "optionsDesc": { - "message": "Přizpůsobte si váš webový trezor." - }, - "optionsUpdated": { - "message": "Možnosti byly upraveny" - }, - "language": { - "message": "Jazyk" - }, - "languageDesc": { - "message": "Změňte jazyk používaný ve webovém trezoru." - }, - "disableIcons": { - "message": "Zakázat ikonky webových stránek" - }, - "disableIconsDesc": { - "message": "Ikonky webových stránek zobrazí snadno rozeznatelný obrázek vedle každé položky ve vašem trezoru." - }, - "enableGravatars": { - "message": "Povolit službu Gravatar", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Použije profilový obrázek načtený z gravatar.com." - }, - "enableFullWidth": { - "message": "Zapnout rozvržení na celou šířku stránky", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Povolit webovému trezoru roztáhnout se na celou šířku okna." - }, - "default": { - "message": "Výchozí" - }, - "domainRules": { - "message": "Doménová pravidla" - }, - "domainRulesDesc": { - "message": "Pokud máte stejné přihlašovací údaje napříč různými doménami, můžete je označit jako „ekvivalentní“. Bitwarden za vás již vytvořil seznam globálních domén." - }, - "globalEqDomains": { - "message": "Globální ekvivalentní domény" - }, - "customEqDomains": { - "message": "Vlastní ekvivalentní domény" - }, - "exclude": { - "message": "Vyřadit" - }, - "include": { - "message": "Zahrnout" - }, - "customize": { - "message": "Přizpůsobit" - }, - "newCustomDomain": { - "message": "Přidat vlastní doménu" - }, - "newCustomDomainDesc": { - "message": "Zadejte seznam domén oddělených čárkou. Povolené jsou pouze „základní“ domény. Nezadávejte subdomény. Například zadejte „bitwarden.com“, nikoliv „vault.bitwarden.com“. Můžete také zadat „androidapp://package.name“ pokud chcete přiřadit Android aplikaci k ostatním webovým doménám." - }, - "customDomainX": { - "message": "Vlastní doména $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Domény byly upraveny" - }, - "twoStepLogin": { - "message": "Dvoufázové přihlášení" - }, - "twoStepLoginDesc": { - "message": "Zabezpečte svůj účet vyžadováním dodatečného kroku při přihlašování." - }, - "twoStepLoginOrganizationDesc": { - "message": "Vyžadovat dvoufázové přihlášení pro uživatele vaší organizace nastavením poskytovatelů na úrovni organizace." - }, - "twoStepLoginRecoveryWarning": { - "message": "Povolením dvoufázového přihlášení může dojít k trvalému uzamčení vašeho účtu. Obnovovací kód umožňuje přístup do vašeho účtu i v případě, pokud již nemůžete použít svůj normální způsob dvoufázového přihlášení (např. ztráta zařízení). Pokud ztratíte přístup k vašemu účtu, nebude vám schopna pomoci ani zákaznická podpora Bitwardenu. Doporučujeme si proto kód pro obnovení zapsat nebo vytisknout a uložit jej na bezpečném místě." - }, - "viewRecoveryCode": { - "message": "Zobrazit kód pro obnovení" - }, - "providers": { - "message": "Poskytovatelé", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Povolit" - }, - "enabled": { - "message": "Povoleno" - }, - "premium": { - "message": "Prémium", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Prémiové členství" - }, - "premiumRequired": { - "message": "Vyžaduje prémiové členství" - }, - "premiumRequiredDesc": { - "message": "Pro použití této funkce je potřebné prémiové členství." - }, - "youHavePremiumAccess": { - "message": "Máte prémiový přístup" - }, - "alreadyPremiumFromOrg": { - "message": "Již máte přístup k prémiovým funkcím díky organizaci, které jste členem." - }, - "manage": { - "message": "Správa" - }, - "disable": { - "message": "Zakázat" - }, - "twoStepLoginProviderEnabled": { - "message": "Tento poskytovatel dvoufázového přihlášení byl povolen." - }, - "twoStepLoginAuthDesc": { - "message": "Zadejte hlavní heslo pro úpravu dvoufázového přihlášení." - }, - "twoStepAuthenticatorDesc": { - "message": "Postupujte podle následujících kroků pro nastavení pro dvoufázového přihlášení pomocí ověřovací aplikace:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Stáhněte si ověřovací aplikaci" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Potřebujete aplikaci pro dvoufázové ověření? Stáhněte si jednu z následujících" - }, - "iosDevices": { - "message": "iOS zařízení" - }, - "androidDevices": { - "message": "Android zařízení" - }, - "windowsDevices": { - "message": "Windows zařízení" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "Tyto aplikace doporučujeme, nicméně další aplikace pro ověření budou fungovat také." - }, - "twoStepAuthenticatorScanCode": { - "message": "Naskenujte tento QR kód s vaší ověřovací aplikací" - }, - "key": { - "message": "Klíč" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Zadejte 6místný kód z ověřovací aplikace" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "V případě potřeby přidání do jiného zařízení, je níže zobrazen QR kód (nebo klíč) vyžadovaný ověřovací aplikací." - }, - "twoStepDisableDesc": { - "message": "Opravdu chcete zakázat tohoto poskytovatele dvoufázového přihlášení?" - }, - "twoStepDisabled": { - "message": "Poskytovatel dvoufázového přihlášení byl zakázán" - }, - "twoFactorYubikeyAdd": { - "message": "Přidání nového YubiKey k vašemu účtu" - }, - "twoFactorYubikeyPlugIn": { - "message": "Připojte YubiKey do USB portu počítače." - }, - "twoFactorYubikeySelectKey": { - "message": "Vyberte první prázdné pole YubiKey níže." - }, - "twoFactorYubikeyTouchButton": { - "message": "Dotkněte se tlačítka na YubiKey." - }, - "twoFactorYubikeySaveForm": { - "message": "Uložte formulář." - }, - "twoFactorYubikeyWarning": { - "message": "Z důvodu omezení různých platforem, nemůže být YubiKey použit ve všech aplikacích Bitwarden. Měli byste povolit jiný způsob dvoufázového přihlášení pro případy, kdy nelze YubiKey použít. Podporované platformy:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Webový trezor, aplikace, CLI a rozšíření pro prohlížeče na zařízeních s USB portem." - }, - "twoFactorYubikeySupportMobile": { - "message": "Mobilní aplikace na zařízeních s podporou NFC nebo datového portu, která mohou přijmout váš YubiKey." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "U2F klíč $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "Podpora NFC" - }, - "twoFactorYubikeySupportsNfc": { - "message": "Jeden z mých klíčů podporuje NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "Pokud některý z vašich YubiKey podporuje NFC (např. YubiKey NEO), budete na mobilních zařízeních vyzvání k ověření pomocí NFC, pokud bude na daném zařízení tato technologie detekována." - }, - "yubikeysUpdated": { - "message": "YubiKey byly aktualizovány" - }, - "disableAllKeys": { - "message": "Zakázat všechny klíče" - }, - "twoFactorDuoDesc": { - "message": "Zadejte informace o aplikaci Bitwarden z panelu Duo Admin." - }, - "twoFactorDuoIntegrationKey": { - "message": "Integrační klíč" - }, - "twoFactorDuoSecretKey": { - "message": "Tajný klíč" - }, - "twoFactorDuoApiHostname": { - "message": "Host API" - }, - "twoFactorEmailDesc": { - "message": "Postupujte podle následujících kroků pro nastavení dvoufázového přihlášení pomocí e-mailu:" - }, - "twoFactorEmailEnterEmail": { - "message": "Zadejte e-mail, na který si přejete dostávat ověřovací kódy" - }, - "twoFactorEmailEnterCode": { - "message": "Zadejte 6místný kód zaslaný na e-mail" - }, - "sendEmail": { - "message": "Odeslat e-mail" - }, - "twoFactorU2fAdd": { - "message": "Přidání bezpečnostního klíče FIDO U2F k vašemu účtu" - }, - "removeU2fConfirmation": { - "message": "Opravdu chcete odebrat tento bezpečnostní klíč?" - }, - "readKey": { - "message": "Přečíst klíč" - }, - "keyCompromised": { - "message": "Klíč je prozrazen." - }, - "twoFactorU2fGiveName": { - "message": "Bezpečnostní klíč si pojmenujte pro jeho snadnou identifikaci." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Připojte bezpečnostní klíč do USB portu vašeho počítače a klikněte na tlačítko „Přečíst klíč“." - }, - "twoFactorU2fTouchButton": { - "message": "Pokud má bezpečnostní klíč tlačítko, zmáčkněte jej." - }, - "twoFactorU2fSaveForm": { - "message": "Uložte formulář." - }, - "twoFactorU2fWarning": { - "message": "Z důvodu omezení různých platforem, nemůže být FIDO U2F použit ve všech aplikacích Bitwarden. Měli byste povolit jiný způsob dvoufázového přihlášení pro případy, kdy nelze FIDO U2F použít. Podporované platformy:" - }, - "twoFactorU2fSupportWeb": { - "message": "Webový trezor a rozšíření pro prohlížeče s podporou U2F (Chrome, Opera, Vivaldi nebo Firefox)." - }, - "twoFactorU2fWaiting": { - "message": "Čeká se na stisknutí tlačítka na bezpečnostním klíči" - }, - "twoFactorU2fClickSave": { - "message": "Tlačítkem „Uložit“ zpřístupníte dvoufázové přihlášení pomocí tohoto bezpečnostního klíče." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "Při čtení bezpečnostního klíče došlo k potížím. Zkuste to znovu." - }, - "twoFactorRecoveryYourCode": { - "message": "Váše kód pro obnovení dvoufázového přihlášení" - }, - "twoFactorRecoveryNoCode": { - "message": "Doposud jste nepovolili žádný způsob dvoufázového přihlášení. Až některý způsob povolíte, můžete se sem vrátit pro zobrazení kódu pro obnovení." - }, - "printCode": { - "message": "Vytisknout kód", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Hlášení" - }, - "unsecuredWebsitesReport": { - "message": "Hlášení o nezabezpečených webech" - }, - "unsecuredWebsitesReportDesc": { - "message": "Používání nezabezpečených http:// webových stránek může být nebezpečné. Pokud je to možné, přistupujte na web vždy jen přes zašifrované https:// připojení." - }, - "unsecuredWebsitesFound": { - "message": "Nalezen nezabezpečený web" - }, - "unsecuredWebsitesFoundDesc": { - "message": "Některé položky ($COUNT$) ve vašem trezoru používají nezabezpečené URI. Schémata URI by měla být změněna na https://, pokud to web umožňuje.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "Žádné položky v trezoru nemají nezabezpečené URI." - }, - "inactive2faReport": { - "message": "Hlášení o neaktivní 2FA ochraně" - }, - "inactive2faReportDesc": { - "message": "Dvoufázové přihlášení (2FA) je důležitý bezpečnostní prvek, který pomáhá zabezpečit vaše účty. Pokud jej web nabízí, měli byste dvoufázové přihlášení vždy používat." - }, - "inactive2faFound": { - "message": "Nalezena přihlášení bez 2FA" - }, - "inactive2faFoundDesc": { - "message": "Některé weby ($COUNT$) ve vašem trezoru zřejmě nejsou nakonfigurovány pro použití dvoufaktorového přihlášení (dle 2fa.directory). Pro lepší ochranu vašich účtů byste měli dvoufaktorové přihlášení povolit.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "V trezoru nebyly nalezeny žádné weby s chybějící konfigurací dvoufaktorového přihlášení." - }, - "instructions": { - "message": "Instrukce" - }, - "exposedPasswordsReport": { - "message": "Hlášení o úniku hesel" - }, - "exposedPasswordsReportDesc": { - "message": "Uniklá hesla jsou hesla, která byla odhalena během známých úniků dat, zveřejněna nebo prodána hackery na dark webu." - }, - "exposedPasswordsFound": { - "message": "Nalezena uniklá hesla" - }, - "exposedPasswordsFoundDesc": { - "message": "V trezoru jsme našli položky ($COUNT$), jejichž hesla byla odhalena během známých úniků dat. Měli byste u nich použít nové heslo.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "Žádné položky v trezoru nemají hesla, která byla odhalena během známých úniků dat." - }, - "checkExposedPasswords": { - "message": "Zkontrolovat uniklá hesla" - }, - "exposedXTimes": { - "message": "Počet úniků: $COUNT$", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Hlášení o slabých heslech" - }, - "weakPasswordsReportDesc": { - "message": "Slabá hesla mohou být snadno uhodnuta hackery či automatickými nástroji určenými pro prolomení hesel. Generátor hesel Bitwarden vám pomůže vytvořit silná hesla." - }, - "weakPasswordsFound": { - "message": "Nalezena slabá hesla" - }, - "weakPasswordsFoundDesc": { - "message": "Našli jsme $COUNT$ položek se slabým heslem. Měli byste je aktualizovat a použit silnější hesla.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "Žádné položky ve vašem trezoru nemají slabá hesla." - }, - "reusedPasswordsReport": { - "message": "Hlášení o přepoužitých heslech" - }, - "reusedPasswordsReportDesc": { - "message": "Je-li vámi používaná služba kompromitována, stejné heslo použité někde jinde může hackerům umožnit snadný přístup k dalším vašim online účtům. Pro každý účet či službu byste měli vždy použít unikátní heslo." - }, - "reusedPasswordsFound": { - "message": "Nalezena přepoužitá hesla" - }, - "reusedPasswordsFoundDesc": { - "message": "Našli jsme hesla ($COUNT$), která jsou ve vašem trezoru přepoužita. Doporučujeme je změnit, aby byly unikátní.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "Žádná přihlášení ve vašem trezoru nemají přepoužitá hesla." - }, - "reusedXTimes": { - "message": "Počet přepoužití: $COUNT$", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Hlášení o úniku dat" - }, - "breachDesc": { - "message": "„Únik“ je incident, při kterém se podařilo hackerům nelegální cestou získat údaje z webových stránek a následně je také zveřejnit. Zkontrolujte prosím kompromitovaná data (e-mailové adresy, hesla, kreditní karty, …) a proveďte příslušná opatření (např. změňte heslo)." - }, - "breachCheckUsernameEmail": { - "message": "Zkontrolujte všechna uživatelská jména nebo e-mailové adresy, které používáte." - }, - "checkBreaches": { - "message": "Zkontrolovat" - }, - "breachUsernameNotFound": { - "message": "Uživatelské jméno $USERNAME$ nebylo nalezeno v žádném známém úniku dat.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Dobré zprávy", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "Uživatelské jméno $USERNAME$ bylo nalezeno celkem $COUNT$x.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Došlo k úniku" - }, - "compromisedData": { - "message": "Kompromitovaná data" - }, - "website": { - "message": "Webová stránka" - }, - "affectedUsers": { - "message": "Ovlivněno uživatelů" - }, - "breachOccurred": { - "message": "Datum úniku" - }, - "breachReported": { - "message": "Datum nahlášení" - }, - "reportError": { - "message": "Při pokosu o načtení hlášení došlo k chybě. Zkuste znovu" - }, - "billing": { - "message": "Fakturace" - }, - "accountCredit": { - "message": "Kredit na účtu", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Zůstatek na účtu", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Dobít kredit", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Částka", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Navýšený kredit se na vašem účtu objeví po úspěšném zpracování platby. Některé platební metody mají prodlevu a zpracování může trvat déle, než u jiných metod." - }, - "makeSureEnoughCredit": { - "message": "Ujistěte se, že je na vašem účtu dostatečný kredit pro uskutečnění tohoto nákupu. Nemáte-li na účtu dostatečný kredit, bude pro doplacení rozdílu použita vaše výchozí platební metoda. Kredit si můžete navýšit prostřednictvím stránky fakturace." - }, - "creditAppliedDesc": { - "message": "Pro nákupy bude použit kredit z vašeho účtu. Jakýkoliv dostupný kredit bude automaticky použit pro faktury vystavené pro tento účet." - }, - "goPremium": { - "message": "Přejděte na Premium", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "Povýšili jste na premium." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Povyšte svůj účet na prémiové členství a odemkněte další skvělé funkce." - }, - "premiumSignUpStorage": { - "message": "1 GB šifrovaného úložiště pro přílohy." - }, - "premiumSignUpTwoStep": { - "message": "Další možnosti dvoufázového přihlášení, jako je například YubiKey, FIDO U2F a Duo." - }, - "premiumSignUpReports": { - "message": "Reporty o hygieně vašich hesel, zdraví účtu a narušeních bezpečnosti." - }, - "premiumSignUpTotp": { - "message": "Generátor TOTP kódu dvoufázového přihlašování (2FA) pro přihlašovací údaje ve vašem trezoru." - }, - "premiumSignUpSupport": { - "message": "Prioritní zákaznická podpora." - }, - "premiumSignUpFuture": { - "message": "Všechny budoucí prémiové funkce. Více již brzy!" - }, - "premiumPrice": { - "message": "Vše jen za $PRICE$ ročně!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Doplňky" - }, - "premiumAccess": { - "message": "Prémiový přístup" - }, - "premiumAccessDesc": { - "message": "Můžete přidat prémiový přístup všem členům vaší organizace za $PRICE$/$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Další úložiště (GB)" - }, - "additionalStorageGbDesc": { - "message": "# dalších GB" - }, - "additionalStorageIntervalDesc": { - "message": "Vybraný plán obsahuje $SIZE$ šifrovaného úložiště. Další prostor si můžete přikoupit za $PRICE$/$INTERVAL$ za každý další 1 GB.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Souhrn" - }, - "total": { - "message": "Celkem" - }, - "year": { - "message": "rok" - }, - "month": { - "message": "měsíc" - }, - "monthAbbr": { - "message": "měs.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Částka bude stržena okamžitě a poté opakovaně každý rok. Plán můžete kdykoli zrušit." - }, - "paymentCharged": { - "message": "Částka bude stržena okamžitě a poté opakovaně každý $INTERVAL$. Předplatné můžete kdykoli zrušit.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Vybraný plán obsahuje bezplatnou 7denní zkušební dobu. Částka z vašeho účtu nebude stržena, dokud tato zkušební doba neuplyne. Stržení platby a fakturace bude následně probíhat opakovaně každý $INTERVAL$. Plán můžete kdykoli zrušit.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Informace o platbě" - }, - "billingInformation": { - "message": "Fakturační údaje" - }, - "creditCard": { - "message": "Kreditní karta" - }, - "paypalClickSubmit": { - "message": "Pro přihlášení do vašeho PayPal účtu klikněte na tlačítko PayPal a následně na tlačítko Odeslat zobrazené níže." - }, - "cancelSubscription": { - "message": "Zrušit předplatné" - }, - "subscriptionCanceled": { - "message": "Předplatné bylo zrušeno" - }, - "pendingCancellation": { - "message": "Čeká na zrušení" - }, - "subscriptionPendingCanceled": { - "message": "Předplatné bude zrušeno na konci aktuálního fakturačního období." - }, - "reinstateSubscription": { - "message": "Obnovit předplatné" - }, - "reinstateConfirmation": { - "message": "Opravdu chcete zrušit požadavek na ukončení předplatného a obnovit původní předplatné?" - }, - "reinstated": { - "message": "Předplatné bylo obnoveno" - }, - "cancelConfirmation": { - "message": "Opravdu chcete zrušit předplatné? Na konci fakturačního období přijdete o veškeré výhody plynoucí z vybraného plánu." - }, - "canceledSubscription": { - "message": "Předplatné bylo zrušeno" - }, - "neverExpires": { - "message": "Nikdy nevyprší" - }, - "status": { - "message": "Stav" - }, - "nextCharge": { - "message": "Další platba" - }, - "details": { - "message": "Podrobnosti" - }, - "downloadLicense": { - "message": "Stáhnout licenci" - }, - "updateLicense": { - "message": "Aktualizovat licenci" - }, - "updatedLicense": { - "message": "Licence byla aktualizována" - }, - "manageSubscription": { - "message": "Správa předplatného" - }, - "storage": { - "message": "Úložiště" - }, - "addStorage": { - "message": "Přidat úložiště" - }, - "removeStorage": { - "message": "Odebrat úložiště" - }, - "subscriptionStorage": { - "message": "Vaše předplatné zahrnuje celkem $MAX_STORAGE$ GB místa v šifrovaném úložišti. Aktuálně používáte $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Způsob platby" - }, - "noPaymentMethod": { - "message": "Žádné způsoby platby." - }, - "addPaymentMethod": { - "message": "Přidat platební metodu" - }, - "changePaymentMethod": { - "message": "Změnit způsob platby" - }, - "invoices": { - "message": "Faktury" - }, - "noInvoices": { - "message": "Žádné faktury." - }, - "paid": { - "message": "Zaplaceno", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Nezaplaceno", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Transakce", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "Žádné transakce." - }, - "chargeNoun": { - "message": "Dobít", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Vrátit peníze", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": " Veškeré platby se na výpisu objeví jako $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "GB úložiště k přidání" - }, - "gbStorageRemove": { - "message": "GB úložiště k odebrání" - }, - "storageAddNote": { - "message": "Přidání úložiště bude mít za následek úpravy fakturačních součtů a okamžité dobití platební metody v souboru. První poplatek bude účtován pro zbytek aktuálního fakturačního cyklu." - }, - "storageRemoveNote": { - "message": "Odstranění úložiště bude mít za následek úpravy vašich fakturačních součtů, které budou účtovány jako kredity k vašemu dalšímu fakturačnímu poplatku." - }, - "adjustedStorage": { - "message": "Upraveno $AMOUNT$ GB úložiště.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Kontaktovat zákaznickou podporu" - }, - "updatedPaymentMethod": { - "message": "Platební metoda byla aktualizována" - }, - "purchasePremium": { - "message": "Zakoupit prémiové členství" - }, - "licenseFile": { - "message": "Soubor s licencí" - }, - "licenseFileDesc": { - "message": "Váš licenční soubor bude pojmenován podobně jako $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "Pro upgrade vašeho účtu na prémiový musíte nahrát validní licenční soubor." - }, - "uploadLicenseFileOrg": { - "message": "Pro vytvoření organizace hostované na vlastní doméně, musíte nahrát platný licenční soubor." - }, - "accountEmailMustBeVerified": { - "message": "E-mailová adresa vašeho účtu musí být ověřena." - }, - "newOrganizationDesc": { - "message": "Organizace umožňují sdílení položek vašeho trezoru s ostatními uživateli a také správu uživatelů jako členů rodiny, malého týmu nebo velké organizace." - }, - "generalInformation": { - "message": "Obecné informace" - }, - "organizationName": { - "message": "Název organizace" - }, - "accountOwnedBusiness": { - "message": "Tento účet je vlastněn firmou." - }, - "billingEmail": { - "message": "E-mailová adresa pro fakturaci" - }, - "businessName": { - "message": "Název firmy" - }, - "chooseYourPlan": { - "message": "Vyberte plán" - }, - "users": { - "message": "Uživatelé" - }, - "userSeats": { - "message": "Počet uživatelů" - }, - "additionalUserSeats": { - "message": "Další uživatelé" - }, - "userSeatsDesc": { - "message": "# uživatelů" - }, - "userSeatsAdditionalDesc": { - "message": "Váš plán obsahuje $BASE_SEATS$ uživatelských míst. Další místa můžete přidat za $SEAT_PRICE$ na uživatele a měsíc.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "Kolik míst pro uživatele potřebujete? Další místa můžete také přidat později." - }, - "planNameFree": { - "message": "Zdarma", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "Pro testování nebo osobní použití a sdílení s $COUNT$ dalším uživatelem.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Rodiny" - }, - "planDescFamilies": { - "message": "Pro osobní použití a sdílení s rodinou či přáteli." - }, - "planNameTeams": { - "message": "Týmy" - }, - "planDescTeams": { - "message": "Pro firmy a různé týmy." - }, - "planNameEnterprise": { - "message": "Podniky" - }, - "planDescEnterprise": { - "message": "Pro firmy a velké organizace." - }, - "freeForever": { - "message": "Navždy zdarma" - }, - "includesXUsers": { - "message": "zahrnuje $COUNT$ uživatelů", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Další uživatelé" - }, - "costPerUser": { - "message": "$COST$ za uživatele", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Omezeno na $COUNT$ uživatele (včetně vás)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Omezeno na $COUNT$ kolekce", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Přidání a sdílení až s $COUNT$ uživateli", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Neomezený počet uživatelů" - }, - "createUnlimitedCollections": { - "message": "Neomezený počet kolekcí" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ šifrovaného úložiště", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "Možnost hostování na vlastní doméně" - }, - "usersGetPremium": { - "message": "Uživatelé získají přístup k prémiovým funkcím" - }, - "controlAccessWithGroups": { - "message": "Kontrola uživatelských přístupů pomocí skupin" - }, - "syncUsersFromDirectory": { - "message": "Synchronizace uživatelů a skupin z adresáře" - }, - "trackAuditLogs": { - "message": "Sledování uživatelských akcí pomocí auditních logů" - }, - "enforce2faDuo": { - "message": "Vynutit 2FA s Duo" - }, - "priorityCustomerSupport": { - "message": "Přednostní zákaznická podpora" - }, - "xDayFreeTrial": { - "message": "$COUNT$denní zkušební verze, možno kdykoliv zrušit", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Měsíčně" - }, - "annually": { - "message": "Ročně" - }, - "basePrice": { - "message": "Základní cena" - }, - "organizationCreated": { - "message": "Organizace byla přidána." - }, - "organizationReadyToGo": { - "message": "Vaše nová organizace je připravena!" - }, - "organizationUpgraded": { - "message": "Vaše organizace byla povýšena." - }, - "leave": { - "message": "Opustit" - }, - "leaveOrganizationConfirmation": { - "message": "Opravdu chcete tuto organizaci opustit?" - }, - "leftOrganization": { - "message": "Organizace byla opuštěna." - }, - "defaultCollection": { - "message": "Výchozí kolekce" - }, - "getHelp": { - "message": "Nápověda" - }, - "getApps": { - "message": "Stáhnout aplikaci" - }, - "loggedInAs": { - "message": "Přihlášen jako" - }, - "eventLogs": { - "message": "Protokol událostí" - }, - "people": { - "message": "Uživatelé" - }, - "policies": { - "message": "Zásady" - }, - "editPolicy": { - "message": "Upravit zásady" - }, - "groups": { - "message": "Skupiny" - }, - "newGroup": { - "message": "Nová Skupina" - }, - "addGroup": { - "message": "Přidat skupinu" - }, - "editGroup": { - "message": "Upravit skupinu" - }, - "deleteGroupConfirmation": { - "message": "Opravdu chcete tuto skupinu smazat?" - }, - "removeUserConfirmation": { - "message": "Opravdu chcete tohoto uživatele smazat?" - }, - "externalId": { - "message": "Externí ID" - }, - "externalIdDesc": { - "message": "Externí ID může být použito jako reference nebo k propojení tohoto zdroje s externím systémem, jako je adresář uživatelů." - }, - "accessControl": { - "message": "Správa přístupů" - }, - "groupAccessAllItems": { - "message": "Tato skupina může vidět a upravovat vše." - }, - "groupAccessSelectedCollections": { - "message": "Tato skupina může vidět a upravovat pouze vybrané kolekce." - }, - "readOnly": { - "message": "Pouze pro čtení" - }, - "newCollection": { - "message": "Nová kolekce" - }, - "addCollection": { - "message": "Přidat kolekci" - }, - "editCollection": { - "message": "Upravit kolekci" - }, - "deleteCollectionConfirmation": { - "message": "Opravdu chcete tuto kolekci smazat?" - }, - "editUser": { - "message": "Upravit uživatele" - }, - "inviteUser": { - "message": "Pozvat uživatele" - }, - "inviteUserDesc": { - "message": "Pozvěte nového uživatele do vaší organizace zadáním e-mailové adresy jejich Bitwarden účtu. Pokud ještě nemají Bitwarden účet, budou vyzváni k vytvoření nového účtu." - }, - "inviteMultipleEmailDesc": { - "message": "Najednou můžete pozvat až $COUNT$ uživatelů pomocí seznamu jejich e-mailových adres, oddělených čárkami.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "Tento uživatel používá pro ochranu svého účtu dvoufázové přihlášení." - }, - "userAccessAllItems": { - "message": "Tento uživatel může vidět a upravovat vše." - }, - "userAccessSelectedCollections": { - "message": "Tento uživatel může vidět a upravovat pouze vybrané kolekce." - }, - "search": { - "message": "Hledat" - }, - "invited": { - "message": "Pozváno" - }, - "accepted": { - "message": "Přijato" - }, - "confirmed": { - "message": "Potvrzeno" - }, - "owner": { - "message": "Vlastník" - }, - "ownerDesc": { - "message": "Uživatel s nejvyšším přístupem, který může spravovat všechny aspekty vaší organizace." - }, - "admin": { - "message": "Administrátor" - }, - "adminDesc": { - "message": "Administrátoři mohou prohlížet a spravovat všechny položky, sbírky a uživatele ve vaší organizaci." - }, - "user": { - "message": "Uživatel" - }, - "userDesc": { - "message": "Běžný uživatel s přístupem k přiřazeným kolekcím vaší organizace." - }, - "manager": { - "message": "Správce" - }, - "managerDesc": { - "message": "Správci mohou přistupovat a spravovat přiřazené kolekce ve vaší organizaci." - }, - "all": { - "message": "Vše" - }, - "refresh": { - "message": "Obnovit" - }, - "timestamp": { - "message": "Časová značka" - }, - "event": { - "message": "Událost" - }, - "unknown": { - "message": "Neznámé" - }, - "loadMore": { - "message": "Načíst více" - }, - "mobile": { - "message": "Mobil", - "description": "Mobile app" - }, - "extension": { - "message": "Rozšíření", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Počítač", - "description": "Desktop app" - }, - "webVault": { - "message": "Webový trezor" - }, - "loggedIn": { - "message": "Přihlášen." - }, - "changedPassword": { - "message": "Heslo účtu bylo změněno" - }, - "enabledUpdated2fa": { - "message": "Dvoufázové přihlášení bylo povoleno/upraveno." - }, - "disabled2fa": { - "message": "Dvoufázové přihlášení bylo zakázáno" - }, - "recovered2fa": { - "message": "Obnovit účet z dvoufázového přihlášení." - }, - "failedLogin": { - "message": "Pokus o přihlášení se nezdařil s nesprávným heslem." - }, - "failedLogin2fa": { - "message": "Pokus o přihlášení se nezdařil s nesprávným dvoufázovým přihlášením." - }, - "exportedVault": { - "message": "Trezor byl exportován." - }, - "exportedOrganizationVault": { - "message": "Trezor organizace byl exportován." - }, - "editedOrgSettings": { - "message": "Nastavení organizace upraveno." - }, - "createdItemId": { - "message": "Položka $ID$ byla přidána.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Položka $ID$ byla upravena", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Položka $ID$ byla smazána.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Položka $ID$ byla nasdílena", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Položka $ID$ byla zobrazena.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Heslo pro položku $ID$ bylo zobrazeno.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Skryté pole pro položku $ID$ bylo zobrazeno.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Bezpečnostní kód pro položku $ID$ byl zobrazen.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Heslo pro položku $ID$ bylo zkopírováno.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Skryté pole pro položku $ID$ bylo zkopírováno.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Bezpečnostní kód pro položku $ID$ byl zkopírován.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Automaticky vyplněná položka $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Kolekce $ID$ byla přidána.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Kolekce $ID$ byla upravena", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Kolekce $ID$ byla smazána.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Zásady $ID$ upraveny.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Skupina $ID$ byla přidána.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Skupina $ID$ byla upravena.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Skupina $ID$ byla smazána.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Uživatel $ID$ byl odebrán.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Příloha pro položku $ID$ byla přidána.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Příloha pro položku $ID$ byla smazána.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Kolekce položky $ID$ byly upraveny.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Uživatel $ID$ byl pozván.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Uživatel $ID$ byl potvrzen.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Uživatel $ID$ byl upraven.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Skupiny uživatele $ID$ byly upraveny.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Odpojené SSO pro uživatele $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Zařízení" - }, - "view": { - "message": "Zobrazit" - }, - "invalidDateRange": { - "message": "Neplatné časové rozmezí." - }, - "errorOccurred": { - "message": "Došlo k chybě." - }, - "userAccess": { - "message": "Oprávnění uživatele" - }, - "userType": { - "message": "Typ uživatele" - }, - "groupAccess": { - "message": "Oprávnění skupiny" - }, - "groupAccessUserDesc": { - "message": "Upravit skupiny, do kterých uživatel spadá." - }, - "invitedUsers": { - "message": "Pozvaní uživatelé." - }, - "resendInvitation": { - "message": "Znovu poslat pozvánku" - }, - "hasBeenReinvited": { - "message": "Uživatel $USER$ byl znovu pozván.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Potvrdit" - }, - "confirmUser": { - "message": "Potvrdit uživatele" - }, - "hasBeenConfirmed": { - "message": "Uživatel $USER$ byl potvrzen.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Potvrdit uživatele" - }, - "usersNeedConfirmed": { - "message": "Někteří uživatelé přijali pozvánku, ale nejdříve musí být potvrzeni. Dokud nedojde k potvrzení, nebudou mít tito uživatelé přístup k organizaci." - }, - "startDate": { - "message": "Datum začátku" - }, - "endDate": { - "message": "Datum konce" - }, - "verifyEmail": { - "message": "Ověřit e-mail" - }, - "verifyEmailDesc": { - "message": "Ověřte e-mailovou adresu vašeho účtu pro získání přístupu ke všem funkcím." - }, - "verifyEmailFirst": { - "message": "E-mailová adresa vašeho účtu musí být ověřena." - }, - "checkInboxForVerification": { - "message": "Zkontrolujte svůj e-mail, měli byste obdržet odkaz pro ověření." - }, - "emailVerified": { - "message": "Vaše e-mailová adresa byla ověřena" - }, - "emailVerifiedFailed": { - "message": "Váš e-mail se nepodařilo ověřit. Zkuste odeslat nový ověřovací e-mail." - }, - "updateBrowser": { - "message": "Aktualizace prohlížeče" - }, - "updateBrowserDesc": { - "message": "Používáte nepodporovaný webový prohlížeč. Aplikace nemusí pracovat správně." - }, - "joinOrganization": { - "message": "Přidat se k organizaci" - }, - "joinOrganizationDesc": { - "message": "Byly jste pozváni do výše uvedené organizace. Pro přijetí pozvánky se musíte přihlásit nebo si založit nový účet." - }, - "inviteAccepted": { - "message": "Pozvánka byla přijata." - }, - "inviteAcceptedDesc": { - "message": "K této organizaci získáte přístup jakmile vám administrátor udělí členství. Až se tak stane, pošleme vám e-mail." - }, - "inviteAcceptFailed": { - "message": "Pozvánku nelze přijmout. Požádejte administrátora organizace o novou pozvánku." - }, - "inviteAcceptFailedShort": { - "message": "Pozvánku nelze přijmout. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Pamatovat si e-mail" - }, - "recoverAccountTwoStepDesc": { - "message": "Nemůžete-li přistoupit ke svému účtu pomocí běžné metody dvoufázového přihlášení, můžete použít váš kód pro obnovení dvoufázového přihlášení pro vypnutí všech dvoufázových ověření ve vašem účtu." - }, - "recoverAccountTwoStep": { - "message": "Obnovit dvoufázové přihlášení k účtu" - }, - "twoStepRecoverDisabled": { - "message": "Dvoufázové ověření na vašem účtu bylo vypnuto." - }, - "learnMore": { - "message": "Dozvědět se více" - }, - "deleteRecoverDesc": { - "message": "Zadejte svou e-mailovou adresu pro obnovení a odstranění vašeho účtu." - }, - "deleteRecoverEmailSent": { - "message": "Pokud váš účet existuje, zaslali jsme vám e-mail s dalšími pokyny." - }, - "deleteRecoverConfirmDesc": { - "message": "Vyžádali jste si odstranění vašeho Bitwarden účtu. Klepnutím na tlačítko níže akci potvrďte." - }, - "myOrganization": { - "message": "Má organizace" - }, - "deleteOrganization": { - "message": "Smazat organizaci" - }, - "deleteOrganizationDesc": { - "message": "Pokračujte níže pro smazání této organizace a všech souvisejících dat. Jednotlivé uživatelské účty zůstanou zachovány, i když již nebudou přidruženy k této organizaci." - }, - "deleteOrganizationWarning": { - "message": "Smazání organizace je trvalé. Tuto akci nelze vrátit zpět." - }, - "organizationDeleted": { - "message": "Organizace byla smazána." - }, - "organizationDeletedDesc": { - "message": "Organizace a veškerá související data byla smazána." - }, - "organizationUpdated": { - "message": "Organizace byla aktualizována." - }, - "taxInformation": { - "message": "Daňové údaje" - }, - "taxInformationDesc": { - "message": "Pro poskytnutí nebo aktualizaci daňových údajů pro vaše faktury kontaktujte zákaznickou podporu." - }, - "billingPlan": { - "message": "Plán", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Změnit plán", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Povyšte svůj účet na jiný plán zadáním údajů níže. Ujistěte se prosím, že máte k účtu přidaný platný způsob platby.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Pokud chcete změnit svůj plán, kontaktujte zákaznickou podporu. Ujistěte se prosím, zda máte k účtu přidán způsob platby.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Faktura #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "Zobrazit fakturu" - }, - "downloadInvoice": { - "message": "Stáhnout fakturu" - }, - "verifyBankAccount": { - "message": "Ověření bankovního účtu" - }, - "verifyBankAccountDesc": { - "message": "Provedli jsme dva mikro vklady na váš bankovní účet (může trvat 1 až 2 pracovní dny, než se zobrazí). Zadejte částky vkladů pro ověření vašeho bankovního účtu." - }, - "verifyBankAccountInitialDesc": { - "message": "Platba s bankovním účtem je k dispozici pouze zákazníkům ve Spojených státech. Budete vyzváni k ověření vašeho bankovního účtu. V následujících 1-2 pracovních dnech provedeme dva mikro-vklady. Zadejte tyto částky na fakturační stránce organizace pro ověření vašeho bankovního účtu." - }, - "verifyBankAccountFailureWarning": { - "message": "Neschopnost ověření vašeho bankovního účtu bude mít za následek zmeškání platby a zrušení vašeho předplatného." - }, - "verifiedBankAccount": { - "message": "Bankovní účet byl ověřen." - }, - "bankAccount": { - "message": "Bankovní účet" - }, - "amountX": { - "message": "Částka $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Směrovací číslo", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Číslo účtu" - }, - "accountHolderName": { - "message": "Jméno majitele účtu" - }, - "bankAccountType": { - "message": "Typ účtu" - }, - "bankAccountTypeCompany": { - "message": "Společnost (firma)" - }, - "bankAccountTypeIndividual": { - "message": "Individuální (osobní)" - }, - "enterInstallationId": { - "message": "Zadejte ID instalace" - }, - "addSeats": { - "message": "Přidat uživatele", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Odstranit uživatele", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Vaše předplatné vám dává prostor pro celkem $COUNT$ uživatelů.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Uživatelé k přidání" - }, - "seatsToRemove": { - "message": "Uživatelé k odebrání" - }, - "seatsAddNote": { - "message": "Přidání uživatelských míst bude mít za následek úpravy fakturačních součtů a okamžité dobití platební metody v souboru. První poplatek bude účtován pro zbytek aktuálního fakturačního cyklu." - }, - "seatsRemoveNote": { - "message": "Odebrání uživatelských míst bude mít za následek úpravy vašich fakturačních součtů, které budou účtovány jako kredity k vašemu dalšímu fakturačnímu poplatku." - }, - "adjustedSeats": { - "message": "Upraveno $AMOUNT$ uživatelských míst.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Klíč byl upraven." - }, - "updateKeyTitle": { - "message": "Aktualizovat klíč" - }, - "updateEncryptionKey": { - "message": "Aktualizovat šifrovací klíč" - }, - "updateEncryptionKeyShortDesc": { - "message": "Používáte zastaralé šifrovací schéma." - }, - "updateEncryptionKeyDesc": { - "message": "Přešli jsme na delší šifrovací klíče, které poskytují vyšší úroveň zabezpečení a přístup k novým funkcím. Aktualizace vašeho šifrovacího klíče je rychlá a snadná. Stačí níže zadat vaše hlavní heslo. Provedení této aktualizace může být v budoucnu povinné." - }, - "updateEncryptionKeyWarning": { - "message": "Po aktualizace šifrovacího klíče dojde k odhlášení a budete se muset opětovně přihlásit do všech Bitwarden aplikací, které aktuálně používáte (např. mobilní aplikace či rozšíření pro prohlížeč). Nezdaří-li se odhlášení a opětovné přihlášení (během něhož bude stažen nový šifrovací klíč), může dojít k poškození údajů. Pokusíme se vás automaticky odhlásit, nicméně, může to chvíli trvat." - }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." - }, - "subscription": { - "message": "Odběr" - }, - "loading": { - "message": "Načítání" - }, - "upgrade": { - "message": "Povýšit" - }, - "upgradeOrganization": { - "message": "Povýšit organizaci" - }, - "upgradeOrganizationDesc": { - "message": "Tato funkce je nedostupná pro bezplatné organizace. Přejděte na placené členství a odemkněte více funkcí." - }, - "createOrganizationStep1": { - "message": "Vytvoření organizace: Krok 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Před vytvořením organizace si musíte nejdříve vytvořit bezplatný osobní účet." - }, - "refunded": { - "message": "Platba vrácena" - }, - "nothingSelected": { - "message": "Nevybrali jste žádné položky." - }, - "acceptPolicies": { - "message": "Zaškrtnutím tohoto políčka souhlasím s následujícím:" - }, - "acceptPoliciesError": { - "message": "Terms of Service and Privacy Policy have not been acknowledged." - }, - "termsOfService": { - "message": "Podmínky služby" - }, - "privacyPolicy": { - "message": "Zásady ochrany osobních údajů" - }, - "filters": { - "message": "Filtry" - }, - "vaultTimeout": { - "message": "Časový limit trezoru" - }, - "vaultTimeoutDesc": { - "message": "Vyberte, kdy vyprší bezpečnostní limit trezoru. Poté bude provedena vybraná akce." - }, - "oneMinute": { - "message": "Po 1 minutě" - }, - "fiveMinutes": { - "message": "Po 5 minutách" - }, - "fifteenMinutes": { - "message": "Po 15 minutách" - }, - "thirtyMinutes": { - "message": "Po 30 minutách" - }, - "oneHour": { - "message": "Po 1 hodině" - }, - "fourHours": { - "message": "Po 4 hodinách" - }, - "onRefresh": { - "message": "Při obnově karty prohlížeče" - }, - "dateUpdated": { - "message": "Upraveno", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Heslo bylo změněno", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "Organizace je zakázána." - }, - "licenseIsExpired": { - "message": "Licence vypršela." - }, - "updatedUsers": { - "message": "Uživatelé byli aktualizováni" - }, - "selected": { - "message": "Vybrané" - }, - "ownership": { - "message": "Vlastnictví" - }, - "whoOwnsThisItem": { - "message": "Kdo vlastní tuto položku?" - }, - "strong": { - "message": "Silné", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Dobré", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Slabé", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Velmi slabé", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Slabé hlavní heslo" - }, - "weakMasterPasswordDesc": { - "message": "Zvolené hlavní heslo je slabé. Pro správnou ochranu účtu Bitwarden byste měli použít silné hlavní heslo (nebo heslovou frázi). Opravdu chcete toto heslo použít?" - }, - "rotateAccountEncKey": { - "message": "Změnit také šifrovací klíč k mému účtu" - }, - "rotateEncKeyTitle": { - "message": "Změnit šifrovací klíč" - }, - "rotateEncKeyConfirmation": { - "message": "Opravdu chcete změnit šifrovací klíč k vašemu účtu?" - }, - "attachmentsNeedFix": { - "message": "Tato položka obsahuje staré přílohy, které vyžadují opravu." - }, - "attachmentFixDesc": { - "message": "Tato stará příloha vyžaduje opravu. Klepnutím zobrazíte více informací." - }, - "fix": { - "message": "Opravit", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "Ve vašem trezoru jsou staré přílohy vyžadující opravu před změnou šifrovacího klíče k vašemu účtu." - }, - "yourAccountsFingerprint": { - "message": "Fráze otisku prstu vašeho účtu", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "Pro zajištění integrity vašich šifrovacích klíčů proveďte nejprve ověření fráze uživatelského otisku prstu.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Již se neptat na ověření fráze otisku prstu", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Zdarma", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "API klíč" - }, - "apiKeyDesc": { - "message": "Váš API klíč může být použit pro ověření přístupu k veřejnému Bitwarden API." - }, - "apiKeyRotateDesc": { - "message": "Změna API klíče zruší platnost předchozího klíče. API klíč můžete změnit, pokud se domníváte, že aktuální klíč již není bezpečný." - }, - "apiKeyWarning": { - "message": "Váš API klíč má plný přístup k organizaci. Měl by být uchován v tajnosti." - }, - "userApiKeyDesc": { - "message": "Your API key can be used to authenticate in the Bitwarden CLI." - }, - "userApiKeyWarning": { - "message": "Your API key is an alternative authentication mechanism. It should be kept secret." - }, - "oauth2ClientCredentials": { - "message": "OAuth 2.0 klientské údaje", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "Zobrazit API klíč" - }, - "rotateApiKey": { - "message": "Změnit API klíč" - }, - "selectOneCollection": { - "message": "Musíte vybrat alespoň jednu kolekci." - }, - "couldNotChargeCardPayInvoice": { - "message": "Nepodařilo se nám strhnout platbu z vaší karty. Prohlédněte si a zaplaťte nezaplacenou fakturu uvedenou níže." - }, - "inAppPurchase": { - "message": "Nákup v aplikaci" - }, - "cannotPerformInAppPurchase": { - "message": "Tuto akci nelze provést při použití platební metody „nákup v aplikaci“." - }, - "manageSubscriptionFromStore": { - "message": "Své předplatné musíte spravovat z obchodu, pomocí kterého byl nákup v aplikaci proveden." - }, - "minLength": { - "message": "Minimální délka" - }, - "clone": { - "message": "Duplikovat" - }, - "masterPassPolicyDesc": { - "message": "Nastavte minimální požadavky pro sílu hlavního hesla." - }, - "twoStepLoginPolicyDesc": { - "message": "Požadovat po uživatelích nastavení dvoufázového přihlášení pro jejich osobní účty." - }, - "twoStepLoginPolicyWarning": { - "message": "Členové organizace, kteří nemají povoleno dvoufázové přihlášení pro svůj osobní účet, budou odstraněni z organizace a obdrží e-mail, který je o změně informuje." - }, - "twoStepLoginPolicyUserWarning": { - "message": "Jste členem organizace, která vyžaduje použití dvoufázové přihlášení na vašem uživatelském účtu. Pokud zakážete všechny poskytovatele dvoufázového přihlášení, budete z takovýchto organizací automaticky odebráni." - }, - "passwordGeneratorPolicyDesc": { - "message": "Nastavení minimálních požadavků složitosti hesla pro konfiguraci generátoru hesel." - }, - "passwordGeneratorPolicyInEffect": { - "message": "Jedna nebo více zásad organizace ovlivňují nastavení generátoru." - }, - "masterPasswordPolicyInEffect": { - "message": "Jedna nebo více zásad organizace vyžaduje, aby hlavní heslo splňovalo následující požadavky:" - }, - "policyInEffectMinComplexity": { - "message": "Minimální skóre složitosti $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Minimální délka $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Obsahuje jedno nebo více velkých písmen" - }, - "policyInEffectLowercase": { - "message": "Obsahuje jedno nebo více malých písmen" - }, - "policyInEffectNumbers": { - "message": "Obsahuje jednu nebo více číslic" - }, - "policyInEffectSpecial": { - "message": "Obsahuje jeden nebo více následujících speciálních znaků: $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Vaše nové hlavní heslo nesplňuje požadavky zásad." - }, - "minimumNumberOfWords": { - "message": "Minimální počet slov" - }, - "defaultType": { - "message": "Výchozí typ" - }, - "userPreference": { - "message": "Uživatelská volba" - }, - "vaultTimeoutAction": { - "message": "Akce při vypršení časového limitu" - }, - "vaultTimeoutActionLockDesc": { - "message": "Trezor bude uzamčen. Pro opětovný přístup k trezoru bude vyžadováno hlavní heslo." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "Budete odhlášeni. Pro opětovný přístup k trezoru bude vyžadováno ověření." - }, - "lock": { - "message": "Zamknout", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Koš", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Hledat v koši" - }, - "permanentlyDelete": { - "message": "Trvale smazat" - }, - "permanentlyDeleteSelected": { - "message": "Trvale smazat vybrané" - }, - "permanentlyDeleteItem": { - "message": "Trvale smazat položku" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Opravdu chcete tuto položku trvale smazat?" - }, - "permanentlyDeletedItem": { - "message": "Trvale smazaná položka" - }, - "permanentlyDeletedItems": { - "message": "Trvale smazané položky" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "Vybrané položky ($COUNT$) budou trvale smazány. Opravdu chcete všechny vybrané položky trvale smazat?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Položka $ID$ trvale smazána.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Obnovit" - }, - "restoreSelected": { - "message": "Obnovit vybrané" - }, - "restoreItem": { - "message": "Obnovit položku" - }, - "restoredItem": { - "message": "Obnovená položka" - }, - "restoredItems": { - "message": "Obnovené položky" - }, - "restoreItemConfirmation": { - "message": "Opravdu chcete tuto položku obnovit?" - }, - "restoreItems": { - "message": "Obnovit položky" - }, - "restoreSelectedItemsDesc": { - "message": "Vybrané položky ($COUNT$) budou obnoveny. Opravdu chcete všechny vybrané položky obnovit?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Položka $ID$ obnovena.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Po vypršení časového limitu dojde k odhlášení. Přístup k trezoru bude odebrán a pro opětovné přihlášení bude vyžadováno online ověření. Opravdu chcete použít toto nastavení?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Potvrzení akce při vypršení časového limitu" - }, - "hidePasswords": { - "message": "Skrýt hesla" - }, - "countryPostalCodeRequiredDesc": { - "message": "Tyto informace potřebujeme pouze pro výpočet daně a pro finanční přehledy." - }, - "includeVAT": { - "message": "Zahrnout údaje o DPH (volitelné)" - }, - "taxIdNumber": { - "message": "DIČ" - }, - "taxInfoUpdated": { - "message": "Údaje pro DPH aktualizovány." - }, - "setMasterPassword": { - "message": "Nastavit hlavní heslo" - }, - "ssoCompleteRegistration": { - "message": "Chcete-li dokončit přihlášení pomocí SSO, nastavte prosím hlavní heslo pro přístup a ochranu vašeho trezoru." - }, - "identifier": { - "message": "Identifikátor" - }, - "organizationIdentifier": { - "message": "Identifikátor organizace" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Přihlaste se pomocí přihlašovacího portálu vaší organizace. Chcete-li začít, zadejte prosím identifikátor vaší organizace." - }, - "enterpriseSingleSignOn": { - "message": "Jednotné podnikové přihlášení" - }, - "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." - }, - "businessPortal": { - "message": "Podnikový portál", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "Všechny funkce Týmů, navíc:" - }, - "includeSsoAuthentication": { - "message": "Podnikové přihlášení prostřednictvím SAML2.0 a OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Podnikové politiky" - }, - "ssoValidationFailed": { - "message": "Ověření pomocí SSO selhalo" - }, - "ssoIdentifierRequired": { - "message": "Je vyžadován identifikátor organizace." - }, - "unlinkSso": { - "message": "Odebrat podnikové přihlášení" - }, - "linkSso": { - "message": "Propojit s podnikovým přihlášením" - }, - "webPoliciesDeprecationWarning": { - "message": "Policy configuration has been moved, and this page will soon be deprecated. Please click below to use the Business Portal policies page instead." - }, - "singleOrg": { - "message": "Single Organization" - }, - "singleOrgDesc": { - "message": "Restrict users from being able to join any other organizations." - }, - "singleOrgBlockCreateMessage": { - "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." - }, - "singleOrgPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and are already a member of another organization will be removed from your organization." - }, - "requireSso": { - "message": "Single Sign-On Authentication" - }, - "requireSsoPolicyDesc": { - "message": "Require users to log in with the Enterprise Single Sign-On method." - }, - "prerequisite": { - "message": "Prerequisite" - }, - "requireSsoPolicyReq": { - "message": "The Single Organization enterprise policy must be enabled before activating this policy." - }, - "requireSsoPolicyReqError": { - "message": "Single Organization policy not enabled." - }, - "requireSsoExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "sendTypeFile": { - "message": "Soubor" - }, - "sendTypeText": { - "message": "Text" - }, - "createSend": { - "message": "Create New Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Edit Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Created Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Edited Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Deleted Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Delete Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Are you sure you want to delete this Send?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "What type of Send is this?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Datum odstranění" - }, - "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Datum expirace" - }, - "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Maximum Access Count" - }, - "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Current Access Count" - }, - "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Private notes about this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Disabled" - }, - "sendLink": { - "message": "Odeslat odkaz", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Copy Send Link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Odstranit heslo" - }, - "removedPassword": { - "message": "Removed Password" - }, - "removePasswordConfirmation": { - "message": "Are you sure you want to remove the password?" - }, - "disableThisSend": { - "message": "Disable this Send so that no one can access it.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "All Sends" - }, - "maxAccessCountReached": { - "message": "Max access count reached" - }, - "pendingDeletion": { - "message": "Pending deletion" - }, - "expired": { - "message": "Expired" - }, - "searchSends": { - "message": "Search Sends", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "This Send is protected with a password. Please type the password below to continue.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Don't know the password? Ask the Sender for the password needed to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "This send is hidden by default. You can toggle its visibility using the button below.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Stáhnout soubor" - }, - "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "There are no Sends to list.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Emergency Access" - }, - "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." - }, - "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" - }, - "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." - }, - "addEmergencyContact": { - "message": "Add emergency contact" - }, - "designatedEmergencyContacts": { - "message": "Designated as emergency contact" - }, - "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." - }, - "inviteEmergencyContact": { - "message": "Invite emergency contact" - }, - "editEmergencyContact": { - "message": "Edit emergency contact" - }, - "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" - }, - "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" - }, - "viewDesc": { - "message": "Can view all items in your own vault." - }, - "takeover": { - "message": "Takeover" - }, - "takeoverDesc": { - "message": "Can reset your account with a new master password." - }, - "waitTime": { - "message": "Wait Time" - }, - "waitTimeDesc": { - "message": "Time required before automatically granting access." - }, - "oneDay": { - "message": "1 day" - }, - "days": { - "message": "$DAYS$ days", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Pozvaný uživatel." - }, - "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." - }, - "requestAccess": { - "message": "Request Access" - }, - "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Approve" - }, - "reject": { - "message": "Reject" - }, - "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Emergency access approved." - }, - "emergencyRejected": { - "message": "Emergency access rejected" - }, - "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Personal Ownership" - }, - "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." - }, - "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." - }, - "modifiedPolicyId": { - "message": "Modified policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Plan price" - }, - "estimatedTax": { - "message": "Estimated tax" - }, - "custom": { - "message": "Custom" - }, - "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." - }, - "permissions": { - "message": "Permissions" - }, - "accessBusinessPortal": { - "message": "Access Business Portal" - }, - "accessEventLogs": { - "message": "Access Event Logs" - }, - "accessImportExport": { - "message": "Access Import/Export" - }, - "accessReports": { - "message": "Access Reports" - }, - "manageAllCollections": { - "message": "Manage All Collections" - }, - "manageAssignedCollections": { - "message": "Manage Assigned Collections" - }, - "manageGroups": { - "message": "Manage Groups" - }, - "managePolicies": { - "message": "Manage Policies" - }, - "manageSso": { - "message": "Manage SSO" - }, - "manageUsers": { - "message": "Manage Users" - }, - "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." - }, - "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." - }, - "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" - }, - "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/da/messages.json b/locales/da/messages.json deleted file mode 100644 index cec29804..00000000 --- a/locales/da/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$ web-boks", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "Hvilken type element er dette?" - }, - "name": { - "message": "Navn" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "Ny URI" - }, - "username": { - "message": "Brugernavn" - }, - "password": { - "message": "Adgangskode" - }, - "newPassword": { - "message": "Ny adgangskode" - }, - "passphrase": { - "message": "Adgangssætning" - }, - "notes": { - "message": "Notater" - }, - "customFields": { - "message": "Brugerdefinerede felter" - }, - "cardholderName": { - "message": "Kortindehavers navn" - }, - "number": { - "message": "Nummer" - }, - "brand": { - "message": "Type" - }, - "expiration": { - "message": "Udløb" - }, - "securityCode": { - "message": "Sikkerhedskode (CVV)" - }, - "identityName": { - "message": "Identitetsnavn" - }, - "company": { - "message": "Virksomhed" - }, - "ssn": { - "message": "CPR-nummer" - }, - "passportNumber": { - "message": "Pasnummer" - }, - "licenseNumber": { - "message": "Kørekortnummer" - }, - "email": { - "message": "E-mail" - }, - "phone": { - "message": "Telefon" - }, - "january": { - "message": "Januar" - }, - "february": { - "message": "Februar" - }, - "march": { - "message": "Marts" - }, - "april": { - "message": "April" - }, - "may": { - "message": "Maj" - }, - "june": { - "message": "Juni" - }, - "july": { - "message": "Juli" - }, - "august": { - "message": "August" - }, - "september": { - "message": "September" - }, - "october": { - "message": "Oktober" - }, - "november": { - "message": "November" - }, - "december": { - "message": "December" - }, - "title": { - "message": "Titel" - }, - "mr": { - "message": "Hr" - }, - "mrs": { - "message": "Fru" - }, - "ms": { - "message": "Frk" - }, - "dr": { - "message": "Dr" - }, - "expirationMonth": { - "message": "Udløbsmåned" - }, - "expirationYear": { - "message": "Udløbsår" - }, - "authenticatorKeyTotp": { - "message": "Autentificeringsnøgle (TOTP)" - }, - "folder": { - "message": "Mappe" - }, - "newCustomField": { - "message": "Nyt brugerdefineret felt" - }, - "value": { - "message": "Værdi" - }, - "dragToSort": { - "message": "Træk for at sortere" - }, - "cfTypeText": { - "message": "Tekst" - }, - "cfTypeHidden": { - "message": "Skjult" - }, - "cfTypeBoolean": { - "message": "Boolsk" - }, - "remove": { - "message": "Fjern" - }, - "unassigned": { - "message": "Ikke tilknyttet" - }, - "noneFolder": { - "message": "Ingen mappe", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Tilføj mappe" - }, - "editFolder": { - "message": "Redigér mappe" - }, - "baseDomain": { - "message": "Grund-domæne" - }, - "host": { - "message": "Vært", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Nøjagtig" - }, - "startsWith": { - "message": "Begynder med" - }, - "regEx": { - "message": "Regulært udtryk", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Matchmetode", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Standard matchmetode", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Aldrig" - }, - "toggleVisibility": { - "message": "Slå synlighed til/fra" - }, - "toggleCollapse": { - "message": "Fold sammen/fold ud", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Generér adgangskode" - }, - "checkPassword": { - "message": "Undersøg om adgangskoden er blevet afsløret." - }, - "passwordExposed": { - "message": "Denne adgangskode er blevet afsløret $VALUE$ gang(e) i datalæk. Du burde skifte den.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "Denne adgangskode er ikke fundet i nogen kendte datalæk. Den burde være sikker at bruge." - }, - "save": { - "message": "Gem" - }, - "cancel": { - "message": "Annullér" - }, - "canceled": { - "message": "Annulleret" - }, - "close": { - "message": "Luk" - }, - "delete": { - "message": "Slet" - }, - "favorite": { - "message": "Favorit" - }, - "unfavorite": { - "message": "Fjern favorit" - }, - "edit": { - "message": "Redigér" - }, - "searchCollection": { - "message": "Søg i samling" - }, - "searchFolder": { - "message": "Søg i mappe" - }, - "searchFavorites": { - "message": "Søg i favoritter" - }, - "searchType": { - "message": "Søg type", - "description": "Search item type" - }, - "searchVault": { - "message": "Søg i boks" - }, - "allItems": { - "message": "Alle elementer" - }, - "favorites": { - "message": "Favoritter" - }, - "types": { - "message": "Typer" - }, - "typeLogin": { - "message": "Login" - }, - "typeCard": { - "message": "Kort" - }, - "typeIdentity": { - "message": "Identitet" - }, - "typeSecureNote": { - "message": "Sikret notat" - }, - "folders": { - "message": "Mapper" - }, - "collections": { - "message": "Samlinger" - }, - "firstName": { - "message": "Fornavn" - }, - "middleName": { - "message": "Mellemnavn" - }, - "lastName": { - "message": "Efternavn" - }, - "address1": { - "message": "Adresse 1" - }, - "address2": { - "message": "Adresse 2" - }, - "address3": { - "message": "Adresse 3" - }, - "cityTown": { - "message": "By" - }, - "stateProvince": { - "message": "Region" - }, - "zipPostalCode": { - "message": "Postnummer" - }, - "country": { - "message": "Land" - }, - "shared": { - "message": "Delt" - }, - "attachments": { - "message": "Vedhæftninger" - }, - "select": { - "message": "Vælg" - }, - "addItem": { - "message": "Tilføj element" - }, - "editItem": { - "message": "Redigér element" - }, - "viewItem": { - "message": "Vis element" - }, - "ex": { - "message": "eks.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Andet" - }, - "share": { - "message": "Del" - }, - "valueCopied": { - "message": "$VALUE$ kopieret", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Kopiér værdi", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Kopiér adgangskode", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Kopiér brugernavn", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Kopiér nummer", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Kopiér sikkerhedskode", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Kopiér URI", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "Min boks" - }, - "vault": { - "message": "Boks" - }, - "shareSelected": { - "message": "Del valgte" - }, - "deleteSelected": { - "message": "Slet valgte" - }, - "moveSelected": { - "message": "Flyt valgte" - }, - "selectAll": { - "message": "Vælg alle" - }, - "unselectAll": { - "message": "Fravælg alle" - }, - "launch": { - "message": "Start" - }, - "newAttachment": { - "message": "Tilføj ny vedhæftning" - }, - "deletedAttachment": { - "message": "Vedhæftning slettet" - }, - "deleteAttachmentConfirmation": { - "message": "Er du sikker på du vil slette denne vedhæftning?" - }, - "attachmentSaved": { - "message": "Vedhæftningen er blevet gemt." - }, - "file": { - "message": "Fil" - }, - "selectFile": { - "message": "Vælg en fil." - }, - "maxFileSize": { - "message": "Maksimum filstørrelse er 100 MB." - }, - "updateKey": { - "message": "Du kan ikke bruge denne funktion, før du opdaterer din krypteringsnøgle." - }, - "addedItem": { - "message": "Tilføjede element" - }, - "editedItem": { - "message": "Redigerede element" - }, - "sharedItem": { - "message": "Delte element" - }, - "sharedItems": { - "message": "Delte elementer" - }, - "deleteItem": { - "message": "Slet element" - }, - "deleteFolder": { - "message": "Slet mappe" - }, - "deleteAttachment": { - "message": "Slet vedhæftning" - }, - "deleteItemConfirmation": { - "message": "Er du sikker på, at du sende til papirkurven?" - }, - "deletedItem": { - "message": "Element sendt til papirkurven" - }, - "deletedItems": { - "message": "Elementer sendt til papirkurven" - }, - "movedItems": { - "message": "Flyttede elementer" - }, - "overwritePasswordConfirmation": { - "message": "Er du sikker på, at du vil overskrive den aktuelle adgangskode?" - }, - "editedFolder": { - "message": "Redigerede mappe" - }, - "addedFolder": { - "message": "Tilføjede mappe" - }, - "deleteFolderConfirmation": { - "message": "Er du sikker på du vil slette denne mappe?" - }, - "deletedFolder": { - "message": "Slettede mappe" - }, - "loggedOut": { - "message": "Logget ud" - }, - "loginExpired": { - "message": "Din login-session er udløbet." - }, - "logOutConfirmation": { - "message": "Er du sikker på, at du vil logge ud?" - }, - "logOut": { - "message": "Log ud" - }, - "ok": { - "message": "Ok" - }, - "yes": { - "message": "Ja" - }, - "no": { - "message": "Nej" - }, - "loginOrCreateNewAccount": { - "message": "Log ind eller opret en ny konto for at få adgang til din sikre boks." - }, - "createAccount": { - "message": "Opret konto" - }, - "logIn": { - "message": "Log ind" - }, - "submit": { - "message": "Indsend" - }, - "emailAddressDesc": { - "message": "Du bruger din e-mailadresse til at logge ind." - }, - "yourName": { - "message": "Dit navn" - }, - "yourNameDesc": { - "message": "Hvad skal vi kalde dig?" - }, - "masterPass": { - "message": "Hovedadgangskode" - }, - "masterPassDesc": { - "message": "Hovedadgangskoden er den adgangskode, du bruger til at få adgang til din boks. Det er meget vigtigt, at du ikke glemmer din hovedadgangskode. Der er ingen måde hvorpå koden kan genoprettes, i tilfælde af at du glemmer den." - }, - "masterPassHintDesc": { - "message": "Et tip til hovedadgangskoden kan hjælpe dig med at huske din adgangskode, hvis du glemmer den." - }, - "reTypeMasterPass": { - "message": "Gentast hovedadgangskode" - }, - "masterPassHint": { - "message": "Hovedadgangskodetip (valgfri)" - }, - "masterPassHintLabel": { - "message": "Hovedadgangskodetip" - }, - "settings": { - "message": "Indstillinger" - }, - "passwordHint": { - "message": "Adgangskodetip" - }, - "enterEmailToGetHint": { - "message": "Indtast din kontos e-mailadresse for at modtage dit hovedadgangskodetip." - }, - "getMasterPasswordHint": { - "message": "Få hovedadgangskodetip" - }, - "emailRequired": { - "message": "E-mailadresse er påkrævet." - }, - "invalidEmail": { - "message": "Ugyldig e-mailadresse." - }, - "masterPassRequired": { - "message": "Hovedadgangskode er påkrævet." - }, - "masterPassLength": { - "message": "Hovedadgangskoden skal være på mindst 8 tegn." - }, - "masterPassDoesntMatch": { - "message": "De to hovedadgangskoder matcher ikke." - }, - "newAccountCreated": { - "message": "Din nye konto er oprettet! Du kan nu logge ind." - }, - "masterPassSent": { - "message": "Vi har sendt dig en e-mail med dit hovedadgangskodetip." - }, - "unexpectedError": { - "message": "Der opstod en uventet fejl." - }, - "emailAddress": { - "message": "E-mailadresse" - }, - "yourVaultIsLocked": { - "message": "Din boks er låst. Bekræft din hovedadgangskode for at fortsætte." - }, - "unlock": { - "message": "Lås op" - }, - "loggedInAsEmailOn": { - "message": "Logget ind som $EMAIL$ på $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Ugyldig hovedadgangskode" - }, - "lockNow": { - "message": "Lås nu" - }, - "noItemsInList": { - "message": "Der er ingen elementer at vise." - }, - "noCollectionsInList": { - "message": "Der er ingen samlinger at vise." - }, - "noGroupsInList": { - "message": "Der er ingen grupper at vise." - }, - "noUsersInList": { - "message": "Der er ingen brugere at vise." - }, - "noEventsInList": { - "message": "Der er ingen begivenheder at vise." - }, - "newOrganization": { - "message": "Ny organisation" - }, - "noOrganizationsList": { - "message": "Du tilhører ikke nogen organisationer. Organisationer giver dig mulighed for at dele elementer med andre brugere på en sikker måde." - }, - "versionNumber": { - "message": "Version $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Indtast den 6-cifrede verifikationskode fra din autentificeringsapp." - }, - "enterVerificationCodeEmail": { - "message": "Indtast den 6-cifrede verifikationskode, der blev sendt til $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "Bekræftelsesmail sendt til $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Husk mig" - }, - "sendVerificationCodeEmailAgain": { - "message": "Send verifikationskode-email igen" - }, - "useAnotherTwoStepMethod": { - "message": "Brug en anden to-trins-loginmetode" - }, - "insertYubiKey": { - "message": "Indsæt din YubiKey i din computers USB-port, og tryk derefter på dens knap." - }, - "insertU2f": { - "message": "Indsæt din sikkerhedsnøgle i din computers USB-port. Hvis den har en knap, tryk på den." - }, - "loginUnavailable": { - "message": "Login ikke tilgængelig" - }, - "noTwoStepProviders": { - "message": "Denne konto har to-trins login aktiveret, men ingen af de konfigurerede to-trins udbydere understøttes af denne webbrowser." - }, - "noTwoStepProviders2": { - "message": "Du skal bruge en understøttet webbrowser (såsom Chrome) og/eller tilføje ekstra udbydere, der understøttes bedre på tværs af webbrowsere (f.eks. en autentificeringsapp)." - }, - "twoStepOptions": { - "message": "To-trins-login indstillinger" - }, - "recoveryCodeDesc": { - "message": "Mistet adgang til alle dine to-faktor-udbydere? Brug din genoprettelseskode til at deaktivere alle to-faktor udbydere på din konto." - }, - "recoveryCodeTitle": { - "message": "Gendannelseskode" - }, - "authenticatorAppTitle": { - "message": "Autentificerings-app" - }, - "authenticatorAppDesc": { - "message": "Brug en autentificeringsapp (f.eks. Authy eller Google Autentificering) til at generere tidsbaserede bekræftelseskoder.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "YubiKey OTP sikkerhedsnøgle" - }, - "yubiKeyDesc": { - "message": "Brug en YubiKey til at få adgang til din konto. Virker med YubiKey 4 serien, 5 serien og NEO enheder." - }, - "duoDesc": { - "message": "Bekræft med Duo Security ved hjælp af Duo Mobile app, SMS, telefonopkald eller U2F sikkerhedsnøgle.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Bekræft med Duo Security for din organisation ved hjælp af Duo Mobile app, SMS, telefonopkald eller U2F-sikkerhedsnøgle.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Brug hvilken som helst FIDO U2F-aktiveret sikkerhedsnøgle til at få adgang til din konto." - }, - "u2fTitle": { - "message": "FIDO U2F sikkerhedsnøgle" - }, - "emailTitle": { - "message": "E-mail" - }, - "emailDesc": { - "message": "Bekræftelseskoder vil blive e-mailet til dig." - }, - "continue": { - "message": "Fortsæt" - }, - "organization": { - "message": "Organisation" - }, - "organizations": { - "message": "Organisationer" - }, - "shareDesc": { - "message": "Vælg en organisation, som du ønsker at dele dette element med. Deling overfører ejerskab af elementet til organisationen. Du vil ikke længere være den direkte ejer af dette element, når det er blevet delt." - }, - "shareManyDesc": { - "message": "Vælg en organisation, som du ønsker at dele disse elementer med. Deling overfører ejerskab af elementerne til organisationen. Du vil ikke længere være den direkte ejer af disse elementer, når de er blevet delt." - }, - "collectionsDesc": { - "message": "Redigér de samlinger, som dette element deles med. Kun organisationsbrugere med adgang til disse samlinger vil kunne se dette element." - }, - "deleteSelectedItemsDesc": { - "message": "Du har valgt $COUNT$ element(er), der skal slettes. Er du sikker på, at du vil slette alle disse elementer?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Vælg en mappe, som du vil flytte de(t) $COUNT$ valgte element(er) til.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "Du har valgt $COUNT$ element(er). $SHAREABLE_COUNT$ element(er) kan deles, $NONSHAREABLE_COUNT$ kan ikke.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Bekræftelseskode (TOTP)" - }, - "copyVerificationCode": { - "message": "Kopiér bekræftelseskoden" - }, - "warning": { - "message": "Advarsel" - }, - "confirmVaultExport": { - "message": "Bekræft eksport af boks" - }, - "exportWarningDesc": { - "message": "Denne eksport indeholder dine boksdata i ukrypteret form. Du bør ikke gemme eller sende den eksporterede fil over usikre kanaler (f.eks. e-mail). Slet den straks efter at du er færdig med at bruge den." - }, - "encExportWarningDesc": { - "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." - }, - "exportMasterPassword": { - "message": "Indtast din hovedadgangskode for at eksportere dine data fra boksen." - }, - "exportVault": { - "message": "Eksportér boks" - }, - "fileFormat": { - "message": "Filformat" - }, - "exportSuccess": { - "message": "Dine boksdata er blevet eksporteret." - }, - "passwordGenerator": { - "message": "Adgangskodegenerator" - }, - "minComplexityScore": { - "message": "Minimum kompleksitetsscore" - }, - "minNumbers": { - "message": "Mindste antal cifre" - }, - "minSpecial": { - "message": "Mindste antal specialtegn", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Undgå tvetydige tegn" - }, - "regeneratePassword": { - "message": "Regenerér adgangskode" - }, - "length": { - "message": "Længde" - }, - "numWords": { - "message": "Antal ord" - }, - "wordSeparator": { - "message": "Ordseparator" - }, - "capitalize": { - "message": "Stort begyndelsesbogstav", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Inkludér ciffer" - }, - "passwordHistory": { - "message": "Adgangskodehistorik" - }, - "noPasswordsInList": { - "message": "Der er ingen adgangskoder at vise." - }, - "clear": { - "message": "Ryd", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Konto opdateret" - }, - "changeEmail": { - "message": "Skift e-mail" - }, - "newEmail": { - "message": "Ny e-mail" - }, - "code": { - "message": "Kode" - }, - "changeEmailDesc": { - "message": "Vi har sendt en bekræftelseskode til $EMAIL$. Tjek venligst din e-mail for denne kode og indtast den nedenfor for at afslutte e-mailadresseændringen.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Ved at fortsætte vil du blive logget ud af din nuværende session, og du skal logge ind igen. Aktive sessioner på andre enheder kan fortsat forblive aktive i op til én time." - }, - "emailChanged": { - "message": "E-mail ændret" - }, - "logBackIn": { - "message": "Log venligst ind igen." - }, - "logBackInOthersToo": { - "message": "Log venligst ind igen. Hvis du bruger andre Bitwarden-applikationer, så log ud og ind igen på dem også." - }, - "changeMasterPassword": { - "message": "Skift hovedadgangskode" - }, - "masterPasswordChanged": { - "message": "Hovedadgangskode ændret" - }, - "currentMasterPass": { - "message": "Nuværende hovedadgangskode" - }, - "newMasterPass": { - "message": "Ny hovedadgangskode" - }, - "confirmNewMasterPass": { - "message": "Bekræft ny hovedadgangskode" - }, - "encKeySettings": { - "message": "Indstillinger for krypteringsnøgle" - }, - "kdfAlgorithm": { - "message": "KDF algoritme" - }, - "kdfIterations": { - "message": "KDF iterationer" - }, - "kdfIterationsDesc": { - "message": "Flere KDF iterationer kan hjælpe med at beskytte din hovedadgangskode imod brute force angreb. Vi anbefaler en værdi på $VALUE$ eller mere.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Hvis du indstiller dine KDF iterationer for højt, kan det resultere i dårlig ydeevne, når du logger ind på (og låser op for) Bitwarden på enheder med langsomme CPU'er. Vi anbefaler at du øger værdien i trin på $INCREMENT$ og derefter tester alle dine enheder.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Ændre KDF" - }, - "encKeySettingsChanged": { - "message": "Krypteringsnøgleindstillinger ændret" - }, - "dangerZone": { - "message": "Farezone" - }, - "dangerZoneDesc": { - "message": "Pas på, disse handlinger kan ikke fortrydes!" - }, - "deauthorizeSessions": { - "message": "Fjern godkendelsen fra sessioner" - }, - "deauthorizeSessionsDesc": { - "message": "Bekymret for om din konto er logget ind på en anden enhed? Fortsæt nedenfor for at fjerne godkendelsen for alle computere eller enheder, som du tidligere har brugt. Dette sikkerhedstrin anbefales, hvis du tidligere har brugt en offentlig computer eller ved et uheld har gemt dit kodeord på en enhed, der ikke er din. Dette trin fjerner også alle tidligere huskede to-trins-login sessioner." - }, - "deauthorizeSessionsWarning": { - "message": "Ved at fortsætte vil du også blive logget ud af din nuværende session, og du skal logge ind igen. Du bliver også bedt om to-trins login igen, hvis det er aktiveret. Aktive sessioner på andre enheder kan fortsat forblive aktive i op til én time." - }, - "sessionsDeauthorized": { - "message": "Godkendelsen er fjernet fra alle sessioner" - }, - "purgeVault": { - "message": "Tøm boks" - }, - "purgedOrganizationVault": { - "message": "Organisationsboks tømt." - }, - "purgeVaultDesc": { - "message": "Fortsæt nedenfor for at slette alle elementer og mapper i din boks. Elementer, der tilhører en organisation du deler med, slettes ikke." - }, - "purgeOrgVaultDesc": { - "message": "Fortsæt nedenfor for at slette alle elementer i organisationens boks." - }, - "purgeVaultWarning": { - "message": "Tømning af din boks er permanent. Det kan ikke fortrydes." - }, - "vaultPurged": { - "message": "Din boks er blevet tømt." - }, - "deleteAccount": { - "message": "Slet konto" - }, - "deleteAccountDesc": { - "message": "Fortsæt nedenfor for at slette din konto og alle tilknyttede data." - }, - "deleteAccountWarning": { - "message": "Sletning af din konto er permanent. Det kan ikke fortrydes." - }, - "accountDeleted": { - "message": "Konto slettet" - }, - "accountDeletedDesc": { - "message": "Din konto er blevet lukket, og alle tilknyttede data er blevet slettet." - }, - "myAccount": { - "message": "Min konto" - }, - "tools": { - "message": "Værktøjer" - }, - "importData": { - "message": "Importér data" - }, - "importSuccess": { - "message": "Data er blevet importeret til din boks med success." - }, - "importFormatError": { - "message": "Data er ikke formateret korrekt. Kontroller din importfil og prøv igen." - }, - "importNothingError": { - "message": "Intet blev importeret." - }, - "selectFormat": { - "message": "Vælg formatet for importfilen" - }, - "selectImportFile": { - "message": "Vælg importfil" - }, - "orCopyPasteFileContents": { - "message": "eller kopiér/indsæt importfilens indhold" - }, - "instructionsFor": { - "message": "$NAME$ instruktioner", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Indstillinger" - }, - "optionsDesc": { - "message": "Tilpas din web-boks oplevelse." - }, - "optionsUpdated": { - "message": "Indstillinger opdateret" - }, - "language": { - "message": "Sprog" - }, - "languageDesc": { - "message": "Skift det sprog, der bruges af web-boksen." - }, - "disableIcons": { - "message": "Slå webikoner fra" - }, - "disableIconsDesc": { - "message": "Webikoner vises som et genkendeligt billede ved siden af hvert loginelement i din boks." - }, - "enableGravatars": { - "message": "Aktivér Gravatars", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Brug avatar billeder hentet fra gravatar.com." - }, - "enableFullWidth": { - "message": "Aktivér layout med fuld bredde", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Lad web-boksen udfylde browservinduets fulde bredde." - }, - "default": { - "message": "Standard" - }, - "domainRules": { - "message": "Domæneregler" - }, - "domainRulesDesc": { - "message": "Hvis du har samme login på tværs af flere forskellige website-domæner, kan du markere hjemmesiden som \"ækvivalent\". \"Globale\" domæner er dem, der allerede er oprettet til dig af Bitwarden." - }, - "globalEqDomains": { - "message": "Globale ækvivalente domæner" - }, - "customEqDomains": { - "message": "Brugerdefinerede ækvivalente domæner" - }, - "exclude": { - "message": "Udeluk" - }, - "include": { - "message": "Inkluder" - }, - "customize": { - "message": "Tilpas" - }, - "newCustomDomain": { - "message": "Nyt brugerdefineret domæne" - }, - "newCustomDomainDesc": { - "message": "Indtast en liste over domæner adskilt af kommaer. Kun \"grund\"-domæner er tilladt. Indtast ikke underdomæner. F.eks. Indtast \"google.com\" i stedet for \"www.google.com\". Du kan også indtaste \"androidapp://package.name\" for at knytte en androidapp til andre website-domæner." - }, - "customDomainX": { - "message": "Brugerdefineret domæne $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Domæner opdateret" - }, - "twoStepLogin": { - "message": "To-trins login" - }, - "twoStepLoginDesc": { - "message": "Gør din konto sikrere ved at kræve et ekstra trin, når du logger ind." - }, - "twoStepLoginOrganizationDesc": { - "message": "Kræv to-trins login for din organisations brugere ved at konfigurere udbydere på organisationsniveau." - }, - "twoStepLoginRecoveryWarning": { - "message": "Aktivering af to-trins login kan permanent låse dig ud af din Bitwarden-konto. En gendannelseskode giver dig mulighed for at få adgang til din konto, hvis du ikke længere kan bruge din normale to-trins login-leverandør (f.eks. hvis du mister din enhed). Bitwarden-support kan ikke hjælpe dig, hvis du mister adgangen til din konto. Vi anbefaler at du nedskriver eller udskriver genoprettelseskoden og gemmer den på et sikkert sted." - }, - "viewRecoveryCode": { - "message": "Vis gendannelseskode" - }, - "providers": { - "message": "Udbydere", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Aktivér" - }, - "enabled": { - "message": "Aktiveret" - }, - "premium": { - "message": "Premium", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Premium-medlemskab" - }, - "premiumRequired": { - "message": "Premium påkrævet" - }, - "premiumRequiredDesc": { - "message": "Premium-medlemskab kræves for at anvende denne funktion." - }, - "youHavePremiumAccess": { - "message": "Du har premium adgang" - }, - "alreadyPremiumFromOrg": { - "message": "Du har allerede adgang til premium-funktioner på grund af en organisation, du er medlem af." - }, - "manage": { - "message": "Håndtér" - }, - "disable": { - "message": "Deaktivér" - }, - "twoStepLoginProviderEnabled": { - "message": "Denne to-trins-login udbyder er aktiveret på din konto." - }, - "twoStepLoginAuthDesc": { - "message": "Indtast din hovedadgangskode for at ændre to-trin-login indstillinger." - }, - "twoStepAuthenticatorDesc": { - "message": "Følg disse trin for at konfigurere to-trins-login med en autentiseringsapp:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Download en to-trins-autentiseringsapp" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Brug for en to-trins-autentiseringsapp? Download en af følgende" - }, - "iosDevices": { - "message": "iOS-enheder" - }, - "androidDevices": { - "message": "Android-enheder" - }, - "windowsDevices": { - "message": "Windows-enheder" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "Disse apps anbefales, men andre autentificeringsapps vil også fungere." - }, - "twoStepAuthenticatorScanCode": { - "message": "Scan denne QR-kode med din autentiseringsapp" - }, - "key": { - "message": "Nøgle" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Indtast den 6-cifrede verifikationskode fra appen" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "Hvis du har brug for at tilføje den til en anden enhed, er nedenstående QR-koden (eller nøglen), der kræves af din autentificeringsapp." - }, - "twoStepDisableDesc": { - "message": "Er du sikker på, at du vil deaktivere denne to-trins-login udbyder?" - }, - "twoStepDisabled": { - "message": "To-trins-login udbyder deaktiveret." - }, - "twoFactorYubikeyAdd": { - "message": "Tilføj en ny YubiKey til din konto" - }, - "twoFactorYubikeyPlugIn": { - "message": "Sæt YubiKey'en i din computers USB-port." - }, - "twoFactorYubikeySelectKey": { - "message": "Vælg det første tomme YubiKey-indtastningsfelt nedenfor." - }, - "twoFactorYubikeyTouchButton": { - "message": "Tryk på YubiKey knappen." - }, - "twoFactorYubikeySaveForm": { - "message": "Gem formularen." - }, - "twoFactorYubikeyWarning": { - "message": "På grund af platformbegrænsninger kan YubiKeys ikke bruges på alle Bitwarden-applikationer. Du bør aktivere en anden to-trins login udbyder, så du kan få adgang til din konto, når YubiKeys ikke kan benyttes. Understøttede platforme:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Web-boks, desktop-program, CLI og alle browserudvidelser på en enhed med en USB-port, der kan benyttes af din YubiKey." - }, - "twoFactorYubikeySupportMobile": { - "message": "Mobilapps på en enhed med NFC-understøttelse eller en data-port, der kan benyttes af din YubiKey." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "U2F nøgle $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "NFC understøttelse" - }, - "twoFactorYubikeySupportsNfc": { - "message": "En af mine nøgler understøtter NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "Hvis en af dine YubiKeys understøtter NFC (f.eks. en YubiKey NEO), bliver du bedt om denne på mobilenheder, når NFC-tilgængelighed registreres." - }, - "yubikeysUpdated": { - "message": "YubiKeys opdateret" - }, - "disableAllKeys": { - "message": "Deaktivér alle nøgler" - }, - "twoFactorDuoDesc": { - "message": "Indtast Bitwarden-programoplysningerne fra dit Duo-administrationspanel." - }, - "twoFactorDuoIntegrationKey": { - "message": "Integrationsnøgle" - }, - "twoFactorDuoSecretKey": { - "message": "Hemmelig nøgle" - }, - "twoFactorDuoApiHostname": { - "message": "API værtsnavn" - }, - "twoFactorEmailDesc": { - "message": "Følg disse trin for at konfigurere to-trins-login med e-mail:" - }, - "twoFactorEmailEnterEmail": { - "message": "Indtast den e-mail, som du ønsker skal modtage verifikationskoder" - }, - "twoFactorEmailEnterCode": { - "message": "Indtast den 6-cifrede verifikationskode fra e-mailen" - }, - "sendEmail": { - "message": "Send e-mail" - }, - "twoFactorU2fAdd": { - "message": "Tilføj en FIDO U2F sikkerhedsnøgle til din konto" - }, - "removeU2fConfirmation": { - "message": "Er du sikker på, at du vil fjerne denne sikkerhedsnøgle?" - }, - "readKey": { - "message": "Læs nøgle" - }, - "keyCompromised": { - "message": "Nøglen er kompromitteret." - }, - "twoFactorU2fGiveName": { - "message": "Giv sikkerhedsnøglen et brugervenligt navn til at identificere den." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Sæt sikkerhedsnøglen i computerens USB-port, og klik på knappen \"Læs nøgle\"." - }, - "twoFactorU2fTouchButton": { - "message": "Hvis sikkerhedsnøglen har en knap, skal du trykke på den." - }, - "twoFactorU2fSaveForm": { - "message": "Gem formularen." - }, - "twoFactorU2fWarning": { - "message": "På grund af platformbegrænsninger kan FIDO U2F ikke bruges på alle Bitwarden-applikationer. Du bør aktivere en anden to-trins login udbyder, så du kan få adgang til din konto, når FIDO U2F ikke kan benyttes. Understøttede platforme:" - }, - "twoFactorU2fSupportWeb": { - "message": "Web-boks og browserudvidelser på en desktop/laptop med en U2F-aktiveret browser (Chrome, Opera, Vivaldi eller Firefox med FIDO U2F aktiveret)." - }, - "twoFactorU2fWaiting": { - "message": "Venter på at du trykker på knappen på din sikkerhedsnøgle" - }, - "twoFactorU2fClickSave": { - "message": "Klik på \"Gem\" knappen nedenfor for at aktivere denne sikkerhedsnøgle til to-trins login." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "Der opstod et problem med at læse sikkerhedsnøglen. Prøv igen." - }, - "twoFactorRecoveryYourCode": { - "message": "Din Bitwarden to-trins-login gendannelseskode" - }, - "twoFactorRecoveryNoCode": { - "message": "Du har ikke aktiveret nogle to-trins-login-udbydere endnu. Når du har aktiveret en to-trins-login-udbyder, kan du se din gendannelseskode her." - }, - "printCode": { - "message": "Udskriv kode", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Rapporter" - }, - "unsecuredWebsitesReport": { - "message": "Rapport over ikke-sikrede hjemmesider" - }, - "unsecuredWebsitesReportDesc": { - "message": "Brug af ikke-sikrede hjemmesider med http://-protokollen kan være farlig. Hvis hjemmesiden tillader det, skal du altid tilgå det ved hjælp af https://-protokollen, så din forbindelse er krypteret." - }, - "unsecuredWebsitesFound": { - "message": "Ikke-sikrede hjemmesider fundet" - }, - "unsecuredWebsitesFoundDesc": { - "message": "Vi fandt $COUNT$ elementer i din boks med ikke-sikreded URI'er. Du bør ændre deres URI-protokol til https:// hvis hjemmesiden tillader det.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "Ingen elementer i din boks har ikke-sikrede URI'er." - }, - "inactive2faReport": { - "message": "Rapport over inaktive 2FA" - }, - "inactive2faReportDesc": { - "message": "To-faktor autentificering (2FA) er en vigtig sikkerhedsindstilling, der hjælper med at sikre dine konti. Hvis hjemmesiden tilbyder det, skal du altid aktivere to-faktor autentificering." - }, - "inactive2faFound": { - "message": "Logins uden 2FA fundet" - }, - "inactive2faFoundDesc": { - "message": "Vi har fundet $COUNT$ hjemmeside(r) i din boks, der muligvis ikke er konfigureret med to-faktor autentificering (ifølge 2fa.directory). For at beskytte disse konti yderligere bør du aktivere to-faktor autentificering.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "Der blev ikke fundet nogen hjemmesider i din boks med manglende konfiguration af to-faktor autentificering." - }, - "instructions": { - "message": "Instruktioner" - }, - "exposedPasswordsReport": { - "message": "Rapport over afslørede adgangskoder" - }, - "exposedPasswordsReportDesc": { - "message": "Afslørede adgangskoder er adgangskoder, der er blevet afsløret i kendte datalæk og er blevet offentliggjort eller solgt på det mørke web af hackere." - }, - "exposedPasswordsFound": { - "message": "Afslørede adgangskoder fundet" - }, - "exposedPasswordsFoundDesc": { - "message": "Vi fandt $COUNT$ elementer i din boks, som har adgangskoder, der blev afsløret i kendte datalæk. Du bør ændre dem og bruge en ny adgangskode.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "Ingen elementer i din boks har adgangskoder, der har været afsløret i kendte datalæk." - }, - "checkExposedPasswords": { - "message": "Tjek for afslørede adgangskoder" - }, - "exposedXTimes": { - "message": "Afsløret $COUNT$ gang(e)", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Rapport over svage adgangskoder" - }, - "weakPasswordsReportDesc": { - "message": "Svage adgangskoder kan nemt gættes af hackere og automatiserede værktøjer, der bruges til at knække adgangskoder. Bitwarden adgangskodegenerator kan hjælpe dig med at oprette stærke adgangskoder." - }, - "weakPasswordsFound": { - "message": "Svage adgangskoder fundet" - }, - "weakPasswordsFoundDesc": { - "message": "Vi fandt $COUNT$ elementer i din boks med adgangskoder, der ikke er stærke. Du bør opdatere dem og bruge stærkere adgangskoder.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "Ingen elementer i din boks har svage adgangskoder." - }, - "reusedPasswordsReport": { - "message": "Rapport over genbrugte adgangskoder" - }, - "reusedPasswordsReportDesc": { - "message": "Hvis en tjeneste, som du bruger, bliver kompromitteret, kan genbrug af samme adgangskode andetsteds tillade, at hackere nemt får adgang til flere af dine onlinekonti. Du bør bruge en unik adgangskode for hver konto eller tjeneste." - }, - "reusedPasswordsFound": { - "message": "Genbrugte adgangskoder fundet" - }, - "reusedPasswordsFoundDesc": { - "message": "Vi fandt $COUNT$ adgangskoder, der genbruges i din boks. Du bør ændre dem til unikke koder.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "Ingen logins i din boks har adgangskoder, der genbruges." - }, - "reusedXTimes": { - "message": "Genbrugt $COUNT$ gange", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Datalæk rapport" - }, - "breachDesc": { - "message": "Et \"læk\" er en hændelse, hvor et websteds data er blevet ulovligt tilgået til af hackere og derefter offentliggjort. Gennemgå de typer af data, der blev kompromitteret (e-mailadresser, adgangskoder, kreditkort osv.) og træf passende foranstaltninger, som f.eks. ændring af adgangskoder." - }, - "breachCheckUsernameEmail": { - "message": "Kontroller eventuelle brugernavne eller e-mailadresser, som du bruger." - }, - "checkBreaches": { - "message": "Kontroller læk" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ blev ikke fundet i nogen kendte datalæk.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Gode nyheder", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ blev fundet i $COUNT$ online datalæk.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Lækkede konti fundet" - }, - "compromisedData": { - "message": "Kompromitterede data" - }, - "website": { - "message": "Hjemmeside" - }, - "affectedUsers": { - "message": "Berørte brugere" - }, - "breachOccurred": { - "message": "Læk forekom" - }, - "breachReported": { - "message": "Læk rapporteret" - }, - "reportError": { - "message": "Der opstod en fejl under forsøget på at indlæse rapporten. Prøv igen" - }, - "billing": { - "message": "Fakturering" - }, - "accountCredit": { - "message": "Kontoindestående", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Kontobalance", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Indbetal beløb", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Beløb", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Indbetalte beløb vil blive vist på din konto, efter at betalingen er blevet fuldstændig behandlet. Nogle betalingsmetoder er forsinket og kan tage længere tid at behandle end andre." - }, - "makeSureEnoughCredit": { - "message": "Sørg for, at din konto har tilstrækkelig indestående til rådighed for dette køb. Hvis din konto ikke har tilstrækkelig indestående til rådighed, bruges din normale betalingsmetode til at dække forskellen. Du kan indbetale til din konto på faktureringssiden." - }, - "creditAppliedDesc": { - "message": "Din kontos indestående kan bruges til at foretage køb. Ledig indestående vil automatisk blive anvendt til fakturaer for denne konto." - }, - "goPremium": { - "message": "Skift til Premium", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "Du har opgraderet til premium." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Opgradér din konto til et premium-medlemskab og lås op for nogle fantastiske ekstra funktioner." - }, - "premiumSignUpStorage": { - "message": "1 GB krypteret lager til vedhæftede filer." - }, - "premiumSignUpTwoStep": { - "message": "Yderligere to-trins-loginmuligheder såsom YubiKey, FIDO U2F og Duo." - }, - "premiumSignUpReports": { - "message": "Adgangskodehygiejne, kontosundhed og rapporter om datalæk til at holde din boks sikker." - }, - "premiumSignUpTotp": { - "message": "TOTP verifikationskode (2FA) generator til logins i din boks." - }, - "premiumSignUpSupport": { - "message": "Prioriteret kundeservice." - }, - "premiumSignUpFuture": { - "message": "Alle fremtidige premium-funktioner. Mere kommer snart!" - }, - "premiumPrice": { - "message": "Alt dette for kun $PRICE$ /år!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Tilføjelser" - }, - "premiumAccess": { - "message": "Premium adgang" - }, - "premiumAccessDesc": { - "message": "Du kan tilføje premium adgang til alle medlemmer af din organisation for $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Ekstra lagerplads (GB)" - }, - "additionalStorageGbDesc": { - "message": "# af ekstra GB" - }, - "additionalStorageIntervalDesc": { - "message": "Dit abonnement indeholder $SIZE$ krypteret fillagring. Du kan tilføje ekstra lagerplads til $PRICE$ per GB / $INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Resumé" - }, - "total": { - "message": "Samlet" - }, - "year": { - "message": "år" - }, - "month": { - "message": "måned" - }, - "monthAbbr": { - "message": "md.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Din valgte betalingsmetode vil blive opkrævet straks og derefter løbende hvert år. Du kan til enhver tid opsige." - }, - "paymentCharged": { - "message": "Din valgte betalingsmetode vil blive opkrævet straks og derefter løbende hvert $INTERVAL$. Du kan til enhver tid opsige.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Dit abonnement kommer med en gratis 7-dages prøveperiode. Din valgte betalingsmetode vil ikke blive opkrævet, før prøveperioden er afsluttet. Fakturering finder sted hver(t) $INTERVAL$. Du kan til enhver tid opsige.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Betalingsoplysninger" - }, - "billingInformation": { - "message": "Faktureringsoplysninger" - }, - "creditCard": { - "message": "Betalingskort" - }, - "paypalClickSubmit": { - "message": "Klik på knappen PayPal for at logge ind på din PayPal-konto, og klik derefter på knappen Indsend herunder for at fortsætte." - }, - "cancelSubscription": { - "message": "Opsig abonnement" - }, - "subscriptionCanceled": { - "message": "Dit abonnement er opsagt." - }, - "pendingCancellation": { - "message": "Afventer opsigelse" - }, - "subscriptionPendingCanceled": { - "message": "Abonnementet er markeret til opsigelse i slutningen af den aktuelle faktureringsperiode." - }, - "reinstateSubscription": { - "message": "Gentegn abonnement" - }, - "reinstateConfirmation": { - "message": "Er du sikker på, at du vil fjerne den ventende opsigelse og gentegne dit abonnement?" - }, - "reinstated": { - "message": "Abonnementet er gentegnet." - }, - "cancelConfirmation": { - "message": "Er du sikker på at du vil opsige? Du vil miste adgangen til alle abonnementsfunktionerne ved afslutningen af denne faktureringsperiode." - }, - "canceledSubscription": { - "message": "Abonnementet er blevet opsagt." - }, - "neverExpires": { - "message": "Udløber aldrig" - }, - "status": { - "message": "Status" - }, - "nextCharge": { - "message": "Næste betaling" - }, - "details": { - "message": "Detaljer" - }, - "downloadLicense": { - "message": "Download licens" - }, - "updateLicense": { - "message": "Opdatér licens" - }, - "updatedLicense": { - "message": "Opdaterede licens" - }, - "manageSubscription": { - "message": "Håndtér abonnement" - }, - "storage": { - "message": "Lager" - }, - "addStorage": { - "message": "Tilføj lagerplads" - }, - "removeStorage": { - "message": "Fjern lagerplads" - }, - "subscriptionStorage": { - "message": "Dit abonnement har i alt $MAX_STORAGE$ GB krypteret fillagring. Du bruger i øjeblikket $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Betalingsmetode" - }, - "noPaymentMethod": { - "message": "Ingen betalingsmetode valgt." - }, - "addPaymentMethod": { - "message": "Tilføj betalingsmetode" - }, - "changePaymentMethod": { - "message": "Skift betalingsmetode" - }, - "invoices": { - "message": "Fakturaer" - }, - "noInvoices": { - "message": "Ingen fakturaer." - }, - "paid": { - "message": "Betalt", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Ikke betalt", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Transaktioner", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "Ingen transaktioner." - }, - "chargeNoun": { - "message": "Betaling", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Tilbagebetaling", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Eventuelle omkostninger vises på din opgørelse som $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "GB lagerplads at tilføje" - }, - "gbStorageRemove": { - "message": "GB lagerplads at fjerne" - }, - "storageAddNote": { - "message": "Tilføjelse af lagerplads vil resultere i justeringer af dine abonnementsudgifter og straks opkræve din valgte betalingsmetode. Den første afgift vil blive forholdsmæssigt for resten af den aktuelle faktureringsperiode." - }, - "storageRemoveNote": { - "message": "Fjernelse af lagerplads resulterer i justeringer af dine abonnementsudgifter, som vil blive krediteret forholdsmæssigt ved din næste betaling." - }, - "adjustedStorage": { - "message": "Justeret $AMOUNT$ GB lagerplads.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Kontakt kundesupport" - }, - "updatedPaymentMethod": { - "message": "Betalingsmetode opdateret." - }, - "purchasePremium": { - "message": "Køb premium" - }, - "licenseFile": { - "message": "Licensfil" - }, - "licenseFileDesc": { - "message": "Din licensfil vil blive navngivet noget ligesom $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "For at opgradere din konto til et premium-medlemskab skal du uploade en gyldig licensfil." - }, - "uploadLicenseFileOrg": { - "message": "For at oprette en lokal-hosted organisation, skal du uploade en gyldig licensfil." - }, - "accountEmailMustBeVerified": { - "message": "Din kontos e-mailadresse skal verificeres." - }, - "newOrganizationDesc": { - "message": "Organisationer giver dig mulighed for at dele dele af din boks med andre såvel som at håndtere relaterede brugere i en bestemt enhed som f.eks. en familie, et lille team eller et stort firma." - }, - "generalInformation": { - "message": "Generelle oplysninger" - }, - "organizationName": { - "message": "Organisationsnavn" - }, - "accountOwnedBusiness": { - "message": "Denne konto ejes af en virksomhed." - }, - "billingEmail": { - "message": "Fakturerings-email" - }, - "businessName": { - "message": "Firmanavn" - }, - "chooseYourPlan": { - "message": "Vælg dit abonnement" - }, - "users": { - "message": "Brugere" - }, - "userSeats": { - "message": "Antal brugere" - }, - "additionalUserSeats": { - "message": "Yderligere brugere" - }, - "userSeatsDesc": { - "message": "# brugere" - }, - "userSeatsAdditionalDesc": { - "message": "Dit abonnement indeholder $BASE_SEATS$ brugere. Du kan tilføje yderligere brugere til $SEAT_PRICE$ pr. bruger / måned.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "Hvor mange brugere har du brug for? Du kan også tilføje yderligere brugere senere, hvis det er nødvendigt." - }, - "planNameFree": { - "message": "Gratis", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "Til test eller personlige brugere for at dele med $COUNT$ anden/andre bruger(e).", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Familier" - }, - "planDescFamilies": { - "message": "Til personlig brug, for at dele med familie og venner." - }, - "planNameTeams": { - "message": "Teams" - }, - "planDescTeams": { - "message": "Til virksomheder og andre organisationer med teams." - }, - "planNameEnterprise": { - "message": "Erhverv" - }, - "planDescEnterprise": { - "message": "Til virksomheder og andre store organisationer." - }, - "freeForever": { - "message": "Gratis for evigt" - }, - "includesXUsers": { - "message": "indeholder $COUNT$ brugere", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Yderligere brugere" - }, - "costPerUser": { - "message": "$COST$ pr. bruger", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Begrænset til $COUNT$ brugere (inklusive dig)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Begrænset til $COUNT$ samlinger", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Tilføj og del med op til $COUNT$ brugere", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Tilføj og del med ubegrænsede brugere" - }, - "createUnlimitedCollections": { - "message": "Opret ubegrænsede samlinger" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ krypteret filopbevaring", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "Lokal-hosting (valgfri)" - }, - "usersGetPremium": { - "message": "Brugere får adgang til premium-funktioner" - }, - "controlAccessWithGroups": { - "message": "Kontroller brugeradgang med grupper" - }, - "syncUsersFromDirectory": { - "message": "Synkronisér dine brugere og grupper fra et kartotek" - }, - "trackAuditLogs": { - "message": "Spor brugerhandlinger med revisionslogfiler" - }, - "enforce2faDuo": { - "message": "Håndhæv 2FA med Duo" - }, - "priorityCustomerSupport": { - "message": "Prioriteret kundesupport" - }, - "xDayFreeTrial": { - "message": "$COUNT$ dages gratis prøveperiode, opsig når som helst", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Månedlig" - }, - "annually": { - "message": "Årlig" - }, - "basePrice": { - "message": "Grundpris" - }, - "organizationCreated": { - "message": "Organisation oprettet" - }, - "organizationReadyToGo": { - "message": "Din nye organisation er klar til brug!" - }, - "organizationUpgraded": { - "message": "Din organisation er blevet opgraderet." - }, - "leave": { - "message": "Forlad" - }, - "leaveOrganizationConfirmation": { - "message": "Er du sikker på, at du vil forlade denne organisation?" - }, - "leftOrganization": { - "message": "Du har forladt organisationen." - }, - "defaultCollection": { - "message": "Standardsamling" - }, - "getHelp": { - "message": "Få hjælp" - }, - "getApps": { - "message": "Hent apps" - }, - "loggedInAs": { - "message": "Logget ind som" - }, - "eventLogs": { - "message": "Hændelseslogfiler" - }, - "people": { - "message": "Personer" - }, - "policies": { - "message": "Politikker" - }, - "editPolicy": { - "message": "Redigér politik" - }, - "groups": { - "message": "Grupper" - }, - "newGroup": { - "message": "Ny gruppe" - }, - "addGroup": { - "message": "Tilføj gruppe" - }, - "editGroup": { - "message": "Redigér Gruppe" - }, - "deleteGroupConfirmation": { - "message": "Er du sikker på, at du vil slette denne gruppe?" - }, - "removeUserConfirmation": { - "message": "Er du sikker på, at du vil fjerne denne bruger?" - }, - "externalId": { - "message": "Eksternt id" - }, - "externalIdDesc": { - "message": "Det eksterne id kan bruges som reference eller til at forbinde denne ressource til et eksternt system som f.eks. et brugerkartotek." - }, - "accessControl": { - "message": "Adgangskontrol" - }, - "groupAccessAllItems": { - "message": "Denne gruppe kan få adgang til og ændre alle elementer." - }, - "groupAccessSelectedCollections": { - "message": "Denne gruppe kan kun få adgang til de valgte samlinger." - }, - "readOnly": { - "message": "Læsetilladelse" - }, - "newCollection": { - "message": "Ny samling" - }, - "addCollection": { - "message": "Tilføj samling" - }, - "editCollection": { - "message": "Redigér samling" - }, - "deleteCollectionConfirmation": { - "message": "Er du sikker på, at du vil slette denne samling?" - }, - "editUser": { - "message": "Redigér bruger" - }, - "inviteUser": { - "message": "Invitér bruger" - }, - "inviteUserDesc": { - "message": "Inviter en ny bruger til din organisation ved at indtaste e-mailadressen på deres Bitwarden-konto nedenfor. Hvis de ikke allerede har en Bitwarden-konto, bliver de bedt om at oprette en ny konto." - }, - "inviteMultipleEmailDesc": { - "message": "Du kan invitere op til $COUNT$ brugere ad gangen ved at kommaseparere en liste med e-mailadresser.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "Denne bruger benytter to-trins login for at beskytte kontoen." - }, - "userAccessAllItems": { - "message": "Denne bruger kan få adgang til og ændre alle elementer." - }, - "userAccessSelectedCollections": { - "message": "Denne bruger kan kun få adgang til de valgte samlinger." - }, - "search": { - "message": "Søg" - }, - "invited": { - "message": "Inviteret" - }, - "accepted": { - "message": "Accepteret" - }, - "confirmed": { - "message": "Bekræftet" - }, - "owner": { - "message": "Ejer" - }, - "ownerDesc": { - "message": "Den bruger med højeste rettigheder, som kan håndtere alle aspekter af din organisation." - }, - "admin": { - "message": "Administrator" - }, - "adminDesc": { - "message": "Administratorer kan få adgang til og håndtere alle elementer, samlinger og brugere i din organisation." - }, - "user": { - "message": "Bruger" - }, - "userDesc": { - "message": "En almindelig bruger med adgang til tildelte samlinger i din organisation." - }, - "manager": { - "message": "Manager" - }, - "managerDesc": { - "message": "Managere kan få adgang til og håndtere tildelte samlinger i din organisation." - }, - "all": { - "message": "Alle" - }, - "refresh": { - "message": "Opdater" - }, - "timestamp": { - "message": "Tidsstempel" - }, - "event": { - "message": "Hændelse" - }, - "unknown": { - "message": "Ukendt" - }, - "loadMore": { - "message": "Indlæs mere" - }, - "mobile": { - "message": "Mobil", - "description": "Mobile app" - }, - "extension": { - "message": "Udvidelse", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Skrivebord", - "description": "Desktop app" - }, - "webVault": { - "message": "Web-boks" - }, - "loggedIn": { - "message": "Logget ind." - }, - "changedPassword": { - "message": "Ændrede konto kodeord." - }, - "enabledUpdated2fa": { - "message": "Aktiverede/opdaterede to-trins login." - }, - "disabled2fa": { - "message": "Deaktiverede to-trins-login." - }, - "recovered2fa": { - "message": "Gendannede konto fra to-trins-login." - }, - "failedLogin": { - "message": "Loginforsøg mislykkedes med forkert adgangskode." - }, - "failedLogin2fa": { - "message": "Loginforsøg mislykkedes med forkert to-trins-login." - }, - "exportedVault": { - "message": "Eksporterede boks." - }, - "exportedOrganizationVault": { - "message": "Eksporterede organisationsboks." - }, - "editedOrgSettings": { - "message": "Redigerede organisationsindstillinger." - }, - "createdItemId": { - "message": "Oprettede element $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Redigerede element $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Element $ID$ sendt til papirkurven.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Delte element $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Viste element $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Viste adgangskode til element $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Viste skjult felt til element $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Viste sikkerhedskode til element $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Kopierede adgangskode til element $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Kopierede skjult felt til element $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Kopierede sikkerhedskode til element $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Autoudfyldte element $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Oprettede samling $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Redigerede samling $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Slettede samling $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Redigerede politik $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Oprettede gruppe $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Redigerede gruppe $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Slettede gruppe $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Slettede bruger $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Oprettede vedhæftning på element $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Slettede vedhæftning på element $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Redigerede samlinger for element $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Inviterede bruger $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Bekræftede bruger $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Redigerede bruger $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Redigerede grupper for bruger $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Ikke-linket SSO for bruger $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Enhed" - }, - "view": { - "message": "Vis" - }, - "invalidDateRange": { - "message": "Ugyldigt datointerval." - }, - "errorOccurred": { - "message": "Der er opstået en fejl." - }, - "userAccess": { - "message": "Brugeradgang" - }, - "userType": { - "message": "Brugertype" - }, - "groupAccess": { - "message": "Gruppeadgang" - }, - "groupAccessUserDesc": { - "message": "Redigér de grupper, som denne bruger tilhører." - }, - "invitedUsers": { - "message": "Inviterede bruger(e)." - }, - "resendInvitation": { - "message": "Send invitation igen" - }, - "hasBeenReinvited": { - "message": "$USER$ er blevet inviteret igen.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Bekræft" - }, - "confirmUser": { - "message": "Bekræft bruger" - }, - "hasBeenConfirmed": { - "message": "$USER$ er blevet bekræftet.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Bekræft brugere" - }, - "usersNeedConfirmed": { - "message": "Du har brugere, der har accepteret deres invitation, men som mangler at blive bekræftet. Brugere har ikke adgang til organisationen, før de er bekræftet." - }, - "startDate": { - "message": "Startdato" - }, - "endDate": { - "message": "Slutdato" - }, - "verifyEmail": { - "message": "Bekræft e-mail" - }, - "verifyEmailDesc": { - "message": "Bekræft din e-mailadresse for at låse op for adgangen til alle funktioner." - }, - "verifyEmailFirst": { - "message": "Din kontos e-mailadresse skal først verificeres." - }, - "checkInboxForVerification": { - "message": "Tjek din e-mail indbakke for et bekræftelseslink." - }, - "emailVerified": { - "message": "Din e-mail er blevet bekræftet." - }, - "emailVerifiedFailed": { - "message": "Kan ikke bekræfte din e-mail. Prøv at sende en ny verifikations-email." - }, - "updateBrowser": { - "message": "Opdatér browser" - }, - "updateBrowserDesc": { - "message": "Du bruger en ikke-understøttet webbrowser. Web-boksen fungerer muligvis ikke korrekt." - }, - "joinOrganization": { - "message": "Bliv medlem af organisation" - }, - "joinOrganizationDesc": { - "message": "Du er blevet inviteret til at blive medlem af organisationen anført ovenfor. For at acceptere invitationen skal du logge ind eller oprette en ny Bitwarden-konto." - }, - "inviteAccepted": { - "message": "Invitation accepteret" - }, - "inviteAcceptedDesc": { - "message": "Du kan få adgang til denne organisation, når en administrator bekræfter dit medlemskab. Vi sender dig en e-mail, når dette sker." - }, - "inviteAcceptFailed": { - "message": "Kan ikke acceptere invitationen. Bed en organisations-administrator om at sende en ny invitation." - }, - "inviteAcceptFailedShort": { - "message": "Kan ikke acceptere invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Husk e-mail" - }, - "recoverAccountTwoStepDesc": { - "message": "Hvis du ikke kan få adgang til din konto via dine normale to-trins-login metoder, kan du bruge din to-trins-login gendannelseskode til at deaktivere alle to-trins-udbydere på din konto." - }, - "recoverAccountTwoStep": { - "message": "Gendan to-trins-login på konto" - }, - "twoStepRecoverDisabled": { - "message": "To-trins-login er blevet deaktiveret på din konto." - }, - "learnMore": { - "message": "Få mere at vide" - }, - "deleteRecoverDesc": { - "message": "Indtast din e-mailadresse nedenfor for at gendanne og slette din konto." - }, - "deleteRecoverEmailSent": { - "message": "Hvis din konto findes, har vi sendt dig en e-mail med yderligere instruktioner." - }, - "deleteRecoverConfirmDesc": { - "message": "Du har bedt om at få slettet din Bitwarden-konto. Klik på knappen nedenfor for at bekræfte." - }, - "myOrganization": { - "message": "Min organisation" - }, - "deleteOrganization": { - "message": "Slet organisation" - }, - "deleteOrganizationDesc": { - "message": "Fortsæt nedenfor for at slette denne organisation og alle tilknyttede data. Individuelle brugerkonti forbliver, selv om de ikke længere vil være tilknyttet denne organisation." - }, - "deleteOrganizationWarning": { - "message": "Sletning af organisationen er permanent. Det kan ikke fortrydes." - }, - "organizationDeleted": { - "message": "Organisation slettet" - }, - "organizationDeletedDesc": { - "message": "Organisationen og alle tilknyttede data er blevet slettet." - }, - "organizationUpdated": { - "message": "Organisation opdateret" - }, - "taxInformation": { - "message": "Skatteoplysninger" - }, - "taxInformationDesc": { - "message": "For kunder i USA er postnummer påkrævet for at opfylde momskrav, for andre lande kan du eventuelt angive et skatteidentifikationsnummer (CVR/GST) og/eller en adresse, der vises på dine fakturaer." - }, - "billingPlan": { - "message": "Abonnement", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Skift abonnement", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Opgradér din konto til et andet abonnement, ved at angive nedenstående oplysninger. Sørg for, at du har en aktiv betalingsmetode tilføjet til kontoen.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Kontakt kundesupport, hvis du vil ændre dit abonnement. Sørg for, at du har en aktiv betalingsmetode tilføjet til kontoen.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Faktura #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "Vis faktura" - }, - "downloadInvoice": { - "message": "Download faktura" - }, - "verifyBankAccount": { - "message": "Bekræft bankkonto" - }, - "verifyBankAccountDesc": { - "message": "Vi har lavet to små indskud på din bankkonto (det kan tage 1-2 hverdage at blive vist). Indtast disse beløb for at bekræfte bankkontoen." - }, - "verifyBankAccountInitialDesc": { - "message": "Betaling med en bankkonto er kun tilgængelig for kunder i USA. Du bliver bedt om at bekræfte din bankkonto. Vi vil lave to små indskud inden for de næste 1-2 hverdage. Indtast disse beløb på organisationens faktureringsside for at bekræfte bankkontoen." - }, - "verifyBankAccountFailureWarning": { - "message": "Udelades det at bekræfte bankkontoen resulterer det i en manglende betaling, og dit abonnement deaktiveres." - }, - "verifiedBankAccount": { - "message": "Bankkonto er blevet bekræftet." - }, - "bankAccount": { - "message": "Bankkonto" - }, - "amountX": { - "message": "Beløb $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Routingnummer", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Kontonummer" - }, - "accountHolderName": { - "message": "Kontoindehavers navn" - }, - "bankAccountType": { - "message": "Kontotype" - }, - "bankAccountTypeCompany": { - "message": "Firma (erhverv)" - }, - "bankAccountTypeIndividual": { - "message": "Individ (personlig)" - }, - "enterInstallationId": { - "message": "Indtast dit installations-id" - }, - "addSeats": { - "message": "Tilføj pladser", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Fjern pladser", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Dit abonnement tillader i alt $COUNT$ brugere.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Pladser at tilføje" - }, - "seatsToRemove": { - "message": "Pladser at fjerne" - }, - "seatsAddNote": { - "message": "Tilføjelse af brugerpladser vil resultere i justeringer af dine abonnementsudgifter og straks opkræve din valgte betalingsmetode. Den første afgift vil blive forholdsmæssig for resten af den aktuelle faktureringsperiode." - }, - "seatsRemoveNote": { - "message": "Fjernelse af brugerpladser resulterer i justeringer af dine abonnementsudgifter, som vil blive krediteret forholdsmæssigt ved din næste betaling." - }, - "adjustedSeats": { - "message": "Justerede $AMOUNT$ brugerpladser.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Nøgle opdateret" - }, - "updateKeyTitle": { - "message": "Opdatér nøgle" - }, - "updateEncryptionKey": { - "message": "Opdatér Krypteringsnøgle" - }, - "updateEncryptionKeyShortDesc": { - "message": "Du bruger i øjeblikket en forældet krypteringsmetode." - }, - "updateEncryptionKeyDesc": { - "message": "Vi har skiftet til større krypteringsnøgler, der giver bedre sikkerhed og adgang til nyere funktioner. Opdatering af din krypteringsnøgle er hurtig og nem. Indtast bare din hovedadgangskode nedenfor. Denne opdatering bliver obligatorisk på et senere tidspunkt." - }, - "updateEncryptionKeyWarning": { - "message": "Efter opdatering af din krypteringsnøgle skal du logge ud og ind igen i alle Bitwarden-programmer, du bruger i øjeblikket (f.eks. mobilapp eller browserudvidelser). Hvis du ikke logger ud og ind (som downloader din nye krypteringsnøgle), kan det resultere i data korruption. Vi vil forsøge at logge dig ud automatisk, men det kan blive forsinket." - }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." - }, - "subscription": { - "message": "Abonnement" - }, - "loading": { - "message": "Indlæser" - }, - "upgrade": { - "message": "Opgrader" - }, - "upgradeOrganization": { - "message": "Opgradér organisation" - }, - "upgradeOrganizationDesc": { - "message": "Denne funktion er ikke tilgængelig for gratis organisationer. Skift til et betalt abonnement for at låse op for flere funktioner." - }, - "createOrganizationStep1": { - "message": "Opret organisation: Trin 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Før du opretter din organisation, skal du først oprette en gratis personlig konto." - }, - "refunded": { - "message": "Refunderet" - }, - "nothingSelected": { - "message": "Du har ikke valgt noget." - }, - "acceptPolicies": { - "message": "Ved at markere dette felt accepterer du følgende:" - }, - "acceptPoliciesError": { - "message": "Servicevilkår og fortrolighedspolitik er ikke blevet bekræftet." - }, - "termsOfService": { - "message": "Servicevilkår" - }, - "privacyPolicy": { - "message": "Privatlivspolitik" - }, - "filters": { - "message": "Filtre" - }, - "vaultTimeout": { - "message": "Boks timeout" - }, - "vaultTimeoutDesc": { - "message": "Vælg timeout for din boks, hvorefter den vil udføre den valgte handling." - }, - "oneMinute": { - "message": "1 minut" - }, - "fiveMinutes": { - "message": "5 minutter" - }, - "fifteenMinutes": { - "message": "15 minutter" - }, - "thirtyMinutes": { - "message": "30 minutter" - }, - "oneHour": { - "message": "1 time" - }, - "fourHours": { - "message": "4 timer" - }, - "onRefresh": { - "message": "Ved genstart af browseren" - }, - "dateUpdated": { - "message": "Opdateret", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Adgangskode opdateret", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "Organisationen er deaktiveret." - }, - "licenseIsExpired": { - "message": "Licensen er udløbet." - }, - "updatedUsers": { - "message": "Opdaterede brugere" - }, - "selected": { - "message": "Valgt" - }, - "ownership": { - "message": "Ejerskab" - }, - "whoOwnsThisItem": { - "message": "Hvem ejer dette element?" - }, - "strong": { - "message": "Stærk", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "God", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Svag", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Meget svag", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Svag hovedadgangskode" - }, - "weakMasterPasswordDesc": { - "message": "Hovedadgangskoden du har valgt er svag. Du skal bruge en stærk hovedadgangskode (eller en adgangssætning) for at beskytte din Bitwarden-konto korrekt. Er du sikker på, at du vil bruge denne hovedadgangskode?" - }, - "rotateAccountEncKey": { - "message": "Rotér også min kontos krypteringsnøgle" - }, - "rotateEncKeyTitle": { - "message": "Rotér krypteringsnøgle" - }, - "rotateEncKeyConfirmation": { - "message": "Er du sikker på, at du vil rotere din kontos krypteringsnøgle?" - }, - "attachmentsNeedFix": { - "message": "Dette element har gamle filvedhæftninger, der skal repareres." - }, - "attachmentFixDesc": { - "message": "Dette er en gammel filvedhæftning, der skal repareres. Klik for at lære mere." - }, - "fix": { - "message": "Reparér", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "Der er gamle filvedhæftninger i din boks, der skal repareres, før du kan rotere din kontos krypteringsnøgle." - }, - "yourAccountsFingerprint": { - "message": "Din kontos fingeraftrykssætning", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "For at sikre integriteten af dine krypteringsnøgler, bedes du bekræfte brugerens fingeraftrykssætning, inden du fortsætter.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Spørg ikke om at bekræfte fingeraftrykssætning igen", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Gratis", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "API-nøgle" - }, - "apiKeyDesc": { - "message": "Din API-nøgle kan bruges til godkendelse mod det offentlige Bitwarden-API." - }, - "apiKeyRotateDesc": { - "message": "Hvis du roterer API-nøglen, bliver den forrige nøgle ugyldig. Du kan rotere din API-nøgle, hvis du mener at den nuværende nøgle ikke længere er sikker at bruge." - }, - "apiKeyWarning": { - "message": "Din API-nøgle har fuld adgang til organisationen. Den skal holdes hemmelig." - }, - "userApiKeyDesc": { - "message": "Din API-nøgle kan bruges til godkendelse i Bitwarden-CLI." - }, - "userApiKeyWarning": { - "message": "Din API-nøgle er en alternativ godkendelsesmekanisme. Den bør holdes hemmelig." - }, - "oauth2ClientCredentials": { - "message": "OAuth 2.0 legitimationsoplysninger", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "Vis API-nøgle" - }, - "rotateApiKey": { - "message": "Rotér API-nøgle" - }, - "selectOneCollection": { - "message": "Du skal vælge minimum én samling." - }, - "couldNotChargeCardPayInvoice": { - "message": "Vi kunne ikke trække på dit kort. Se og betal den ubetalte faktura, der er anført nedenfor." - }, - "inAppPurchase": { - "message": "Køb i appen" - }, - "cannotPerformInAppPurchase": { - "message": "Du kan ikke udføre denne handling, når du bruger en 'køb i appen'-betalingsmetode." - }, - "manageSubscriptionFromStore": { - "message": "Du skal administrere dit abonnement fra den butik, hvor dit køb i appen blev foretaget." - }, - "minLength": { - "message": "Minimumslængde" - }, - "clone": { - "message": "Klon" - }, - "masterPassPolicyDesc": { - "message": "Angiv minimumskrav til styrken af hovedadgangskoden." - }, - "twoStepLoginPolicyDesc": { - "message": "Kræv at brugerne konfigurerer to-trins-login på deres personlige konti." - }, - "twoStepLoginPolicyWarning": { - "message": "Organisationsmedlemmer, der ikke er ejere eller administratorer og ikke har to-trins login aktiveret på deres personlige konto, fjernes fra organisationen og modtager en e-mail med besked om ændringen." - }, - "twoStepLoginPolicyUserWarning": { - "message": "Du er medlem af en organisation, der kræver at to-trins login er aktiveret på din brugerkonto. Hvis du deaktiverer alle to-trins login-udbydere, fjernes du automatisk fra disse organisationer." - }, - "passwordGeneratorPolicyDesc": { - "message": "Angiv minimumskrav til konfiguration af adgangskodegenerator." - }, - "passwordGeneratorPolicyInEffect": { - "message": "Én eller flere organisationspolitikker påvirker dine generatorindstillinger." - }, - "masterPasswordPolicyInEffect": { - "message": "Én eller flere organisationspolitikker kræver din hovedadgangskode opfylder følgende krav:" - }, - "policyInEffectMinComplexity": { - "message": "Minimum kompleksitetsscore på $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Minimumslængde på $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Indeholder ét eller flere store bogstaver" - }, - "policyInEffectLowercase": { - "message": "Indeholder ét eller flere små bogstaver" - }, - "policyInEffectNumbers": { - "message": "Indeholder ét eller flere tal" - }, - "policyInEffectSpecial": { - "message": "Indeholder ét eller flere af følgende specialtegn $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Din nye hovedadgangskode opfylder ikke politikkravene." - }, - "minimumNumberOfWords": { - "message": "Minimum antal ord" - }, - "defaultType": { - "message": "Standard type" - }, - "userPreference": { - "message": "Brugerindstilling" - }, - "vaultTimeoutAction": { - "message": "Boks timeout-handling" - }, - "vaultTimeoutActionLockDesc": { - "message": "En låst boks kræver at du gentaster din hovedadgangskode for at tilgå den igen." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "En boks der er logget ud kræver, at du godkender igen for at få adgang til den." - }, - "lock": { - "message": "Lås", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Papirkurv", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Søg i papirkurven" - }, - "permanentlyDelete": { - "message": "Slette permanent" - }, - "permanentlyDeleteSelected": { - "message": "Slet valgte elementer permanent" - }, - "permanentlyDeleteItem": { - "message": "Slet element permanent" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Er du sikker på, at du vil slette dette element permanent?" - }, - "permanentlyDeletedItem": { - "message": "Element slettet permanent" - }, - "permanentlyDeletedItems": { - "message": "Elementer slettet permanent" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "Du har valgt $COUNT$ element(er), der skal slettes permanent. Er du sikker på, at du vil slette alle disse elementer permanent?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Element $ID$ slettet permanent.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Gendan" - }, - "restoreSelected": { - "message": "Gendan valgte" - }, - "restoreItem": { - "message": "Gendan element" - }, - "restoredItem": { - "message": "Element gendannet" - }, - "restoredItems": { - "message": "Elementer gendannet" - }, - "restoreItemConfirmation": { - "message": "Er du sikker på, at du vil gendanne dette element?" - }, - "restoreItems": { - "message": "Gendan elementer" - }, - "restoreSelectedItemsDesc": { - "message": "Du har valgt $COUNT$ element(er), der skal gendannes. Er du sikker på, at du vil gendanne alle disse elementer?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Element $ID$ gendannet.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Ved at logge ud fjernes al adgang til din boks og kræver online-godkendelse efter timeout-perioden. Er du sikker på, at du vil bruge denne indstilling?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Bekræft timeout-handling" - }, - "hidePasswords": { - "message": "Skjul adgangskoder" - }, - "countryPostalCodeRequiredDesc": { - "message": "Vi benytter udelukkende disse oplysninger til beregning af moms og finansiel rapportering." - }, - "includeVAT": { - "message": "Inkludér momsoplysninger (valgfrit)" - }, - "taxIdNumber": { - "message": "Momsregistreringsnummer" - }, - "taxInfoUpdated": { - "message": "Skatteoplysninger opdateret." - }, - "setMasterPassword": { - "message": "Indstil hovedadgangskode" - }, - "ssoCompleteRegistration": { - "message": "For at fuldføre indlogning vha. SSO skal en hovedadgangskode opsættes for at tilgå og beskytte din boks." - }, - "identifier": { - "message": "Identifikator" - }, - "organizationIdentifier": { - "message": "Organisationsidentifikator" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Log ind vha. din organisations single sign-on portal. Angiv din organisations identifikator for at begynde." - }, - "enterpriseSingleSignOn": { - "message": "Virksomheds Single Sign On" - }, - "ssoHandOff": { - "message": "Du kan nu lukke denne fane og fortsætte i udvidelsen." - }, - "businessPortal": { - "message": "Virksomhedssportal", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "Alle teamfunktioner, plus:" - }, - "includeSsoAuthentication": { - "message": "SSO godkendelse via SAML2.0 og OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Virksomhedspolitikker" - }, - "ssoValidationFailed": { - "message": "SSO validering mislykkedes" - }, - "ssoIdentifierRequired": { - "message": "Organisationsidentifikator er påkrævet." - }, - "unlinkSso": { - "message": "Fjern SSO tilknytning" - }, - "linkSso": { - "message": "Tilknyt SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "Politikkonfiguration er flyttet, og denne side vil snart blive udfaset. Klik nedenfor for at bruge siden Politikker i forretningsportalen i stedet." - }, - "singleOrg": { - "message": "Enkel organisation" - }, - "singleOrgDesc": { - "message": "Begræns brugere fra at kunne deltage i andre organisationer." - }, - "singleOrgBlockCreateMessage": { - "message": "Din nuværende organisation har en politik, der ikke tillader dig at deltage i mere end en organisation. Kontakt din organisations administratorer, eller tilmeld dig fra en anden Bitwarden-konto." - }, - "singleOrgPolicyWarning": { - "message": "Organisationsmedlemmer, der ikke er ejere eller administratorer og allerede er medlem af en anden organisation, fjernes fra din organisation." - }, - "requireSso": { - "message": "Single Sign-On autentificering" - }, - "requireSsoPolicyDesc": { - "message": "Kræv at brugerne logger ind med Virksomheds Single Sign-On-metoden." - }, - "prerequisite": { - "message": "Forudsætning" - }, - "requireSsoPolicyReq": { - "message": "Enkel organisations virksomhedspolitikken skal aktiveres, før denne politik aktiveres." - }, - "requireSsoPolicyReqError": { - "message": "Enkelt organisationspolitik er ikke aktiveret." - }, - "requireSsoExemption": { - "message": "Organisationsejere og administratorer er undtaget fra denne politik." - }, - "sendTypeFile": { - "message": "Fil" - }, - "sendTypeText": { - "message": "Tekst" - }, - "createSend": { - "message": "Opret ny Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Redigér Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Send oprettet", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Send opdateret", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Send slettet", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Slet Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Er du sikker på, at du vil slette denne Send?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "Hvilken type Send er denne?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Sletningsdato" - }, - "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Udløbsdato" - }, - "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Maksimal antal tilgange" - }, - "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Aktuelt antal tilgange" - }, - "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Private notes about this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Deaktiveret" - }, - "sendLink": { - "message": "Send link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Kopiér Send link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Fjern adgangskode" - }, - "removedPassword": { - "message": "Adgangskode fjernet" - }, - "removePasswordConfirmation": { - "message": "Er du sikker på, at du vil fjerne adgangskoden?" - }, - "disableThisSend": { - "message": "Disable this Send so that no one can access it.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "Alle Send" - }, - "maxAccessCountReached": { - "message": "Max access count reached" - }, - "pendingDeletion": { - "message": "Pending deletion" - }, - "expired": { - "message": "Udløbet" - }, - "searchSends": { - "message": "Søg Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "Denne Send er beskyttet med en adgangskode. Indtast adgangskoden nedenfor for at fortsætte.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Kender du ikke adgangskoden? Bed afsenderen om den nødvendige adgangskode for at få adgang til denne Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "Denne Send er som standard skjult. Du kan skifte synlighed ved hjælp af knappen nedenfor.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Download fil" - }, - "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "Der er ingen Send at vise.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Emergency Access" - }, - "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." - }, - "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" - }, - "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." - }, - "addEmergencyContact": { - "message": "Add emergency contact" - }, - "designatedEmergencyContacts": { - "message": "Designated as emergency contact" - }, - "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." - }, - "inviteEmergencyContact": { - "message": "Invite emergency contact" - }, - "editEmergencyContact": { - "message": "Edit emergency contact" - }, - "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" - }, - "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" - }, - "viewDesc": { - "message": "Can view all items in your own vault." - }, - "takeover": { - "message": "Takeover" - }, - "takeoverDesc": { - "message": "Can reset your account with a new master password." - }, - "waitTime": { - "message": "Wait Time" - }, - "waitTimeDesc": { - "message": "Time required before automatically granting access." - }, - "oneDay": { - "message": "1 day" - }, - "days": { - "message": "$DAYS$ days", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Invited user." - }, - "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." - }, - "requestAccess": { - "message": "Request Access" - }, - "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Godkend" - }, - "reject": { - "message": "Afvist" - }, - "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Emergency access approved." - }, - "emergencyRejected": { - "message": "Emergency access rejected" - }, - "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Personlig Ejerskab" - }, - "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." - }, - "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." - }, - "modifiedPolicyId": { - "message": "Modified policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Plan price" - }, - "estimatedTax": { - "message": "Estimated tax" - }, - "custom": { - "message": "Custom" - }, - "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." - }, - "permissions": { - "message": "Tilladelser" - }, - "accessBusinessPortal": { - "message": "Adgang Til Forretningsportal" - }, - "accessEventLogs": { - "message": "Tilgå Begivenheds Logs" - }, - "accessImportExport": { - "message": "Adgang Til Import/Eksport" - }, - "accessReports": { - "message": "Adgangs Rapporter" - }, - "manageAllCollections": { - "message": "Administrer Alle Samlinger" - }, - "manageAssignedCollections": { - "message": "Administrer Tildelte Samlinger" - }, - "manageGroups": { - "message": "Håndtér Grupper" - }, - "managePolicies": { - "message": "Administrer Politikker" - }, - "manageSso": { - "message": "Håndtér SSO" - }, - "manageUsers": { - "message": "Administrér brugere" - }, - "disableRequireSsoError": { - "message": "Du skal manuelt deaktivere Single Sign-On Authentication policy før denne politik kan deaktiveres." - }, - "personalOwnershipPolicyInEffect": { - "message": "En organisationspolitik påvirker dine ejerskabsmuligheder." - }, - "personalOwnershipCheckboxDesc": { - "message": "Deaktivér personligt ejerskab for organisationsbrugere" - }, - "textHiddenByDefault": { - "message": "Når du tilgår Send, så skjul teksten som standard", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/de/messages.json b/locales/de/messages.json deleted file mode 100644 index 95eed836..00000000 --- a/locales/de/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$ Web-Tresor", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "Um welche Art von Eintrag handelt es sich hierbei?" - }, - "name": { - "message": "Name" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "Neue URL" - }, - "username": { - "message": "Benutzername" - }, - "password": { - "message": "Passwort" - }, - "newPassword": { - "message": "Neues Passwort" - }, - "passphrase": { - "message": "Passphrase" - }, - "notes": { - "message": "Notizen" - }, - "customFields": { - "message": "Benutzerdefinierte Felder" - }, - "cardholderName": { - "message": "Name des Karteninhabers" - }, - "number": { - "message": "Nummer" - }, - "brand": { - "message": "Marke" - }, - "expiration": { - "message": "Ablaufdatum" - }, - "securityCode": { - "message": "Kartenprüfnummer (CVV)" - }, - "identityName": { - "message": "Identitätsname" - }, - "company": { - "message": "Firma" - }, - "ssn": { - "message": "Sozialversicherungsnummer" - }, - "passportNumber": { - "message": "Reisepassnummer" - }, - "licenseNumber": { - "message": "Lizenznummer" - }, - "email": { - "message": "E-Mail" - }, - "phone": { - "message": "Telefon" - }, - "january": { - "message": "Januar" - }, - "february": { - "message": "Februar" - }, - "march": { - "message": "März" - }, - "april": { - "message": "April" - }, - "may": { - "message": "Mai" - }, - "june": { - "message": "Juni" - }, - "july": { - "message": "Juli" - }, - "august": { - "message": "August" - }, - "september": { - "message": "September" - }, - "october": { - "message": "Oktober" - }, - "november": { - "message": "November" - }, - "december": { - "message": "Dezember" - }, - "title": { - "message": "Titel" - }, - "mr": { - "message": "Herr" - }, - "mrs": { - "message": "Frau" - }, - "ms": { - "message": "Fr." - }, - "dr": { - "message": "Dr." - }, - "expirationMonth": { - "message": "Ablaufmonat" - }, - "expirationYear": { - "message": "Ablaufjahr" - }, - "authenticatorKeyTotp": { - "message": "Authentifizierungsschlüssel (TOTP)" - }, - "folder": { - "message": "Ordner" - }, - "newCustomField": { - "message": "Neues benutzerdefiniertes Feld" - }, - "value": { - "message": "Wert" - }, - "dragToSort": { - "message": "Zum Sortieren ziehen" - }, - "cfTypeText": { - "message": "Text" - }, - "cfTypeHidden": { - "message": "Versteckt" - }, - "cfTypeBoolean": { - "message": "Boolescher Wert" - }, - "remove": { - "message": "Entfernen" - }, - "unassigned": { - "message": "Nicht zugeordnet" - }, - "noneFolder": { - "message": "Kein Ordner", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Ordner hinzufügen" - }, - "editFolder": { - "message": "Ordner bearbeiten" - }, - "baseDomain": { - "message": "Basisdomäne" - }, - "host": { - "message": "Host", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Genau" - }, - "startsWith": { - "message": "Beginnt mit" - }, - "regEx": { - "message": "Regulärer Ausdruck", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Übereinstimmungserkennung", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Standard Übereinstimmungserkennung", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Niemals" - }, - "toggleVisibility": { - "message": "Sichtbarkeit umschalten" - }, - "toggleCollapse": { - "message": "Sammlung ein- / ausklappen", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Passwort generieren" - }, - "checkPassword": { - "message": "Überprüfen ob ihr Kennwort kompromittiert ist." - }, - "passwordExposed": { - "message": "Dieses Kennwort wurde $VALUE$ -mal in öffentlichen Passwortdatenbanken gefunden. Sie sollten es ändern.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "Dieses Kennwort wurde in keinen bekannten Datendiebstählen gefunden. Es sollte sicher sein." - }, - "save": { - "message": "Speichern" - }, - "cancel": { - "message": "Abbrechen" - }, - "canceled": { - "message": "Abgebrochen" - }, - "close": { - "message": "Schließen" - }, - "delete": { - "message": "Löschen" - }, - "favorite": { - "message": "Favorit" - }, - "unfavorite": { - "message": "Aus Favoriten entfernen" - }, - "edit": { - "message": "Bearbeiten" - }, - "searchCollection": { - "message": "Sammlung durchsuchen" - }, - "searchFolder": { - "message": "Ordner durchsuchen" - }, - "searchFavorites": { - "message": "Favoriten durchsuchen" - }, - "searchType": { - "message": "Suchmodus", - "description": "Search item type" - }, - "searchVault": { - "message": "Tresor durchsuchen" - }, - "allItems": { - "message": "Alle Einträge" - }, - "favorites": { - "message": "Favoriten" - }, - "types": { - "message": "Typen" - }, - "typeLogin": { - "message": "Anmeldung" - }, - "typeCard": { - "message": "Karte" - }, - "typeIdentity": { - "message": "Identität" - }, - "typeSecureNote": { - "message": "Sichere Notiz" - }, - "folders": { - "message": "Ordner" - }, - "collections": { - "message": "Sammlungen" - }, - "firstName": { - "message": "Vorname" - }, - "middleName": { - "message": "Zweitname" - }, - "lastName": { - "message": "Nachname" - }, - "address1": { - "message": "Adresse 1" - }, - "address2": { - "message": "Adresse 2" - }, - "address3": { - "message": "Adresse 3" - }, - "cityTown": { - "message": "Stadt" - }, - "stateProvince": { - "message": "Bundesland" - }, - "zipPostalCode": { - "message": "Postleitzahl" - }, - "country": { - "message": "Land" - }, - "shared": { - "message": "Geteilt" - }, - "attachments": { - "message": "Anhänge" - }, - "select": { - "message": "Auswählen" - }, - "addItem": { - "message": "Eintrag hinzufügen" - }, - "editItem": { - "message": "Eintrag bearbeiten" - }, - "viewItem": { - "message": "Eintrag anzeigen" - }, - "ex": { - "message": "Bsp.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Sonstiges" - }, - "share": { - "message": "Teilen" - }, - "valueCopied": { - "message": "$VALUE$ kopiert", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Wert kopieren", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Passwort kopieren", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Benutzernamen kopieren", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Nummer kopieren", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Sicherheitscode kopieren", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "URI kopieren", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "Mein Tresor" - }, - "vault": { - "message": "Tresor" - }, - "shareSelected": { - "message": "Auswahl teilen" - }, - "deleteSelected": { - "message": "Auswahl löschen" - }, - "moveSelected": { - "message": "Auswahl verschieben" - }, - "selectAll": { - "message": "Alle auswählen" - }, - "unselectAll": { - "message": "Alle abwählen" - }, - "launch": { - "message": "Starten" - }, - "newAttachment": { - "message": "Neuen Anhang hinzufügen" - }, - "deletedAttachment": { - "message": "Gelöschter Anhang" - }, - "deleteAttachmentConfirmation": { - "message": "Möchten Sie diesen Anhang wirklich löschen?" - }, - "attachmentSaved": { - "message": "Der Anhang wurde gespeichert." - }, - "file": { - "message": "Datei" - }, - "selectFile": { - "message": "Wähle eine Datei." - }, - "maxFileSize": { - "message": "Die maximale Dateigröße beträgt 100 MB." - }, - "updateKey": { - "message": "Sie können diese Funktion nicht nutzen, bevor Sie Ihren Verschlüsselungscode aktualisiert haben." - }, - "addedItem": { - "message": "Eintrag hinzugefügt" - }, - "editedItem": { - "message": "Eintrag bearbeitet" - }, - "sharedItem": { - "message": "Eintrag teilen" - }, - "sharedItems": { - "message": "Geteilte Einträge" - }, - "deleteItem": { - "message": "Eintrag löschen" - }, - "deleteFolder": { - "message": "Ordner löschen" - }, - "deleteAttachment": { - "message": "Anhang löschen" - }, - "deleteItemConfirmation": { - "message": "Soll dieser Eintrag wirklich gelöscht werden?" - }, - "deletedItem": { - "message": "Eintrag in Papierkorb verschoben" - }, - "deletedItems": { - "message": "In Papierkorb verschobene Einträge" - }, - "movedItems": { - "message": "Verschobene Einträge" - }, - "overwritePasswordConfirmation": { - "message": "Sind Sie sicher, dass Sie das aktuelle Passwort überschreiben möchten?" - }, - "editedFolder": { - "message": "Ordner bearbeitet" - }, - "addedFolder": { - "message": "Ordner hinzugefügt" - }, - "deleteFolderConfirmation": { - "message": "Soll dieser Ordner wirklich gelöscht werden?" - }, - "deletedFolder": { - "message": "Ordner gelöscht" - }, - "loggedOut": { - "message": "Ausgeloggt" - }, - "loginExpired": { - "message": "Ihre Anmeldungsitzung ist abgelaufen." - }, - "logOutConfirmation": { - "message": "Wollen Sie sich wirklich abmelden?" - }, - "logOut": { - "message": "Abmelden" - }, - "ok": { - "message": "Ok" - }, - "yes": { - "message": "Ja" - }, - "no": { - "message": "Nein" - }, - "loginOrCreateNewAccount": { - "message": "Sie müssen sich anmelden oder ein neues Konto erstellen, um auf den Tresor zugreifen zu können." - }, - "createAccount": { - "message": "Konto erstellen" - }, - "logIn": { - "message": "Anmelden" - }, - "submit": { - "message": "Absenden" - }, - "emailAddressDesc": { - "message": "Verwenden Sie Ihre E-Mail-Adresse zur Anmeldung." - }, - "yourName": { - "message": "Ihr Name" - }, - "yourNameDesc": { - "message": "Wie sollen wir Sie nennen?" - }, - "masterPass": { - "message": "Master-Passwort" - }, - "masterPassDesc": { - "message": "Das Master-Passwort wird verwendet, um den Tresor zu öffnen. Es ist sehr wichtig, dass Sie das Passwort nicht vergessen, da es keine Möglichkeit gibt es zurückzusetzen." - }, - "masterPassHintDesc": { - "message": "Ein Master-Passwort-Hinweis kann Ihnen helfen, sich an das Passwort zu erinnern, wenn Sie es vergessen haben sollten." - }, - "reTypeMasterPass": { - "message": "Master-Passwort wiederholen" - }, - "masterPassHint": { - "message": "Master-Passwort-Hinweis (optional)" - }, - "masterPassHintLabel": { - "message": "Master-Passwort-Hinweis" - }, - "settings": { - "message": "Einstellungen" - }, - "passwordHint": { - "message": "Passwort-Hinweis" - }, - "enterEmailToGetHint": { - "message": "Geben Sie die E-Mail Adresse Ihres Kontos ein, um einen Hinweis auf ihr Master-Passwort zu erhalten." - }, - "getMasterPasswordHint": { - "message": "Hinweis zum Master-Passwort erhalten" - }, - "emailRequired": { - "message": "Die E-Mail Adresse wird benötigt." - }, - "invalidEmail": { - "message": "Ungültige E-Mail Adresse." - }, - "masterPassRequired": { - "message": "Das Master-Passwort ist erforderlich." - }, - "masterPassLength": { - "message": "Das Master-Passwort muss mindestens 8 Zeichen lang sein." - }, - "masterPassDoesntMatch": { - "message": "Master-Passwort-Bestätigung stimmt nicht überein." - }, - "newAccountCreated": { - "message": "Ihr neues Konto wurde erstellt! Sie können sich jetzt anmelden." - }, - "masterPassSent": { - "message": "Wir haben Ihnen eine E-Mail mit dem Master-Passwort-Hinweis zu gesendet." - }, - "unexpectedError": { - "message": "Ein unerwarteter Fehler ist aufgetreten." - }, - "emailAddress": { - "message": "E-Mail-Adresse" - }, - "yourVaultIsLocked": { - "message": "Ihr Tresor ist gesperrt. Überprüfen Sie Ihr Master-Passwort um fortzufahren." - }, - "unlock": { - "message": "Entsperren" - }, - "loggedInAsEmailOn": { - "message": "Angemeldet als $EMAIL$ auf $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Ungültiges Master-Passwort" - }, - "lockNow": { - "message": "Jetzt sperren" - }, - "noItemsInList": { - "message": "Keine Einträge vorhanden." - }, - "noCollectionsInList": { - "message": "Keine Sammlungen vorhanden." - }, - "noGroupsInList": { - "message": "Keine Gruppen vorhanden." - }, - "noUsersInList": { - "message": "Keine Benutzer vorhanden." - }, - "noEventsInList": { - "message": "Keine Ereignisse vorhanden." - }, - "newOrganization": { - "message": "Neue Organisation" - }, - "noOrganizationsList": { - "message": "Sie gehören keiner Organisation an. Organisationen erlauben es Ihnen Passwörter sicher mit anderen zu teilen." - }, - "versionNumber": { - "message": "Version $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Geben Sie den 6-stelligen Verifizierungscode aus Ihrer Authentifizierungs-App ein." - }, - "enterVerificationCodeEmail": { - "message": "Geben Sie den 6-stelligen Verifizierungscode der an $EMAIL$ gesendet wurde an.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "Bestätigungsmail wurde an $EMAIL$ gesendet.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Angemeldet bleiben" - }, - "sendVerificationCodeEmailAgain": { - "message": "E-Mail mit Bestätigungscode erneut versenden" - }, - "useAnotherTwoStepMethod": { - "message": "Verwenden sie eine andere Zwei-Faktor-Anmelde-Methode" - }, - "insertYubiKey": { - "message": "Stecken Sie Ihren YubiKey in einen USB-Port Ihres Computers und berühren Sie dessen Knopf." - }, - "insertU2f": { - "message": "Stecken Sie Ihren Sicherheitsschlüssel in einen USB-Port des Computers. Falls dieser einen Knopf hat, drücken Sie ihn." - }, - "loginUnavailable": { - "message": "Anmeldung nicht verfügbar" - }, - "noTwoStepProviders": { - "message": "Dieses Konto hat eine aktive Zwei-Faktor-Authentifizierung, allerdings wird keiner der konfigurierten Zwei-Faktor-Anbieter von diesem Browser unterstützt." - }, - "noTwoStepProviders2": { - "message": "Bitte benutzen Sie einen unterstützten Browser (z. B. Chrome) und / oder fügen Sie zusätzliche Anbieter hinzu, die von mehr Browsern unterstützt werden (z. B. eine Authentifizierungs-App)." - }, - "twoStepOptions": { - "message": "Optionen für Zwei-Faktor-Authentifizierung" - }, - "recoveryCodeDesc": { - "message": "Zugang zu allen Zwei-Faktor-Anbietern verloren? Benutzen Sie Ihren Wiederherstellungscode, um alle Zwei-Faktor-Anbieter in Ihrem Konto zu deaktivieren." - }, - "recoveryCodeTitle": { - "message": "Wiederherstellungscode" - }, - "authenticatorAppTitle": { - "message": "Authentifizierungs-App" - }, - "authenticatorAppDesc": { - "message": "Verwenden Sie eine Authentifizierungs-App (wie zum Beispiel Authy oder Google Authenticator), um zeitbasierte Verifizierungscodes zu generieren.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "YubiKey OTP Sicherheitsschlüssel" - }, - "yubiKeyDesc": { - "message": "Verwende einen YubiKey um auf dein Konto zuzugreifen. Funtioniert mit YubiKey 4, Nano 4, 4C und NEO Geräten." - }, - "duoDesc": { - "message": "Verifizieren Sie mit Duo Security, indem Sie die Duo Mobile App, SMS, Anrufe oder U2F Sicherheitsschlüssel benutzen.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Nutzen Sie Duo Security um sich mit der Duo Mobile App, SMS, per Anruf oder U2F Sicherheitsschlüssel Ihrer Organisation gegenüber zu verifizieren.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Benutzen Sie einen FIDO U2F-kompatiblen Sicherheitsschlüssel um auf Ihr Konto zuzugreifen." - }, - "u2fTitle": { - "message": "FIDO U2F Sicherheitsschlüssel" - }, - "emailTitle": { - "message": "E-Mail" - }, - "emailDesc": { - "message": "Bestätigungscodes werden Ihnen per E-Mail zugesandt." - }, - "continue": { - "message": "Fortsetzen" - }, - "organization": { - "message": "Organisation" - }, - "organizations": { - "message": "Organisationen" - }, - "shareDesc": { - "message": "Wählen Sie eine Organisation aus, für die Sie diesen Eintrag freigeben möchten. Die gemeinsame Nutzung überträgt das Eigentum an dem Eintrag auf diese Organisation. Sie sind dann nicht mehr der direkte Besitzer dieses Eintrags, sobald er geteilt wurde." - }, - "shareManyDesc": { - "message": "Wählen Sie eine Organisation aus, für die Sie diese Einträge freigeben möchten. Die gemeinsame Nutzung überträgt das Eigentum an den Einträgen auf diese Organisation. Sie sind dann nicht mehr der direkte Besitzer dieser Einträge, sobald sie geteilt wurden." - }, - "collectionsDesc": { - "message": "Bearbeiten Sie die Sammlungen, mit denen dieser Eintrag geteilt wird. Nur Organisationsmitglieder mit Zugriff auf diese Sammlungen werden diesen Eintrag sehen können." - }, - "deleteSelectedItemsDesc": { - "message": "Sie haben $COUNT$ Eintrag/Einträge zum Löschen ausgewählt. Sind Sie sicher, dass alle diese Einträge gelöscht werden sollen?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Wählen Sie einen Ordner aus, in den Sie $COUNT$ ausgewählte(s) Objekt(e) verschieben möchten.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "Sie haben $COUNT$ Einträge ausgewählt, $SHAREABLE_COUNT$ davon können geteilt werden, $NONSHAREABLE_COUNT$ nicht.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Verifizierungscode (TOTP)" - }, - "copyVerificationCode": { - "message": "Kopiere Verifizierungscode" - }, - "warning": { - "message": "Warnung" - }, - "confirmVaultExport": { - "message": "Tresor-Export bestätigen" - }, - "exportWarningDesc": { - "message": "Dieser Export enthält Ihre Tresor-Daten in einem unverschlüsseltem Format. Sie sollten die Datei daher nicht über unsichere Kanäle (z.B. E-Mail) versenden oder speichern. Löschen Sie die Datei sofort nach ihrer Verwendung." - }, - "encExportWarningDesc": { - "message": "Dieser Export verschlüsselt Ihre Daten mit dem Verschlüsselungscode Ihres Kontos. Falls Sie Ihren Verschlüsselungscode erneuern, sollten Sie den Export erneut durchführen, da Sie die zuvor erstellte Datei ansonsten nicht mehr entschlüsseln können." - }, - "exportMasterPassword": { - "message": "Geben Sie das Master-Passwort ein, um Ihre Tresordaten zu exportieren." - }, - "exportVault": { - "message": "Tresor exportieren" - }, - "fileFormat": { - "message": "Dateiformat" - }, - "exportSuccess": { - "message": "Ihre Daten wurden exportiert." - }, - "passwordGenerator": { - "message": "Passwortgenerator" - }, - "minComplexityScore": { - "message": "Kleinste Komplexitätsstufe" - }, - "minNumbers": { - "message": "Mindestanzahl Ziffern" - }, - "minSpecial": { - "message": "Mindestanzahl Sonderzeichen", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Mehrdeutige Zeichen vermeiden" - }, - "regeneratePassword": { - "message": "Passwort neu generieren" - }, - "length": { - "message": "Länge" - }, - "numWords": { - "message": "Anzahl der Wörter" - }, - "wordSeparator": { - "message": "Worttrennzeichen" - }, - "capitalize": { - "message": "Großschreiben", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Ziffer hinzufügen" - }, - "passwordHistory": { - "message": "Passwortverlauf" - }, - "noPasswordsInList": { - "message": "Keine Passwörter vorhanden." - }, - "clear": { - "message": "Löschen", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Konto aktualisiert" - }, - "changeEmail": { - "message": "E-Mail-Adresse ändern" - }, - "newEmail": { - "message": "Neue E-Mail-Adresse" - }, - "code": { - "message": "Code" - }, - "changeEmailDesc": { - "message": "Wir haben Ihnen einen Bestätigungscode an $EMAIL$ gesendet. Bitte prüfen Sie Ihre E-Mails und geben Sie den Code zur Bestätigung der E-Mail-Änderung unten ein.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Wenn Sie fortfahren, werden Sie aus Ihrer aktuellen Sitzung ausgeloggt. Aktive Sitzungen auf anderen Geräten können bis zu einer Stunde weiterhin verwendet werden." - }, - "emailChanged": { - "message": "E-Mail-Adresse geändert" - }, - "logBackIn": { - "message": "Bitte melden Sie sich erneut an." - }, - "logBackInOthersToo": { - "message": "Bitte melden Sie sich wieder an. Wenn Sie andere Bitwarden-Anwendungen verwenden, melden Sie sich auch dort ab und wieder neu an." - }, - "changeMasterPassword": { - "message": "Master-Passwort ändern" - }, - "masterPasswordChanged": { - "message": "Master-Passwort geändert" - }, - "currentMasterPass": { - "message": "Aktuelles Master-Passwort" - }, - "newMasterPass": { - "message": "Neues Master-Passwort" - }, - "confirmNewMasterPass": { - "message": "Neues Master-Passwort bestätigen" - }, - "encKeySettings": { - "message": "Verschlüsselungscode-Einstellungen" - }, - "kdfAlgorithm": { - "message": "KDF-Algorithmus" - }, - "kdfIterations": { - "message": "KDF-Iterationen" - }, - "kdfIterationsDesc": { - "message": "Eine höhere Anzahl von KDF-Iterationen hilft dabei, dein Master-Passwort besser vor Brute-Force-Angriffen zu schützen. Wir empfehlen einen Wert von $VALUE$ oder mehr.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Wenn du die Anzahl der KDF-Iterationen zu hoch setzt, kann es sein, dass das Einloggen in Bitwarden (und Entsperren) auf langsameren Geräten länger dauert. Wir empfehlen, dass du den Wert um $INCREMENT$ Schrittweise anhebest und es auf allen Geräten testest.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "KDF ändern" - }, - "encKeySettingsChanged": { - "message": "Verschlüsselungscode-Einstellungen wurden geändert" - }, - "dangerZone": { - "message": "Gefahrenzone" - }, - "dangerZoneDesc": { - "message": "Vorsicht, diese Aktionen sind nicht umkehrbar!" - }, - "deauthorizeSessions": { - "message": "Sitzungen abmelden" - }, - "deauthorizeSessionsDesc": { - "message": "Könnte es sein, dass Sie noch auf einem anderen Gerät angemeldet sind? Gehen Sie dazu wie folgt vor, um sich auf allen bisher benutzten Geräten abzumelden. Dieser Schritt wird empfohlen, wenn Sie sich auf einem öffentlichen Computer angemeldet haben, oder Ihr Passwort versehentlich auf einem fremden Gerät gespeichert haben. Dieser Schritt löscht außerdem alle zuvor gespeicherten Sitzungen mit Zwei-Faktor-Anmeldung." - }, - "deauthorizeSessionsWarning": { - "message": "Sollten Sie sich von allen Geräten abmelden, werden Sie auch vom jetzigen Gerät abgemeldet und müssen sich erneut anmelden. Sollten Sie die Zwei-Faktor-Anmeldung aktiviert haben, müssen Sie diese ebenfalls erneut auf diesem Gerät bestätigen. Es kann bis zu eine Stunde dauern, bis Sie auf allen Geräten abgemeldet sind." - }, - "sessionsDeauthorized": { - "message": "Alle Sitzungen wurden abgemeldet" - }, - "purgeVault": { - "message": "Tresor leeren" - }, - "purgedOrganizationVault": { - "message": "Gelöschter Organisations-Tresor." - }, - "purgeVaultDesc": { - "message": "Gehen Sie wie folgt vor, um alle Einträge und Ordner in Ihrem Tresor zu löschen. Einträge, die zu einer Organisation gehören, die Sie mit anderen teilen, werden nicht gelöscht." - }, - "purgeOrgVaultDesc": { - "message": "Fahren Sie fort, um alle Inhalte dieses Tresors zu löschen." - }, - "purgeVaultWarning": { - "message": "Die Leerung des Tresor ist permanent. Sie kann nicht rückgängig gemacht werden." - }, - "vaultPurged": { - "message": "Ihr Tresor wurde geleert." - }, - "deleteAccount": { - "message": "Konto löschen" - }, - "deleteAccountDesc": { - "message": "Gehen Sie wie folgt vor, um Ihr Konto und alle zugehörigen Daten zu löschen." - }, - "deleteAccountWarning": { - "message": "Die Kontolöschung ist permanent. Sie kann nicht rückgängig gemacht werden." - }, - "accountDeleted": { - "message": "Konto gelöscht" - }, - "accountDeletedDesc": { - "message": "Ihr Konto und alle zugehörigen Daten wurden gelöscht." - }, - "myAccount": { - "message": "Mein Konto" - }, - "tools": { - "message": "Werkzeuge" - }, - "importData": { - "message": "Daten importieren" - }, - "importSuccess": { - "message": "Daten wurden erfolgreich in Ihren Tresor importiert." - }, - "importFormatError": { - "message": "Die Daten sind nicht richtig formatiert. Kontrollieren Sie bitte Ihre Import-Datei und versuchen Sie es erneut." - }, - "importNothingError": { - "message": "Es wurde nichts importiert." - }, - "selectFormat": { - "message": "Wählen Sie das Format Ihrer Import-Datei" - }, - "selectImportFile": { - "message": "Wählen Sie die Import-Datei" - }, - "orCopyPasteFileContents": { - "message": "oder fügen Sie den Inhalt Ihrer Datei hier ein" - }, - "instructionsFor": { - "message": "Anleitung für $NAME$", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Optionen" - }, - "optionsDesc": { - "message": "Passen Sie den Web-Tresor Ihren Bedürfnissen an." - }, - "optionsUpdated": { - "message": "Optionen aktualisiert" - }, - "language": { - "message": "Sprache" - }, - "languageDesc": { - "message": "Ändern Sie die Sprache für den Web-Tresor." - }, - "disableIcons": { - "message": "Website-Icons deaktivieren" - }, - "disableIconsDesc": { - "message": "Website-Icons zeigen ein wiedererkennbares Bild neben jedem Eintrag in Ihrem Tresor." - }, - "enableGravatars": { - "message": "Aktiviere Gravatare", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Nutze Profilbilder von gravatar.com." - }, - "enableFullWidth": { - "message": "Darstellung in voller Breite aktivieren", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Dem Web-Tresor erlauben, die volle Breite des Browserfensters zu benutzen." - }, - "default": { - "message": "Standard" - }, - "domainRules": { - "message": "Domain-Regeln" - }, - "domainRulesDesc": { - "message": "Wenn Sie die gleiche Anmeldung über mehrere verschiedene Webseitendomänen hinweg haben, können Sie die Webseite als \"gleichwertig\" markieren. \"Globale\" Domänen wurden bereits von Bitwarden für Sie angelegt." - }, - "globalEqDomains": { - "message": "Globale gleichwertige Domains" - }, - "customEqDomains": { - "message": "Benutzerdefinierte gleichwertige Domains" - }, - "exclude": { - "message": "Ausschließen" - }, - "include": { - "message": "Einschließen" - }, - "customize": { - "message": "Anpassen" - }, - "newCustomDomain": { - "message": "Neue benutzerdefinierte Domäne" - }, - "newCustomDomainDesc": { - "message": "Geben Sie eine mit Komma getrennte Liste von Domänen ein. Nur \"Basis\"-Domänen sind erlaubt. Geben Sie keine Sub-Domänen an. Geben Sie beispielsweise \"google.de\" anstelle von \"www.google.de\" an. Sie können auch \"androidapp://package.name\" eingeben, um Webseiten-Domänen einer Android-App zuzuordnen." - }, - "customDomainX": { - "message": "$INDEX$ benutzerdefinierte Domänen", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Domänen aktualisiert" - }, - "twoStepLogin": { - "message": "Zwei-Faktor-Authentifizierung" - }, - "twoStepLoginDesc": { - "message": "Sichern Sie Ihr Konto mit Zwei-Faktor-Authentifizierung." - }, - "twoStepLoginOrganizationDesc": { - "message": "Zwei-Faktor-Authentifizierung für die Benutzer Ihrer Organisation verlangen, indem Sie Anbieter auf Organisationsebene konfigurieren." - }, - "twoStepLoginRecoveryWarning": { - "message": "Durch die Aktivierung der Zwei-Faktor-Authentifizierung könnten Sie sich dauerhaft aus Ihrem Bitwarden-Konto aussperren. Ein Wiederherstellungscode ermöglicht es Ihnen, auf Ihr Konto zuzugreifen, falls Sie Ihren normalen Zwei-Faktor-Anbieter nicht mehr verwenden können (z.B. wenn Sie Ihr Gerät verlieren). Der Bitwarden-Support kann Ihnen nicht helfen, wenn Sie den Zugang zu Ihrem Konto verlieren. Wir empfehlen Ihnen, den Wiederherstellungscode aufzuschreiben oder auszudrucken und an einem sicheren Ort aufzubewahren." - }, - "viewRecoveryCode": { - "message": "Wiederherstellungscode anzeigen" - }, - "providers": { - "message": "Anbieter", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Aktivieren" - }, - "enabled": { - "message": "Aktiviert" - }, - "premium": { - "message": "Premium", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Premium-Mitgliedschaft" - }, - "premiumRequired": { - "message": "Premium-Mitgliedschaft benötigt" - }, - "premiumRequiredDesc": { - "message": "Für diese Funktion ist eine Premium-Mitgliedschaft notwendig." - }, - "youHavePremiumAccess": { - "message": "Sie haben Zugriff auf Premium-Funktionen" - }, - "alreadyPremiumFromOrg": { - "message": "Sie haben bereits Zugriff auf Premiumfunktionen, weil Sie Mitglied einer Organisation sind." - }, - "manage": { - "message": "Verwalten" - }, - "disable": { - "message": "Deaktivieren" - }, - "twoStepLoginProviderEnabled": { - "message": "Dieser Zwei-Faktor-Authentifizierungsanbieter ist für Ihr Konto aktiviert." - }, - "twoStepLoginAuthDesc": { - "message": "Geben Sie Ihr Master-Passwort ein, um die Zwei-Faktor-Anmeldeeinstellungen zu ändern." - }, - "twoStepAuthenticatorDesc": { - "message": "Führen Sie diese Schritte aus, um eine Zwei-Faktor-Anmeldung mit einer Authentifizierungs-App einzurichten:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Laden Sie sich eine Zwei-Faktor-Authentifizierungs-App herunter" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Brauchen Sie eine Zwei-Faktor-Authentifizierungs-App? Laden Sie eine der folgenden Apps herunter" - }, - "iosDevices": { - "message": "iOS-Gerät" - }, - "androidDevices": { - "message": "Android-Gerät" - }, - "windowsDevices": { - "message": "Windows-Gerät" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "Diese Apps sind Empfehlungen. Andere Authentifizierungs-Apps funktionieren allerdings auch." - }, - "twoStepAuthenticatorScanCode": { - "message": "Scannen Sie diesen QR-Code mit Ihrer Authentifizierungs-App" - }, - "key": { - "message": "Schlüssel" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Geben Sie den 6-stelligen Bestätigungs-Code aus der App ein" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "Falls Sie es zu einem anderen Gerät hinzufügen müssen, finden Sie unten den QR-Code (oder Schlüssel), der von Ihrer Authentifizierungs-App benötigt wird." - }, - "twoStepDisableDesc": { - "message": "Sind Sie sicher, dass Sie diesen Zwei-Faktor-Authentifizierungsanbieter deaktivieren möchten?" - }, - "twoStepDisabled": { - "message": "Zwei-Faktor-Authentifizierungsanbieter deaktiviert." - }, - "twoFactorYubikeyAdd": { - "message": "Einen neuen YubiKey zu Ihrem Konto hinzufügen" - }, - "twoFactorYubikeyPlugIn": { - "message": "Stecken Sie den YubiKey in den USB-Anschluss Ihres Computers." - }, - "twoFactorYubikeySelectKey": { - "message": "Selektieren Sie unten das erste YubiKey-Eingabefeld." - }, - "twoFactorYubikeyTouchButton": { - "message": "Drücken Sie die Taste des YubiKeys." - }, - "twoFactorYubikeySaveForm": { - "message": "Speichern des Formulars" - }, - "twoFactorYubikeyWarning": { - "message": "Aufgrund von Plattformbeschränkungen können YubiKeys nicht in allen Bitwarden-Anwendungen verwendet werden. Sie sollten einen anderen Zwei-Faktor-Authentifizierungsanbieter aktivieren, damit Sie auf Ihr Konto zugreifen können, wenn YubiKeys nicht verwendet werden können. Unterstützte Plattformen:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Web-Tresor, Desktop-Anwendung, CLI und alle Browser-Erweiterungen auf einem Gerät mit USB-Anschluss, das Ihren YubiKey erkennen kann." - }, - "twoFactorYubikeySupportMobile": { - "message": "Mobile Apps auf einem NFC-fähigen Gerät oder einem USB-Port, der Ihren YubiKey erkennen kann." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "U2F Schlüssel $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "NFC-Unterstützung" - }, - "twoFactorYubikeySupportsNfc": { - "message": "Einer meiner Schlüssel unterstützt NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "Wenn eines Ihrer YubiKeys NFC (z. B. ein YubiKey NEO) unterstützt, werden Sie auf mobilen Geräten dazu aufgefordert, wenn NFC Verfügbarkeit erkannt wird." - }, - "yubikeysUpdated": { - "message": "YubiKeys aktualisiert" - }, - "disableAllKeys": { - "message": "Alle Schlüssel deaktivieren" - }, - "twoFactorDuoDesc": { - "message": "Geben Sie die Bitwarden-Anwendungsinformationen aus Ihrem Duo Admin-Panel ein." - }, - "twoFactorDuoIntegrationKey": { - "message": "Integrationsschlüssel" - }, - "twoFactorDuoSecretKey": { - "message": "Geheimer Schlüssel" - }, - "twoFactorDuoApiHostname": { - "message": "API-Hostname" - }, - "twoFactorEmailDesc": { - "message": "Folgen Sie diesen Schritten, um eine Zwei-Faktor-Anmeldung per E-Mail einzurichten:" - }, - "twoFactorEmailEnterEmail": { - "message": "Geben Sie die E-Mail ein, unter der Sie Verifizierungscodes erhalten möchten" - }, - "twoFactorEmailEnterCode": { - "message": "Geben Sie den 6-stelligen Bestätigungs-Code aus der E-Mail ein" - }, - "sendEmail": { - "message": "E-Mail senden" - }, - "twoFactorU2fAdd": { - "message": "Fügen Sie Ihrem Konto einen FIDO U2F-Sicherheitsschlüssel hinzu" - }, - "removeU2fConfirmation": { - "message": "Sind Sie sich sicher, dass Sie diesen Sicherheitsschlüssel entfernen möchten?" - }, - "readKey": { - "message": "Schlüssel erfassen" - }, - "keyCompromised": { - "message": "Dieser Schlüssel ist bloßgestellt." - }, - "twoFactorU2fGiveName": { - "message": "Geben Sie dem Sicherheitsschlüssel einen eigenen Namen, um ihn zu erkennen." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Stecken Sie den Sicherheitsschlüssel in den USB-Port Ihres Computers und drücken Sie den \"Schlüssel erfassen\" Knopf." - }, - "twoFactorU2fTouchButton": { - "message": "Wenn der Sicherheitsschlüssel eine Taste hat, drücken Sie die." - }, - "twoFactorU2fSaveForm": { - "message": "Formular speichern." - }, - "twoFactorU2fWarning": { - "message": "Aufgrund von Plattformbeschränkungen kann FIDO U2F nicht mit allen Bitwarden-Anwendungen verwendet werden. Sie sollten einen anderen Zwei-Faktor-Authentifizierungsanbieter aktivieren, damit Sie auf Ihr Konto zugreifen können, wenn FIDO U2F nicht verwendet werden kann. Unterstützte Plattformen sind:" - }, - "twoFactorU2fSupportWeb": { - "message": "Web-Tresor und Browser-Erweiterungen auf einem Desktop/Laptop mit einem U2F fähigen Browser (Chrome, Opera, Vivaldi oder Firefox mit FIDO U2F aktiviert)." - }, - "twoFactorU2fWaiting": { - "message": "Es wird darauf gewartet, dass Sie die Taste Ihres Sicherheitsschlüssels betätigen" - }, - "twoFactorU2fClickSave": { - "message": "Drücken Sie \"Speichern\", um den Sicherheitsschlüssel für die Zwei-Faktor Authentifizierung zu aktivieren." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "Es gab ein Problem beim lesen des Sicherheitsschlüssels, bitte erneut versuchen." - }, - "twoFactorRecoveryYourCode": { - "message": "Ihr Wiederherstellungsschlüssel für die Zwei-Faktor-Anmeldung in Bitwarden" - }, - "twoFactorRecoveryNoCode": { - "message": "Sie haben noch keine Variante der Zwei-Faktor-Anmeldung aktiviert. Nachdem Sie eine Zwei-Faktor-Anmeldung aktiviert haben, finden Sie hier Ihren Wiederherstellungs-Code." - }, - "printCode": { - "message": "Code drucken", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Berichte" - }, - "unsecuredWebsitesReport": { - "message": "Bericht über ungesicherte Websites" - }, - "unsecuredWebsitesReportDesc": { - "message": "Die Verwendung ungesicherter Webseiten mit dem http:// Präfix kann gefährlich sein. Wenn die Webseite es erlaubt, sollten Sie immer über das https:// Präfix darauf zugreifen, damit Ihre Verbindung verschlüsselt ist." - }, - "unsecuredWebsitesFound": { - "message": "Ungesicherte Webseiten gefunden" - }, - "unsecuredWebsitesFoundDesc": { - "message": "Wir haben $COUNT$ Elemente in Ihrem Tresor mit ungesicherten URIs gefunden. Sie sollten ihr URI-Präfix auf https:// ändern, wenn die Webseite dies zulässt.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "Es gibt keine Einträge in Ihrem Tresor, die unsichere URIs benutzen." - }, - "inactive2faReport": { - "message": "Bericht über inaktive 2FA" - }, - "inactive2faReportDesc": { - "message": "Die Zwei-Faktor-Authentifizierung (2FA) ist eine wichtige Sicherheitseinstellung, die Ihnen bei der Absicherung Ihrer Konten hilft. Wenn eine Webseite 2FA anbietet, sollten Sie es immer aktivieren." - }, - "inactive2faFound": { - "message": "Anmeldungen ohne 2FA gefunden" - }, - "inactive2faFoundDesc": { - "message": "Wir haben $COUNT$ Webseiten in Ihrem Tresor gefunden, die eine Zwei-Faktor Authentifizierung anbieten (laut 2fa.directory), aber bei denen diese Funktion möglicherweise nicht aktiviert ist. Um diese Accounts abzusichern, sollten Sie die Zwei-Faktor Authentifizierung aktivieren.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "Es wurden keine Webseiten in Ihrem Tresor gefunden, bei denen eine Konfiguration der Zwei-Faktor Authentifizierung fehlt." - }, - "instructions": { - "message": "Anleitung" - }, - "exposedPasswordsReport": { - "message": "Bericht über kompromittierte Passwörter" - }, - "exposedPasswordsReportDesc": { - "message": "Kompromittierte Passwörter sind Passwörter, die in bekannten Datendiebstählen entdeckt und veröffentlicht wurden oder von Hackern im Dark Web verkauft wurden." - }, - "exposedPasswordsFound": { - "message": "Es wurden kompromittierte Passwörter gefunden" - }, - "exposedPasswordsFoundDesc": { - "message": "Wir haben $COUNT$ Einträge in Ihrem Tresor gefunden, die in bekannten Passwortdiebstahl Datenbanken veröffentlicht wurden. Sie sollten diese Passwörter so schnell wie möglich ändern.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "Es scheint in Ihrem Tresor keine Passwörter zu geben, die in Passwortdiebstahl Datenbanken veröffentlicht wurden." - }, - "checkExposedPasswords": { - "message": "Auf kompromittierte Passwörter prüfen" - }, - "exposedXTimes": { - "message": "$COUNT$ mal kompromittiert", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Bericht über schwache Passwörter" - }, - "weakPasswordsReportDesc": { - "message": "Schwache Passwörter können von Angreifern und automatisierten Prozessen, die Passwörter knacken, leicht erraten werden. Der Passwortgenerator von Bitwarden kann Ihnen helfen, starke und sichere Passwörter zu generieren." - }, - "weakPasswordsFound": { - "message": "Schwache Passwörter gefunden" - }, - "weakPasswordsFoundDesc": { - "message": "Wir haben $COUNT$ Einträge mit schwachen Passwörtern in Ihrem Tresor gefunden. Sie sollten diese aktualisieren und ein sicheres Passwort verwenden.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "Keine Einträge in Ihrem Tresor haben schwache Passwörter." - }, - "reusedPasswordsReport": { - "message": "Bericht über wiederverwendete Passwörter" - }, - "reusedPasswordsReportDesc": { - "message": "Wenn Sie Passwörter für mehrere Dienste gleichzeitig benutzen und einer dieser Dienste kompromittiert wird, ist es für Angreifer deutlich einfacher Zugriff zu den anderen Konten zu erlangen. Aus diesem Grund sollten Sie für jeden Dienst ein einzigartiges Passwort verwenden." - }, - "reusedPasswordsFound": { - "message": "Wiederverwendete Passwörter gefunden" - }, - "reusedPasswordsFoundDesc": { - "message": "Wir haben $COUNT$ Passwörter in Ihrem Tresor gefunden, die mehrfach benutzt wurden. Sie sollten diese ändern und jedes Passwort nur ein einziges Mal benutzen.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "In Ihrem Tresor wurden keine Einträge mit wiederverwendeten Passwörtern gefunden." - }, - "reusedXTimes": { - "message": "Bereits $COUNT$ mal verwendet", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Datendiebstahl-Bericht" - }, - "breachDesc": { - "message": "Ein Datendiebstahl ist ein Vorfall, bei dem sich Hacker illegal Zugriff auf Daten von einer Website verschafft haben und diese im Anschluss veröffentlicht wurden. Prüfen Sie die Art der Daten, welche kompromittiert wurden (E-Mail-Adressen, Kennwörter, Kreditkarteninformationen) und leiten Sie entsprechende Handlungen ein, wie z.B. das Ändern von Kennwörtern." - }, - "breachCheckUsernameEmail": { - "message": "Prüfen Sie alle Benutzernamen und E-Mail-Adressen, die Sie verwenden." - }, - "checkBreaches": { - "message": "Auf Datendiebstähle prüfen" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ wurde in keinem der bekannten Datendiebstahlvorfällen gefunden.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Gute Nachrichten", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ wurde in $COUNT$ Datendiebstahlvorfällen gefunden.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Betroffene Konten wurden gefunden" - }, - "compromisedData": { - "message": "Kompromittierte Daten" - }, - "website": { - "message": "Webseite" - }, - "affectedUsers": { - "message": "Betroffene Nutzer" - }, - "breachOccurred": { - "message": "Ein Datendiebstahl ist aufgetreten" - }, - "breachReported": { - "message": "Ein Datendiebstahl wurde gemeldet" - }, - "reportError": { - "message": "Ein Fehler ist aufgetreten, während der Bericht geladen wurde. Versuchen Sie es erneut" - }, - "billing": { - "message": "Rechnung" - }, - "accountCredit": { - "message": "Kontoguthaben", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Kontostand", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Guthaben hinzufügen", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Anzahl", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Aufgeladenes Guthaben wird auf Ihrem Konto verbucht, nachdem die Zahlung vollständig bearbeitet wurde. Einige Zahlungsarten brauchen mehr Zeit zum Bearbeiten als andere." - }, - "makeSureEnoughCredit": { - "message": "Bitte stellen Sie sicher, dass Ihr Konto über genügend Guthaben für diesen Kauf verfügt. Wenn Ihr Konto nicht über genügend Guthaben verfügt, wird Ihre hinterlegte Standard-Zahlungsart für den Ausgleich des Restbetrages verwendet. Über die Rechnungsseite können Sie Ihr Konto aufladen." - }, - "creditAppliedDesc": { - "message": "Das Guthaben Ihres Kontos kann für Einkäufe verwendet werden. Das verfügbare Guthaben wird automatisch auf die für dieses Konto erstellten Rechnungen angerechnet." - }, - "goPremium": { - "message": "Zu Premium wechseln", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "Sie haben ein Premium-Abo aktiviert." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Machen Sie ein Upgrade Ihres Kontos auf eine Premium-Mitgliedschaft, um zusätzliche, großartige Funktionen freizuschalten." - }, - "premiumSignUpStorage": { - "message": "1 GB verschlüsselter Speicherplatz für Datei-Anhänge." - }, - "premiumSignUpTwoStep": { - "message": "Zusätzliche Zwei-Faktor-Authentifizierungsmöglichkeiten wie z.B. YubiKey, FIDO U2F und Duo." - }, - "premiumSignUpReports": { - "message": "Berichte über Passwort-Hygiene, Kontostatus und Datendiebstähle, um Ihren Tresor sicher zu halten." - }, - "premiumSignUpTotp": { - "message": "TOTP Verifizierungscode-Generator (2FA) für Konten in Ihrem Tresor." - }, - "premiumSignUpSupport": { - "message": "Vorrangiger Kundenservice." - }, - "premiumSignUpFuture": { - "message": "Alle zukünftigen Premium-Funktionen. Mehr in Kürze!" - }, - "premiumPrice": { - "message": "Alles für nur $PRICE$ pro Jahr!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Erweiterungen" - }, - "premiumAccess": { - "message": "Zugriff für Premium" - }, - "premiumAccessDesc": { - "message": "Sie können allen Mitgliedern Ihrer Organisation zum Preis von $PRICE$ pro $INTERVAL$ einen Premium-Zugang ermöglichen.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Zusätzlicher Speicher (GB)" - }, - "additionalStorageGbDesc": { - "message": "# zusätzliche GB" - }, - "additionalStorageIntervalDesc": { - "message": "Ihr Abo beinhaltet $SIZE$ verschlüsselten Datenspeicher. Sie können zusätzlichen Speicher für $PRICE$ pro GB im $INTERVAL$ hinzufügen.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Zusammenfassung" - }, - "total": { - "message": "Gesamt" - }, - "year": { - "message": "Jahr" - }, - "month": { - "message": "Monat" - }, - "monthAbbr": { - "message": "Mo.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Ihre Zahlungsmethode wird sofort und jährlich wiederkehrend belastet. Sie können jederzeit kündigen." - }, - "paymentCharged": { - "message": "Ihre Zahlungsmethode wird sofort belastet und darauf folgend einmal pro $INTERVAL$. Sie können jederzeit kündigen.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Ihr Abo startet mit einer kostenlosen Probezeit von 7 Tagen. Ihre Karte wird nicht belastet, bis die Probezeit abgelaufen ist. Die Rechnung kommt wiederkehrend jeden/jedes $INTERVAL$. Sie können jederzeit kündigen.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Zahlungsinformationen" - }, - "billingInformation": { - "message": "Informationen zur Abrechnung" - }, - "creditCard": { - "message": "Kreditkarte" - }, - "paypalClickSubmit": { - "message": "Klicken Sie auf die Schaltfläche PayPal, um sich bei Ihrem PayPal-Konto anzumelden und anschließend auf die Schaltfläche Senden, um fortzufahren." - }, - "cancelSubscription": { - "message": "Abo kündigen" - }, - "subscriptionCanceled": { - "message": "Das Abo wurde gekündigt." - }, - "pendingCancellation": { - "message": "Ausstehende Kündigung" - }, - "subscriptionPendingCanceled": { - "message": "Das Abo wurde zum Ende des aktuellen Abrechnungszeitraums zur Kündigung vorgemerkt." - }, - "reinstateSubscription": { - "message": "Abo wiederherstellen" - }, - "reinstateConfirmation": { - "message": "Sind Sie sicher, dass Sie den ausstehenden Kündigungsantrag löschen und das Abo wieder aufnehmen möchten?" - }, - "reinstated": { - "message": "Das Abo wurde wieder aufgenommen." - }, - "cancelConfirmation": { - "message": "Sind Sie sicher, dass Sie kündigen wollen? Am Ende dieses Abrechnungszyklus verlieren Sie den Zugriff auf alle Funktionen dieses Abos." - }, - "canceledSubscription": { - "message": "Das Abo wurde gekündigt." - }, - "neverExpires": { - "message": "Läuft nie ab" - }, - "status": { - "message": "Status" - }, - "nextCharge": { - "message": "Nächste Abbuchung" - }, - "details": { - "message": "Details" - }, - "downloadLicense": { - "message": "Lizenz herunterladen" - }, - "updateLicense": { - "message": "Lizenz aktualisieren" - }, - "updatedLicense": { - "message": "Aktualisierte Lizenz" - }, - "manageSubscription": { - "message": "Abo verwalten" - }, - "storage": { - "message": "Speicher" - }, - "addStorage": { - "message": "Speicherplatz erweitern" - }, - "removeStorage": { - "message": "Speicherplatz verringern" - }, - "subscriptionStorage": { - "message": "Ihr Abo hat insgesamt $MAX_STORAGE$ GB verschlüsselten Speicherplatz. Sie benutzen derzeit $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Zahlungsart" - }, - "noPaymentMethod": { - "message": "Keine Zahlungsmethode hinterlegt." - }, - "addPaymentMethod": { - "message": "Zahlungsmethode hinzufügen" - }, - "changePaymentMethod": { - "message": "Zahlungsmethode ändern" - }, - "invoices": { - "message": "Rechnungen" - }, - "noInvoices": { - "message": "Keine Rechnungen." - }, - "paid": { - "message": "Bezahlt", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Unbezahlt", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Zahlungsvorgänge", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "Keine Zahlungsvorgänge." - }, - "chargeNoun": { - "message": "Gebühr", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Rückerstattung", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Alle Gebühren werden auf Ihrem Kontoauszug als $STATEMENT_NAME$ angezeigt.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "GB an Speicherplatz hinzufügen" - }, - "gbStorageRemove": { - "message": "GB an Speicherplatz entfernen" - }, - "storageAddNote": { - "message": "Das Hinzufügen von Speicherplatz führt zu einer Anpassung Ihrer Rechnungssummen und belastet Ihre Zahlungsmethode sofort. Die erste Gebühr wird für den Rest des aktuellen Abrechnungszyklus anteilig berechnet." - }, - "storageRemoveNote": { - "message": "Das Entfernen des Speichers führt zu einer Anpassung Ihrer Rechnungssumme, die als Gutschrift auf Ihre nächste Rechnungssumme angerechnet wird." - }, - "adjustedStorage": { - "message": "$AMOUNT$ GB Speicherplatz angepasst.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Kundenservice kontaktieren" - }, - "updatedPaymentMethod": { - "message": "Zahlungsart aktualisiert." - }, - "purchasePremium": { - "message": "Premium-Mitgliedschaft erwerben" - }, - "licenseFile": { - "message": "Lizenzdatei" - }, - "licenseFileDesc": { - "message": "Ihre Lizenzdatei wird so ähnlich wie $FILE_NAME$ heißen", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "Um Ihr Konto zu einer Premium-Mitgliedschaft hochzustufen, müssen Sie eine gültige Lizenzdatei hochladen." - }, - "uploadLicenseFileOrg": { - "message": "Um eine vor Ort gehostete Organisation zu erstellen, müssen Sie eine gültige Lizenzdatei hochladen." - }, - "accountEmailMustBeVerified": { - "message": "Die E-Mail-Adresse Ihres Kontos muss bestätigt werden." - }, - "newOrganizationDesc": { - "message": "Organisationen ermöglichen es Ihnen, Teile Ihres Tresors mit anderen zu teilen und verwandte Benutzer für eine bestimmte Gruppe wie eine Familie, ein kleines Team oder ein großes Unternehmen zu verwalten." - }, - "generalInformation": { - "message": "Allgemeine Informationen" - }, - "organizationName": { - "message": "Name der Organisation" - }, - "accountOwnedBusiness": { - "message": "Dieses Konto gehört einem Unternehmen." - }, - "billingEmail": { - "message": "E-Mail für Rechnung" - }, - "businessName": { - "message": "Firmenname" - }, - "chooseYourPlan": { - "message": "Wählen Sie Ihr Abo" - }, - "users": { - "message": "Benutzer" - }, - "userSeats": { - "message": "Benutzerplätze" - }, - "additionalUserSeats": { - "message": "Weitere Benutzerplätze" - }, - "userSeatsDesc": { - "message": "Anzahl der Benutzerplätze" - }, - "userSeatsAdditionalDesc": { - "message": "Ihr Abo beinhaltet $BASE_SEATS$ Benutzerplätze. Sie können weitere Benutzer für $SEAT_PRICE$ pro Benutzer/Monat hinzufügen.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "Wie viele Benutzerplätze benötigen Sie? Bei Bedarf können Sie auch nachträglich weitere Plätze zu einem späteren Zeitpunkt hinzufügen." - }, - "planNameFree": { - "message": "Kostenlos", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "Für Test- oder Privatanwender, die mit $COUNT$ anderen Benutzern teilen möchten.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Familien" - }, - "planDescFamilies": { - "message": "Für den persönlichen Gebrauch, zum Teilen mit Familie und Freunden." - }, - "planNameTeams": { - "message": "Teams" - }, - "planDescTeams": { - "message": "Für Unternehmen und andere Teamorganisationen." - }, - "planNameEnterprise": { - "message": "Unternehmen" - }, - "planDescEnterprise": { - "message": "Für Unternehmen und andere große Organisationen." - }, - "freeForever": { - "message": "Dauerhaft kostenlos" - }, - "includesXUsers": { - "message": "beinhaltet $COUNT$ Benutzer", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Zusätzliche Benutzer" - }, - "costPerUser": { - "message": "$COST$ pro Benutzer", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Limitiert auf $COUNT$ Benutzer (Sie eingeschlossen)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Limitiert auf $COUNT$ Sammlungen", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Hinzufügen und Teilen mit bis zu $COUNT$ Benutzern", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Hinzufügen und Teilen mit einer unbegrenzten Anzahl von Benutzern" - }, - "createUnlimitedCollections": { - "message": "Erstelle eine unbegrenzte Anzahl von Sammlungen" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ verschlüsselter Datenspeicher", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "Hosting auf eigenem Server (optional)" - }, - "usersGetPremium": { - "message": "Mitglieder erhalten Zugriff auf Premium-Funktionen" - }, - "controlAccessWithGroups": { - "message": "Zugriffskontrolle durch Gruppen" - }, - "syncUsersFromDirectory": { - "message": "Synchronisieren Sie Ihre Benutzer und Gruppen aus einem Verzeichnis" - }, - "trackAuditLogs": { - "message": "Nachverfolgung von Benutzeraktivitäten mittels Auditprotokollen" - }, - "enforce2faDuo": { - "message": "Zwei-Faktor mit Duo erzwingen" - }, - "priorityCustomerSupport": { - "message": "Vorrangiger Kundenservice" - }, - "xDayFreeTrial": { - "message": "$COUNT$ Tage kostenlose Testversion, jederzeit kündbar", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Monatlich" - }, - "annually": { - "message": "Jährlich" - }, - "basePrice": { - "message": "Grundpreis" - }, - "organizationCreated": { - "message": "Organisation erstellt" - }, - "organizationReadyToGo": { - "message": "Ihre neue Organisation ist einsatzbereit!" - }, - "organizationUpgraded": { - "message": "Ihr Organisations-Tarif wurde aktualisiert." - }, - "leave": { - "message": "Verlassen" - }, - "leaveOrganizationConfirmation": { - "message": "Sind Sie sicher, dass Sie diese Organisation verlassen möchten?" - }, - "leftOrganization": { - "message": "Sie haben die Organisation verlassen." - }, - "defaultCollection": { - "message": "Standardsammlung" - }, - "getHelp": { - "message": "Hilfe erhalten" - }, - "getApps": { - "message": "Die Apps erhalten" - }, - "loggedInAs": { - "message": "angemeldet als" - }, - "eventLogs": { - "message": "Ereignisprotokolle" - }, - "people": { - "message": "Leute" - }, - "policies": { - "message": "Richtlinien" - }, - "editPolicy": { - "message": "Richtlinie bearbeiten" - }, - "groups": { - "message": "Gruppen" - }, - "newGroup": { - "message": "Neue Gruppe" - }, - "addGroup": { - "message": "Gruppe hinzufügen" - }, - "editGroup": { - "message": "Gruppe bearbeiten" - }, - "deleteGroupConfirmation": { - "message": "Sind Sie sich sicher, dass Sie diese Gruppe löschen wollen?" - }, - "removeUserConfirmation": { - "message": "Sind Sie sich sicher, dass Sie diesen Benutzer löschen wollen?" - }, - "externalId": { - "message": "Externe ID" - }, - "externalIdDesc": { - "message": "Die externe ID kann als Referenz oder zur Verbindung zu einem externen System, wie einem Benutzerverzeichnis, verwendet werden." - }, - "accessControl": { - "message": "Zugangskontrolle" - }, - "groupAccessAllItems": { - "message": "Diese Gruppe kann auf alle Einträge zugreifen und diese ändern." - }, - "groupAccessSelectedCollections": { - "message": "Diese Gruppe kann nur auf die ausgewählten Sammlungen zugreifen." - }, - "readOnly": { - "message": "Nur Lesen" - }, - "newCollection": { - "message": "Neue Sammlung" - }, - "addCollection": { - "message": "Der Sammlung hinzufügen" - }, - "editCollection": { - "message": "Sammlung bearbeiten" - }, - "deleteCollectionConfirmation": { - "message": "Möchten Sie diese Sammlung wirklich löschen?" - }, - "editUser": { - "message": "Benutzer bearbeiten" - }, - "inviteUser": { - "message": "Benutzer einladen" - }, - "inviteUserDesc": { - "message": "Laden Sie einen neuen Benutzer zu Ihrer Organisation ein, indem Sie deren Bitwarden-Konto-Email eintragen. Falls dieser noch kein Bitwarden-Konto besitzt, wird er/sie zur Erstellung eines neuen Kontos aufgefordert." - }, - "inviteMultipleEmailDesc": { - "message": "Sie können bis zu $COUNT$ Benutzer auf einmal einladen, indem Sie eine Liste von E-Mail-Adressen mit je einem Komma trennen.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "Dieser Benutzer hat seinen Account mit einer 2-Faktor-Anmeldung geschützt." - }, - "userAccessAllItems": { - "message": "Der Benutzer kann alle Einträge einsehen und verändern." - }, - "userAccessSelectedCollections": { - "message": "Der Benutzer kann nur auf ausgewählte Sammlungen zugreifen." - }, - "search": { - "message": "Suche" - }, - "invited": { - "message": "Eingeladen" - }, - "accepted": { - "message": "Akzeptiert" - }, - "confirmed": { - "message": "Bestätigt" - }, - "owner": { - "message": "Besitzer" - }, - "ownerDesc": { - "message": "Der Benutzer mit dem höchsten Berechtigungsgrad, der alle Aspekte Ihrer Organisation verwalten kann." - }, - "admin": { - "message": "Administrator" - }, - "adminDesc": { - "message": "Administratoren können auf alle Einträge, Sammlungen und Benutzer in der Organisation zugreifen und diese verwalten." - }, - "user": { - "message": "Benutzer" - }, - "userDesc": { - "message": "Ein normaler Benutzer mit Zugriff auf die ihm zugewiesenen Sammlungen der Organisation." - }, - "manager": { - "message": "Manager" - }, - "managerDesc": { - "message": "Manager können auf die für sie zugewiesene Sammlungen in der Organisation zugreifen und diese verwalten." - }, - "all": { - "message": "Alle" - }, - "refresh": { - "message": "Aktualisieren" - }, - "timestamp": { - "message": "Zeitstempel" - }, - "event": { - "message": "Ereignis" - }, - "unknown": { - "message": "Unbekannt" - }, - "loadMore": { - "message": "Weitere laden" - }, - "mobile": { - "message": "Mobil", - "description": "Mobile app" - }, - "extension": { - "message": "Erweiterung", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Desktop", - "description": "Desktop app" - }, - "webVault": { - "message": "Web-Tresor" - }, - "loggedIn": { - "message": "Eingeloggt." - }, - "changedPassword": { - "message": "Benutzerpasswort geändert." - }, - "enabledUpdated2fa": { - "message": "Zwei-Faktor-Anmeldung aktiviert/aktualisiert." - }, - "disabled2fa": { - "message": "Zwei-Faktor-Anmeldung deaktiviert." - }, - "recovered2fa": { - "message": "Konto aus der Zwei-Faktor-Anmeldung wiederhergestellt." - }, - "failedLogin": { - "message": "Anmeldeversuch mit falschem Passwort fehlgeschlagen." - }, - "failedLogin2fa": { - "message": "Anmeldeversuch mit falscher Zwei-Faktor-Anmeldung fehlgeschlagen." - }, - "exportedVault": { - "message": "Tresor exportiert." - }, - "exportedOrganizationVault": { - "message": "Tresor der Organisation exportiert." - }, - "editedOrgSettings": { - "message": "Organisationseinstellungen bearbeitet." - }, - "createdItemId": { - "message": "Eintrag $ID$ erstellt.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Eintrag $ID$ bearbeitet.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Eintrag $ID$ in Papierkorb verschoben.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Eintrag $ID$ geteilt.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Eintrag $ID$ angesehen.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Passwort für Eintrag $ID$ angesehen.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Verstecktes Feld für Eintrag $ID$ angesehen.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Sicherheitscode für Eintrag $ID$ angesehen.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Passwort für Eintrag $ID$ kopiert.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Verstecktes Feld für Eintrag $ID$ kopiert.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Sicherheitscode für Eintrag $ID$ kopiert.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Eintrag $ID$ automatisch ausgefüllt.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Sammlung $ID$ erstellt.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Sammlung $ID$ bearbeitet.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Sammlung $ID$ gelöscht.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Richtlinie \"$ID$\" bearbeitet.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Gruppe $ID$ erstellt.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Gruppe $ID$ bearbeitet.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Gruppe $ID$ gelöscht.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Benutzer $ID$ entfernt.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Anhang zum Eintrag $ID$ erstellt.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Anhang zum Eintrag $ID$ gelöscht.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Sammlungen des Eintrags $ID$ bearbeitet.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Benutzer $ID$ eingeladen.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Benutzer $ID$ bestätigt.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Benutzer $ID$ bearbeitet.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Gruppen für den Benutzer $ID$ bearbeitet.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "SSO-Verknüpfung für Benutzer $ID$ aufgehoben.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Gerät" - }, - "view": { - "message": "Anzeigen" - }, - "invalidDateRange": { - "message": "Ungültiger Datenbereich." - }, - "errorOccurred": { - "message": "Ein Fehler ist aufgetreten." - }, - "userAccess": { - "message": "Benutzerzugriff" - }, - "userType": { - "message": "Benutzertyp" - }, - "groupAccess": { - "message": "Gruppenzugang" - }, - "groupAccessUserDesc": { - "message": "Die Gruppen bearbeiten, zu denen dieser Benutzer gehört." - }, - "invitedUsers": { - "message": "Benutzer eingeladen." - }, - "resendInvitation": { - "message": "Einladung erneut versenden" - }, - "hasBeenReinvited": { - "message": "$USER$ wurde erneut eingeladen.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Bestätigen" - }, - "confirmUser": { - "message": "Benutzer bestätigen" - }, - "hasBeenConfirmed": { - "message": "$USER$ wurde bestätigt.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Benutzer bestätigen" - }, - "usersNeedConfirmed": { - "message": "Sie haben Nutzer, die ihre Einladung angenommen haben, aber noch bestätigt werden müssen. Benutzer haben erst Zugriff auf die Organisation, wenn sie bestätigt wurden." - }, - "startDate": { - "message": "Startdatum" - }, - "endDate": { - "message": "Endatum" - }, - "verifyEmail": { - "message": "E-Mail-Adresse bestätigen" - }, - "verifyEmailDesc": { - "message": "Bestätigen Sie die E-Mail-Adresse Ihres Kontos, um den Zugriff auf alle Funktionen freizuschalten." - }, - "verifyEmailFirst": { - "message": "Die E-Mail-Adresse Ihres Kontos muss zuerst bestätigt werden." - }, - "checkInboxForVerification": { - "message": "Sehen Sie in Ihrem E-Mail-Posteingang nach, ob Sie Ihren Bestätigungscode erhalten haben" - }, - "emailVerified": { - "message": "Ihre E-Mail-Adresse wurde verifiziert" - }, - "emailVerifiedFailed": { - "message": "Ihre E-Mail kann nicht verifiziert werden. Versuchen Sie eine neue Bestätigungs-E-Mail zu senden." - }, - "updateBrowser": { - "message": "Browser aktualisieren" - }, - "updateBrowserDesc": { - "message": "Sie benutzen einen nicht unterstützten Webbrowser. Der Web-Tresor funktioniert möglicherweise nicht richtig." - }, - "joinOrganization": { - "message": "Organisation beitreten" - }, - "joinOrganizationDesc": { - "message": "Sie wurden eingeladen, der oben genannten Organisation beizutreten. Um die Einladung anzunehmen, müssen Sie ein Bitwarden-Konto erstellen oder sich mit Ihrem bestehenden Konto anmelden." - }, - "inviteAccepted": { - "message": "Einladung angenommen" - }, - "inviteAcceptedDesc": { - "message": "Sie können der Organisation beitreten, sobald ein Administrator Ihre Mitgliedschaft bestätigt hat. Wir werden Sie dann per E-Mail benachrichtigen." - }, - "inviteAcceptFailed": { - "message": "Einladung konnte nicht akzeptiert werden. Zum Erhalten einer neuen Einladung, setzen Sie sich mit einem Administrator der Organisation in Verbindung." - }, - "inviteAcceptFailedShort": { - "message": "Die Einladung kann nicht angenommen werden. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "E-Mail-Adresse merken" - }, - "recoverAccountTwoStepDesc": { - "message": "Falls Sie nicht mit Ihren normalen Zwei-Faktor-Anmeldemethoden auf Ihren Account zugreifen können, nutzen Sie Ihren Zwei-Faktor-Wiederherstellungscode, um alle Zwei-Faktor-Anbieter für Ihr Konto zu deaktivieren." - }, - "recoverAccountTwoStep": { - "message": "Zwei-Faktor-Authentifizierung wiederherstellen" - }, - "twoStepRecoverDisabled": { - "message": "Zwei-Faktor-Authentifizierung wurde für Ihren Account deaktiviert." - }, - "learnMore": { - "message": "Erfahre mehr" - }, - "deleteRecoverDesc": { - "message": "Geben Sie hier Ihre E-Mail-Adresse ein, um Ihr Konto wiederherzustellen und zu löschen." - }, - "deleteRecoverEmailSent": { - "message": "Wir haben Ihnen eine E-Mail mit weiteren Anweisungen gesendet, sofern Ihr Konto existiert." - }, - "deleteRecoverConfirmDesc": { - "message": "Sie haben die Löschung Ihres Bitwarden-Kontos angefragt. Klicken Sie diesen Button, um die Löschung zu bestätigen." - }, - "myOrganization": { - "message": "Meine Organisation" - }, - "deleteOrganization": { - "message": "Organisation löschen" - }, - "deleteOrganizationDesc": { - "message": "Fahren Sie fort, um diese Organisation und alle ihre zugehörigen Daten zu löschen. Einzelne Benutzerkonten bleiben erhalten, obwohl sie nicht länger mit dieser Organisation verbunden sein werden. " - }, - "deleteOrganizationWarning": { - "message": "Das Löschen dieser Organisation ist unwiderruflich." - }, - "organizationDeleted": { - "message": "Die Organisation wurde gelöscht" - }, - "organizationDeletedDesc": { - "message": "Die Organisation und alle ihre zugehörigen Daten wurden gelöscht." - }, - "organizationUpdated": { - "message": "Organisation aktualisiert" - }, - "taxInformation": { - "message": "Informationen zur Steuer" - }, - "taxInformationDesc": { - "message": "Für Kunden innerhalb der USA ist die Postleitzahl erforderlich, um die Umsatzsteuer-Anforderungen zu erfüllen, für andere Länder können Sie optional eine Steuernummer (VAT/GST) und/oder eine Adresse angeben, die auf Ihren Rechnungen erscheint." - }, - "billingPlan": { - "message": "Abo", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Abo ändern", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Ändern sie ihr Konto zu einem anderen Tarif, indem Sie folgende Informationen bereitstellen. Bitte stellen Sie sicher, dass Sie eine aktive Zahlungsmethode zu ihren Konto hinzugefügt haben.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Kontaktieren Sie den Kundensupport, um Ihr Abo zu ändern. Bitte stellen Sie sicher, dass Sie eine aktive Zahlungsmethode zu Ihrem Konto hinzugefügt haben.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Rechnung #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "Rechnung anzeigen" - }, - "downloadInvoice": { - "message": "Rechnung herunterladen" - }, - "verifyBankAccount": { - "message": "Bankkonto verifizieren" - }, - "verifyBankAccountDesc": { - "message": "Wir haben zwei Mikro-Transaktionen auf Ihr Bankkonto getätigt (es kann 1-2 Werktage dauern bis diese sichtbar werden). Geben Sie diese Daten ein um Ihr Bankkonto zu verifizieren." - }, - "verifyBankAccountInitialDesc": { - "message": "Zahlungen über ein Bankkonto ist nur für Benutzer in den Vereinigten Staaten verfügbar. Hierfür müssen Sie Ihr Bankkonto verifizieren. Wir werden dann innerhalb der nächsten 1-2 Werktage zwei Mikro-Transaktionen durchführen. Geben Sie im Anschluss die Höhe der Beträge auf der Organisationsseite ein, um Ihr Bankkonto zu verifizieren." - }, - "verifyBankAccountFailureWarning": { - "message": "Ein Fehlschlag bei der Verifizierung des Bankkontos wird zu einer versäumten Zahlung führen und Ihr Abo wird deaktiviert." - }, - "verifiedBankAccount": { - "message": "Ihr Bankkonto wurde verifiziert." - }, - "bankAccount": { - "message": "Bankkonto" - }, - "amountX": { - "message": "Betrag $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Bankleitzahl", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Kontonummer" - }, - "accountHolderName": { - "message": "Name des Kontoinhabers" - }, - "bankAccountType": { - "message": "Kontoart" - }, - "bankAccountTypeCompany": { - "message": "Firma" - }, - "bankAccountTypeIndividual": { - "message": "Person" - }, - "enterInstallationId": { - "message": "Geben Sie Ihre Installations-ID ein" - }, - "addSeats": { - "message": "Benutzerplätze hinzufügen", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Benutzerplätze entfernen", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Ihr Abo erlaubt insgesamt $COUNT$ Benutzer.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Hinzufügen von Benutzerplätzen" - }, - "seatsToRemove": { - "message": "Entfernen von Benutzerplätzen" - }, - "seatsAddNote": { - "message": "Das Hinzufügen von Benutzerplätzen führt zu einer Anpassung Ihrer Rechnungssummen und belastet Ihre Zahlungsmethode sofort. Die erste Gebühr wird für den Rest des aktuellen Abrechnungszyklus anteilig berechnet." - }, - "seatsRemoveNote": { - "message": "Das Entfernen von Benutzerplätzen führt zu einer Anpassung Ihrer Rechnungssumme, die als Gutschrift auf Ihre nächste Rechnung angerechnet wird." - }, - "adjustedSeats": { - "message": "$AMOUNT$ Benutzerplätze eingestellt.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Schlüssel aktualisiert" - }, - "updateKeyTitle": { - "message": "Schlüssel aktualisieren" - }, - "updateEncryptionKey": { - "message": "Verschlüsselungscode aktualisieren" - }, - "updateEncryptionKeyShortDesc": { - "message": "Sie verwenden derzeit ein veraltetes Verschlüsselungsschema." - }, - "updateEncryptionKeyDesc": { - "message": "Wir sind auf größere Verschlüsselungscodes umgestiegen, welche bessere Sicherheit und Zugang zu neuen Features bieten. Das Update Ihres Verschlüsselungscodes ist schnell und einfach. Geben Sie einfach hier Ihr Master-Passwort ein. Das Update wird irgendwann verpflichtend." - }, - "updateEncryptionKeyWarning": { - "message": "Nach der Aktualisierung Ihres Verschlüsselungscodes, müssen Sie sich bei allen Bitwarden-Anwendungen, welche Sie momentan benutzen, erneut anmelden (wie z. B. die mobile App oder die Browser-Erweiterungen). Fehler bei Ab- und Anmeldung (welche Ihren neuen Verschlüsselungscode bezieht) könnte zu einer Beschädigung der Daten führen. Wir werden versuchen Sie automatisch auszuloggen, was jedoch verzögert geschehen kann." - }, - "updateEncryptionKeyExportWarning": { - "message": "Alle verschlüsselten Exporte, die Sie gespeichert haben, werden ebenfalls ungültig." - }, - "subscription": { - "message": "Abo" - }, - "loading": { - "message": "Wird geladen" - }, - "upgrade": { - "message": "Upgrade" - }, - "upgradeOrganization": { - "message": "Organisation hochstufen" - }, - "upgradeOrganizationDesc": { - "message": "Diese Funktion ist für kostenlose Organisationen nicht verfügbar. Wechseln Sie zu einem kostenpflichtigen Abo, um weitere Funktionen freizuschalten." - }, - "createOrganizationStep1": { - "message": "Organisation erstellen: Schritt 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Bevor Sie eine Organisation erstellen können, müssen Sie zuerst ein eigenes kostenloses Konto erstellen." - }, - "refunded": { - "message": "Erstattet" - }, - "nothingSelected": { - "message": "Sie haben keine Auswahl getroffen." - }, - "acceptPolicies": { - "message": "Durch Anwählen dieses Kästchens erklären Sie sich mit folgendem einverstanden:" - }, - "acceptPoliciesError": { - "message": "Die Nutzungsbedingungen und Datenschutzerklärung wurden nicht akzeptiert." - }, - "termsOfService": { - "message": "Allgemeine Geschäftsbedingungen" - }, - "privacyPolicy": { - "message": "Datenschutzerklärung" - }, - "filters": { - "message": "Filter" - }, - "vaultTimeout": { - "message": "Tresor-Timeout" - }, - "vaultTimeoutDesc": { - "message": "Legen Sie einen Timeout für den Tresor und die auszuführende Aktion fest." - }, - "oneMinute": { - "message": "1 Minute" - }, - "fiveMinutes": { - "message": "5 Minuten" - }, - "fifteenMinutes": { - "message": "15 Minuten" - }, - "thirtyMinutes": { - "message": "30 Minuten" - }, - "oneHour": { - "message": "1 Stunde" - }, - "fourHours": { - "message": "4 Stunden" - }, - "onRefresh": { - "message": "Bei Browser-Aktualisierung" - }, - "dateUpdated": { - "message": "Aktualisiert", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Passwort aktualisiert", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "Organisation ist deaktiviert." - }, - "licenseIsExpired": { - "message": "Lizenz ist abgelaufen." - }, - "updatedUsers": { - "message": "Aktualisierte Benutzer" - }, - "selected": { - "message": "Ausgewählt" - }, - "ownership": { - "message": "Besitzer" - }, - "whoOwnsThisItem": { - "message": "Wem gehört dieser Eintrag?" - }, - "strong": { - "message": "Stark", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Gut", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Schwach", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Sehr schwach", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Schwaches Master-Passwort" - }, - "weakMasterPasswordDesc": { - "message": "Das Master-Passwort, welches Sie gewählt haben, ist schwach. Sie sollten ein starkes Master-Passwort auswählen, um Ihr Bitwarden-Konto ausreichend zu schützen. Sind Sie sicher, dass Sie dieses Master-Passwort verwenden wollen?" - }, - "rotateAccountEncKey": { - "message": "Auch den Verschlüsselungscode meines Kontos aktualisieren" - }, - "rotateEncKeyTitle": { - "message": "Verschlüsselungscode aktualisieren" - }, - "rotateEncKeyConfirmation": { - "message": "Sind Sie sich sicher, dass Sie ihren Verschlüsselungscode aktualisieren möchten?" - }, - "attachmentsNeedFix": { - "message": "Dieser Eintrag hat Anhänge, die repariert werden müssen." - }, - "attachmentFixDesc": { - "message": "Diese Dateianlage muss aufgrund ihres Alters aktualisiert werden. Klicken Sie hier, um mehr zu erfahren." - }, - "fix": { - "message": "Reparieren", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "Es gibt alte Dateianhänge in ihrem Tresor, die repariert werden müssen, bevor Sie Ihren Verschlüsselungscode aktualisieren können." - }, - "yourAccountsFingerprint": { - "message": "Prüfschlüssel für Ihren Account", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "Um die Sicherheit ihres Verschlüsselungscodes zu gewähren, bestätigen Sie bitte den Prüfschlüssel des Benutzers.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Nicht erneut nach dem Prüfschlüssel fragen", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Kostenlos", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "API-Schlüssel" - }, - "apiKeyDesc": { - "message": "Ihr API-Schlüssel kann zur Authentifizierung für die öffentlichen Bitwarden-API benutzt werden." - }, - "apiKeyRotateDesc": { - "message": "Mit der Erneuerung des API-Schlüssels wird der bisherige Schlüssel ungültig. Sie können Ihren API-Schlüssel erneuern, wenn die sichere Verwendung Ihres aktuellen Schlüssel nicht mehr gewährleistet ist." - }, - "apiKeyWarning": { - "message": "Ihr API-Schlüssel hat vollen Zugriff auf die Organisation. Er sollte geheim gehalten werden." - }, - "userApiKeyDesc": { - "message": "Ihr API-Schlüssel kann zur Authentifizierung im Bitwarden CLI verwendet werden." - }, - "userApiKeyWarning": { - "message": "Ihr API-Schlüssel ist ein alternativer Authentifizierungsmechanismus. Er sollte geheim gehalten werden." - }, - "oauth2ClientCredentials": { - "message": "OAuth 2.0 Client Anmeldeinformationen", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "API-Schlüssel anzeigen" - }, - "rotateApiKey": { - "message": "API-Schlüssel erneuern" - }, - "selectOneCollection": { - "message": "Sie müssen mindestens eine Sammlung auswählen." - }, - "couldNotChargeCardPayInvoice": { - "message": "Wir sind nicht in der Lage Ihre Kreditkarte zu belasten. Bitte bezahlen Sie den unten aufgelisteten noch nicht beglichenen Rechnungsbetrag." - }, - "inAppPurchase": { - "message": "In-App-Kauf" - }, - "cannotPerformInAppPurchase": { - "message": "Sie können diese Aktion nicht durchführen, wenn sie eine In-App-Kauf Zahlungsart nutzen." - }, - "manageSubscriptionFromStore": { - "message": "Sie müssen Ihr Abonnement im entsprechenden App Store verwalten, über dem Ihr In-App-Kauf getätigt wurde." - }, - "minLength": { - "message": "Mindestlänge" - }, - "clone": { - "message": "Duplizieren" - }, - "masterPassPolicyDesc": { - "message": "Mindestanforderungen für die Stärke des Master-Passworts festlegen." - }, - "twoStepLoginPolicyDesc": { - "message": "Benutzer müssen eine zweistufige Anmeldung für ihre persönlichen Konten einrichten." - }, - "twoStepLoginPolicyWarning": { - "message": "Organisationsmitglieder, die keine zweistufige Anmeldung für ihr persönliches Konto aktiviert haben, werden aus der Organisation entfernt und erhalten eine E-Mail, die sie über die Änderung benachrichtigt." - }, - "twoStepLoginPolicyUserWarning": { - "message": "Sie sind Mitglied einer Organisation, die eine Zwei-Faktor-Authentifizierung für Ihr Benutzerkonto verlangt. Wenn Sie alle Zwei-Faktor-Authentifizierungsanbieter deaktivieren, werden Sie automatisch aus diesen Organisationen entfernt." - }, - "passwordGeneratorPolicyDesc": { - "message": "Mindestanforderungen für die Passwortgenerator-Konfiguration festlegen." - }, - "passwordGeneratorPolicyInEffect": { - "message": "Eine oder mehrere Organisationsrichtlinien beeinflussen Ihre Generator-Einstellungen." - }, - "masterPasswordPolicyInEffect": { - "message": "Eine oder mehrere Organisationsrichtlinien erfordern, dass Ihr Master-Passwort die folgenden Anforderungen erfüllt:" - }, - "policyInEffectMinComplexity": { - "message": "Kleinste Komplexitätsstufe von $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Mindestlänge von $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Enthält einen oder mehrere Großbuchstaben" - }, - "policyInEffectLowercase": { - "message": "Enthält einen oder mehrere Kleinbuchstaben" - }, - "policyInEffectNumbers": { - "message": "Enthält eine oder mehrere Zahlen" - }, - "policyInEffectSpecial": { - "message": "Enthält eines oder mehrere der folgenden Sonderzeichen $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Ihr neues Master-Passwort entspricht nicht den Anforderungen der Richtlinie." - }, - "minimumNumberOfWords": { - "message": "Mindestzahl an Wörtern" - }, - "defaultType": { - "message": "Standardtyp" - }, - "userPreference": { - "message": "Benutzereinstellung" - }, - "vaultTimeoutAction": { - "message": "Aktion bei Tresor-Timeout" - }, - "vaultTimeoutActionLockDesc": { - "message": "Ein gesperrter Tresor erfordert die Eingabe des Master-Passworts, um erneut darauf zugreifen zu können." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "Ein ausgeloggter Tresor erfordert eine Neu-Authentifizierung, um erneut darauf zugreifen zu können." - }, - "lock": { - "message": "Sperren", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Papierkorb", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Papierkorb durchsuchen" - }, - "permanentlyDelete": { - "message": "Dauerhaft löschen" - }, - "permanentlyDeleteSelected": { - "message": "Auswahl dauerhaft löschen" - }, - "permanentlyDeleteItem": { - "message": "Eintrag dauerhaft löschen" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Soll dieser Eintrag wirklich gelöscht werden?" - }, - "permanentlyDeletedItem": { - "message": "Eintrag dauerhaft gelöscht" - }, - "permanentlyDeletedItems": { - "message": "Dauerhaft gelöschte Einträge" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "Sie haben $COUNT$ Eintrag/Einträge zum unwiderruflichen Löschen ausgewählt. Sind Sie sicher, dass Sie diese(n) Eintrag/Einträge dauerhaft löschen möchten?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Eintrag $ID$ dauerhaft gelöscht.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Wiederherstellen" - }, - "restoreSelected": { - "message": "Auswahl wiederherstellen" - }, - "restoreItem": { - "message": "Eintrag wiederherstellen" - }, - "restoredItem": { - "message": "Wiederhergestellter Eintrag" - }, - "restoredItems": { - "message": "Wiederhergestellte Einträge" - }, - "restoreItemConfirmation": { - "message": "Soll dieser Eintrag wirklich wiederhergestellt werden?" - }, - "restoreItems": { - "message": "Einträge wiederherstellen" - }, - "restoreSelectedItemsDesc": { - "message": "Sie haben $COUNT$ Eintrag/Einträge zum Wiederherstellen ausgewählt. Sind Sie sicher, dass Sie diese(n) Eintrag/Einträge dauerhaft löschen möchten?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Eintrag $ID$ wiederhergestellt.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Nach dem Ausloggen verlieren Sie jeglichen Zugriff auf Ihren Tresor und es ist nach Ablauf der Timeout-Zeit eine Online-Authentifizierung erforderlich. Sind Sie sicher, dass Sie diese Einstellung nutzen möchten?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Bestätigung der Timeout-Aktion" - }, - "hidePasswords": { - "message": "Passwörter verstecken" - }, - "countryPostalCodeRequiredDesc": { - "message": "Wir benötigen diese Informationen nur zur Berechnung der Umsatzsteuer und Finanzberichterstattung." - }, - "includeVAT": { - "message": "MwSt./GST-Informationen einschließen (optional)" - }, - "taxIdNumber": { - "message": "Umsatzsteuernummer" - }, - "taxInfoUpdated": { - "message": "Steuerinformationen aktualisiert." - }, - "setMasterPassword": { - "message": "Masterpasswort festlegen" - }, - "ssoCompleteRegistration": { - "message": "Bitte legen Sie ein Masterpasswort für den Schutz Ihres Tresors fest, um die Anmeldung über SSO abzuschließen." - }, - "identifier": { - "message": "Kennung" - }, - "organizationIdentifier": { - "message": "Organisationskennung" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Über den Single Sign-on Ihrer Organisation anmelden. Bitte geben Sie Ihre Organisationskennung an, um zu beginnen." - }, - "enterpriseSingleSignOn": { - "message": "Enterprise Single Sign-On" - }, - "ssoHandOff": { - "message": "Sie können diesen Tab nun schließen und in der Erweiterung fortfahren." - }, - "businessPortal": { - "message": "Unternehmensportal", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "Alle Teams Funktionen, zusätzlich:" - }, - "includeSsoAuthentication": { - "message": "SSO Authentifikation über SAML2.0 und OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Unternehmensrichtlinien" - }, - "ssoValidationFailed": { - "message": "SSO Validierung fehlgeschlagen" - }, - "ssoIdentifierRequired": { - "message": "Unternehmenskennung ist erforderlich." - }, - "unlinkSso": { - "message": "SSO Verknüpfung aufheben" - }, - "linkSso": { - "message": "SSO verknüpfen" - }, - "webPoliciesDeprecationWarning": { - "message": "Die Richtlinien-Konfiguration wurde verschoben und diese Seite wird bald nicht mehr aktualisiert. Benutzen Sie stattdessen über den Link die Richtlinien-Seite des Unternehmensportal." - }, - "singleOrg": { - "message": "Einzelne Organisation" - }, - "singleOrgDesc": { - "message": "Benutzern verbieten, anderen Organisationen beizutreten." - }, - "singleOrgBlockCreateMessage": { - "message": "Ihre aktuelle Organisation hat eine Richtlinie, die es Ihnen nicht erlaubt, mehr als einer Organisation beizutreten. Bitte kontaktieren Sie die Administratoren Ihrer Organisation oder melden Sie sich mit einem anderen Bitwarden-Konto an." - }, - "singleOrgPolicyWarning": { - "message": "Organisationsmitglieder, die nicht Eigentümer oder Administratoren sind und bereits Mitglied einer anderen Organisation sind, werden aus Ihrer Organisation entfernt." - }, - "requireSso": { - "message": "Single Sign-On Authentifizierung" - }, - "requireSsoPolicyDesc": { - "message": "Benutzer müssen sich per Enterprise Single Sign-On anmelden." - }, - "prerequisite": { - "message": "Voraussetzung" - }, - "requireSsoPolicyReq": { - "message": "Die Unternehmensrichtlinie für eine einzelne Organisation muss aktiviert sein, bevor diese Richtlinie aktiviert werden kann." - }, - "requireSsoPolicyReqError": { - "message": "Richtlinie für eine einzelne Organisation nicht aktiviert." - }, - "requireSsoExemption": { - "message": "Organisationseigentümer und Administratoren sind von der Durchsetzung dieser Richtlinie ausgenommen." - }, - "sendTypeFile": { - "message": "Datei" - }, - "sendTypeText": { - "message": "Text" - }, - "createSend": { - "message": "Neues Send erstellen", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Send bearbeiten", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Send erstellt", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Bearbeitetes Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Gelöschtes Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Send löschen", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Sind Sie sicher, dass Sie dieses Send löschen möchten?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "Welche Art von Send ist das?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Löschdatum" - }, - "deletionDateDesc": { - "message": "Das Send wird am angegebenen Datum zur angegebenen Uhrzeit dauerhaft gelöscht.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Ablaufdatum" - }, - "expirationDateDesc": { - "message": "Falls aktiviert, verfällt der Zugriff auf dieses Send am angegebenen Datum zur angegebenen Uhrzeit.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Maximale Zugriffsanzahl" - }, - "maxAccessCountDesc": { - "message": "Falls aktiviert, können Benutzer nicht mehr auf dieses Send zugreifen, sobald die maximale Zugriffsanzahl erreicht ist.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Aktuelle Zugriffsanzahl" - }, - "sendPasswordDesc": { - "message": "Optional ein Passwort verlangen, damit Benutzer auf dieses Send zugreifen können.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Private Notizen zu diesem Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Deaktiviert" - }, - "sendLink": { - "message": "Send Link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Send Link kopieren", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Passwort entfernen" - }, - "removedPassword": { - "message": "Passwort entfernt" - }, - "removePasswordConfirmation": { - "message": "Sind Sie sicher, dass Sie das Passwort entfernen möchten?" - }, - "disableThisSend": { - "message": "Dieses Send deaktivieren, damit niemand darauf zugreifen kann.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "Alle Sends" - }, - "maxAccessCountReached": { - "message": "Maximale Zugriffsanzahl erreicht" - }, - "pendingDeletion": { - "message": "Ausstehende Löschung" - }, - "expired": { - "message": "Abgelaufen" - }, - "searchSends": { - "message": "Sends suchen", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "Dieses Send ist mit einem Passwort geschützt. Bitte geben Sie unten das Passwort ein, um fortzufahren.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Kennen Sie das Passwort nicht? Fragen Sie den Absender nach dem benötigten Passwort, um auf dieses Send zuzugreifen.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "Dieses Send ist standardmäßig ausgeblendet. Sie können die Sichtbarkeit mit dem Button unten umschalten.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Datei herunterladen" - }, - "sendAccessUnavailable": { - "message": "Das Send, auf das Sie zugreifen möchten, existiert nicht oder ist nicht mehr verfügbar.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "Es gibt keine Sends aufzulisten.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Notfallzugriff" - }, - "emergencyAccessDesc": { - "message": "Gewähren und verwalten Sie einen Notfallzugriff für vertrauenswürdige Kontakte. Vertrauenswürdige Kontakte können im Notfall Zugriff verlangen, um Ihr Konto entweder einzusehen oder es zu übernehmen. Besuchen Sie unsere Hilfeseite für weitere Informationen und Details, wie der Austausch über Zero-Knowledge funktioniert." - }, - "trustedEmergencyContacts": { - "message": "Vertrauenswürdige Notfallkontakte" - }, - "noTrustedContacts": { - "message": "Sie haben noch keine Notfallkontakte hinzugefügt, laden Sie einen vertrauenswürdigen Kontakt ein, um zu beginnen." - }, - "addEmergencyContact": { - "message": "Notfallkontakt hinzufügen" - }, - "designatedEmergencyContacts": { - "message": "Als Notfallkontakt benannt" - }, - "noGrantedAccess": { - "message": "Sie wurden noch nicht als Notfallkontakt für jemanden benannt." - }, - "inviteEmergencyContact": { - "message": "Notfallkontakt einladen" - }, - "editEmergencyContact": { - "message": "Notfallkontakt bearbeiten" - }, - "inviteEmergencyContactDesc": { - "message": "Laden Sie einen neuen Notfallkontakt ein, indem Sie die E-Mail-Adresse seines Bitwarden-Kontos unten eintragen. Falls dieser noch kein Bitwarden-Konto besitzt, wird er/sie zur Erstellung eines neuen Kontos aufgefordert." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Notfallzugriff ausgelöst" - }, - "emergencyAccessRecoveryApproved": { - "message": "Notfallzugriff genehmigt" - }, - "viewDesc": { - "message": "Kann alle Einträge in Ihrem eigenen Tresor sehen." - }, - "takeover": { - "message": "Übernahme" - }, - "takeoverDesc": { - "message": "Kann Ihr Konto mit einem neuen Master-Passwort zurücksetzen." - }, - "waitTime": { - "message": "Wartezeit" - }, - "waitTimeDesc": { - "message": "Benötigte Zeit, bevor der Zugang automatisch gewährt wird." - }, - "oneDay": { - "message": "1 Tag" - }, - "days": { - "message": "$DAYS$ Tage", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Eingeladener Benutzer." - }, - "acceptEmergencyAccess": { - "message": "Sie wurden eingeladen, ein Notfallkontakt für den oben genannten Benutzer zu werden. Um die Einladung anzunehmen, müssen Sie sich einloggen oder ein neues Bitwarden-Konto erstellen." - }, - "emergencyInviteAcceptFailed": { - "message": "Die Einladung konnte nicht angenommen werden. Bitten Sie den Benutzer, eine neue Einladung zu versenden." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Die Einladung kann nicht angenommen werden. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "Sie können auf die Notfalloptionen für diesen Benutzer zugreifen, nachdem Ihre Identität bestätigt wurde. Wir senden Ihnen eine E-Mail, wenn dies geschieht." - }, - "requestAccess": { - "message": "Zugriff anfordern" - }, - "requestAccessConfirmation": { - "message": "Sind Sie sicher, dass Sie einen Notfallzugriff anfordern möchten? Sie erhalten nach $WAITTIME$ Tag(en) Zugang oder wann immer der Benutzer die Anfrage manuell genehmigt.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Notfallzugriff für $USER$ angefordert. Wir werden Sie per E-Mail benachrichtigen, wenn Sie fortfahren können.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Genehmigen" - }, - "reject": { - "message": "Ablehnen" - }, - "approveAccessConfirmation": { - "message": "Sind Sie sicher, dass Sie den Notfallzugriff genehmigen möchten? Dies gibt $USER$ folgende Berechtigung auf Ihr Konto: $ACTION$.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Notfallzugriff genehmigt." - }, - "emergencyRejected": { - "message": "Notfallzugriff abgelehnt" - }, - "passwordResetFor": { - "message": "Passwort für $USER$ zurückgesetzt. Sie können sich jetzt mit dem neuen Passwort anmelden.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Persönliches Eigentum" - }, - "personalOwnershipPolicyDesc": { - "message": "Benutzern vorschreiben, Tresoreinträge in einer Organisation zu speichern, indem sie die persönliche Eigentumsoption entfernen." - }, - "personalOwnershipExemption": { - "message": "Organisationseigentümer und Administratoren sind von der Durchsetzung dieser Richtlinie ausgenommen." - }, - "personalOwnershipSubmitError": { - "message": "Aufgrund einer Unternehmensrichtlinie dürfen Sie keine Einträge in Ihrem persönlichen Tresor speichern. Ändern Sie die Eigentümer-Option in eine Organisation und wählen Sie aus den verfügbaren Sammlungen." - }, - "modifiedPolicyId": { - "message": "Richtlinie $ID$ geändert.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Abopreis" - }, - "estimatedTax": { - "message": "Voraussichtliche Steuern" - }, - "custom": { - "message": "Benutzerdefiniert" - }, - "customDesc": { - "message": "Feinere Kontrolle der Benutzer Berechtigungen für erweiterte Konfigurationen erlauben." - }, - "permissions": { - "message": "Berechtigungen" - }, - "accessBusinessPortal": { - "message": "Zugriff auf Unternehmensportal" - }, - "accessEventLogs": { - "message": "Zugriff auf Ereignisprotokolle" - }, - "accessImportExport": { - "message": "Zugriff auf Import/Export" - }, - "accessReports": { - "message": "Zugriff auf Berichte" - }, - "manageAllCollections": { - "message": "Alle Sammlungen verwalten" - }, - "manageAssignedCollections": { - "message": "Zugewiesene Sammlungen verwalten" - }, - "manageGroups": { - "message": "Gruppen verwalten" - }, - "managePolicies": { - "message": "Richtlinien verwalten" - }, - "manageSso": { - "message": "SSO verwalten" - }, - "manageUsers": { - "message": "Benutzer verwalten" - }, - "disableRequireSsoError": { - "message": "Sie müssen die Single Sign-On Authentifizierungsrichtlinie manuell deaktivieren, bevor diese Richtlinie deaktiviert werden kann." - }, - "personalOwnershipPolicyInEffect": { - "message": "Eine Organisationsrichtlinie beeinflusst Ihre Eigentümer-Optionen." - }, - "personalOwnershipCheckboxDesc": { - "message": "Persönliches Eigentum für Organisationsbenutzer deaktivieren" - }, - "textHiddenByDefault": { - "message": "Beim Zugriff auf dieses Send den Text standardmäßig ausblenden", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/el/messages.json b/locales/el/messages.json deleted file mode 100644 index 6bcc9344..00000000 --- a/locales/el/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$ Web Vault", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "Τι είδους στοιχείο είναι αυτό;" - }, - "name": { - "message": "Όνομα" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "Νέο URI" - }, - "username": { - "message": "Όνομα χρήστη" - }, - "password": { - "message": "Κωδικός" - }, - "newPassword": { - "message": "Νέος Κωδικός" - }, - "passphrase": { - "message": "Συνθηματικό" - }, - "notes": { - "message": "Σημειώσεις" - }, - "customFields": { - "message": "Προσαρμοσμένα Πεδία" - }, - "cardholderName": { - "message": "Όνομα κατόχου της κάρτας" - }, - "number": { - "message": "Αριθμός" - }, - "brand": { - "message": "Μάρκα" - }, - "expiration": { - "message": "Λήξη" - }, - "securityCode": { - "message": "Κωδικός ασφαλείας (CVV)" - }, - "identityName": { - "message": "Όνομα Ταυτότητας" - }, - "company": { - "message": "Εταιρεία" - }, - "ssn": { - "message": "ΑΜΚΑ" - }, - "passportNumber": { - "message": "Αριθμός Διαβατηρίου" - }, - "licenseNumber": { - "message": "Αριθμός Άδειας" - }, - "email": { - "message": "Email" - }, - "phone": { - "message": "Τηλέφωνο" - }, - "january": { - "message": "Ιανουάριος" - }, - "february": { - "message": "Φεβρουάριος" - }, - "march": { - "message": "Μάρτιος" - }, - "april": { - "message": "Απρίλιος" - }, - "may": { - "message": "Μάιος" - }, - "june": { - "message": "Ιούνιος" - }, - "july": { - "message": "Ιούλιος" - }, - "august": { - "message": "Αύγουστος" - }, - "september": { - "message": "Σεπτέμβριος" - }, - "october": { - "message": "Οκτώβριος" - }, - "november": { - "message": "Νοέμβριος" - }, - "december": { - "message": "Δεκέμβριος" - }, - "title": { - "message": "Τίτλος" - }, - "mr": { - "message": "Κος" - }, - "mrs": { - "message": "Κα" - }, - "ms": { - "message": "Κα" - }, - "dr": { - "message": "Dr" - }, - "expirationMonth": { - "message": "Μήνας Λήξης" - }, - "expirationYear": { - "message": "Έτος Λήξης" - }, - "authenticatorKeyTotp": { - "message": "Κλειδί Επαλήθευσης (TOTP)" - }, - "folder": { - "message": "Φάκελος" - }, - "newCustomField": { - "message": "Νέο Προσαρμοσμένο Πεδίο" - }, - "value": { - "message": "Τιμή" - }, - "dragToSort": { - "message": "Σύρετε για ταξινόμηση" - }, - "cfTypeText": { - "message": "Κείμενο" - }, - "cfTypeHidden": { - "message": "Κρυφό" - }, - "cfTypeBoolean": { - "message": "Δυαδικό" - }, - "remove": { - "message": "Αφαίρεση" - }, - "unassigned": { - "message": "Χωρίς ανάθεση" - }, - "noneFolder": { - "message": "Χωρίς Φάκελο", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Προσθήκη Φακέλου" - }, - "editFolder": { - "message": "Επεξεργασία Φακέλου" - }, - "baseDomain": { - "message": "Βασικός τομέας" - }, - "host": { - "message": "Διακομιστής", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Ακριβής" - }, - "startsWith": { - "message": "Έναρξη με" - }, - "regEx": { - "message": "Κανονική έκφραση", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Εντοπισμός Αντιστοίχισης", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Προεπιλεγμένος εντοπισμός αντιστοίχισης", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Ποτέ" - }, - "toggleVisibility": { - "message": "Εναλλαγή Ορατότητας" - }, - "toggleCollapse": { - "message": "Εναλλαγή Σύμπτυξης", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Δημιουργία Κωδικού" - }, - "checkPassword": { - "message": "Ελέγξτε εάν ο κωδικός έχει εκτεθεί." - }, - "passwordExposed": { - "message": "Αυτός ο κωδικός έχει εκτεθεί $VALUE$ φορά (ές) σε διαρροές δεδομένων. Πρέπει να τον αλλάξετε.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "Αυτός ο κωδικός δεν βρέθηκε σε γνωστές παραβιάσεις δεδομένων. Πρέπει να είναι ασφαλής για χρήση." - }, - "save": { - "message": "Αποθήκευση" - }, - "cancel": { - "message": "Ακύρωση" - }, - "canceled": { - "message": "Ακυρώθηκε" - }, - "close": { - "message": "Κλείσιμο" - }, - "delete": { - "message": "Διαγραφή" - }, - "favorite": { - "message": "Αγαπημένο" - }, - "unfavorite": { - "message": "Μη αγαπημένο" - }, - "edit": { - "message": "Επεξεργασία" - }, - "searchCollection": { - "message": "Αναζήτηση στη συλλογή" - }, - "searchFolder": { - "message": "Αναζήτηση στον Φάκελο" - }, - "searchFavorites": { - "message": "Αναζήτηση στα Αγαπημένα" - }, - "searchType": { - "message": "Τύπος Αναζήτησης", - "description": "Search item type" - }, - "searchVault": { - "message": "Αναζήτηση στο Vault" - }, - "allItems": { - "message": "Όλα τα στοιχεία" - }, - "favorites": { - "message": "Αγαπημένα" - }, - "types": { - "message": "Τύποι" - }, - "typeLogin": { - "message": "Σύνδεση" - }, - "typeCard": { - "message": "Κάρτα" - }, - "typeIdentity": { - "message": "Ταυτότητα" - }, - "typeSecureNote": { - "message": "Ασφαλής Σημείωση" - }, - "folders": { - "message": "Φάκελοι" - }, - "collections": { - "message": "Συλλογές" - }, - "firstName": { - "message": "Όνομα" - }, - "middleName": { - "message": "Μεσαίο Όνομα" - }, - "lastName": { - "message": "Επώνυμο" - }, - "address1": { - "message": "Διεύθυνση 1" - }, - "address2": { - "message": "Διεύθυνση 2" - }, - "address3": { - "message": "Διεύθυνση 3" - }, - "cityTown": { - "message": "Πόλη / Κωμόπολη" - }, - "stateProvince": { - "message": "Περιοχή / Νομός" - }, - "zipPostalCode": { - "message": "Ταχυδρομικός κώδικας" - }, - "country": { - "message": "Χώρα" - }, - "shared": { - "message": "Κοινοποιήθηκε" - }, - "attachments": { - "message": "Συνημμένα" - }, - "select": { - "message": "Επιλογή" - }, - "addItem": { - "message": "Προσθήκη Στοιχείου" - }, - "editItem": { - "message": "Επεξεργασία Στοιχείου" - }, - "viewItem": { - "message": "Προβολή Στοιχείου" - }, - "ex": { - "message": "πχ.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Άλλο" - }, - "share": { - "message": "Κοινοποίηση" - }, - "valueCopied": { - "message": "$VALUE$ αντιγράφηκε", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Αντιγραφή Τιμής", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Αντιγραφή Κωδικού", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Αντιγραφή Ονόματος Χρήστη", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Αντιγραφή Αριθμού", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Αντιγραφή Κωδικού Ασφαλείας", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Αντιγραφή URI", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "Το Vault μου" - }, - "vault": { - "message": "Vault" - }, - "shareSelected": { - "message": "Κοινοποίηση Επιλεγμένων" - }, - "deleteSelected": { - "message": "Διαγραφή Επιλεγμένων" - }, - "moveSelected": { - "message": "Μετακίνηση Επιλεγμένων" - }, - "selectAll": { - "message": "Επιλογή Όλων" - }, - "unselectAll": { - "message": "Αποεπιλογή Ολων" - }, - "launch": { - "message": "Εκκίνηση" - }, - "newAttachment": { - "message": "Προσθήκη Νέου Συνημμένου" - }, - "deletedAttachment": { - "message": "Διαγραφή επισύναψης" - }, - "deleteAttachmentConfirmation": { - "message": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό το συνημμένο;" - }, - "attachmentSaved": { - "message": "Η επισύναψη έχει αποθηκευτεί." - }, - "file": { - "message": "Αρχείο" - }, - "selectFile": { - "message": "Επιλέξτε ένα αρχείο." - }, - "maxFileSize": { - "message": "Το μέγιστο μέγεθος αρχείου είναι 100 MB." - }, - "updateKey": { - "message": "Δεν μπορείτε να χρησιμοποιήσετε αυτήν τη δυνατότητα μέχρι να ενημερώσετε το κλειδί κρυπτογράφησης." - }, - "addedItem": { - "message": "Προστέθηκε στοιχείο" - }, - "editedItem": { - "message": "Επεξεργασμένο στοιχείο" - }, - "sharedItem": { - "message": "Κοινόχρηστο στοιχείο" - }, - "sharedItems": { - "message": "Κοινόχρηστα στοιχεία" - }, - "deleteItem": { - "message": "Διαγραφή στοιχείου" - }, - "deleteFolder": { - "message": "Διαγραφή Φακέλου" - }, - "deleteAttachment": { - "message": "Διαγραφή συνημμένου" - }, - "deleteItemConfirmation": { - "message": "Θέλετε πραγματικά να στείλετε στον κάδο απορριμμάτων;" - }, - "deletedItem": { - "message": "Διαγραμμένο στοιχείο" - }, - "deletedItems": { - "message": "Διαγραμμένα στοιχεία" - }, - "movedItems": { - "message": "Στοιχεία που έχουν μετακινηθεί" - }, - "overwritePasswordConfirmation": { - "message": "Είστε βέβαιοι ότι θέλετε να αντικαταστήσετε τον τρέχον κωδικό;" - }, - "editedFolder": { - "message": "Επεξεργασμένος φάκελος" - }, - "addedFolder": { - "message": "Προστέθηκε φάκελος" - }, - "deleteFolderConfirmation": { - "message": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτόν το φάκελο;" - }, - "deletedFolder": { - "message": "Διαγραφή φακέλου" - }, - "loggedOut": { - "message": "Αποσυνδεθήκατε" - }, - "loginExpired": { - "message": "Η περίοδος σύνδεσής σας έχει λήξει." - }, - "logOutConfirmation": { - "message": "Είστε βέβαιοι ότι θέλετε να αποσυνδεθείτε;" - }, - "logOut": { - "message": "Αποσύνδεση" - }, - "ok": { - "message": "Οκ" - }, - "yes": { - "message": "Ναι" - }, - "no": { - "message": "Όχι" - }, - "loginOrCreateNewAccount": { - "message": "Συνδεθείτε ή δημιουργήστε νέο λογαριασμό για να αποκτήσετε πρόσβαση στο vault σας." - }, - "createAccount": { - "message": "Δημιουργία Λογαριασμού" - }, - "logIn": { - "message": "Είσοδος" - }, - "submit": { - "message": "Υποβολή" - }, - "emailAddressDesc": { - "message": "Θα χρησιμοποιήσετε τη διεύθυνση email σας για να συνδεθείτε." - }, - "yourName": { - "message": "Το όνομα σας" - }, - "yourNameDesc": { - "message": "Πως να σας φωνάζουμε;" - }, - "masterPass": { - "message": "Κύριος Κωδικός" - }, - "masterPassDesc": { - "message": "Ο κύριος κωδικός είναι ο κωδικός που χρησιμοποιείτε για την πρόσβαση στο vault σας. Είναι πολύ σημαντικό να μην ξεχάσετε τον κύριο κωδικό. Δεν υπάρχει τρόπος να τον ανακτήσετε σε περίπτωση που τον ξεχάσετε." - }, - "masterPassHintDesc": { - "message": "Η υπόδειξη του κύριου κωδικού μπορεί να σας βοηθήσει να θυμηθείτε τον κωδικό σας, σε περίπτωση που τον ξεχάσετε." - }, - "reTypeMasterPass": { - "message": "Εισάγετε Ξανά τον Κύριο Κωδικό σας" - }, - "masterPassHint": { - "message": "Υπόδειξη Κύριου Κωδικού (προαιρετικό)" - }, - "masterPassHintLabel": { - "message": "Υπόδειξη Κύριου Κωδικού" - }, - "settings": { - "message": "Ρυθμίσεις" - }, - "passwordHint": { - "message": "Υπόδειξη Κωδικού" - }, - "enterEmailToGetHint": { - "message": "Παρακαλούμε εισάγετε το email του λογαριασμού σας, ώστε να λάβετε την υπόδειξη του κύριου κωδικού πρόσβασης." - }, - "getMasterPasswordHint": { - "message": "Λήψη υπόδειξης κύριου κωδικού" - }, - "emailRequired": { - "message": "Απαιτείται μια διεύθυνση email." - }, - "invalidEmail": { - "message": "Μη έγκυρη διεύθυνση e-mail." - }, - "masterPassRequired": { - "message": "Απαιτείται κύριος κωδικός πρόσβασης." - }, - "masterPassLength": { - "message": "Ο κύριος κωδικός πρέπει να έχει μήκος τουλάχιστον 8 χαρακτήρες." - }, - "masterPassDoesntMatch": { - "message": "Η επιβεβαίωση του κύριου κωδικού δεν ταιριάζει." - }, - "newAccountCreated": { - "message": "Ο λογαριασμός σας έχει δημιουργηθεί! Τώρα μπορείτε να συνδεθείτε." - }, - "masterPassSent": { - "message": "Σας στείλαμε ένα email με την υπόδειξη του κύριου κωδικού." - }, - "unexpectedError": { - "message": "Παρουσιάστηκε ένα μη αναμενόμενο σφάλμα." - }, - "emailAddress": { - "message": "Διεύθυνση Email" - }, - "yourVaultIsLocked": { - "message": "Το vault σας είναι κλειδωμένο. Επαληθεύστε τον κύριο κωδικό πρόσβασης για να συνεχίσετε." - }, - "unlock": { - "message": "Ξεκλείδωμα" - }, - "loggedInAsEmailOn": { - "message": "Συνδεθήκατε ως $EMAIL$ στο $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Μη έγκυρος κύριος κωδικός πρόσβασης" - }, - "lockNow": { - "message": "Κλείδωμα Τώρα" - }, - "noItemsInList": { - "message": "Δεν υπάρχουν στοιχεία στη λίστα." - }, - "noCollectionsInList": { - "message": "Δεν υπάρχουν συλλογές στη λίστα." - }, - "noGroupsInList": { - "message": "Δεν υπάρχουν ομάδες στη λίστα." - }, - "noUsersInList": { - "message": "Δεν υπάρχουν χρήστες στη λίστα." - }, - "noEventsInList": { - "message": "Δεν υπάρχουν γεγονότα στη λίστα." - }, - "newOrganization": { - "message": "Νέος Οργανισμός" - }, - "noOrganizationsList": { - "message": "Δεν συμμετέχετε σε κάποιον οργανισμό. Οι οργανισμοί επιτρέπουν την ασφαλή κοινοποίηση στοιχείων με άλλους χρήστες." - }, - "versionNumber": { - "message": "Έκδοση $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Εισάγετε τον 6ψήφιο κωδικό από την εφαρμογή επαλήθευσης." - }, - "enterVerificationCodeEmail": { - "message": "Εισάγετε τον 6ψήφιο κωδικό επαλήθευσης, τον οποίο λάβατε στο $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "Εστάλη email επαλήθευσης στο $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Να με θυμάσαι" - }, - "sendVerificationCodeEmailAgain": { - "message": "Αποστολή email κωδικού επαλήθευσης ξανά" - }, - "useAnotherTwoStepMethod": { - "message": "Χρήση άλλης μεθόδου δύο παραγόντων" - }, - "insertYubiKey": { - "message": "Τοποθετήστε το YubiKey στη θύρα USB του υπολογιστή σας και έπειτα πατήστε το κουμπί του." - }, - "insertU2f": { - "message": "Εισάγετε το κλειδί ασφαλείας στη θύρα USB του υπολογιστή σας. Αν υπάρχει κουμπί, πατήστε το." - }, - "loginUnavailable": { - "message": "Σύνδεση μη Διαθέσιμη" - }, - "noTwoStepProviders": { - "message": "Αυτός ο λογαριασμός έχει ενεργοποιημένη τη σύνδεση σε δύο βήματα, ωστόσο, κανένας από τους διαμορφωμένους παροχείς δύο βημάτων δεν υποστηρίζεται από αυτό το πρόγραμμα περιήγησης." - }, - "noTwoStepProviders2": { - "message": "Παρακαλούμε χρησιμοποιήστε ένα περιηγητή (όπως Chrome) και/ή προσθέστε επιπλέον παρόχους οι οποίοι υποστηρίζονται καλύτερα από τους περιηγητές internet (όπως για παράδειγμα μια εφαρμογή επαλήθευσης)." - }, - "twoStepOptions": { - "message": "Επιλογές σύνδεσης δύο παραγόντων" - }, - "recoveryCodeDesc": { - "message": "Έχετε χάσει την πρόσβαση σε όλους τους παρόχους δύο παραγόντων; Χρησιμοποιήστε τον κωδικό ανάκτησης για να απενεργοποιήσετε όλους τους παρόχους δύο παραγόντων από το λογαριασμό σας." - }, - "recoveryCodeTitle": { - "message": "Κωδικός Ανάκτησης" - }, - "authenticatorAppTitle": { - "message": "Εφαρμογή Επαλήθευσης" - }, - "authenticatorAppDesc": { - "message": "Χρησιμοποιήστε μια εφαρμογή επαλήθευσης (όπως το Authy ή Google Authenticator) για να δημιουργήσει κωδικούς επαλήθευσης με χρόνικο περιορισμό.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "Κλειδί Ασφαλείας YubiKey OTP" - }, - "yubiKeyDesc": { - "message": "Χρησιμοποιήστε ένα YubiKey για να αποκτήσετε πρόσβαση στο λογαριασμό σας. Λειτουργεί με συσκευές σειράς YubiKey 4, 5 και συσκευές NEO." - }, - "duoDesc": { - "message": "Επαληθεύστε με το Duo Security χρησιμοποιώντας την εφαρμογή Duo Mobile, μηνύματα SMS, τηλεφωνική κλήση ή κλειδί ασφαλείας U2F.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Επαληθεύστε με το Duo Security για τον οργανισμό σας χρησιμοποιώντας την εφαρμογή Duo Mobile, μήνυμα SMS, τηλεφωνική κλήση ή κλειδί ασφαλείας U2F.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Χρησιμοποιήστε οποιοδήποτε κλειδί ασφαλείας με δυνατότητα FIDO U2F για πρόσβαση στον λογαριασμό σας." - }, - "u2fTitle": { - "message": "Κλειδί Aσφαλείας FIDO U2F" - }, - "emailTitle": { - "message": "Email" - }, - "emailDesc": { - "message": "Οι κωδικοί επαλήθευσης θα σας αποσταλούν μέσω email." - }, - "continue": { - "message": "Συνέχεια" - }, - "organization": { - "message": "Οργανισμός" - }, - "organizations": { - "message": "Οργανισμοί" - }, - "shareDesc": { - "message": "Επιλέξτε έναν οργανισμό στον οποίο θέλετε να μοιραστείτε αυτό το στοιχείο. Η κοινή χρήση μεταβιβάζει την ιδιοκτησία του στοιχείου στον οργανισμό. Δεν θα είστε πλέον ο άμεσος ιδιοκτήτης αυτού του στοιχείου μόλις το μοιραστείτε." - }, - "shareManyDesc": { - "message": "Επιλέξτε έναν οργανισμό στον οποίο θέλετε να μοιραστείτε αυτά τα στοιχεία. Η κοινή χρήση μεταβιβάζει την ιδιοκτησία των αντικειμένων στον οργανισμό. Δεν θα είστε πλέον ο άμεσος ιδιοκτήτης αυτών των αντικειμένων μόλις τα μοιραστείτε." - }, - "collectionsDesc": { - "message": "Επεξεργαστείτε τις συλλογές με τις οποίες μοιράζεται αυτό το στοιχείο. Μόνο οι χρήστες των οργανισμών που έχουν πρόσβαση σε αυτές τις συλλογές θα μπορούν να βλέπουν αυτό το στοιχείο." - }, - "deleteSelectedItemsDesc": { - "message": "Έχετε επιλέξει $COUNT$ στοιχείο(α) για διαγραφή. Είστε βέβαιοι ότι θέλετε να διαγράψετε όλα αυτά τα στοιχεία;", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Επιλέξτε ένα φάκελο στον οποίο θέλετε να μετακινήσετε το $COUNT$ επιλεγμένο(α) στοιχεία.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "Έχετε επιλέξει $COUNT$ στοιχείο(α). Τα $SHAREABLE_COUNT$ στοιχεία είναι κοινόχρηστα και $NONSHAREABLE_COUNT$ δεν είναι.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Κωδικός Επαλήθευσης (TOTP)" - }, - "copyVerificationCode": { - "message": "Αντιγραφή Κωδικού Επαλήθευσης" - }, - "warning": { - "message": "Προειδοποίηση" - }, - "confirmVaultExport": { - "message": "Επιβεβαίωση εξαγωγής Vault" - }, - "exportWarningDesc": { - "message": "Αυτή η εξαγωγή περιέχει τα δεδομένα σε μη κρυπτογραφημένη μορφή. Δεν πρέπει να αποθηκεύετε ή να στείλετε το εξαγόμενο αρχείο μέσω μη ασφαλών τρόπων (όπως μέσω email). Διαγράψτε το αμέσως μόλις τελειώσετε με τη χρήση του." - }, - "encExportWarningDesc": { - "message": "Αυτή η εξαγωγή κρυπτογραφεί τα δεδομένα σας χρησιμοποιώντας το κλειδί κρυπτογράφησης του λογαριασμού σας. Εάν ποτέ περιστρέψετε το κλειδί κρυπτογράφησης του λογαριασμού σας, θα πρέπει να κάνετε εξαγωγή ξανά, καθώς δεν θα μπορείτε να αποκρυπτογραφήσετε αυτό το αρχείο εξαγωγής." - }, - "exportMasterPassword": { - "message": "Πληκτρολογήστε τον κύριο κωδικό για εξαγωγή των δεδομένων vault." - }, - "exportVault": { - "message": "Εξαγωγή Vault" - }, - "fileFormat": { - "message": "Μορφή Αρχείου" - }, - "exportSuccess": { - "message": "Τα δεδομένα του vault σας έχουν εξαχθεί." - }, - "passwordGenerator": { - "message": "Γεννήτρια Κωδικού" - }, - "minComplexityScore": { - "message": "Ελάχιστος Βαθμός Πολυπλοκότητας" - }, - "minNumbers": { - "message": "Ελάχιστα Αριθμητικά Ψηφία" - }, - "minSpecial": { - "message": "Ελάχιστο Ειδικών Χαρακτήρων", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Αποφυγή Αμφιλεγόμενων Χαρακτήρων" - }, - "regeneratePassword": { - "message": "Επαναδημιουργία Κωδικού" - }, - "length": { - "message": "Μήκος" - }, - "numWords": { - "message": "Αριθμός Λέξεων" - }, - "wordSeparator": { - "message": "Διαχωριστής Λέξεων" - }, - "capitalize": { - "message": "Κεφαλαία", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Συμπερίληψη Αριθμών" - }, - "passwordHistory": { - "message": "Ιστορικό Κωδικού" - }, - "noPasswordsInList": { - "message": "Δεν υπάρχουν κωδικοί στη λίστα." - }, - "clear": { - "message": "Εκκαθάριση", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Ο Λογαριασμός Ενημερώθηκε" - }, - "changeEmail": { - "message": "Αλλαγή Email" - }, - "newEmail": { - "message": "Νέο Email" - }, - "code": { - "message": "Κωδικός" - }, - "changeEmailDesc": { - "message": "Έχουμε στείλει έναν κωδικό επαλήθευσης στο $EMAIL$. Ελέγξτε το email σας για αυτόν τον κωδικό και πληκτρολογήστε τον παρακάτω, προκειμένου να ολοκληρώσετε την αλλαγή διεύθυνσης του email σας.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Η διαδικασία θα σας αποσυνδέσει από την τρέχουσα συνεδρία και θα σας ζητήσει να συνδεθείτε ξανά. Οι ενεργές συνεδρίες σε άλλες συσκευές ενδέχεται να παραμείνουν ενεργοποιημένες για έως και μία ώρα." - }, - "emailChanged": { - "message": "Το email άλλαξε" - }, - "logBackIn": { - "message": "Παρακαλούμε συνδεθείτε ξανά." - }, - "logBackInOthersToo": { - "message": "Παρακαλούμε συνδεθείτε ξανά. Εάν χρησιμοποιείτε άλλες εφαρμογές Bitwarden, αποσυνδεθείτε και επιστρέψτε σε αυτές επίσης." - }, - "changeMasterPassword": { - "message": "Αλλαγή Κύριου Κωδικού" - }, - "masterPasswordChanged": { - "message": "Ο Κύριος Κωδικός Αλλαξε" - }, - "currentMasterPass": { - "message": "Τρέχων Κύριος Κωδικός" - }, - "newMasterPass": { - "message": "Νέος Κύριος Κωδικός" - }, - "confirmNewMasterPass": { - "message": "Επιβεβαίωση Νέου Κύριου Κωδικού" - }, - "encKeySettings": { - "message": "Ρυθμίσεις Κλειδιού Κρυπτογράφησης" - }, - "kdfAlgorithm": { - "message": "Αλγόριθμος KDF" - }, - "kdfIterations": { - "message": "Επαναλήψεις KDF" - }, - "kdfIterationsDesc": { - "message": "Οι περισσότερες επαναλήψεις του KDF μπορούν να σας βοηθήσουν να προστατέψετε τον κύριο κωδικό από έναν εισβολέα.. Συνιστούμε μια τιμή $VALUE$ ή περισσότερο.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Η ρύθμιση των επαναλήψεων KDF σε υπερβολικά υψηλά επίπεδα μπορεί να οδηγήσει σε κακή απόδοση κατά τη σύνδεση (και ξεκλειδώματος) του Bitwarden σε συσκευές με βραδύτερους CPU. Σας συνιστούμε να αυξήσετε την τιμή σε $INCREMENT$ και στη συνέχεια να δοκιμάσετε όλες τις συσκευές σας.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Αλλαγή KDF" - }, - "encKeySettingsChanged": { - "message": "Οι Ρυθμίσεις του Κλειδιού Κρυπτογράφησης Αλλαξαν" - }, - "dangerZone": { - "message": "Επικίνδυνη Ζώνη" - }, - "dangerZoneDesc": { - "message": "Προσοχή, αυτές οι ενέργειες είναι μη αναστρέψιμες!" - }, - "deauthorizeSessions": { - "message": "Κατάργηση Εξουσιοδότησης Συνεδριών" - }, - "deauthorizeSessionsDesc": { - "message": "Σκέφτεστε μήπως έχει συνδεθεί άλλη συσκευή στον λογαριασμό σας; Συνεχίστε παρακάτω για να καταργήσετε την πρόσβαση σε όλους τους υπολογιστές ή συσκευές που είχατε χρησιμοποιήσει στο παρελθόν. Αυτό το βήμα ασφαλείας συνιστάται αν χρησιμοποιούσατε προηγουμένως έναν δημόσιο υπολογιστή ή αν αποθηκεύσατε κατά λάθος τον κωδικό σας, σε μια συσκευή που δεν είναι δική σας. Αυτό το βήμα θα καθαρίσει επίσης όλες τις προηγούμενες συνδέσεις δύο βημάτων που έγιναν." - }, - "deauthorizeSessionsWarning": { - "message": "Η διαδικασία θα σας αποσυνδέσει από την τρέχουσα συνεδρία και θα σας ζητήσει να συνδεθείτε ξανά. Οι ενεργές συνεδρίες σε άλλες συσκευές ενδέχεται να παραμείνουν ενεργοποιημένες για έως και μία ώρα." - }, - "sessionsDeauthorized": { - "message": "Η Ανακληθεί η Πρόσβαση από Όλες τις Συνεδρίες" - }, - "purgeVault": { - "message": "Εκκαθάριση Vault" - }, - "purgedOrganizationVault": { - "message": "Εκκαθάριση vault οργανισμού." - }, - "purgeVaultDesc": { - "message": "Προχωρήστε παρακάτω για να διαγράψετε όλα τα στοιχεία και τους φακέλους στo vault σας. Τα στοιχεία που ανήκουν σε έναν οργανισμό των οποίων τα στοιχεία κοινοποιείτε, δεν θα διαγραφούν." - }, - "purgeOrgVaultDesc": { - "message": "Προχωρήστε παρακάτω για να διαγράψετε όλα τα στοιχεία του vault του οργανισμού." - }, - "purgeVaultWarning": { - "message": "Η εκκαθάριση του vault είναι μόνιμη. Αυτό δεν μπορεί να αναιρεθεί." - }, - "vaultPurged": { - "message": "Το vault σας έχει καθαριστεί." - }, - "deleteAccount": { - "message": "Διαγραφή Λογαριασμού" - }, - "deleteAccountDesc": { - "message": "Προχωρήστε παρακάτω για να διαγράψετε το λογαριασμό σας και όλα τα συσχετιζόμενα δεδομένα." - }, - "deleteAccountWarning": { - "message": "Η διαγραφή του λογαριασμού σας είναι μόνιμη. Δε μπορεί να αναιρεθεί." - }, - "accountDeleted": { - "message": "Ο Λογαριασμός Διαγράφηκε" - }, - "accountDeletedDesc": { - "message": "Ο λογαριασμός σας έκλεισε και όλα τα σχετικά δεδομένα διαγράφηκαν." - }, - "myAccount": { - "message": "Ο Λογαριασμός μου" - }, - "tools": { - "message": "Εργαλεία" - }, - "importData": { - "message": "Εισαγωγή Δεδομένων" - }, - "importSuccess": { - "message": "Τα δεδομένα έχουν εισαχθεί με επιτυχία στο vault σας." - }, - "importFormatError": { - "message": "Τα δεδομένα δεν έχουν διαμορφωθεί σωστά. Ελέγξτε το αρχείο εισαγωγής και δοκιμάστε ξανά." - }, - "importNothingError": { - "message": "Δεν υπάρχει κάτι για εισαγωγή." - }, - "selectFormat": { - "message": "Επιλέξτε μορφή του αρχείου εισαγωγής" - }, - "selectImportFile": { - "message": "Επιλέξτε το αρχείο εισαγωγής" - }, - "orCopyPasteFileContents": { - "message": "ή αντιγράψτε/επικολλήστε τα περιεχόμενα του αρχείου εισαγωγής" - }, - "instructionsFor": { - "message": "$NAME$ Οδηγίες", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Επιλογές" - }, - "optionsDesc": { - "message": "Προσαρμόστε την εμπειρία σας στο web vault." - }, - "optionsUpdated": { - "message": "Οι επιλογές ενημερώθηκαν" - }, - "language": { - "message": "Γλώσσα" - }, - "languageDesc": { - "message": "Αλλάξτε γλώσσα που χρησιμοποιείται από το web vault." - }, - "disableIcons": { - "message": "Απενεργοποίηση Εικονιδίων Ιστοσελίδας" - }, - "disableIconsDesc": { - "message": "Τα εικονίδια ιστοσελίδων παρέχουν μια αναγνωρίσιμη εικόνα δίπλα σε κάθε στοιχείο σύνδεσης του vault σας." - }, - "enableGravatars": { - "message": "Ενεργοποίηση Gravatars", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Χρήση εικόνων avatar από gravatar.com." - }, - "enableFullWidth": { - "message": "Ενεργοποίηση διάταξης πλήρους πλάτους", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Επιτρέψτε το web vault να επεκτείνει το πλήρες πλάτος του παραθύρου του Browser." - }, - "default": { - "message": "Προεπιλογή" - }, - "domainRules": { - "message": "Κανόνες Tομέα" - }, - "domainRulesDesc": { - "message": "Αν έχετε την ίδια σύνδεση σε πολλούς διαφορετικούς τομείς ιστοσελίδων, μπορείτε να την επισημάνετε \"Ταυτόσημη\". Οι \"Παγκόσμιοι\" τομείς θα δημιουργηθούν για εσάς από το Bitwarden." - }, - "globalEqDomains": { - "message": "Παγκόσμιοι Tαυτόσημοι Tομείς" - }, - "customEqDomains": { - "message": "Προσαρμογή Tαυτόσημων Tομέων" - }, - "exclude": { - "message": "Εξαίρεση" - }, - "include": { - "message": "Συμπερίληψη" - }, - "customize": { - "message": "Προσαρμογή" - }, - "newCustomDomain": { - "message": "Νέος Προσαρμοσμένος Τομέας" - }, - "newCustomDomainDesc": { - "message": "Καταχωρίστε μια λίστα με τομείς που χωρίζονται με κόμματα. Επιτρέπονται μόνο οι \"Βασικοί\" τομείς. Μην εισάγετε υποτομείς. Για παράδειγμα, πληκτρολογήστε \"google.com\" αντί για \"www.google.com\". Μπορείτε επίσης να εισαγάγετε το \"androidapp: //package.name\" για να συσχετίσετε μια εφαρμογή Android με άλλους τομείς ιστοσελίδων." - }, - "customDomainX": { - "message": "Προσαρμοσμένος Τομέας $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Οι Τομείς Ενημερώθηκαν" - }, - "twoStepLogin": { - "message": "Σύνδεση σε δύο βήματα" - }, - "twoStepLoginDesc": { - "message": "Ασφαλίστε το λογαριασμό σας απαιτώντας ένα επιπλέον βήμα κατά τη σύνδεση." - }, - "twoStepLoginOrganizationDesc": { - "message": "Απαιτήστε σύνδεση σε δύο βήματα για τους χρήστες του οργανισμού σας, ρυθμίζοντας τους παρόχους σε επίπεδο οργανισμού." - }, - "twoStepLoginRecoveryWarning": { - "message": "Η ενεργοποίηση σύνδεσης δύο βημάτων μπορεί να κλειδώσει οριστικά το λογαριασμό σας από το Bitwarden. Ένας κωδικός ανάκτησης σάς επιτρέπει να έχετε πρόσβαση στον λογαριασμό σας σε περίπτωση που δεν μπορείτε πλέον να χρησιμοποιήσετε τη σύνδεση δύο βημάτων (π. χ. χάνετε τη συσκευή σας). Η υποστήριξη πελατών του Bitwarden δεν θα είναι σε θέση να σας βοηθήσει αν χάσετε την πρόσβαση στο λογαριασμό σας. Συνιστούμε να γράψετε ή να εκτυπώσετε τον κωδικό ανάκτησης και να τον φυλάξετε σε ασφαλές μέρος." - }, - "viewRecoveryCode": { - "message": "Προβολή Κωδικού Ανάκτησης" - }, - "providers": { - "message": "Πάροχοι", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Ενεργοποίηση" - }, - "enabled": { - "message": "Ενεργοποιημένο" - }, - "premium": { - "message": "Premium", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Συνδρομή Premium" - }, - "premiumRequired": { - "message": "Απαιτείται η έκδοση Premium" - }, - "premiumRequiredDesc": { - "message": "Για να χρησιμοποιήσετε αυτό το χαρακτηριστικό, απαιτείται η έκδοση premium." - }, - "youHavePremiumAccess": { - "message": "Έχετε premium πρόσβαση" - }, - "alreadyPremiumFromOrg": { - "message": "Έχετε ήδη πρόσβαση σε χαρακτηριστικά premium λόγω ενός οργανισμού στον οποίο είστε μέλος." - }, - "manage": { - "message": "Διαχείριση" - }, - "disable": { - "message": "Απενεργοποίηση" - }, - "twoStepLoginProviderEnabled": { - "message": "Ο πάροχος σύνδεσης δύο βημάτων του λογαριασμού σας, είναι ενεργοποιημένος." - }, - "twoStepLoginAuthDesc": { - "message": "Εισάγετε τον κύριο κωδικό για να τροποποιήσετε τις ρυθμίσεις σύνδεσης δύο βημάτων." - }, - "twoStepAuthenticatorDesc": { - "message": "Ακολουθήστε αυτά τα βήματα για να ρυθμίσετε τη σύνδεση δύο βημάτων με μια εφαρμογή επαλήθευσης:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Λήψη μιας εφαρμογής επαλήθευσης, δύο παραγόντων" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Χρειάζεστε μια εφαρμογή επαλήθευσης δύο παραγόντων; Κατεβάστε μία από τις παρακάτω" - }, - "iosDevices": { - "message": "Συσκευές iOS" - }, - "androidDevices": { - "message": "Συσκευές Android" - }, - "windowsDevices": { - "message": "Συσκευές Windows" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "Προτείνονται αυτές οι εφαρμογές, ωστόσο, άλλες εφαρμογές επαλήθευσης θα λειτουργήσουν επίσης." - }, - "twoStepAuthenticatorScanCode": { - "message": "Σαρώστε αυτόν τον κώδικα QR με την εφαρμογή επαλήθευσης" - }, - "key": { - "message": "Κλειδί" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Καταχωρίστε τον 6ψήφιο κωδικό επαλήθευσης που προκύπτει από την εφαρμογή" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "Σε περίπτωση που χρειαστεί να την προσθέσετε σε άλλη συσκευή, παρακάτω είναι ο κωδικός QR (ή το κλειδί) που απαιτείται από την εφαρμογή επαλήθευσης." - }, - "twoStepDisableDesc": { - "message": "Είστε βέβαιοι ότι θέλετε να απενεργοποιήσετε τη σύνδεση δύο βημάτων;" - }, - "twoStepDisabled": { - "message": "Η σύνδεση δύο βημάτων απενεργοποιήθηκε." - }, - "twoFactorYubikeyAdd": { - "message": "Προσθήκη νέου YubiKey στο λογαριασμό σας" - }, - "twoFactorYubikeyPlugIn": { - "message": "Συνδέστε το YubiKey στη θύρα USB του υπολογιστή σας." - }, - "twoFactorYubikeySelectKey": { - "message": "Επιλέξτε το πρώτο κενό πεδίο εισαγωγής YubiKey παρακάτω." - }, - "twoFactorYubikeyTouchButton": { - "message": "Πατήστε το κουμπί του YubiKey." - }, - "twoFactorYubikeySaveForm": { - "message": "Αποθηκεύστε τη φόρμα." - }, - "twoFactorYubikeyWarning": { - "message": "Λόγω περιορισμών της πλατφόρμας, το YubiKey δεν μπορεί να χρησιμοποιηθεί σε όλες τις εφαρμογές του Bitwarden. Θα πρέπει να ενεργοποιήσετε έναν άλλο πάροχο σύνδεσης δύο βημάτων, ώστε να έχετε πρόσβαση στον λογαριασμό σας όταν δεν θα μπορείτε να χρησιμοποιήσετε το YubiKey. Υποστηριζόμενες πλατφόρμες:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Web vault, εφαρμογή υπολογιστή, CLI και όλες τις επεκτάσεις του προγράμματος περιήγησης σε μια συσκευή με θύρα USB που μπορεί να δεχτεί YubiKey." - }, - "twoFactorYubikeySupportMobile": { - "message": "Εφαρμογές κινητής σε μια συσκευή με δυνατότητες NFC ή θύρα USB, που να μπορεί να δεχτεί το YubiKey." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "U2F Κλειδί $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "Υποστήριξη NFC" - }, - "twoFactorYubikeySupportsNfc": { - "message": "Ένα από τα κλειδιά μου υποστηρίζει NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "Εάν ένα από τα YubiKeys υποστηρίζει NFC (όπως YubiKey NEO), θα σας ζητηθεί σε κινητές συσκευές όποτε εντοπίζεται η διαθεσιμότητα NFC." - }, - "yubikeysUpdated": { - "message": "Τα YubiKeys ενημερώθηκαν" - }, - "disableAllKeys": { - "message": "Απενεργοποίηση Όλων των Κλειδιών" - }, - "twoFactorDuoDesc": { - "message": "Καταχωρίστε τις πληροφορίες εφαρμογής Bitwarden από τον πίνακα διαχειριστή Duo." - }, - "twoFactorDuoIntegrationKey": { - "message": "Κλειδί Ολοκλήρωσης" - }, - "twoFactorDuoSecretKey": { - "message": "Μυστικό Κλειδί" - }, - "twoFactorDuoApiHostname": { - "message": "API Hostname" - }, - "twoFactorEmailDesc": { - "message": "Ακολουθήστε αυτά τα βήματα για να ρυθμίσετε τη σύνδεση δύο βημάτων μέσω email:" - }, - "twoFactorEmailEnterEmail": { - "message": "Εισάγετε τη διεύθυνση email που θέλετε να λαμβάνετε τους κωδικούς επαλήθευσης" - }, - "twoFactorEmailEnterCode": { - "message": "Εισάγετε τον 6ψήφιο κωδικό επαλήθευσης που λάβατε στο email σας" - }, - "sendEmail": { - "message": "Αποστολή Email" - }, - "twoFactorU2fAdd": { - "message": "Προσθήκη κλειδιού ασφαλείας FIDO U2F στο λογαριασμό σας" - }, - "removeU2fConfirmation": { - "message": "Είστε βέβαιοι ότι θέλετε να καταργήσετε αυτό το κλειδί ασφαλείας;" - }, - "readKey": { - "message": "Ανάγνωση Κλειδιού" - }, - "keyCompromised": { - "message": "Το κλειδί έχει παραβιαστεί." - }, - "twoFactorU2fGiveName": { - "message": "Δώστε στο κλειδί ασφαλείας ένα φιλικό όνομα για να το αναγνωρίσετε." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Συνδέστε το κλειδί ασφαλείας στη θύρα USB του υπολογιστή σας, και κάντε κλικ στο κουμπί \"Ανάγνωση Κλειδιού\"." - }, - "twoFactorU2fTouchButton": { - "message": "Εάν το κλειδί ασφαλείας έχει κουμπί, πατήστε το." - }, - "twoFactorU2fSaveForm": { - "message": "Αποθηκεύστε τη φόρμα." - }, - "twoFactorU2fWarning": { - "message": "Λόγω περιορισμών της πλατφόρμας, το YubiKey δεν μπορεί να χρησιμοποιηθεί σε όλες τις εφαρμογές του Bitwarden. Θα πρέπει να ενεργοποιήσετε έναν άλλο πάροχο σύνδεσης δύο βημάτων, ώστε να έχετε πρόσβαση στον λογαριασμό σας όταν δεν μπορείτε να χρησιμοποιήσετε το YubiKey. Υποστηριζόμενες πλατφόρμες:" - }, - "twoFactorU2fSupportWeb": { - "message": "Web vault και επεκτάσεις προγραμμάτων περιήγησης σε επιτραπέζιο/φορητό υπολογιστή με ενεργοποιημένη τη δυνατότητα U2F (Chrome, Opera, Vivaldi ή Firefox με ενεργοποιημένο το FIDO U2F)." - }, - "twoFactorU2fWaiting": { - "message": "Σας περιμένουμε να πατήστε το κουμπί του κλειδιού ασφαλείας" - }, - "twoFactorU2fClickSave": { - "message": "Κάντε κλικ στο κουμπί \"Αποθήκευση\" παρακάτω για να ενεργοποιήσετε το κλειδί ασφαλείας, με σύνδεση δύο βημάτων." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "Παρουσιάστηκε πρόβλημα κατά την ανάγνωση του κλειδιού ασφαλείας. Προσπάθησε ξανά." - }, - "twoFactorRecoveryYourCode": { - "message": "Ο Bitwarden κωδικός ανάκτησης, εισόδου δύο βημάτων" - }, - "twoFactorRecoveryNoCode": { - "message": "Δεν έχετε ενεργοποιήσει κάποιον πάροχο σύνδεσης δύο παραγόντων ακόμα. Αφού ενεργοποιήσετε έναν πάροχο σύνδεσης, μπορείτε να ελέγξετε εδώ, για τον κωδικό ανάκτησης." - }, - "printCode": { - "message": "Εκτύπωση Κωδικού", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Αναφορές" - }, - "unsecuredWebsitesReport": { - "message": "Αναφορά Μη-Ασφαλών Ιστοσελίδων" - }, - "unsecuredWebsitesReportDesc": { - "message": "Η χρήση μη ασφαλισμένων ιστοσελίδων με πρόθεμα http:// μπορεί να είναι επικίνδυνο. Αν η ιστοσελίδα το επιτρέπει, θα πρέπει πάντα να έχετε πρόσβαση σε αυτήν χρησιμοποιώντας το πρότυπο https://, έτσι ώστε η σύνδεσή σας να είναι κρυπτογραφημένη." - }, - "unsecuredWebsitesFound": { - "message": "Βρέθηκαν μη ασφαλής ιστοσελίδες" - }, - "unsecuredWebsitesFoundDesc": { - "message": "Βρήκαμε $COUNT$ στοιχεία στο vault σας, με μη ασφαλές URI. Θα πρέπει να αλλάξετε το URI σε https:/ εφόσον το επιτρέπει η ιστοσελίδα.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "Κανένα στοιχείο στο vault σας δεν διαθέτει ανασφάλιστα URIs." - }, - "inactive2faReport": { - "message": "Μη Ενεργή Αναφορά 2FA" - }, - "inactive2faReportDesc": { - "message": "Ο έλεγχος ταυτότητας δύο παραγόντων (2FA) είναι μια σημαντική ρύθμιση ασφαλείας που βοηθά στη διασφάλιση των λογαριασμών σας. Αν το υποστηρίζει η ιστοσελίδα, θα πρέπει πάντα να ενεργοποιείτε τον έλεγχο ταυτότητας δύο παραγόντων." - }, - "inactive2faFound": { - "message": "Βρέθηκαν Συνδέσεις Χωρίς 2FA" - }, - "inactive2faFoundDesc": { - "message": "Βρήκαμε $COUNT$ ιστοσελίδα(ες) στο vault σας, που ενδέχεται να μην έχει ρυθμιστεί ο έλεγχος ταυτότητας δύο παραγόντων (σύμφωνα με το 2fa.directory). Για επιπλέον προστασία αυτών των λογαριασμών, θα πρέπει να ενεργοποιήσετε τον έλεγχο ταυτότητας δύο παραγόντων.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "Δεν βρέθηκαν ιστοσελίδες στο vault σας που να μην έχει οριστεί, η επαλήθευση δύο παραγόντων." - }, - "instructions": { - "message": "Οδηγίες" - }, - "exposedPasswordsReport": { - "message": "Αναφορά Κωδικών που έχουν Εκτεθεί" - }, - "exposedPasswordsReportDesc": { - "message": "Οι εκτεθειμένοι κωδικοί, είναι κωδικοί που έχουν εμφανιστεί σε γνωστές διαρροές δεδομένων, και που κυκλοφόρησαν δημόσια ή πουλήθηκαν στο dark web από χάκερς." - }, - "exposedPasswordsFound": { - "message": "Βρέθηκαν Εκτεθειμένοι Κωδικοί" - }, - "exposedPasswordsFoundDesc": { - "message": "Βρήκαμε $COUNT$ στοιχεία στο vault σας, που έχουν εκτεθειμένους κωδικούς σε γνωστές παραβιάσεις δεδομένων. Θα πρέπει να τους αλλάξετε προκειμένου να χρησιμοποιήσετε έναν νέο κωδικό.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "Κανένα στοιχείο του vault σας δεν περιέχει κωδικούς που να έχουν εκτεθεί σε γνωστές παραβιάσεις δεδομένων." - }, - "checkExposedPasswords": { - "message": "Έλεγχος Εκτεθειμένων Κωδικών" - }, - "exposedXTimes": { - "message": "Εκτέθηκε $COUNT$ φορά(ές)", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Αναφορά Αδύναμων Κωδικών" - }, - "weakPasswordsReportDesc": { - "message": "Οι αδύναμοι κωδικοί μπορούν εύκολα να βρεθούν από τους χάκερ με τα αυτοματοποιημένα εργαλεία που χρησιμοποιούν για να σπάσουν τους κωδικούς. Η γεννήτρια κωδικού του Bitwarden μπορεί να σας βοηθήσει να δημιουργήσετε ισχυρούς κωδικούς." - }, - "weakPasswordsFound": { - "message": "Βρέθηκαν Αδύναμοι Κωδικοί" - }, - "weakPasswordsFoundDesc": { - "message": "Βρήκαμε $COUNT$ στοιχεία στο vault σας, με κωδικούς που δεν είναι ισχυροί. Θα πρέπει να τους ενημερώσετε και να χρησιμοποιήσετε ισχυρότερους κωδικούς.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "Κανένα απο τα στοιχεία στο vault σας δεν έχει αδύναμους κωδικούς." - }, - "reusedPasswordsReport": { - "message": "Αναφορά Επανα-χρησιμοποιημένων Κωδικών" - }, - "reusedPasswordsReportDesc": { - "message": "Εάν μια υπηρεσία ή λογαριασμός που χρησιμοποιείτε έχει εκτεθεί, η επαναλαμβανόμενη χρήση του ίδιου κωδικού, μπορεί να επιτρέψει στους χάκερς να αποκτήσουν εύκολα πρόσβαση σε περισσότερους λογαριασμούς σας στο διαδίκτυο. Θα πρέπει να χρησιμοποιείτε έναν μοναδικό κωδικό για κάθε λογαριασμό ή υπηρεσία." - }, - "reusedPasswordsFound": { - "message": "Βρέθηκαν Επανα-χρησιμοποιούμενοι Κωδικοί" - }, - "reusedPasswordsFoundDesc": { - "message": "Βρήκαμε $COUNT$ κωδικούς που επανα-χρησιμοποιούνται στο vault σας. Θα πρέπει να αλλάξετε τον κάθε ένα, σε κάτι μοναδικό.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "Δεν υπάρχουν συνδέσεις στο vault σας, οι οποίες να περιέχουν κωδικούς που επανα-χρησιμοποιούνται." - }, - "reusedXTimes": { - "message": "Επαναχρησιμοποιείται $COUNT$ φορές", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Αναφορά Παραβίασης Δεδομένων" - }, - "breachDesc": { - "message": "Μια \"παραβίαση\" είναι ένα περιστατικό όπου τα δεδομένα μίας ιστοσελίδας, έχουν παραβιαστεί από χάκερς, αποκτούν πρόσβαση και στη συνέχεια τα δημοσιοποιούν. Ελέγξτε τους τύπους των δεδομένων που διακυβεύονται (διευθύνσεις email, κωδικοί, πιστωτικές κάρτες κλπ.) και ακολουθήστε τις κατάλληλες ενέργειες, όπως η αλλαγή των κωδικών." - }, - "breachCheckUsernameEmail": { - "message": "Ελέγξτε τυχόν ονόματα χρήστη ή διευθύνσεις email που χρησιμοποιείτε." - }, - "checkBreaches": { - "message": "Έλεγχος Παραβιάσεων" - }, - "breachUsernameNotFound": { - "message": "Το $USERNAME$ δεν βρέθηκε σε καμία γνωστή παραβίαση δεδομένων.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Καλά Νέα", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "Το $USERNAME$ βρέθηκε $COUNT$ φορά (ες) σε παραβιάσεις δεδομένων στο διαδίκτυο.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Βρέθηκαν Παραβιασμένοι Λογαριασμοί" - }, - "compromisedData": { - "message": "Δεδομένα που έχουν παραβιαστεί" - }, - "website": { - "message": "Ιστοσελίδα" - }, - "affectedUsers": { - "message": "Επηρεαζόμενοι Χρήστες" - }, - "breachOccurred": { - "message": "Προέκυψε Παραβίαση" - }, - "breachReported": { - "message": "Αναφέρθηκε Παραβίαση" - }, - "reportError": { - "message": "Παρουσιάστηκε σφάλμα κατά την φόρτωση της αναφοράς. Προσπάθησε ξανά" - }, - "billing": { - "message": "Χρέωση" - }, - "accountCredit": { - "message": "Λογαριασμός Πίστωσης", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Υπόλοιπο Λογαριασμού", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Προσθήκη Μονάδων", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Ποσό", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Οι μονάδες που προστέθηκαν, θα εμφανιστούν στο λογαριασμό σας μετά την πλήρη επεξεργασία της πληρωμής. Ορισμένες μέθοδοι πληρωμής καθυστερούν και μπορεί να διαρκέσουν περισσότερο από άλλες." - }, - "makeSureEnoughCredit": { - "message": "Βεβαιωθείτε ότι ο λογαριασμός σας έχει αρκετές μονάδες για αυτήν την αγορά. Αν ο λογαριασμός σας δεν διαθέτει αρκετές μονάδες, θα χρησιμοποιηθεί η προκαθορισμένη μέθοδος πληρωμής για τη διαφορά. Μπορείτε να προσθέσετε μονάδες στο λογαριασμό σας από τη σελίδα Χρέωσης." - }, - "creditAppliedDesc": { - "message": "Οι μονάδες του λογαριασμού σας, μπορούν να χρησιμοποιηθούν για να κάνετε αγορές. Κάθε διαθέσιμη μονάδα θα εφαρμοστεί αυτόματα στα παραστατικά που δημιουργούνται για αυτόν το λογαριασμό." - }, - "goPremium": { - "message": "Αποκτήστε Premium", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "Έχετε αναβαθμίσει σε premium." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Αναβαθμίστε το λογαριασμό σας σε premium και ξεκλειδώστε μερικές επιπλέον σπουδαίες λειτουργίες." - }, - "premiumSignUpStorage": { - "message": "1 GB κρυπτογραφημένο αποθηκευτικό χώρο για συνημμένα αρχεία." - }, - "premiumSignUpTwoStep": { - "message": "Πρόσθετες επιλογές σύνδεσης δύο παραγόντων, όπως το YubiKey, το FIDO U2F και το Duo." - }, - "premiumSignUpReports": { - "message": "Ασφάλεια κωδικών, υγεία λογαριασμού και αναφορές διαρροής δεδομένων, προκειμένου να διατηρήσετε ασφαλές το vault σας." - }, - "premiumSignUpTotp": { - "message": "TOTP κωδικός επαλήθευσης (2FA) για συνδέσεις στο vault σας." - }, - "premiumSignUpSupport": { - "message": "Προτεραιότητα υποστήριξης πελατών." - }, - "premiumSignUpFuture": { - "message": "Όλα τα μελλοντικά χαρακτηριστικά premium. Περισσότερα σύντομα!" - }, - "premiumPrice": { - "message": "Όλα για μόνο $PRICE$ /έτος!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Πρόσθετα" - }, - "premiumAccess": { - "message": "Πρόσβαση Premium" - }, - "premiumAccessDesc": { - "message": "Μπορείτε να προσθέσετε premium πρόσβαση σε όλα τα μέλη του οργανισμού σας για $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Επιπλέον χώρος αποθήκευσης (GB)" - }, - "additionalStorageGbDesc": { - "message": "# επιπλέον GB" - }, - "additionalStorageIntervalDesc": { - "message": "Το πακέτο σας έρχεται με $SIZE$ κρυπτογραφημένης αποθήκευσης αρχείων. Μπορείτε να προσθέσετε επιπλέον αποθηκευτικό χώρο για $PRICE$ ανά GB /$INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Σύνοψη" - }, - "total": { - "message": "Σύνολο" - }, - "year": { - "message": "έτος" - }, - "month": { - "message": "μήνας" - }, - "monthAbbr": { - "message": "μην.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Η μέθοδος πληρωμής θα χρεωθεί αμέσως και στη συνέχεια σε πάγια βάση κάθε χρόνο. Μπορείτε να το ακυρώσετε οποιαδήποτε στιγμή." - }, - "paymentCharged": { - "message": "Ο τρόπος πληρωμής σας θα χρεωθεί αμέσως και στη συνέχεια ανά τακτά χρονικά διαστήματα κάθε $INTERVAL$. Μπορείτε να το ακυρώσετε οποιαδήποτε στιγμή.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Το πακέτο σας έρχεται με δωρεάν δοκιμή 7 ημερών. Ο τρόπος πληρωμής σας δεν θα χρεωθεί μέχρι να τελειώσει η δοκιμή. Η χρέωση θα πραγματοποιείται σε επαναλαμβανόμενη βάση κάθε $INTERVAL$. Μπορείτε να το ακυρώσετε οποιαδήποτε στιγμή.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Πληροφορίες Πληρωμής" - }, - "billingInformation": { - "message": "Πληροφορίες Χρέωσης" - }, - "creditCard": { - "message": "Πιστωτική Κάρτα" - }, - "paypalClickSubmit": { - "message": "Κάντε κλικ στο κουμπί PayPal για να συνδεθείτε στον λογαριασμό σας στο PayPal και στη συνέχεια, κάντε κλικ στο κουμπί Υποβολή παρακάτω για να συνεχίσετε." - }, - "cancelSubscription": { - "message": "Ακύρωση Συνδρομής" - }, - "subscriptionCanceled": { - "message": "Η συνδρομή ακυρώθηκε." - }, - "pendingCancellation": { - "message": "Εν αναμονή ακύρωσης" - }, - "subscriptionPendingCanceled": { - "message": "Η συνδρομή έχει επισημανθεί για ακύρωση στο τέλος της τρέχουσας περιόδου χρέωσης." - }, - "reinstateSubscription": { - "message": "Επαναφορά συνδρομής" - }, - "reinstateConfirmation": { - "message": "Είστε βέβαιοι ότι θέλετε να καταργήσετε το αίτημα ακύρωσης που εκκρεμεί και να επαναφέρετε τη συνδρομή σας;" - }, - "reinstated": { - "message": "Η συνδρομή έχει αποκατασταθεί." - }, - "cancelConfirmation": { - "message": "Είστε βέβαιοι ότι θέλετε να ακυρώσετε; Θα χάσετε την πρόσβαση σε όλες τις λειτουργίες αυτής της συνδρομής στο τέλος αυτού του κύκλου χρέωσης." - }, - "canceledSubscription": { - "message": "Η συνδρομή ακυρώθηκε." - }, - "neverExpires": { - "message": "Χωρίς λήξη" - }, - "status": { - "message": "Κατάσταση" - }, - "nextCharge": { - "message": "Επόμενη Χρέωση" - }, - "details": { - "message": "Λεπτομέρειες" - }, - "downloadLicense": { - "message": "Λήψη Άδειας" - }, - "updateLicense": { - "message": "Ενημέρωση Άδειας" - }, - "updatedLicense": { - "message": "Η άδεια ενημερώθηκε" - }, - "manageSubscription": { - "message": "Διαχείριση Συνδρομής" - }, - "storage": { - "message": "Αποθήκευση" - }, - "addStorage": { - "message": "Προσθήκη αποθηκευτικού χώρου" - }, - "removeStorage": { - "message": "Κατάργηση αποθήκευσης" - }, - "subscriptionStorage": { - "message": "Η συνδρομή σας έχει συνολικά $MAX_STORAGE$ GB κρυπτογραφημένης αποθήκευσης αρχείων. Αυτήν τη στιγμή χρησιμοποιείτε $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Τρόπος Πληρωμής" - }, - "noPaymentMethod": { - "message": "Δεν υπάρχει καμία μέθοδος πληρωμής." - }, - "addPaymentMethod": { - "message": "Προσθήκη Τρόπου Πληρωμής" - }, - "changePaymentMethod": { - "message": "Αλλαγή Τρόπου Πληρωμής" - }, - "invoices": { - "message": "Παραστατικά" - }, - "noInvoices": { - "message": "Δεν υπάρχουν παραστατικά." - }, - "paid": { - "message": "Πληρωμένα", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Απλήρωτο", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Συναλλαγές", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "Δεν υπάρχουν συναλλαγές." - }, - "chargeNoun": { - "message": "Χρέωση", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Επιστροφή", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Τυχόν χρεώσεις θα εμφανιστούν στη κατάσταση ως $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "GB αποθήκευσης για προσθήκη" - }, - "gbStorageRemove": { - "message": "GB αποθήκευσης για κατάργηση" - }, - "storageAddNote": { - "message": "Η προσθήκη χώρου αποθήκευσης θα έχει ως αποτέλεσμα προσαρμογές στα σύνολα χρέωσης και θα χρεώσει αμέσως τον τρόπο πληρωμής σας στο αρχείο. Η πρώτη χρέωση θα είναι αναλογική για το υπόλοιπο του τρέχοντος κύκλου χρέωσης." - }, - "storageRemoveNote": { - "message": "Η κατάργηση χώρου αποθήκευσης θα έχει ως αποτέλεσμα να γίνει προσαρμογή των στοιχείων χρέωσης σας, οι οποίες θα αναλογούν ως πίστωση στην επόμενη τιμολόγηση σας." - }, - "adjustedStorage": { - "message": "Προσαρμογή $AMOUNT$ GB αποθήκευσης.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Επικοινωνήστε με την Υποστήριξη πελατών" - }, - "updatedPaymentMethod": { - "message": "Ενημερωμένος τρόπος πληρωμής." - }, - "purchasePremium": { - "message": "Αγορά Premium έκδοσης" - }, - "licenseFile": { - "message": "Αρχείο Άδειας" - }, - "licenseFileDesc": { - "message": "Το όνομα αρχείου αδείας θα ονομάζεται κάτι σαν $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "Για να αναβαθμίσετε το λογαριασμό σας στην έκδοση premium, πρέπει να ανεβάσετε ένα έγκυρο αρχείο άδειας χρήσης." - }, - "uploadLicenseFileOrg": { - "message": "Για να δημιουργήσετε έναν οργανισμό που φιλοξενείται στο χώρο της εγκατάστασης, πρέπει να ανεβάσετε ένα έγκυρο αρχείο άδειας χρήσης." - }, - "accountEmailMustBeVerified": { - "message": "Η διεύθυνση email του λογαριασμού σας πρέπει να επαληθευτεί." - }, - "newOrganizationDesc": { - "message": "Οι οργανισμοί σας επιτρέπουν να μοιράζεστε τμήματα του vault σας με άλλους, καθώς και να διαχειρίζεστε σχετικούς χρήστες για μια συγκεκριμένη οντότητα, όπως οικογένεια, μικρή ομάδα ή μεγάλη εταιρεία." - }, - "generalInformation": { - "message": "Γενικές Πληροφορίες" - }, - "organizationName": { - "message": "Όνομα Οργανισμού" - }, - "accountOwnedBusiness": { - "message": "Αυτός ο λογαριασμός ανήκει σε μια επιχείρηση." - }, - "billingEmail": { - "message": "Email Χρέωσης" - }, - "businessName": { - "message": "Όνομα Επιχείρησης" - }, - "chooseYourPlan": { - "message": "Επιλέξτε το Πακέτο σας" - }, - "users": { - "message": "Χρήστες" - }, - "userSeats": { - "message": "Θέσεις Χρηστών" - }, - "additionalUserSeats": { - "message": "Επιπλέον Θέσεις Χρηστών" - }, - "userSeatsDesc": { - "message": "# θέσεις χρηστών" - }, - "userSeatsAdditionalDesc": { - "message": "Το πλάνο σας έρχεται με $BASE_SEATS$ θέσεις χρηστών. Μπορείτε να προσθέσετε επιπλέον χρήστες για $SEAT_PRICE$ ανά χρήστη /μήνα.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "Πόσες θέσεις χρηστών χρειάζεστε; Μπορείτε επίσης να προσθέσετε επιπλέον θέσεις αργότερα, αν χρειαστεί." - }, - "planNameFree": { - "message": "Δωρεάν", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "Για δοκιμή ή προσωπική χρήση μπορείτε να μοιραστείτε $COUNT$ με άλλο χρήστη.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Οικογένειες" - }, - "planDescFamilies": { - "message": "Για προσωπική χρήση, για να μοιραστείτε με την οικογένεια και τους φίλους σας." - }, - "planNameTeams": { - "message": "Ομάδες" - }, - "planDescTeams": { - "message": "Για επιχειρήσεις και οργανισμούς." - }, - "planNameEnterprise": { - "message": "Επιχείρηση" - }, - "planDescEnterprise": { - "message": "Για επιχειρήσεις και άλλους μεγάλους οργανισμούς." - }, - "freeForever": { - "message": "Δωρεάν Για Πάντα" - }, - "includesXUsers": { - "message": "περιλαμβάνει $COUNT$ χρήστες", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Επιπλέον Χρήστες" - }, - "costPerUser": { - "message": "$COST$ ανά χρήστη", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Περιορίζεται σε $COUNT$ χρήστες (συμπεριλαμβανομένου εσένα)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Περιορίζεται σε $COUNT$ συλλογές", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Προσθήκη και κοινή χρήση με έως και $COUNT$ χρήστες", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Προσθήκη και κοινή χρήση με απεριόριστους χρήστες" - }, - "createUnlimitedCollections": { - "message": "Δημιουργία απεριόριστων συλλογών" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ κρυπτογραφημένη αποθήκευση αρχείων", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "Υποδομή φιλοξενίας (προαιρετικό)" - }, - "usersGetPremium": { - "message": "Απόκτηση πρόσβασης χρηστών σε χαρακτηριστικά premium έκδοσης" - }, - "controlAccessWithGroups": { - "message": "Έλεγχος πρόσβασης χρηστών με ομάδες" - }, - "syncUsersFromDirectory": { - "message": "Συγχρονισμός χρηστών και ομάδων από έναν κατάλογο" - }, - "trackAuditLogs": { - "message": "Παρακολούθηση ενεργειών χρήστη με αρχεία καταγραφής ελέγχου" - }, - "enforce2faDuo": { - "message": "Επιβολή 2FA με Duo" - }, - "priorityCustomerSupport": { - "message": "Προτεραιότητα υποστήριξης πελατών" - }, - "xDayFreeTrial": { - "message": "$COUNT$ ημέρες δωρεάν δοκιμής, ακυρώστε ανά πάσα στιγμή", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Μηνιαία" - }, - "annually": { - "message": "Ετησίως" - }, - "basePrice": { - "message": "Βασική Τιμή" - }, - "organizationCreated": { - "message": "Ο οργανισμός δημιουργήθηκε" - }, - "organizationReadyToGo": { - "message": "Ο νέος σας οργανισμός είναι έτοιμος!" - }, - "organizationUpgraded": { - "message": "Ο οργανισμός σας έχει αναβαθμιστεί." - }, - "leave": { - "message": "Αποχώρηση" - }, - "leaveOrganizationConfirmation": { - "message": "Είστε βέβαιοι ότι θέλετε να φύγετε από αυτόν τον οργανισμό;" - }, - "leftOrganization": { - "message": "Έχετε φύγει από τον οργανισμό." - }, - "defaultCollection": { - "message": "Προεπιλεγμένη Συλλογή" - }, - "getHelp": { - "message": "Ζητήστε Βοήθεια" - }, - "getApps": { - "message": "Αποκτήστε τις Εφαρμογές" - }, - "loggedInAs": { - "message": "Συνδεδεμένος ως" - }, - "eventLogs": { - "message": "Αρχείο Καταγραφής" - }, - "people": { - "message": "Άτομα" - }, - "policies": { - "message": "Πολιτικές" - }, - "editPolicy": { - "message": "Επεξεργασία Πολιτικής" - }, - "groups": { - "message": "Ομάδες" - }, - "newGroup": { - "message": "Νέα ομάδα" - }, - "addGroup": { - "message": "Προσθήκη Ομάδας" - }, - "editGroup": { - "message": "Επεξεργασία Ομάδας" - }, - "deleteGroupConfirmation": { - "message": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτήν την ομάδα;" - }, - "removeUserConfirmation": { - "message": "Είστε βέβαιοι ότι θέλετε να αφαιρέσετε αυτό τον χρήστη;" - }, - "externalId": { - "message": "Εξωτερικό ID" - }, - "externalIdDesc": { - "message": "Το εξωτερικό αναγνωριστικό id μπορεί να χρησιμοποιηθεί ως αναφορά ή να συνδέσει αυτόν τον πόρο με ένα εξωτερικό σύστημα, όπως έναν κατάλογο χρηστών." - }, - "accessControl": { - "message": "Έλεγχος Πρόσβασης" - }, - "groupAccessAllItems": { - "message": "Αυτή η ομάδα μπορεί να έχει πρόσβαση και να τροποποιεί όλα τα στοιχεία." - }, - "groupAccessSelectedCollections": { - "message": "Αυτή η ομάδα μπορεί να έχει πρόσβαση μόνο στις επιλεγμένες συλλογές." - }, - "readOnly": { - "message": "Μόνο για ανάγνωση" - }, - "newCollection": { - "message": "Νέα Συλλογή" - }, - "addCollection": { - "message": "Προσθήκη συλλογής" - }, - "editCollection": { - "message": "Επεξεργασία συλλογής" - }, - "deleteCollectionConfirmation": { - "message": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτή τη συλλογή;" - }, - "editUser": { - "message": "Επεξεργασία Χρήστη" - }, - "inviteUser": { - "message": "Προσκαλέστε Χρήστη" - }, - "inviteUserDesc": { - "message": "Προσκαλέστε έναν νέο χρήστη στον οργανισμό σας εισάγοντας παρακάτω τη διεύθυνση email του λογαριασμού Bitwarden. Αν δεν έχουν ήδη λογαριασμό Bitwarden, θα τους ζητηθεί να δημιουργήσουν ένα νέο λογαριασμό." - }, - "inviteMultipleEmailDesc": { - "message": "Μπορείτε να προσκαλέσετε στη λίστα σας μέχρι $COUNT$ χρήστες κάθε φορά διαχωρίζοντας με κόμμα κάθε διεύθυνση email.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "Αυτός ο χρήστης χρησιμοποιεί τρόπο σύνδεσης δύο βημάτων για να προστατεύσει το λογαριασμό του." - }, - "userAccessAllItems": { - "message": "Αυτός ο χρήστης μπορεί να έχει πρόσβαση και να τροποποιεί όλα τα στοιχεία." - }, - "userAccessSelectedCollections": { - "message": "Αυτός ο χρήστης μπορεί να έχει πρόσβαση μόνο στις επιλεγμένες συλλογές." - }, - "search": { - "message": "Αναζήτηση" - }, - "invited": { - "message": "Προσκεκλημένος" - }, - "accepted": { - "message": "Αποδεκτή" - }, - "confirmed": { - "message": "Επιβεβαιωμένο" - }, - "owner": { - "message": "Ιδιοκτήτης" - }, - "ownerDesc": { - "message": "Χρήστης με υψηλό βαθμό πρόσβασης που μπορεί να διαχειριστεί όλες τις πτυχές του οργανισμού σας." - }, - "admin": { - "message": "Διαχειριστής" - }, - "adminDesc": { - "message": "Οι διαχειριστές μπορούν να έχουν πρόσβαση και να διαχειρίζονται όλα τα στοιχεία, τις συλλογές και τους χρήστες του οργανισμού σας." - }, - "user": { - "message": "Χρήστης" - }, - "userDesc": { - "message": "Ένας κανονικός χρήστης με πρόσβαση σε ανατεθείσες συλλογές στον οργανισμό σας." - }, - "manager": { - "message": "Διαχειριστης" - }, - "managerDesc": { - "message": "Οι διαχειριστές μπορούν να έχουν πρόσβαση και να διαχειρίζονται εκχωρημένες συλλογές στον οργανισμό σας." - }, - "all": { - "message": "Όλα" - }, - "refresh": { - "message": "Ανανέωση" - }, - "timestamp": { - "message": "Χρονική σήμανση" - }, - "event": { - "message": "Συμβάν" - }, - "unknown": { - "message": "Άγνωστο" - }, - "loadMore": { - "message": "Φόρτωση περισσότερων" - }, - "mobile": { - "message": "Κινητό", - "description": "Mobile app" - }, - "extension": { - "message": "Επέκταση", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Επιφάνειας Εργασίας", - "description": "Desktop app" - }, - "webVault": { - "message": "Web Vault" - }, - "loggedIn": { - "message": "Συνδεδεμένος." - }, - "changedPassword": { - "message": "Αλλαγή κωδικού λογαριασμού." - }, - "enabledUpdated2fa": { - "message": "Ενεργοποίηση/Ενημέρωση σύνδεσης δύο βημάτων." - }, - "disabled2fa": { - "message": "Απενεργοποίηση σύνδεσης δύο βημάτων." - }, - "recovered2fa": { - "message": "Ανάκτηση λογαριασμού από τη σύνδεση δύο βημάτων." - }, - "failedLogin": { - "message": "Η προσπάθεια σύνδεσης απέτυχε λόγω εσφαλμένου κωδικού πρόσβασης." - }, - "failedLogin2fa": { - "message": "Η προσπάθεια σύνδεσης απέτυχε λόγω λανθασμένης σύνδεσης δύο βημάτων." - }, - "exportedVault": { - "message": "Εξαγωγή Vault." - }, - "exportedOrganizationVault": { - "message": "Εξαγωγή λίστας οργανισμού." - }, - "editedOrgSettings": { - "message": "Επεξεργασία ρυθμίσεων οργανισμού." - }, - "createdItemId": { - "message": "Δημιουργία στοιχείου $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Επεξεργασμένο στοιχείο $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Διεγραμμένο στοιχείο $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Κοινοποιημένο στοιχείο $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Προβεβλημένο στοιχείο $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Προβεβλημένος κωδικός για το στοιχείο $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Προβεβλημένο κρυμμένο πεδίο για το στοιχείο $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Προβεβλημένος κωδικός ασφαλείας για το στοιχείο $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Αντιγραμμένος κωδικός για το στοιχείο $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Αντιγραμμένο κρυφό πεδίο για το στοιχείο $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Αντιγραμμένος κωδικός ασφαλείας για το στοιχείο $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Αυτόματη συμπλήρωση στοιχείου $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Δημιουργημένη συλλογή $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Επεξεργασμένη συλλογή $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Διεγραμμένη συλλογή $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Επεξεργασμένη πολιτική $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Δημιουργημένη ομάδα $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Επεξεργασμένη ομάδα $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Διεγραμμένη ομάδα $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Χρήστης που αφαιρέθηκε $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Συννημένο που δημιουργήθηκε για το στοιχείο $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Συννημένο που διαγράφηκε για το στοιχείο $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Επεξεργασμένες συλλογές για το στοιχείο $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Προσκεκλημένος χρήστης $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Επιβεβαιωμένος χρήστης $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Επεξεργασία χρήστη $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Επεξεργασμένες ομάδων από χρήστη $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Αποσυνδεδεμένο SSO για το χρήστη $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Συσκευή" - }, - "view": { - "message": "Προβολή" - }, - "invalidDateRange": { - "message": "Μη έγκυρο εύρος ημερομηνιών." - }, - "errorOccurred": { - "message": "Παρουσιάστηκε σφάλμα." - }, - "userAccess": { - "message": "Πρόσβαση Χρήστη" - }, - "userType": { - "message": "Τύπος Χρήστη" - }, - "groupAccess": { - "message": "Πρόσβασης Ομάδας" - }, - "groupAccessUserDesc": { - "message": "Επεξεργασία ομάδων στις οποίες ανήκει ο συγκεκριμένος χρήστης." - }, - "invitedUsers": { - "message": "Προσκεκλημένος χρήστης (ες)." - }, - "resendInvitation": { - "message": "Αποστολή Πρόσκλησης Ξανά" - }, - "hasBeenReinvited": { - "message": "$USER$ έχει ξανα-προσκληθεί.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Επιβεβαίωση" - }, - "confirmUser": { - "message": "Επιβεβαίωση Χρήστη" - }, - "hasBeenConfirmed": { - "message": "$USER$ έχει επιβεβαιωθεί.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Επιβεβαίωση Χρηστών" - }, - "usersNeedConfirmed": { - "message": "Έχετε χρήστες που έχουν αποδεχθεί την πρόσκληση τους, αλλά πρέπει να επιβεβαιωθούν. Οι χρήστες δεν θα έχουν πρόσβαση στον οργανισμό μέχρι να επιβεβαιωθούν." - }, - "startDate": { - "message": "Ημερομηνία Έναρξης" - }, - "endDate": { - "message": "Ημερομηνία Λήξης" - }, - "verifyEmail": { - "message": "Επιβεβαίωση Email" - }, - "verifyEmailDesc": { - "message": "Επαληθεύστε τη διεύθυνση email του λογαριασμού σας για να ξεκλειδώσετε την πρόσβαση σε όλες τις λειτουργίες." - }, - "verifyEmailFirst": { - "message": "Η διεύθυνση email του λογαριασμού σας, πρέπει πρώτα να επαληθευτεί." - }, - "checkInboxForVerification": { - "message": "Ελέγξτε τα εισερχόμενα στο email σας για έναν σύνδεσμο επαλήθευσης." - }, - "emailVerified": { - "message": "Το email σας έχει επαληθευτεί." - }, - "emailVerifiedFailed": { - "message": "Δεν είναι δυνατή η επαλήθευση του email σας. Δοκιμάστε να στείλετε νέο email επαλήθευσης." - }, - "updateBrowser": { - "message": "Ενημερώστε τον Browser" - }, - "updateBrowserDesc": { - "message": "Χρησιμοποιείτε ένα μη υποστηριζόμενο browser. Το web vault ενδέχεται να μην λειτουργεί σωστά." - }, - "joinOrganization": { - "message": "Εγγραφή στον οργανισμό" - }, - "joinOrganizationDesc": { - "message": "Έχετε προσκληθεί να συμμετάσχετε στον παραπάνω οργανισμό. Για να αποδεχτείτε την πρόσκληση, πρέπει να συνδεθείτε ή να δημιουργήσετε ένα νέο λογαριασμό Bitwarden." - }, - "inviteAccepted": { - "message": "Η Πρόσκληση έγινε αποδεκτή" - }, - "inviteAcceptedDesc": { - "message": "Μπορείτε να αποκτήσετε πρόσβαση σε αυτόν τον οργανισμό μόλις ο διαχειριστής σας επιβεβαιώσει την ιδιότητα μέλους. Θα σας στείλουμε ένα email όταν αυτό συμβεί." - }, - "inviteAcceptFailed": { - "message": "Δεν είναι δυνατή η αποδοχή πρόσκλησης. Ζητήστε από έναν διαχειριστή του οργανισμού να στείλει μια νέα πρόσκληση." - }, - "inviteAcceptFailedShort": { - "message": "Δεν είναι δυνατή η αποδοχή πρόσκλησης. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Απομνημόνευση email" - }, - "recoverAccountTwoStepDesc": { - "message": "Εάν δεν μπορείτε να αποκτήσετε πρόσβαση στο λογαριασμό σας μέσω των συνήθων μεθόδων σύνδεσης δύο βημάτων, μπορείτε να χρησιμοποιήσετε τον κωδικό ανάκτησης σύνδεσης δύο βημάτων για να απενεργοποιήσετε όλους τους παροχείς δύο βημάτων στο λογαριασμό σας." - }, - "recoverAccountTwoStep": { - "message": "Ανάκτηση Λογαριασμού Σύνδεσης Δύο Βημάτων" - }, - "twoStepRecoverDisabled": { - "message": "Η σύνδεση δύο βημάτων έχει απενεργοποιηθεί στο λογαριασμό σας." - }, - "learnMore": { - "message": "Μάθετε περισσότερα" - }, - "deleteRecoverDesc": { - "message": "Εισάγετε την παρακάτω διεύθυνση email για να ανακτήσετε και να διαγράψετε το λογαριασμό σας." - }, - "deleteRecoverEmailSent": { - "message": "Εάν ο λογαριασμός σας υπάρχει ήδη, θα δείτε να σας έχουμε στείλει ένα email με περεταίρω οδηγίες." - }, - "deleteRecoverConfirmDesc": { - "message": "Ζητήσατε να διαγράψετε το λογαριασμό Bitwarden. Κάντε κλικ στο παρακάτω κουμπί για επιβεβαίωση." - }, - "myOrganization": { - "message": "Ο οργανισμός μου" - }, - "deleteOrganization": { - "message": "Διαγραφή Οργανισμού" - }, - "deleteOrganizationDesc": { - "message": "Συνεχίστε παρακάτω για να διαγράψετε αυτόν τον οργανισμό και όλα τα σχετικά δεδομένα. Θα παραμείνουν μεμονωμένοι λογαριασμοί χρηστών, αν και δεν θα συσχετίζονται πλέον με αυτόν τον οργανισμό. " - }, - "deleteOrganizationWarning": { - "message": "Η διαγραφή του οργανισμού είναι μόνιμη. Δεν μπορεί να αναιρεθεί." - }, - "organizationDeleted": { - "message": "Ο Οργανισμός Διαγράφηκε" - }, - "organizationDeletedDesc": { - "message": "Ο οργανισμός και όλα τα συσχετιζόμενα δεδομένα έχουν διαγραφεί." - }, - "organizationUpdated": { - "message": "Ο οργανισμός ενημερώθηκε" - }, - "taxInformation": { - "message": "Φορολογικές πληροφορίες" - }, - "taxInformationDesc": { - "message": "Επικοινωνήστε με την υποστήριξη για να δώσετε (ή να ενημερώσετε) φορολογικά στοιχεία για τα παραστατικά σας." - }, - "billingPlan": { - "message": "Πακέτο", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Αλλαγή Πακέτου", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Αναβαθμίστε το λογαριασμό σας σε κάποιο άλλο πακέτο παρέχοντας τις παρακάτω πληροφορίες. Βεβαιωθείτε ότι έχετε προσθέσει έναν ενεργό τρόπο πληρωμής στο λογαριασμό.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Επικοινωνήστε με την υποστήριξη πελατών αν θέλετε να αλλάξετε το πακέτο σας. Βεβαιωθείτε ότι έχετε προσθέσει έναν ενεργό τρόπο πληρωμής στο λογαριασμό.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Παραστατικό #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "Προβολή Παραστατικού" - }, - "downloadInvoice": { - "message": "Λήψη Παραστατικού" - }, - "verifyBankAccount": { - "message": "Επαλήθευση Τραπεζικού Λογαριασμού" - }, - "verifyBankAccountDesc": { - "message": "Έχουμε κάνει δύο μικρο-καταθέσεις στον τραπεζικό σας λογαριασμό (μπορεί να χρειαστούν 1-2 εργάσιμες ημέρες για να εμφανιστούν). Καταχωρίστε αυτά τα ποσά για να επαληθεύσετε τον τραπεζικό λογαριασμό." - }, - "verifyBankAccountInitialDesc": { - "message": "Η πληρωμή με τραπεζικό λογαριασμό είναι διαθέσιμη μόνο σε πελάτες στις Ηνωμένες Πολιτείες. Θα σας ζητηθεί να επαληθεύσετε τον τραπεζικό σας λογαριασμό. Θα πραγματοποιήσουμε δύο μικρο-καταθέσεις εντός των επόμενων 1-2 εργάσιμων ημερών. Καταχωρίστε αυτά τα ποσά στη σελίδα χρέωσης του οργανισμού για να επαληθεύσετε τον τραπεζικό λογαριασμό." - }, - "verifyBankAccountFailureWarning": { - "message": "Η αδυναμία επαλήθευσης του τραπεζικού λογαριασμού θα έχει ως αποτέλεσμα τη μη πραγματοποίηση πληρωμής και την απενεργοποίηση της συνδρομής σας." - }, - "verifiedBankAccount": { - "message": "Ο Τραπεζικός Λογαριασμός έχει Επαληθευτεί." - }, - "bankAccount": { - "message": "Τραπεζικός Λογαριασμός" - }, - "amountX": { - "message": "Ποσό $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Αριθμός Δρομολόγησης", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Αριθμός Λογαριασμού" - }, - "accountHolderName": { - "message": "Όνομα Κατόχου Λογαριασμού" - }, - "bankAccountType": { - "message": "Είδος Λογαριασμού" - }, - "bankAccountTypeCompany": { - "message": "Εταιρεία (Επιχειρήσεις)" - }, - "bankAccountTypeIndividual": { - "message": "Ατομικό (Προσωπικό)" - }, - "enterInstallationId": { - "message": "Εισάγετε το αναγνωριστικό εγκατάστασης" - }, - "addSeats": { - "message": "Προσθήκη Θέσεων", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Αφαίρεση Θέσεων", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Η συνδρομή σας, επιτρέπει συνολικά $COUNT$ χρήστες.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Θέσεις για Προσθήκη" - }, - "seatsToRemove": { - "message": "Θέσεις για Κατάργηση" - }, - "seatsAddNote": { - "message": "Η προσθήκη θέσης χρηστών, θα έχει ως αποτέλεσμα προσαρμογές στα σύνολα χρέωσης και θα χρεώσει αμέσως τον τρόπο πληρωμής σας στο αρχείο. Η πρώτη χρέωση θα είναι αναλογική για το υπόλοιπο του τρέχοντος κύκλου χρέωσης." - }, - "seatsRemoveNote": { - "message": "Η κατάργηση της θέσης χρηστών θα έχει ως αποτέλεσμα προσαρμογές των λεπτομερειών χρέωσης σας, οι οποίες θα αναλογούν ως πίστωση στην επόμενη τιμολόγηση σας." - }, - "adjustedSeats": { - "message": "$AMOUNT$ Προσαρμοσμένες θέσεις χρηστών.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Το Κλειδί Ενημερώθηκε" - }, - "updateKeyTitle": { - "message": "Ενημέρωση Κλειδιού" - }, - "updateEncryptionKey": { - "message": "Ενημέρωση Κλειδιού Κρυπτογράφησης" - }, - "updateEncryptionKeyShortDesc": { - "message": "Αυτήν τη στιγμή χρησιμοποιείτε ένα ξεπερασμένο σύστημα κρυπτογράφησης." - }, - "updateEncryptionKeyDesc": { - "message": "Έχουμε μετακινηθεί σε μεγαλύτερα κλειδιά κρυπτογράφησης που παρέχουν καλύτερη ασφάλεια και πρόσβαση σε νεότερες λειτουργίες. Η ενημέρωση του κλειδιού κρυπτογράφησης είναι γρήγορη και εύκολη. Απλά πληκτρολογήστε τον κύριο κωδικό σας παρακάτω. Αυτή η ενημέρωση τελικά θα καταστεί υποχρεωτική." - }, - "updateEncryptionKeyWarning": { - "message": "Μετά την ενημέρωση του κλειδιού κρυπτογράφησης, πρέπει να αποσυνδεθείτε και να επιστρέψετε σε όλες τις εφαρμογές Bitwarden που χρησιμοποιείτε αυτήν τη στιγμή (όπως η εφαρμογή για κινητά ή οι επεκτάσεις του προγράμματος περιήγησης). Η αποτυχία αποσύνδεσης και επαναφοράς (στην οποία γίνεται λήψη του νέου κλειδιού κρυπτογράφησης) ενδέχεται να προκαλέσει καταστροφή δεδομένων. Θα προσπαθήσουμε να αποσυνδεθείτε αυτόματα, ωστόσο αυτό μπορεί να καθυστερήσει." - }, - "updateEncryptionKeyExportWarning": { - "message": "Οποιεσδήποτε κρυπτογραφημένες εξαγωγές που έχετε αποθηκεύσει θα είναι επίσης άκυρες." - }, - "subscription": { - "message": "Συνδρομή" - }, - "loading": { - "message": "Φόρτωση" - }, - "upgrade": { - "message": "Αναβάθμιση" - }, - "upgradeOrganization": { - "message": "Αναβάθμιση Οργανισμού" - }, - "upgradeOrganizationDesc": { - "message": "Αυτή η λειτουργία, δεν είναι διαθέσιμη στους δωρεάν οργανισμούς. Μεταβείτε σε ένα πακέτο επί πληρωμής για να ξεκλειδώσετε περισσότερες λειτουργίες." - }, - "createOrganizationStep1": { - "message": "Δημιουργία Οργανισμού: Βήμα 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Πριν δημιουργήσετε τον οργανισμό σας, πρέπει πρώτα να δημιουργήσετε έναν δωρεάν προσωπικό λογαριασμό." - }, - "refunded": { - "message": "Επιστράφηκαν" - }, - "nothingSelected": { - "message": "Δεν έχετε επιλέξει τίποτα." - }, - "acceptPolicies": { - "message": "Επιλέγοντας αυτό το πλαίσιο, συμφωνείτε με τα εξής:" - }, - "acceptPoliciesError": { - "message": "Οι Όροι Παροχής Υπηρεσιών και η Πολιτική Απορρήτου δεν έχουν αναγνωριστεί." - }, - "termsOfService": { - "message": "Όροι Χρήσης" - }, - "privacyPolicy": { - "message": "Πολιτική Απορρήτου" - }, - "filters": { - "message": "Φίλτρα" - }, - "vaultTimeout": { - "message": "Χρόνος Λήξης Vault" - }, - "vaultTimeoutDesc": { - "message": "Επιλέξτε πότε θα λήξει το vault και πραγματοποιήστε την επιλεγμένη ενέργεια." - }, - "oneMinute": { - "message": "1 λεπτό" - }, - "fiveMinutes": { - "message": "5 λεπτά" - }, - "fifteenMinutes": { - "message": "15 λεπτά" - }, - "thirtyMinutes": { - "message": "30 λεπτά" - }, - "oneHour": { - "message": "1 ώρα" - }, - "fourHours": { - "message": "4 ώρες" - }, - "onRefresh": { - "message": "Κατά την Ανανέωση του Browser" - }, - "dateUpdated": { - "message": "Ενημερώθηκε", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Ο Κωδικός Ενημερώθηκε", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "Ο οργανισμός είναι απενεργοποιημένος." - }, - "licenseIsExpired": { - "message": "Η άδεια χρήσης έληξε." - }, - "updatedUsers": { - "message": "Οι χρήστες ενημερώθηκαν" - }, - "selected": { - "message": "Επιλεγμένα" - }, - "ownership": { - "message": "Ιδιοκτησία" - }, - "whoOwnsThisItem": { - "message": "Ποιος κατέχει αυτό το στοιχείο;" - }, - "strong": { - "message": "Ισχυρό", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Καλός", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Αδύναμος", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Πολύ αδύναμος", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Αδύναμος Κύριος Κωδικός" - }, - "weakMasterPasswordDesc": { - "message": "Ο κύριος κωδικός που έχετε επιλέξει είναι αδύναμος. Θα πρέπει να χρησιμοποιήσετε έναν ισχυρό κύριο κωδικό (ή μια φράση) για την κατάλληλη προστασία του λογαριασμού Bitwarden. Είστε βέβαιοι ότι θέλετε να χρησιμοποιήσετε αυτόν τον κύριο κωδικό;" - }, - "rotateAccountEncKey": { - "message": "Επίσης, περιστροφή κλειδιού κρυπτογράφησης του λογαριασμού μου" - }, - "rotateEncKeyTitle": { - "message": "Περιστροφή κλειδιού κρυπτογράφησης" - }, - "rotateEncKeyConfirmation": { - "message": "Είστε βέβαιοι ότι θέλετε να γίνει περιστροφή του κλειδιού κρυπτογράφησης του λογαριασμού σας;" - }, - "attachmentsNeedFix": { - "message": "Αυτό το στοιχείο έχει παλιά συνημμένα αρχεία που πρέπει να διορθωθούν." - }, - "attachmentFixDesc": { - "message": "Αυτό είναι ένα παλιό συνημμένο αρχείο που πρέπει να διορθωθεί. Κάντε κλικ για να μάθετε περισσότερα." - }, - "fix": { - "message": "Επιδιόρθωση", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "Υπάρχουν στο παρελθόν παλιά συνημμένα αρχεία που πρέπει να διορθωθούν πριν την περιστροφή κλειδιού κρυπτογράφησης του λογαριασμού σας." - }, - "yourAccountsFingerprint": { - "message": "Φράση δακτυλικών αποτυπωμάτων λογαριασμού", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "Για να διασφαλίσετε την ακεραιότητα των κλειδιών κρυπτογράφησης, επιβεβαιώστε τη φράση των δακτυλικών αποτυπωμάτων χρήστη πριν συνεχίσετε.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Να μην ζητηθεί ξανά επαλήθευση φράσης δακτυλικών αποτυπωμάτων", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Δωρεάν", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "Kλειδί API" - }, - "apiKeyDesc": { - "message": "Το κλειδί API μπορεί να χρησιμοποιηθεί για τον έλεγχο ταυτότητας στο δημόσιο API Bitwarden." - }, - "apiKeyRotateDesc": { - "message": "Η περιστροφή του κλειδιού API θα ακυρώσει το προηγούμενο κλειδί. Μπορείτε να περιστρέψετε το κλειδί API αν πιστεύετε ότι το τρέχον κλειδί δεν είναι πλέον ασφαλές στη χρήση." - }, - "apiKeyWarning": { - "message": "Το κλειδί API έχει πλήρη πρόσβαση στον οργανισμό. Πρέπει να το κρατήσετε μυστικό." - }, - "userApiKeyDesc": { - "message": "Το κλειδί API σας μπορεί να χρησιμοποιηθεί για έλεγχο ταυτότητας στο Bitwarden CLI." - }, - "userApiKeyWarning": { - "message": "Το κλειδί API σας είναι ένας εναλλακτικός μηχανισμός ελέγχου ταυτότητας. Θα πρέπει να κρατηθεί μυστικό." - }, - "oauth2ClientCredentials": { - "message": "Πιστοποιητικά πελάτη OAuth 2.0", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "Προβολή κλειδιού API" - }, - "rotateApiKey": { - "message": "Περιστροφή κλειδιού API" - }, - "selectOneCollection": { - "message": "Πρέπει να επιλέξετε τουλάχιστον μία συλλογή." - }, - "couldNotChargeCardPayInvoice": { - "message": "Δεν ήταν δυνατή η χρέωση της κάρτας σας. Παρακαλούμε δείτε και πληρώστε το μη πληρωθέν παραστατικό που παρατίθεται παρακάτω." - }, - "inAppPurchase": { - "message": "Αγορές εντός εφαρμογής" - }, - "cannotPerformInAppPurchase": { - "message": "Δεν μπορείτε να εκτελέσετε αυτήν την ενέργεια κατά τη χρήση μεθόδου αγοράς και πληρωμής μέσω εφαρμογής." - }, - "manageSubscriptionFromStore": { - "message": "Πρέπει να διαχειριστείτε τη συνδρομή σας από το κατάστημα όπου έγινε η αγορά σας μέσω εφαρμογής." - }, - "minLength": { - "message": "Ελάχιστο Μήκος" - }, - "clone": { - "message": "Κλώνος" - }, - "masterPassPolicyDesc": { - "message": "Ορίστε ελάχιστες απαιτήσεις, για ισχύ του κύριου κωδικού." - }, - "twoStepLoginPolicyDesc": { - "message": "Να απαιτείτε από τους χρήστες να ορίσουν τη σύνδεση σε δύο βήματα στους προσωπικούς τους λογαριασμούς." - }, - "twoStepLoginPolicyWarning": { - "message": "Τα μέλη του οργανισμού που δεν έχουν ενεργοποιημένη τη σύνδεση σε δύο βήματα για τον προσωπικό τους λογαριασμό θα αφαιρεθούν από τον οργανισμό και θα λάβουν ένα μήνυμα ηλεκτρονικού ταχυδρομείου που θα τους ειδοποιεί για την αλλαγή." - }, - "twoStepLoginPolicyUserWarning": { - "message": "Είστε μέλος ενός οργανισμού που απαιτεί την ενεργοποίηση σύνδεσης σε δύο βήματα στον λογαριασμό σας. Εάν απενεργοποιήσετε όλους τους παροχείς σύνδεσης σε δύο βήματα, θα αφαιρεθείτε αυτόματα από αυτούς τους οργανισμούς." - }, - "passwordGeneratorPolicyDesc": { - "message": "Ελάχιστες απαιτήσεις διαμόρφωσης γεννήτριας κωδικών." - }, - "passwordGeneratorPolicyInEffect": { - "message": "Μία ή περισσότερες πολιτικές του οργανισμού επηρεάζουν τις ρυθμίσεις της γεννήτριας." - }, - "masterPasswordPolicyInEffect": { - "message": "Σε μία ή περισσότερες πολιτικές του οργανισμού απαιτείται ο κύριος κωδικός να πληρεί τις ακόλουθες απαιτήσεις:" - }, - "policyInEffectMinComplexity": { - "message": "Ελάχιστος βαθμός πολυπλοκότητας: $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Ελάχιστο μήκος: $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Να περιέχει έναν ή περισσότερους κεφαλαίους χαρακτήρες" - }, - "policyInEffectLowercase": { - "message": "Να περιέχει έναν ή περισσότερους πεζούς χαρακτήρες" - }, - "policyInEffectNumbers": { - "message": "Να περιέχει έναν ή περισσότερους αριθμούς" - }, - "policyInEffectSpecial": { - "message": "Να περιέχει έναν ή περισσότερους από τους ακόλουθους ειδικούς χαρακτήρες $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Ο νέος κύριος κωδικός δεν πληροί τις απαιτήσεις πολιτικής." - }, - "minimumNumberOfWords": { - "message": "Ελάχιστος Αριθμός Χαρακτήρων" - }, - "defaultType": { - "message": "Προεπιλεγμένος Τύπος" - }, - "userPreference": { - "message": "Προτιμήσεις Χρήστη" - }, - "vaultTimeoutAction": { - "message": "Ενέργεια Χρόνου Λήξης Vault" - }, - "vaultTimeoutActionLockDesc": { - "message": "Ένα κλειδωμένο vault απαιτεί να εισάγετε ξανά τον κύριο κωδικό για να αποκτήσετε ξανά πρόσβαση σε αυτόν." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "Ένα αποσυνδεδεμένο vault απαιτεί να κάνετε ξανά έλεγχο ταυτότητας για να αποκτήσετε πρόσβαση σε αυτό." - }, - "lock": { - "message": "Κλείδωμα", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Κάδος Απορριμάτων", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Αναζήτηση Κάδου" - }, - "permanentlyDelete": { - "message": "Μόνιμη Διαγραφή" - }, - "permanentlyDeleteSelected": { - "message": "Επιλέχτηκε Μόνιμη Διαγραφή" - }, - "permanentlyDeleteItem": { - "message": "Μόνιμη Διαγραφή Αντικειμένου" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Είστε βέβαιοι ότι θέλετε να διαγράψετε μόνιμα αυτό το στοιχείο;" - }, - "permanentlyDeletedItem": { - "message": "Μόνιμα Διεγραμμένο Στοιχείο" - }, - "permanentlyDeletedItems": { - "message": "Μόνιμα Διεγραμμένα Στοιχεία" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "Έχετε επιλέξει $COUNT$ στοιχείο(α) για μόνιμη διαγραφή. Είστε βέβαιοι ότι θέλετε να διαγράψετε για πάντα όλα αυτά τα στοιχεία;", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Μόνιμα Διεγραμμένο Στοιχείο $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Ανάκτηση" - }, - "restoreSelected": { - "message": "Επαναφορά Επιλεγμένων" - }, - "restoreItem": { - "message": "Ανάκτηση Στοιχείου" - }, - "restoredItem": { - "message": "Στοιχείο που έχει Ανακτηθεί" - }, - "restoredItems": { - "message": "Στοιχεία που έχουν Ανακτηθεί" - }, - "restoreItemConfirmation": { - "message": "Είστε βέβαιοι ότι θέλετε να ανακτήσετε αυτό το στοιχείο;" - }, - "restoreItems": { - "message": "Ανάκτηση Στοιχείων" - }, - "restoreSelectedItemsDesc": { - "message": "Έχετε επιλέξει $COUNT$ στοιχείο(α) για ανάκτηση. Είστε βέβαιοι ότι θέλετε να ανακτήσετε όλα αυτά τα στοιχεία;", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Στοιχείο που έχει ανακτηθεί $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Η αποσύνδεση θα καταργήσει όλη την πρόσβαση στο vault σας και απαιτεί online έλεγχο ταυτότητας μετά το χρονικό όριο λήξης. Είστε βέβαιοι ότι θέλετε να χρησιμοποιήσετε αυτήν τη ρύθμιση;" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Επιβεβαίωση Ενέργειας Χρονικού Ορίου" - }, - "hidePasswords": { - "message": "Απόκρυψη Κωδικών" - }, - "countryPostalCodeRequiredDesc": { - "message": "Χρειαζόμαστε αυτές τις πληροφορίες μόνο για τον υπολογισμό του φόρου επί των πωλήσεων και των οικονομικών αναφορών." - }, - "includeVAT": { - "message": "Συμπερίληψη πληροφοριών ΦΠΑ / GST (προαιρετικά)" - }, - "taxIdNumber": { - "message": "Αναγνωριστικό φόρου ΦΠΑ / GST" - }, - "taxInfoUpdated": { - "message": "Τα φορολογικά στοιχεία ενημερώθηκαν." - }, - "setMasterPassword": { - "message": "Ορισμός Κύριου Κωδικού" - }, - "ssoCompleteRegistration": { - "message": "Για να ολοκληρώσετε τη σύνδεση με SSO, ορίστε έναν κύριο κωδικό πρόσβασης για πρόσβαση και προστασία του vault σας." - }, - "identifier": { - "message": "Αναγνωριστικό" - }, - "organizationIdentifier": { - "message": "Αναγνωριστικό οργανισμού" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Συνδεθείτε χρησιμοποιώντας την πύλη μεμονωμένης σύνδεσης του οργανισμού σας. Εισάγετε το αναγνωριστικό του οργανισμού σας για να ξεκινήσετε." - }, - "enterpriseSingleSignOn": { - "message": "Ενιαία είσοδος για επιχειρήσεις" - }, - "ssoHandOff": { - "message": "Μπορείτε να κλείσετε αυτήν την καρτέλα τώρα και να συνεχίσετε στην επέκταση." - }, - "businessPortal": { - "message": "Επιχειρηματική πύλη", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "Όλα τα χαρακτηριστικά του Teams, συν:" - }, - "includeSsoAuthentication": { - "message": "Έλεγχος ταυτότητας SSO μέσω SAML2.0 και OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Επιχειρηματικές πολιτικές" - }, - "ssoValidationFailed": { - "message": "Η επικύρωση SSO απέτυχε" - }, - "ssoIdentifierRequired": { - "message": "Απαιτείται αναγνωριστικό οργανισμού." - }, - "unlinkSso": { - "message": "Αποσύνδεση SSO" - }, - "linkSso": { - "message": "Σύνδεσμος SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "Η διαμόρφωση πολιτικής μετακινήθηκε και σύντομα αυτή η σελίδα θα καταργηθεί. Κάντε κλικ παρακάτω για να χρησιμοποιήσετε τη σελίδα πολιτικών Business Portal." - }, - "singleOrg": { - "message": "Ενιαίος οργανισμός" - }, - "singleOrgDesc": { - "message": "Περιορίστε τους χρήστες να μην μπορούν να συμμετάσχουν σε άλλους οργανισμούς." - }, - "singleOrgBlockCreateMessage": { - "message": "Ο τρέχων οργανισμός σας έχει μια πολιτική που δεν σας επιτρέπει να συμμετάσχετε σε περισσότερους από έναν οργανισμούς. Επικοινωνήστε με τους διαχειριστές του οργανισμού σας ή εγγραφείτε από διαφορετικό λογαριασμό Bitwarden." - }, - "singleOrgPolicyWarning": { - "message": "Τα μέλη του οργανισμού που δεν είναι κάτοχοι ή διαχειριστές και είναι ήδη μέλη άλλου οργανισμού θα αφαιρεθούν από τον οργανισμό σας." - }, - "requireSso": { - "message": "Έλεγχος ταυτότητας μεμονωμένης σύνδεσης" - }, - "requireSsoPolicyDesc": { - "message": "Απαιτήστε από τους χρήστες να συνδεθούν με τη μέθοδο Enterprise Single Sign-On." - }, - "prerequisite": { - "message": "Προαπαιτούμενο" - }, - "requireSsoPolicyReq": { - "message": "Απαιτήστε από τους χρήστες να συνδεθούν με τη μέθοδο Enterprise Single Sign-On." - }, - "requireSsoPolicyReqError": { - "message": "Η πολιτική ενός οργανισμού δεν ενεργοποιήθηκε." - }, - "requireSsoExemption": { - "message": "Οι κάτοχοι και οι διαχειριστές του οργανισμού εξαιρούνται από την εφαρμογή αυτής της πολιτικής." - }, - "sendTypeFile": { - "message": "Αρχείο" - }, - "sendTypeText": { - "message": "Κείμενο" - }, - "createSend": { - "message": "Δημιουργία Νέου Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Επεξεργασία Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Το Send Δημιουργήθηκε", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Το Send Επεξεργάστηκε", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Το Send Διαγράφηκε", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Διαγραφή Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Είστε βέβαιοι ότι θέλετε να διαγράψετε το Send;", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "Τι είδους Send είναι αυτό;", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Ημερομηνία διαγραφής" - }, - "deletionDateDesc": { - "message": "Το Send θα διαγραφεί οριστικά την καθορισμένη ημερομηνία και ώρα.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Ημερομηνία Λήξης" - }, - "expirationDateDesc": { - "message": "Εάν οριστεί, η πρόσβαση σε αυτό το Send θα λήξει την καθορισμένη ημερομηνία και ώρα.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Μέγιστος Αριθμός Πρόσβασης" - }, - "maxAccessCountDesc": { - "message": "Εάν οριστεί, οι χρήστες δεν θα μπορούν πλέον να έχουν πρόσβαση σε αυτό το send μόλις επιτευχθεί ο μέγιστος αριθμός πρόσβασης.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Τρέχων Αριθμός Πρόσβασης" - }, - "sendPasswordDesc": { - "message": "Προαιρετικά απαιτείται κωδικός πρόσβασης για τους χρήστες για να έχουν πρόσβαση σε αυτό το Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Ιδιωτικές σημειώσεις σχετικά με αυτό το Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Απενεργοποιημένο" - }, - "sendLink": { - "message": "Αποστολή Συνδέσμου", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Αντιγραφή Συνδέσμου Αποστολής", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Αφαίρεση κωδικού" - }, - "removedPassword": { - "message": "Καταργήθηκε κωδικός πρόσβασης" - }, - "removePasswordConfirmation": { - "message": "Είστε βέβαιοι ότι θέλετε να καταργήσετε τον κωδικό πρόσβασης;" - }, - "disableThisSend": { - "message": "Απενεργοποιήστε αυτό το Send έτσι ώστε κανείς να μην μπορεί να έχει πρόσβαση σε αυτό.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "Όλα τα Sends" - }, - "maxAccessCountReached": { - "message": "Φτάσατε στον μέγιστο αριθμό πρόσβασης" - }, - "pendingDeletion": { - "message": "Εκκρεμεί διαγραφή" - }, - "expired": { - "message": "Έληξε" - }, - "searchSends": { - "message": "Αναζήτηση Sends", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "Αυτό το Send προστατεύεται με κωδικό πρόσβασης. Πληκτρολογήστε τον κωδικό πρόσβασης παρακάτω για να συνεχίσετε.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Δεν γνωρίζετε τον κωδικό; Ζητήστε από τον αποστολέα τον κωδικό που απαιτείται για την πρόσβαση σε αυτό το Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "Αυτό το send είναι κρυμμένο από προεπιλογή. Μπορείτε να αλλάξετε την ορατότητά του χρησιμοποιώντας το παρακάτω κουμπί.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Λήψη Αρχείου" - }, - "sendAccessUnavailable": { - "message": "Το Send που προσπαθείτε να αποκτήσετε πρόσβαση, δεν υπάρχει ή δεν είναι πλέον διαθέσιμο.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "Δεν υπάρχουν Sends στη λίστα.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Πρόσβαση Έκτακτης Ανάγκης" - }, - "emergencyAccessDesc": { - "message": "Εκχώρηση και διαχείριση πρόσβασης έκτακτης ανάγκης για αξιόπιστες επαφές. Οι επαφές εμπίστευσης μπορούν να ζητήσουν πρόσβαση είτε στην Προβολή είτε στην ανάληψη του λογαριασμού σας σε περίπτωση έκτακτης ανάγκης. Επισκεφθείτε τη σελίδα βοήθειας μας για περισσότερες πληροφορίες και λεπτομέρειες σχετικά με το πώς λειτουργεί o μηδενικός διαμοιρασμός πληροφοριών." - }, - "trustedEmergencyContacts": { - "message": "Έμπιστες επαφές έκτακτης ανάγκης" - }, - "noTrustedContacts": { - "message": "Δεν έχετε προσθέσει ακόμη επαφές έκτακτης ανάγκης, προσκαλέστε μια αξιόπιστη επαφή για να ξεκινήσετε." - }, - "addEmergencyContact": { - "message": "Προσθήκη επαφής έκτακτης ανάγκης" - }, - "designatedEmergencyContacts": { - "message": "Χαρακτηρίστηκε ως επαφή έκτακτης ανάγκης" - }, - "noGrantedAccess": { - "message": "Δεν έχετε ορίσει ως επαφή έκτακτης ανάγκης για κανέναν ακόμα." - }, - "inviteEmergencyContact": { - "message": "Πρόσκληση επαφής έκτακτης ανάγκης" - }, - "editEmergencyContact": { - "message": "Επεξεργασία επαφής έκτακτης ανάγκης" - }, - "inviteEmergencyContactDesc": { - "message": "Προσκαλέστε μια νέα επαφή έκτακτης ανάγκης, εισάγοντας την διεύθυνση email τους, του λογαριασμού Bitwarden, παρακάτω. Εάν δεν έχουν ήδη λογαριασμό Bitwarden, θα τους ζητηθεί να δημιουργήσουν ένα νέο λογαριασμό." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Έναρξη Πρόσβασης Έκτακτης Ανάγκης" - }, - "emergencyAccessRecoveryApproved": { - "message": "Εγκεκριμένη Πρόσβαση Έκτακτης Ανάγκης" - }, - "viewDesc": { - "message": "Μπορείτε να δείτε όλα τα στοιχεία, στο δικό σας vault." - }, - "takeover": { - "message": "Ανάληψη" - }, - "takeoverDesc": { - "message": "Μπορείτε να επαναφέρετε το λογαριασμό σας με ένα νέο κύριο κωδικό πρόσβασης." - }, - "waitTime": { - "message": "Χρόνος Αναμονής" - }, - "waitTimeDesc": { - "message": "Χρόνος που απαιτείται πριν από την αυτόματη χορήγηση πρόσβασης." - }, - "oneDay": { - "message": "1 ημέρα" - }, - "days": { - "message": "$DAYS$ ημέρες", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Προσκεκλημένος χρήστης." - }, - "acceptEmergencyAccess": { - "message": "Έχετε προσκληθεί να γίνετε μια επαφή έκτακτης ανάγκης για τον χρήστη που αναφέρεται παραπάνω. Για να αποδεχτείτε την πρόσκληση, πρέπει να συνδεθείτε ή να δημιουργήσετε ένα νέο λογαριασμό Bitwarden." - }, - "emergencyInviteAcceptFailed": { - "message": "Αδυναμία αποδοχής πρόσκλησης. Ζητήστε από τον χρήστη να στείλει μια νέα πρόσκληση." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Δεν είναι δυνατή η αποδοχή πρόσκλησης. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "Μπορείτε να αποκτήσετε πρόσβαση στις επιλογές έκτακτης ανάγκης για αυτόν τον χρήστη μετά την επιβεβαίωση της ταυτότητας σας. Θα σας στείλουμε ένα email όταν συμβεί αυτό." - }, - "requestAccess": { - "message": "Αίτηση Πρόσβασης" - }, - "requestAccessConfirmation": { - "message": "Είστε βέβαιοι ότι θέλετε να ζητήσετε πρόσβαση έκτακτης ανάγκης? Θα σας δοθεί η πρόσβαση μετά από $WAITTIME$ ημέρα(ες) ή όποτε ο χρήστης εγκρίνει χειροκίνητα το αίτημα.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Ζητήθηκε πρόσβαση έκτακτης ανάγκης για το $USER$. Θα σας ειδοποιήσουμε με email όταν είναι εφικτό να συνεχίσετε.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Έγκριση" - }, - "reject": { - "message": "Απόρριψη" - }, - "approveAccessConfirmation": { - "message": "Είστε βέβαιοι ότι θέλετε να εγκρίνετε την πρόσβαση έκτακτης ανάγκης? Αυτό θα επιτρέψει στο $USER$ να $ACTION$ το λογαριασμό σας.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Η πρόσβαση έκτακτης ανάγκης εγκρίθηκε." - }, - "emergencyRejected": { - "message": "Η πρόσβαση έκτακτης ανάγκης απορρίφθηκε" - }, - "passwordResetFor": { - "message": "Επαναφορά κωδικού πρόσβασης για το $USER$. Τώρα μπορείτε να συνδεθείτε χρησιμοποιώντας το νέο κωδικό πρόσβασης.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Προσωπική Ιδιοκτησία" - }, - "personalOwnershipPolicyDesc": { - "message": "Απαιτείται από τους χρήστες να αποθηκεύσουν στοιχεία vault σε έναν οργανισμό, αφαιρώντας την επιλογή προσωπικής ιδιοκτησίας." - }, - "personalOwnershipExemption": { - "message": "Οι κάτοχοι και οι διαχειριστές του οργανισμού εξαιρούνται από την εφαρμογή αυτής της πολιτικής." - }, - "personalOwnershipSubmitError": { - "message": "Λόγω μιας Πολιτικής Επιχειρήσεων, δεν επιτρέπεται η αποθήκευση στοιχείων στο προσωπικό σας vault. Αλλάξτε την επιλογή Ιδιοκτησίας σε έναν οργανισμό και επιλέξτε από τις διαθέσιμες Συλλογές." - }, - "modifiedPolicyId": { - "message": "Τροποποιημένη πολιτική $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Τιμή Πακέτου" - }, - "estimatedTax": { - "message": "Εκτιμώμενος φόρος" - }, - "custom": { - "message": "Προσαρμοσμένο" - }, - "customDesc": { - "message": "Επιτρέπει πιο κοκκώδη έλεγχο, των δικαιωμάτων χρήστη για προηγμένες ρυθμίσεις." - }, - "permissions": { - "message": "Άδειες" - }, - "accessBusinessPortal": { - "message": "Πρόσβαση Στην Επιχειρηματική Πύλη" - }, - "accessEventLogs": { - "message": "Αρχείο Καταγραφής Πρόσβασης" - }, - "accessImportExport": { - "message": "Πρόσβαση Εισαγωγή/Εξαγωγή" - }, - "accessReports": { - "message": "Αναφορές Πρόσβασης" - }, - "manageAllCollections": { - "message": "Διαχείριση Όλων Των Συλλογών" - }, - "manageAssignedCollections": { - "message": "Διαχείριση Αντιστοιχισμένων Συλλογών" - }, - "manageGroups": { - "message": "Διαχείριση Ομάδων" - }, - "managePolicies": { - "message": "Διαχείριση Πολιτικών" - }, - "manageSso": { - "message": "Διαχείριση SSO" - }, - "manageUsers": { - "message": "Διαχείριση Χρηστών" - }, - "disableRequireSsoError": { - "message": "Πρέπει να απενεργοποιήσετε χειροκίνητα την πολιτική ελέγχου ταυτότητας μιας σύνδεσης πριν αυτή η πολιτική μπορεί να απενεργοποιηθεί." - }, - "personalOwnershipPolicyInEffect": { - "message": "Μια πολιτική οργάνωσης επηρεάζει τις επιλογές ιδιοκτησίας σας." - }, - "personalOwnershipCheckboxDesc": { - "message": "Απενεργοποίηση προσωπικής ιδιοκτησίας για χρήστες οργανισμού" - }, - "textHiddenByDefault": { - "message": "Κατά την πρόσβαση στην αποστολή, απόκρυψη του κειμένου από προεπιλογή", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/en/messages.json b/locales/en/messages.json deleted file mode 100644 index 39736fdd..00000000 --- a/locales/en/messages.json +++ /dev/null @@ -1,3635 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$ Web Vault", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "What type of item is this?" - }, - "name": { - "message": "Name" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "New URI" - }, - "username": { - "message": "Username" - }, - "password": { - "message": "Password" - }, - "newPassword": { - "message": "New Password" - }, - "passphrase": { - "message": "Passphrase" - }, - "notes": { - "message": "Notes" - }, - "customFields": { - "message": "Custom Fields" - }, - "cardholderName": { - "message": "Cardholder Name" - }, - "number": { - "message": "Number" - }, - "brand": { - "message": "Brand" - }, - "expiration": { - "message": "Expiration" - }, - "securityCode": { - "message": "Security Code (CVV)" - }, - "identityName": { - "message": "Identity Name" - }, - "company": { - "message": "Company" - }, - "ssn": { - "message": "Social Security Number" - }, - "passportNumber": { - "message": "Passport Number" - }, - "licenseNumber": { - "message": "License Number" - }, - "email": { - "message": "Email" - }, - "phone": { - "message": "Phone" - }, - "january": { - "message": "January" - }, - "february": { - "message": "February" - }, - "march": { - "message": "March" - }, - "april": { - "message": "April" - }, - "may": { - "message": "May" - }, - "june": { - "message": "June" - }, - "july": { - "message": "July" - }, - "august": { - "message": "August" - }, - "september": { - "message": "September" - }, - "october": { - "message": "October" - }, - "november": { - "message": "November" - }, - "december": { - "message": "December" - }, - "title": { - "message": "Title" - }, - "mr": { - "message": "Mr" - }, - "mrs": { - "message": "Mrs" - }, - "ms": { - "message": "Ms" - }, - "dr": { - "message": "Dr" - }, - "expirationMonth": { - "message": "Expiration Month" - }, - "expirationYear": { - "message": "Expiration Year" - }, - "authenticatorKeyTotp": { - "message": "Authenticator Key (TOTP)" - }, - "folder": { - "message": "Folder" - }, - "newCustomField": { - "message": "New Custom Field" - }, - "value": { - "message": "Value" - }, - "dragToSort": { - "message": "Drag to sort" - }, - "cfTypeText": { - "message": "Text" - }, - "cfTypeHidden": { - "message": "Hidden" - }, - "cfTypeBoolean": { - "message": "Boolean" - }, - "remove": { - "message": "Remove" - }, - "unassigned": { - "message": "Unassigned" - }, - "noneFolder": { - "message": "No Folder", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Add Folder" - }, - "editFolder": { - "message": "Edit Folder" - }, - "baseDomain": { - "message": "Base domain" - }, - "host": { - "message": "Host", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Exact" - }, - "startsWith": { - "message": "Starts with" - }, - "regEx": { - "message": "Regular expression", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Match Detection", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Default match detection", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Never" - }, - "toggleVisibility": { - "message": "Toggle Visibility" - }, - "toggleCollapse": { - "message": "Toggle Collapse", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Generate Password" - }, - "checkPassword": { - "message": "Check if password has been exposed." - }, - "passwordExposed": { - "message": "This password has been exposed $VALUE$ time(s) in data breaches. You should change it.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "This password was not found in any known data breaches. It should be safe to use." - }, - "save": { - "message": "Save" - }, - "cancel": { - "message": "Cancel" - }, - "canceled": { - "message": "Canceled" - }, - "close": { - "message": "Close" - }, - "delete": { - "message": "Delete" - }, - "favorite": { - "message": "Favorite" - }, - "unfavorite": { - "message": "Unfavorite" - }, - "edit": { - "message": "Edit" - }, - "searchCollection": { - "message": "Search Collection" - }, - "searchFolder": { - "message": "Search Folder" - }, - "searchFavorites": { - "message": "Search Favorites" - }, - "searchType": { - "message": "Search Type", - "description": "Search item type" - }, - "searchVault": { - "message": "Search Vault" - }, - "allItems": { - "message": "All Items" - }, - "favorites": { - "message": "Favorites" - }, - "types": { - "message": "Types" - }, - "typeLogin": { - "message": "Login" - }, - "typeCard": { - "message": "Card" - }, - "typeIdentity": { - "message": "Identity" - }, - "typeSecureNote": { - "message": "Secure Note" - }, - "folders": { - "message": "Folders" - }, - "collections": { - "message": "Collections" - }, - "firstName": { - "message": "First Name" - }, - "middleName": { - "message": "Middle Name" - }, - "lastName": { - "message": "Last Name" - }, - "address1": { - "message": "Address 1" - }, - "address2": { - "message": "Address 2" - }, - "address3": { - "message": "Address 3" - }, - "cityTown": { - "message": "City / Town" - }, - "stateProvince": { - "message": "State / Province" - }, - "zipPostalCode": { - "message": "Zip / Postal Code" - }, - "country": { - "message": "Country" - }, - "shared": { - "message": "Shared" - }, - "attachments": { - "message": "Attachments" - }, - "select": { - "message": "Select" - }, - "addItem": { - "message": "Add Item" - }, - "editItem": { - "message": "Edit Item" - }, - "viewItem": { - "message": "View Item" - }, - "ex": { - "message": "ex.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Other" - }, - "share": { - "message": "Share" - }, - "valueCopied": { - "message": "$VALUE$ copied", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Copy Value", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Copy Password", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Copy Username", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Copy Number", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Copy Security Code", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Copy URI", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "My Vault" - }, - "vault": { - "message": "Vault" - }, - "shareSelected": { - "message": "Share Selected" - }, - "deleteSelected": { - "message": "Delete Selected" - }, - "moveSelected": { - "message": "Move Selected" - }, - "selectAll": { - "message": "Select All" - }, - "unselectAll": { - "message": "Unselect All" - }, - "launch": { - "message": "Launch" - }, - "newAttachment": { - "message": "Add New Attachment" - }, - "deletedAttachment": { - "message": "Deleted attachment" - }, - "deleteAttachmentConfirmation": { - "message": "Are you sure you want to delete this attachment?" - }, - "attachmentSaved": { - "message": "The attachment has been saved." - }, - "file": { - "message": "File" - }, - "selectFile": { - "message": "Select a file." - }, - "maxFileSize": { - "message": "Maximum file size is 100 MB." - }, - "updateKey": { - "message": "You cannot use this feature until you update your encryption key." - }, - "addedItem": { - "message": "Added item" - }, - "editedItem": { - "message": "Edited item" - }, - "sharedItem": { - "message": "Shared item" - }, - "sharedItems": { - "message": "Shared items" - }, - "deleteItem": { - "message": "Delete Item" - }, - "deleteFolder": { - "message": "Delete Folder" - }, - "deleteAttachment": { - "message": "Delete Attachment" - }, - "deleteItemConfirmation": { - "message": "Do you really want to send to the trash?" - }, - "deletedItem": { - "message": "Item sent to trash" - }, - "deletedItems": { - "message": "Items sent to trash" - }, - "movedItems": { - "message": "Moved items" - }, - "overwritePasswordConfirmation": { - "message": "Are you sure you want to overwrite the current password?" - }, - "editedFolder": { - "message": "Edited folder" - }, - "addedFolder": { - "message": "Added folder" - }, - "deleteFolderConfirmation": { - "message": "Are you sure you want to delete this folder?" - }, - "deletedFolder": { - "message": "Deleted folder" - }, - "loggedOut": { - "message": "Logged out" - }, - "loginExpired": { - "message": "Your login session has expired." - }, - "logOutConfirmation": { - "message": "Are you sure you want to log out?" - }, - "logOut": { - "message": "Log Out" - }, - "ok": { - "message": "Ok" - }, - "yes": { - "message": "Yes" - }, - "no": { - "message": "No" - }, - "loginOrCreateNewAccount": { - "message": "Log in or create a new account to access your secure vault." - }, - "createAccount": { - "message": "Create Account" - }, - "logIn": { - "message": "Log In" - }, - "submit": { - "message": "Submit" - }, - "emailAddressDesc": { - "message": "You'll use your email address to log in." - }, - "yourName": { - "message": "Your Name" - }, - "yourNameDesc": { - "message": "What should we call you?" - }, - "masterPass": { - "message": "Master Password" - }, - "masterPassDesc": { - "message": "The master password is the password you use to access your vault. It is very important that you do not forget your master password. There is no way to recover the password in the event that you forget it." - }, - "masterPassHintDesc": { - "message": "A master password hint can help you remember your password if you forget it." - }, - "reTypeMasterPass": { - "message": "Re-type Master Password" - }, - "masterPassHint": { - "message": "Master Password Hint (optional)" - }, - "masterPassHintLabel": { - "message": "Master Password Hint" - }, - "settings": { - "message": "Settings" - }, - "passwordHint": { - "message": "Password Hint" - }, - "enterEmailToGetHint": { - "message": "Enter your account email address to receive your master password hint." - }, - "getMasterPasswordHint": { - "message": "Get master password hint" - }, - "emailRequired": { - "message": "Email address is required." - }, - "invalidEmail": { - "message": "Invalid email address." - }, - "masterPassRequired": { - "message": "Master password is required." - }, - "masterPassLength": { - "message": "Master password must be at least 8 characters long." - }, - "masterPassDoesntMatch": { - "message": "Master password confirmation does not match." - }, - "newAccountCreated": { - "message": "Your new account has been created! You may now log in." - }, - "masterPassSent": { - "message": "We've sent you an email with your master password hint." - }, - "unexpectedError": { - "message": "An unexpected error has occurred." - }, - "emailAddress": { - "message": "Email Address" - }, - "yourVaultIsLocked": { - "message": "Your vault is locked. Verify your master password to continue." - }, - "unlock": { - "message": "Unlock" - }, - "loggedInAsEmailOn": { - "message": "Logged in as $EMAIL$ on $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Invalid master password" - }, - "lockNow": { - "message": "Lock Now" - }, - "noItemsInList": { - "message": "There are no items to list." - }, - "noCollectionsInList": { - "message": "There are no collections to list." - }, - "noGroupsInList": { - "message": "There are no groups to list." - }, - "noUsersInList": { - "message": "There are no users to list." - }, - "noEventsInList": { - "message": "There are no events to list." - }, - "newOrganization": { - "message": "New Organization" - }, - "noOrganizationsList": { - "message": "You do not belong to any organizations. Organizations allow you to securely share items with other users." - }, - "versionNumber": { - "message": "Version $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Enter the 6 digit verification code from your authenticator app." - }, - "enterVerificationCodeEmail": { - "message": "Enter the 6 digit verification code that was emailed to $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "Verification email sent to $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Remember me" - }, - "sendVerificationCodeEmailAgain": { - "message": "Send verification code email again" - }, - "useAnotherTwoStepMethod": { - "message": "Use another two-step login method" - }, - "insertYubiKey": { - "message": "Insert your YubiKey into your computer's USB port, then touch its button." - }, - "insertU2f": { - "message": "Insert your security key into your computer's USB port. If it has a button, touch it." - }, - "loginUnavailable": { - "message": "Login Unavailable" - }, - "noTwoStepProviders": { - "message": "This account has two-step login enabled, however, none of the configured two-step providers are supported by this web browser." - }, - "noTwoStepProviders2": { - "message": "Please use a supported web browser (such as Chrome) and/or add additional providers that are better supported across web browsers (such as an authenticator app)." - }, - "twoStepOptions": { - "message": "Two-step Login Options" - }, - "recoveryCodeDesc": { - "message": "Lost access to all of your two-factor providers? Use your recovery code to disable all two-factor providers from your account." - }, - "recoveryCodeTitle": { - "message": "Recovery Code" - }, - "authenticatorAppTitle": { - "message": "Authenticator App" - }, - "authenticatorAppDesc": { - "message": "Use an authenticator app (such as Authy or Google Authenticator) to generate time-based verification codes.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "YubiKey OTP Security Key" - }, - "yubiKeyDesc": { - "message": "Use a YubiKey to access your account. Works with YubiKey 4 series, 5 series, and NEO devices." - }, - "duoDesc": { - "message": "Verify with Duo Security using the Duo Mobile app, SMS, phone call, or U2F security key.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Verify with Duo Security for your organization using the Duo Mobile app, SMS, phone call, or U2F security key.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Use any FIDO U2F enabled security key to access your account." - }, - "u2fTitle": { - "message": "FIDO U2F Security Key" - }, - "emailTitle": { - "message": "Email" - }, - "emailDesc": { - "message": "Verification codes will be emailed to you." - }, - "continue": { - "message": "Continue" - }, - "organization": { - "message": "Organization" - }, - "organizations": { - "message": "Organizations" - }, - "shareDesc": { - "message": "Choose an organization that you wish to share this item with. Sharing transfers ownership of the item to the organization. You will no longer be the direct owner of this item once it has been shared." - }, - "shareManyDesc": { - "message": "Choose an organization that you wish to share these items with. Sharing transfers ownership of the items to the organization. You will no longer be the direct owner of these items once they have been shared." - }, - "collectionsDesc": { - "message": "Edit the collections that this item is being shared with. Only organization users with access to these collections will be able to see this item." - }, - "deleteSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to delete. Are you sure you want to delete all of these items?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Choose a folder that you would like to move the $COUNT$ selected item(s) to.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "You have selected $COUNT$ item(s). $SHAREABLE_COUNT$ items are sharable, $NONSHAREABLE_COUNT$ are not.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Verification Code (TOTP)" - }, - "copyVerificationCode": { - "message": "Copy Verification Code" - }, - "warning": { - "message": "Warning" - }, - "confirmVaultExport": { - "message": "Confirm Vault Export" - }, - "exportWarningDesc": { - "message": "This export contains your vault data in an unencrypted format. You should not store or send the exported file over unsecure channels (such as email). Delete it immediately after you are done using it." - }, - "encExportWarningDesc": { - "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." - }, - "exportMasterPassword": { - "message": "Enter your master password to export your vault data." - }, - "exportVault": { - "message": "Export Vault" - }, - "fileFormat": { - "message": "File Format" - }, - "exportSuccess": { - "message": "Your vault data has been exported." - }, - "passwordGenerator": { - "message": "Password Generator" - }, - "minComplexityScore": { - "message": "Minimum Complexity Score" - }, - "minNumbers": { - "message": "Minimum Numbers" - }, - "minSpecial": { - "message": "Minimum Special", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Avoid Ambiguous Characters" - }, - "regeneratePassword": { - "message": "Regenerate Password" - }, - "length": { - "message": "Length" - }, - "numWords": { - "message": "Number of Words" - }, - "wordSeparator": { - "message": "Word Separator" - }, - "capitalize": { - "message": "Capitalize", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Include Number" - }, - "passwordHistory": { - "message": "Password History" - }, - "noPasswordsInList": { - "message": "There are no passwords to list." - }, - "clear": { - "message": "Clear", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Account Updated" - }, - "changeEmail": { - "message": "Change Email" - }, - "newEmail": { - "message": "New Email" - }, - "code": { - "message": "Code" - }, - "changeEmailDesc": { - "message": "We have emailed a verification code to $EMAIL$. Please check your email for this code and enter it below to finalize the email address change.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour." - }, - "emailChanged": { - "message": "Email Changed" - }, - "logBackIn": { - "message": "Please log back in." - }, - "logBackInOthersToo": { - "message": "Please log back in. If you are using other Bitwarden applications log out and back in to those as well." - }, - "changeMasterPassword": { - "message": "Change Master Password" - }, - "masterPasswordChanged": { - "message": "Master Password Changed" - }, - "currentMasterPass": { - "message": "Current Master Password" - }, - "newMasterPass": { - "message": "New Master Password" - }, - "confirmNewMasterPass": { - "message": "Confirm New Master Password" - }, - "encKeySettings": { - "message": "Encryption Key Settings" - }, - "kdfAlgorithm": { - "message": "KDF Algorithm" - }, - "kdfIterations": { - "message": "KDF Iterations" - }, - "kdfIterationsDesc": { - "message": "Higher KDF iterations can help protect your master password from being brute forced by an attacker. We recommend a value of $VALUE$ or more.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Setting your KDF iterations too high could result in poor performance when logging into (and unlocking) Bitwarden on devices with slower CPUs. We recommend that you increase the value in increments of $INCREMENT$ and then test all of your devices.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Change KDF" - }, - "encKeySettingsChanged": { - "message": "Encryption Key Settings Changed" - }, - "dangerZone": { - "message": "Danger Zone" - }, - "dangerZoneDesc": { - "message": "Careful, these actions are not reversible!" - }, - "deauthorizeSessions": { - "message": "Deauthorize Sessions" - }, - "deauthorizeSessionsDesc": { - "message": "Concerned your account is logged in on another device? Proceed below to deauthorize all computers or devices that you have previously used. This security step is recommended if you previously used a public computer or accidentally saved your password on a device that isn't yours. This step will also clear all previously remembered two-step login sessions." - }, - "deauthorizeSessionsWarning": { - "message": "Proceeding will also log you out of your current session, requiring you to log back in. You will also be prompted for two-step login again, if enabled. Active sessions on other devices may continue to remain active for up to one hour." - }, - "sessionsDeauthorized": { - "message": "All Sessions Deauthorized" - }, - "purgeVault": { - "message": "Purge Vault" - }, - "purgedOrganizationVault": { - "message": "Purged organization vault." - }, - "purgeVaultDesc": { - "message": "Proceed below to delete all items and folders in your vault. Items that belong to an organization that you share with will not be deleted." - }, - "purgeOrgVaultDesc": { - "message": "Proceed below to delete all items in the organization's vault." - }, - "purgeVaultWarning": { - "message": "Purging your vault is permanent. It cannot be undone." - }, - "vaultPurged": { - "message": "Your vault has been purged." - }, - "deleteAccount": { - "message": "Delete Account" - }, - "deleteAccountDesc": { - "message": "Proceed below to delete your account and all associated data." - }, - "deleteAccountWarning": { - "message": "Deleting your account is permanent. It cannot be undone." - }, - "accountDeleted": { - "message": "Account Deleted" - }, - "accountDeletedDesc": { - "message": "Your account has been closed and all associated data has been deleted." - }, - "myAccount": { - "message": "My Account" - }, - "tools": { - "message": "Tools" - }, - "importData": { - "message": "Import Data" - }, - "importSuccess": { - "message": "Data has been successfully imported into your vault." - }, - "importFormatError": { - "message": "Data is not formatted correctly. Please check your import file and try again." - }, - "importNothingError": { - "message": "Nothing was imported." - }, - "selectFormat": { - "message": "Select the format of the import file" - }, - "selectImportFile": { - "message": "Select the import file" - }, - "orCopyPasteFileContents": { - "message": "or copy/paste the import file contents" - }, - "instructionsFor": { - "message": "$NAME$ Instructions", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Options" - }, - "optionsDesc": { - "message": "Customize your web vault experience." - }, - "optionsUpdated": { - "message": "Options updated" - }, - "language": { - "message": "Language" - }, - "languageDesc": { - "message": "Change the language used by the web vault." - }, - "disableIcons": { - "message": "Disable Website Icons" - }, - "disableIconsDesc": { - "message": "Website Icons provide a recognizable image next to each login item in your vault." - }, - "enableGravatars": { - "message": "Enable Gravatars", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Use avatar images loaded from gravatar.com." - }, - "enableFullWidth": { - "message": "Enable Full Width Layout", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Allow the web vault to expand the full width of the browser window." - }, - "default": { - "message": "Default" - }, - "domainRules": { - "message": "Domain Rules" - }, - "domainRulesDesc": { - "message": "If you have the same login across multiple different website domains, you can mark the website as \"equivalent\". \"Global\" domains are ones already created for you by Bitwarden." - }, - "globalEqDomains": { - "message": "Global Equivalent Domains" - }, - "customEqDomains": { - "message": "Custom Equivalent Domains" - }, - "exclude": { - "message": "Exclude" - }, - "include": { - "message": "Include" - }, - "customize": { - "message": "Customize" - }, - "newCustomDomain": { - "message": "New Custom Domain" - }, - "newCustomDomainDesc": { - "message": "Enter a list of domains separated by commas. Only \"base\" domains are allowed. Do not enter subdomains. For example, enter \"google.com\" instead of \"www.google.com\". You can also enter \"androidapp://package.name\" to associate an android app with other website domains." - }, - "customDomainX": { - "message": "Custom Domain $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Domains updated" - }, - "twoStepLogin": { - "message": "Two-step Login" - }, - "twoStepLoginDesc": { - "message": "Secure your account by requiring an additional step when logging in." - }, - "twoStepLoginOrganizationDesc": { - "message": "Require two-step login for your organization's users by configuring providers at the organization level." - }, - "twoStepLoginRecoveryWarning": { - "message": "Enabling two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (ex. you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." - }, - "viewRecoveryCode": { - "message": "View Recovery Code" - }, - "providers": { - "message": "Providers", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Enable" - }, - "enabled": { - "message": "Enabled" - }, - "premium": { - "message": "Premium", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Premium Membership" - }, - "premiumRequired": { - "message": "Premium Required" - }, - "premiumRequiredDesc": { - "message": "A premium membership is required to use this feature." - }, - "youHavePremiumAccess": { - "message": "You have premium access" - }, - "alreadyPremiumFromOrg": { - "message": "You already have access to premium features because of an organization you are a member of." - }, - "manage": { - "message": "Manage" - }, - "disable": { - "message": "Disable" - }, - "twoStepLoginProviderEnabled": { - "message": "This two-step login provider is enabled on your account." - }, - "twoStepLoginAuthDesc": { - "message": "Enter your master password to modify two-step login settings." - }, - "twoStepAuthenticatorDesc": { - "message": "Follow these steps to set up two-step login with an authenticator app:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Download a two-step authenticator app" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Need a two-step authenticator app? Download one of the following" - }, - "iosDevices": { - "message": "iOS devices" - }, - "androidDevices": { - "message": "Android devices" - }, - "windowsDevices": { - "message": "Windows devices" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "These apps are recommended, however, other authenticator apps will also work." - }, - "twoStepAuthenticatorScanCode": { - "message": "Scan this QR code with your authenticator app" - }, - "key": { - "message": "Key" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Enter the resulting 6 digit verification code from the app" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "In case you need to add it to another device, below is the QR code (or key) required by your authenticator app." - }, - "twoStepDisableDesc": { - "message": "Are you sure you want to disable this two-step login provider?" - }, - "twoStepDisabled": { - "message": "Two-step login provider disabled." - }, - "twoFactorYubikeyAdd": { - "message": "Add a new YubiKey to your account" - }, - "twoFactorYubikeyPlugIn": { - "message": "Plug the YubiKey into your computer's USB port." - }, - "twoFactorYubikeySelectKey": { - "message": "Select the first empty YubiKey input field below." - }, - "twoFactorYubikeyTouchButton": { - "message": "Touch the YubiKey's button." - }, - "twoFactorYubikeySaveForm": { - "message": "Save the form." - }, - "twoFactorYubikeyWarning": { - "message": "Due to platform limitations, YubiKeys cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when YubiKeys cannot be used. Supported platforms:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Web vault, desktop application, CLI, and all browser extensions on a device with a USB port that can accept your YubiKey." - }, - "twoFactorYubikeySupportMobile": { - "message": "Mobile apps on a device with NFC capabilities or a data port that can accept your YubiKey." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "U2F Key $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "NFC Support" - }, - "twoFactorYubikeySupportsNfc": { - "message": "One of my keys supports NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "If one of your YubiKeys supports NFC (such as a YubiKey NEO), you will be prompted on mobile devices whenever NFC availability is detected." - }, - "yubikeysUpdated": { - "message": "YubiKeys updated" - }, - "disableAllKeys": { - "message": "Disable All Keys" - }, - "twoFactorDuoDesc": { - "message": "Enter the Bitwarden application information from your Duo Admin panel." - }, - "twoFactorDuoIntegrationKey": { - "message": "Integration Key" - }, - "twoFactorDuoSecretKey": { - "message": "Secret Key" - }, - "twoFactorDuoApiHostname": { - "message": "API Hostname" - }, - "twoFactorEmailDesc": { - "message": "Follow these steps to set up two-step login with email:" - }, - "twoFactorEmailEnterEmail": { - "message": "Enter the email that you wish to receive verification codes" - }, - "twoFactorEmailEnterCode": { - "message": "Enter the resulting 6 digit verification code from the email" - }, - "sendEmail": { - "message": "Send Email" - }, - "twoFactorU2fAdd": { - "message": "Add a FIDO U2F security key to your account" - }, - "removeU2fConfirmation": { - "message": "Are you sure you want to remove this security key?" - }, - "readKey": { - "message": "Read Key" - }, - "keyCompromised": { - "message": "Key is compromised." - }, - "twoFactorU2fGiveName": { - "message": "Give the security key a friendly name to identify it." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Plug the security key into your computer's USB port and click the \"Read Key\" button." - }, - "twoFactorU2fTouchButton": { - "message": "If the security key has a button, touch it." - }, - "twoFactorU2fSaveForm": { - "message": "Save the form." - }, - "twoFactorU2fWarning": { - "message": "Due to platform limitations, FIDO U2F cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when FIDO U2F cannot be used. Supported platforms:" - }, - "twoFactorU2fSupportWeb": { - "message": "Web vault and browser extensions on a desktop/laptop with a U2F enabled browser (Chrome, Opera, Vivaldi, or Firefox with FIDO U2F enabled)." - }, - "twoFactorU2fWaiting": { - "message": "Waiting for you to touch the button on your security key" - }, - "twoFactorU2fClickSave": { - "message": "Click the \"Save\" button below to enable this security key for two-step login." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "There was a problem reading the security key. Try again." - }, - "twoFactorRecoveryYourCode": { - "message": "Your Bitwarden two-step login recovery code" - }, - "twoFactorRecoveryNoCode": { - "message": "You have not enabled any two-step login providers yet. After you have enabled a two-step login provider you can check back here for your recovery code." - }, - "printCode": { - "message": "Print Code", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Reports" - }, - "unsecuredWebsitesReport": { - "message": "Unsecured Websites Report" - }, - "unsecuredWebsitesReportDesc": { - "message": "Using unsecured websites with the http:// scheme can be dangerous. If the website allows, you should always access it using the https:// scheme so that your connection is encrypted." - }, - "unsecuredWebsitesFound": { - "message": "Unsecured Websites Found" - }, - "unsecuredWebsitesFoundDesc": { - "message": "We found $COUNT$ items in your vault with unsecured URIs. You should change their URI scheme to https:// if the website allows it.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "No items in your vault have unsecured URIs." - }, - "inactive2faReport": { - "message": "Inactive 2FA Report" - }, - "inactive2faReportDesc": { - "message": "Two-factor authentication (2FA) is an important security setting that helps secure your accounts. If the website offers it, you should always enable two-factor authentication." - }, - "inactive2faFound": { - "message": "Logins Without 2FA Found" - }, - "inactive2faFoundDesc": { - "message": "We found $COUNT$ website(s) in your vault that may not be configured with two-factor authentication (according to 2fa.directory). To further protect these accounts, you should enable two-factor authentication.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "No websites were found in your vault with a missing two-factor authentication configuration." - }, - "instructions": { - "message": "Instructions" - }, - "exposedPasswordsReport": { - "message": "Exposed Passwords Report" - }, - "exposedPasswordsReportDesc": { - "message": "Exposed passwords are passwords that have been uncovered in known data breaches that were released publicly or sold on the dark web by hackers." - }, - "exposedPasswordsFound": { - "message": "Exposed Passwords Found" - }, - "exposedPasswordsFoundDesc": { - "message": "We found $COUNT$ items in your vault that have passwords that were exposed in known data breaches. You should change them to use a new password.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "No items in your vault have passwords that have been exposed in known data breaches." - }, - "checkExposedPasswords": { - "message": "Check Exposed Passwords" - }, - "exposedXTimes": { - "message": "Exposed $COUNT$ time(s)", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Weak Passwords Report" - }, - "weakPasswordsReportDesc": { - "message": "Weak passwords can easily be guessed by hackers and automated tools that are used to crack passwords. The Bitwarden password generator can help you create strong passwords." - }, - "weakPasswordsFound": { - "message": "Weak Passwords Found" - }, - "weakPasswordsFoundDesc": { - "message": "We found $COUNT$ items in your vault with passwords that are not strong. You should update them to use stronger passwords.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "No items in your vault have weak passwords." - }, - "reusedPasswordsReport": { - "message": "Reused Passwords Report" - }, - "reusedPasswordsReportDesc": { - "message": "If a service that you use is compromised, reusing the same password elsewhere can allow hackers to easily gain access to more of your online accounts. You should use a unique password for every account or service." - }, - "reusedPasswordsFound": { - "message": "Reused Passwords Found" - }, - "reusedPasswordsFoundDesc": { - "message": "We found $COUNT$ passwords that are being reused in your vault. You should change them to a unique value.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "No logins in your vault have passwords that are being reused." - }, - "reusedXTimes": { - "message": "Reused $COUNT$ times", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Data Breach Report" - }, - "breachDesc": { - "message": "A \"breach\" is an incident where a site's data has been illegally accessed by hackers and then released publicly. Review the types of data that were compromised (email addresses, passwords, credit cards etc.) and take appropriate action, such as changing passwords." - }, - "breachCheckUsernameEmail": { - "message": "Check any usernames or email addresses that you use." - }, - "checkBreaches": { - "message": "Check Breaches" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ was not found in any known data breaches.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Good News", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ was found in $COUNT$ different data breaches online.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Breached Accounts Found" - }, - "compromisedData": { - "message": "Compromised data" - }, - "website": { - "message": "Website" - }, - "affectedUsers": { - "message": "Affected Users" - }, - "breachOccurred": { - "message": "Breach Occurred" - }, - "breachReported": { - "message": "Breach Reported" - }, - "reportError": { - "message": "An error occurred trying to load the report. Try again" - }, - "billing": { - "message": "Billing" - }, - "accountCredit": { - "message": "Account Credit", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Account Balance", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Add Credit", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Amount", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Added credit will appear on your account after the payment has been fully processed. Some payment methods are delayed and can take longer to process than others." - }, - "makeSureEnoughCredit": { - "message": "Please make sure that your account has enough credit available for this purchase. If your account does not have enough credit available, your default payment method on file will be used for the difference. You can add credit to your account from the Billing page." - }, - "creditAppliedDesc": { - "message": "Your account's credit can be used to make purchases. Any available credit will be automatically applied towards invoices generated for this account." - }, - "goPremium": { - "message": "Go Premium", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "You've upgraded to premium." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Upgrade your account to a premium membership and unlock some great additional features." - }, - "premiumSignUpStorage": { - "message": "1 GB encrypted storage for file attachments." - }, - "premiumSignUpTwoStep": { - "message": "Additional two-step login options such as YubiKey, FIDO U2F, and Duo." - }, - "premiumSignUpReports": { - "message": "Password hygiene, account health, and data breach reports to keep your vault safe." - }, - "premiumSignUpTotp": { - "message": "TOTP verification code (2FA) generator for logins in your vault." - }, - "premiumSignUpSupport": { - "message": "Priority customer support." - }, - "premiumSignUpFuture": { - "message": "All future premium features. More coming soon!" - }, - "premiumPrice": { - "message": "All for just $PRICE$ /year!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Addons" - }, - "premiumAccess": { - "message": "Premium Access" - }, - "premiumAccessDesc": { - "message": "You can add premium access to all members of your organization for $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Additional Storage (GB)" - }, - "additionalStorageGbDesc": { - "message": "# of additional GB" - }, - "additionalStorageIntervalDesc": { - "message": "Your plan comes with $SIZE$ of encrypted file storage. You can add additional storage for $PRICE$ per GB /$INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Summary" - }, - "total": { - "message": "Total" - }, - "year": { - "message": "year" - }, - "month": { - "message": "month" - }, - "monthAbbr": { - "message": "mo.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Your payment method will be charged immediately and then on a recurring basis each year. You may cancel at any time." - }, - "paymentCharged": { - "message": "Your payment method will be charged immediately and then on a recurring basis each $INTERVAL$. You may cancel at any time.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Your plan comes with a free 7 day trial. Your payment method will not be charged until the trial has ended. Billing will occur on a recurring basis each $INTERVAL$. You may cancel at any time.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Payment Information" - }, - "billingInformation": { - "message": "Billing Information" - }, - "creditCard": { - "message": "Credit Card" - }, - "paypalClickSubmit": { - "message": "Click the PayPal button to log into your PayPal account, then click the Submit button below to continue." - }, - "cancelSubscription": { - "message": "Cancel Subscription" - }, - "subscriptionCanceled": { - "message": "The subscription has been canceled." - }, - "pendingCancellation": { - "message": "Pending Cancellation" - }, - "subscriptionPendingCanceled": { - "message": "The subscription has been marked for cancellation at the end of the current billing period." - }, - "reinstateSubscription": { - "message": "Reinstate Subscription" - }, - "reinstateConfirmation": { - "message": "Are you sure you want to remove the pending cancellation request and reinstate your subscription?" - }, - "reinstated": { - "message": "The subscription has been reinstated." - }, - "cancelConfirmation": { - "message": "Are you sure you want to cancel? You will lose access to all of this subscription's features at the end of this billing cycle." - }, - "canceledSubscription": { - "message": "The subscription has been canceled." - }, - "neverExpires": { - "message": "Never Expires" - }, - "status": { - "message": "Status" - }, - "nextCharge": { - "message": "Next Charge" - }, - "details": { - "message": "Details" - }, - "downloadLicense": { - "message": "Download License" - }, - "updateLicense": { - "message": "Update License" - }, - "updatedLicense": { - "message": "Updated license" - }, - "manageSubscription": { - "message": "Manage Subscription" - }, - "storage": { - "message": "Storage" - }, - "addStorage": { - "message": "Add Storage" - }, - "removeStorage": { - "message": "Remove Storage" - }, - "subscriptionStorage": { - "message": "Your subscription has a total of $MAX_STORAGE$ GB of encrypted file storage. You are currently using $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Payment Method" - }, - "noPaymentMethod": { - "message": "No payment method on file." - }, - "addPaymentMethod": { - "message": "Add Payment Method" - }, - "changePaymentMethod": { - "message": "Change Payment Method" - }, - "invoices": { - "message": "Invoices" - }, - "noInvoices": { - "message": "No invoices." - }, - "paid": { - "message": "Paid", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Unpaid", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Transactions", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "No transactions." - }, - "chargeNoun": { - "message": "Charge", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Refund", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Any charges will appear on your statement as $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "GB of Storage To Add" - }, - "gbStorageRemove": { - "message": "GB of Storage To Remove" - }, - "storageAddNote": { - "message": "Adding storage will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." - }, - "storageRemoveNote": { - "message": "Removing storage will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." - }, - "adjustedStorage": { - "message": "Adjusted $AMOUNT$ GB of storage.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Contact Customer Support" - }, - "updatedPaymentMethod": { - "message": "Updated payment method." - }, - "purchasePremium": { - "message": "Purchase Premium" - }, - "licenseFile": { - "message": "License File" - }, - "licenseFileDesc": { - "message": "Your license file will be named something like $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "To upgrade your account to a premium membership you need to upload a valid license file." - }, - "uploadLicenseFileOrg": { - "message": "To create an on-premises hosted organization you need to upload a valid license file." - }, - "accountEmailMustBeVerified": { - "message": "Your account's email address must be verified." - }, - "newOrganizationDesc": { - "message": "Organizations allow you to share parts of your vault with others as well as manage related users for a specific entity such as a family, small team, or large company." - }, - "generalInformation": { - "message": "General Information" - }, - "organizationName": { - "message": "Organization Name" - }, - "accountOwnedBusiness": { - "message": "This account is owned by a business." - }, - "billingEmail": { - "message": "Billing Email" - }, - "businessName": { - "message": "Business Name" - }, - "chooseYourPlan": { - "message": "Choose Your Plan" - }, - "users": { - "message": "Users" - }, - "userSeats": { - "message": "User Seats" - }, - "additionalUserSeats": { - "message": "Additional User Seats" - }, - "userSeatsDesc": { - "message": "# of user seats" - }, - "userSeatsAdditionalDesc": { - "message": "Your plan comes with $BASE_SEATS$ user seats. You can add additional users for $SEAT_PRICE$ per user /month.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "How many user seats do you need? You can also add additional seats later if needed." - }, - "planNameFree": { - "message": "Free", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "For testing or personal users to share with $COUNT$ other user.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Families" - }, - "planDescFamilies": { - "message": "For personal use, to share with family & friends." - }, - "planNameTeams": { - "message": "Teams" - }, - "planDescTeams": { - "message": "For businesses and other team organizations." - }, - "planNameEnterprise": { - "message": "Enterprise" - }, - "planDescEnterprise": { - "message": "For businesses and other large organizations." - }, - "freeForever": { - "message": "Free Forever" - }, - "includesXUsers": { - "message": "includes $COUNT$ users", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Additional Users" - }, - "costPerUser": { - "message": "$COST$ per user", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Limited to $COUNT$ users (including you)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Limited to $COUNT$ collections", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Add and share with up to $COUNT$ users", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Add and share with unlimited users" - }, - "createUnlimitedCollections": { - "message": "Create unlimited Collections" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ encrypted file storage", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "On-premise hosting (optional)" - }, - "usersGetPremium": { - "message": "Users get access to Premium Features" - }, - "controlAccessWithGroups": { - "message": "Control user access with Groups" - }, - "syncUsersFromDirectory": { - "message": "Sync your users and Groups from a directory" - }, - "trackAuditLogs": { - "message": "Track user actions with audit logs" - }, - "enforce2faDuo": { - "message": "Enforce 2FA with Duo" - }, - "priorityCustomerSupport": { - "message": "Priority customer support" - }, - "xDayFreeTrial": { - "message": "$COUNT$ day free trial, cancel anytime", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Monthly" - }, - "annually": { - "message": "Annually" - }, - "basePrice": { - "message": "Base Price" - }, - "organizationCreated": { - "message": "Organization Created" - }, - "organizationReadyToGo": { - "message": "Your new organization is ready to go!" - }, - "organizationUpgraded": { - "message": "Your organization has been upgraded." - }, - "leave": { - "message": "Leave" - }, - "leaveOrganizationConfirmation": { - "message": "Are you sure you want to leave this organization?" - }, - "leftOrganization": { - "message": "You have left the organization." - }, - "defaultCollection": { - "message": "Default Collection" - }, - "getHelp": { - "message": "Get Help" - }, - "getApps": { - "message": "Get the Apps" - }, - "loggedInAs": { - "message": "Logged in as" - }, - "eventLogs": { - "message": "Event Logs" - }, - "people": { - "message": "People" - }, - "policies": { - "message": "Policies" - }, - "editPolicy": { - "message": "Edit Policy" - }, - "groups": { - "message": "Groups" - }, - "newGroup": { - "message": "New Group" - }, - "addGroup": { - "message": "Add Group" - }, - "editGroup": { - "message": "Edit Group" - }, - "deleteGroupConfirmation": { - "message": "Are you sure you want to delete this group?" - }, - "removeUserConfirmation": { - "message": "Are you sure you want to remove this user?" - }, - "externalId": { - "message": "External Id" - }, - "externalIdDesc": { - "message": "The external id can be used as a reference or to link this resource to an external system such as a user directory." - }, - "accessControl": { - "message": "Access Control" - }, - "groupAccessAllItems": { - "message": "This group can access and modify all items." - }, - "groupAccessSelectedCollections": { - "message": "This group can access only the selected collections." - }, - "readOnly": { - "message": "Read Only" - }, - "newCollection": { - "message": "New Collection" - }, - "addCollection": { - "message": "Add Collection" - }, - "editCollection": { - "message": "Edit Collection" - }, - "deleteCollectionConfirmation": { - "message": "Are you sure you want to delete this collection?" - }, - "editUser": { - "message": "Edit User" - }, - "inviteUser": { - "message": "Invite User" - }, - "inviteUserDesc": { - "message": "Invite a new user to your organization by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "inviteMultipleEmailDesc": { - "message": "You can invite up to $COUNT$ users at a time by comma separating a list of email addresses.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "This user is using two-step login to protect their account." - }, - "userAccessAllItems": { - "message": "This user can access and modify all items." - }, - "userAccessSelectedCollections": { - "message": "This user can access only the selected collections." - }, - "search": { - "message": "Search" - }, - "invited": { - "message": "Invited" - }, - "accepted": { - "message": "Accepted" - }, - "confirmed": { - "message": "Confirmed" - }, - "owner": { - "message": "Owner" - }, - "ownerDesc": { - "message": "The highest access user that can manage all aspects of your organization." - }, - "admin": { - "message": "Admin" - }, - "adminDesc": { - "message": "Admins can access and manage all items, collections and users in your organization." - }, - "user": { - "message": "User" - }, - "userDesc": { - "message": "A regular user with access to assigned collections in your organization." - }, - "manager": { - "message": "Manager" - }, - "managerDesc": { - "message": "Managers can access and manage assigned collections in your organization." - }, - "all": { - "message": "All" - }, - "refresh": { - "message": "Refresh" - }, - "timestamp": { - "message": "Timestamp" - }, - "event": { - "message": "Event" - }, - "unknown": { - "message": "Unknown" - }, - "loadMore": { - "message": "Load More" - }, - "mobile": { - "message": "Mobile", - "description": "Mobile app" - }, - "extension": { - "message": "Extension", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Desktop", - "description": "Desktop app" - }, - "webVault": { - "message": "Web Vault" - }, - "loggedIn": { - "message": "Logged in." - }, - "changedPassword": { - "message": "Changed account password." - }, - "enabledUpdated2fa": { - "message": "Enabled/updated two-step login." - }, - "disabled2fa": { - "message": "Disabled two-step login." - }, - "recovered2fa": { - "message": "Recovered account from two-step login." - }, - "failedLogin": { - "message": "Login attempt failed with incorrect password." - }, - "failedLogin2fa": { - "message": "Login attempt failed with incorrect two-step login." - }, - "exportedVault": { - "message": "Exported vault." - }, - "exportedOrganizationVault": { - "message": "Exported organization vault." - }, - "editedOrgSettings": { - "message": "Edited organization settings." - }, - "createdItemId": { - "message": "Created item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Edited item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Sent item $ID$ to trash.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Shared item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Viewed item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Viewed password for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Viewed hidden field for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Viewed security code for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Copied password for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Copied hidden field for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Copied security code for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Auto-filled item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Created collection $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Edited collection $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Deleted collection $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Edited policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Created group $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Edited group $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Deleted group $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Removed user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Created attachment for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Deleted attachment for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Edited collections for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Invited user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Confirmed user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Edited user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Edited groups for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Device" - }, - "view": { - "message": "View" - }, - "invalidDateRange": { - "message": "Invalid date range." - }, - "errorOccurred": { - "message": "An error has occurred." - }, - "userAccess": { - "message": "User Access" - }, - "userType": { - "message": "User Type" - }, - "groupAccess": { - "message": "Group Access" - }, - "groupAccessUserDesc": { - "message": "Edit the groups that this user belongs to." - }, - "invitedUsers": { - "message": "Invited user(s)." - }, - "resendInvitation": { - "message": "Resend Invitation" - }, - "hasBeenReinvited": { - "message": "$USER$ has been reinvited.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Confirm" - }, - "confirmUser": { - "message": "Confirm User" - }, - "hasBeenConfirmed": { - "message": "$USER$ has been confirmed.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Confirm Users" - }, - "usersNeedConfirmed": { - "message": "You have users that have accepted their invitation, but still need to be confirmed. Users will not have access to the organization until they are confirmed." - }, - "startDate": { - "message": "Start Date" - }, - "endDate": { - "message": "End Date" - }, - "verifyEmail": { - "message": "Verify Email" - }, - "verifyEmailDesc": { - "message": "Verify your account's email address to unlock access to all features." - }, - "verifyEmailFirst": { - "message": "Your account's email address first must be verified." - }, - "checkInboxForVerification": { - "message": "Check your email inbox for a verification link." - }, - "emailVerified": { - "message": "Your email has been verified." - }, - "emailVerifiedFailed": { - "message": "Unable to verify your email. Try sending a new verification email." - }, - "updateBrowser": { - "message": "Update Browser" - }, - "updateBrowserDesc": { - "message": "You are using an unsupported web browser. The web vault may not function properly." - }, - "joinOrganization": { - "message": "Join Organization" - }, - "joinOrganizationDesc": { - "message": "You've been invited to join the organization listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "inviteAccepted": { - "message": "Invitation Accepted" - }, - "inviteAcceptedDesc": { - "message": "You can access this organization once an administrator confirms your membership. We'll send you an email when that happens." - }, - "inviteAcceptFailed": { - "message": "Unable to accept invitation. Ask an organization admin to send a new invitation." - }, - "inviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Remember email" - }, - "recoverAccountTwoStepDesc": { - "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to disable all two-step providers on your account." - }, - "recoverAccountTwoStep": { - "message": "Recover Account Two-Step Login" - }, - "twoStepRecoverDisabled": { - "message": "Two-step login has been disabled on your account." - }, - "learnMore": { - "message": "Learn more" - }, - "deleteRecoverDesc": { - "message": "Enter your email address below to recover and delete your account." - }, - "deleteRecoverEmailSent": { - "message": "If your account exists, we've sent you an email with further instructions." - }, - "deleteRecoverConfirmDesc": { - "message": "You have requested to delete your Bitwarden account. Click the button below to confirm." - }, - "myOrganization": { - "message": "My Organization" - }, - "deleteOrganization": { - "message": "Delete Organization" - }, - "deleteOrganizationDesc": { - "message": "Proceed below to delete this organization and all associated data. Individual user accounts will remain, though they will not be associated to this organization anymore. " - }, - "deleteOrganizationWarning": { - "message": "Deleting the organization is permanent. It cannot be undone." - }, - "organizationDeleted": { - "message": "Organization Deleted" - }, - "organizationDeletedDesc": { - "message": "The organization and all associated data has been deleted." - }, - "organizationUpdated": { - "message": "Organization updated" - }, - "taxInformation": { - "message": "Tax Information" - }, - "taxInformationDesc": { - "message": "For customers within the US, ZIP code is required to satisfy sales tax requirements, for other countries you may optionally provide a tax identification number (VAT/GST) and/or address to appear on your invoices." - }, - "billingPlan": { - "message": "Plan", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Change Plan", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Upgrade your account to another plan by providing the information below. Please ensure that you have an active payment method added to the account.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Contact customer support if you would like to change your plan. Please ensure that you have an active payment method added to the account.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Invoice #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "View Invoice" - }, - "downloadInvoice": { - "message": "Download Invoice" - }, - "verifyBankAccount": { - "message": "Verify Bank Account" - }, - "verifyBankAccountDesc": { - "message": "We have made two micro-deposits to your bank account (it may take 1-2 business days to show up). Enter these amounts to verify the bank account." - }, - "verifyBankAccountInitialDesc": { - "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make two micro-deposits within the next 1-2 business days. Enter these amounts on the organization's billing page to verify the bank account." - }, - "verifyBankAccountFailureWarning": { - "message": "Failure to verify the bank account will result in a missed payment and your subscription being disabled." - }, - "verifiedBankAccount": { - "message": "Bank account has been verified." - }, - "bankAccount": { - "message": "Bank Account" - }, - "amountX": { - "message": "Amount $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Routing Number", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Account Number" - }, - "accountHolderName": { - "message": "Account Holder Name" - }, - "bankAccountType": { - "message": "Account Type" - }, - "bankAccountTypeCompany": { - "message": "Company (Business)" - }, - "bankAccountTypeIndividual": { - "message": "Individual (Personal)" - }, - "enterInstallationId": { - "message": "Enter your installation id" - }, - "addSeats": { - "message": "Add Seats", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Remove Seats", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Your subscription allows for a total of $COUNT$ users.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Seats To Add" - }, - "seatsToRemove": { - "message": "Seats To Remove" - }, - "seatsAddNote": { - "message": "Adding user seats will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." - }, - "seatsRemoveNote": { - "message": "Removing user seats will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." - }, - "adjustedSeats": { - "message": "Adjusted $AMOUNT$ user seats.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Key Updated" - }, - "updateKeyTitle": { - "message": "Update Key" - }, - "updateEncryptionKey": { - "message": "Update Encryption Key" - }, - "updateEncryptionKeyShortDesc": { - "message": "You are currently using an outdated encryption scheme." - }, - "updateEncryptionKeyDesc": { - "message": "We've moved to larger encryption keys that provide better security and access to newer features. Updating your encryption key is quick and easy. Just type your master password below. This update will eventually become mandatory." - }, - "updateEncryptionKeyWarning": { - "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." - }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." - }, - "subscription": { - "message": "Subscription" - }, - "loading": { - "message": "Loading" - }, - "upgrade": { - "message": "Upgrade" - }, - "upgradeOrganization": { - "message": "Upgrade Organization" - }, - "upgradeOrganizationDesc": { - "message": "This feature is not available for free organizations. Switch to a paid plan to unlock more features." - }, - "createOrganizationStep1": { - "message": "Create Organization: Step 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Before creating your organization, you first need to create a free personal account." - }, - "refunded": { - "message": "Refunded" - }, - "nothingSelected": { - "message": "You have not selected anything." - }, - "acceptPolicies": { - "message": "By checking this box you agree to the following:" - }, - "acceptPoliciesError": { - "message": "Terms of Service and Privacy Policy have not been acknowledged." - }, - "termsOfService": { - "message": "Terms of Service" - }, - "privacyPolicy": { - "message": "Privacy Policy" - }, - "filters": { - "message": "Filters" - }, - "vaultTimeout": { - "message": "Vault Timeout" - }, - "vaultTimeoutDesc": { - "message": "Choose when your vault will timeout and perform the selected action." - }, - "oneMinute": { - "message": "1 minute" - }, - "fiveMinutes": { - "message": "5 minutes" - }, - "fifteenMinutes": { - "message": "15 minutes" - }, - "thirtyMinutes": { - "message": "30 minutes" - }, - "oneHour": { - "message": "1 hour" - }, - "fourHours": { - "message": "4 hours" - }, - "onRefresh": { - "message": "On Browser Refresh" - }, - "dateUpdated": { - "message": "Updated", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Password Updated", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "Organization is disabled." - }, - "licenseIsExpired": { - "message": "License is expired." - }, - "updatedUsers": { - "message": "Updated users" - }, - "selected": { - "message": "Selected" - }, - "ownership": { - "message": "Ownership" - }, - "whoOwnsThisItem": { - "message": "Who owns this item?" - }, - "strong": { - "message": "Strong", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Good", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Weak", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Very Weak", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Weak Master Password" - }, - "weakMasterPasswordDesc": { - "message": "The master password you have chosen is weak. You should use a strong master password (or a passphrase) to properly protect your Bitwarden account. Are you sure you want to use this master password?" - }, - "rotateAccountEncKey": { - "message": "Also rotate my account's encryption key" - }, - "rotateEncKeyTitle": { - "message": "Rotate Encryption Key" - }, - "rotateEncKeyConfirmation": { - "message": "Are you sure you want to rotate your account's encryption key?" - }, - "attachmentsNeedFix": { - "message": "This item has old file attachments that need to be fixed." - }, - "attachmentFixDesc": { - "message": "This is an old file attachment the needs to be fixed. Click to learn more." - }, - "fix": { - "message": "Fix", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "There are old file attachments in your vault that need to be fixed before you can rotate your account's encryption key." - }, - "yourAccountsFingerprint": { - "message": "Your account's fingerprint phrase", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "To ensure the integrity of your encryption keys, please verify the user's fingerprint phrase before continuing.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Don't ask to verify fingerprint phrase again", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Free", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "API Key" - }, - "apiKeyDesc": { - "message": "Your API key can be used to authenticate to the Bitwarden public API." - }, - "apiKeyRotateDesc": { - "message": "Rotating the API key will invalidate the previous key. You can rotate your API key if you believe that the current key is no longer safe to use." - }, - "apiKeyWarning": { - "message": "Your API key has full access to the organization. It should be kept secret." - }, - "userApiKeyDesc": { - "message": "Your API key can be used to authenticate in the Bitwarden CLI." - }, - "userApiKeyWarning": { - "message": "Your API key is an alternative authentication mechanism. It should be kept secret." - }, - "oauth2ClientCredentials": { - "message": "OAuth 2.0 Client Credentials", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "View API Key" - }, - "rotateApiKey": { - "message": "Rotate API Key" - }, - "selectOneCollection": { - "message": "You must select at least one collection." - }, - "couldNotChargeCardPayInvoice": { - "message": "We were not able to charge your card. Please view and pay the unpaid invoice listed below." - }, - "inAppPurchase": { - "message": "In-app Purchase" - }, - "cannotPerformInAppPurchase": { - "message": "You cannot perform this action while using an in-app purchase payment method." - }, - "manageSubscriptionFromStore": { - "message": "You must manage your subscription from the store where your in-app purchase was made." - }, - "minLength": { - "message": "Minimum Length" - }, - "clone": { - "message": "Clone" - }, - "masterPassPolicyDesc": { - "message": "Set minimum requirements for master password strength." - }, - "twoStepLoginPolicyDesc": { - "message": "Require users to set up two-step login on their personal accounts." - }, - "twoStepLoginPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and do not have two-step login enabled for their personal account will be removed from the organization and will receive an email notifying them about the change." - }, - "twoStepLoginPolicyUserWarning": { - "message": "You are a member of an organization that requires two-step login to be enabled on your user account. If you disable all two-step login providers you will be automatically removed from these organizations." - }, - "passwordGeneratorPolicyDesc": { - "message": "Set minimum requirements for password generator configuration." - }, - "passwordGeneratorPolicyInEffect": { - "message": "One or more organization policies are affecting your generator settings." - }, - "masterPasswordPolicyInEffect": { - "message": "One or more organization policies require your master password to meet the following requirements:" - }, - "policyInEffectMinComplexity": { - "message": "Minimum complexity score of $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Minimum length of $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Contain one or more uppercase characters" - }, - "policyInEffectLowercase": { - "message": "Contain one or more lowercase characters" - }, - "policyInEffectNumbers": { - "message": "Contain one or more numbers" - }, - "policyInEffectSpecial": { - "message": "Contain one or more of the following special characters $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Your new master password does not meet the policy requirements." - }, - "minimumNumberOfWords": { - "message": "Minimum Number of Words" - }, - "defaultType": { - "message": "Default Type" - }, - "userPreference": { - "message": "User Preference" - }, - "vaultTimeoutAction": { - "message": "Vault Timeout Action" - }, - "vaultTimeoutActionLockDesc": { - "message": "A locked vault requires that you re-enter your master password to access it again." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "A logged out vault requires that you re-authenticate to access it again." - }, - "lock": { - "message": "Lock", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Trash", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Search Trash" - }, - "permanentlyDelete": { - "message": "Permanently Delete" - }, - "permanentlyDeleteSelected": { - "message": "Permanently Delete Selected" - }, - "permanentlyDeleteItem": { - "message": "Permanently Delete Item" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Are you sure you want to permanently delete this item?" - }, - "permanentlyDeletedItem": { - "message": "Permanently Deleted item" - }, - "permanentlyDeletedItems": { - "message": "Permanently Deleted items" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to permanently delete. Are you sure you want to permanently delete all of these items?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Permanently Deleted item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Restore" - }, - "restoreSelected": { - "message": "Restore Selected" - }, - "restoreItem": { - "message": "Restore Item" - }, - "restoredItem": { - "message": "Restored Item" - }, - "restoredItems": { - "message": "Restored Items" - }, - "restoreItemConfirmation": { - "message": "Are you sure you want to restore this item?" - }, - "restoreItems": { - "message": "Restore items" - }, - "restoreSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to restore. Are you sure you want to restore all of these items?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Restored item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Logging out will remove all access to your vault and requires online authentication after the timeout period. Are you sure you want to use this setting?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Timeout Action Confirmation" - }, - "hidePasswords": { - "message": "Hide Passwords" - }, - "countryPostalCodeRequiredDesc": { - "message": "We require this information for calculating sales tax and financial reporting only." - }, - "includeVAT": { - "message": "Include VAT/GST Information (optional)" - }, - "taxIdNumber": { - "message": "VAT/GST Tax ID" - }, - "taxInfoUpdated": { - "message": "Tax information updated." - }, - "setMasterPassword": { - "message": "Set Master Password" - }, - "ssoCompleteRegistration": { - "message": "In order to complete logging in with SSO, please set a master password to access and protect your vault." - }, - "identifier": { - "message": "Identifier" - }, - "organizationIdentifier": { - "message": "Organization Identifier" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Log in using your organization's single sign-on portal. Please enter your organization's identifier to begin." - }, - "enterpriseSingleSignOn": { - "message": "Enterprise Single Sign-On" - }, - "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." - }, - "businessPortal": { - "message": "Business Portal", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "All Teams features, plus:" - }, - "includeSsoAuthentication": { - "message": "SSO Authentication via SAML2.0 and OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Enterprise Policies" - }, - "ssoValidationFailed": { - "message": "SSO Validation Failed" - }, - "ssoIdentifierRequired": { - "message": "Organization Identifier is required." - }, - "unlinkSso": { - "message": "Unlink SSO" - }, - "linkSso": { - "message": "Link SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "Policy configuration has been moved, and this page will soon be deprecated. Please click below to use the Business Portal policies page instead." - }, - "singleOrg": { - "message": "Single Organization" - }, - "singleOrgDesc": { - "message": "Restrict users from being able to join any other organizations." - }, - "singleOrgBlockCreateMessage": { - "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." - }, - "singleOrgPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and are already a member of another organization will be removed from your organization." - }, - "requireSso": { - "message": "Single Sign-On Authentication" - }, - "requireSsoPolicyDesc": { - "message": "Require users to log in with the Enterprise Single Sign-On method." - }, - "prerequisite": { - "message": "Prerequisite" - }, - "requireSsoPolicyReq": { - "message": "The Single Organization enterprise policy must be enabled before activating this policy." - }, - "requireSsoPolicyReqError": { - "message": "Single Organization policy not enabled." - }, - "requireSsoExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "sendTypeFile": { - "message": "File" - }, - "sendTypeText": { - "message": "Text" - }, - "createSend": { - "message": "Create New Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Edit Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Created Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Edited Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Deleted Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Delete Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Are you sure you want to delete this Send?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "What type of Send is this?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Deletion Date" - }, - "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Expiration Date" - }, - "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Maximum Access Count" - }, - "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Current Access Count" - }, - "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Private notes about this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Disabled" - }, - "sendLink": { - "message": "Send Link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Copy Send Link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Remove Password" - }, - "removedPassword": { - "message": "Removed Password" - }, - "removePasswordConfirmation": { - "message": "Are you sure you want to remove the password?" - }, - "disableThisSend": { - "message": "Disable this Send so that no one can access it.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "All Sends" - }, - "maxAccessCountReached": { - "message": "Max access count reached" - }, - "pendingDeletion": { - "message": "Pending deletion" - }, - "expired": { - "message": "Expired" - }, - "searchSends": { - "message": "Search Sends", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "This Send is protected with a password. Please type the password below to continue.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Don't know the password? Ask the Sender for the password needed to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "This send is hidden by default. You can toggle its visibility using the button below.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Download File" - }, - "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "There are no Sends to list.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Emergency Access" - }, - "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." - }, - "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" - }, - "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." - }, - "addEmergencyContact": { - "message": "Add emergency contact" - }, - "designatedEmergencyContacts": { - "message": "Designated as emergency contact" - }, - "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." - }, - "inviteEmergencyContact": { - "message": "Invite emergency contact" - }, - "editEmergencyContact": { - "message": "Edit emergency contact" - }, - "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" - }, - "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" - }, - "viewDesc": { - "message": "Can view all items in your own vault." - }, - "takeover": { - "message": "Takeover" - }, - "takeoverDesc": { - "message": "Can reset your account with a new master password." - }, - "waitTime": { - "message": "Wait Time" - }, - "waitTimeDesc": { - "message": "Time required before automatically granting access." - }, - "oneDay": { - "message": "1 day" - }, - "days": { - "message": "$DAYS$ days", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Invited user." - }, - "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." - }, - "requestAccess": { - "message": "Request Access" - }, - "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Approve" - }, - "reject": { - "message": "Reject" - }, - "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Emergency access approved." - }, - "emergencyRejected": { - "message": "Emergency access rejected" - }, - "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Personal Ownership" - }, - "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." - }, - "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." - }, - "modifiedPolicyId": { - "message": "Modified policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Plan price" - }, - "estimatedTax": { - "message": "Estimated tax" - }, - "custom": { - "message": "Custom" - }, - "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." - }, - "permissions": { - "message": "Permissions" - }, - "accessBusinessPortal": { - "message": "Access Business Portal" - }, - "accessEventLogs": { - "message": "Access Event Logs" - }, - "accessImportExport": { - "message": "Access Import/Export" - }, - "accessReports": { - "message": "Access Reports" - }, - "manageAllCollections": { - "message": "Manage All Collections" - }, - "manageAssignedCollections": { - "message": "Manage Assigned Collections" - }, - "manageGroups": { - "message": "Manage Groups" - }, - "managePolicies": { - "message": "Manage Policies" - }, - "manageSso": { - "message": "Manage SSO" - }, - "manageUsers": { - "message": "Manage Users" - }, - "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." - }, - "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." - }, - "custom": { - "message": "Custom" - }, - "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" - }, - "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/en_GB/messages.json b/locales/en_GB/messages.json deleted file mode 100644 index 21866253..00000000 --- a/locales/en_GB/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$ Web Vault", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "What type of item is this?" - }, - "name": { - "message": "Name" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "New URI" - }, - "username": { - "message": "Username" - }, - "password": { - "message": "Password" - }, - "newPassword": { - "message": "New password" - }, - "passphrase": { - "message": "Passphrase" - }, - "notes": { - "message": "Notes" - }, - "customFields": { - "message": "Custom fields" - }, - "cardholderName": { - "message": "Cardholder name" - }, - "number": { - "message": "Number" - }, - "brand": { - "message": "Brand" - }, - "expiration": { - "message": "Expiration" - }, - "securityCode": { - "message": "Security code (CVV)" - }, - "identityName": { - "message": "Identity name" - }, - "company": { - "message": "Company" - }, - "ssn": { - "message": "National Insurance number" - }, - "passportNumber": { - "message": "Passport number" - }, - "licenseNumber": { - "message": "Licence number" - }, - "email": { - "message": "Email" - }, - "phone": { - "message": "Phone" - }, - "january": { - "message": "January" - }, - "february": { - "message": "February" - }, - "march": { - "message": "March" - }, - "april": { - "message": "April" - }, - "may": { - "message": "May" - }, - "june": { - "message": "June" - }, - "july": { - "message": "July" - }, - "august": { - "message": "August" - }, - "september": { - "message": "September" - }, - "october": { - "message": "October" - }, - "november": { - "message": "November" - }, - "december": { - "message": "December" - }, - "title": { - "message": "Title" - }, - "mr": { - "message": "Mr" - }, - "mrs": { - "message": "Mrs" - }, - "ms": { - "message": "Ms" - }, - "dr": { - "message": "Dr" - }, - "expirationMonth": { - "message": "Expiration month" - }, - "expirationYear": { - "message": "Expiration year" - }, - "authenticatorKeyTotp": { - "message": "Authenticator key (TOTP)" - }, - "folder": { - "message": "Folder" - }, - "newCustomField": { - "message": "New custom field" - }, - "value": { - "message": "Value" - }, - "dragToSort": { - "message": "Drag to sort" - }, - "cfTypeText": { - "message": "Text" - }, - "cfTypeHidden": { - "message": "Hidden" - }, - "cfTypeBoolean": { - "message": "Boolean" - }, - "remove": { - "message": "Remove" - }, - "unassigned": { - "message": "Unassigned" - }, - "noneFolder": { - "message": "No folder", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Add folder" - }, - "editFolder": { - "message": "Edit folder" - }, - "baseDomain": { - "message": "Base domain" - }, - "host": { - "message": "Host", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Exact" - }, - "startsWith": { - "message": "Starts with" - }, - "regEx": { - "message": "Regular expression", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Match detection", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Default match detection", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Never" - }, - "toggleVisibility": { - "message": "Toggle visibility" - }, - "toggleCollapse": { - "message": "Toggle collapse", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Generate password" - }, - "checkPassword": { - "message": "Check if password has been exposed." - }, - "passwordExposed": { - "message": "This password has been exposed $VALUE$ time(s) in data breaches. You should change it.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "This password was not found in any known data breaches. It should be safe to use." - }, - "save": { - "message": "Save" - }, - "cancel": { - "message": "Cancel" - }, - "canceled": { - "message": "Cancelled" - }, - "close": { - "message": "Close" - }, - "delete": { - "message": "Delete" - }, - "favorite": { - "message": "Favourite" - }, - "unfavorite": { - "message": "Unfavourite" - }, - "edit": { - "message": "Edit" - }, - "searchCollection": { - "message": "Search collection" - }, - "searchFolder": { - "message": "Search folder" - }, - "searchFavorites": { - "message": "Search favourites" - }, - "searchType": { - "message": "Search type", - "description": "Search item type" - }, - "searchVault": { - "message": "Search vault" - }, - "allItems": { - "message": "All items" - }, - "favorites": { - "message": "Favourites" - }, - "types": { - "message": "Types" - }, - "typeLogin": { - "message": "Login" - }, - "typeCard": { - "message": "Card" - }, - "typeIdentity": { - "message": "Identity" - }, - "typeSecureNote": { - "message": "Secure note" - }, - "folders": { - "message": "Folders" - }, - "collections": { - "message": "Collections" - }, - "firstName": { - "message": "First name" - }, - "middleName": { - "message": "Middle name" - }, - "lastName": { - "message": "Last name" - }, - "address1": { - "message": "Address 1" - }, - "address2": { - "message": "Address 2" - }, - "address3": { - "message": "Address 3" - }, - "cityTown": { - "message": "City / town" - }, - "stateProvince": { - "message": "County" - }, - "zipPostalCode": { - "message": "Postcode" - }, - "country": { - "message": "Country" - }, - "shared": { - "message": "Shared" - }, - "attachments": { - "message": "Attachments" - }, - "select": { - "message": "Select" - }, - "addItem": { - "message": "Add item" - }, - "editItem": { - "message": "Edit item" - }, - "viewItem": { - "message": "View Item" - }, - "ex": { - "message": "e.g.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Other" - }, - "share": { - "message": "Share" - }, - "valueCopied": { - "message": "$VALUE$ copied", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Copy value", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Copy password", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Copy username", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Copy number", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Copy security code", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Copy URI", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "My vault" - }, - "vault": { - "message": "Vault" - }, - "shareSelected": { - "message": "Share selected" - }, - "deleteSelected": { - "message": "Delete selected" - }, - "moveSelected": { - "message": "Move selected" - }, - "selectAll": { - "message": "Select all" - }, - "unselectAll": { - "message": "Unselect all" - }, - "launch": { - "message": "Launch" - }, - "newAttachment": { - "message": "Add new attachment" - }, - "deletedAttachment": { - "message": "Deleted attachment" - }, - "deleteAttachmentConfirmation": { - "message": "Are you sure you want to delete this attachment?" - }, - "attachmentSaved": { - "message": "The attachment has been saved." - }, - "file": { - "message": "File" - }, - "selectFile": { - "message": "Select a file." - }, - "maxFileSize": { - "message": "Maximum file size is 100 MB." - }, - "updateKey": { - "message": "You cannot use this feature until you update your encryption key." - }, - "addedItem": { - "message": "Added item" - }, - "editedItem": { - "message": "Edited item" - }, - "sharedItem": { - "message": "Shared item" - }, - "sharedItems": { - "message": "Shared items" - }, - "deleteItem": { - "message": "Delete item" - }, - "deleteFolder": { - "message": "Delete folder" - }, - "deleteAttachment": { - "message": "Delete attachment" - }, - "deleteItemConfirmation": { - "message": "Do you really want to send to the bin?" - }, - "deletedItem": { - "message": "Item sent to bin" - }, - "deletedItems": { - "message": "Items sent to bin" - }, - "movedItems": { - "message": "Moved items" - }, - "overwritePasswordConfirmation": { - "message": "Are you sure you want to overwrite the current password?" - }, - "editedFolder": { - "message": "Edited folder" - }, - "addedFolder": { - "message": "Added folder" - }, - "deleteFolderConfirmation": { - "message": "Are you sure you want to delete this folder?" - }, - "deletedFolder": { - "message": "Deleted folder" - }, - "loggedOut": { - "message": "Logged out" - }, - "loginExpired": { - "message": "Your login session has expired." - }, - "logOutConfirmation": { - "message": "Are you sure you want to log out?" - }, - "logOut": { - "message": "Log out" - }, - "ok": { - "message": "OK" - }, - "yes": { - "message": "Yes" - }, - "no": { - "message": "No" - }, - "loginOrCreateNewAccount": { - "message": "Log in or create a new account to access your secure vault." - }, - "createAccount": { - "message": "Create account" - }, - "logIn": { - "message": "Log in" - }, - "submit": { - "message": "Submit" - }, - "emailAddressDesc": { - "message": "You'll use your email address to log in." - }, - "yourName": { - "message": "Your name" - }, - "yourNameDesc": { - "message": "What should we call you?" - }, - "masterPass": { - "message": "Master password" - }, - "masterPassDesc": { - "message": "The master password is the password you use to access your vault. It is very important that you do not forget your master password. There is no way to recover the password in the event that you forget it." - }, - "masterPassHintDesc": { - "message": "A master password hint can help you remember your password if you forget it." - }, - "reTypeMasterPass": { - "message": "Re-type master password" - }, - "masterPassHint": { - "message": "Master password hint (optional)" - }, - "masterPassHintLabel": { - "message": "Master password hint" - }, - "settings": { - "message": "Settings" - }, - "passwordHint": { - "message": "Password hint" - }, - "enterEmailToGetHint": { - "message": "Enter your account email address to receive your master password hint." - }, - "getMasterPasswordHint": { - "message": "Get master password hint" - }, - "emailRequired": { - "message": "Email address is required." - }, - "invalidEmail": { - "message": "Invalid email address." - }, - "masterPassRequired": { - "message": "Master password is required." - }, - "masterPassLength": { - "message": "Master password must be at least 8 characters long." - }, - "masterPassDoesntMatch": { - "message": "Master password confirmation does not match." - }, - "newAccountCreated": { - "message": "Your new account has been created! You may now log in." - }, - "masterPassSent": { - "message": "We've sent you an email with your master password hint." - }, - "unexpectedError": { - "message": "An unexpected error has occurred." - }, - "emailAddress": { - "message": "Email address" - }, - "yourVaultIsLocked": { - "message": "Your vault is locked. Verify your master password to continue." - }, - "unlock": { - "message": "Unlock" - }, - "loggedInAsEmailOn": { - "message": "Logged in as $EMAIL$ on $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Invalid master password" - }, - "lockNow": { - "message": "Lock now" - }, - "noItemsInList": { - "message": "There are no items to list." - }, - "noCollectionsInList": { - "message": "There are no collections to list." - }, - "noGroupsInList": { - "message": "There are no groups to list." - }, - "noUsersInList": { - "message": "There are no users to list." - }, - "noEventsInList": { - "message": "There are no events to list." - }, - "newOrganization": { - "message": "New organisation" - }, - "noOrganizationsList": { - "message": "You do not belong to any organisations. Organisations allow you to securely share items with other users." - }, - "versionNumber": { - "message": "Version $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Enter the 6 digit verification code from your authenticator app." - }, - "enterVerificationCodeEmail": { - "message": "Enter the 6 digit verification code that was emailed to $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "Verification email sent to $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Remember me" - }, - "sendVerificationCodeEmailAgain": { - "message": "Send verification code email again" - }, - "useAnotherTwoStepMethod": { - "message": "Use another two-step login method" - }, - "insertYubiKey": { - "message": "Insert your YubiKey into your computer's USB port, then touch its button." - }, - "insertU2f": { - "message": "Insert your security key into your computer's USB port. If it has a button, touch it." - }, - "loginUnavailable": { - "message": "Login unavailable" - }, - "noTwoStepProviders": { - "message": "This account has two-step login enabled. However, none of the configured two-step providers are supported by this web browser." - }, - "noTwoStepProviders2": { - "message": "Please use a supported web browser (such as Chrome) and/or add additional providers that are better supported across web browsers (such as an authenticator app)." - }, - "twoStepOptions": { - "message": "Two-step login options" - }, - "recoveryCodeDesc": { - "message": "Lost access to all of your two-factor providers? Use your recovery code to disable all two-factor providers from your account." - }, - "recoveryCodeTitle": { - "message": "Recovery code" - }, - "authenticatorAppTitle": { - "message": "Authenticator app" - }, - "authenticatorAppDesc": { - "message": "Use an authenticator app (such as Authy or Google Authenticator) to generate time-based verification codes.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "YubiKey OTP security key" - }, - "yubiKeyDesc": { - "message": "Use a YubiKey to access your account. Works with YubiKey 4 series, 5 series, and NEO devices." - }, - "duoDesc": { - "message": "Verify with Duo Security using the Duo Mobile app, SMS, phone call, or U2F security key.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Verify with Duo Security for your organisation using the Duo Mobile app, SMS, phone call, or U2F security key.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Use any FIDO U2F enabled security key to access your account." - }, - "u2fTitle": { - "message": "FIDO U2F security key" - }, - "emailTitle": { - "message": "Email" - }, - "emailDesc": { - "message": "Verification codes will be emailed to you." - }, - "continue": { - "message": "Continue" - }, - "organization": { - "message": "Organisation" - }, - "organizations": { - "message": "Organisations" - }, - "shareDesc": { - "message": "Choose an organisation that you wish to share this item with. Sharing transfers ownership of the item to the organisation. You will no longer be the direct owner of this item once it has been shared." - }, - "shareManyDesc": { - "message": "Choose an organisation that you wish to share these items with. Sharing transfers ownership of the items to the organisation. You will no longer be the direct owner of these items once they have been shared." - }, - "collectionsDesc": { - "message": "Edit the collections that this item is being shared with. Only organisation users with access to these collections will be able to see this item." - }, - "deleteSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to delete. Are you sure you want to delete all of these items?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Choose a folder that you would like to move the $COUNT$ selected item(s) to.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "You have selected $COUNT$ item(s). $SHAREABLE_COUNT$ items are sharable, $NONSHAREABLE_COUNT$ are not.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Verification code (TOTP)" - }, - "copyVerificationCode": { - "message": "Copy verification code" - }, - "warning": { - "message": "Warning" - }, - "confirmVaultExport": { - "message": "Confirm Vault Export" - }, - "exportWarningDesc": { - "message": "This export contains your vault data in an unencrypted format. You should not store or send the exported file over insecure channels (such as email). Delete it immediately after you are done using it." - }, - "encExportWarningDesc": { - "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." - }, - "exportMasterPassword": { - "message": "Enter your master password to export your vault data." - }, - "exportVault": { - "message": "Export vault" - }, - "fileFormat": { - "message": "File format" - }, - "exportSuccess": { - "message": "Your vault data has been exported." - }, - "passwordGenerator": { - "message": "Password generator" - }, - "minComplexityScore": { - "message": "Minimum complexity score" - }, - "minNumbers": { - "message": "Minimum numbers" - }, - "minSpecial": { - "message": "Minimum special", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Avoid ambiguous characters" - }, - "regeneratePassword": { - "message": "Regenerate password" - }, - "length": { - "message": "Length" - }, - "numWords": { - "message": "Number of words" - }, - "wordSeparator": { - "message": "Word separator" - }, - "capitalize": { - "message": "Capitalise", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Include number" - }, - "passwordHistory": { - "message": "Password history" - }, - "noPasswordsInList": { - "message": "There are no passwords to list." - }, - "clear": { - "message": "Clear", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Account updated" - }, - "changeEmail": { - "message": "Change email" - }, - "newEmail": { - "message": "New email" - }, - "code": { - "message": "Code" - }, - "changeEmailDesc": { - "message": "We have emailed a verification code to $EMAIL$. Please check your email for this code and enter it below to finalise the email address change.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour." - }, - "emailChanged": { - "message": "Email changed" - }, - "logBackIn": { - "message": "Please log back in." - }, - "logBackInOthersToo": { - "message": "Please log back in. If you are using other Bitwarden applications, log out and back in to those as well." - }, - "changeMasterPassword": { - "message": "Change master password" - }, - "masterPasswordChanged": { - "message": "Master password changed" - }, - "currentMasterPass": { - "message": "Current master password" - }, - "newMasterPass": { - "message": "New master password" - }, - "confirmNewMasterPass": { - "message": "Confirm new master password" - }, - "encKeySettings": { - "message": "Encryption key settings" - }, - "kdfAlgorithm": { - "message": "KDF algorithm" - }, - "kdfIterations": { - "message": "KDF iterations" - }, - "kdfIterationsDesc": { - "message": "Higher KDF iterations can help protect your master password from being brute forced by an attacker. We recommend a value of $VALUE$ or more.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Setting your KDF iterations too high could result in poor performance when logging into (and unlocking) Bitwarden on devices with slower CPUs. We recommend that you increase the value in increments of $INCREMENT$ and then test all of your devices.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Change KDF" - }, - "encKeySettingsChanged": { - "message": "Encryption key settings changed" - }, - "dangerZone": { - "message": "Danger zone" - }, - "dangerZoneDesc": { - "message": "Careful, these actions are not reversible!" - }, - "deauthorizeSessions": { - "message": "Deauthorise sessions" - }, - "deauthorizeSessionsDesc": { - "message": "Concerned your account is logged in on another device? Proceed below to deauthorise all computers or devices that you have previously used. This security step is recommended if you previously used a public computer or accidentally saved your password on a device that isn't yours. This step will also clear all previously remembered two-step login sessions." - }, - "deauthorizeSessionsWarning": { - "message": "Proceeding will also log you out of your current session, requiring you to log back in. You will also be prompted for two-step login again, if enabled. Active sessions on other devices may continue to remain active for up to one hour." - }, - "sessionsDeauthorized": { - "message": "All sessions deauthorised" - }, - "purgeVault": { - "message": "Purge vault" - }, - "purgedOrganizationVault": { - "message": "Purged organisation vault." - }, - "purgeVaultDesc": { - "message": "Proceed below to delete all items and folders in your vault. Items that belong to an organisation that you share with will not be deleted." - }, - "purgeOrgVaultDesc": { - "message": "Proceed below to delete all items in the organisation's vault." - }, - "purgeVaultWarning": { - "message": "Purging your vault is permanent. It cannot be undone." - }, - "vaultPurged": { - "message": "Your vault has been purged." - }, - "deleteAccount": { - "message": "Delete account" - }, - "deleteAccountDesc": { - "message": "Proceed below to delete your account and all associated data." - }, - "deleteAccountWarning": { - "message": "Deleting your account is permanent. It cannot be undone." - }, - "accountDeleted": { - "message": "Account deleted" - }, - "accountDeletedDesc": { - "message": "Your account has been closed and all associated data has been deleted." - }, - "myAccount": { - "message": "My account" - }, - "tools": { - "message": "Tools" - }, - "importData": { - "message": "Import data" - }, - "importSuccess": { - "message": "Data has been successfully imported into your vault." - }, - "importFormatError": { - "message": "Data is not formatted correctly. Please check your import file and try again." - }, - "importNothingError": { - "message": "Nothing was imported." - }, - "selectFormat": { - "message": "Select the format of the import file" - }, - "selectImportFile": { - "message": "Select the import file" - }, - "orCopyPasteFileContents": { - "message": "or copy/paste the import file contents" - }, - "instructionsFor": { - "message": "$NAME$ instructions", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Options" - }, - "optionsDesc": { - "message": "Customise your web vault experience." - }, - "optionsUpdated": { - "message": "Options updated" - }, - "language": { - "message": "Language" - }, - "languageDesc": { - "message": "Change the language used by the web vault." - }, - "disableIcons": { - "message": "Disable website icons" - }, - "disableIconsDesc": { - "message": "Website icons provide a recognisable image next to each login item in your vault." - }, - "enableGravatars": { - "message": "Enable Gravatars", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Use avatar images loaded from gravatar.com." - }, - "enableFullWidth": { - "message": "Enable full width layout", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Allow the web vault to expand the full width of the browser window." - }, - "default": { - "message": "Default" - }, - "domainRules": { - "message": "Domain rules" - }, - "domainRulesDesc": { - "message": "If you have the same login across multiple different website domains, you can mark the website as \"equivalent\". \"Global\" domains are ones already created for you by Bitwarden." - }, - "globalEqDomains": { - "message": "Global equivalent domains" - }, - "customEqDomains": { - "message": "Custom equivalent domains" - }, - "exclude": { - "message": "Exclude" - }, - "include": { - "message": "Include" - }, - "customize": { - "message": "Customise" - }, - "newCustomDomain": { - "message": "New custom domain" - }, - "newCustomDomainDesc": { - "message": "Enter a list of domains separated by commas. Only \"base\" domains are allowed. Do not enter sub-domains. For example, enter \"google.com\" instead of \"www.google.com\". You can also enter \"androidapp://package.name\" to associate an Android app with other website domains." - }, - "customDomainX": { - "message": "Custom domain $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Domains updated" - }, - "twoStepLogin": { - "message": "Two-step login" - }, - "twoStepLoginDesc": { - "message": "Secure your account by requiring an additional step when logging in." - }, - "twoStepLoginOrganizationDesc": { - "message": "Require two-step login for your organisation's users by configuring providers at the organisation level." - }, - "twoStepLoginRecoveryWarning": { - "message": "Enabling two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (e.g. you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." - }, - "viewRecoveryCode": { - "message": "View recovery code" - }, - "providers": { - "message": "Providers", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Enable" - }, - "enabled": { - "message": "Enabled" - }, - "premium": { - "message": "Premium", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Premium membership" - }, - "premiumRequired": { - "message": "Premium required" - }, - "premiumRequiredDesc": { - "message": "A premium membership is required to use this feature." - }, - "youHavePremiumAccess": { - "message": "You have premium access" - }, - "alreadyPremiumFromOrg": { - "message": "You already have access to premium features because of an organisation of which you are a member." - }, - "manage": { - "message": "Manage" - }, - "disable": { - "message": "Disable" - }, - "twoStepLoginProviderEnabled": { - "message": "This two-step login provider is enabled on your account." - }, - "twoStepLoginAuthDesc": { - "message": "Enter your master password to modify two-step login settings." - }, - "twoStepAuthenticatorDesc": { - "message": "Follow these steps to set up two-step login with an authenticator app:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Download a two-step authenticator app" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Need a two-step authenticator app? Download one of the following" - }, - "iosDevices": { - "message": "iOS devices" - }, - "androidDevices": { - "message": "Android devices" - }, - "windowsDevices": { - "message": "Windows devices" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "These apps are recommended. However, other authenticator apps will also work." - }, - "twoStepAuthenticatorScanCode": { - "message": "Scan this QR code with your authenticator app" - }, - "key": { - "message": "Key" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Enter the resulting 6 digit verification code from the app" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "In case you need to add it to another device, below is the QR code (or key) required by your authenticator app." - }, - "twoStepDisableDesc": { - "message": "Are you sure you want to disable this two-step login provider?" - }, - "twoStepDisabled": { - "message": "Two-step login provider disabled." - }, - "twoFactorYubikeyAdd": { - "message": "Add a new YubiKey to your account" - }, - "twoFactorYubikeyPlugIn": { - "message": "Plug the YubiKey into your computer's USB port." - }, - "twoFactorYubikeySelectKey": { - "message": "Select the first empty YubiKey input field below." - }, - "twoFactorYubikeyTouchButton": { - "message": "Touch the YubiKey's button." - }, - "twoFactorYubikeySaveForm": { - "message": "Save the form." - }, - "twoFactorYubikeyWarning": { - "message": "Due to platform limitations, YubiKeys cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when YubiKeys cannot be used. Supported platforms:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Web vault, desktop application, CLI, and all browser extensions on a device with a USB port that can accept your YubiKey." - }, - "twoFactorYubikeySupportMobile": { - "message": "Mobile apps on a device with NFC capabilities or a USB port that can accept your YubiKey." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "U2F key $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "NFC support" - }, - "twoFactorYubikeySupportsNfc": { - "message": "One of my keys supports NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "If one of your YubiKeys supports NFC (such as a YubiKey NEO), you will be prompted on mobile devices whenever NFC availability is detected." - }, - "yubikeysUpdated": { - "message": "YubiKeys updated" - }, - "disableAllKeys": { - "message": "Disable all keys" - }, - "twoFactorDuoDesc": { - "message": "Enter the Bitwarden application information from your Duo Admin panel." - }, - "twoFactorDuoIntegrationKey": { - "message": "Integration key" - }, - "twoFactorDuoSecretKey": { - "message": "Secret key" - }, - "twoFactorDuoApiHostname": { - "message": "API hostname" - }, - "twoFactorEmailDesc": { - "message": "Follow these steps to set up two-step login with email:" - }, - "twoFactorEmailEnterEmail": { - "message": "Enter the email that you wish to receive verification codes" - }, - "twoFactorEmailEnterCode": { - "message": "Enter the resulting 6 digit verification code from the email" - }, - "sendEmail": { - "message": "Send email" - }, - "twoFactorU2fAdd": { - "message": "Add a FIDO U2F security key to your account" - }, - "removeU2fConfirmation": { - "message": "Are you sure you want to remove this security key?" - }, - "readKey": { - "message": "Read key" - }, - "keyCompromised": { - "message": "Key is compromised." - }, - "twoFactorU2fGiveName": { - "message": "Give the security key a friendly name to identify it." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Plug the security key into your computer's USB port and click the \"Read key\" button." - }, - "twoFactorU2fTouchButton": { - "message": "If the security key has a button, touch it." - }, - "twoFactorU2fSaveForm": { - "message": "Save the form." - }, - "twoFactorU2fWarning": { - "message": "Due to platform limitations, FIDO U2F cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when FIDO U2F cannot be used. Supported platforms:" - }, - "twoFactorU2fSupportWeb": { - "message": "Web vault and browser extensions on a desktop/laptop with a U2F enabled browser (Chrome, Opera, Vivaldi, or Firefox with FIDO U2F enabled)." - }, - "twoFactorU2fWaiting": { - "message": "Waiting for you to touch the button on your security key" - }, - "twoFactorU2fClickSave": { - "message": "Click the \"Save\" button below to enable this security key for two-step login." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "There was a problem reading the security key. Try again." - }, - "twoFactorRecoveryYourCode": { - "message": "Your Bitwarden two-step login recovery code" - }, - "twoFactorRecoveryNoCode": { - "message": "You have not enabled any two-step login providers yet. After you have enabled a two-step login provider you can check back here for your recovery code." - }, - "printCode": { - "message": "Print code", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Reports" - }, - "unsecuredWebsitesReport": { - "message": "Unsecured websites report" - }, - "unsecuredWebsitesReportDesc": { - "message": "Using unsecured websites with the http:// scheme can be dangerous. If the website allows, you should always access it using the https:// scheme so that your connection is encrypted." - }, - "unsecuredWebsitesFound": { - "message": "Unsecured websites found" - }, - "unsecuredWebsitesFoundDesc": { - "message": "We found $COUNT$ items in your vault with unsecured URIs. You should change their URI scheme to https:// if the website allows it.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "No items in your vault have unsecured URIs." - }, - "inactive2faReport": { - "message": "Inactive 2FA report" - }, - "inactive2faReportDesc": { - "message": "Two-factor authentication (2FA) is an important security setting that helps secure your accounts. If the website offers it, you should always enable two-factor authentication." - }, - "inactive2faFound": { - "message": "Logins without 2FA found" - }, - "inactive2faFoundDesc": { - "message": "We found $COUNT$ website(s) in your vault that may not be configured with two-factor authentication (according to 2fa.directory). To further protect these accounts, you should enable two-factor authentication.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "No websites were found in your vault with a missing two-factor authentication configuration." - }, - "instructions": { - "message": "Instructions" - }, - "exposedPasswordsReport": { - "message": "Exposed passwords report" - }, - "exposedPasswordsReportDesc": { - "message": "Exposed passwords are passwords that have been uncovered in known data breaches that were released publicly or sold on the dark web by hackers." - }, - "exposedPasswordsFound": { - "message": "Exposed passwords found" - }, - "exposedPasswordsFoundDesc": { - "message": "We found $COUNT$ items in your vault that have passwords that were exposed in known data breaches. You should change them to use a new password.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "No items in your vault have passwords that have been exposed in known data breaches." - }, - "checkExposedPasswords": { - "message": "Check exposed passwords" - }, - "exposedXTimes": { - "message": "Exposed $COUNT$ time(s)", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Weak passwords report" - }, - "weakPasswordsReportDesc": { - "message": "Weak passwords can easily be guessed by hackers and automated tools that are used to crack passwords. The Bitwarden password generator can help you create strong passwords." - }, - "weakPasswordsFound": { - "message": "Weak passwords found" - }, - "weakPasswordsFoundDesc": { - "message": "We found $COUNT$ items in your vault with passwords that are not strong. You should update them to use stronger passwords.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "No items in your vault have weak passwords." - }, - "reusedPasswordsReport": { - "message": "Reused passwords report" - }, - "reusedPasswordsReportDesc": { - "message": "If a service that you use is compromised, reusing the same password elsewhere can allow hackers to easily gain access to more of your online accounts. You should use a unique password for every account or service." - }, - "reusedPasswordsFound": { - "message": "Reused passwords found" - }, - "reusedPasswordsFoundDesc": { - "message": "We found $COUNT$ passwords that are being reused in your vault. You should change them to a unique value.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "No logins in your vault have passwords that are being reused." - }, - "reusedXTimes": { - "message": "Reused $COUNT$ times", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Data breach report" - }, - "breachDesc": { - "message": "A \"breach\" is an incident where a site's data has been illegally accessed by hackers and then released publicly. Review the types of data that were compromised (email addresses, passwords, credit cards etc.) and take appropriate action, such as changing passwords." - }, - "breachCheckUsernameEmail": { - "message": "Check any usernames or email addresses that you use." - }, - "checkBreaches": { - "message": "Check breaches" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ was not found in any known data breaches.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Good news", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ was found in $COUNT$ different data breaches online.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Breached accounts found" - }, - "compromisedData": { - "message": "Compromised data" - }, - "website": { - "message": "Website" - }, - "affectedUsers": { - "message": "Affected users" - }, - "breachOccurred": { - "message": "Breach occurred" - }, - "breachReported": { - "message": "Breach reported" - }, - "reportError": { - "message": "An error occurred trying to load the report. Try again" - }, - "billing": { - "message": "Billing" - }, - "accountCredit": { - "message": "Account credit", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Account balance", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Add credit", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Amount", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Added credit will appear on your account after the payment has been fully processed. Some payment methods are delayed and can take longer to process than others." - }, - "makeSureEnoughCredit": { - "message": "Please make sure that your account has enough credit available for this purchase. If your account does not have enough credit available, your default payment method on file will be used for the difference. You can add credit to your account from the Billing page." - }, - "creditAppliedDesc": { - "message": "Your account's credit can be used to make purchases. Any available credit will be automatically applied towards invoices generated for this account." - }, - "goPremium": { - "message": "Go premium", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "You've upgraded to premium." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Upgrade your account to a premium membership and unlock some great additional features." - }, - "premiumSignUpStorage": { - "message": "1 GB encrypted storage for file attachments." - }, - "premiumSignUpTwoStep": { - "message": "Additional two-step login options such as YubiKey, FIDO U2F, and Duo." - }, - "premiumSignUpReports": { - "message": "Password hygiene, account health, and data breach reports to keep your vault safe." - }, - "premiumSignUpTotp": { - "message": "TOTP verification code (2FA) generator for logins in your vault." - }, - "premiumSignUpSupport": { - "message": "Priority customer support." - }, - "premiumSignUpFuture": { - "message": "All future premium features. More coming soon!" - }, - "premiumPrice": { - "message": "All for just $PRICE$ /year!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Add-ons" - }, - "premiumAccess": { - "message": "Premium access" - }, - "premiumAccessDesc": { - "message": "You can add premium access to all members of your organisation for $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Additional storage (GB)" - }, - "additionalStorageGbDesc": { - "message": "# of additional GB" - }, - "additionalStorageIntervalDesc": { - "message": "Your plan comes with $SIZE$ of encrypted file storage. You can add additional storage for $PRICE$ per GB /$INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Summary" - }, - "total": { - "message": "Total" - }, - "year": { - "message": "year" - }, - "month": { - "message": "month" - }, - "monthAbbr": { - "message": "mon.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Your payment method will be charged immediately and then on a recurring basis each year. You may cancel at any time." - }, - "paymentCharged": { - "message": "Your payment method will be charged immediately and then on a recurring basis each $INTERVAL$. You may cancel at any time.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Your plan comes with a free 7 day trial. Your payment method will not be charged until the trial has ended. Billing will occur on a recurring basis each $INTERVAL$. You may cancel at any time.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Payment information" - }, - "billingInformation": { - "message": "Billing Information" - }, - "creditCard": { - "message": "Credit card" - }, - "paypalClickSubmit": { - "message": "Click the PayPal button to log into your PayPal account, then click the Submit button below to continue." - }, - "cancelSubscription": { - "message": "Cancel subscription" - }, - "subscriptionCanceled": { - "message": "The subscription has been cancelled." - }, - "pendingCancellation": { - "message": "Pending cancellation" - }, - "subscriptionPendingCanceled": { - "message": "The subscription has been marked for cancellation at the end of the current billing period." - }, - "reinstateSubscription": { - "message": "Reinstate subscription" - }, - "reinstateConfirmation": { - "message": "Are you sure you want to remove the pending cancellation request and reinstate your subscription?" - }, - "reinstated": { - "message": "The subscription has been reinstated." - }, - "cancelConfirmation": { - "message": "Are you sure you want to cancel? You will lose access to all of this subscription's features at the end of this billing cycle." - }, - "canceledSubscription": { - "message": "The subscription has been cancelled." - }, - "neverExpires": { - "message": "Never expires" - }, - "status": { - "message": "Status" - }, - "nextCharge": { - "message": "Next charge" - }, - "details": { - "message": "Details" - }, - "downloadLicense": { - "message": "Download licence" - }, - "updateLicense": { - "message": "Update licence" - }, - "updatedLicense": { - "message": "Updated licence" - }, - "manageSubscription": { - "message": "Manage subscription" - }, - "storage": { - "message": "Storage" - }, - "addStorage": { - "message": "Add storage" - }, - "removeStorage": { - "message": "Remove storage" - }, - "subscriptionStorage": { - "message": "Your subscription has a total of $MAX_STORAGE$ GB of encrypted file storage. You are currently using $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Payment method" - }, - "noPaymentMethod": { - "message": "No payment method on file." - }, - "addPaymentMethod": { - "message": "Add payment method" - }, - "changePaymentMethod": { - "message": "Change payment method" - }, - "invoices": { - "message": "Invoices" - }, - "noInvoices": { - "message": "No invoices." - }, - "paid": { - "message": "Paid", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Unpaid", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Transactions", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "No transactions." - }, - "chargeNoun": { - "message": "Charge", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Refund", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Any charges will appear on your statement as $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "GB of storage to add" - }, - "gbStorageRemove": { - "message": "GB of storage to remove" - }, - "storageAddNote": { - "message": "Adding storage will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." - }, - "storageRemoveNote": { - "message": "Removing storage will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." - }, - "adjustedStorage": { - "message": "Adjusted $AMOUNT$ GB of storage.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Contact Customer Support" - }, - "updatedPaymentMethod": { - "message": "Updated payment method." - }, - "purchasePremium": { - "message": "Purchase premium" - }, - "licenseFile": { - "message": "Licence file" - }, - "licenseFileDesc": { - "message": "Your licence file will be named something like $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "To upgrade your account to a premium membership you need to upload a valid licence file." - }, - "uploadLicenseFileOrg": { - "message": "To create an on-premises hosted organisation you need to upload a valid licence file." - }, - "accountEmailMustBeVerified": { - "message": "Your account's email address must be verified." - }, - "newOrganizationDesc": { - "message": "Organisations allow you to share parts of your vault with others as well as manage related users for a specific entity such as a family, small team, or large company." - }, - "generalInformation": { - "message": "General information" - }, - "organizationName": { - "message": "Organisation name" - }, - "accountOwnedBusiness": { - "message": "This account is owned by a business." - }, - "billingEmail": { - "message": "Billing email" - }, - "businessName": { - "message": "Business name" - }, - "chooseYourPlan": { - "message": "Choose your plan" - }, - "users": { - "message": "Users" - }, - "userSeats": { - "message": "User seats" - }, - "additionalUserSeats": { - "message": "Additional user seats" - }, - "userSeatsDesc": { - "message": "# of user seats" - }, - "userSeatsAdditionalDesc": { - "message": "Your plan comes with $BASE_SEATS$ user seats. You can add additional users for $SEAT_PRICE$ per user /month.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "How many user seats do you need? You can also add additional seats later if needed." - }, - "planNameFree": { - "message": "Free", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "For testing or personal users to share with $COUNT$ other users.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Families" - }, - "planDescFamilies": { - "message": "For personal use, to share with family & friends." - }, - "planNameTeams": { - "message": "Teams" - }, - "planDescTeams": { - "message": "For businesses and other team organisations." - }, - "planNameEnterprise": { - "message": "Enterprise" - }, - "planDescEnterprise": { - "message": "For businesses and other large organisations." - }, - "freeForever": { - "message": "Free forever" - }, - "includesXUsers": { - "message": "includes $COUNT$ users", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Additional users" - }, - "costPerUser": { - "message": "$COST$ per user", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Limited to $COUNT$ users (including you)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Limited to $COUNT$ collections", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Add and share with up to $COUNT$ users", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Add and share with unlimited users" - }, - "createUnlimitedCollections": { - "message": "Create unlimited collections" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ encrypted file storage", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "On-premise hosting (optional)" - }, - "usersGetPremium": { - "message": "Users get access to premium features" - }, - "controlAccessWithGroups": { - "message": "Control user access with groups" - }, - "syncUsersFromDirectory": { - "message": "Sync your users and groups from a directory" - }, - "trackAuditLogs": { - "message": "Track user actions with audit logs" - }, - "enforce2faDuo": { - "message": "Enforce 2FA with Duo" - }, - "priorityCustomerSupport": { - "message": "Priority customer support" - }, - "xDayFreeTrial": { - "message": "$COUNT$ day free trial, cancel anytime", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Monthly" - }, - "annually": { - "message": "Annually" - }, - "basePrice": { - "message": "Base price" - }, - "organizationCreated": { - "message": "Organisation created" - }, - "organizationReadyToGo": { - "message": "Your new organisation is ready to go!" - }, - "organizationUpgraded": { - "message": "Your organisation has been upgraded." - }, - "leave": { - "message": "Leave" - }, - "leaveOrganizationConfirmation": { - "message": "Are you sure you want to leave this organisation?" - }, - "leftOrganization": { - "message": "You have left the organisation." - }, - "defaultCollection": { - "message": "Default collection" - }, - "getHelp": { - "message": "Get help" - }, - "getApps": { - "message": "Get the apps" - }, - "loggedInAs": { - "message": "Logged in as" - }, - "eventLogs": { - "message": "Event logs" - }, - "people": { - "message": "People" - }, - "policies": { - "message": "Policies" - }, - "editPolicy": { - "message": "Edit policy" - }, - "groups": { - "message": "Groups" - }, - "newGroup": { - "message": "New group" - }, - "addGroup": { - "message": "Add group" - }, - "editGroup": { - "message": "Edit group" - }, - "deleteGroupConfirmation": { - "message": "Are you sure you want to delete this group?" - }, - "removeUserConfirmation": { - "message": "Are you sure you want to remove this user?" - }, - "externalId": { - "message": "External ID" - }, - "externalIdDesc": { - "message": "The external ID can be used as a reference or to link this resource to an external system such as a user directory." - }, - "accessControl": { - "message": "Access control" - }, - "groupAccessAllItems": { - "message": "This group can access and modify all items." - }, - "groupAccessSelectedCollections": { - "message": "This group can access only the selected collections." - }, - "readOnly": { - "message": "Read only" - }, - "newCollection": { - "message": "New collection" - }, - "addCollection": { - "message": "Add collection" - }, - "editCollection": { - "message": "Edit collection" - }, - "deleteCollectionConfirmation": { - "message": "Are you sure you want to delete this collection?" - }, - "editUser": { - "message": "Edit user" - }, - "inviteUser": { - "message": "Invite user" - }, - "inviteUserDesc": { - "message": "Invite a new user to your organisation by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "inviteMultipleEmailDesc": { - "message": "You can invite up to $COUNT$ users at a time by comma separating a list of email addresses.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "This user is using two-step login to protect their account." - }, - "userAccessAllItems": { - "message": "This user can access and modify all items." - }, - "userAccessSelectedCollections": { - "message": "This user can access only the selected collections." - }, - "search": { - "message": "Search" - }, - "invited": { - "message": "Invited" - }, - "accepted": { - "message": "Accepted" - }, - "confirmed": { - "message": "Confirmed" - }, - "owner": { - "message": "Owner" - }, - "ownerDesc": { - "message": "The highest access user that can manage all aspects of your organisation." - }, - "admin": { - "message": "Admin" - }, - "adminDesc": { - "message": "Admins can access and manage all items, collections and users in your organisation." - }, - "user": { - "message": "User" - }, - "userDesc": { - "message": "A regular user with access to assigned collections in your organisation." - }, - "manager": { - "message": "Manager" - }, - "managerDesc": { - "message": "Managers can access and manage assigned collections in your organisation." - }, - "all": { - "message": "All" - }, - "refresh": { - "message": "Refresh" - }, - "timestamp": { - "message": "Timestamp" - }, - "event": { - "message": "Event" - }, - "unknown": { - "message": "Unknown" - }, - "loadMore": { - "message": "Load more" - }, - "mobile": { - "message": "Mobile", - "description": "Mobile app" - }, - "extension": { - "message": "Extension", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Desktop", - "description": "Desktop app" - }, - "webVault": { - "message": "Web vault" - }, - "loggedIn": { - "message": "Logged in." - }, - "changedPassword": { - "message": "Changed account password." - }, - "enabledUpdated2fa": { - "message": "Enabled/updated two-step login." - }, - "disabled2fa": { - "message": "Disabled two-step login." - }, - "recovered2fa": { - "message": "Recovered account from two-step login." - }, - "failedLogin": { - "message": "Login attempt failed with incorrect password." - }, - "failedLogin2fa": { - "message": "Login attempt failed with incorrect two-step login." - }, - "exportedVault": { - "message": "Exported vault." - }, - "exportedOrganizationVault": { - "message": "Exported organisation vault." - }, - "editedOrgSettings": { - "message": "Edited organisation settings." - }, - "createdItemId": { - "message": "Created item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Edited item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Sent item $ID$ to bin.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Shared item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Viewed item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Viewed password for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Viewed hidden field for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Viewed security code for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Copied password for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Copied hidden field for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Copied security code for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Auto-filled item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Created collection $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Edited collection $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Deleted collection $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Edited policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Created group $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Edited group $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Deleted group $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Removed user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Created attachment for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Deleted attachment for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Edited collections for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Invited user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Confirmed user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Edited user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Edited groups for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Device" - }, - "view": { - "message": "View" - }, - "invalidDateRange": { - "message": "Invalid date range." - }, - "errorOccurred": { - "message": "An error has occurred." - }, - "userAccess": { - "message": "User access" - }, - "userType": { - "message": "User type" - }, - "groupAccess": { - "message": "Group access" - }, - "groupAccessUserDesc": { - "message": "Edit the groups that this user belongs to." - }, - "invitedUsers": { - "message": "Invited user(s)." - }, - "resendInvitation": { - "message": "Resend invitation" - }, - "hasBeenReinvited": { - "message": "$USER$ has been reinvited.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Confirm" - }, - "confirmUser": { - "message": "Confirm user" - }, - "hasBeenConfirmed": { - "message": "$USER$ has been confirmed.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Confirm users" - }, - "usersNeedConfirmed": { - "message": "You have users that have accepted their invitation, but still need to be confirmed. Users will not have access to the organisation until they are confirmed." - }, - "startDate": { - "message": "Start date" - }, - "endDate": { - "message": "End date" - }, - "verifyEmail": { - "message": "Verify email" - }, - "verifyEmailDesc": { - "message": "Verify your account's email address to unlock access to all features." - }, - "verifyEmailFirst": { - "message": "Your account's email address must first be verified." - }, - "checkInboxForVerification": { - "message": "Check your email inbox for a verification link." - }, - "emailVerified": { - "message": "Your email has been verified." - }, - "emailVerifiedFailed": { - "message": "Unable to verify your email. Try sending a new verification email." - }, - "updateBrowser": { - "message": "Update browser" - }, - "updateBrowserDesc": { - "message": "You are using an unsupported web browser. The web vault may not function properly." - }, - "joinOrganization": { - "message": "Join organisation" - }, - "joinOrganizationDesc": { - "message": "You've been invited to join the organisation listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "inviteAccepted": { - "message": "Invitation accepted" - }, - "inviteAcceptedDesc": { - "message": "You can access this organisation once an administrator confirms your membership. We'll send you an email when that happens." - }, - "inviteAcceptFailed": { - "message": "Unable to accept invitation. Ask an organisation admin to send a new invitation." - }, - "inviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Remember email" - }, - "recoverAccountTwoStepDesc": { - "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to disable all two-step providers on your account." - }, - "recoverAccountTwoStep": { - "message": "Recover account two-step login" - }, - "twoStepRecoverDisabled": { - "message": "Two-step login has been disabled on your account." - }, - "learnMore": { - "message": "Learn more" - }, - "deleteRecoverDesc": { - "message": "Enter your email address below to recover and delete your account." - }, - "deleteRecoverEmailSent": { - "message": "If your account exists, we've sent you an email with further instructions." - }, - "deleteRecoverConfirmDesc": { - "message": "You have requested to delete your Bitwarden account. Click the button below to confirm." - }, - "myOrganization": { - "message": "My organisation" - }, - "deleteOrganization": { - "message": "Delete organisation" - }, - "deleteOrganizationDesc": { - "message": "Proceed below to delete this organisation and all associated data. Individual user accounts will remain, though they will not be associated to this organisation anymore. " - }, - "deleteOrganizationWarning": { - "message": "Deleting the organisation is permanent. It cannot be undone." - }, - "organizationDeleted": { - "message": "Organisation deleted" - }, - "organizationDeletedDesc": { - "message": "The organisation and all associated data has been deleted." - }, - "organizationUpdated": { - "message": "Organisation updated" - }, - "taxInformation": { - "message": "Tax information" - }, - "taxInformationDesc": { - "message": "For customers within the US, ZIP code is required to satisfy sales tax requirements; for other countries you may optionally provide a tax identification number (VAT/GST) and/or address to appear on your invoices." - }, - "billingPlan": { - "message": "Plan", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Change plan", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Upgrade your account to another plan by providing the information below. Please ensure that you have an active payment method added to the account.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Contact customer support if you would like to change your plan. Please ensure that you have an active payment method added to the account.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Invoice #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "View invoice" - }, - "downloadInvoice": { - "message": "Download invoice" - }, - "verifyBankAccount": { - "message": "Verify bank account" - }, - "verifyBankAccountDesc": { - "message": "We have made two micro-deposits to your bank account (it may take 1-2 business days to show up). Enter these amounts to verify the bank account." - }, - "verifyBankAccountInitialDesc": { - "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make two micro-deposits within the next 1-2 business days. Enter these amounts on the organisation's billing page to verify the bank account." - }, - "verifyBankAccountFailureWarning": { - "message": "Failure to verify the bank account will result in a missed payment and your subscription being disabled." - }, - "verifiedBankAccount": { - "message": "Bank account has been verified." - }, - "bankAccount": { - "message": "Bank account" - }, - "amountX": { - "message": "Amount $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Sort code", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Account number" - }, - "accountHolderName": { - "message": "Account holder name" - }, - "bankAccountType": { - "message": "Account type" - }, - "bankAccountTypeCompany": { - "message": "Company (business)" - }, - "bankAccountTypeIndividual": { - "message": "Individual (personal)" - }, - "enterInstallationId": { - "message": "Enter your installation ID" - }, - "addSeats": { - "message": "Add seats", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Remove seats", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Your subscription allows for a total of $COUNT$ users.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Seats to add" - }, - "seatsToRemove": { - "message": "Seats to remove" - }, - "seatsAddNote": { - "message": "Adding user seats will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." - }, - "seatsRemoveNote": { - "message": "Removing user seats will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." - }, - "adjustedSeats": { - "message": "Adjusted $AMOUNT$ user seats.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Key updated" - }, - "updateKeyTitle": { - "message": "Update key" - }, - "updateEncryptionKey": { - "message": "Update encryption key" - }, - "updateEncryptionKeyShortDesc": { - "message": "You are currently using an outdated encryption scheme." - }, - "updateEncryptionKeyDesc": { - "message": "We've moved to larger encryption keys that provide better security and access to newer features. Updating your encryption key is quick and easy. Just type your master password below. This update will eventually become mandatory." - }, - "updateEncryptionKeyWarning": { - "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, although this may be delayed." - }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." - }, - "subscription": { - "message": "Subscription" - }, - "loading": { - "message": "Loading" - }, - "upgrade": { - "message": "Upgrade" - }, - "upgradeOrganization": { - "message": "Upgrade organisation" - }, - "upgradeOrganizationDesc": { - "message": "This feature is not available for free organisations. Switch to a paid plan to unlock more features." - }, - "createOrganizationStep1": { - "message": "Create organisation: step 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Before creating your organisation, you first need to create a free personal account." - }, - "refunded": { - "message": "Refunded" - }, - "nothingSelected": { - "message": "You have not selected anything." - }, - "acceptPolicies": { - "message": "By checking this box you agree to the following:" - }, - "acceptPoliciesError": { - "message": "Terms of service and privacy policy have not been acknowledged." - }, - "termsOfService": { - "message": "Terms of service" - }, - "privacyPolicy": { - "message": "Privacy policy" - }, - "filters": { - "message": "Filters" - }, - "vaultTimeout": { - "message": "Vault timeout" - }, - "vaultTimeoutDesc": { - "message": "Choose when your vault will timeout and perform the selected action." - }, - "oneMinute": { - "message": "1 minute" - }, - "fiveMinutes": { - "message": "5 minutes" - }, - "fifteenMinutes": { - "message": "15 minutes" - }, - "thirtyMinutes": { - "message": "30 minutes" - }, - "oneHour": { - "message": "1 hour" - }, - "fourHours": { - "message": "4 hours" - }, - "onRefresh": { - "message": "On browser refresh" - }, - "dateUpdated": { - "message": "Updated", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Password updated", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "Organisation is disabled." - }, - "licenseIsExpired": { - "message": "Licence is expired." - }, - "updatedUsers": { - "message": "Updated users" - }, - "selected": { - "message": "Selected" - }, - "ownership": { - "message": "Ownership" - }, - "whoOwnsThisItem": { - "message": "Who owns this item?" - }, - "strong": { - "message": "Strong", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Good", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Weak", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Very weak", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Weak master password" - }, - "weakMasterPasswordDesc": { - "message": "The master password you have chosen is weak. You should use a strong master password (or a passphrase) to properly protect your Bitwarden account. Are you sure you want to use this master password?" - }, - "rotateAccountEncKey": { - "message": "Also rotate my account's encryption key" - }, - "rotateEncKeyTitle": { - "message": "Rotate encryption key" - }, - "rotateEncKeyConfirmation": { - "message": "Are you sure you want to rotate your account's encryption key?" - }, - "attachmentsNeedFix": { - "message": "This item has old file attachments that need to be fixed." - }, - "attachmentFixDesc": { - "message": "This is an old file attachment the needs to be fixed. Click to learn more." - }, - "fix": { - "message": "Fix", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "There are old file attachments in your vault that need to be fixed before you can rotate your account's encryption key." - }, - "yourAccountsFingerprint": { - "message": "Your account's fingerprint phrase", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "To ensure the integrity of your encryption keys, please verify the user's fingerprint phrase before continuing.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Don't ask to verify fingerprint phrase again", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Free", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "API key" - }, - "apiKeyDesc": { - "message": "Your API key can be used to authenticate to the Bitwarden public API." - }, - "apiKeyRotateDesc": { - "message": "Rotating the API key will invalidate the previous key. You can rotate your API key if you believe that the current key is no longer safe to use." - }, - "apiKeyWarning": { - "message": "Your API key has full access to the organisation. It should be kept secret." - }, - "userApiKeyDesc": { - "message": "Your API key can be used to authenticate in the Bitwarden CLI." - }, - "userApiKeyWarning": { - "message": "Your API key is an alternative authentication mechanism. It should be kept secret." - }, - "oauth2ClientCredentials": { - "message": "OAuth 2.0 client credentials", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "View API key" - }, - "rotateApiKey": { - "message": "Rotate API key" - }, - "selectOneCollection": { - "message": "You must select at least one collection." - }, - "couldNotChargeCardPayInvoice": { - "message": "We were not able to charge your card. Please view and pay the unpaid invoice listed below." - }, - "inAppPurchase": { - "message": "In-app purchase" - }, - "cannotPerformInAppPurchase": { - "message": "You cannot perform this action while using an in-app purchase payment method." - }, - "manageSubscriptionFromStore": { - "message": "You must manage your subscription from the store where your in-app purchase was made." - }, - "minLength": { - "message": "Minimum length" - }, - "clone": { - "message": "Clone" - }, - "masterPassPolicyDesc": { - "message": "Set minimum requirements for master password strength." - }, - "twoStepLoginPolicyDesc": { - "message": "Require users to set up two-step login on their personal accounts." - }, - "twoStepLoginPolicyWarning": { - "message": "Organisation members who are not Owners or Administrators and do not have two-step login enabled for their personal account will be removed from the organisation and will receive an email notifying them about the change." - }, - "twoStepLoginPolicyUserWarning": { - "message": "You are a member of an organisation that requires two-step login to be enabled on your user account. If you disable all two-step login providers you will be automatically removed from these organisations." - }, - "passwordGeneratorPolicyDesc": { - "message": "Set minimum requirements for password generator configuration." - }, - "passwordGeneratorPolicyInEffect": { - "message": "One or more organisation policies are affecting your generator settings." - }, - "masterPasswordPolicyInEffect": { - "message": "One or more organisation policies require your master password to meet the following requirements:" - }, - "policyInEffectMinComplexity": { - "message": "Minimum complexity score of $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Minimum length of $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Contain one or more uppercase characters" - }, - "policyInEffectLowercase": { - "message": "Contain one or more lowercase characters" - }, - "policyInEffectNumbers": { - "message": "Contain one or more numbers" - }, - "policyInEffectSpecial": { - "message": "Contain one or more of the following special characters $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Your new master password does not meet the policy requirements." - }, - "minimumNumberOfWords": { - "message": "Minimum number of words" - }, - "defaultType": { - "message": "Default type" - }, - "userPreference": { - "message": "User preference" - }, - "vaultTimeoutAction": { - "message": "Vault timeout action" - }, - "vaultTimeoutActionLockDesc": { - "message": "A locked vault requires that you re-enter your master password to access it again." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "A logged out vault requires that you re-authenticate to access it again." - }, - "lock": { - "message": "Lock", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Bin", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Search bin" - }, - "permanentlyDelete": { - "message": "Permanently delete" - }, - "permanentlyDeleteSelected": { - "message": "Permanently delete selected" - }, - "permanentlyDeleteItem": { - "message": "Permanently delete item" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Are you sure you want to permanently delete this item?" - }, - "permanentlyDeletedItem": { - "message": "Permanently deleted item" - }, - "permanentlyDeletedItems": { - "message": "Permanently deleted items" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to permanently delete. Are you sure you want to permanently delete all of these items?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Permanently deleted item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Restore" - }, - "restoreSelected": { - "message": "Restore selected" - }, - "restoreItem": { - "message": "Restore item" - }, - "restoredItem": { - "message": "Restored item" - }, - "restoredItems": { - "message": "Restored items" - }, - "restoreItemConfirmation": { - "message": "Are you sure you want to restore this item?" - }, - "restoreItems": { - "message": "Restore items" - }, - "restoreSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to restore. Are you sure you want to restore all of these items?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Restored item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Logging out will remove all access to your vault and requires online authentication after the timeout period. Are you sure you want to use this setting?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Timeout action confirmation" - }, - "hidePasswords": { - "message": "Hide passwords" - }, - "countryPostalCodeRequiredDesc": { - "message": "We require this information for calculating sales tax and financial reporting only." - }, - "includeVAT": { - "message": "Include VAT/GST information (optional)" - }, - "taxIdNumber": { - "message": "VAT/GST tax ID" - }, - "taxInfoUpdated": { - "message": "Tax information updated." - }, - "setMasterPassword": { - "message": "Set master password" - }, - "ssoCompleteRegistration": { - "message": "In order to complete logging in with SSO, please set a master password to access and protect your vault." - }, - "identifier": { - "message": "Identifier" - }, - "organizationIdentifier": { - "message": "Organisation identifier" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Log in using your organisation's single sign-on portal. Please enter your organisation's identifier to begin." - }, - "enterpriseSingleSignOn": { - "message": "Enterprise single sign-on" - }, - "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." - }, - "businessPortal": { - "message": "Business portal", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "All Teams features, plus:" - }, - "includeSsoAuthentication": { - "message": "SSO authentication via SAML2.0 and OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Enterprise policies" - }, - "ssoValidationFailed": { - "message": "SSO validation failed" - }, - "ssoIdentifierRequired": { - "message": "Organisation identifier is required." - }, - "unlinkSso": { - "message": "Unlink SSO" - }, - "linkSso": { - "message": "Link SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "Policy configuration has been moved, and this page will soon be deprecated. Please click below to use the Business Portal policies page instead." - }, - "singleOrg": { - "message": "Single organisation" - }, - "singleOrgDesc": { - "message": "Restrict users from being able to join any other organisations." - }, - "singleOrgBlockCreateMessage": { - "message": "Your current organisation has a policy that does not allow you to join more than one organisation. Please contact your organisation admins or sign up from a different Bitwarden account." - }, - "singleOrgPolicyWarning": { - "message": "Organisation members who are not Owners or Administrators and are already a member of another organisation will be removed from your organisation." - }, - "requireSso": { - "message": "Single sign-on authentication" - }, - "requireSsoPolicyDesc": { - "message": "Require users to log in with the Enterprise Single Sign-On method." - }, - "prerequisite": { - "message": "Prerequisite" - }, - "requireSsoPolicyReq": { - "message": "The Single Organisation enterprise policy must be enabled before activating this policy." - }, - "requireSsoPolicyReqError": { - "message": "Single Organisation policy not enabled." - }, - "requireSsoExemption": { - "message": "Organisation Owners and Administrators are exempt from this policy's enforcement." - }, - "sendTypeFile": { - "message": "File" - }, - "sendTypeText": { - "message": "Text" - }, - "createSend": { - "message": "Create new send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Edit send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Created send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Edited send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Deleted send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Delete send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Are you sure you want to delete this send?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "What type of send is this?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Deletion date" - }, - "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Expiration date" - }, - "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Maximum access count" - }, - "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Current access count" - }, - "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Private notes about this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Disabled" - }, - "sendLink": { - "message": "Send link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Copy send link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Remove password" - }, - "removedPassword": { - "message": "Removed password" - }, - "removePasswordConfirmation": { - "message": "Are you sure you want to remove the password?" - }, - "disableThisSend": { - "message": "Disable this Send so that no one can access it.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "All sends" - }, - "maxAccessCountReached": { - "message": "Max access count reached" - }, - "pendingDeletion": { - "message": "Pending deletion" - }, - "expired": { - "message": "Expired" - }, - "searchSends": { - "message": "Search sends", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "This send is protected with a password. Please type the password below to continue.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Don't know the password? Ask the sender for the password needed to access this send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "This send is hidden by default. You can toggle its visibility using the button below.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Download file" - }, - "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "There are no sends to list.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Emergency Access" - }, - "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." - }, - "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" - }, - "noTrustedContacts": { - "message": "You have not added any emergency contacts yet; invite a trusted contact to get started." - }, - "addEmergencyContact": { - "message": "Add emergency contact" - }, - "designatedEmergencyContacts": { - "message": "Designated as emergency contact" - }, - "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." - }, - "inviteEmergencyContact": { - "message": "Invite emergency contact" - }, - "editEmergencyContact": { - "message": "Edit emergency contact" - }, - "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" - }, - "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" - }, - "viewDesc": { - "message": "Can view all items in your own vault." - }, - "takeover": { - "message": "Takeover" - }, - "takeoverDesc": { - "message": "Can reset your account with a new master password." - }, - "waitTime": { - "message": "Wait Time" - }, - "waitTimeDesc": { - "message": "Time required before automatically granting access." - }, - "oneDay": { - "message": "1 day" - }, - "days": { - "message": "$DAYS$ days", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Invited user." - }, - "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." - }, - "requestAccess": { - "message": "Request Access" - }, - "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Approve" - }, - "reject": { - "message": "Reject" - }, - "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Emergency access approved." - }, - "emergencyRejected": { - "message": "Emergency access rejected" - }, - "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Personal Ownership" - }, - "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organisation by removing the personal ownership option." - }, - "personalOwnershipExemption": { - "message": "Organisation Owners and Administrators are exempt from this policy's enforcement." - }, - "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organisation and choose from available Collections." - }, - "modifiedPolicyId": { - "message": "Modified policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Plan price" - }, - "estimatedTax": { - "message": "Estimated tax" - }, - "custom": { - "message": "Custom" - }, - "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." - }, - "permissions": { - "message": "Permissions" - }, - "accessBusinessPortal": { - "message": "Access Business Portal" - }, - "accessEventLogs": { - "message": "Access Event Logs" - }, - "accessImportExport": { - "message": "Access Import/Export" - }, - "accessReports": { - "message": "Access Reports" - }, - "manageAllCollections": { - "message": "Manage All Collections" - }, - "manageAssignedCollections": { - "message": "Manage Assigned Collections" - }, - "manageGroups": { - "message": "Manage Groups" - }, - "managePolicies": { - "message": "Manage Policies" - }, - "manageSso": { - "message": "Manage SSO" - }, - "manageUsers": { - "message": "Manage Users" - }, - "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." - }, - "personalOwnershipPolicyInEffect": { - "message": "An organisation policy is affecting your ownership options." - }, - "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organisation users" - }, - "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/en_IN/messages.json b/locales/en_IN/messages.json deleted file mode 100644 index d2a3f32e..00000000 --- a/locales/en_IN/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$ Web Vault", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "What type of item is this?" - }, - "name": { - "message": "Name" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "New URI" - }, - "username": { - "message": "Username" - }, - "password": { - "message": "Password" - }, - "newPassword": { - "message": "New Password" - }, - "passphrase": { - "message": "Passphrase" - }, - "notes": { - "message": "Notes" - }, - "customFields": { - "message": "Custom fields" - }, - "cardholderName": { - "message": "Cardholder name" - }, - "number": { - "message": "Number" - }, - "brand": { - "message": "Brand" - }, - "expiration": { - "message": "Expiration" - }, - "securityCode": { - "message": "Security code (CVV)" - }, - "identityName": { - "message": "Identity name" - }, - "company": { - "message": "Company" - }, - "ssn": { - "message": "Aadhar Number" - }, - "passportNumber": { - "message": "Passport number" - }, - "licenseNumber": { - "message": "Licence number" - }, - "email": { - "message": "Email" - }, - "phone": { - "message": "Phone" - }, - "january": { - "message": "January" - }, - "february": { - "message": "February" - }, - "march": { - "message": "March" - }, - "april": { - "message": "April" - }, - "may": { - "message": "May" - }, - "june": { - "message": "June" - }, - "july": { - "message": "July" - }, - "august": { - "message": "August" - }, - "september": { - "message": "September" - }, - "october": { - "message": "October" - }, - "november": { - "message": "November" - }, - "december": { - "message": "December" - }, - "title": { - "message": "Title" - }, - "mr": { - "message": "Mr" - }, - "mrs": { - "message": "Mrs" - }, - "ms": { - "message": "Ms" - }, - "dr": { - "message": "Dr" - }, - "expirationMonth": { - "message": "Expiration month" - }, - "expirationYear": { - "message": "Expiration year" - }, - "authenticatorKeyTotp": { - "message": "Authenticator key (TOTP)" - }, - "folder": { - "message": "Folder" - }, - "newCustomField": { - "message": "New custom field" - }, - "value": { - "message": "Value" - }, - "dragToSort": { - "message": "Drag to sort" - }, - "cfTypeText": { - "message": "Text" - }, - "cfTypeHidden": { - "message": "Hidden" - }, - "cfTypeBoolean": { - "message": "Boolean" - }, - "remove": { - "message": "Remove" - }, - "unassigned": { - "message": "Unassigned" - }, - "noneFolder": { - "message": "No folder", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Add folder" - }, - "editFolder": { - "message": "Edit folder" - }, - "baseDomain": { - "message": "Base domain" - }, - "host": { - "message": "Host", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Exact" - }, - "startsWith": { - "message": "Starts with" - }, - "regEx": { - "message": "Regular expression", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Match detection", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Default match detection", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Never" - }, - "toggleVisibility": { - "message": "Toggle visibility" - }, - "toggleCollapse": { - "message": "Toggle collapse", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Generate password" - }, - "checkPassword": { - "message": "Check if password has been exposed." - }, - "passwordExposed": { - "message": "This password has been exposed $VALUE$ time(s) in data breaches. You should change it.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "This password was not found in any known data breaches. It should be safe to use." - }, - "save": { - "message": "Save" - }, - "cancel": { - "message": "Cancel" - }, - "canceled": { - "message": "Cancelled" - }, - "close": { - "message": "Close" - }, - "delete": { - "message": "Delete" - }, - "favorite": { - "message": "Favourite" - }, - "unfavorite": { - "message": "Unfavourite" - }, - "edit": { - "message": "Edit" - }, - "searchCollection": { - "message": "Search collection" - }, - "searchFolder": { - "message": "Search folder" - }, - "searchFavorites": { - "message": "Search favourites" - }, - "searchType": { - "message": "Search type", - "description": "Search item type" - }, - "searchVault": { - "message": "Search vault" - }, - "allItems": { - "message": "All items" - }, - "favorites": { - "message": "Favourites" - }, - "types": { - "message": "Types" - }, - "typeLogin": { - "message": "Login" - }, - "typeCard": { - "message": "Card" - }, - "typeIdentity": { - "message": "Identity" - }, - "typeSecureNote": { - "message": "Secure note" - }, - "folders": { - "message": "Folders" - }, - "collections": { - "message": "Collections" - }, - "firstName": { - "message": "First name" - }, - "middleName": { - "message": "Middle name" - }, - "lastName": { - "message": "Last name" - }, - "address1": { - "message": "Address 1" - }, - "address2": { - "message": "Address 2" - }, - "address3": { - "message": "Address 3" - }, - "cityTown": { - "message": "City / town" - }, - "stateProvince": { - "message": "State / Union territory" - }, - "zipPostalCode": { - "message": "Postcode" - }, - "country": { - "message": "Country" - }, - "shared": { - "message": "Shared" - }, - "attachments": { - "message": "Attachments" - }, - "select": { - "message": "Select" - }, - "addItem": { - "message": "Add item" - }, - "editItem": { - "message": "Edit item" - }, - "viewItem": { - "message": "View item" - }, - "ex": { - "message": "e.g.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Other" - }, - "share": { - "message": "Share" - }, - "valueCopied": { - "message": "$VALUE$ copied", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Copy value", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Copy password", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Copy username", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Copy number", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Copy security code", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Copy URI", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "My vault" - }, - "vault": { - "message": "Vault" - }, - "shareSelected": { - "message": "Share selected" - }, - "deleteSelected": { - "message": "Delete selected" - }, - "moveSelected": { - "message": "Move selected" - }, - "selectAll": { - "message": "Select all" - }, - "unselectAll": { - "message": "Unselect all" - }, - "launch": { - "message": "Launch" - }, - "newAttachment": { - "message": "Add new attachment" - }, - "deletedAttachment": { - "message": "Deleted attachment" - }, - "deleteAttachmentConfirmation": { - "message": "Are you sure you want to delete this attachment?" - }, - "attachmentSaved": { - "message": "The attachment has been saved." - }, - "file": { - "message": "File" - }, - "selectFile": { - "message": "Select a file." - }, - "maxFileSize": { - "message": "Maximum file size is 100 MB." - }, - "updateKey": { - "message": "You cannot use this feature until you update your encryption key." - }, - "addedItem": { - "message": "Added item" - }, - "editedItem": { - "message": "Edited item" - }, - "sharedItem": { - "message": "Shared item" - }, - "sharedItems": { - "message": "Shared items" - }, - "deleteItem": { - "message": "Delete item" - }, - "deleteFolder": { - "message": "Delete folder" - }, - "deleteAttachment": { - "message": "Delete attachment" - }, - "deleteItemConfirmation": { - "message": "Are you sure you want to delete this item?" - }, - "deletedItem": { - "message": "Item sent to bin" - }, - "deletedItems": { - "message": "Items sent to bin" - }, - "movedItems": { - "message": "Moved items" - }, - "overwritePasswordConfirmation": { - "message": "Are you sure you want to overwrite the current password?" - }, - "editedFolder": { - "message": "Edited folder" - }, - "addedFolder": { - "message": "Added folder" - }, - "deleteFolderConfirmation": { - "message": "Are you sure you want to delete this folder?" - }, - "deletedFolder": { - "message": "Deleted folder" - }, - "loggedOut": { - "message": "Logged out" - }, - "loginExpired": { - "message": "Your login session has expired." - }, - "logOutConfirmation": { - "message": "Are you sure you want to log out?" - }, - "logOut": { - "message": "Log out" - }, - "ok": { - "message": "OK" - }, - "yes": { - "message": "Yes" - }, - "no": { - "message": "No" - }, - "loginOrCreateNewAccount": { - "message": "Log in or create a new account to access your secure vault." - }, - "createAccount": { - "message": "Create account" - }, - "logIn": { - "message": "Log in" - }, - "submit": { - "message": "Submit" - }, - "emailAddressDesc": { - "message": "You'll use your email address to log in." - }, - "yourName": { - "message": "Your name" - }, - "yourNameDesc": { - "message": "What should we call you?" - }, - "masterPass": { - "message": "Master password" - }, - "masterPassDesc": { - "message": "The master password is the password you use to access your vault. It is very important that you do not forget your master password. There is no way to recover the password in the event that you forget it." - }, - "masterPassHintDesc": { - "message": "A master password hint can help you remember your password if you forget it." - }, - "reTypeMasterPass": { - "message": "Re-type master password" - }, - "masterPassHint": { - "message": "Master password hint (optional)" - }, - "masterPassHintLabel": { - "message": "Master password hint" - }, - "settings": { - "message": "Settings" - }, - "passwordHint": { - "message": "Password hint" - }, - "enterEmailToGetHint": { - "message": "Enter your account email address to receive your master password hint." - }, - "getMasterPasswordHint": { - "message": "Get master password hint" - }, - "emailRequired": { - "message": "Email address is required." - }, - "invalidEmail": { - "message": "Invalid email address." - }, - "masterPassRequired": { - "message": "Master password is required." - }, - "masterPassLength": { - "message": "Master password must be at least 8 characters long." - }, - "masterPassDoesntMatch": { - "message": "Master password confirmation does not match." - }, - "newAccountCreated": { - "message": "Your new account has been created! You may now log in." - }, - "masterPassSent": { - "message": "We've sent you an email with your master password hint." - }, - "unexpectedError": { - "message": "An unexpected error has occurred." - }, - "emailAddress": { - "message": "Email address" - }, - "yourVaultIsLocked": { - "message": "Your vault is locked. Verify your master password to continue." - }, - "unlock": { - "message": "Unlock" - }, - "loggedInAsEmailOn": { - "message": "Logged in as $EMAIL$ on $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Invalid master password" - }, - "lockNow": { - "message": "Lock now" - }, - "noItemsInList": { - "message": "There are no items to list." - }, - "noCollectionsInList": { - "message": "There are no collections to list." - }, - "noGroupsInList": { - "message": "There are no groups to list." - }, - "noUsersInList": { - "message": "There are no users to list." - }, - "noEventsInList": { - "message": "There are no events to list." - }, - "newOrganization": { - "message": "New organisation" - }, - "noOrganizationsList": { - "message": "You do not belong to any organisations. Organisations allow you to securely share items with other users." - }, - "versionNumber": { - "message": "Version $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Enter the 6 digit verification code from your authenticator app." - }, - "enterVerificationCodeEmail": { - "message": "Enter the 6 digit verification code that was emailed to $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "Verification email sent to $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Remember me" - }, - "sendVerificationCodeEmailAgain": { - "message": "Send verification code email again" - }, - "useAnotherTwoStepMethod": { - "message": "Use another two-step login method" - }, - "insertYubiKey": { - "message": "Insert your YubiKey into your computer's USB port, then touch its button." - }, - "insertU2f": { - "message": "Insert your security key into your computer's USB port. If it has a button, touch it." - }, - "loginUnavailable": { - "message": "Login unavailable" - }, - "noTwoStepProviders": { - "message": "This account has two-step login enabled. However, none of the configured two-step providers are supported by this web browser." - }, - "noTwoStepProviders2": { - "message": "Please use a supported web browser (such as Chrome) and/or add additional providers that are better supported across web browsers (such as an authenticator app)." - }, - "twoStepOptions": { - "message": "Two-step login options" - }, - "recoveryCodeDesc": { - "message": "Lost access to all of your two-factor providers? Use your recovery code to disable all two-factor providers from your account." - }, - "recoveryCodeTitle": { - "message": "Recovery code" - }, - "authenticatorAppTitle": { - "message": "Authenticator app" - }, - "authenticatorAppDesc": { - "message": "Use an authenticator app (such as Authy or Google Authenticator) to generate time-based verification codes.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "YubiKey OTP security key" - }, - "yubiKeyDesc": { - "message": "Use a YubiKey to access your account. Works with YubiKey 4 series, 5 series, and NEO devices." - }, - "duoDesc": { - "message": "Verify with Duo Security using the Duo Mobile app, SMS, phone call, or U2F security key.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Verify with Duo Security for your organisation using the Duo Mobile app, SMS, phone call, or U2F security key.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Use any FIDO U2F enabled security key to access your account." - }, - "u2fTitle": { - "message": "FIDO U2F security key" - }, - "emailTitle": { - "message": "Email" - }, - "emailDesc": { - "message": "Verification codes will be emailed to you." - }, - "continue": { - "message": "Continue" - }, - "organization": { - "message": "Organisation" - }, - "organizations": { - "message": "Organisations" - }, - "shareDesc": { - "message": "Choose an organisation that you wish to share this item with. Sharing transfers ownership of the item to the organisation. You will no longer be the direct owner of this item once it has been shared." - }, - "shareManyDesc": { - "message": "Choose an organisation that you wish to share these items with. Sharing transfers ownership of the items to the organisation. You will no longer be the direct owner of these items once they have been shared." - }, - "collectionsDesc": { - "message": "Edit the collections that this item is being shared with. Only organisation users with access to these collections will be able to see this item." - }, - "deleteSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to delete. Are you sure you want to delete all of these items?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Choose a folder that you would like to move the $COUNT$ selected item(s) to.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "You have selected $COUNT$ item(s). $SHAREABLE_COUNT$ items are sharable, $NONSHAREABLE_COUNT$ are not.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Verification code (TOTP)" - }, - "copyVerificationCode": { - "message": "Copy verification code" - }, - "warning": { - "message": "Warning" - }, - "confirmVaultExport": { - "message": "Confirm Vault Export" - }, - "exportWarningDesc": { - "message": "This export contains your vault data in an unencrypted format. You should not store or send the exported file over insecure channels (such as email). Delete it immediately after you are done using it." - }, - "encExportWarningDesc": { - "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." - }, - "exportMasterPassword": { - "message": "Enter your master password to export your vault data." - }, - "exportVault": { - "message": "Export vault" - }, - "fileFormat": { - "message": "File format" - }, - "exportSuccess": { - "message": "Your vault data has been exported." - }, - "passwordGenerator": { - "message": "Password generator" - }, - "minComplexityScore": { - "message": "Minimum complexity score" - }, - "minNumbers": { - "message": "Minimum numbers" - }, - "minSpecial": { - "message": "Minimum special", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Avoid ambiguous characters" - }, - "regeneratePassword": { - "message": "Regenerate password" - }, - "length": { - "message": "Length" - }, - "numWords": { - "message": "Number of words" - }, - "wordSeparator": { - "message": "Word separator" - }, - "capitalize": { - "message": "Capitalise", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Include number" - }, - "passwordHistory": { - "message": "Password history" - }, - "noPasswordsInList": { - "message": "There are no passwords to list." - }, - "clear": { - "message": "Clear", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Account updated" - }, - "changeEmail": { - "message": "Change email" - }, - "newEmail": { - "message": "New email" - }, - "code": { - "message": "Code" - }, - "changeEmailDesc": { - "message": "We have emailed a verification code to $EMAIL$. Please check your email for this code and enter it below to finalise the email address change.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour." - }, - "emailChanged": { - "message": "Email changed" - }, - "logBackIn": { - "message": "Please log back in." - }, - "logBackInOthersToo": { - "message": "Please log back in. If you are using other Bitwarden applications, log out and back in to those as well." - }, - "changeMasterPassword": { - "message": "Change master password" - }, - "masterPasswordChanged": { - "message": "Master password changed" - }, - "currentMasterPass": { - "message": "Current master password" - }, - "newMasterPass": { - "message": "New master password" - }, - "confirmNewMasterPass": { - "message": "Confirm new master password" - }, - "encKeySettings": { - "message": "Encryption key settings" - }, - "kdfAlgorithm": { - "message": "KDF algorithm" - }, - "kdfIterations": { - "message": "KDF iterations" - }, - "kdfIterationsDesc": { - "message": "Higher KDF iterations can help protect your master password from being brute forced by an attacker. We recommend a value of $VALUE$ or more.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Setting your KDF iterations too high could result in poor performance when logging into (and unlocking) Bitwarden on devices with slower CPUs. We recommend that you increase the value in increments of $INCREMENT$ and then test all of your devices.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Change KDF" - }, - "encKeySettingsChanged": { - "message": "Encryption key settings changed" - }, - "dangerZone": { - "message": "Danger zone" - }, - "dangerZoneDesc": { - "message": "Careful, these actions are not reversible!" - }, - "deauthorizeSessions": { - "message": "Deauthorise sessions" - }, - "deauthorizeSessionsDesc": { - "message": "Concerned your account is logged in on another device? Proceed below to deauthorise all computers or devices that you have previously used. This security step is recommended if you previously used a public computer or accidentally saved your password on a device that isn't yours. This step will also clear all previously remembered two-step login sessions." - }, - "deauthorizeSessionsWarning": { - "message": "Proceeding will also log you out of your current session, requiring you to log back in. You will also be prompted for two-step login again, if enabled. Active sessions on other devices may continue to remain active for up to one hour." - }, - "sessionsDeauthorized": { - "message": "All sessions deauthorised" - }, - "purgeVault": { - "message": "Purge vault" - }, - "purgedOrganizationVault": { - "message": "Purged organisation vault." - }, - "purgeVaultDesc": { - "message": "Proceed below to delete all items and folders in your vault. Items that belong to an organisation that you share with will not be deleted." - }, - "purgeOrgVaultDesc": { - "message": "Proceed below to delete all items in the organisation's vault." - }, - "purgeVaultWarning": { - "message": "Purging your vault is permanent. It cannot be undone." - }, - "vaultPurged": { - "message": "Your vault has been purged." - }, - "deleteAccount": { - "message": "Delete account" - }, - "deleteAccountDesc": { - "message": "Proceed below to delete your account and all associated data." - }, - "deleteAccountWarning": { - "message": "Deleting your account is permanent. It cannot be undone." - }, - "accountDeleted": { - "message": "Account deleted" - }, - "accountDeletedDesc": { - "message": "Your account has been closed and all associated data has been deleted." - }, - "myAccount": { - "message": "My account" - }, - "tools": { - "message": "Tools" - }, - "importData": { - "message": "Import data" - }, - "importSuccess": { - "message": "Data has been successfully imported into your vault." - }, - "importFormatError": { - "message": "Data is not formatted correctly. Please check your import file and try again." - }, - "importNothingError": { - "message": "Nothing was imported." - }, - "selectFormat": { - "message": "Select the format of the import file" - }, - "selectImportFile": { - "message": "Select the import file" - }, - "orCopyPasteFileContents": { - "message": "or copy/paste the import file contents" - }, - "instructionsFor": { - "message": "$NAME$ instructions", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Options" - }, - "optionsDesc": { - "message": "Customise your web vault experience." - }, - "optionsUpdated": { - "message": "Options updated" - }, - "language": { - "message": "Language" - }, - "languageDesc": { - "message": "Change the language used by the web vault." - }, - "disableIcons": { - "message": "Disable website icons" - }, - "disableIconsDesc": { - "message": "Website icons provide a recognisable image next to each login item in your vault." - }, - "enableGravatars": { - "message": "Enable Gravatars", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Use avatar images loaded from gravatar.com." - }, - "enableFullWidth": { - "message": "Enable full width layout", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Allow the web vault to expand the full width of the browser window." - }, - "default": { - "message": "Default" - }, - "domainRules": { - "message": "Domain rules" - }, - "domainRulesDesc": { - "message": "If you have the same login across multiple different website domains, you can mark the website as \"equivalent\". \"Global\" domains are ones already created for you by Bitwarden." - }, - "globalEqDomains": { - "message": "Global equivalent domains" - }, - "customEqDomains": { - "message": "Custom equivalent domains" - }, - "exclude": { - "message": "Exclude" - }, - "include": { - "message": "Include" - }, - "customize": { - "message": "Customise" - }, - "newCustomDomain": { - "message": "New custom domain" - }, - "newCustomDomainDesc": { - "message": "Enter a list of domains separated by commas. Only \"base\" domains are allowed. Do not enter sub-domains. For example, enter \"google.com\" instead of \"www.google.com\". You can also enter \"androidapp://package.name\" to associate an Android app with other website domains." - }, - "customDomainX": { - "message": "Custom domain $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Domains updated" - }, - "twoStepLogin": { - "message": "Two-step login" - }, - "twoStepLoginDesc": { - "message": "Secure your account by requiring an additional step when logging in." - }, - "twoStepLoginOrganizationDesc": { - "message": "Require two-step login for your organisation's users by configuring providers at the organisation level." - }, - "twoStepLoginRecoveryWarning": { - "message": "Enabling two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (e.g. you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." - }, - "viewRecoveryCode": { - "message": "View recovery code" - }, - "providers": { - "message": "Providers", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Enable" - }, - "enabled": { - "message": "Enabled" - }, - "premium": { - "message": "Premium", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Premium membership" - }, - "premiumRequired": { - "message": "Premium required" - }, - "premiumRequiredDesc": { - "message": "A premium membership is required to use this feature." - }, - "youHavePremiumAccess": { - "message": "You have premium access" - }, - "alreadyPremiumFromOrg": { - "message": "You already have access to premium features because of an organisation of which you are a member." - }, - "manage": { - "message": "Manage" - }, - "disable": { - "message": "Disable" - }, - "twoStepLoginProviderEnabled": { - "message": "This two-step login provider is enabled on your account." - }, - "twoStepLoginAuthDesc": { - "message": "Enter your master password to modify two-step login settings." - }, - "twoStepAuthenticatorDesc": { - "message": "Follow these steps to set up two-step login with an authenticator app:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Download a two-step authenticator app" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Need a two-step authenticator app? Download one of the following" - }, - "iosDevices": { - "message": "iOS devices" - }, - "androidDevices": { - "message": "Android devices" - }, - "windowsDevices": { - "message": "Windows devices" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "These apps are recommended. However, other authenticator apps will also work." - }, - "twoStepAuthenticatorScanCode": { - "message": "Scan this QR code with your authenticator app" - }, - "key": { - "message": "Key" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Enter the resulting 6 digit verification code from the app" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "In case you need to add it to another device, below is the QR code (or key) required by your authenticator app." - }, - "twoStepDisableDesc": { - "message": "Are you sure you want to disable this two-step login provider?" - }, - "twoStepDisabled": { - "message": "Two-step login provider disabled." - }, - "twoFactorYubikeyAdd": { - "message": "Add a new YubiKey to your account" - }, - "twoFactorYubikeyPlugIn": { - "message": "Plug the YubiKey into your computer's USB port." - }, - "twoFactorYubikeySelectKey": { - "message": "Select the first empty YubiKey input field below." - }, - "twoFactorYubikeyTouchButton": { - "message": "Touch the YubiKey's button." - }, - "twoFactorYubikeySaveForm": { - "message": "Save the form." - }, - "twoFactorYubikeyWarning": { - "message": "Due to platform limitations, YubiKeys cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when YubiKeys cannot be used. Supported platforms:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Web vault, desktop application, CLI, and all browser extensions on a device with a USB port that can accept your YubiKey." - }, - "twoFactorYubikeySupportMobile": { - "message": "Mobile apps on a device with NFC capabilities or a USB port that can accept your YubiKey." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "U2F key $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "NFC support" - }, - "twoFactorYubikeySupportsNfc": { - "message": "One of my keys supports NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "If one of your YubiKeys supports NFC (such as a YubiKey NEO), you will be prompted on mobile devices whenever NFC availability is detected." - }, - "yubikeysUpdated": { - "message": "YubiKeys updated" - }, - "disableAllKeys": { - "message": "Disable all keys" - }, - "twoFactorDuoDesc": { - "message": "Enter the Bitwarden application information from your Duo Admin panel." - }, - "twoFactorDuoIntegrationKey": { - "message": "Integration key" - }, - "twoFactorDuoSecretKey": { - "message": "Secret key" - }, - "twoFactorDuoApiHostname": { - "message": "API hostname" - }, - "twoFactorEmailDesc": { - "message": "Follow these steps to set up two-step login with email:" - }, - "twoFactorEmailEnterEmail": { - "message": "Enter the email that you wish to receive verification codes" - }, - "twoFactorEmailEnterCode": { - "message": "Enter the resulting 6 digit verification code from the email" - }, - "sendEmail": { - "message": "Send email" - }, - "twoFactorU2fAdd": { - "message": "Add a FIDO U2F security key to your account" - }, - "removeU2fConfirmation": { - "message": "Are you sure you want to remove this security key?" - }, - "readKey": { - "message": "Read key" - }, - "keyCompromised": { - "message": "Key is compromised." - }, - "twoFactorU2fGiveName": { - "message": "Give the security key a friendly name to identify it." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Plug the security key into your computer's USB port and click the \"Read key\" button." - }, - "twoFactorU2fTouchButton": { - "message": "If the security key has a button, touch it." - }, - "twoFactorU2fSaveForm": { - "message": "Save the form." - }, - "twoFactorU2fWarning": { - "message": "Due to platform limitations, FIDO U2F cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when FIDO U2F cannot be used. Supported platforms:" - }, - "twoFactorU2fSupportWeb": { - "message": "Web vault and browser extensions on a desktop/laptop with a U2F enabled browser (Chrome, Opera, Vivaldi, or Firefox with FIDO U2F enabled)." - }, - "twoFactorU2fWaiting": { - "message": "Waiting for you to touch the button on your security key" - }, - "twoFactorU2fClickSave": { - "message": "Click the \"Save\" button below to enable this security key for two-step login." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "There was a problem reading the security key. Try again." - }, - "twoFactorRecoveryYourCode": { - "message": "Your Bitwarden two-step login recovery code" - }, - "twoFactorRecoveryNoCode": { - "message": "You have not enabled any two-step login providers yet. After you have enabled a two-step login provider you can check back here for your recovery code." - }, - "printCode": { - "message": "Print code", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Reports" - }, - "unsecuredWebsitesReport": { - "message": "Unsecured websites report" - }, - "unsecuredWebsitesReportDesc": { - "message": "Using unsecured websites with the http:// scheme can be dangerous. If the website allows, you should always access it using the https:// scheme so that your connection is encrypted." - }, - "unsecuredWebsitesFound": { - "message": "Unsecured websites found" - }, - "unsecuredWebsitesFoundDesc": { - "message": "We found $COUNT$ items in your vault with unsecured URIs. You should change their URI scheme to https:// if the website allows it.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "No items in your vault have unsecured URIs." - }, - "inactive2faReport": { - "message": "Inactive 2FA report" - }, - "inactive2faReportDesc": { - "message": "Two-factor authentication (2FA) is an important security setting that helps secure your accounts. If the website offers it, you should always enable two-factor authentication." - }, - "inactive2faFound": { - "message": "Logins without 2FA found" - }, - "inactive2faFoundDesc": { - "message": "We found $COUNT$ website(s) in your vault that may not be configured with two-factor authentication (according to 2fa.directory). To further protect these accounts, you should enable two-factor authentication.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "No websites were found in your vault with a missing two-factor authentication configuration." - }, - "instructions": { - "message": "Instructions" - }, - "exposedPasswordsReport": { - "message": "Exposed passwords report" - }, - "exposedPasswordsReportDesc": { - "message": "Exposed passwords are passwords that have been uncovered in known data breaches that were released publicly or sold on the dark web by hackers." - }, - "exposedPasswordsFound": { - "message": "Exposed passwords found" - }, - "exposedPasswordsFoundDesc": { - "message": "We found $COUNT$ items in your vault that have passwords that were exposed in known data breaches. You should change them to use a new password.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "No items in your vault have passwords that have been exposed in known data breaches." - }, - "checkExposedPasswords": { - "message": "Check exposed passwords" - }, - "exposedXTimes": { - "message": "Exposed $COUNT$ time(s)", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Weak passwords report" - }, - "weakPasswordsReportDesc": { - "message": "Weak passwords can easily be guessed by hackers and automated tools that are used to crack passwords. The Bitwarden password generator can help you create strong passwords." - }, - "weakPasswordsFound": { - "message": "Weak passwords found" - }, - "weakPasswordsFoundDesc": { - "message": "We found $COUNT$ items in your vault with passwords that are not strong. You should update them to use stronger passwords.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "No items in your vault have weak passwords." - }, - "reusedPasswordsReport": { - "message": "Reused passwords report" - }, - "reusedPasswordsReportDesc": { - "message": "If a service that you use is compromised, reusing the same password elsewhere can allow hackers to easily gain access to more of your online accounts. You should use a unique password for every account or service." - }, - "reusedPasswordsFound": { - "message": "Reused passwords found" - }, - "reusedPasswordsFoundDesc": { - "message": "We found $COUNT$ passwords that are being reused in your vault. You should change them to a unique value.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "No logins in your vault have passwords that are being reused." - }, - "reusedXTimes": { - "message": "Reused $COUNT$ times", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Data breach report" - }, - "breachDesc": { - "message": "A \"breach\" is an incident where a site's data has been illegally accessed by hackers and then released publicly. Review the types of data that were compromised (email addresses, passwords, credit cards etc.) and take appropriate action, such as changing passwords." - }, - "breachCheckUsernameEmail": { - "message": "Check any usernames or email addresses that you use." - }, - "checkBreaches": { - "message": "Check breaches" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ was not found in any known data breaches.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Good news", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ was found in $COUNT$ different data breaches online.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Breached accounts found" - }, - "compromisedData": { - "message": "Compromised data" - }, - "website": { - "message": "Website" - }, - "affectedUsers": { - "message": "Affected users" - }, - "breachOccurred": { - "message": "Breach occurred" - }, - "breachReported": { - "message": "Breach reported" - }, - "reportError": { - "message": "An error occurred trying to load the report. Try again" - }, - "billing": { - "message": "Billing" - }, - "accountCredit": { - "message": "Account credit", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Account balance", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Add credit", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Amount", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Added credit will appear on your account after the payment has been fully processed. Some payment methods are delayed and can take longer to process than others." - }, - "makeSureEnoughCredit": { - "message": "Please make sure that your account has enough credit available for this purchase. If your account does not have enough credit available, your default payment method on file will be used for the difference. You can add credit to your account from the Billing page." - }, - "creditAppliedDesc": { - "message": "Your account's credit can be used to make purchases. Any available credit will be automatically applied towards invoices generated for this account." - }, - "goPremium": { - "message": "Go premium", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "You've upgraded to premium." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Upgrade your account to a premium membership and unlock some great additional features." - }, - "premiumSignUpStorage": { - "message": "1 GB encrypted storage for file attachments." - }, - "premiumSignUpTwoStep": { - "message": "Additional two-step login options such as YubiKey, FIDO U2F, and Duo." - }, - "premiumSignUpReports": { - "message": "Password hygiene, account health, and data breach reports to keep your vault safe." - }, - "premiumSignUpTotp": { - "message": "TOTP verification code (2FA) generator for logins in your vault." - }, - "premiumSignUpSupport": { - "message": "Priority customer support." - }, - "premiumSignUpFuture": { - "message": "All future premium features. More coming soon!" - }, - "premiumPrice": { - "message": "All for just $PRICE$ /year!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Add-ons" - }, - "premiumAccess": { - "message": "Premium access" - }, - "premiumAccessDesc": { - "message": "You can add premium access to all members of your organisation for $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Additional storage (GB)" - }, - "additionalStorageGbDesc": { - "message": "# of additional GB" - }, - "additionalStorageIntervalDesc": { - "message": "Your plan comes with $SIZE$ of encrypted file storage. You can add additional storage for $PRICE$ per GB /$INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Summary" - }, - "total": { - "message": "Total" - }, - "year": { - "message": "year" - }, - "month": { - "message": "month" - }, - "monthAbbr": { - "message": "mon.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Your payment method will be charged immediately and then on a recurring basis each year. You may cancel at any time." - }, - "paymentCharged": { - "message": "Your payment method will be charged immediately and then on a recurring basis each $INTERVAL$. You may cancel at any time.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Your plan comes with a free 7 day trial. Your payment method will not be charged until the trial has ended. Billing will occur on a recurring basis each $INTERVAL$. You may cancel at any time.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Payment information" - }, - "billingInformation": { - "message": "Billing Information" - }, - "creditCard": { - "message": "Credit card" - }, - "paypalClickSubmit": { - "message": "Click the PayPal button to log into your PayPal account, then click the Submit button below to continue." - }, - "cancelSubscription": { - "message": "Cancel subscription" - }, - "subscriptionCanceled": { - "message": "The subscription has been cancelled." - }, - "pendingCancellation": { - "message": "Pending cancellation" - }, - "subscriptionPendingCanceled": { - "message": "The subscription has been marked for cancellation at the end of the current billing period." - }, - "reinstateSubscription": { - "message": "Reinstate subscription" - }, - "reinstateConfirmation": { - "message": "Are you sure you want to remove the pending cancellation request and reinstate your subscription?" - }, - "reinstated": { - "message": "The subscription has been reinstated." - }, - "cancelConfirmation": { - "message": "Are you sure you want to cancel? You will lose access to all of this subscription's features at the end of this billing cycle." - }, - "canceledSubscription": { - "message": "The subscription has been cancelled." - }, - "neverExpires": { - "message": "Never expires" - }, - "status": { - "message": "Status" - }, - "nextCharge": { - "message": "Next charge" - }, - "details": { - "message": "Details" - }, - "downloadLicense": { - "message": "Download licence" - }, - "updateLicense": { - "message": "Update licence" - }, - "updatedLicense": { - "message": "Updated licence" - }, - "manageSubscription": { - "message": "Manage subscription" - }, - "storage": { - "message": "Storage" - }, - "addStorage": { - "message": "Add storage" - }, - "removeStorage": { - "message": "Remove storage" - }, - "subscriptionStorage": { - "message": "Your subscription has a total of $MAX_STORAGE$ GB of encrypted file storage. You are currently using $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Payment method" - }, - "noPaymentMethod": { - "message": "No payment method on file." - }, - "addPaymentMethod": { - "message": "Add payment method" - }, - "changePaymentMethod": { - "message": "Change payment method" - }, - "invoices": { - "message": "Invoices" - }, - "noInvoices": { - "message": "No invoices." - }, - "paid": { - "message": "Paid", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Unpaid", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Transactions", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "No transactions." - }, - "chargeNoun": { - "message": "Charge", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Refund", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Any charges will appear on your statement as $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "GB of storage to add" - }, - "gbStorageRemove": { - "message": "GB of storage to remove" - }, - "storageAddNote": { - "message": "Adding storage will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." - }, - "storageRemoveNote": { - "message": "Removing storage will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." - }, - "adjustedStorage": { - "message": "Adjusted $AMOUNT$ GB of storage.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Contact Customer Support" - }, - "updatedPaymentMethod": { - "message": "Updated payment method." - }, - "purchasePremium": { - "message": "Purchase premium" - }, - "licenseFile": { - "message": "Licence file" - }, - "licenseFileDesc": { - "message": "Your licence file will be named something like $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "To upgrade your account to a premium membership you need to upload a valid licence file." - }, - "uploadLicenseFileOrg": { - "message": "To create an on-premises hosted organisation you need to upload a valid licence file." - }, - "accountEmailMustBeVerified": { - "message": "Your account's email address must be verified." - }, - "newOrganizationDesc": { - "message": "Organisations allow you to share parts of your vault with others as well as manage related users for a specific entity such as a family, small team, or large company." - }, - "generalInformation": { - "message": "General information" - }, - "organizationName": { - "message": "Organisation name" - }, - "accountOwnedBusiness": { - "message": "This account is owned by a business." - }, - "billingEmail": { - "message": "Billing email" - }, - "businessName": { - "message": "Business name" - }, - "chooseYourPlan": { - "message": "Choose your plan" - }, - "users": { - "message": "Users" - }, - "userSeats": { - "message": "User seats" - }, - "additionalUserSeats": { - "message": "Additional user seats" - }, - "userSeatsDesc": { - "message": "# of user seats" - }, - "userSeatsAdditionalDesc": { - "message": "Your plan comes with $BASE_SEATS$ user seats. You can add additional users for $SEAT_PRICE$ per user /month.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "How many user seats do you need? You can also add additional seats later if needed." - }, - "planNameFree": { - "message": "Free", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "For testing or personal users to share with $COUNT$ other users.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Families" - }, - "planDescFamilies": { - "message": "For personal use, to share with family & friends." - }, - "planNameTeams": { - "message": "Teams" - }, - "planDescTeams": { - "message": "For businesses and other team organisations." - }, - "planNameEnterprise": { - "message": "Enterprise" - }, - "planDescEnterprise": { - "message": "For businesses and other large organisations." - }, - "freeForever": { - "message": "Free forever" - }, - "includesXUsers": { - "message": "includes $COUNT$ users", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Additional users" - }, - "costPerUser": { - "message": "$COST$ per user", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Limited to $COUNT$ users (including you)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Limited to $COUNT$ collections", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Add and share with up to $COUNT$ users", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Add and share with unlimited users" - }, - "createUnlimitedCollections": { - "message": "Create unlimited collections" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ encrypted file storage", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "On-premise hosting (optional)" - }, - "usersGetPremium": { - "message": "Users get access to premium features" - }, - "controlAccessWithGroups": { - "message": "Control user access with groups" - }, - "syncUsersFromDirectory": { - "message": "Sync your users and groups from a directory" - }, - "trackAuditLogs": { - "message": "Track user actions with audit logs" - }, - "enforce2faDuo": { - "message": "Enforce 2FA with Duo" - }, - "priorityCustomerSupport": { - "message": "Priority customer support" - }, - "xDayFreeTrial": { - "message": "$COUNT$ day free trial, cancel anytime", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Monthly" - }, - "annually": { - "message": "Annually" - }, - "basePrice": { - "message": "Base price" - }, - "organizationCreated": { - "message": "Organisation created" - }, - "organizationReadyToGo": { - "message": "Your new organisation is ready to go!" - }, - "organizationUpgraded": { - "message": "Your organisation has been upgraded." - }, - "leave": { - "message": "Leave" - }, - "leaveOrganizationConfirmation": { - "message": "Are you sure you want to leave this organisation?" - }, - "leftOrganization": { - "message": "You have left the organisation." - }, - "defaultCollection": { - "message": "Default collection" - }, - "getHelp": { - "message": "Get help" - }, - "getApps": { - "message": "Get the apps" - }, - "loggedInAs": { - "message": "Logged in as" - }, - "eventLogs": { - "message": "Event logs" - }, - "people": { - "message": "People" - }, - "policies": { - "message": "Policies" - }, - "editPolicy": { - "message": "Edit policy" - }, - "groups": { - "message": "Groups" - }, - "newGroup": { - "message": "New group" - }, - "addGroup": { - "message": "Add group" - }, - "editGroup": { - "message": "Edit group" - }, - "deleteGroupConfirmation": { - "message": "Are you sure you want to delete this group?" - }, - "removeUserConfirmation": { - "message": "Are you sure you want to remove this user?" - }, - "externalId": { - "message": "External ID" - }, - "externalIdDesc": { - "message": "The external ID can be used as a reference or to link this resource to an external system such as a user directory." - }, - "accessControl": { - "message": "Access control" - }, - "groupAccessAllItems": { - "message": "This group can access and modify all items." - }, - "groupAccessSelectedCollections": { - "message": "This group can access only the selected collections." - }, - "readOnly": { - "message": "Read only" - }, - "newCollection": { - "message": "New collection" - }, - "addCollection": { - "message": "Add collection" - }, - "editCollection": { - "message": "Edit collection" - }, - "deleteCollectionConfirmation": { - "message": "Are you sure you want to delete this collection?" - }, - "editUser": { - "message": "Edit user" - }, - "inviteUser": { - "message": "Invite user" - }, - "inviteUserDesc": { - "message": "Invite a new user to your organisation by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "inviteMultipleEmailDesc": { - "message": "You can invite up to $COUNT$ users at a time by comma separating a list of email addresses.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "This user is using two-step login to protect their account." - }, - "userAccessAllItems": { - "message": "This user can access and modify all items." - }, - "userAccessSelectedCollections": { - "message": "This user can access only the selected collections." - }, - "search": { - "message": "Search" - }, - "invited": { - "message": "Invited" - }, - "accepted": { - "message": "Accepted" - }, - "confirmed": { - "message": "Confirmed" - }, - "owner": { - "message": "Owner" - }, - "ownerDesc": { - "message": "The highest access user that can manage all aspects of your organisation." - }, - "admin": { - "message": "Admin" - }, - "adminDesc": { - "message": "Admins can access and manage all items, collections and users in your organisation." - }, - "user": { - "message": "User" - }, - "userDesc": { - "message": "A regular user with access to assigned collections in your organisation." - }, - "manager": { - "message": "Manager" - }, - "managerDesc": { - "message": "Managers can access and manage assigned collections in your organisation." - }, - "all": { - "message": "All" - }, - "refresh": { - "message": "Refresh" - }, - "timestamp": { - "message": "Timestamp" - }, - "event": { - "message": "Event" - }, - "unknown": { - "message": "Unknown" - }, - "loadMore": { - "message": "Load more" - }, - "mobile": { - "message": "Mobile", - "description": "Mobile app" - }, - "extension": { - "message": "Extension", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Desktop", - "description": "Desktop app" - }, - "webVault": { - "message": "Web vault" - }, - "loggedIn": { - "message": "Logged in." - }, - "changedPassword": { - "message": "Changed account password." - }, - "enabledUpdated2fa": { - "message": "Enabled/updated two-step login." - }, - "disabled2fa": { - "message": "Disabled two-step login." - }, - "recovered2fa": { - "message": "Recovered account from two-step login." - }, - "failedLogin": { - "message": "Login attempt failed with incorrect password." - }, - "failedLogin2fa": { - "message": "Login attempt failed with incorrect two-step login." - }, - "exportedVault": { - "message": "Exported vault." - }, - "exportedOrganizationVault": { - "message": "Exported organisation vault." - }, - "editedOrgSettings": { - "message": "Edited organisation settings." - }, - "createdItemId": { - "message": "Created item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Edited item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Sent item $ID$ to bin.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Shared item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Viewed item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Viewed password for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Viewed hidden field for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Viewed security code for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Copied password for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Copied hidden field for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Copied security code for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Auto-filled item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Created collection $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Edited collection $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Deleted collection $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Edited policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Created group $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Edited group $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Deleted group $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Removed user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Created attachment for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Deleted attachment for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Edited collections for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Invited user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Confirmed user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Edited user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Edited groups for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Device" - }, - "view": { - "message": "View" - }, - "invalidDateRange": { - "message": "Invalid date range." - }, - "errorOccurred": { - "message": "An error has occurred." - }, - "userAccess": { - "message": "User access" - }, - "userType": { - "message": "User type" - }, - "groupAccess": { - "message": "Group access" - }, - "groupAccessUserDesc": { - "message": "Edit the groups that this user belongs to." - }, - "invitedUsers": { - "message": "Invited user(s)." - }, - "resendInvitation": { - "message": "Resend invitation" - }, - "hasBeenReinvited": { - "message": "$USER$ has been reinvited.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Confirm" - }, - "confirmUser": { - "message": "Confirm user" - }, - "hasBeenConfirmed": { - "message": "$USER$ has been confirmed.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Confirm users" - }, - "usersNeedConfirmed": { - "message": "You have users that have accepted their invitation, but still need to be confirmed. Users will not have access to the organisation until they are confirmed." - }, - "startDate": { - "message": "Start date" - }, - "endDate": { - "message": "End date" - }, - "verifyEmail": { - "message": "Verify email" - }, - "verifyEmailDesc": { - "message": "Verify your account's email address to unlock access to all features." - }, - "verifyEmailFirst": { - "message": "Your account's email address must first be verified." - }, - "checkInboxForVerification": { - "message": "Check your email inbox for a verification link." - }, - "emailVerified": { - "message": "Your email has been verified." - }, - "emailVerifiedFailed": { - "message": "Unable to verify your email. Try sending a new verification email." - }, - "updateBrowser": { - "message": "Update browser" - }, - "updateBrowserDesc": { - "message": "You are using an unsupported web browser. The web vault may not function properly." - }, - "joinOrganization": { - "message": "Join organisation" - }, - "joinOrganizationDesc": { - "message": "You've been invited to join the organisation listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "inviteAccepted": { - "message": "Invitation accepted" - }, - "inviteAcceptedDesc": { - "message": "You can access this organisation once an administrator confirms your membership. We'll send you an email when that happens." - }, - "inviteAcceptFailed": { - "message": "Unable to accept invitation. Ask an organisation admin to send a new invitation." - }, - "inviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Remember email" - }, - "recoverAccountTwoStepDesc": { - "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to disable all two-step providers on your account." - }, - "recoverAccountTwoStep": { - "message": "Recover account two-step login" - }, - "twoStepRecoverDisabled": { - "message": "Two-step login has been disabled on your account." - }, - "learnMore": { - "message": "Learn more" - }, - "deleteRecoverDesc": { - "message": "Enter your email address below to recover and delete your account." - }, - "deleteRecoverEmailSent": { - "message": "If your account exists, we've sent you an email with further instructions." - }, - "deleteRecoverConfirmDesc": { - "message": "You have requested to delete your Bitwarden account. Click the button below to confirm." - }, - "myOrganization": { - "message": "My organisation" - }, - "deleteOrganization": { - "message": "Delete organisation" - }, - "deleteOrganizationDesc": { - "message": "Proceed below to delete this organisation and all associated data. Individual user accounts will remain, though they will not be associated to this organisation anymore. " - }, - "deleteOrganizationWarning": { - "message": "Deleting the organisation is permanent. It cannot be undone." - }, - "organizationDeleted": { - "message": "Organisation deleted" - }, - "organizationDeletedDesc": { - "message": "The organisation and all associated data has been deleted." - }, - "organizationUpdated": { - "message": "Organisation updated" - }, - "taxInformation": { - "message": "Tax information" - }, - "taxInformationDesc": { - "message": "For customers within the US, ZIP code is required to satisfy sales tax requirements; for other countries you may optionally provide a tax identification number (VAT/GST) and/or address to appear on your invoices." - }, - "billingPlan": { - "message": "Plan", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Change plan", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Upgrade your account to another plan by providing the information below. Please ensure that you have an active payment method added to the account.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Contact customer support if you would like to change your plan. Please ensure that you have an active payment method added to the account.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Invoice #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "View invoice" - }, - "downloadInvoice": { - "message": "Download invoice" - }, - "verifyBankAccount": { - "message": "Verify bank account" - }, - "verifyBankAccountDesc": { - "message": "We have made two micro-deposits to your bank account (it may take 1-2 business days to show up). Enter these amounts to verify the bank account." - }, - "verifyBankAccountInitialDesc": { - "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make two micro-deposits within the next 1-2 business days. Enter these amounts on the organisation's billing page to verify the bank account." - }, - "verifyBankAccountFailureWarning": { - "message": "Failure to verify the bank account will result in a missed payment and your subscription being disabled." - }, - "verifiedBankAccount": { - "message": "Bank account has been verified." - }, - "bankAccount": { - "message": "Bank account" - }, - "amountX": { - "message": "Amount $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Sort code", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Account number" - }, - "accountHolderName": { - "message": "Account holder name" - }, - "bankAccountType": { - "message": "Account type" - }, - "bankAccountTypeCompany": { - "message": "Company (business)" - }, - "bankAccountTypeIndividual": { - "message": "Individual (personal)" - }, - "enterInstallationId": { - "message": "Enter your installation ID" - }, - "addSeats": { - "message": "Add seats", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Remove seats", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Your subscription allows for a total of $COUNT$ users.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Seats to add" - }, - "seatsToRemove": { - "message": "Seats to remove" - }, - "seatsAddNote": { - "message": "Adding user seats will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." - }, - "seatsRemoveNote": { - "message": "Removing user seats will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." - }, - "adjustedSeats": { - "message": "Adjusted $AMOUNT$ user seats.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Key updated" - }, - "updateKeyTitle": { - "message": "Update key" - }, - "updateEncryptionKey": { - "message": "Update encryption key" - }, - "updateEncryptionKeyShortDesc": { - "message": "You are currently using an outdated encryption scheme." - }, - "updateEncryptionKeyDesc": { - "message": "We've moved to larger encryption keys that provide better security and access to newer features. Updating your encryption key is quick and easy. Just type your master password below. This update will eventually become mandatory." - }, - "updateEncryptionKeyWarning": { - "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, although this may be delayed." - }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." - }, - "subscription": { - "message": "Subscription" - }, - "loading": { - "message": "Loading" - }, - "upgrade": { - "message": "Upgrade" - }, - "upgradeOrganization": { - "message": "Upgrade organisation" - }, - "upgradeOrganizationDesc": { - "message": "This feature is not available for free organisations. Switch to a paid plan to unlock more features." - }, - "createOrganizationStep1": { - "message": "Create organisation: step 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Before creating your organisation, you first need to create a free personal account." - }, - "refunded": { - "message": "Refunded" - }, - "nothingSelected": { - "message": "You have not selected anything." - }, - "acceptPolicies": { - "message": "By checking this box you agree to the following:" - }, - "acceptPoliciesError": { - "message": "Terms of Service and Privacy Policy have not been acknowledged." - }, - "termsOfService": { - "message": "Terms of service" - }, - "privacyPolicy": { - "message": "Privacy policy" - }, - "filters": { - "message": "Filters" - }, - "vaultTimeout": { - "message": "Vault timeout" - }, - "vaultTimeoutDesc": { - "message": "Choose when your vault will timeout and perform the selected action." - }, - "oneMinute": { - "message": "1 minute" - }, - "fiveMinutes": { - "message": "5 minutes" - }, - "fifteenMinutes": { - "message": "15 minutes" - }, - "thirtyMinutes": { - "message": "30 minutes" - }, - "oneHour": { - "message": "1 hour" - }, - "fourHours": { - "message": "4 hours" - }, - "onRefresh": { - "message": "On browser refresh" - }, - "dateUpdated": { - "message": "Updated", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Password updated", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "Organisation is disabled." - }, - "licenseIsExpired": { - "message": "Licence is expired." - }, - "updatedUsers": { - "message": "Updated users" - }, - "selected": { - "message": "Selected" - }, - "ownership": { - "message": "Ownership" - }, - "whoOwnsThisItem": { - "message": "Who owns this item?" - }, - "strong": { - "message": "Strong", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Good", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Weak", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Very weak", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Weak master password" - }, - "weakMasterPasswordDesc": { - "message": "The master password you have chosen is weak. You should use a strong master password (or a passphrase) to properly protect your Bitwarden account. Are you sure you want to use this master password?" - }, - "rotateAccountEncKey": { - "message": "Also rotate my account's encryption key" - }, - "rotateEncKeyTitle": { - "message": "Rotate encryption key" - }, - "rotateEncKeyConfirmation": { - "message": "Are you sure you want to rotate your account's encryption key?" - }, - "attachmentsNeedFix": { - "message": "This item has old file attachments that need to be fixed." - }, - "attachmentFixDesc": { - "message": "This is an old file attachment the needs to be fixed. Click to learn more." - }, - "fix": { - "message": "Fix", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "There are old file attachments in your vault that need to be fixed before you can rotate your account's encryption key." - }, - "yourAccountsFingerprint": { - "message": "Your account's fingerprint phrase", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "To ensure the integrity of your encryption keys, please verify the user's fingerprint phrase before continuing.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Don't ask to verify fingerprint phrase again", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Free", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "API key" - }, - "apiKeyDesc": { - "message": "Your API key can be used to authenticate to the Bitwarden public API." - }, - "apiKeyRotateDesc": { - "message": "Rotating the API key will invalidate the previous key. You can rotate your API key if you believe that the current key is no longer safe to use." - }, - "apiKeyWarning": { - "message": "Your API key has full access to the organisation. It should be kept secret." - }, - "userApiKeyDesc": { - "message": "Your API key can be used to authenticate in the Bitwarden CLI." - }, - "userApiKeyWarning": { - "message": "Your API key is an alternative authentication mechanism. It should be kept secret." - }, - "oauth2ClientCredentials": { - "message": "OAuth 2.0 client credentials", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "View API key" - }, - "rotateApiKey": { - "message": "Rotate API key" - }, - "selectOneCollection": { - "message": "You must select at least one collection." - }, - "couldNotChargeCardPayInvoice": { - "message": "We were not able to charge your card. Please view and pay the unpaid invoice listed below." - }, - "inAppPurchase": { - "message": "In-app purchase" - }, - "cannotPerformInAppPurchase": { - "message": "You cannot perform this action while using an in-app purchase payment method." - }, - "manageSubscriptionFromStore": { - "message": "You must manage your subscription from the store where your in-app purchase was made." - }, - "minLength": { - "message": "Minimum length" - }, - "clone": { - "message": "Clone" - }, - "masterPassPolicyDesc": { - "message": "Set minimum requirements for master password strength." - }, - "twoStepLoginPolicyDesc": { - "message": "Require users to set up two-step login on their personal accounts." - }, - "twoStepLoginPolicyWarning": { - "message": "Organisation members who do not have two-step login enabled for their personal account will be removed from the organisation and will receive an email notifying them about the change." - }, - "twoStepLoginPolicyUserWarning": { - "message": "You are a member of an organisation that requires two-step login to be enabled on your user account. If you disable all two-step login providers you will be automatically removed from these organisations." - }, - "passwordGeneratorPolicyDesc": { - "message": "Set minimum requirements for password generator configuration." - }, - "passwordGeneratorPolicyInEffect": { - "message": "One or more organisation policies are affecting your generator settings." - }, - "masterPasswordPolicyInEffect": { - "message": "One or more organisation policies require your master password to meet the following requirements:" - }, - "policyInEffectMinComplexity": { - "message": "Minimum complexity score of $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Minimum length of $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Contain one or more uppercase characters" - }, - "policyInEffectLowercase": { - "message": "Contain one or more lowercase characters" - }, - "policyInEffectNumbers": { - "message": "Contain one or more numbers" - }, - "policyInEffectSpecial": { - "message": "Contain one or more of the following special characters $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Your new master password does not meet the policy requirements." - }, - "minimumNumberOfWords": { - "message": "Minimum number of words" - }, - "defaultType": { - "message": "Default type" - }, - "userPreference": { - "message": "User preference" - }, - "vaultTimeoutAction": { - "message": "Vault timeout action" - }, - "vaultTimeoutActionLockDesc": { - "message": "A locked vault requires that you re-enter your master password to access it again." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "A logged out vault requires that you re-authenticate to access it again." - }, - "lock": { - "message": "Lock", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Bin", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Search bin" - }, - "permanentlyDelete": { - "message": "Permanently delete" - }, - "permanentlyDeleteSelected": { - "message": "Permanently delete selected" - }, - "permanentlyDeleteItem": { - "message": "Permanently delete item" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Are you sure you want to permanently delete this item?" - }, - "permanentlyDeletedItem": { - "message": "Permanently deleted item" - }, - "permanentlyDeletedItems": { - "message": "Permanently deleted items" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to permanently delete. Are you sure you want to permanently delete all of these items?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Permanently deleted item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Restore" - }, - "restoreSelected": { - "message": "Restore selected" - }, - "restoreItem": { - "message": "Restore item" - }, - "restoredItem": { - "message": "Restored item" - }, - "restoredItems": { - "message": "Restored items" - }, - "restoreItemConfirmation": { - "message": "Are you sure you want to restore this item?" - }, - "restoreItems": { - "message": "Restore items" - }, - "restoreSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to restore. Are you sure you want to restore all of these items?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Restored item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Logging out will remove all access to your vault and requires online authentication after the timeout period. Are you sure you want to use this setting?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Timeout action confirmation" - }, - "hidePasswords": { - "message": "Hide passwords" - }, - "countryPostalCodeRequiredDesc": { - "message": "We require this information for calculating sales tax and financial reporting only." - }, - "includeVAT": { - "message": "Include VAT/GST information (optional)" - }, - "taxIdNumber": { - "message": "VAT/GST tax ID" - }, - "taxInfoUpdated": { - "message": "Tax information updated." - }, - "setMasterPassword": { - "message": "Set master password" - }, - "ssoCompleteRegistration": { - "message": "In order to complete logging in with SSO, please set a master password to access and protect your vault." - }, - "identifier": { - "message": "Identifier" - }, - "organizationIdentifier": { - "message": "Organisation identifier" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Log in using your organisation's single sign-on portal. Please enter your organisation's identifier to begin." - }, - "enterpriseSingleSignOn": { - "message": "Enterprise single sign-on" - }, - "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." - }, - "businessPortal": { - "message": "Business portal", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "All Teams features, plus:" - }, - "includeSsoAuthentication": { - "message": "SSO authentication via SAML2.0 and OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Enterprise policies" - }, - "ssoValidationFailed": { - "message": "SSO validation failed" - }, - "ssoIdentifierRequired": { - "message": "Organisation identifier is required." - }, - "unlinkSso": { - "message": "Unlink SSO" - }, - "linkSso": { - "message": "Link SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "Policy configuration has been moved, and this page will soon be deprecated. Please click below to use the Business Portal policies page instead." - }, - "singleOrg": { - "message": "Single Organization" - }, - "singleOrgDesc": { - "message": "Restrict users from being able to join any other organizations." - }, - "singleOrgBlockCreateMessage": { - "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." - }, - "singleOrgPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and are already a member of another organization will be removed from your organization." - }, - "requireSso": { - "message": "Single Sign-On Authentication" - }, - "requireSsoPolicyDesc": { - "message": "Require users to log in with the Enterprise Single Sign-On method." - }, - "prerequisite": { - "message": "Prerequisite" - }, - "requireSsoPolicyReq": { - "message": "The Single Organization enterprise policy must be enabled before activating this policy." - }, - "requireSsoPolicyReqError": { - "message": "Single Organization policy not enabled." - }, - "requireSsoExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "sendTypeFile": { - "message": "File" - }, - "sendTypeText": { - "message": "Text" - }, - "createSend": { - "message": "Create New Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Edit Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Created Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Edited Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Deleted Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Delete Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Are you sure you want to delete this Send?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "What type of Send is this?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Deletion Date" - }, - "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Expiration Date" - }, - "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Maximum Access Count" - }, - "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Current Access Count" - }, - "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Private notes about this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Disabled" - }, - "sendLink": { - "message": "Send Link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Copy Send Link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Remove Password" - }, - "removedPassword": { - "message": "Removed Password" - }, - "removePasswordConfirmation": { - "message": "Are you sure you want to remove the password?" - }, - "disableThisSend": { - "message": "Disable this Send so that no one can access it.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "All Sends" - }, - "maxAccessCountReached": { - "message": "Max access count reached" - }, - "pendingDeletion": { - "message": "Pending deletion" - }, - "expired": { - "message": "Expired" - }, - "searchSends": { - "message": "Search Sends", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "This Send is protected with a password. Please type the password below to continue.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Don't know the password? Ask the Sender for the password needed to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "This send is hidden by default. You can toggle its visibility using the button below.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Download File" - }, - "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "There are no Sends to list.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Emergency Access" - }, - "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." - }, - "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" - }, - "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." - }, - "addEmergencyContact": { - "message": "Add emergency contact" - }, - "designatedEmergencyContacts": { - "message": "Designated as emergency contact" - }, - "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." - }, - "inviteEmergencyContact": { - "message": "Invite emergency contact" - }, - "editEmergencyContact": { - "message": "Edit emergency contact" - }, - "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" - }, - "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" - }, - "viewDesc": { - "message": "Can view all items in your own vault." - }, - "takeover": { - "message": "Takeover" - }, - "takeoverDesc": { - "message": "Can reset your account with a new master password." - }, - "waitTime": { - "message": "Wait Time" - }, - "waitTimeDesc": { - "message": "Time required before automatically granting access." - }, - "oneDay": { - "message": "1 day" - }, - "days": { - "message": "$DAYS$ days", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Invited user." - }, - "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." - }, - "requestAccess": { - "message": "Request Access" - }, - "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Approve" - }, - "reject": { - "message": "Reject" - }, - "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Emergency access approved." - }, - "emergencyRejected": { - "message": "Emergency access rejected" - }, - "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Personal Ownership" - }, - "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." - }, - "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." - }, - "modifiedPolicyId": { - "message": "Modified policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Plan price" - }, - "estimatedTax": { - "message": "Estimated tax" - }, - "custom": { - "message": "Custom" - }, - "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." - }, - "permissions": { - "message": "Permissions" - }, - "accessBusinessPortal": { - "message": "Access Business Portal" - }, - "accessEventLogs": { - "message": "Access Event Logs" - }, - "accessImportExport": { - "message": "Access Import/Export" - }, - "accessReports": { - "message": "Access Reports" - }, - "manageAllCollections": { - "message": "Manage All Collections" - }, - "manageAssignedCollections": { - "message": "Manage Assigned Collections" - }, - "manageGroups": { - "message": "Manage Groups" - }, - "managePolicies": { - "message": "Manage Policies" - }, - "manageSso": { - "message": "Manage SSO" - }, - "manageUsers": { - "message": "Manage Users" - }, - "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." - }, - "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." - }, - "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" - }, - "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/eo/messages.json b/locales/eo/messages.json deleted file mode 100644 index 4af103a5..00000000 --- a/locales/eo/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$ Reta Volbo", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "Kiu tipo de ero estas ĉi tio?" - }, - "name": { - "message": "Nomo" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "Nova URI" - }, - "username": { - "message": "Uzantnomo" - }, - "password": { - "message": "Pasvorto" - }, - "newPassword": { - "message": "New Password" - }, - "passphrase": { - "message": "Sekreta frazo" - }, - "notes": { - "message": "Notoj" - }, - "customFields": { - "message": "Kutimo Kampoj" - }, - "cardholderName": { - "message": "Nomposedanto de Karto" - }, - "number": { - "message": "Numero" - }, - "brand": { - "message": "Varomarko" - }, - "expiration": { - "message": "Eksvalidiĝo" - }, - "securityCode": { - "message": "Sekuriga kodo (CVV)" - }, - "identityName": { - "message": "Identeco" - }, - "company": { - "message": "Kompanio" - }, - "ssn": { - "message": "Socia Sekureca Numero" - }, - "passportNumber": { - "message": "Pasporta Nombro" - }, - "licenseNumber": { - "message": "License Number" - }, - "email": { - "message": "Retpoŝto" - }, - "phone": { - "message": "Telefono" - }, - "january": { - "message": "januaro" - }, - "february": { - "message": "februaro" - }, - "march": { - "message": "marto" - }, - "april": { - "message": "aprilo" - }, - "may": { - "message": "majo" - }, - "june": { - "message": "junio" - }, - "july": { - "message": "julio" - }, - "august": { - "message": "aŭgusto" - }, - "september": { - "message": "septembro" - }, - "october": { - "message": "oktobro" - }, - "november": { - "message": "novembro" - }, - "december": { - "message": "decembro" - }, - "title": { - "message": "Titolo" - }, - "mr": { - "message": "Sinjoro" - }, - "mrs": { - "message": "Sinjorino" - }, - "ms": { - "message": "Sinjorino" - }, - "dr": { - "message": "Dr" - }, - "expirationMonth": { - "message": "Expiration Month" - }, - "expirationYear": { - "message": "Expiration Year" - }, - "authenticatorKeyTotp": { - "message": "Authenticator Key (TOTP)" - }, - "folder": { - "message": "Dosierujo" - }, - "newCustomField": { - "message": "Nova Propra Kampo" - }, - "value": { - "message": "Valoro" - }, - "dragToSort": { - "message": "Trenu por ordigi" - }, - "cfTypeText": { - "message": "Teksto" - }, - "cfTypeHidden": { - "message": "Kaŝita" - }, - "cfTypeBoolean": { - "message": "Bulea" - }, - "remove": { - "message": "Forigi" - }, - "unassigned": { - "message": "Ne asignita" - }, - "noneFolder": { - "message": "Neniu Dosierujo", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Aldoni dosierujon" - }, - "editFolder": { - "message": "Redakti dosierujon" - }, - "baseDomain": { - "message": "Base domain" - }, - "host": { - "message": "Gastiganto", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Ekzakta" - }, - "startsWith": { - "message": "Starts with" - }, - "regEx": { - "message": "Regular expression", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Match Detection", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Default match detection", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Neniam" - }, - "toggleVisibility": { - "message": "Toggle Visibility" - }, - "toggleCollapse": { - "message": "Toggle Collapse", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Generi Pasvorton" - }, - "checkPassword": { - "message": "Check if password has been exposed." - }, - "passwordExposed": { - "message": "This password has been exposed $VALUE$ time(s) in data breaches. You should change it.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "This password was not found in any known data breaches. It should be safe to use." - }, - "save": { - "message": "Savi" - }, - "cancel": { - "message": "Nuligi" - }, - "canceled": { - "message": "Canceled" - }, - "close": { - "message": "Close" - }, - "delete": { - "message": "Delete" - }, - "favorite": { - "message": "Favorite" - }, - "unfavorite": { - "message": "Unfavorite" - }, - "edit": { - "message": "Edit" - }, - "searchCollection": { - "message": "Search Collection" - }, - "searchFolder": { - "message": "Search Folder" - }, - "searchFavorites": { - "message": "Search Favorites" - }, - "searchType": { - "message": "Search Type", - "description": "Search item type" - }, - "searchVault": { - "message": "Search Vault" - }, - "allItems": { - "message": "All Items" - }, - "favorites": { - "message": "Preferataj" - }, - "types": { - "message": "Tipo" - }, - "typeLogin": { - "message": "Ensaluti" - }, - "typeCard": { - "message": "Karto" - }, - "typeIdentity": { - "message": "Idento" - }, - "typeSecureNote": { - "message": "Secure Note" - }, - "folders": { - "message": "Dosierujoj" - }, - "collections": { - "message": "Collections" - }, - "firstName": { - "message": "Familinomo" - }, - "middleName": { - "message": "Meza Nomo" - }, - "lastName": { - "message": "Familia nomo" - }, - "address1": { - "message": "Adreso 1" - }, - "address2": { - "message": "Adreso 2" - }, - "address3": { - "message": "Adreso 3" - }, - "cityTown": { - "message": "Urbo / Vilaĝo" - }, - "stateProvince": { - "message": "Ŝtato / Provinco" - }, - "zipPostalCode": { - "message": "Poŝto" - }, - "country": { - "message": "Lando" - }, - "shared": { - "message": "Dividita" - }, - "attachments": { - "message": "Aldonaĵoj" - }, - "select": { - "message": "Elektu" - }, - "addItem": { - "message": "Aldoni eron" - }, - "editItem": { - "message": "Edit Item" - }, - "viewItem": { - "message": "View Item" - }, - "ex": { - "message": "ekx.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Alia" - }, - "share": { - "message": "Kunhavigi" - }, - "valueCopied": { - "message": "$VALUE$ copied", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Copy Value", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Copy Password", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Copy Username", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Kopii Nombron", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Copy Security Code", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Copy URI", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "My Vault" - }, - "vault": { - "message": "Volbo" - }, - "shareSelected": { - "message": "Share Selected" - }, - "deleteSelected": { - "message": "Delete Selected" - }, - "moveSelected": { - "message": "Move Selected" - }, - "selectAll": { - "message": "Elekti ĉiujn" - }, - "unselectAll": { - "message": "Malelekti ĉion" - }, - "launch": { - "message": "Lanĉu" - }, - "newAttachment": { - "message": "Add New Attachment" - }, - "deletedAttachment": { - "message": "Deleted attachment" - }, - "deleteAttachmentConfirmation": { - "message": "Are you sure you want to delete this attachment?" - }, - "attachmentSaved": { - "message": "The attachment has been saved." - }, - "file": { - "message": "Dosiero" - }, - "selectFile": { - "message": "Select a file." - }, - "maxFileSize": { - "message": "Maximum file size is 100 MB." - }, - "updateKey": { - "message": "You cannot use this feature until you update your encryption key." - }, - "addedItem": { - "message": "Added item" - }, - "editedItem": { - "message": "Edited item" - }, - "sharedItem": { - "message": "Dividita ero" - }, - "sharedItems": { - "message": "Kunhavitaj eroj" - }, - "deleteItem": { - "message": "Forigu objekton" - }, - "deleteFolder": { - "message": "Forigi dosierujon" - }, - "deleteAttachment": { - "message": "Delete Attachment" - }, - "deleteItemConfirmation": { - "message": "Ĉu vi certas, ke vi volas forigi ĉi tiun eron?" - }, - "deletedItem": { - "message": "Item sent to trash" - }, - "deletedItems": { - "message": "Items sent to trash" - }, - "movedItems": { - "message": "Movi elementojn" - }, - "overwritePasswordConfirmation": { - "message": "Are you sure you want to overwrite the current password?" - }, - "editedFolder": { - "message": "Redaktita dosierujo" - }, - "addedFolder": { - "message": "Aldonita Dosierujo" - }, - "deleteFolderConfirmation": { - "message": "Are you sure you want to delete this folder?" - }, - "deletedFolder": { - "message": "Forigita dosierujo" - }, - "loggedOut": { - "message": "Elsaluti" - }, - "loginExpired": { - "message": "Your login session has expired." - }, - "logOutConfirmation": { - "message": "Are you sure you want to log out?" - }, - "logOut": { - "message": "Elsaluti" - }, - "ok": { - "message": "Bone" - }, - "yes": { - "message": "Jes" - }, - "no": { - "message": "Ne" - }, - "loginOrCreateNewAccount": { - "message": "Log in or create a new account to access your secure vault." - }, - "createAccount": { - "message": "Create Account" - }, - "logIn": { - "message": "Ensaluti" - }, - "submit": { - "message": "Sendi" - }, - "emailAddressDesc": { - "message": "You'll use your email address to log in." - }, - "yourName": { - "message": "Via nomo" - }, - "yourNameDesc": { - "message": "What should we call you?" - }, - "masterPass": { - "message": "Majstro Pasvorto" - }, - "masterPassDesc": { - "message": "The master password is the password you use to access your vault. It is very important that you do not forget your master password. There is no way to recover the password in the event that you forget it." - }, - "masterPassHintDesc": { - "message": "A master password hint can help you remember your password if you forget it." - }, - "reTypeMasterPass": { - "message": "Re-type Master Password" - }, - "masterPassHint": { - "message": "Master Password Hint (optional)" - }, - "masterPassHintLabel": { - "message": "Master Password Hint" - }, - "settings": { - "message": "Agordoj" - }, - "passwordHint": { - "message": "Pasvorta konsileto" - }, - "enterEmailToGetHint": { - "message": "Enter your account email address to receive your master password hint." - }, - "getMasterPasswordHint": { - "message": "Get master password hint" - }, - "emailRequired": { - "message": "Email address is required." - }, - "invalidEmail": { - "message": "Invalid email address." - }, - "masterPassRequired": { - "message": "Master password is required." - }, - "masterPassLength": { - "message": "Master password must be at least 8 characters long." - }, - "masterPassDoesntMatch": { - "message": "Master password confirmation does not match." - }, - "newAccountCreated": { - "message": "Your new account has been created! You may now log in." - }, - "masterPassSent": { - "message": "We've sent you an email with your master password hint." - }, - "unexpectedError": { - "message": "An unexpected error has occurred." - }, - "emailAddress": { - "message": "Retpoŝtadreso" - }, - "yourVaultIsLocked": { - "message": "Your vault is locked. Verify your master password to continue." - }, - "unlock": { - "message": "Malŝlosi" - }, - "loggedInAsEmailOn": { - "message": "Logged in as $EMAIL$ on $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Invalid master password" - }, - "lockNow": { - "message": "Ŝlosi Nun" - }, - "noItemsInList": { - "message": "There are no items to list." - }, - "noCollectionsInList": { - "message": "There are no collections to list." - }, - "noGroupsInList": { - "message": "There are no groups to list." - }, - "noUsersInList": { - "message": "There are no users to list." - }, - "noEventsInList": { - "message": "There are no events to list." - }, - "newOrganization": { - "message": "New Organization" - }, - "noOrganizationsList": { - "message": "You do not belong to any organizations. Organizations allow you to securely share items with other users." - }, - "versionNumber": { - "message": "Version $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Enter the 6 digit verification code from your authenticator app." - }, - "enterVerificationCodeEmail": { - "message": "Enter the 6 digit verification code that was emailed to $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "Verification email sent to $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Memori min" - }, - "sendVerificationCodeEmailAgain": { - "message": "Send verification code email again" - }, - "useAnotherTwoStepMethod": { - "message": "Use another two-step login method" - }, - "insertYubiKey": { - "message": "Insert your YubiKey into your computer's USB port, then touch its button." - }, - "insertU2f": { - "message": "Insert your security key into your computer's USB port. If it has a button, touch it." - }, - "loginUnavailable": { - "message": "Login Unavailable" - }, - "noTwoStepProviders": { - "message": "This account has two-step login enabled, however, none of the configured two-step providers are supported by this web browser." - }, - "noTwoStepProviders2": { - "message": "Please use a supported web browser (such as Chrome) and/or add additional providers that are better supported across web browsers (such as an authenticator app)." - }, - "twoStepOptions": { - "message": "Two-step Login Options" - }, - "recoveryCodeDesc": { - "message": "Lost access to all of your two-factor providers? Use your recovery code to disable all two-factor providers from your account." - }, - "recoveryCodeTitle": { - "message": "Recovery Code" - }, - "authenticatorAppTitle": { - "message": "Authenticator App" - }, - "authenticatorAppDesc": { - "message": "Use an authenticator app (such as Authy or Google Authenticator) to generate time-based verification codes.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "YubiKey OTP Security Key" - }, - "yubiKeyDesc": { - "message": "Use a YubiKey to access your account. Works with YubiKey 4 series, 5 series, and NEO devices." - }, - "duoDesc": { - "message": "Verify with Duo Security using the Duo Mobile app, SMS, phone call, or U2F security key.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Verify with Duo Security for your organization using the Duo Mobile app, SMS, phone call, or U2F security key.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Use any FIDO U2F enabled security key to access your account." - }, - "u2fTitle": { - "message": "FIDO U2F Security Key" - }, - "emailTitle": { - "message": "Retpoŝto" - }, - "emailDesc": { - "message": "Verification codes will be emailed to you." - }, - "continue": { - "message": "Daŭrigu" - }, - "organization": { - "message": "Organizo" - }, - "organizations": { - "message": "Organizoj" - }, - "shareDesc": { - "message": "Choose an organization that you wish to share this item with. Sharing transfers ownership of the item to the organization. You will no longer be the direct owner of this item once it has been shared." - }, - "shareManyDesc": { - "message": "Choose an organization that you wish to share these items with. Sharing transfers ownership of the items to the organization. You will no longer be the direct owner of these items once they have been shared." - }, - "collectionsDesc": { - "message": "Edit the collections that this item is being shared with. Only organization users with access to these collections will be able to see this item." - }, - "deleteSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to delete. Are you sure you want to delete all of these items?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Choose a folder that you would like to move the $COUNT$ selected item(s) to.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "You have selected $COUNT$ item(s). $SHAREABLE_COUNT$ items are sharable, $NONSHAREABLE_COUNT$ are not.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Verification Code (TOTP)" - }, - "copyVerificationCode": { - "message": "Copy Verification Code" - }, - "warning": { - "message": "Warning" - }, - "confirmVaultExport": { - "message": "Confirm Vault Export" - }, - "exportWarningDesc": { - "message": "This export contains your vault data in an unencrypted format. You should not store or send the exported file over unsecure channels (such as email). Delete it immediately after you are done using it." - }, - "encExportWarningDesc": { - "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." - }, - "exportMasterPassword": { - "message": "Enter your master password to export your vault data." - }, - "exportVault": { - "message": "Export Vault" - }, - "fileFormat": { - "message": "File Format" - }, - "exportSuccess": { - "message": "Your vault data has been exported." - }, - "passwordGenerator": { - "message": "Password Generator" - }, - "minComplexityScore": { - "message": "Minimum Complexity Score" - }, - "minNumbers": { - "message": "Minimum Numbers" - }, - "minSpecial": { - "message": "Minimum Special", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Avoid Ambiguous Characters" - }, - "regeneratePassword": { - "message": "Regenerate Password" - }, - "length": { - "message": "Length" - }, - "numWords": { - "message": "Number of Words" - }, - "wordSeparator": { - "message": "Word Separator" - }, - "capitalize": { - "message": "Capitalize", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Include Number" - }, - "passwordHistory": { - "message": "Password History" - }, - "noPasswordsInList": { - "message": "There are no passwords to list." - }, - "clear": { - "message": "Clear", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Konto Ĝisdatigita" - }, - "changeEmail": { - "message": "Ŝanĝu Retpoŝton" - }, - "newEmail": { - "message": "Nova Retpoŝtadreso" - }, - "code": { - "message": "Kodo" - }, - "changeEmailDesc": { - "message": "We have emailed a verification code to $EMAIL$. Please check your email for this code and enter it below to finalize the email address change.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour." - }, - "emailChanged": { - "message": "Email Changed" - }, - "logBackIn": { - "message": "Please log back in." - }, - "logBackInOthersToo": { - "message": "Please log back in. If you are using other Bitwarden applications log out and back in to those as well." - }, - "changeMasterPassword": { - "message": "Change Master Password" - }, - "masterPasswordChanged": { - "message": "Master Password Changed" - }, - "currentMasterPass": { - "message": "Aktuala Majstra Pasvorto" - }, - "newMasterPass": { - "message": "Nova Majstro Pasvorto" - }, - "confirmNewMasterPass": { - "message": "Konfirmu Novan Majstran Pasvorton" - }, - "encKeySettings": { - "message": "Encryption Key Settings" - }, - "kdfAlgorithm": { - "message": "KDF Algorithm" - }, - "kdfIterations": { - "message": "KDF Iterations" - }, - "kdfIterationsDesc": { - "message": "Higher KDF iterations can help protect your master password from being brute forced by an attacker. We recommend a value of $VALUE$ or more.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Setting your KDF iterations too high could result in poor performance when logging into (and unlocking) Bitwarden on devices with slower CPUs. We recommend that you increase the value in increments of $INCREMENT$ and then test all of your devices.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Change KDF" - }, - "encKeySettingsChanged": { - "message": "Encryption Key Settings Changed" - }, - "dangerZone": { - "message": "Danger Zone" - }, - "dangerZoneDesc": { - "message": "Careful, these actions are not reversible!" - }, - "deauthorizeSessions": { - "message": "Deauthorize Sessions" - }, - "deauthorizeSessionsDesc": { - "message": "Concerned your account is logged in on another device? Proceed below to deauthorize all computers or devices that you have previously used. This security step is recommended if you previously used a public computer or accidentally saved your password on a device that isn't yours. This step will also clear all previously remembered two-step login sessions." - }, - "deauthorizeSessionsWarning": { - "message": "Proceeding will also log you out of your current session, requiring you to log back in. You will also be prompted for two-step login again, if enabled. Active sessions on other devices may continue to remain active for up to one hour." - }, - "sessionsDeauthorized": { - "message": "All Sessions Deauthorized" - }, - "purgeVault": { - "message": "Purge Vault" - }, - "purgedOrganizationVault": { - "message": "Purged organization vault." - }, - "purgeVaultDesc": { - "message": "Proceed below to delete all items and folders in your vault. Items that belong to an organization that you share with will not be deleted." - }, - "purgeOrgVaultDesc": { - "message": "Proceed below to delete all items in the organization's vault." - }, - "purgeVaultWarning": { - "message": "Purging your vault is permanent. It cannot be undone." - }, - "vaultPurged": { - "message": "Your vault has been purged." - }, - "deleteAccount": { - "message": "Delete Account" - }, - "deleteAccountDesc": { - "message": "Proceed below to delete your account and all associated data." - }, - "deleteAccountWarning": { - "message": "Deleting your account is permanent. It cannot be undone." - }, - "accountDeleted": { - "message": "Account Deleted" - }, - "accountDeletedDesc": { - "message": "Your account has been closed and all associated data has been deleted." - }, - "myAccount": { - "message": "Mia Konto" - }, - "tools": { - "message": "Iloj" - }, - "importData": { - "message": "Importi Datumojn" - }, - "importSuccess": { - "message": "Data has been successfully imported into your vault." - }, - "importFormatError": { - "message": "Data is not formatted correctly. Please check your import file and try again." - }, - "importNothingError": { - "message": "Nothing was imported." - }, - "selectFormat": { - "message": "Select the format of the import file" - }, - "selectImportFile": { - "message": "Select the import file" - }, - "orCopyPasteFileContents": { - "message": "or copy/paste the import file contents" - }, - "instructionsFor": { - "message": "$NAME$ Instructions", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Opcioj" - }, - "optionsDesc": { - "message": "Customize your web vault experience." - }, - "optionsUpdated": { - "message": "Options updated" - }, - "language": { - "message": "Lingvo" - }, - "languageDesc": { - "message": "Change the language used by the web vault." - }, - "disableIcons": { - "message": "Disable Website Icons" - }, - "disableIconsDesc": { - "message": "Website Icons provide a recognizable image next to each login item in your vault." - }, - "enableGravatars": { - "message": "Enable Gravatars", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Use avatar images loaded from gravatar.com." - }, - "enableFullWidth": { - "message": "Enable Full Width Layout", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Allow the web vault to expand the full width of the browser window." - }, - "default": { - "message": "Defaŭta" - }, - "domainRules": { - "message": "Domain Rules" - }, - "domainRulesDesc": { - "message": "If you have the same login across multiple different website domains, you can mark the website as \"equivalent\". \"Global\" domains are ones already created for you by Bitwarden." - }, - "globalEqDomains": { - "message": "Global Equivalent Domains" - }, - "customEqDomains": { - "message": "Custom Equivalent Domains" - }, - "exclude": { - "message": "Exclude" - }, - "include": { - "message": "Include" - }, - "customize": { - "message": "Customize" - }, - "newCustomDomain": { - "message": "New Custom Domain" - }, - "newCustomDomainDesc": { - "message": "Enter a list of domains separated by commas. Only \"base\" domains are allowed. Do not enter subdomains. For example, enter \"google.com\" instead of \"www.google.com\". You can also enter \"androidapp://package.name\" to associate an android app with other website domains." - }, - "customDomainX": { - "message": "Custom Domain $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Domains updated" - }, - "twoStepLogin": { - "message": "Two-step Login" - }, - "twoStepLoginDesc": { - "message": "Secure your account by requiring an additional step when logging in." - }, - "twoStepLoginOrganizationDesc": { - "message": "Require two-step login for your organization's users by configuring providers at the organization level." - }, - "twoStepLoginRecoveryWarning": { - "message": "Enabling two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (ex. you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." - }, - "viewRecoveryCode": { - "message": "View Recovery Code" - }, - "providers": { - "message": "Providers", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Ŝalti" - }, - "enabled": { - "message": "Ebligita" - }, - "premium": { - "message": "Premium", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Premium Membership" - }, - "premiumRequired": { - "message": "Premium Required" - }, - "premiumRequiredDesc": { - "message": "A premium membership is required to use this feature." - }, - "youHavePremiumAccess": { - "message": "You have premium access" - }, - "alreadyPremiumFromOrg": { - "message": "You already have access to premium features because of an organization you are a member of." - }, - "manage": { - "message": "Administri" - }, - "disable": { - "message": "Malŝalti" - }, - "twoStepLoginProviderEnabled": { - "message": "This two-step login provider is enabled on your account." - }, - "twoStepLoginAuthDesc": { - "message": "Enter your master password to modify two-step login settings." - }, - "twoStepAuthenticatorDesc": { - "message": "Follow these steps to set up two-step login with an authenticator app:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Download a two-step authenticator app" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Need a two-step authenticator app? Download one of the following" - }, - "iosDevices": { - "message": "iOS devices" - }, - "androidDevices": { - "message": "Android devices" - }, - "windowsDevices": { - "message": "Windows devices" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "These apps are recommended, however, other authenticator apps will also work." - }, - "twoStepAuthenticatorScanCode": { - "message": "Scan this QR code with your authenticator app" - }, - "key": { - "message": "Ŝlosilo" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Enter the resulting 6 digit verification code from the app" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "In case you need to add it to another device, below is the QR code (or key) required by your authenticator app." - }, - "twoStepDisableDesc": { - "message": "Are you sure you want to disable this two-step login provider?" - }, - "twoStepDisabled": { - "message": "Two-step login provider disabled." - }, - "twoFactorYubikeyAdd": { - "message": "Add a new YubiKey to your account" - }, - "twoFactorYubikeyPlugIn": { - "message": "Plug the YubiKey into your computer's USB port." - }, - "twoFactorYubikeySelectKey": { - "message": "Select the first empty YubiKey input field below." - }, - "twoFactorYubikeyTouchButton": { - "message": "Touch the YubiKey's button." - }, - "twoFactorYubikeySaveForm": { - "message": "Save the form." - }, - "twoFactorYubikeyWarning": { - "message": "Due to platform limitations, YubiKeys cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when YubiKeys cannot be used. Supported platforms:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Web vault, desktop application, CLI, and all browser extensions on a device with a USB port that can accept your YubiKey." - }, - "twoFactorYubikeySupportMobile": { - "message": "Mobile apps on a device with NFC capabilities or a USB port that can accept your YubiKey." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "U2F Key $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "NFC Support" - }, - "twoFactorYubikeySupportsNfc": { - "message": "One of my keys supports NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "If one of your YubiKeys supports NFC (such as a YubiKey NEO), you will be prompted on mobile devices whenever NFC availability is detected." - }, - "yubikeysUpdated": { - "message": "YubiKeys updated" - }, - "disableAllKeys": { - "message": "Disable All Keys" - }, - "twoFactorDuoDesc": { - "message": "Enter the Bitwarden application information from your Duo Admin panel." - }, - "twoFactorDuoIntegrationKey": { - "message": "Integration Key" - }, - "twoFactorDuoSecretKey": { - "message": "Secret Key" - }, - "twoFactorDuoApiHostname": { - "message": "API Hostname" - }, - "twoFactorEmailDesc": { - "message": "Follow these steps to set up two-step login with email:" - }, - "twoFactorEmailEnterEmail": { - "message": "Enter the email that you wish to receive verification codes" - }, - "twoFactorEmailEnterCode": { - "message": "Enter the resulting 6 digit verification code from the email" - }, - "sendEmail": { - "message": "Send Email" - }, - "twoFactorU2fAdd": { - "message": "Add a FIDO U2F security key to your account" - }, - "removeU2fConfirmation": { - "message": "Are you sure you want to remove this security key?" - }, - "readKey": { - "message": "Read Key" - }, - "keyCompromised": { - "message": "Key is compromised." - }, - "twoFactorU2fGiveName": { - "message": "Give the security key a friendly name to identify it." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Plug the security key into your computer's USB port and click the \"Read Key\" button." - }, - "twoFactorU2fTouchButton": { - "message": "If the security key has a button, touch it." - }, - "twoFactorU2fSaveForm": { - "message": "Save the form." - }, - "twoFactorU2fWarning": { - "message": "Due to platform limitations, FIDO U2F cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when FIDO U2F cannot be used. Supported platforms:" - }, - "twoFactorU2fSupportWeb": { - "message": "Web vault and browser extensions on a desktop/laptop with a U2F enabled browser (Chrome, Opera, Vivaldi, or Firefox with FIDO U2F enabled)." - }, - "twoFactorU2fWaiting": { - "message": "Waiting for you to touch the button on your security key" - }, - "twoFactorU2fClickSave": { - "message": "Click the \"Save\" button below to enable this security key for two-step login." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "There was a problem reading the security key. Try again." - }, - "twoFactorRecoveryYourCode": { - "message": "Your Bitwarden two-step login recovery code" - }, - "twoFactorRecoveryNoCode": { - "message": "You have not enabled any two-step login providers yet. After you have enabled a two-step login provider you can check back here for your recovery code." - }, - "printCode": { - "message": "Print Code", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Raportoj" - }, - "unsecuredWebsitesReport": { - "message": "Unsecured Websites Report" - }, - "unsecuredWebsitesReportDesc": { - "message": "Using unsecured websites with the http:// scheme can be dangerous. If the website allows, you should always access it using the https:// scheme so that your connection is encrypted." - }, - "unsecuredWebsitesFound": { - "message": "Unsecured Websites Found" - }, - "unsecuredWebsitesFoundDesc": { - "message": "We found $COUNT$ items in your vault with unsecured URIs. You should change their URI scheme to https:// if the website allows it.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "No items in your vault have unsecured URIs." - }, - "inactive2faReport": { - "message": "Inactive 2FA Report" - }, - "inactive2faReportDesc": { - "message": "Two-factor authentication (2FA) is an important security setting that helps secure your accounts. If the website offers it, you should always enable two-factor authentication." - }, - "inactive2faFound": { - "message": "Logins Without 2FA Found" - }, - "inactive2faFoundDesc": { - "message": "We found $COUNT$ website(s) in your vault that may not be configured with two-factor authentication (according to 2fa.directory). To further protect these accounts, you should enable two-factor authentication.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "No websites were found in your vault with a missing two-factor authentication configuration." - }, - "instructions": { - "message": "Instrukcioj" - }, - "exposedPasswordsReport": { - "message": "Exposed Passwords Report" - }, - "exposedPasswordsReportDesc": { - "message": "Exposed passwords are passwords that have been uncovered in known data breaches that were released publicly or sold on the dark web by hackers." - }, - "exposedPasswordsFound": { - "message": "Exposed Passwords Found" - }, - "exposedPasswordsFoundDesc": { - "message": "We found $COUNT$ items in your vault that have passwords that were exposed in known data breaches. You should change them to use a new password.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "No items in your vault have passwords that have been exposed in known data breaches." - }, - "checkExposedPasswords": { - "message": "Check Exposed Passwords" - }, - "exposedXTimes": { - "message": "Exposed $COUNT$ time(s)", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Weak Passwords Report" - }, - "weakPasswordsReportDesc": { - "message": "Weak passwords can easily be guessed by hackers and automated tools that are used to crack passwords. The Bitwarden password generator can help you create strong passwords." - }, - "weakPasswordsFound": { - "message": "Weak Passwords Found" - }, - "weakPasswordsFoundDesc": { - "message": "We found $COUNT$ items in your vault with passwords that are not strong. You should update them to use stronger passwords.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "No items in your vault have weak passwords." - }, - "reusedPasswordsReport": { - "message": "Reused Passwords Report" - }, - "reusedPasswordsReportDesc": { - "message": "If a service that you use is compromised, reusing the same password elsewhere can allow hackers to easily gain access to more of your online accounts. You should use a unique password for every account or service." - }, - "reusedPasswordsFound": { - "message": "Reused Passwords Found" - }, - "reusedPasswordsFoundDesc": { - "message": "We found $COUNT$ passwords that are being reused in your vault. You should change them to a unique value.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "No logins in your vault have passwords that are being reused." - }, - "reusedXTimes": { - "message": "Reused $COUNT$ times", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Data Breach Report" - }, - "breachDesc": { - "message": "A \"breach\" is an incident where a site's data has been illegally accessed by hackers and then released publicly. Review the types of data that were compromised (email addresses, passwords, credit cards etc.) and take appropriate action, such as changing passwords." - }, - "breachCheckUsernameEmail": { - "message": "Check any usernames or email addresses that you use." - }, - "checkBreaches": { - "message": "Check Breaches" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ was not found in any known data breaches.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Good News", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ was found in $COUNT$ different data breaches online.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Breached Accounts Found" - }, - "compromisedData": { - "message": "Compromised data" - }, - "website": { - "message": "Retejo" - }, - "affectedUsers": { - "message": "Affected Users" - }, - "breachOccurred": { - "message": "Breach Occurred" - }, - "breachReported": { - "message": "Breach Reported" - }, - "reportError": { - "message": "An error occurred trying to load the report. Try again" - }, - "billing": { - "message": "Abono" - }, - "accountCredit": { - "message": "Account Credit", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Konto Saldo", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Aldonu Kredito", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Sumo", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Aldonita kredito aperos en via konto post kiam la pago estas plene prilaborita. Iuj pagaj metodoj prokrastas kaj povas daŭri pli da tempo por procesi ol aliaj." - }, - "makeSureEnoughCredit": { - "message": "Please make sure that your account has enough credit available for this purchase. If your account does not have enough credit available, your default payment method on file will be used for the difference. You can add credit to your account from the Billing page." - }, - "creditAppliedDesc": { - "message": "Your account's credit can be used to make purchases. Any available credit will be automatically applied towards invoices generated for this account." - }, - "goPremium": { - "message": "Iru Premium", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "You've upgraded to premium." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Upgrade your account to a premium membership and unlock some great additional features." - }, - "premiumSignUpStorage": { - "message": "1 GB encrypted storage for file attachments." - }, - "premiumSignUpTwoStep": { - "message": "Additional two-step login options such as YubiKey, FIDO U2F, and Duo." - }, - "premiumSignUpReports": { - "message": "Password hygiene, account health, and data breach reports to keep your vault safe." - }, - "premiumSignUpTotp": { - "message": "TOTP verification code (2FA) generator for logins in your vault." - }, - "premiumSignUpSupport": { - "message": "Priority customer support." - }, - "premiumSignUpFuture": { - "message": "All future premium features. More coming soon!" - }, - "premiumPrice": { - "message": "All for just $PRICE$ /year!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Aldonaĵoj" - }, - "premiumAccess": { - "message": "Premium Access" - }, - "premiumAccessDesc": { - "message": "You can add premium access to all members of your organization for $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Additional Storage (GB)" - }, - "additionalStorageGbDesc": { - "message": "# of additional GB" - }, - "additionalStorageIntervalDesc": { - "message": "Your plan comes with $SIZE$ of encrypted file storage. You can add additional storage for $PRICE$ per GB /$INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Enhavo" - }, - "total": { - "message": "Tuto" - }, - "year": { - "message": "jaro" - }, - "month": { - "message": "monato" - }, - "monthAbbr": { - "message": "mo.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Via pago-metodo estos akuzita tuj kaj tiam laŭ recita jaro ĉiujare. Vi povas nuligi en ajna momento." - }, - "paymentCharged": { - "message": "Your payment method will be charged immediately and then on a recurring basis each $INTERVAL$. You may cancel at any time.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Via plano venas kun senpaga 7-taga provo. Via pago-metodo ne estos ŝargita ĝis la proceso finiĝos. Fakturado okazos laŭkalkule ĉiun $INTERVAL$. Vi povas nuligi en ajna momento.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Informoj pri Pago" - }, - "billingInformation": { - "message": "Billing Information" - }, - "creditCard": { - "message": "Credit Card" - }, - "paypalClickSubmit": { - "message": "Click the PayPal button to log into your PayPal account, then click the Submit button below to continue." - }, - "cancelSubscription": { - "message": "Cancel Subscription" - }, - "subscriptionCanceled": { - "message": "The subscription has been canceled." - }, - "pendingCancellation": { - "message": "Pending Cancellation" - }, - "subscriptionPendingCanceled": { - "message": "The subscription has been marked for cancellation at the end of the current billing period." - }, - "reinstateSubscription": { - "message": "Reinstate Subscription" - }, - "reinstateConfirmation": { - "message": "Are you sure you want to remove the pending cancellation request and reinstate your subscription?" - }, - "reinstated": { - "message": "The subscription has been reinstated." - }, - "cancelConfirmation": { - "message": "Are you sure you want to cancel? You will lose access to all of this subscription's features at the end of this billing cycle." - }, - "canceledSubscription": { - "message": "The subscription has been canceled." - }, - "neverExpires": { - "message": "Never Expires" - }, - "status": { - "message": "Stato" - }, - "nextCharge": { - "message": "Next Charge" - }, - "details": { - "message": "Detaloj" - }, - "downloadLicense": { - "message": "Download License" - }, - "updateLicense": { - "message": "Update License" - }, - "updatedLicense": { - "message": "Updated license" - }, - "manageSubscription": { - "message": "Manage Subscription" - }, - "storage": { - "message": "Stokado" - }, - "addStorage": { - "message": "Add Storage" - }, - "removeStorage": { - "message": "Remove Storage" - }, - "subscriptionStorage": { - "message": "Your subscription has a total of $MAX_STORAGE$ GB of encrypted file storage. You are currently using $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Pagmaniero" - }, - "noPaymentMethod": { - "message": "No payment method on file." - }, - "addPaymentMethod": { - "message": "Add Payment Method" - }, - "changePaymentMethod": { - "message": "Change Payment Method" - }, - "invoices": { - "message": "Fakturoj" - }, - "noInvoices": { - "message": "No invoices." - }, - "paid": { - "message": "Pagita", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Senpaga", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Transactions", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "Neniu spezoj." - }, - "chargeNoun": { - "message": "Charge", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Rifondado", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Any charges will appear on your statement as $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "GB of Storage To Add" - }, - "gbStorageRemove": { - "message": "GB of Storage To Remove" - }, - "storageAddNote": { - "message": "Adding storage will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." - }, - "storageRemoveNote": { - "message": "Removing storage will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." - }, - "adjustedStorage": { - "message": "Adjusted $AMOUNT$ GB of storage.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Contact Customer Support" - }, - "updatedPaymentMethod": { - "message": "Updated payment method." - }, - "purchasePremium": { - "message": "Purchase Premium" - }, - "licenseFile": { - "message": "License File" - }, - "licenseFileDesc": { - "message": "Your license file will be named something like $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "To upgrade your account to a premium membership you need to upload a valid license file." - }, - "uploadLicenseFileOrg": { - "message": "To create an on-premises hosted organization you need to upload a valid license file." - }, - "accountEmailMustBeVerified": { - "message": "Your account's email address must be verified." - }, - "newOrganizationDesc": { - "message": "Organizations allow you to share parts of your vault with others as well as manage related users for a specific entity such as a family, small team, or large company." - }, - "generalInformation": { - "message": "Ĝeneralaj informoj" - }, - "organizationName": { - "message": "Nomo de la organizo" - }, - "accountOwnedBusiness": { - "message": "This account is owned by a business." - }, - "billingEmail": { - "message": "Billing Email" - }, - "businessName": { - "message": "Business Name" - }, - "chooseYourPlan": { - "message": "Choose Your Plan" - }, - "users": { - "message": "Uzantoj" - }, - "userSeats": { - "message": "User Seats" - }, - "additionalUserSeats": { - "message": "Additional User Seats" - }, - "userSeatsDesc": { - "message": "# of user seats" - }, - "userSeatsAdditionalDesc": { - "message": "Your plan comes with $BASE_SEATS$ user seats. You can add additional users for $SEAT_PRICE$ per user /month.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "How many user seats do you need? You can also add additional seats later if needed." - }, - "planNameFree": { - "message": "Senpaga", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "For testing or personal users to share with $COUNT$ other user.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Familioj" - }, - "planDescFamilies": { - "message": "For personal use, to share with family & friends." - }, - "planNameTeams": { - "message": "Teamoj" - }, - "planDescTeams": { - "message": "For businesses and other team organizations." - }, - "planNameEnterprise": { - "message": "Entrepreno" - }, - "planDescEnterprise": { - "message": "For businesses and other large organizations." - }, - "freeForever": { - "message": "Senpaga Por ĉiam" - }, - "includesXUsers": { - "message": "includes $COUNT$ users", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Additional Users" - }, - "costPerUser": { - "message": "$COST$ per user", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Limited to $COUNT$ users (including you)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Limited to $COUNT$ collections", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Add and share with up to $COUNT$ users", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Add and share with unlimited users" - }, - "createUnlimitedCollections": { - "message": "Create unlimited Collections" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ encrypted file storage", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "On-premise hosting (optional)" - }, - "usersGetPremium": { - "message": "Users get access to Premium Features" - }, - "controlAccessWithGroups": { - "message": "Control user access with Groups" - }, - "syncUsersFromDirectory": { - "message": "Sync your users and Groups from a directory" - }, - "trackAuditLogs": { - "message": "Track user actions with audit logs" - }, - "enforce2faDuo": { - "message": "Enforce 2FA with Duo" - }, - "priorityCustomerSupport": { - "message": "Priority customer support" - }, - "xDayFreeTrial": { - "message": "$COUNT$ day free trial, cancel anytime", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Ĉiumonate" - }, - "annually": { - "message": "Ĉiujara" - }, - "basePrice": { - "message": "Baze Prezo" - }, - "organizationCreated": { - "message": "Organizo Kreita" - }, - "organizationReadyToGo": { - "message": "Your new organization is ready to go!" - }, - "organizationUpgraded": { - "message": "Your organization has been upgraded." - }, - "leave": { - "message": "Lasu" - }, - "leaveOrganizationConfirmation": { - "message": "Ĉu vi certe volas forlasi ĉi tiun grupon?" - }, - "leftOrganization": { - "message": "You have left the organization." - }, - "defaultCollection": { - "message": "Default Collection" - }, - "getHelp": { - "message": "Serĉi Helpo" - }, - "getApps": { - "message": "Get the Apps" - }, - "loggedInAs": { - "message": "Logged in as" - }, - "eventLogs": { - "message": "Event Logs" - }, - "people": { - "message": "People" - }, - "policies": { - "message": "Politikoj" - }, - "editPolicy": { - "message": "Edit Policy" - }, - "groups": { - "message": "Grupoj" - }, - "newGroup": { - "message": "Nova grupo" - }, - "addGroup": { - "message": "Aldoni Grupon" - }, - "editGroup": { - "message": "Redakti Grupon" - }, - "deleteGroupConfirmation": { - "message": "Ĉu vi certas, ke vi volas forigi ĉi tiun grupon?" - }, - "removeUserConfirmation": { - "message": "Ĉu vi certas, ke vi volas forigi ĉi tiun grupon?" - }, - "externalId": { - "message": "External Id" - }, - "externalIdDesc": { - "message": "The external id can be used as a reference or to link this resource to an external system such as a user directory." - }, - "accessControl": { - "message": "Access Control" - }, - "groupAccessAllItems": { - "message": "This group can access and modify all items." - }, - "groupAccessSelectedCollections": { - "message": "This group can access only the selected collections." - }, - "readOnly": { - "message": "Read Only" - }, - "newCollection": { - "message": "Nova Kolekto" - }, - "addCollection": { - "message": "Nova Kolekto" - }, - "editCollection": { - "message": "Redakti Kolekton" - }, - "deleteCollectionConfirmation": { - "message": "Ĉu vi certas, ke vi volas forigi ĉi tiun grupon?" - }, - "editUser": { - "message": "Redakti Uzanton" - }, - "inviteUser": { - "message": "Inviti Uzanton" - }, - "inviteUserDesc": { - "message": "Invite a new user to your organization by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "inviteMultipleEmailDesc": { - "message": "You can invite up to $COUNT$ users at a time by comma separating a list of email addresses.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "This user is using two-step login to protect their account." - }, - "userAccessAllItems": { - "message": "This user can access and modify all items." - }, - "userAccessSelectedCollections": { - "message": "This user can access only the selected collections." - }, - "search": { - "message": "Serĉi" - }, - "invited": { - "message": "Invitita" - }, - "accepted": { - "message": "Akceptita" - }, - "confirmed": { - "message": "Konfirmita" - }, - "owner": { - "message": "Mastro" - }, - "ownerDesc": { - "message": "The highest access user that can manage all aspects of your organization." - }, - "admin": { - "message": "Administranto" - }, - "adminDesc": { - "message": "Admins can access and manage all items, collections and users in your organization." - }, - "user": { - "message": "Uzanto" - }, - "userDesc": { - "message": "A regular user with access to assigned collections in your organization." - }, - "manager": { - "message": "Direktisto" - }, - "managerDesc": { - "message": "Managers can access and manage assigned collections in your organization." - }, - "all": { - "message": "Ĉiuj" - }, - "refresh": { - "message": "Refreŝigu" - }, - "timestamp": { - "message": "Tempindiko" - }, - "event": { - "message": "Evento" - }, - "unknown": { - "message": "Nekonata" - }, - "loadMore": { - "message": "Load More" - }, - "mobile": { - "message": "Poŝtelefono", - "description": "Mobile app" - }, - "extension": { - "message": "Etendo", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Surtabla", - "description": "Desktop app" - }, - "webVault": { - "message": "Reta Volbo" - }, - "loggedIn": { - "message": "Ensalutinta." - }, - "changedPassword": { - "message": "Ŝanĝi pasvorton de konto." - }, - "enabledUpdated2fa": { - "message": "Enabled/updated two-step login." - }, - "disabled2fa": { - "message": "Disabled two-step login." - }, - "recovered2fa": { - "message": "Recovered account from two-step login." - }, - "failedLogin": { - "message": "Login attempt failed with incorrect password." - }, - "failedLogin2fa": { - "message": "Login attempt failed with incorrect two-step login." - }, - "exportedVault": { - "message": "Exported vault." - }, - "exportedOrganizationVault": { - "message": "Exported organization vault." - }, - "editedOrgSettings": { - "message": "Edited organization settings." - }, - "createdItemId": { - "message": "Created item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Edited item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Sent item $ID$ to trash.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Shared item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Viewed item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Viewed password for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Viewed hidden field for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Viewed security code for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Copied password for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Copied hidden field for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Copied security code for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Auto-filled item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Created collection $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Edited collection $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Deleted collection $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Edited policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Created group $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Edited group $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Deleted group $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Removed user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Created attachment for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Deleted attachment for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Edited collections for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Invited user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Confirmed user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Edited user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Edited groups for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Aparato" - }, - "view": { - "message": "Rigardu" - }, - "invalidDateRange": { - "message": "Invalid date range." - }, - "errorOccurred": { - "message": "An error has occurred." - }, - "userAccess": { - "message": "User Access" - }, - "userType": { - "message": "User Type" - }, - "groupAccess": { - "message": "Aliro de grupo" - }, - "groupAccessUserDesc": { - "message": "Edit the groups that this user belongs to." - }, - "invitedUsers": { - "message": "Invited user(s)." - }, - "resendInvitation": { - "message": "Resend Invitation" - }, - "hasBeenReinvited": { - "message": "$USER$ has been reinvited.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Konfirmi" - }, - "confirmUser": { - "message": "Confirm User" - }, - "hasBeenConfirmed": { - "message": "$USER$ has been confirmed.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Confirm Users" - }, - "usersNeedConfirmed": { - "message": "You have users that have accepted their invitation, but still need to be confirmed. Users will not have access to the organization until they are confirmed." - }, - "startDate": { - "message": "Komencdato" - }, - "endDate": { - "message": "Fina dato" - }, - "verifyEmail": { - "message": "Verify Email" - }, - "verifyEmailDesc": { - "message": "Verify your account's email address to unlock access to all features." - }, - "verifyEmailFirst": { - "message": "Your account's email address first must be verified." - }, - "checkInboxForVerification": { - "message": "Check your email inbox for a verification link." - }, - "emailVerified": { - "message": "Your email has been verified." - }, - "emailVerifiedFailed": { - "message": "Unable to verify your email. Try sending a new verification email." - }, - "updateBrowser": { - "message": "Update Browser" - }, - "updateBrowserDesc": { - "message": "You are using an unsupported web browser. The web vault may not function properly." - }, - "joinOrganization": { - "message": "Aliĝu al Organizo" - }, - "joinOrganizationDesc": { - "message": "You've been invited to join the organization listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "inviteAccepted": { - "message": "Invitation Accepted" - }, - "inviteAcceptedDesc": { - "message": "You can access this organization once an administrator confirms your membership. We'll send you an email when that happens." - }, - "inviteAcceptFailed": { - "message": "Unable to accept invitation. Ask an organization admin to send a new invitation." - }, - "inviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Memori retpoŝto" - }, - "recoverAccountTwoStepDesc": { - "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to disable all two-step providers on your account." - }, - "recoverAccountTwoStep": { - "message": "Recover Account Two-Step Login" - }, - "twoStepRecoverDisabled": { - "message": "Two-step login has been disabled on your account." - }, - "learnMore": { - "message": "Lerni pli" - }, - "deleteRecoverDesc": { - "message": "Enter your email address below to recover and delete your account." - }, - "deleteRecoverEmailSent": { - "message": "If your account exists, we've sent you an email with further instructions." - }, - "deleteRecoverConfirmDesc": { - "message": "You have requested to delete your Bitwarden account. Click the button below to confirm." - }, - "myOrganization": { - "message": "Mia Organizo" - }, - "deleteOrganization": { - "message": "Forigi Organizon" - }, - "deleteOrganizationDesc": { - "message": "Proceed below to delete this organization and all associated data. Individual user accounts will remain, though they will not be associated to this organization anymore. " - }, - "deleteOrganizationWarning": { - "message": "Deleting the organization is permanent. It cannot be undone." - }, - "organizationDeleted": { - "message": "Organization Deleted" - }, - "organizationDeletedDesc": { - "message": "The organization and all associated data has been deleted." - }, - "organizationUpdated": { - "message": "Organization updated" - }, - "taxInformation": { - "message": "Tax Information" - }, - "taxInformationDesc": { - "message": "For customers within the US, ZIP code is required to satisfy sales tax requirements, for other countries you may optionally provide a tax identification number (VAT/GST) and/or address to appear on your invoices." - }, - "billingPlan": { - "message": "Plano", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Change Plan", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Upgrade your account to another plan be providing the information below. Please ensure that you have an active payment method added to the account.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Contact customer support if you would like to change your plan. Please ensure that you have an active payment method added to the account.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Invoice #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "View Invoice" - }, - "downloadInvoice": { - "message": "Download Invoice" - }, - "verifyBankAccount": { - "message": "Verify Bank Account" - }, - "verifyBankAccountDesc": { - "message": "We have made two micro-deposits to your bank account (it may take 1-2 business days to show up). Enter these amounts to verify the bank account." - }, - "verifyBankAccountInitialDesc": { - "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make two micro-deposits within the next 1-2 business days. Enter these amounts on the organization's billing page to verify the bank account." - }, - "verifyBankAccountFailureWarning": { - "message": "Failure to verify the bank account will result in a missed payment and your subscription being disabled." - }, - "verifiedBankAccount": { - "message": "Bank account has been verified." - }, - "bankAccount": { - "message": "Bankokonto" - }, - "amountX": { - "message": "Amount $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Enrutiga Nombro", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Kontonumero" - }, - "accountHolderName": { - "message": "Nomo Konto-posedanto" - }, - "bankAccountType": { - "message": "Account Type" - }, - "bankAccountTypeCompany": { - "message": "Company (Business)" - }, - "bankAccountTypeIndividual": { - "message": "Individual (Personal)" - }, - "enterInstallationId": { - "message": "Enter your installation id" - }, - "addSeats": { - "message": "Add Seats", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Remove Seats", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Your subscription allows for a total of $COUNT$ users.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Seats To Add" - }, - "seatsToRemove": { - "message": "Seats To Remove" - }, - "seatsAddNote": { - "message": "Adding user seats will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." - }, - "seatsRemoveNote": { - "message": "Removing user seats will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." - }, - "adjustedSeats": { - "message": "Adjusted $AMOUNT$ user seats.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Key Updated" - }, - "updateKeyTitle": { - "message": "Update Key" - }, - "updateEncryptionKey": { - "message": "Update Encryption Key" - }, - "updateEncryptionKeyShortDesc": { - "message": "You are currently using an outdated encryption scheme." - }, - "updateEncryptionKeyDesc": { - "message": "We've moved to larger encryption keys that provide better security and access to newer features. Updating your encryption key is quick and easy. Just type your master password below. This update will eventually become mandatory." - }, - "updateEncryptionKeyWarning": { - "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." - }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." - }, - "subscription": { - "message": "Abono" - }, - "loading": { - "message": "Ŝarĝante" - }, - "upgrade": { - "message": "Altgradigon" - }, - "upgradeOrganization": { - "message": "Upgrade Organization" - }, - "upgradeOrganizationDesc": { - "message": "This feature is not available for free organizations. Switch to a paid plan to unlock more features." - }, - "createOrganizationStep1": { - "message": "Create Organization: Step 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Before creating your organization, you first need to create a free personal account." - }, - "refunded": { - "message": "Repagita" - }, - "nothingSelected": { - "message": "You have not selected anything." - }, - "acceptPolicies": { - "message": "By checking this box you agree to the following:" - }, - "acceptPoliciesError": { - "message": "Terms of Service and Privacy Policy have not been acknowledged." - }, - "termsOfService": { - "message": "Kondiĉoj de Servado" - }, - "privacyPolicy": { - "message": "Privateca Politiko" - }, - "filters": { - "message": "Filtriloj" - }, - "vaultTimeout": { - "message": "Vault Timeout" - }, - "vaultTimeoutDesc": { - "message": "Choose when your vault will timeout and perform the selected action." - }, - "oneMinute": { - "message": "1 minuto" - }, - "fiveMinutes": { - "message": "5 minutoj" - }, - "fifteenMinutes": { - "message": "15 minutoj" - }, - "thirtyMinutes": { - "message": "30 minutoj" - }, - "oneHour": { - "message": "1 horo" - }, - "fourHours": { - "message": "4 horoj" - }, - "onRefresh": { - "message": "On Browser Refresh" - }, - "dateUpdated": { - "message": "Ĝisdatigita", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Password Updated", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "Organization is disabled." - }, - "licenseIsExpired": { - "message": "License is expired." - }, - "updatedUsers": { - "message": "Updated users" - }, - "selected": { - "message": "Selektita" - }, - "ownership": { - "message": "Posedado" - }, - "whoOwnsThisItem": { - "message": "Who owns this item?" - }, - "strong": { - "message": "Fortika", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Bona", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Malforta", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Tre malforta", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Malforta Majstra Pasvorto" - }, - "weakMasterPasswordDesc": { - "message": "The master password you have chosen is weak. You should use a strong master password (or a passphrase) to properly protect your Bitwarden account. Are you sure you want to use this master password?" - }, - "rotateAccountEncKey": { - "message": "Also rotate my account's encryption key" - }, - "rotateEncKeyTitle": { - "message": "Rotate Encryption Key" - }, - "rotateEncKeyConfirmation": { - "message": "Are you sure you want to rotate your account's encryption key?" - }, - "attachmentsNeedFix": { - "message": "This item has old file attachments that need to be fixed." - }, - "attachmentFixDesc": { - "message": "This is an old file attachment the needs to be fixed. Click to learn more." - }, - "fix": { - "message": "Fix", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "There are old file attachments in your vault that need to be fixed before you can rotate your account's encryption key." - }, - "yourAccountsFingerprint": { - "message": "Your account's fingerprint phrase", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "To ensure the integrity of your encryption keys, please verify the user's fingerprint phrase before continuing.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Don't ask to verify fingerprint phrase again", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Senpaga", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "API Key" - }, - "apiKeyDesc": { - "message": "Your API key can be used to authenticate to the Bitwarden public API." - }, - "apiKeyRotateDesc": { - "message": "Rotating the API key will invalidate the previous key. You can rotate your API key if you believe that the current key is no longer safe to use." - }, - "apiKeyWarning": { - "message": "Your API key has full access to the organization. It should be kept secret." - }, - "userApiKeyDesc": { - "message": "Your API key can be used to authenticate in the Bitwarden CLI." - }, - "userApiKeyWarning": { - "message": "Your API key is an alternative authentication mechanism. It should be kept secret." - }, - "oauth2ClientCredentials": { - "message": "OAuth 2.0 Client Credentials", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "View API Key" - }, - "rotateApiKey": { - "message": "Rotate API Key" - }, - "selectOneCollection": { - "message": "You must select at least one collection." - }, - "couldNotChargeCardPayInvoice": { - "message": "We were not able to charge your card. Please view and pay the unpaid invoice listed below." - }, - "inAppPurchase": { - "message": "En-app-aĉeto" - }, - "cannotPerformInAppPurchase": { - "message": "You cannot perform this action while using an in-app purchase payment method." - }, - "manageSubscriptionFromStore": { - "message": "You must manage your subscription from the store where your in-app purchase was made." - }, - "minLength": { - "message": "Minimum Length" - }, - "clone": { - "message": "Kloni" - }, - "masterPassPolicyDesc": { - "message": "Set minimum requirements for master password strength." - }, - "twoStepLoginPolicyDesc": { - "message": "Require users to set up two-step login on their personal accounts." - }, - "twoStepLoginPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and do not have two-step login enabled for their personal account will be removed from the organization and will receive an email notifying them about the change." - }, - "twoStepLoginPolicyUserWarning": { - "message": "Vi estas membro de organizo, kiu postulas dupaŝan ensaluton esti ebligita en via uzantokonto. Se vi malebligas ĉiujn dupaŝajn ensalutajn provizantojn, vi estos aŭtomate forigita el ĉi tiuj organizoj." - }, - "passwordGeneratorPolicyDesc": { - "message": "Set minimum requirements for password generator configuration." - }, - "passwordGeneratorPolicyInEffect": { - "message": "One or more organization policies are affecting your generator settings." - }, - "masterPasswordPolicyInEffect": { - "message": "One or more organization policies require your master password to meet the following requirements:" - }, - "policyInEffectMinComplexity": { - "message": "Minimum complexity score of $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Minimum length of $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Contain one or more uppercase characters" - }, - "policyInEffectLowercase": { - "message": "Contain one or more lowercase characters" - }, - "policyInEffectNumbers": { - "message": "Contain one or more numbers" - }, - "policyInEffectSpecial": { - "message": "Contain one or more of the following special characters $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Your new master password does not meet the policy requirements." - }, - "minimumNumberOfWords": { - "message": "Minimum Number of Words" - }, - "defaultType": { - "message": "Default Type" - }, - "userPreference": { - "message": "User Preference" - }, - "vaultTimeoutAction": { - "message": "Vault Timeout Action" - }, - "vaultTimeoutActionLockDesc": { - "message": "A locked vault requires that you re-enter your master password to access it again." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "A logged out vault requires that you re-authenticate to access it again." - }, - "lock": { - "message": "Lock", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Rubujo", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Search Trash" - }, - "permanentlyDelete": { - "message": "Permanently Delete" - }, - "permanentlyDeleteSelected": { - "message": "Permanently Delete Selected" - }, - "permanentlyDeleteItem": { - "message": "Permanently Delete Item" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Ĉu vi certas, ke vi volas porĉiame forigi ĉi tiun ero?" - }, - "permanentlyDeletedItem": { - "message": "Permanently Deleted item" - }, - "permanentlyDeletedItems": { - "message": "Permanently Deleted items" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to permanently delete. Are you sure you want to permanently delete all of these items?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Permanently Deleted item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Restarigi" - }, - "restoreSelected": { - "message": "Restore Selected" - }, - "restoreItem": { - "message": "Restore Item" - }, - "restoredItem": { - "message": "Restored Item" - }, - "restoredItems": { - "message": "Restored Items" - }, - "restoreItemConfirmation": { - "message": "Are you sure you want to restore this item?" - }, - "restoreItems": { - "message": "Restore items" - }, - "restoreSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to restore. Are you sure you want to restore all of these items?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Restored item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Logging out will remove all access to your vault and requires online authentication after the timeout period. Are you sure you want to use this setting?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Timeout Action Confirmation" - }, - "hidePasswords": { - "message": "Hide Passwords" - }, - "countryPostalCodeRequiredDesc": { - "message": "We require this information for calculating sales tax and financial reporting only." - }, - "includeVAT": { - "message": "Include VAT/GST Information (optional)" - }, - "taxIdNumber": { - "message": "VAT/GST Tax ID" - }, - "taxInfoUpdated": { - "message": "Tax information updated." - }, - "setMasterPassword": { - "message": "Set Master Password" - }, - "ssoCompleteRegistration": { - "message": "In order to complete logging in with SSO, please set a master password to access and protect your vault." - }, - "identifier": { - "message": "Identifier" - }, - "organizationIdentifier": { - "message": "Organization Identifier" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Log in using your organization's single sign-on portal. Please enter your organization's identifier to begin." - }, - "enterpriseSingleSignOn": { - "message": "Enterprise Single Sign-On" - }, - "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." - }, - "businessPortal": { - "message": "Business Portal", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "All Teams features, plus:" - }, - "includeSsoAuthentication": { - "message": "SSO Authentication via SAML2.0 and OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Enterprise Policies" - }, - "ssoValidationFailed": { - "message": "SSO Validation Failed" - }, - "ssoIdentifierRequired": { - "message": "Organization Identifier is required." - }, - "unlinkSso": { - "message": "Unlink SSO" - }, - "linkSso": { - "message": "Link SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "Policy configuration has been moved, and this page will soon be deprecated. Please click below to use the Business Portal policies page instead." - }, - "singleOrg": { - "message": "Single Organization" - }, - "singleOrgDesc": { - "message": "Restrict users from being able to join any other organizations." - }, - "singleOrgBlockCreateMessage": { - "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." - }, - "singleOrgPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and are already a member of another organization will be removed from your organization." - }, - "requireSso": { - "message": "Single Sign-On Authentication" - }, - "requireSsoPolicyDesc": { - "message": "Require users to log in with the Enterprise Single Sign-On method." - }, - "prerequisite": { - "message": "Prerequisite" - }, - "requireSsoPolicyReq": { - "message": "The Single Organization enterprise policy must be enabled before activating this policy." - }, - "requireSsoPolicyReqError": { - "message": "Single Organization policy not enabled." - }, - "requireSsoExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "sendTypeFile": { - "message": "File" - }, - "sendTypeText": { - "message": "Text" - }, - "createSend": { - "message": "Create New Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Edit Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Created Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Edited Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Deleted Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Delete Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Are you sure you want to delete this Send?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "What type of Send is this?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Deletion Date" - }, - "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Expiration Date" - }, - "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Maximum Access Count" - }, - "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Current Access Count" - }, - "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Private notes about this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Disabled" - }, - "sendLink": { - "message": "Send Link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Copy Send Link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Remove Password" - }, - "removedPassword": { - "message": "Removed Password" - }, - "removePasswordConfirmation": { - "message": "Are you sure you want to remove the password?" - }, - "disableThisSend": { - "message": "Disable this Send so that no one can access it.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "All Sends" - }, - "maxAccessCountReached": { - "message": "Max access count reached" - }, - "pendingDeletion": { - "message": "Pending deletion" - }, - "expired": { - "message": "Expired" - }, - "searchSends": { - "message": "Search Sends", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "This Send is protected with a password. Please type the password below to continue.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Don't know the password? Ask the Sender for the password needed to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "This send is hidden by default. You can toggle its visibility using the button below.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Download File" - }, - "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "There are no Sends to list.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Emergency Access" - }, - "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." - }, - "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" - }, - "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." - }, - "addEmergencyContact": { - "message": "Add emergency contact" - }, - "designatedEmergencyContacts": { - "message": "Designated as emergency contact" - }, - "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." - }, - "inviteEmergencyContact": { - "message": "Invite emergency contact" - }, - "editEmergencyContact": { - "message": "Edit emergency contact" - }, - "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" - }, - "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" - }, - "viewDesc": { - "message": "Can view all items in your own vault." - }, - "takeover": { - "message": "Takeover" - }, - "takeoverDesc": { - "message": "Can reset your account with a new master password." - }, - "waitTime": { - "message": "Wait Time" - }, - "waitTimeDesc": { - "message": "Time required before automatically granting access." - }, - "oneDay": { - "message": "1 day" - }, - "days": { - "message": "$DAYS$ days", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Invited user." - }, - "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." - }, - "requestAccess": { - "message": "Request Access" - }, - "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Approve" - }, - "reject": { - "message": "Reject" - }, - "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Emergency access approved." - }, - "emergencyRejected": { - "message": "Emergency access rejected" - }, - "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Personal Ownership" - }, - "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." - }, - "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." - }, - "modifiedPolicyId": { - "message": "Modified policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Plan price" - }, - "estimatedTax": { - "message": "Estimated tax" - }, - "custom": { - "message": "Custom" - }, - "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." - }, - "permissions": { - "message": "Permissions" - }, - "accessBusinessPortal": { - "message": "Access Business Portal" - }, - "accessEventLogs": { - "message": "Access Event Logs" - }, - "accessImportExport": { - "message": "Access Import/Export" - }, - "accessReports": { - "message": "Access Reports" - }, - "manageAllCollections": { - "message": "Manage All Collections" - }, - "manageAssignedCollections": { - "message": "Manage Assigned Collections" - }, - "manageGroups": { - "message": "Manage Groups" - }, - "managePolicies": { - "message": "Manage Policies" - }, - "manageSso": { - "message": "Manage SSO" - }, - "manageUsers": { - "message": "Manage Users" - }, - "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." - }, - "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." - }, - "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" - }, - "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/es/messages.json b/locales/es/messages.json deleted file mode 100644 index 47e957ae..00000000 --- a/locales/es/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$ Caja fuerte Web", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "¿Qué tipo de elemento es este?" - }, - "name": { - "message": "Nombre" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "Nueva URI" - }, - "username": { - "message": "Usuario" - }, - "password": { - "message": "Contraseña" - }, - "newPassword": { - "message": "Nueva contraseña" - }, - "passphrase": { - "message": "Frase de contraseña" - }, - "notes": { - "message": "Notas" - }, - "customFields": { - "message": "Campos personalizados" - }, - "cardholderName": { - "message": "Nombre en la tarjeta" - }, - "number": { - "message": "Número" - }, - "brand": { - "message": "Marca" - }, - "expiration": { - "message": "Expiración" - }, - "securityCode": { - "message": "Código de seguridad (CVV)" - }, - "identityName": { - "message": "Nombre de la identidad" - }, - "company": { - "message": "Empresa" - }, - "ssn": { - "message": "Número de la seguridad social" - }, - "passportNumber": { - "message": "Número de pasaporte" - }, - "licenseNumber": { - "message": "Número de licencia" - }, - "email": { - "message": "Correo electrónico" - }, - "phone": { - "message": "Teléfono" - }, - "january": { - "message": "Enero" - }, - "february": { - "message": "Febrero" - }, - "march": { - "message": "Marzo" - }, - "april": { - "message": "Abril" - }, - "may": { - "message": "Mayo" - }, - "june": { - "message": "Junio" - }, - "july": { - "message": "Julio" - }, - "august": { - "message": "Agosto" - }, - "september": { - "message": "Septiembre" - }, - "october": { - "message": "Octubre" - }, - "november": { - "message": "Noviembre" - }, - "december": { - "message": "Diciembre" - }, - "title": { - "message": "Título" - }, - "mr": { - "message": "Sr" - }, - "mrs": { - "message": "Sra" - }, - "ms": { - "message": "Srta" - }, - "dr": { - "message": "Dr" - }, - "expirationMonth": { - "message": "Mes de expiración" - }, - "expirationYear": { - "message": "Año de expiración" - }, - "authenticatorKeyTotp": { - "message": "Clave de autenticación (TOTP)" - }, - "folder": { - "message": "Carpeta" - }, - "newCustomField": { - "message": "Nuevo campo personalizado" - }, - "value": { - "message": "Valor" - }, - "dragToSort": { - "message": "Arrastra para ordenar" - }, - "cfTypeText": { - "message": "Texto" - }, - "cfTypeHidden": { - "message": "Oculto" - }, - "cfTypeBoolean": { - "message": "Booleano" - }, - "remove": { - "message": "Eliminar" - }, - "unassigned": { - "message": "No asignado" - }, - "noneFolder": { - "message": "Sin carpeta", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Añadir carpeta" - }, - "editFolder": { - "message": "Editar carpeta" - }, - "baseDomain": { - "message": "Dominio base" - }, - "host": { - "message": "Servidor", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Exacta" - }, - "startsWith": { - "message": "Empieza con" - }, - "regEx": { - "message": "Expresión regular", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Tipo de detección", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Detección por defecto", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Nunca" - }, - "toggleVisibility": { - "message": "Alternar visibilidad" - }, - "toggleCollapse": { - "message": "Colapsar/Expandir", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Generar contraseña" - }, - "checkPassword": { - "message": "Comprobar si la contraseña está comprometida." - }, - "passwordExposed": { - "message": "Esta contraseña fue encontrada $VALUE$ vez/veces en filtraciones de datos. Deberías cambiarla.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "Esta contraseña no fue encontrada en ninguna filtración de datos conocida. Deberías poder utilizarla de forma segura." - }, - "save": { - "message": "Guardar" - }, - "cancel": { - "message": "Cancelar" - }, - "canceled": { - "message": "Cancelado" - }, - "close": { - "message": "Cerrar" - }, - "delete": { - "message": "Eliminar" - }, - "favorite": { - "message": "Favorito" - }, - "unfavorite": { - "message": "Eliminar favorito" - }, - "edit": { - "message": "Editar" - }, - "searchCollection": { - "message": "Buscar en colección" - }, - "searchFolder": { - "message": "Buscar en carpeta" - }, - "searchFavorites": { - "message": "Buscar en favoritos" - }, - "searchType": { - "message": "Buscar en tipo", - "description": "Search item type" - }, - "searchVault": { - "message": "Buscar en caja fuerte" - }, - "allItems": { - "message": "Todos los elementos" - }, - "favorites": { - "message": "Favoritos" - }, - "types": { - "message": "Tipos" - }, - "typeLogin": { - "message": "Inicio de sesión" - }, - "typeCard": { - "message": "Tarjeta" - }, - "typeIdentity": { - "message": "Identidad" - }, - "typeSecureNote": { - "message": "Nota segura" - }, - "folders": { - "message": "Carpetas" - }, - "collections": { - "message": "Colecciones" - }, - "firstName": { - "message": "Nombre" - }, - "middleName": { - "message": "2º nombre" - }, - "lastName": { - "message": "Apellido" - }, - "address1": { - "message": "Dirección 1" - }, - "address2": { - "message": "Dirección 2" - }, - "address3": { - "message": "Dirección 3" - }, - "cityTown": { - "message": "Ciudad / Pueblo" - }, - "stateProvince": { - "message": "Estado / Provincia" - }, - "zipPostalCode": { - "message": "Código postal" - }, - "country": { - "message": "País" - }, - "shared": { - "message": "Compartido" - }, - "attachments": { - "message": "Adjuntos" - }, - "select": { - "message": "Seleccionar" - }, - "addItem": { - "message": "Añadir elemento" - }, - "editItem": { - "message": "Editar elemento" - }, - "viewItem": { - "message": "Ver elemento" - }, - "ex": { - "message": "ej.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Otro" - }, - "share": { - "message": "Compartir" - }, - "valueCopied": { - "message": "Valor de $VALUE$ copiado", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Copiar valor", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Copiar contraseña", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Copiar usuario", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Copiar número", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Copiar código de seguridad", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Copiar URI", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "Mi caja fuerte" - }, - "vault": { - "message": "Caja fuerte" - }, - "shareSelected": { - "message": "Compartir selección" - }, - "deleteSelected": { - "message": "Eliminar selección" - }, - "moveSelected": { - "message": "Mover selección" - }, - "selectAll": { - "message": "Seleccionar todo" - }, - "unselectAll": { - "message": "Deseleccionar todo" - }, - "launch": { - "message": "Iniciar" - }, - "newAttachment": { - "message": "Añadir nuevo adjunto" - }, - "deletedAttachment": { - "message": "Adjunto eliminado" - }, - "deleteAttachmentConfirmation": { - "message": "¿Estás seguro de querer eliminar este adjunto?" - }, - "attachmentSaved": { - "message": "El adjunto se ha guardado." - }, - "file": { - "message": "Archivo" - }, - "selectFile": { - "message": "Selecciona un archivo." - }, - "maxFileSize": { - "message": "El tamaño máximo de archivo es de 100MB." - }, - "updateKey": { - "message": "No puedes usar esta característica hasta que actualices tu clave de cifrado." - }, - "addedItem": { - "message": "Elemento añadido" - }, - "editedItem": { - "message": "Elemento editado" - }, - "sharedItem": { - "message": "Elemento compartido" - }, - "sharedItems": { - "message": "Elementos compartidos" - }, - "deleteItem": { - "message": "Eliminar elemento" - }, - "deleteFolder": { - "message": "Borrar carpeta" - }, - "deleteAttachment": { - "message": "Eliminar archivo adjunto" - }, - "deleteItemConfirmation": { - "message": "¿Estás seguro de que quieres eliminar este elemento?" - }, - "deletedItem": { - "message": "Elemento eliminado" - }, - "deletedItems": { - "message": "Elementos eliminados" - }, - "movedItems": { - "message": "Elementos movidos" - }, - "overwritePasswordConfirmation": { - "message": "¿Estás seguro de que quieres sobreescribir la contraseña actual?" - }, - "editedFolder": { - "message": "Carpeta editada" - }, - "addedFolder": { - "message": "Carpeta añadida" - }, - "deleteFolderConfirmation": { - "message": "¿Estás seguro de querer eliminar esta carpeta?" - }, - "deletedFolder": { - "message": "Carpeta eliminada" - }, - "loggedOut": { - "message": "Sesión terminada" - }, - "loginExpired": { - "message": "Tu sesión ha expirado." - }, - "logOutConfirmation": { - "message": "¿Estás seguro de querer cerrar la sesión?" - }, - "logOut": { - "message": "Cerrar sesión" - }, - "ok": { - "message": "Aceptar" - }, - "yes": { - "message": "Sí" - }, - "no": { - "message": "No" - }, - "loginOrCreateNewAccount": { - "message": "Identifícate o crea una nueva cuenta para acceder a tu caja fuerte." - }, - "createAccount": { - "message": "Crear cuenta" - }, - "logIn": { - "message": "Identificarse" - }, - "submit": { - "message": "Enviar" - }, - "emailAddressDesc": { - "message": "Utilizarás tu correo electrónico para acceder." - }, - "yourName": { - "message": "Tu nombre" - }, - "yourNameDesc": { - "message": "¿Cómo deberíamos llamarte?" - }, - "masterPass": { - "message": "Contraseña maestra" - }, - "masterPassDesc": { - "message": "La contraseña maestra es la clave que utilizas para acceder a tu caja fuerte. Es muy importante que no olvides tu contraseña maestra. No hay forma de recuperarla si la olvidas." - }, - "masterPassHintDesc": { - "message": "Una pista de tu contraseña maestra puede ayudarte a recordarla en caso de que la olvides." - }, - "reTypeMasterPass": { - "message": "Vuelve a escribir tu contraseña maestra" - }, - "masterPassHint": { - "message": "Pista de contraseña maestra (opcional)" - }, - "masterPassHintLabel": { - "message": "Pista de contraseña maestra" - }, - "settings": { - "message": "Configuración" - }, - "passwordHint": { - "message": "Pista de contraseña" - }, - "enterEmailToGetHint": { - "message": "Introduce el correo electrónico de tu cuenta para recibir la pista de tu contraseña maestra." - }, - "getMasterPasswordHint": { - "message": "Obtener pista de la contraseña maestra" - }, - "emailRequired": { - "message": "Correo electrónico requerido." - }, - "invalidEmail": { - "message": "Correo electrónico no válido." - }, - "masterPassRequired": { - "message": "Contraseña maestra requerida." - }, - "masterPassLength": { - "message": "La contraseña maestra debe tener al menos 8 caracteres." - }, - "masterPassDoesntMatch": { - "message": "La confirmación de contraseña maestra no coincide." - }, - "newAccountCreated": { - "message": "¡Tu nueva cuenta ha sido creada! Ahora puedes acceder." - }, - "masterPassSent": { - "message": "Te hemos enviado un correo electrónico con la pista de tu contraseña maestra." - }, - "unexpectedError": { - "message": "Ha ocurrido un error inesperado." - }, - "emailAddress": { - "message": "Correo electrónico" - }, - "yourVaultIsLocked": { - "message": "Tu caja fuerte está bloqueada. Verifica tu contraseña maestra para continuar." - }, - "unlock": { - "message": "Desbloquear" - }, - "loggedInAsEmailOn": { - "message": "Conectado como $EMAIL$ en $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Contraseña maestra no válida" - }, - "lockNow": { - "message": "Bloquear" - }, - "noItemsInList": { - "message": "No hay elementos que listar." - }, - "noCollectionsInList": { - "message": "No hay colecciones que listar." - }, - "noGroupsInList": { - "message": "No hay grupos que listar." - }, - "noUsersInList": { - "message": "No hay usuarios que listar." - }, - "noEventsInList": { - "message": "No hay eventos que listar." - }, - "newOrganization": { - "message": "Nueva organización" - }, - "noOrganizationsList": { - "message": "No perteneces a ninguna organización. Las organizaciones te permiten compartir elementos con otros usuarios de forma segura." - }, - "versionNumber": { - "message": "Versión $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Introduce el código de verificación de 6 dígitos de tu aplicación autenticadora." - }, - "enterVerificationCodeEmail": { - "message": "Introduce el código de verificación de 6 dígitos que fue enviado a $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "Correo de verificación enviado a $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Recordarme" - }, - "sendVerificationCodeEmailAgain": { - "message": "Reenviar código de verificación por correo electrónico" - }, - "useAnotherTwoStepMethod": { - "message": "Utilizar otro método de autenticación en dos pasos" - }, - "insertYubiKey": { - "message": "Inserta tu YubiKey en el puerto USB de tu equipo y posteriormente pulsa su botón." - }, - "insertU2f": { - "message": "Inserta tu llave de seguridad en el puerto USB de tu equipo. Si tiene un botón, púlsalo." - }, - "loginUnavailable": { - "message": "Entrada no disponible" - }, - "noTwoStepProviders": { - "message": "Esta cuenta tiene autenticación en dos pasos habilitado, pero ninguno de lo métodos configurados es soportado por este navegador web." - }, - "noTwoStepProviders2": { - "message": "Por favor, utiliza un navegador soportado (como Chrome) y/o añade métodos de autenticación adicionales que tengan mejor soporte en diferentes navegadores web (como una aplicación de autenticación)." - }, - "twoStepOptions": { - "message": "Opciones de la autenticación en dos pasos" - }, - "recoveryCodeDesc": { - "message": "¿Has perdido el acceso a todos tus métodos de autenticación en dos pasos? Utiliza tu código de recuperación para deshabilitar todos los métodos de autenticación en dos pasos de tu cuenta." - }, - "recoveryCodeTitle": { - "message": "Código de recuperación" - }, - "authenticatorAppTitle": { - "message": "Aplicación de autenticación" - }, - "authenticatorAppDesc": { - "message": "Utiliza una aplicación de autenticación (como Authy o Google Authenticator) para generar código de verificación basados en tiempo.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "Llave de seguridad YubiKey OTP" - }, - "yubiKeyDesc": { - "message": "Usa un Yubikey para acceder a tu cuenta. Funciona con YubiKey 4, 4 Nano, 4C y dispositivos NEO." - }, - "duoDesc": { - "message": "Verificar con Duo Security usando la aplicación Duo Mobile, SMS, llamada telefónica o llave de seguridad U2F.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Verificar con Duo Security para tu organización usando la aplicación Duo Mobile, SMS, llamada telefónica o llave de seguridad U2F.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Usa cualquier llave de seguridad FIDO U2F habilitada para acceder a tu cuenta." - }, - "u2fTitle": { - "message": "Llave de seguridad FIDO U2F" - }, - "emailTitle": { - "message": "Correo electrónico" - }, - "emailDesc": { - "message": "Los códigos de verificación te serán enviados por correo electrónico." - }, - "continue": { - "message": "Continuar" - }, - "organization": { - "message": "Organización" - }, - "organizations": { - "message": "Organizaciones" - }, - "shareDesc": { - "message": "Elige una organización con la que quieras compartir este elemento. Compartir transfiere la propiedad del elemento a la organización. No podrás volver a ser el propietario de este elemento una vez haya sido compartido." - }, - "shareManyDesc": { - "message": "Elige una organización con la que quieras compartir estos elementos. Compartir transfiere la propiedad de los elementos a la organización. No podrás volver a ser el propietario de estes elementos una vez hayan sido compartidos." - }, - "collectionsDesc": { - "message": "Elige las colecciones con la que este elemento va a ser compartido. Solo los miembros de la organización que puedan acceder a esas colecciones podrán ver el elemento." - }, - "deleteSelectedItemsDesc": { - "message": "Has seleccionado $COUNT$ elementos a eliminar. ¿Estás seguro de que quieres eliminar todos estos elementos?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Selecciona una carpeta a la que quieras mover los $COUNT$ elementos seleccionados.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "Ha seleccionado $COUNT$ elemento(s). $SHAREABLE_COUNT$ elementos son compartibles, $NONSHAREABLE_COUNT$ no.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Código de verificación (TOTP)" - }, - "copyVerificationCode": { - "message": "Copiar código de verificación" - }, - "warning": { - "message": "Advertencia" - }, - "confirmVaultExport": { - "message": "Confirmar la exportación de la bóveda" - }, - "exportWarningDesc": { - "message": "Esta exportación contiene los datos de tu caja fuerte en un formato no cifrado. No deberías almacenar o enviar el archivo exportado por canales no seguros (como el correo electrónico). Elimínalo inmediatamente cuando termines de utilizarlo." - }, - "encExportWarningDesc": { - "message": "Esta exportación encripta tus datos usando la clave de cifrado de tu cuenta. Si alguna vez cambias la clave de cifrado de tu cuenta debes volver a exportar, ya que no podrás descifrar este archivo de exportación." - }, - "exportMasterPassword": { - "message": "Introduce tu contraseña maestra para exportar la información de tu caja fuerte." - }, - "exportVault": { - "message": "Exportar caja fuerte" - }, - "fileFormat": { - "message": "Formato de archivo" - }, - "exportSuccess": { - "message": "El contenido de tu caja fuerte ha sido exportado." - }, - "passwordGenerator": { - "message": "Generador de contraseñas" - }, - "minComplexityScore": { - "message": "Puntuación de Complejidad Mínima" - }, - "minNumbers": { - "message": "Mínimo de caracteres numéricos" - }, - "minSpecial": { - "message": "Mínimo de caracteres especiales", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Evitar caracteres ambiguos" - }, - "regeneratePassword": { - "message": "Regenerar contraseña" - }, - "length": { - "message": "Longitud" - }, - "numWords": { - "message": "Número de palabras" - }, - "wordSeparator": { - "message": "Separador de palabras" - }, - "capitalize": { - "message": "Mayúsculas iniciales", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Incluir número" - }, - "passwordHistory": { - "message": "Historial de contraseñas" - }, - "noPasswordsInList": { - "message": "No hay contraseñas que listar." - }, - "clear": { - "message": "Limpiar", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Cuenta actualizada" - }, - "changeEmail": { - "message": "Cambiar correo electrónico" - }, - "newEmail": { - "message": "Nuevo correo electrónico" - }, - "code": { - "message": "Código" - }, - "changeEmailDesc": { - "message": "Te hemos enviado un código de verificación a $EMAIL$. Por favor, comprueba tu correo electrónico e introduce el código abajo para finalizar el cambio de cuenta de correo electrónico.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Proceder cerrará tu sesión actual, requiriendo que vuelvas a acceder. Las sesiones activas en otros dispositivos pueden seguir activas hasta dentro de una hora." - }, - "emailChanged": { - "message": "Correo electrónico cambiado" - }, - "logBackIn": { - "message": "Por favor, vuelve a acceder." - }, - "logBackInOthersToo": { - "message": "Por favor, vuelve a acceder. Si estás utilizando otras aplicaciones de Bitwarden, cierra sesión y vuelva a acceder en ellas también." - }, - "changeMasterPassword": { - "message": "Cambiar contraseña maestra" - }, - "masterPasswordChanged": { - "message": "Contraseña maestra cambiada" - }, - "currentMasterPass": { - "message": "Contraseña maestra actual" - }, - "newMasterPass": { - "message": "Nueva contraseña maestra" - }, - "confirmNewMasterPass": { - "message": "Confirma la nueva contraseña maestra" - }, - "encKeySettings": { - "message": "Configuración de clave de cifrado" - }, - "kdfAlgorithm": { - "message": "Algoritmo KDF" - }, - "kdfIterations": { - "message": "Iteraciones de KDF" - }, - "kdfIterationsDesc": { - "message": "Mientras más iteraciones KDF, mejor la protección a su contraseña maestra de ser descubierta por un ataque de fuerza bruta. Recomendamos un valor de $VALUE$ o más.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Establecer las iteraciones KDF con un valor muy alto, podría resultar en un rendimiento pobre al ingresar, y/o desbloquear Bitwarden en dispositivos con CPUs lentos. Recomendamos que aumente el valor en incrementos de $INCREMENT$ y luego pruebe en todos sus dispositivos.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Modificar KDF" - }, - "encKeySettingsChanged": { - "message": "Se cambió la configuración de clave de cifrado" - }, - "dangerZone": { - "message": "Zona peligrosa" - }, - "dangerZoneDesc": { - "message": "¡Cuidado, estas acciones no son reversibles!" - }, - "deauthorizeSessions": { - "message": "Desautorizar sesiones" - }, - "deauthorizeSessionsDesc": { - "message": "¿Te preocupa que tu cuenta esté identificada en otro dispositivo? Utiliza la opción de abajo para desautorizar otros equipos o dispositivos que hayas usado anteriormente. Este paso es recomendable si anteriormente has utilizando un equipo pública o has guardado tu contraseña por error en un dispositivo que no es tuyo. Esto también eliminará cualquier autenticación en dos pasos anteriormente recordada." - }, - "deauthorizeSessionsWarning": { - "message": "Proceder también cerrará tu sesión actual, requiriendo que vuelvas a identificarte. También se te pedirá nuevamente tu autenticación en dos pasos en caso de que la tengas habilitada. Las sesiones activas en otros dispositivos pueden mantenerse activas hasta una hora más." - }, - "sessionsDeauthorized": { - "message": "Desautorizadas todas las sesiones" - }, - "purgeVault": { - "message": "Caja fuerte purgada" - }, - "purgedOrganizationVault": { - "message": "Caja fuerte de organización purgada." - }, - "purgeVaultDesc": { - "message": "Proceder eliminará todos los elementos y carpetas de tu caja fuerte. Los elementos que pertenezcan a una organización con la que compartes contenido, no serán eliminados." - }, - "purgeOrgVaultDesc": { - "message": "Proceder para eliminar todos los elementos de la caja fuerte de la organización." - }, - "purgeVaultWarning": { - "message": "Purgar tu caja fuerte es permanente. No se puede deshacer." - }, - "vaultPurged": { - "message": "Tu caja fuerte ha sido purgada." - }, - "deleteAccount": { - "message": "Eliminar cuenta" - }, - "deleteAccountDesc": { - "message": "Proceder eliminará tu cuenta y todo el contenido asociado a ella." - }, - "deleteAccountWarning": { - "message": "Eliminar tu cuenta es permanente. No se puede deshacer." - }, - "accountDeleted": { - "message": "Cuenta eliminada" - }, - "accountDeletedDesc": { - "message": "Tu cuenta ha sido cerrada y toda la información asociada ha sido eliminada." - }, - "myAccount": { - "message": "Mi cuenta" - }, - "tools": { - "message": "Herramientas" - }, - "importData": { - "message": "Importar datos" - }, - "importSuccess": { - "message": "La información ha sido importada correctamente en tu caja fuerte." - }, - "importFormatError": { - "message": "El formato de la información no es correcto. Por favor, comprueba el fichero y prueba de nuevo." - }, - "importNothingError": { - "message": "No se ha importado nada." - }, - "selectFormat": { - "message": "Selecciona el formato del fichero a importar" - }, - "selectImportFile": { - "message": "Seleccionar el fichero a importar" - }, - "orCopyPasteFileContents": { - "message": "o copia/pega el contenido del fichero a importar" - }, - "instructionsFor": { - "message": "Instrucciones para $NAME$", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Opciones" - }, - "optionsDesc": { - "message": "Personaliza tu caja fuerte." - }, - "optionsUpdated": { - "message": "Opciones actualizadas" - }, - "language": { - "message": "Idioma" - }, - "languageDesc": { - "message": "Cambiar el idioma utilizado en la caja fuerte web." - }, - "disableIcons": { - "message": "Deshabilitar iconos de sitios web" - }, - "disableIconsDesc": { - "message": "Los iconos de sitios web añaden una imagen reconocible al lado de cada entrada de tu caja fuerte." - }, - "enableGravatars": { - "message": "Habilitar Gravatars", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Usa imágenes de avatares cargadas desde gravatar.com." - }, - "enableFullWidth": { - "message": "Habilitar diseño de ancho completo", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Permite que la caja fuerte web se amplíe al ancho completo de la ventana del navegador." - }, - "default": { - "message": "Por defecto" - }, - "domainRules": { - "message": "Reglas de dominios" - }, - "domainRulesDesc": { - "message": "Si tienes los mismos datos de acceso en diferentes dominios de una página web, puedes marcar esa web como \"equivalente\". Los dominios \"globales\" son equivalencias que Bitwarden ha creado por ti." - }, - "globalEqDomains": { - "message": "Dominios equivalentes globales" - }, - "customEqDomains": { - "message": "Dominios equivalentes personalizados" - }, - "exclude": { - "message": "Excluir" - }, - "include": { - "message": "Incluir" - }, - "customize": { - "message": "Personalizar" - }, - "newCustomDomain": { - "message": "Nuevo dominio personalizado" - }, - "newCustomDomainDesc": { - "message": "Introduce una lista de dominios separados por comas. Solo se permiten dominios \"base\". No introduzcas subdominios. Por ejemplo, introduce \"google.com\" en vez de \"www.google.com\". También puedes introducir \"androidapp://package.name\" para asociar una aplicación de android con otros dominios web." - }, - "customDomainX": { - "message": "Dominio personalizado $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Dominios actualizados" - }, - "twoStepLogin": { - "message": "Autenticación en dos pasos" - }, - "twoStepLoginDesc": { - "message": "Protege tu cuenta requiriendo un paso adicional a la hora de acceder." - }, - "twoStepLoginOrganizationDesc": { - "message": "Requiere autenticación en dos pasos para los usuarios de tu organización configurando los proveedores a nivel de organización." - }, - "twoStepLoginRecoveryWarning": { - "message": "Habilitar la autenticación en dos pasos puede impedirte acceder permanentemente a tu cuenta de Bitwarden. Un código de recuperación te permite acceder a la cuenta en caso de que no puedas usar más tu proveedor de autenticación en dos pasos (ej. si pierdes tu dispositivo). El soporte de Bitwarden no será capaz de asistirte si pierdes acceso a tu cuenta. Te recomendamos que escribas o imprimas este código y lo guardes en un lugar seguro." - }, - "viewRecoveryCode": { - "message": "Ver código de recuperación" - }, - "providers": { - "message": "Proveedores", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Activar" - }, - "enabled": { - "message": "Activado" - }, - "premium": { - "message": "Premium", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Suscripción Premium" - }, - "premiumRequired": { - "message": "Premium requerido" - }, - "premiumRequiredDesc": { - "message": "Se quiere membrasía Premium para poder utilizar esta característica." - }, - "youHavePremiumAccess": { - "message": "Tienes acceso premium" - }, - "alreadyPremiumFromOrg": { - "message": "Ya tienes acceso a las características premium, debido a que eres miembro de una organización." - }, - "manage": { - "message": "Gestionar" - }, - "disable": { - "message": "Desactivar" - }, - "twoStepLoginProviderEnabled": { - "message": "Este proveedor de autenticación en dos pasos está habilitado para tu cuenta." - }, - "twoStepLoginAuthDesc": { - "message": "Introduce tu contraseña maestra para modificar las opciones de autenticación en dos pasos." - }, - "twoStepAuthenticatorDesc": { - "message": "Sigue estos pasos para configurar la autenticación en dos pasos con una aplicación autenticadora:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Descarga una aplicación autenticadora en dos pasos" - }, - "twoStepAuthenticatorNeedApp": { - "message": "¿Necesitas una aplicación de autenticación en dos pasos? Descarga una de las siguientes" - }, - "iosDevices": { - "message": "Dispositivos iOS" - }, - "androidDevices": { - "message": "Dispositivos Android" - }, - "windowsDevices": { - "message": "Dispositivos Windows" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "Estas aplicaciones son recomendadas, sin embargo, otras aplicaciones autenticadoras también funcionarán." - }, - "twoStepAuthenticatorScanCode": { - "message": "Escanea este código QR con tu aplicación de autenticación" - }, - "key": { - "message": "Clave" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Introduzca el código de verificación de 6 dígitos generado en la aplicación de autentificación" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "En caso de que necesite agregarlo a otro dispositivo, a continuación se indica el código QR (o clave) requerido por su aplicación autenticadora." - }, - "twoStepDisableDesc": { - "message": "¿Estás seguro de que desea deshabilitar este proveedor de autenticación en dos pasos?" - }, - "twoStepDisabled": { - "message": "Proveedor de autenticación ee dos pasos deshabilitado." - }, - "twoFactorYubikeyAdd": { - "message": "Añade un nuevo YubiKey a tu cuenta" - }, - "twoFactorYubikeyPlugIn": { - "message": "Conecta la YubiKey (NEO o serie 4) al puerto USB de tu ordenador." - }, - "twoFactorYubikeySelectKey": { - "message": "Elije el primer campo de entrada vacío de YubiKey de abajo." - }, - "twoFactorYubikeyTouchButton": { - "message": "Toca el botón del YubiKey." - }, - "twoFactorYubikeySaveForm": { - "message": "Guarda el formulario." - }, - "twoFactorYubikeyWarning": { - "message": "Debido a las limitaciones de la plataforma, YubiKeys no pueden ser utilizadas en todas las aplicaciones Bitwarden. Debes habilitar otro proveedor de autenticación en pasos para que puedas tener acceso a tu cuenta cuando no se puedan utilizar YubiKeys. Plataformas soportadas:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Caja fuerte Web, aplicación de escritorio, CLI y todas las extensiones de navegador en un dispositivo con un puerto USB que pueden aceptar tu YubiKey." - }, - "twoFactorYubikeySupportMobile": { - "message": "Aplicaciones móviles en un dispositivo con capacidades NFC o un puerto USB que puede aceptar su YubiKey." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "Llave U2F $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "Soporte NFC" - }, - "twoFactorYubikeySupportsNfc": { - "message": "Una de mis llaves soporta NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "Si uno de tus YubiKeys es compatible con NFC (como un YubiKey NEO), se te requerirá en dispositivos móviles cuando se detecte la disponibilidad de NFC." - }, - "yubikeysUpdated": { - "message": "YubiKeys actualizado" - }, - "disableAllKeys": { - "message": "Deshabilitar todas las llaves" - }, - "twoFactorDuoDesc": { - "message": "Introduce la información de la aplicación Bitwarden de tu panel de administración Duo." - }, - "twoFactorDuoIntegrationKey": { - "message": "Clave de integración" - }, - "twoFactorDuoSecretKey": { - "message": "Clave secreta" - }, - "twoFactorDuoApiHostname": { - "message": "Nombre de host de API" - }, - "twoFactorEmailDesc": { - "message": "Sigue estos pasos para configurar la autenticación en dos pasos con una aplicación autenticadora:" - }, - "twoFactorEmailEnterEmail": { - "message": "Introduce el correo electrónico donde deseas recibir los códigos de verificación" - }, - "twoFactorEmailEnterCode": { - "message": "Introduce el código de verificación de 6 dígitos enviado a tu correo electrónico" - }, - "sendEmail": { - "message": "Enviar correo electrónico" - }, - "twoFactorU2fAdd": { - "message": "Agregar una clave de seguridad U2F FIDO a tu cuenta" - }, - "removeU2fConfirmation": { - "message": "¿Estás seguro de que quieres eliminar esta clave de seguridad?" - }, - "readKey": { - "message": "Leer llave" - }, - "keyCompromised": { - "message": "La clave está comprometida." - }, - "twoFactorU2fGiveName": { - "message": "Asigna un nombre descriptivo a la llave de seguridad." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Conecta la llave de seguridad al puerto USB de tu ordenador y haz clic en el botón \"Leer llave\"." - }, - "twoFactorU2fTouchButton": { - "message": "Si la clave de seguridad tiene un botón, tócalo." - }, - "twoFactorU2fSaveForm": { - "message": "Guardar el formulario." - }, - "twoFactorU2fWarning": { - "message": "Debido a limitaciones de la plataforma, FIDO U2F no puede ser usado en todas las aplicaciones de Bitwarden. Deberías habilitar otro proveedor de inicio de sesión de dos pasos, para que puedas acceder a tu cuenta cuando FIDO U2F no pueda ser utilizado. Plataformas soportadas:" - }, - "twoFactorU2fSupportWeb": { - "message": "Caja fuerte web y extensiones de navegador en un escritorio/portátil con un navegador compatible con U2F (Chrome, Opera, Vivaldi, o Firefox con FIDO U2F activado)." - }, - "twoFactorU2fWaiting": { - "message": "Esperando a que toques el botón de tu llave de seguridad" - }, - "twoFactorU2fClickSave": { - "message": "Haz clic en el botón \"guardar\" para habilitar esta llave de seguridad para el inicio de sesión de dos pasos." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "Hubo un problema al leer la llave de seguridad. Inténtalo de nuevo." - }, - "twoFactorRecoveryYourCode": { - "message": "Tu código de recuperación de inicio de sesión de dos pasos de Bitwarden" - }, - "twoFactorRecoveryNoCode": { - "message": "Aún no has habilitado ningún proveedor de inicio de sesión en dos pasos. Después de haber habilitado un proveedor de inicio de sesión en dos pasos, puedes volver aquí para ver el código de recuperación." - }, - "printCode": { - "message": "Imprimir código", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Informes" - }, - "unsecuredWebsitesReport": { - "message": "Informes de sitios web no seguros" - }, - "unsecuredWebsitesReportDesc": { - "message": "Usar sitios web no seguros con el esquema http:// puede ser peligroso. Si el sitio web lo permite, se debe acceder siempre usando el esquema https:// para que la conexión esté cifrada." - }, - "unsecuredWebsitesFound": { - "message": "Sitios web no seguros encontrados" - }, - "unsecuredWebsitesFoundDesc": { - "message": "Hemos encontrado $COUNT$ elemento(s) en su caja fuerte con URIs no seguras. Si el sitio web lo permite debe cambiar su esquema URI a https://.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "No hay elementos en su caja fuerte con URIs no seguras." - }, - "inactive2faReport": { - "message": "Informe 2FA inactivo" - }, - "inactive2faReportDesc": { - "message": "La autenticación de dos factores (2FA) es una configuración de seguridad importante que ayuda a proteger sus cuentas. Si el sitio web lo ofrece, siempre debe habilitar la autenticación de dos factores." - }, - "inactive2faFound": { - "message": "Inicios de sesión sin 2FA encontrados" - }, - "inactive2faFoundDesc": { - "message": "Hemos encontrado $COUNT$ sitio(s) web en su caja fuerte que no pueden ser configuradas con autenticación de dos factores (según 2fa.directory). Para proteger estas cuentas, debe habilitar autenticación de dos factores.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "No se han encontrado sitios web en su caja fuerte sin una configuración de autenticación de dos factores." - }, - "instructions": { - "message": "Instrucciones" - }, - "exposedPasswordsReport": { - "message": "Infome de contraseñas expuestas" - }, - "exposedPasswordsReportDesc": { - "message": "Exposed passwords are passwords have been uncovered in known data breaches that were released publicly or sold on the dark web by hackers." - }, - "exposedPasswordsFound": { - "message": "Contraseñas expuestas encontradas" - }, - "exposedPasswordsFoundDesc": { - "message": "Hemos encontrado $COUNT$ elementos en su caja fuerte que tienen contraseñas que fueron expuestas en violaciones de datos conocidas. Debe cambiarlos para utilizar una contraseña nueva.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "No hay elementos en su caja fuerte que tengan contraseñas que hayan sido expuestas en violaciones de datos conocidas." - }, - "checkExposedPasswords": { - "message": "Compruebe las contraseñas expuestas" - }, - "exposedXTimes": { - "message": "Expuestas $COUNT$ vez/veces", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Informe de contraseñas débiles" - }, - "weakPasswordsReportDesc": { - "message": "Contraseñas débiles pueden ser fácilmente adivinadas por hackers y herramientas automatizadas que se utilizan para descifrar contraseñas- El generador de contraseñas de Bitwarden puede ayudarle a crear contraseñas fuertes." - }, - "weakPasswordsFound": { - "message": "Contraseñas débiles encontradas" - }, - "weakPasswordsFoundDesc": { - "message": "Hemos encontrado $COUNT$ elemento(s) en su caja fuerte con contraseñas que no son fuertes. Se deben actualizar para usar contraseñas más fuertes.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "No hay elementos en su caja fuerte que tengan contraseñas débiles." - }, - "reusedPasswordsReport": { - "message": "Informe de contraseñas reutilizadas" - }, - "reusedPasswordsReportDesc": { - "message": "Si un servicio que usa está comprometido, reutilizar la misma contraseña en otros lugares puede permitir que los hackers accedan fácilmente a más de sus cuentas en línea. Debe utilizar una contraseña única para cada cuenta o servicio." - }, - "reusedPasswordsFound": { - "message": "Contraseñas reutilizadas encontradas" - }, - "reusedPasswordsFoundDesc": { - "message": "Hemos encontrado $COUNT$ contraseña(s) que están siendo reutilizadas en su caja fuerte. Debe cambiarlas a un valor único.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "No hay inicios de sesión en su caja fuerte que tengan contraseñas que esten siendo reutilizadas." - }, - "reusedXTimes": { - "message": "Reutilizada $COUNT$ vez/veces", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Informe de violación de datos" - }, - "breachDesc": { - "message": "Una \"filtración\" es un incidente en el que los delincuentes informáticos han accedido ilegalmente a los datos de un sitio y los han hecho públicos. Revisa los tipos de datos que fueron comprometidos (direcciones de correo electrónico, contraseñas, tarjetas de crédito, etc.) y toma las medidas apropiadas, como cambiar las contraseñas." - }, - "breachCheckUsernameEmail": { - "message": "Verifica cualquier nombre de usuario o dirección de correo electrónico que utilices." - }, - "checkBreaches": { - "message": "Comprobar filtraciones" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ no se encontró en ninguna filtración de datos conocida.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Buenas Noticias", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ fue encontrado en $COUNT$ filtración/es de datos en línea.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Cuentas comprometidas encontradas" - }, - "compromisedData": { - "message": "Datos comprometidos" - }, - "website": { - "message": "Página web" - }, - "affectedUsers": { - "message": "Usuarios afectados" - }, - "breachOccurred": { - "message": "Se ha producido una filtración" - }, - "breachReported": { - "message": "Filtración reportada" - }, - "reportError": { - "message": "Se ha producido un error al intentar cargar el informe. Vuelve a intentarlo" - }, - "billing": { - "message": "Facturación" - }, - "accountCredit": { - "message": "Crédito de la cuenta", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Saldo de la Cuenta", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Agregar crédito", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Importe", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "El crédito añadido aparecerá en tu cuenta después de que el pago haya sido procesado por completo. Algunos métodos de pago se retrasan y pueden tomar más tiempo para procesar que otros." - }, - "makeSureEnoughCredit": { - "message": "Por favor, asegúrese de que su cuenta tiene suficiente crédito disponible para esta compra. Si su cuenta no tiene suficiente crédito disponible, su método de pago por defecto se utilizará para la diferencia. Puede agregar crédito a su cuenta desde la página de facturación." - }, - "creditAppliedDesc": { - "message": "El crédito de su cuenta puede utilizarse para realizar compras. Cualquier crédito disponible se aplicará automáticamente a las facturas generadas para esta cuenta." - }, - "goPremium": { - "message": "Hazte Premium", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "Has actualizado a premium." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Actualice su cuenta a una membresía premium y desbloquee estupendas características adicionales." - }, - "premiumSignUpStorage": { - "message": "1 GB de almacenamiento de archivos cifrados." - }, - "premiumSignUpTwoStep": { - "message": "Opciones adicionales de inicio de sesión de dos pasos como YubiKey, Fido U2F y Duo." - }, - "premiumSignUpReports": { - "message": "Higiene de contraseña, salud de la cuenta e informes de violaciones de datos para mantener su caja fuerte segura." - }, - "premiumSignUpTotp": { - "message": "Generador de código de verificación TOTP (2FA) para iniciar sesión en su caja fuerte." - }, - "premiumSignUpSupport": { - "message": "Atención prioritaria al cliente." - }, - "premiumSignUpFuture": { - "message": "Acceso a nuevas características premium en el futuro. ¡Hay más en camino!" - }, - "premiumPrice": { - "message": "Todo por sólo $PRICE$ /año!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Complementos" - }, - "premiumAccess": { - "message": "Acceso Premium" - }, - "premiumAccessDesc": { - "message": "Puede Agregar acceso premium a todos los miembros de su organización por $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Almacenamiento adicional (GB)" - }, - "additionalStorageGbDesc": { - "message": "# de GB adicional" - }, - "additionalStorageIntervalDesc": { - "message": "Su plan viene con $SIZE$ de almacenamiento de archivos cifrados. Puede agregar almacenamiento adicional por $PRICE$ por GB/$INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Resumen" - }, - "total": { - "message": "Total" - }, - "year": { - "message": "año" - }, - "month": { - "message": "mes" - }, - "monthAbbr": { - "message": "mo.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Your payment method will be charged immediately and on a recurring basis each year. You may cancel at any time." - }, - "paymentCharged": { - "message": "Tu método de pago será cobrado inmediatamente y luego de forma recurrente cada $INTERVAL$. Puedes cancelar en cualquier momento.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Your plan comes with a free 7 day trial. Your card will not be charged until the trial has ended and on a recurring basis each $INTERVAL$. You may cancel at any time.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Información de pago" - }, - "billingInformation": { - "message": "Información de Facturación" - }, - "creditCard": { - "message": "Tarjeta de crédito" - }, - "paypalClickSubmit": { - "message": "Pulse el botón PayPal para iniciar sesión en su cuenta PayPal y, a continuación, pulse el botón Enviar para continuar." - }, - "cancelSubscription": { - "message": "Cancelar suscripción" - }, - "subscriptionCanceled": { - "message": "La suscripción ha sido cancelada." - }, - "pendingCancellation": { - "message": "Cancelación pendiente" - }, - "subscriptionPendingCanceled": { - "message": "La suscripción ha sido marcada para cancelación al final del período de facturación actual." - }, - "reinstateSubscription": { - "message": "Restablecer la suscripción" - }, - "reinstateConfirmation": { - "message": "¿Está seguro de que desea eliminar la solicitud de cancelación pendiente y restablecer su suscripción?" - }, - "reinstated": { - "message": "La suscripción ha sido restablecida." - }, - "cancelConfirmation": { - "message": "¿Estás seguro de que quieres cancelar? Perderá el acceso a todas las funciones de esta suscripción al final de este ciclo de facturación." - }, - "canceledSubscription": { - "message": "La suscripción ha sido cancelada." - }, - "neverExpires": { - "message": "Nunca caduca" - }, - "status": { - "message": "Estado" - }, - "nextCharge": { - "message": "Cargo siguiente" - }, - "details": { - "message": "Detalles" - }, - "downloadLicense": { - "message": "Descargar licencia" - }, - "updateLicense": { - "message": "Actualizar Licencia" - }, - "updatedLicense": { - "message": "Licencia actualizada" - }, - "manageSubscription": { - "message": "Administrar suscripción" - }, - "storage": { - "message": "Almacenamiento" - }, - "addStorage": { - "message": "Añadir almacenamiento" - }, - "removeStorage": { - "message": "Eliminar almacenamiento" - }, - "subscriptionStorage": { - "message": "Su suscripción tiene un total de $MAX_STORAGE$ GB de almacenamiento de archivos cifrados. Actualmente está utilizando $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Método de Pago" - }, - "noPaymentMethod": { - "message": "No hay ningún método de pago en el archivo." - }, - "addPaymentMethod": { - "message": "Añadir método de pago" - }, - "changePaymentMethod": { - "message": "Cambiar Método de Pago" - }, - "invoices": { - "message": "Facturas" - }, - "noInvoices": { - "message": "Sin facturas." - }, - "paid": { - "message": "Pagado", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "No pagado", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Transacciones", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "Sin transacciones." - }, - "chargeNoun": { - "message": "Cargo", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Reembolso", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Cualquier cargo aparecerá en su estado de cuenta como $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "GB de almacenamiento que añadir" - }, - "gbStorageRemove": { - "message": "GB de almacenamiento a eliminar" - }, - "storageAddNote": { - "message": "Agregar almacenamiento dará como resultado ajustes en sus totales de facturación e inmediatamente cargará su método de pago en el archivo. El primer cargo será prorrateado por el resto del ciclo de facturación actual." - }, - "storageRemoveNote": { - "message": "Al eliminar el almacenamiento, se realizarán ajustes en los totales de facturación que se prorratearán como créditos para su próximo cargo de facturación." - }, - "adjustedStorage": { - "message": "$AMOUNT$ GB de almacenamiento ajustado.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Póngase en contacto con el servicio de atención al cliente" - }, - "updatedPaymentMethod": { - "message": "Método de pago actualizado." - }, - "purchasePremium": { - "message": "Comprar Premium" - }, - "licenseFile": { - "message": "Archivo de licencia" - }, - "licenseFileDesc": { - "message": "El nombre de tu archivo del licecncia será algo como $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "Para actualizar tu cuenta a una membresía premium necesitas subir un archivo de licencia válido." - }, - "uploadLicenseFileOrg": { - "message": "Para crear una organización en un alojamiento propio necesitas subir un archivo de licencia válido." - }, - "accountEmailMustBeVerified": { - "message": "El correo electrónico de tu cuenta debe ser verificado." - }, - "newOrganizationDesc": { - "message": "Las organizaciones te permiten compartir partes de tu caja fuerte con otras personas así como gestionar que usuarios están relacionado con una entidad concreta como familia, un pequeño equipo o una gran empresa." - }, - "generalInformation": { - "message": "Información general" - }, - "organizationName": { - "message": "Nombre de la organización" - }, - "accountOwnedBusiness": { - "message": "Esta cuenta es propiedad de una empresa." - }, - "billingEmail": { - "message": "Correo electrónico de facturación" - }, - "businessName": { - "message": "Nombre de la empresa" - }, - "chooseYourPlan": { - "message": "Elige tu plan" - }, - "users": { - "message": "Usuarios" - }, - "userSeats": { - "message": "Puestos" - }, - "additionalUserSeats": { - "message": "Puestos adicionales" - }, - "userSeatsDesc": { - "message": "# de puestos" - }, - "userSeatsAdditionalDesc": { - "message": "Tu plan viene con $BASE_SEATS$ puestos. Puedes añadir puestos adicionales por $SEAT_PRICE$ por usuario/mes.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "¿Cuantos puestos necesitas? Puedes añadir más puestos más adelante si es necesario." - }, - "planNameFree": { - "message": "Gratis", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "Para usuarios de prueba o personales, permite compartir con $COUNT$ usuario más.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Familias" - }, - "planDescFamilies": { - "message": "Para uso personal, compartir con la familia o con amigos." - }, - "planNameTeams": { - "message": "Equipos" - }, - "planDescTeams": { - "message": "Para empresas u otros equipos organizados." - }, - "planNameEnterprise": { - "message": "Empresas" - }, - "planDescEnterprise": { - "message": "Para empresas u otras organizaciones grandes." - }, - "freeForever": { - "message": "Gratis para siempre" - }, - "includesXUsers": { - "message": "incluye $COUNT$ usuarios", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Usuarios adicionales" - }, - "costPerUser": { - "message": "$COST$ por usuario", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Limitado a $COUNT$ usuarios (incluyéndote a ti)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Limitado a $COUNT$ colecciones", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Añade y comparte hasta con $COUNT$ usuarios", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Añade y comparte con usuarios ilimitados" - }, - "createUnlimitedCollections": { - "message": "Crea colecciones ilimitadas" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ de almacenamiento de archivos cifrado", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "Alojamiento propio (opcional)" - }, - "usersGetPremium": { - "message": "Los usuarios obtienen acceso a las características de una membresía premium" - }, - "controlAccessWithGroups": { - "message": "Control el acceso de usuarios con grupos" - }, - "syncUsersFromDirectory": { - "message": "Sincroniza tus usuarios y grupos desde un directorio" - }, - "trackAuditLogs": { - "message": "Rastrea acciones de usuarios con logs de auditoría" - }, - "enforce2faDuo": { - "message": "Forzar uso de 2FA con Duo" - }, - "priorityCustomerSupport": { - "message": "Soporte prioritario" - }, - "xDayFreeTrial": { - "message": "$COUNT$ días de prueba, cancela en cualquier momento", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Mensual" - }, - "annually": { - "message": "Anual" - }, - "basePrice": { - "message": "Precio base" - }, - "organizationCreated": { - "message": "Organización creada" - }, - "organizationReadyToGo": { - "message": "¡Tu nueva organización está lista para comenzar!" - }, - "organizationUpgraded": { - "message": "Tu organización ha sido actualizada." - }, - "leave": { - "message": "Salir" - }, - "leaveOrganizationConfirmation": { - "message": "¿Estás seguro de que quieres dejar esta organización?" - }, - "leftOrganization": { - "message": "Usted ha dejado la organización." - }, - "defaultCollection": { - "message": "Colección por defecto" - }, - "getHelp": { - "message": "Consigue ayuda" - }, - "getApps": { - "message": "Consigue las apps" - }, - "loggedInAs": { - "message": "Conectado como" - }, - "eventLogs": { - "message": "Registro de Eventos" - }, - "people": { - "message": "Personas" - }, - "policies": { - "message": "Políticas" - }, - "editPolicy": { - "message": "Editar política" - }, - "groups": { - "message": "Grupos" - }, - "newGroup": { - "message": "Nuevo Grupo" - }, - "addGroup": { - "message": "Añadir grupo" - }, - "editGroup": { - "message": "Editar grupo" - }, - "deleteGroupConfirmation": { - "message": "¿Estás seguro de que deseas eliminar este grupo?" - }, - "removeUserConfirmation": { - "message": "¿Estás seguro de que deseas eliminar a este usuario?" - }, - "externalId": { - "message": "Id externo" - }, - "externalIdDesc": { - "message": "El Id externo puede ser usado como una referencia o para enlazar este recurso a un sistema externo, por ejemplo, un directorio de usuario." - }, - "accessControl": { - "message": "Control de Acceso" - }, - "groupAccessAllItems": { - "message": "Este grupo puede acceder y modificar todos los elementos." - }, - "groupAccessSelectedCollections": { - "message": "Este grupo sólo puede acceder a las colecciones seleccionadas." - }, - "readOnly": { - "message": "Sólo lectura" - }, - "newCollection": { - "message": "Nueva colección" - }, - "addCollection": { - "message": "Añadir colección" - }, - "editCollection": { - "message": "Editar colección" - }, - "deleteCollectionConfirmation": { - "message": "¿Seguro que quieres eliminar esta colección?" - }, - "editUser": { - "message": "Editar usuario" - }, - "inviteUser": { - "message": "Invitar usuario" - }, - "inviteUserDesc": { - "message": "Invite a un nuevo usuario a su organización introduciendo la dirección de correo electrónico de su cuenta Bitwarden a continuación. Si aún no tienen una cuenta Bitwarden, se les pedirá que creen una nueva cuenta." - }, - "inviteMultipleEmailDesc": { - "message": "Puede invitar hasta $COUNT$ usuarios a la vez separando por comas las direcciones de correo electrónico.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "Este usuario está usando autenticación de dos pasos para proteger su cuenta." - }, - "userAccessAllItems": { - "message": "Este usuario puede acceder y modificar todos los elementos." - }, - "userAccessSelectedCollections": { - "message": "Este usuario sólo puede acceder a las colecciones seleccionadas." - }, - "search": { - "message": "Buscar" - }, - "invited": { - "message": "Invitado" - }, - "accepted": { - "message": "Aceptado" - }, - "confirmed": { - "message": "Confirmado" - }, - "owner": { - "message": "Propietario" - }, - "ownerDesc": { - "message": "El usuario de acceso más alto que puede administrar todos los aspectos de su organización." - }, - "admin": { - "message": "Administrador" - }, - "adminDesc": { - "message": "Los administradores pueden acceder y gestionar todos los elementos, colecciones y usuarios de la organización." - }, - "user": { - "message": "Usuario" - }, - "userDesc": { - "message": "Un usuario regular con acceso a las colecciones de su organización." - }, - "manager": { - "message": "Gestor" - }, - "managerDesc": { - "message": "Los gestores pueden acceder y gestionar colecciones asignadas en tu organización." - }, - "all": { - "message": "Todo" - }, - "refresh": { - "message": "Actualizar" - }, - "timestamp": { - "message": "Marca de tiempo" - }, - "event": { - "message": "Evento" - }, - "unknown": { - "message": "Desconocido" - }, - "loadMore": { - "message": "Cargar más" - }, - "mobile": { - "message": "Móvil", - "description": "Mobile app" - }, - "extension": { - "message": "Extensión", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Escritorio", - "description": "Desktop app" - }, - "webVault": { - "message": "Caja fuerte Web" - }, - "loggedIn": { - "message": "Identificado." - }, - "changedPassword": { - "message": "Contraseña de la cuenta cambiada." - }, - "enabledUpdated2fa": { - "message": "Autenticación en dos pasos habilitado/actualizado." - }, - "disabled2fa": { - "message": "Autenticación en dos pasos deshabilitada." - }, - "recovered2fa": { - "message": "Cuenta recuperada de autenticación en dos pasos." - }, - "failedLogin": { - "message": "Intento de acceso fallido con contraseña incorrecta." - }, - "failedLogin2fa": { - "message": "Intento de acceso fallido con autenticación en dos pasos incorrecta." - }, - "exportedVault": { - "message": "Caja fuerte exportada." - }, - "exportedOrganizationVault": { - "message": "Caja fuerte de organización exportada." - }, - "editedOrgSettings": { - "message": "Ajustes de la organización editados." - }, - "createdItemId": { - "message": "Elemento $ID$ creado.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Elemento $ID$ editado.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Elemento $ID$ eliminado.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Elemento $ID$ compartido.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Elemento $ID$ visto.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Contraseña para el elemento $ID$ vista.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Campo oculto para el elemento $ID$ visto.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Código de seguridad para el elemento $ID$ visto.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Contraseña para el elemento $ID$ copiada.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Campo oculto para el elemento $ID$ copiado.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Código de seguridad para el elemento $ID$ copiado.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Elemento $ID$ autorrellenado.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Colección $ID$ creada.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Colección $ID$ editada.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Colección $ID$ eliminada.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Política $ID$ editada.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Grupo $ID$ creado.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Grupo $ID$ editado.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Grupo $ID$ eliminado.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Usuario $ID$ eliminado.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Adjunto del elemento $ID$ creado.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Adjunto del elemento $ID$ eliminado.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Colecciones del elemento $ID$ editadas.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Usuario $ID$ invitado.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Usuario $ID$ confirmado.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Usuario $ID$ editado.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Grupos del usuario $ID$ editados.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "SSO desvinculado para el usuario $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Dispositivo" - }, - "view": { - "message": "Ver" - }, - "invalidDateRange": { - "message": "Rango de datos no válido." - }, - "errorOccurred": { - "message": "Ha ocurrido un error." - }, - "userAccess": { - "message": "Acceso del usuario" - }, - "userType": { - "message": "Tipo de usuario" - }, - "groupAccess": { - "message": "Acceso del grupo" - }, - "groupAccessUserDesc": { - "message": "Edita los grupos a los que pertenece este usuario." - }, - "invitedUsers": { - "message": "Usuario(s) invitados." - }, - "resendInvitation": { - "message": "Reenviar invitación" - }, - "hasBeenReinvited": { - "message": "El usuario $USER$ ha sido reinvitado.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Confirmar" - }, - "confirmUser": { - "message": "Confirmar usuario" - }, - "hasBeenConfirmed": { - "message": "El usuario $USER$ ha sido confirmado.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Confirmar usuarios" - }, - "usersNeedConfirmed": { - "message": "Tienes usuarios que han aceptado su invitación pero necesitan ser confirmados. Los usuarios no tendrán acceso a la organización hasta que estén confirmados." - }, - "startDate": { - "message": "Fecha de inicio" - }, - "endDate": { - "message": "Fecha de finalización" - }, - "verifyEmail": { - "message": "Verificar correo electrónico" - }, - "verifyEmailDesc": { - "message": "Verifica el correo electrónico de tu cuenta para desbloquear todas estas características." - }, - "verifyEmailFirst": { - "message": "El correo electrónico de tu cuenta debe ser verificado primero." - }, - "checkInboxForVerification": { - "message": "Comprueba el enlace de verificación en tu cuenta de correo." - }, - "emailVerified": { - "message": "Tu cuenta de correo ha sido verificada." - }, - "emailVerifiedFailed": { - "message": "No se ha podido verificar tu cuenta de correo electrónico. Prueba a enviar un nuevo correo de verificación." - }, - "updateBrowser": { - "message": "Actualizar navegador" - }, - "updateBrowserDesc": { - "message": "Está utilizando un navegador web no compatible. Es posible que la caja fuerte web no funcione correctamente." - }, - "joinOrganization": { - "message": "Únete a la organización" - }, - "joinOrganizationDesc": { - "message": "Usted ha sido invitado a unirse a la organización mencionada anteriormente. Para aceptar la invitación, debe iniciar sesión o crear una nueva cuenta de Bitwarden." - }, - "inviteAccepted": { - "message": "Invitación Aceptada" - }, - "inviteAcceptedDesc": { - "message": "Puede acceder a esta organización una vez que un administrador confirme su membresía. Te enviaremos un correo electrónico cuando eso suceda." - }, - "inviteAcceptFailed": { - "message": "No se puede aceptar la invitación. Pida a un administrador de la organización que envíe una nueva invitación." - }, - "inviteAcceptFailedShort": { - "message": "No se puede aceptar la invitación. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Recordar correo electrónico" - }, - "recoverAccountTwoStepDesc": { - "message": "Si no puedes acceder a tu cuenta utilizando tus métodos normales de autenticación en dos pasos, puedes utilizar el código de recuperación de autenticación en dos pasos para deshabilitar todos los proveedores de tu cuenta." - }, - "recoverAccountTwoStep": { - "message": "Recuperar autenticación en dos pasos" - }, - "twoStepRecoverDisabled": { - "message": "La autenticación en dos pasos ha sido deshabilitada para tu cuenta." - }, - "learnMore": { - "message": "Más información" - }, - "deleteRecoverDesc": { - "message": "Introduce tu correo electrónico debajo para recuperar y eliminar tu cuenta." - }, - "deleteRecoverEmailSent": { - "message": "Si tu cuenta existe, enviaremos un correo electrónico con más instrucciones." - }, - "deleteRecoverConfirmDesc": { - "message": "Has solicitado eliminar tu cuenta de Bitwarden. Pulsa en el botón inferior para confirmar." - }, - "myOrganization": { - "message": "Mi organización" - }, - "deleteOrganization": { - "message": "Eliminar organización" - }, - "deleteOrganizationDesc": { - "message": "Continúa el proceso para eliminar esta organización y todos los datos asociados a ella. Las cuentas de usuario individuales se mantendrán, aunque no estarán asociadas con la organización a partir de ahora." - }, - "deleteOrganizationWarning": { - "message": "Eliminar la organización es permanente. No se puede deshacer." - }, - "organizationDeleted": { - "message": "Organización eliminada" - }, - "organizationDeletedDesc": { - "message": "La organización y todo el contenido asociado ha sido eliminado." - }, - "organizationUpdated": { - "message": "Organización actualizada" - }, - "taxInformation": { - "message": "Información sobre impuestos" - }, - "taxInformationDesc": { - "message": "Para los clientes dentro de los Estados Unidos, el código postal es necesario para satisfacer los requisitos de impuestos sobre las ventas. para otros países usted puede proporcionar opcionalmente un número de identificación fiscal (IVA/GST) y/o dirección para que aparezca en sus facturas." - }, - "billingPlan": { - "message": "Plan", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Cambiar plan", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Actualiza tu cuenta a otro plan proporcionando la información de abajo. Por favor, asegúrate de que tienes un método de pago activo añadido a la cuenta.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Contacta con atención al cliente si deseas cambiar tu plan. Por favor, asegúrate de tener activo un método de pago en tu cuenta.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Factura $NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "Ver Factura" - }, - "downloadInvoice": { - "message": "Descargar Factura" - }, - "verifyBankAccount": { - "message": "Verificar cuenta bancaria" - }, - "verifyBankAccountDesc": { - "message": "Hemos hecho dos pequeños cargos en tu cuenta bancaria (pueden tardar de 1 a 2 días laborables en aparecer). Introduce esas cantidades para verificar tu cuenta bancaria." - }, - "verifyBankAccountInitialDesc": { - "message": "El pago con cuenta bancaria solo está disponible para clientes en los Estados Unidos. Tendrá que verificar su cuenta bancaria. Realizaremos dos pequeños cargos en los siguientes 1-2 días laborables. Introduzca esas cantidades en la página de facturación de la organización para verificar la cuenta bancaria." - }, - "verifyBankAccountFailureWarning": { - "message": "Si falla la verificación de la cuenta bancaria, como resultado se saltará el pago y tu suscripción será deshabilitada." - }, - "verifiedBankAccount": { - "message": "La cuenta bancaria ha sido verificada." - }, - "bankAccount": { - "message": "Cuenta bancaria" - }, - "amountX": { - "message": "Cantidad $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Número de ruta bancaria", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Número de cuenta" - }, - "accountHolderName": { - "message": "Nombre del titular de la cuenta" - }, - "bankAccountType": { - "message": "Tipo de cuenta" - }, - "bankAccountTypeCompany": { - "message": "Compañia (Empresa)" - }, - "bankAccountTypeIndividual": { - "message": "Individual (Personal)" - }, - "enterInstallationId": { - "message": "Introduce tu ID de instalación" - }, - "addSeats": { - "message": "Añadir puestos", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Quitar puestos", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Tu suscripción permite un total de $COUNT$ usuarios.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Puesto a añadir" - }, - "seatsToRemove": { - "message": "Puestos a quitar" - }, - "seatsAddNote": { - "message": "Añadir puestos hará ajustes en el total de tu facturación y se realizará un cargo sobre tu método de pago inmediatamente. El primer cargo se prorrateará por el número de días restantes del ciclo de facturación actual." - }, - "seatsRemoveNote": { - "message": "Quitar puestos hará cambios en el total de tu facturación que será prorratada como creditos de cara al siguiente cargo." - }, - "adjustedSeats": { - "message": "Ajustados $AMOUNT$ puestos.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Clave actualizada" - }, - "updateKeyTitle": { - "message": "Actualizar clave" - }, - "updateEncryptionKey": { - "message": "Actualizar clave de cifrado" - }, - "updateEncryptionKeyShortDesc": { - "message": "Actualmente utilizas un esquema de cifrado desactualizado." - }, - "updateEncryptionKeyDesc": { - "message": "Hemos cambiado a unas claves de cifrado más grandes para ofrecer una mayor seguridad y acceso a nuevas características. Actualizar tu clave de cifrado actual es fácil y rápido. Solo necesitas escribir tu contraseña maestra debajo. Esta actualización en algún momento se volverá obligatoria." - }, - "updateEncryptionKeyWarning": { - "message": "Una vez actualices tu clave de cifrado, será necesario que cierres sesión y vuelvas a identificarte en todas las aplicaciones de Bitwarden que estés utilizando (como la aplicación móvil o la extensión de navegador). Si la reautenticación falla (la cual descargaría la nueva clave de cifrad) puede producirse corrupción de datos. Intentaremos cerrar tu sesión automáticamente, pero puede tardar un tiempo." - }, - "updateEncryptionKeyExportWarning": { - "message": "Cualquier exportación cifrada que hayas guardado también será inválida." - }, - "subscription": { - "message": "Suscripción" - }, - "loading": { - "message": "Cargando" - }, - "upgrade": { - "message": "Mejorar" - }, - "upgradeOrganization": { - "message": "Mejorar organización" - }, - "upgradeOrganizationDesc": { - "message": "Esta características no está disponible para organizaciones gratuitas. Cambiar a una organización de pago para desbloquear más características." - }, - "createOrganizationStep1": { - "message": "Crear organización: Paso 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Antes de crear tu organización, necesitas tener una cuenta gratuita de uso personal." - }, - "refunded": { - "message": "Reembolsado" - }, - "nothingSelected": { - "message": "No has seleccionado nada." - }, - "acceptPolicies": { - "message": "Al seleccionar esta casilla, acepta lo siguiente:" - }, - "acceptPoliciesError": { - "message": "Todavía no has aceptado los términos del servicio y la política de privacidad." - }, - "termsOfService": { - "message": "Términos y condiciones del servicio" - }, - "privacyPolicy": { - "message": "Política de privacidad" - }, - "filters": { - "message": "Filtros" - }, - "vaultTimeout": { - "message": "Tiempo de espera de la bóveda" - }, - "vaultTimeoutDesc": { - "message": "Elije cuando se agotará el tiempo de espera de tu caja fuerte y se ejecutará la acción seleccionada." - }, - "oneMinute": { - "message": "1 minuto" - }, - "fiveMinutes": { - "message": "5 minutos" - }, - "fifteenMinutes": { - "message": "15 minutos" - }, - "thirtyMinutes": { - "message": "30 minutos" - }, - "oneHour": { - "message": "1 hora" - }, - "fourHours": { - "message": "4 horas" - }, - "onRefresh": { - "message": "Al recargar la página" - }, - "dateUpdated": { - "message": "Actualizada", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Contraseña actualizada", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "La organización está desactivada." - }, - "licenseIsExpired": { - "message": "Licencia expirada." - }, - "updatedUsers": { - "message": "Usuarios actualizados" - }, - "selected": { - "message": "Seleccionado" - }, - "ownership": { - "message": "Propiedad" - }, - "whoOwnsThisItem": { - "message": "¿Quién posee este elemento?" - }, - "strong": { - "message": "Fuerte", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Bueno", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Débil", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Muy débil", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Contraseña maestra débil" - }, - "weakMasterPasswordDesc": { - "message": "La contraseña maestra que ha elegido es débil. Debe usar una contraseña maestra fuerte (o una frase de contraseña) para proteger adecuadamente su cuenta de Bitwarden. ¿Está seguro de que desea utilizar esta contraseña maestra?" - }, - "rotateAccountEncKey": { - "message": "También rotar la clave de encriptación de mi cuenta" - }, - "rotateEncKeyTitle": { - "message": "Rotar clave de encriptación" - }, - "rotateEncKeyConfirmation": { - "message": "¿Está seguro de que desea rotar la clave de encriptación de su cuenta?" - }, - "attachmentsNeedFix": { - "message": "Este elemento tiene archivos adjuntos antiguos que deben ser corregidos." - }, - "attachmentFixDesc": { - "message": "Este es un archivo adjunto antiguo que necesita ser corregido. Haga clic para obtener más información." - }, - "fix": { - "message": "Arreglar", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "Hay archivos adjuntos antiguos en la caja fuerte que necesitan ser corregidos antes de poder rotar la clave de encriptación de su cuenta." - }, - "yourAccountsFingerprint": { - "message": "Frase de la huella digital de su cuenta", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "Para asegurar la integridad de sus claves de encriptación, por favor verifique la frase de la huella digital del usuario antes de continuar.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "No pida verificar la frase de la huella dactilar de nuevo", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Gratis", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "Clave API" - }, - "apiKeyDesc": { - "message": "Su clave API puede ser usada para autenticar la API pública de Bitwarden." - }, - "apiKeyRotateDesc": { - "message": "Rotar la clave API invalidará la clave anterior. Puede rotar la clave API si cree que la clave actual ya no es segura de usar." - }, - "apiKeyWarning": { - "message": "Su clave API tiene acceso completo a la organización. Debe mantenerse en secreto." - }, - "userApiKeyDesc": { - "message": "Su clave API puede ser usada para autenticarse en el CLI de Bitwarden." - }, - "userApiKeyWarning": { - "message": "Su clave API es un mecanismo alternativo de autenticación. Debe mantenerse en secreto." - }, - "oauth2ClientCredentials": { - "message": "Credenciales de cliente OAuth 2.0", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "Ver Clave API" - }, - "rotateApiKey": { - "message": "Rotar clave API" - }, - "selectOneCollection": { - "message": "Debes seleccionar al menos una colección." - }, - "couldNotChargeCardPayInvoice": { - "message": "No pudimos realizar el cobro a su tarjeta de crédito. Por favor, vea y pague la factura no pagada que se indica a continuación." - }, - "inAppPurchase": { - "message": "Compra desde la aplicación" - }, - "cannotPerformInAppPurchase": { - "message": "No puedes realizar esta acción mientras usas un método de pago de compra en la aplicación." - }, - "manageSubscriptionFromStore": { - "message": "Debes administrar tu suscripción desde la tienda donde se hizo tu compra en la aplicación." - }, - "minLength": { - "message": "Longitud mínima" - }, - "clone": { - "message": "Clonar" - }, - "masterPassPolicyDesc": { - "message": "Establecer requisitos mínimos para la fortaleza de la contraseña maestra." - }, - "twoStepLoginPolicyDesc": { - "message": "Requiere que los usuarios establezcan un inicio de sesión en dos pasos en sus cuentas personales." - }, - "twoStepLoginPolicyWarning": { - "message": "Los miembros de la organización que no tengan habilitado el inicio de sesión en dos pasos para su cuenta personal serán eliminados de la organización y recibirán un correo electrónico notificándoles del cambio." - }, - "twoStepLoginPolicyUserWarning": { - "message": "Usted es miembro de una organización que requiere que el inicio de sesión en dos pasos esté habilitado en su cuenta de usuario. Si desactiva todos los proveedores de inicio de sesión en dos pasos, será automáticamente eliminado de estas organizaciones." - }, - "passwordGeneratorPolicyDesc": { - "message": "Establecer requisitos mínimos para la configuración del generador de contraseñas." - }, - "passwordGeneratorPolicyInEffect": { - "message": "Una o más políticas de la organización están afectando su configuración del generador." - }, - "masterPasswordPolicyInEffect": { - "message": "Una o más políticas de la organización requieren que su contraseña maestra cumpla con los siguientes requisitos:" - }, - "policyInEffectMinComplexity": { - "message": "Puntuación de complejidad mínima $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Longitud mínima $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Contiene uno o más caracteres en mayúsculas" - }, - "policyInEffectLowercase": { - "message": "Contiene uno o más caracteres en minúsculas" - }, - "policyInEffectNumbers": { - "message": "Contiene uno o más números" - }, - "policyInEffectSpecial": { - "message": "Contienen uno o más de los siguientes caracteres especiales $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Su nueva contraseña maestra no cumple con los requisitos de la política." - }, - "minimumNumberOfWords": { - "message": "Número mínimo de palabras" - }, - "defaultType": { - "message": "Tipo por defecto" - }, - "userPreference": { - "message": "Preferencia de usuario" - }, - "vaultTimeoutAction": { - "message": "Acción de tiempo de espera de la caja fuerte" - }, - "vaultTimeoutActionLockDesc": { - "message": "Una bóveda bloqueada requiere que introduzcas de nuevo tu contraseña maestra para acceder nuevamente." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "Cerrar sesión en la bóveda requiere que vuelvas a autenticarte para acceder nuevamente a ella." - }, - "lock": { - "message": "Bloquear", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Papelera", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Buscar en la Papelera" - }, - "permanentlyDelete": { - "message": "Eliminar de forma permanente" - }, - "permanentlyDeleteSelected": { - "message": "Eliminar selecciones de forma permanente" - }, - "permanentlyDeleteItem": { - "message": "Eliminar elemento de forma permanente" - }, - "permanentlyDeleteItemConfirmation": { - "message": "¿Estás seguro de eliminar de forma permanente este elemento?" - }, - "permanentlyDeletedItem": { - "message": "Elemento eliminado de forma permanente" - }, - "permanentlyDeletedItems": { - "message": "Elementos eliminados de forma permanente" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "Has seleccionado $COUNT$ elemento(s) a eliminar de forma permanente. ¿Estás seguro de que quieres eliminar de forma permanente todos estos elementos?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Elemento $ID$ eliminado de forma permanente.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Restaurar" - }, - "restoreSelected": { - "message": "Restaurar seleccionados" - }, - "restoreItem": { - "message": "Restaurar elemento" - }, - "restoredItem": { - "message": "Elemento restaurado" - }, - "restoredItems": { - "message": "Elementos restaurados" - }, - "restoreItemConfirmation": { - "message": "¿Estás seguro de que quieres restaurar este elemento?" - }, - "restoreItems": { - "message": "Restaurar elementos" - }, - "restoreSelectedItemsDesc": { - "message": "Has seleccionado $COUNT$ elemento(s) para restaurar. ¿Estás seguro de que quieres restaurar todos estos elementos?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Elemento $ID$ restaurado.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Cerrar sesión eliminará todo el acceso a su bóveda y requiere autenticación en línea después del período de espera. ¿Estás seguro de que quieres usar esta configuración?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Confirmación de periodo de espera" - }, - "hidePasswords": { - "message": "Ocultar contraseñas" - }, - "countryPostalCodeRequiredDesc": { - "message": "Requerimos esta información sólo para calcular el impuesto sobre las ventas y la información financiera." - }, - "includeVAT": { - "message": "Incluye información IVA/GST (opcional)" - }, - "taxIdNumber": { - "message": "ID impuesto IVA/GST" - }, - "taxInfoUpdated": { - "message": "Información fiscal actualizada." - }, - "setMasterPassword": { - "message": "Establecer contraseña maestra" - }, - "ssoCompleteRegistration": { - "message": "Para completar el inicio de sesión con SSO, por favor establezca una contraseña maestra para acceder y proteger su caja fuerte." - }, - "identifier": { - "message": "Identificador" - }, - "organizationIdentifier": { - "message": "Identificador de la organización" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Inicie sesión utilizando el portal de inicio de sesión único de su organización. Introduzca el identificador de su organización para comenzar." - }, - "enterpriseSingleSignOn": { - "message": "Inicio de sesión único empresarial" - }, - "ssoHandOff": { - "message": "Ya puedes cerrar esta pestaña y continuar en la extensión." - }, - "businessPortal": { - "message": "Portal de negocios", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "Todas las características de Equipos y además:" - }, - "includeSsoAuthentication": { - "message": "Autenticación SSO vía SAML2.0 y OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Políticas empresariales" - }, - "ssoValidationFailed": { - "message": "Error de validación SSO" - }, - "ssoIdentifierRequired": { - "message": "Se requiere un identificador de organización." - }, - "unlinkSso": { - "message": "Desenlazar SSO" - }, - "linkSso": { - "message": "Enlazar SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "La configuración de la política ha sido movida y esta página pronto será obsoleta. Por favor, haga clic abajo para utilizar la página de políticas del Portal de Negocios en su lugar." - }, - "singleOrg": { - "message": "Organización única" - }, - "singleOrgDesc": { - "message": "Restringir a los usuarios de ser capaces de unirse a otras organizaciones." - }, - "singleOrgBlockCreateMessage": { - "message": "Su organización actual tiene una política que no le permite unirse a más de una organización. Póngase en contacto con los administradores de su organización o acceda desde una cuenta de Bitwarden diferente." - }, - "singleOrgPolicyWarning": { - "message": "Los miembros de la organización que no son dueños o administradores y que ya son miembros de otra organización serán eliminados de su organización." - }, - "requireSso": { - "message": "Autenticación de inicio de sesión único" - }, - "requireSsoPolicyDesc": { - "message": "Requiere que los usuarios inicien sesión con el método Enterprise Single Sign-On." - }, - "prerequisite": { - "message": "Prerequisito" - }, - "requireSsoPolicyReq": { - "message": "Es necesario habilitar la política de empresa de la Organización Única antes de activar esta política." - }, - "requireSsoPolicyReqError": { - "message": "Política de organización única no habilitada." - }, - "requireSsoExemption": { - "message": "Los propietarios y administradores de la organización están exentos de la aplicación de esta política." - }, - "sendTypeFile": { - "message": "Archivo" - }, - "sendTypeText": { - "message": "Texto" - }, - "createSend": { - "message": "Crear nuevo Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Editar Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Send creado", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Send editado", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Send eliminado", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Eliminar Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "¿Estás seguro de eliminar este Send?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "¿Qué tipo de Send es este?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Fecha de eliminación" - }, - "deletionDateDesc": { - "message": "El envío se eliminará permanentemente en la fecha y hora especificadas.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Fecha de Expiración" - }, - "expirationDateDesc": { - "message": "Si se establece, el acceso a este envío caducará en la fecha y hora especificadas.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Número máximo de accesos" - }, - "maxAccessCountDesc": { - "message": "Si se establece, los usuarios ya no podrán acceder a este envío una vez que se alcance el número máximo de accesos.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Número de accesos actuales" - }, - "sendPasswordDesc": { - "message": "Opcionalmente se requiere una contraseña para que los usuarios accedan a este Envío.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Notas privadas sobre este Envío.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Deshabilitado" - }, - "sendLink": { - "message": "Enlace Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Copiar enlace Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Eliminar contraseña" - }, - "removedPassword": { - "message": "Contraseña Eliminada" - }, - "removePasswordConfirmation": { - "message": "¿Está seguro que desea eliminar la contraseña?" - }, - "disableThisSend": { - "message": "Deshabilita este envío para que nadie pueda acceder a él.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "Todos los Sends" - }, - "maxAccessCountReached": { - "message": "Número máximo de accesos alcanzado" - }, - "pendingDeletion": { - "message": "Borrado pendiente" - }, - "expired": { - "message": "Caducado" - }, - "searchSends": { - "message": "Buscar Sends", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "Este Send está protegido con una contraseña. Por favor, escriba la contraseña abajo para continuar.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "¿No conoce la contraseña? Pídele al remitente la contraseña necesaria para acceder a este enviar.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "Este Send está oculto por defecto. Puede cambiar su visibilidad usando el botón de abajo.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Descargar archivo" - }, - "sendAccessUnavailable": { - "message": "El envío al que está intentando acceder no existe o ya no está disponible.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "No hay Sends que listar.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Acceso de emergencia" - }, - "emergencyAccessDesc": { - "message": "Conceder y administrar el acceso de emergencia para los contactos de confianza. Los contactos de confianza pueden solicitar acceso a Ver o Tomar su cuenta en caso de emergencia. Visite nuestra página de ayuda para obtener más información y detalles sobre cómo funciona el intercambio de conocimiento cero." - }, - "trustedEmergencyContacts": { - "message": "Contactos de emergencia confiables" - }, - "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." - }, - "addEmergencyContact": { - "message": "Add emergency contact" - }, - "designatedEmergencyContacts": { - "message": "Designated as emergency contact" - }, - "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." - }, - "inviteEmergencyContact": { - "message": "Invite emergency contact" - }, - "editEmergencyContact": { - "message": "Edit emergency contact" - }, - "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" - }, - "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" - }, - "viewDesc": { - "message": "Can view all items in your own vault." - }, - "takeover": { - "message": "Takeover" - }, - "takeoverDesc": { - "message": "Can reset your account with a new master password." - }, - "waitTime": { - "message": "Wait Time" - }, - "waitTimeDesc": { - "message": "Time required before automatically granting access." - }, - "oneDay": { - "message": "1 day" - }, - "days": { - "message": "$DAYS$ days", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Invited user." - }, - "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." - }, - "requestAccess": { - "message": "Request Access" - }, - "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Approve" - }, - "reject": { - "message": "Reject" - }, - "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Emergency access approved." - }, - "emergencyRejected": { - "message": "Emergency access rejected" - }, - "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Personal Ownership" - }, - "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." - }, - "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." - }, - "modifiedPolicyId": { - "message": "Modified policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Plan price" - }, - "estimatedTax": { - "message": "Estimated tax" - }, - "custom": { - "message": "Custom" - }, - "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." - }, - "permissions": { - "message": "Permissions" - }, - "accessBusinessPortal": { - "message": "Access Business Portal" - }, - "accessEventLogs": { - "message": "Access Event Logs" - }, - "accessImportExport": { - "message": "Access Import/Export" - }, - "accessReports": { - "message": "Access Reports" - }, - "manageAllCollections": { - "message": "Manage All Collections" - }, - "manageAssignedCollections": { - "message": "Manage Assigned Collections" - }, - "manageGroups": { - "message": "Manage Groups" - }, - "managePolicies": { - "message": "Manage Policies" - }, - "manageSso": { - "message": "Manage SSO" - }, - "manageUsers": { - "message": "Manage Users" - }, - "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." - }, - "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." - }, - "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" - }, - "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/et/messages.json b/locales/et/messages.json deleted file mode 100644 index c7be584c..00000000 --- a/locales/et/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$ Veebihoidla", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "Mis tüüpi kirje see on?" - }, - "name": { - "message": "Nimi" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "Uus URI" - }, - "username": { - "message": "Kasutajanimi" - }, - "password": { - "message": "Parool" - }, - "newPassword": { - "message": "Uus Parool" - }, - "passphrase": { - "message": "Paroolifraas" - }, - "notes": { - "message": "Märkmed" - }, - "customFields": { - "message": "Kohandatud väljad" - }, - "cardholderName": { - "message": "Kaardiomaniku nimi" - }, - "number": { - "message": "Kaardi number" - }, - "brand": { - "message": "Väljastaja" - }, - "expiration": { - "message": "Aegumiskuupäev" - }, - "securityCode": { - "message": "Kaardi turvakood (CVV)" - }, - "identityName": { - "message": "Identiteedi nimi" - }, - "company": { - "message": "Ettevõte" - }, - "ssn": { - "message": "Isikukood" - }, - "passportNumber": { - "message": "Passi number" - }, - "licenseNumber": { - "message": "Litsentsi number" - }, - "email": { - "message": "E-post" - }, - "phone": { - "message": "Telefoninumber" - }, - "january": { - "message": "Jaanuar" - }, - "february": { - "message": "Veebruar" - }, - "march": { - "message": "Märts" - }, - "april": { - "message": "Aprill" - }, - "may": { - "message": "Mai" - }, - "june": { - "message": "Juuni" - }, - "july": { - "message": "Juuli" - }, - "august": { - "message": "August" - }, - "september": { - "message": "September" - }, - "october": { - "message": "Oktoober" - }, - "november": { - "message": "November" - }, - "december": { - "message": "Detsember" - }, - "title": { - "message": "Pealkiri" - }, - "mr": { - "message": "Hr" - }, - "mrs": { - "message": "Mrs" - }, - "ms": { - "message": "Pr" - }, - "dr": { - "message": "Dr" - }, - "expirationMonth": { - "message": "Aegumise kuu" - }, - "expirationYear": { - "message": "Aegumise aasta" - }, - "authenticatorKeyTotp": { - "message": "Autentiseerimise võti (TOTP)" - }, - "folder": { - "message": "Kaust" - }, - "newCustomField": { - "message": "Uus kohandatud väli" - }, - "value": { - "message": "Väärtus" - }, - "dragToSort": { - "message": "Lohista sorteerimiseks" - }, - "cfTypeText": { - "message": "Tekst" - }, - "cfTypeHidden": { - "message": "Peidetud" - }, - "cfTypeBoolean": { - "message": "Boolean" - }, - "remove": { - "message": "Eemalda" - }, - "unassigned": { - "message": "Määramata" - }, - "noneFolder": { - "message": "Kaust puudub", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Kausta lisamine" - }, - "editFolder": { - "message": "Muuda kausta" - }, - "baseDomain": { - "message": "Baasdomeen" - }, - "host": { - "message": "Host", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Täpne" - }, - "startsWith": { - "message": "Algab" - }, - "regEx": { - "message": "RegEx", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Sobivuse tuvastamine", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Vaike sobivuse tuvastamine", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Ära tuvasta" - }, - "toggleVisibility": { - "message": "Näita sisu" - }, - "toggleCollapse": { - "message": "Ava", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Loo parool" - }, - "checkPassword": { - "message": "Vaata, kas parool on lekkinud." - }, - "passwordExposed": { - "message": "See parool on erinevates andmeleketes kokku $VALUE$ korda lekkinud. Peaksid selle ära muutma.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "Seda parooli ei õnnestu andmeleketest leida. Parooli edasi kasutamine peaks olema turvaline." - }, - "save": { - "message": "Salvesta" - }, - "cancel": { - "message": "Tühista" - }, - "canceled": { - "message": "Tühistatud" - }, - "close": { - "message": "Sulge" - }, - "delete": { - "message": "Kustuta" - }, - "favorite": { - "message": "Lemmik" - }, - "unfavorite": { - "message": "Eemalda lemmikutest" - }, - "edit": { - "message": "Muuda" - }, - "searchCollection": { - "message": "Otsi kogumikku" - }, - "searchFolder": { - "message": "Otsi andmeid" - }, - "searchFavorites": { - "message": "Otsi lemmikute hulgast" - }, - "searchType": { - "message": "Otsingu tüüp", - "description": "Search item type" - }, - "searchVault": { - "message": "Otsi hoidlast" - }, - "allItems": { - "message": "Kõik kirjed" - }, - "favorites": { - "message": "Lemmikud" - }, - "types": { - "message": "Tüübid" - }, - "typeLogin": { - "message": "Kasutajakonto andmed" - }, - "typeCard": { - "message": "Pangakaart" - }, - "typeIdentity": { - "message": "Identiteet" - }, - "typeSecureNote": { - "message": "Turvaline märkus" - }, - "folders": { - "message": "Kaustad" - }, - "collections": { - "message": "Kogumikud" - }, - "firstName": { - "message": "Eesnimi" - }, - "middleName": { - "message": "Teine eesnimi" - }, - "lastName": { - "message": "Perekonnanimi" - }, - "address1": { - "message": "Aadress 1" - }, - "address2": { - "message": "Aadress 2" - }, - "address3": { - "message": "Aadress 3" - }, - "cityTown": { - "message": "Linn / asula" - }, - "stateProvince": { - "message": "Maakond / vald" - }, - "zipPostalCode": { - "message": "Postiindeks" - }, - "country": { - "message": "Riik" - }, - "shared": { - "message": "Jagatud" - }, - "attachments": { - "message": "Manused" - }, - "select": { - "message": "Vali" - }, - "addItem": { - "message": "Lisa kirje" - }, - "editItem": { - "message": "Kirje muutmine" - }, - "viewItem": { - "message": "Kirje vaatamine" - }, - "ex": { - "message": "nt.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Muu" - }, - "share": { - "message": "Jaga" - }, - "valueCopied": { - "message": "$VALUE$ on kopeeritud", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Kopeeri kirje", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Kopeeri parool", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Kopeeri kasutajanimi", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Kopeeri number", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Kopeeri turvakood", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Kopeeri URI", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "Minu hoidla" - }, - "vault": { - "message": "Hoidla" - }, - "shareSelected": { - "message": "Jaga valitud" - }, - "deleteSelected": { - "message": "Kustuta valitud" - }, - "moveSelected": { - "message": "Liiguta valitud" - }, - "selectAll": { - "message": "Vali kõik" - }, - "unselectAll": { - "message": "Tühista valik" - }, - "launch": { - "message": "Ava" - }, - "newAttachment": { - "message": "Lisa uus manus" - }, - "deletedAttachment": { - "message": "Manus on kustutatud" - }, - "deleteAttachmentConfirmation": { - "message": "Oled kindel, et soovid manuse kustutada?" - }, - "attachmentSaved": { - "message": "Manus on salvestatud." - }, - "file": { - "message": "Fail" - }, - "selectFile": { - "message": "Vali fail." - }, - "maxFileSize": { - "message": "Maksimaalne faili suurus on 100 MB." - }, - "updateKey": { - "message": "Seda funktsiooni ei saa enne krüpteerimise võtme uuendamist kasutada." - }, - "addedItem": { - "message": "Kirje on lisatud" - }, - "editedItem": { - "message": "Kirje on muudetud" - }, - "sharedItem": { - "message": "Kirje on jagatud" - }, - "sharedItems": { - "message": "Jagatud kirjed" - }, - "deleteItem": { - "message": "Kustuta kirje" - }, - "deleteFolder": { - "message": "Kustuta kaust" - }, - "deleteAttachment": { - "message": "Kustuta manus" - }, - "deleteItemConfirmation": { - "message": "Soovid tõesti selle kirje kustutada?" - }, - "deletedItem": { - "message": "Kirje on prügikasti teisaldatud" - }, - "deletedItems": { - "message": "Kirjed on prügikasti teisaldatud" - }, - "movedItems": { - "message": "Kirjed on teisaldatud" - }, - "overwritePasswordConfirmation": { - "message": "Oled kindel, et soovid olemas olevat parooli üle kirjutada?" - }, - "editedFolder": { - "message": "Kaust on muudetud" - }, - "addedFolder": { - "message": "Kaust on lisatud" - }, - "deleteFolderConfirmation": { - "message": "Oled kindel, et soovid seda kausta kustutada?" - }, - "deletedFolder": { - "message": "Kaust on kustutatud" - }, - "loggedOut": { - "message": "Välja logitud" - }, - "loginExpired": { - "message": "Sessioon on aegunud." - }, - "logOutConfirmation": { - "message": "Oled kindel, et soovid välja logida?" - }, - "logOut": { - "message": "Logi välja" - }, - "ok": { - "message": "Ok" - }, - "yes": { - "message": "Jah" - }, - "no": { - "message": "Ei" - }, - "loginOrCreateNewAccount": { - "message": "Logi oma olemasolevasse kontosse sisse või loo uus konto." - }, - "createAccount": { - "message": "Konto loomine" - }, - "logIn": { - "message": "Logi sisse" - }, - "submit": { - "message": "Kinnita" - }, - "emailAddressDesc": { - "message": "E-posti aadressi kasutatakse sisselogimiseks." - }, - "yourName": { - "message": "Sinu nimi" - }, - "yourNameDesc": { - "message": "Kuidas me Sind kutsume?" - }, - "masterPass": { - "message": "Ülemparool" - }, - "masterPassDesc": { - "message": "Ülemparooliga pääsed oma kontole ligi. On äärmiselt tähtis, et ülemparool ei ununeks. Selle parooli taastamine ei ole mingil moel võimalik." - }, - "masterPassHintDesc": { - "message": "Vihje võib abiks olla olukorras, kui oled ülemparooli unustanud." - }, - "reTypeMasterPass": { - "message": "Sisesta ülemparool uuesti" - }, - "masterPassHint": { - "message": "Ülemparooli vihje (ei ole kohustuslik)" - }, - "masterPassHintLabel": { - "message": "Ülemparooli vihje" - }, - "settings": { - "message": "Seaded" - }, - "passwordHint": { - "message": "Parooli vihje" - }, - "enterEmailToGetHint": { - "message": "Ülemparooli vihje saamiseks sisesta oma konto e-posti aadress." - }, - "getMasterPasswordHint": { - "message": "Tuleta ülemparooli vihjega meelde" - }, - "emailRequired": { - "message": "E-posti aadress on nõutud." - }, - "invalidEmail": { - "message": "Vigane e-posti aadress." - }, - "masterPassRequired": { - "message": "Vajalik on ülemparooli sisestamine." - }, - "masterPassLength": { - "message": "Ülemparool peab olema vähemalt 8 tähemärgi pikkune." - }, - "masterPassDoesntMatch": { - "message": "Ülemparoolid ei ühti." - }, - "newAccountCreated": { - "message": "Sinu konto on loodud! Võid nüüd sisse logida." - }, - "masterPassSent": { - "message": "Ülemparooli vihje saadeti sinu e-posti aadressile." - }, - "unexpectedError": { - "message": "Tekkis ootamatu viga." - }, - "emailAddress": { - "message": "E-posti aadress" - }, - "yourVaultIsLocked": { - "message": "Hoidla on lukus. Jätkamiseks sisesta ülemparool." - }, - "unlock": { - "message": "Lukusta lahti" - }, - "loggedInAsEmailOn": { - "message": "Sisse logitud kontosse $EMAIL$ aadressil $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Vale ülemparool" - }, - "lockNow": { - "message": "Lukusta paroolihoidla" - }, - "noItemsInList": { - "message": "Puuduvad kirjed, mida kuvada." - }, - "noCollectionsInList": { - "message": "Puuduvad kollektsioonid, mida kuvada." - }, - "noGroupsInList": { - "message": "Puuduvad grupid, mida kuvada." - }, - "noUsersInList": { - "message": "Puuduvad kasutajad, keda kuvada." - }, - "noEventsInList": { - "message": "Puuduvad sündmused, mida kuvada." - }, - "newOrganization": { - "message": "Uus organisatsioon" - }, - "noOrganizationsList": { - "message": "Sa ei kuulu ühessegi organisatsiooni. Organisatsioonid võimaldavad sul kirjeid turvaliselt teiste kasutajatega jagada." - }, - "versionNumber": { - "message": "Versioon $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Sisesta autentiseerimise rakendusest 6 kohaline number." - }, - "enterVerificationCodeEmail": { - "message": "Sisesta 6 kohaline number, mis saadeti e-posti aadressile $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "Kinnituskood saadeti e-posti aadressile $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Jäta mind meelde" - }, - "sendVerificationCodeEmailAgain": { - "message": "Saada e-postile uus kinnituskood" - }, - "useAnotherTwoStepMethod": { - "message": "Kasuta teist kaheastmelist sisselogimise meetodit" - }, - "insertYubiKey": { - "message": "Sisesta oma YubiKey arvuti USB porti ja kliki sellele nupule." - }, - "insertU2f": { - "message": "Sisesta oma turvaline võti arvuti USB porti. Kui sellel on nupp, siis vajuta seda." - }, - "loginUnavailable": { - "message": "Sisselogimine ei ole saadaval" - }, - "noTwoStepProviders": { - "message": "Sellel kontol on aktiveeritud kaheastmeline kinnitus. Siiski ei toeta konkreetne brauser ühtegi aktiveeritud kaheastmelise kinnitamise teenust." - }, - "noTwoStepProviders2": { - "message": "Palun kasuta ühilduvat brauserit (näiteks Chrome) ja/või lisa uus kaheastmelise teenuse pakkuja, mis töötab rohkemates brauserites (näiteks mõni autentiseerimise rakendus)." - }, - "twoStepOptions": { - "message": "Kaheastmelise sisselogimise valikud" - }, - "recoveryCodeDesc": { - "message": "Sul ei ole ligipääsu ühelegi kaheastmelise kinnitamise teenusele? Kasuta taastamise koodi, et kaheastmeline kinnitamine oma kontol välja lülitada." - }, - "recoveryCodeTitle": { - "message": "Taastamise kood" - }, - "authenticatorAppTitle": { - "message": "Autentiseerimise rakendus" - }, - "authenticatorAppDesc": { - "message": "Kasuta autentiseerimise rakendust (näiteks Authy või Google Authenticator), et luua ajal baseeruvaid kinnituskoode.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "YubiKey OTP Turvaline võti" - }, - "yubiKeyDesc": { - "message": "Kasuta kontole ligipääsemiseks YubiKey-d. See töötab YubiKey 4, 5 ja NEO seadmetega." - }, - "duoDesc": { - "message": "Kinnita Duo Security abil, kasutades selleks Duo Mobile rakendust, SMS-i, telefonikõnet või U2F turvavõtit.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Kinnita organisatsiooni jaoks Duo Security abil, kasutades selleks Duo Mobile rakendust, SMS-i, telefonikõnet või U2F turvavõtit.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Kasuta mistahes FIDO U2F toetavad turvalist võtit, et oma kontole ligi pääseda." - }, - "u2fTitle": { - "message": "FIDO U2F Turvaline võti" - }, - "emailTitle": { - "message": "E-post" - }, - "emailDesc": { - "message": "Kinnituskoodid saadetakse e-postiga." - }, - "continue": { - "message": "Jätka" - }, - "organization": { - "message": "Organisatsioon" - }, - "organizations": { - "message": "Organisatsioon" - }, - "shareDesc": { - "message": "Vali organisatsioon, millega soovid seda kirjet jagada. Jagamisega saab kirje omanikuks organisatsioon. Pärast kirje jagamist ei ole sa enam selle otsene omanik." - }, - "shareManyDesc": { - "message": "Vali organisatsioon, millega soovid neid kirjeid jagada. Jagamisega saab kirjete omanikuks organisatsioon. Pärast kirjete jagamist ei ole sa enam nende otsene omanik." - }, - "collectionsDesc": { - "message": "Muuda kollektsioone, millega seda kirjet jagatakse. Seda kirjet näevad üksnes organisatsiooni kasutajad, kes omavad nendele kollektsioonidele ligipääsu." - }, - "deleteSelectedItemsDesc": { - "message": "Oled kustutamiseks valinud $COUNT$ kirjet. Oled kindel, et soovid kõik need kirjed kustutada?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Vali kaust, kuhu soovid need $COUNT$ kirjet liigutada.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "Valisid $COUNT$ kirje(t). $SHAREABLE_COUNT$ kirje(t) on jagatavad, $NONSHAREABLE_COUNT$ ei ole.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Kinnituskood (TOTP)" - }, - "copyVerificationCode": { - "message": "Kopeeri kinnituskood" - }, - "warning": { - "message": "Hoiatus" - }, - "confirmVaultExport": { - "message": "Hoidla eksportimise kinnitamine" - }, - "exportWarningDesc": { - "message": "Eksporditav fail on krüpteeringuta ja sisaldab hoidla sisu. Seda faili ei tohiks kaua käidelda ning mitte mingil juhul ebaturvaliselt saata (näiteks e-postiga). Kustuta see koheselt pärast kasutamist." - }, - "encExportWarningDesc": { - "message": "Eksporditavate andmete krüpteerimiseks kasutatakse kontol olevat krüpteerimisvõtit. Kui sa peaksid seda krüpteerimise võtit roteerima, ei saa sa järgnevalt eksporditavaid andmeid enam dekrüpteerida." - }, - "exportMasterPassword": { - "message": "Hoidlas olevate andmete eksportimiseks on vajalik ülemparooli sisestamine." - }, - "exportVault": { - "message": "Hoidla sisu eksportimine" - }, - "fileFormat": { - "message": "Failivorming" - }, - "exportSuccess": { - "message": "Hoidla on eksporditud." - }, - "passwordGenerator": { - "message": "Parooli genereerimine" - }, - "minComplexityScore": { - "message": "Minimaalne keerulisuse skoor" - }, - "minNumbers": { - "message": "Vähim arv numbreid" - }, - "minSpecial": { - "message": "Vähim arv spetsiaalmärke", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Väldi ebamääraseid kirjamärke" - }, - "regeneratePassword": { - "message": "Genereeri parool uuesti" - }, - "length": { - "message": "Pikkus" - }, - "numWords": { - "message": "Sõnade arv" - }, - "wordSeparator": { - "message": "Sõna eraldaja" - }, - "capitalize": { - "message": "Suurtäht", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Lisa number" - }, - "passwordHistory": { - "message": "Paroolide ajalugu" - }, - "noPasswordsInList": { - "message": "Puuduvad paroolid, mida kuvada." - }, - "clear": { - "message": "Tühjenda", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Konto uuendatud" - }, - "changeEmail": { - "message": "E-posti aadressi muutmine" - }, - "newEmail": { - "message": "Uus e-posti aadress" - }, - "code": { - "message": "Kood" - }, - "changeEmailDesc": { - "message": "Kinnituskood on saadetud e-postile $EMAIL$. Kontrolli oma e-posti ning sisesta see kood allolevasse kasti, et e-posti aadressi muutmine lõpule viia.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Jätkates logitakse sind praegusest sessioonis välja, mistõttu pead kontosse uuesti sisse logima. Teised kontoga ühendatud seadmed võivad jääda sisselogituks kuni üheks tunniks." - }, - "emailChanged": { - "message": "E-post on muudetud" - }, - "logBackIn": { - "message": "Palun logi uuesti sisse." - }, - "logBackInOthersToo": { - "message": "Palun logi uuesti sisse. Kui kasutad teisi Bitwardeni rakendusi, pead ka nendes uuesti sisse logima." - }, - "changeMasterPassword": { - "message": "Muuda ülemparooli" - }, - "masterPasswordChanged": { - "message": "Ülemparool on muudetud" - }, - "currentMasterPass": { - "message": "Praegune ülemparool" - }, - "newMasterPass": { - "message": "Uus ülemparool" - }, - "confirmNewMasterPass": { - "message": "Kinnita uus ülemparool" - }, - "encKeySettings": { - "message": "Krüpteerimise võtme seaded" - }, - "kdfAlgorithm": { - "message": "KDF algoritm" - }, - "kdfIterations": { - "message": "KDF iteratsioonid" - }, - "kdfIterationsDesc": { - "message": "Suuremad KDF iteratsioonid aitavad ülemparooli paremini jõhkra jõu rünnete vastu kaitsta. Soovitame kasutada väärtust $VALUE$ või suuremat.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Seadistades KDF-i liiga pikaks, võib Bitwardenisse sisselogimisel (ja lahtilukustamisel) tekkida jõudlusprobleeme ja hangumisi. Seda eriti aeglasemate protsessoritega seadmetes. Soovitame kasutada pikkust ligikaudu $INCREMENT$ ja testida jõudlust kõikides oma seadmetes.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Muuda KDF-i" - }, - "encKeySettingsChanged": { - "message": "Krüpteerimise võtme seaded on muudetud" - }, - "dangerZone": { - "message": "Ohtlik tsoon" - }, - "dangerZoneDesc": { - "message": "Ettevaatust, neid toiminguid ei saa tagasi võtta!" - }, - "deauthorizeSessions": { - "message": "Sessioonide tühistamine" - }, - "deauthorizeSessionsDesc": { - "message": "Muretsed, et sinu kontosse on võõra seadme alt sisse logitud? Kasuta allolevat valikut, et kõikidest seadmetest välja logida. See võib olla kasulik näiteks juhtudel, kus oled kasutanud avalikku arvutit või salvestasid kogemata parooli seadmes, mis ei kuulu sinule. Samuti nullib see tegevus kõik varasemad kaheastmelise kinnitamise poolt meelde jäetud seadmed." - }, - "deauthorizeSessionsWarning": { - "message": "Jätkatest logitakse sind ka käimasolevast sessioonist välja, mistõttu pead kontosse uuesti sisse logima. Lisaks võidakse küsida kaheastmelist kinnitust, kui see on sisse lülitatud. Teised kontoga ühendatud seadmed võivad jääda sisselogituks kuni üheks tunniks." - }, - "sessionsDeauthorized": { - "message": "Kõikidest seadmetest on välja logitud" - }, - "purgeVault": { - "message": "Likvideeri Hoidla" - }, - "purgedOrganizationVault": { - "message": "Organisatsiooni hoidla on likvideeritud." - }, - "purgeVaultDesc": { - "message": "Jätkates kustutatakse kõik hoidlas olevad kirjed ja kaustad. Andmed, mis kuuluvad organisatsioonile, jäävad puutumata." - }, - "purgeOrgVaultDesc": { - "message": "Jätka allpool, et kõik organisatsiooni kirjed hoidlast likvideerida." - }, - "purgeVaultWarning": { - "message": "Hoidla likvideerimine on ühekordne tegevus. Seda ei saa tagasi võtta." - }, - "vaultPurged": { - "message": "Hoidla on likvideeritud." - }, - "deleteAccount": { - "message": "Kustuta konto" - }, - "deleteAccountDesc": { - "message": "Jätkates kustutatakse sinu konto ja kõik sellega seonduvad andmed." - }, - "deleteAccountWarning": { - "message": "Konto kustutamine on ühekordne tegevus. Seda ei saa tagasi võtta." - }, - "accountDeleted": { - "message": "Konto on kustutatud" - }, - "accountDeletedDesc": { - "message": "Konto on suletud ja kõik sellega seonduvad andmed on kustutatud." - }, - "myAccount": { - "message": "Minu konto" - }, - "tools": { - "message": "Tööriistad" - }, - "importData": { - "message": "Andmete importimine" - }, - "importSuccess": { - "message": "Andmed on edukalt hoidlasse imporditud." - }, - "importFormatError": { - "message": "Andmed ei ole korrektse vorminguga. Palun kontrolli imporditavat faili ja proovi uuesti." - }, - "importNothingError": { - "message": "Midagi ei imporditud." - }, - "selectFormat": { - "message": "Vali imporditava faili vorming" - }, - "selectImportFile": { - "message": "Vali imporditav fail" - }, - "orCopyPasteFileContents": { - "message": "või kopeeri/kleebi imporditava faili sisu" - }, - "instructionsFor": { - "message": "$NAME$ Kasutusjuhend", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Valikud" - }, - "optionsDesc": { - "message": "Erinevad Veebihoidla kohandamise valikud." - }, - "optionsUpdated": { - "message": "Muudatused on rakendatud" - }, - "language": { - "message": "Keel" - }, - "languageDesc": { - "message": "Siin saab veebihoidla keelt muuta." - }, - "disableIcons": { - "message": "Lülita veebisaidi ikoonid välja" - }, - "disableIconsDesc": { - "message": "Veebisaidi ikoonid aitavad hoidlas olevaid kontosid paremini eristada." - }, - "enableGravatars": { - "message": "Luba Gravatarid", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Luba avatari pildid, mida laaditakse lehelt gravatar.com." - }, - "enableFullWidth": { - "message": "Lülita sisse veebihoidla laiem vaade", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "See valik muudab veebihoidla laiust selliselt, et see ulatuks üle terve brauseri." - }, - "default": { - "message": "Vaikimisi" - }, - "domainRules": { - "message": "Domeeni reeglid" - }, - "domainRulesDesc": { - "message": "Kui sul on erinevatel domeenidel samade andmetega kontod, võid need domeenid märkida \"võrdväärseteks\". \"Globaalsed\" domeenid on need, mille Bitwarden juba eelseadistanud on." - }, - "globalEqDomains": { - "message": "Globaalsed võrdväärsed domeenid" - }, - "customEqDomains": { - "message": "Teised võrdväärsed domeenid" - }, - "exclude": { - "message": "Jäta välja" - }, - "include": { - "message": "Kaasa" - }, - "customize": { - "message": "Kohanda" - }, - "newCustomDomain": { - "message": "Uus võrdväärne domeen" - }, - "newCustomDomainDesc": { - "message": "Sisesta domeenid, eraldades need komadega. Lubatud on ainult \"põhi\" domeenid. Ära sisesta alamdomeene. Nt: sisesta \"google.com\", aga mitte \"www.google.com\". Võid ka sisestada \"androidapp://package.name\", et seostada Androidi äpp mistahes veebilehtede domeenidega." - }, - "customDomainX": { - "message": "Kohandatud domeeni $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Domeenid on uuendatud" - }, - "twoStepLogin": { - "message": "Kaheastmeline kinnitamine" - }, - "twoStepLoginDesc": { - "message": "Kaitse oma kontot, nõudes sisselogimisel lisakinnitust." - }, - "twoStepLoginOrganizationDesc": { - "message": "Nõua organisatsiooni liikmetelt kaheastmelist kinnitamist, seadistades taolise teenuse pakkujad organisatsiooni tasemel." - }, - "twoStepLoginRecoveryWarning": { - "message": "Kaheastmelise kinnitamine aktiveerimine võib luua olukorra, kus sul on võimatu oma Bitwardeni kontosse sisse logida. Näiteks juhtudel, kui kaotad oma nutiseadme. Taastamise kood võimaldab aga kontole ligi pääseda ka juhtudel, kui kaheastmelist kinnitamist ei ole võimalik läbi viia. Sellistel juhtudel ei saa ka Bitwardeni klienditugi sinu kontole ligipääsu taastada. Selle tõttu soovitame taastekoodi välja printida ja seda turvalises kohas hoida." - }, - "viewRecoveryCode": { - "message": "Vaata taastamise koodi" - }, - "providers": { - "message": "Teenused", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Lülita sisse" - }, - "enabled": { - "message": "Sisselülitatud" - }, - "premium": { - "message": "Premium", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Premium versioon" - }, - "premiumRequired": { - "message": "Nõutav on Premium konto" - }, - "premiumRequiredDesc": { - "message": "Selle funktsiooni kasutamiseks on vajalik premium kontot omada." - }, - "youHavePremiumAccess": { - "message": "Sul on premium ligipääs" - }, - "alreadyPremiumFromOrg": { - "message": "Organisatsiooni kuulumise tõttu on sul juba juurdepääs premium funktsioonidele." - }, - "manage": { - "message": "Haldus" - }, - "disable": { - "message": "Keela" - }, - "twoStepLoginProviderEnabled": { - "message": "See kaheastmelise kinnitamise teenus on sinu kontol sisse lülitatud." - }, - "twoStepLoginAuthDesc": { - "message": "Kaheastmelise kinnitamise seadete muutmiseks pead sisestama ülemparooli." - }, - "twoStepAuthenticatorDesc": { - "message": "Järgnevad juhised aitavad sul kaheastmelise kinnituse äpi ära seadistada:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Laadi kaheastmelise kinnitamise äpp alla" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Vajad kaheastmelise kinnitamise äppi? Proovi mõnda järgnevatest" - }, - "iosDevices": { - "message": "iOS seadmed" - }, - "androidDevices": { - "message": "Android seadmed" - }, - "windowsDevices": { - "message": "Windows seadmed" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "Need äpid on soovituslikud. Saad ka teisi autentimise äppe kasutada." - }, - "twoStepAuthenticatorScanCode": { - "message": "Skaneeri seda QR koodi oma autentimisrakendusega" - }, - "key": { - "message": "Võti" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Sisesta äpi kuvatav 6 kohaline kinnituskood" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "Kui soovid lisada veel seadmeid, siis all on kuvatud QR kood (ehk võti), mida autentimisrakendusega kasutada saad." - }, - "twoStepDisableDesc": { - "message": "Oled kindel, et soovid selle kaheastmelise kinnitamise teenuse välja lülitada?" - }, - "twoStepDisabled": { - "message": "Kaheastmelise sisselogimise teenus on keelatud." - }, - "twoFactorYubikeyAdd": { - "message": "Lisa oma kontole uus YubiKey" - }, - "twoFactorYubikeyPlugIn": { - "message": "Sisesta YubiKey (NEO või 4. seeria) arvuti USB pessa." - }, - "twoFactorYubikeySelectKey": { - "message": "Vali esimene tühi YubiKey sisendväli allpool." - }, - "twoFactorYubikeyTouchButton": { - "message": "Puuduta YubiKey nuppu." - }, - "twoFactorYubikeySaveForm": { - "message": "Salvesta vorm." - }, - "twoFactorYubikeyWarning": { - "message": "Mõnede platvormi piirangute tõttu ei saa YubiKeysid kõikide Bitwardeni rakendustega kasutada. Võiksid kaaluda teise kaheastmelise kinnitamise aktiveerimist olukordadeks, kus YubiKeyde kasutamine ei ole võimalik. Toetatud platvormid:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Veebihoidla, töölaua rakendus, CLI ja kõikide brauserite lisad seadmes, mille USB port võimaldab YubiKeyd kasutada." - }, - "twoFactorYubikeySupportMobile": { - "message": "NFC toega seadmel olevad äpid või USB port, mis võimaldab YubiKeyd kasutada." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "U2F võtme $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "NFC tugi" - }, - "twoFactorYubikeySupportsNfc": { - "message": "Üks minu võtmetest toetab NFC-d." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "Kui üks sinu YubiKeydest (nt YubiKey Neo) toetab NFC-d, küsitakse sinult seda nutitelefonis, kui NFC olemasolu tuvastatakse." - }, - "yubikeysUpdated": { - "message": "YubiKeyd on uuendatud" - }, - "disableAllKeys": { - "message": "Blokeeri kõik Võtmed" - }, - "twoFactorDuoDesc": { - "message": "Sisesta oma Bitwardeni rakenduse informatsioon Duo admini paneelist." - }, - "twoFactorDuoIntegrationKey": { - "message": "Integratsiooni võti" - }, - "twoFactorDuoSecretKey": { - "message": "Salajane võti" - }, - "twoFactorDuoApiHostname": { - "message": "API hostinimi" - }, - "twoFactorEmailDesc": { - "message": "Järgnevad juhised aitavad sul kaheastmelise kinnituse e-posti teel ära seadistada:" - }, - "twoFactorEmailEnterEmail": { - "message": "Sisesta e-post, kuhu soovid kinnituskoode saada" - }, - "twoFactorEmailEnterCode": { - "message": "Sisesta e-postile saadetud 6 kohaline kinnituskood" - }, - "sendEmail": { - "message": "Saada e-kiri" - }, - "twoFactorU2fAdd": { - "message": "Lisa oma kontole FIDO U2F turvavõti" - }, - "removeU2fConfirmation": { - "message": "Oled kindel, et soovid selle turvavõtme eemaldada?" - }, - "readKey": { - "message": "Loe võtit" - }, - "keyCompromised": { - "message": "Võti on ohus." - }, - "twoFactorU2fGiveName": { - "message": "Anna turvavõtmele lihtne nimi, et seda oleks lihtsam ära tunda." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Sisesta turvavõti arvuti USB pessa ning kliki \"Loe võtit\" nupul." - }, - "twoFactorU2fTouchButton": { - "message": "Kui turvavõtmel on nupp, siis vajuta seda." - }, - "twoFactorU2fSaveForm": { - "message": "Salvesta vorm." - }, - "twoFactorU2fWarning": { - "message": "Mõnede platvormi piirangute tõttu ei saa FIDO U2F-i kõikide Bitwardeni rakendustega kasutada. Võiksid kaaluda teise kaheastmelise kinnitamise aktiveerimist olukordadeks, kus FIDO U2F-i ei saa kasutada. Toetatud platvormid:" - }, - "twoFactorU2fSupportWeb": { - "message": "Veebihoidla ja brauseri lisad töölaual/sülearvutis kus on U2F toetusega brauser (Chrome, Opera, Vivaldi või Firefox, kus on FIDO U2F sisse lülitatud)." - }, - "twoFactorU2fWaiting": { - "message": "Ootame, kuni puudutad turvavõtmel olevat nuppu" - }, - "twoFactorU2fClickSave": { - "message": "Kliki all olevale \"Salvesta\" nupule, et kaheastmeline kinnitamine läbi selle turvavõtme sisse lülitada." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "Turvavõtme lugemisel tekkis tõrge. Proovi uuesti." - }, - "twoFactorRecoveryYourCode": { - "message": "Bitwardeni kaheastmelise logimise varukood" - }, - "twoFactorRecoveryNoCode": { - "message": "Sa ei ole veel ühtegi kaheastmelise kinnituse teenust sisse lülitanud. Tule siia lehele pärast kaheastmelise kinnitamise sisselülitamist tagasi. Siis näed siin ka varukoodi, millega saad hädakorral kaheastmelise kinnitamise välja lülitada." - }, - "printCode": { - "message": "Prindi kood", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Raportid" - }, - "unsecuredWebsitesReport": { - "message": "Ebaturvalise veebilehtede raport" - }, - "unsecuredWebsitesReportDesc": { - "message": "Ebaturvalise (http://) veebilehte kasutamine võib olla ohtlik. Kui veebileht seda võimaldab, siis soovitame tungivalt kasutada https:// versioon. Nii on ühendus ja saadetavad andmed krüpteeringuga kaitstud. " - }, - "unsecuredWebsitesFound": { - "message": "Leiti ebaturvalisi veebilehti" - }, - "unsecuredWebsitesFoundDesc": { - "message": "Leidsime hoidlast $COUNT$ ebaturvalist veebilehte.\nKui võimalik, soovitame nende veebilehtede alguse tungivalt https:// -ks muuta. ", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "Hoidlas olevad kirjed ei kasuta ebaturvalisi URI-sid." - }, - "inactive2faReport": { - "message": "Sisselülitamata 2FA raport" - }, - "inactive2faReportDesc": { - "message": "Kaheastmeline kinnitamine (2FA) on tähtis turvalisust lisav seadistus, mis aitab kontoandmeid kaitsta. Kui veebileht seda võimaldab, soovitame tungivalt kaheastmelise kinnituse sisse lülitada." - }, - "inactive2faFound": { - "message": "Kaheastmelise kinnituseta kontod" - }, - "inactive2faFoundDesc": { - "message": "Leidsime sinu hoidlast $COUNT$ veebilehte, kus kaheastmeline kinnitamine ei pruugi olla sisselülitatud (kontrolliks kasutatakse 2fa.directory). Nende kontode paremaks kaitsmiseks soovitame kaheastmelise kinnitamise sisse lülitada.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "Hoidlast ei leitud kontosid, kus kaheastmelise kinnitamise seadistus on välja lülitatud." - }, - "instructions": { - "message": "Juhised" - }, - "exposedPasswordsReport": { - "message": "Lekkinud paroolide raport" - }, - "exposedPasswordsReportDesc": { - "message": "Lekkinud paroolid on paroolid, mis pärinevad andmeleketest. Neid paroole võidakse müüa tumeveebis ning samuti võidakse nende kaudu ligi pääseda sinu teistesse kontodesse." - }, - "exposedPasswordsFound": { - "message": "Avastatud on lekkinud paroole" - }, - "exposedPasswordsFoundDesc": { - "message": "Leidsime sinu hoidlast $COUNT$ kirjet, millede paroolid on teadaolevate andmelekete tagajärjel avalikustatud. Soovitame tungivalt need paroolid ära vahetada.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "Hoidlast ei leitud kirjeid, mis oleksid teadaolevate andmelekete kaudu avalikustatud." - }, - "checkExposedPasswords": { - "message": "Kontrolli lekkinud paroole" - }, - "exposedXTimes": { - "message": "Lekkinud $COUNT$ korda", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Nõrkade paroolide raport" - }, - "weakPasswordsReportDesc": { - "message": "Nõrgad paroolid on häkkerite poolt vägagi lihtsasti lahtimurtavad, sest selleks kasutatakse automatiseeritud tööriistu. Bitwardeni parooli genereerija aitab sul luua paroole, mida on märksa keerulisem lahti murda." - }, - "weakPasswordsFound": { - "message": "Avastatud on nõrgad paroolid" - }, - "weakPasswordsFoundDesc": { - "message": "Leidsime sinu hoidlast $COUNT$ kirjet, milledel on nõrgad paroolid. Soovitame tungivalt need paroolid tugevamate vastu välja vahetada.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "Hoidlas olevatest kirjetest ei leitud nõrku paroole." - }, - "reusedPasswordsReport": { - "message": "Korduvate paroolide raport" - }, - "reusedPasswordsReportDesc": { - "message": "Kui sinu poolt kasutatav teenus või veebileht langeb rünnaku ohvriks, võib samasuguse parooli kasutamine anda häkkeritele ligipääsu sinu teistesse kasutajakontodesse. Soovitame tungivalt igas teenuses või kasutajakontos unikaalset parooli kasutada." - }, - "reusedPasswordsFound": { - "message": "Leiti korduvalt kasutatud paroole" - }, - "reusedPasswordsFoundDesc": { - "message": "Leidsime sinu hoidlast $COUNT$ parooli, mis on kasutusel rohkem kui üks kord Soovitame need paroolid unikaalseteks muuta.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "Hoidlas puuduvad paroolid, mida kasutatakse rohkem kui üks kord." - }, - "reusedXTimes": { - "message": "Kasutusel $COUNT$ korral.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Andmelekke raport" - }, - "breachDesc": { - "message": "Andmeleke on intsident, kus sinu kasutajakonto andmed on lekkinud või häkkerite poolt varastatud. Soovitame tungivalt üle kontrollida lekkinud andmed (e-posti aadress, paroolid, krediitkaardi andmed jne) ning võtta kasutusele meetmed nende turvamiseks. Näiteks paroolivahetus." - }, - "breachCheckUsernameEmail": { - "message": "Kontrollitakse mistahes kasutajanimesid või e-posti aadresse, mida kontodes kasutatakse." - }, - "checkBreaches": { - "message": "Kontrolli lekkeid" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ ei leitud ühestki teadaolevast andmelekkest.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Head uudised!", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ esineb kokku $COUNT$ erinevas andmelekkes.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Lekkinud kontod" - }, - "compromisedData": { - "message": "Ohus olevad andmed" - }, - "website": { - "message": "Veebileht" - }, - "affectedUsers": { - "message": "Mõjutatud kasutajad" - }, - "breachOccurred": { - "message": "Leke toimus" - }, - "breachReported": { - "message": "Lekkest teatati" - }, - "reportError": { - "message": "Raporti laadimisel ilmes viga. Proovi uuesti" - }, - "billing": { - "message": "Maksmine" - }, - "accountCredit": { - "message": "Konto krediit", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Kontojääk", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Krediidi lisamine", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Summa", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Lisatav krediit ilmub nähtavale pärast makse kinnitamist. Mõned maksemeetodid võivad olla aeglasemad ning nende kinnitamine võib võtta natukene aega." - }, - "makeSureEnoughCredit": { - "message": "Veendu, et kontol on selle ostu tegemiseks piisavalt krediiti. Ebapiisava krediidi puhul võetakse puuduolev summa teiselt (vaike) maksemeetodilt. Kontole saab krediiti lisada \"Maksmine\" menüü alt." - }, - "creditAppliedDesc": { - "message": "Konto krediiti saab kasutada maksete tegemiseks. Uue arve laekumisel kasutatakse selle tasumiseks esmajärjekorras kontol olevat krediiti." - }, - "goPremium": { - "message": "Hangi Premium", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "Oled nüüd Premium konto omanik." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Muuda oma konto premium kontoks ning saa osa paljudest lisahüvedest, mis sellega kaasnevad." - }, - "premiumSignUpStorage": { - "message": "1 GB ulatuses krüpteeritud salvestusruum." - }, - "premiumSignUpTwoStep": { - "message": "Lisavõimalused kaheastmeliseks kinnitamiseks, näiteks YubiKey, FIDO U2F ja Duo." - }, - "premiumSignUpReports": { - "message": "Parooli hügieen, konto seisukord ja andmelekete raportid aitavad hoidlat turvalisena hoida." - }, - "premiumSignUpTotp": { - "message": "TOTP kinnituskoodide (2FA) genereerija hoidlas olevatele kasutajakontodele." - }, - "premiumSignUpSupport": { - "message": "Kiirem klienditugi." - }, - "premiumSignUpFuture": { - "message": "Kõik tulevased premium funktsioonid - tasuta!" - }, - "premiumPrice": { - "message": "Kõik see ainult $PRICE$ / aastas!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Lisad" - }, - "premiumAccess": { - "message": "Premium ligipääs" - }, - "premiumAccessDesc": { - "message": "Saad kõikidele organisatsiooni liikmetele anda ligipääsu premium funktsioonidele - hinnaga $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Lisaruum (GB)" - }, - "additionalStorageGbDesc": { - "message": "# lisa GB" - }, - "additionalStorageIntervalDesc": { - "message": "Sul on kasutada $SIZE$ krüpteeritud failiruumi. Soovi korral saad osta lisaruumi hinnaga $PRICE$ GB /$INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Kokkuvõte" - }, - "total": { - "message": "Kokku" - }, - "year": { - "message": "aasta" - }, - "month": { - "message": "kuu" - }, - "monthAbbr": { - "message": "kuu", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Makse sooritatakse kohe pärast tellimuse esitamist. Järgmine makse toimub aasta pärast. Tellimust on võimalik igal ajal tühistada." - }, - "paymentCharged": { - "message": "Esimene makse sooritatakse kohe pärast tellimuse esitamist. Järgmine makse toimub iga $INTERVAL$. Tellimust on võimalik igal ajal tühistada.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Valitud pakett sisaldab 7 päevast prooviperioodi. Krediitkaardilt ei võeta raha enne, kui prooviperiood otsa lõpeb. Välja toodud summa debiteeritakse iga $INTERVAL$. Tellimust on võimalik igal ajal tühistada.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Maksemeetod" - }, - "billingInformation": { - "message": "Arveldusandmed" - }, - "creditCard": { - "message": "Krediitkaart" - }, - "paypalClickSubmit": { - "message": "Kliki PayPali nupul. Seejärel logi oma PayPali kontosse sisse ning kliki jätkamiseks \"Submit/Saada\" nupul." - }, - "cancelSubscription": { - "message": "Tühista tellimus" - }, - "subscriptionCanceled": { - "message": "Tellimus on tühistatud." - }, - "pendingCancellation": { - "message": "Tühistamise ootel" - }, - "subscriptionPendingCanceled": { - "message": "Tellimus on märgitud tühistatuks. Tellimus tühistatakse lõplikult käimasoleva arveperioodi lõpus." - }, - "reinstateSubscription": { - "message": "Tellimuse uuesti aktiveerimine" - }, - "reinstateConfirmation": { - "message": "Oled kindel, et soovid tühistamise tagasi võtta ja tellimuse uuesti aktiveerida?" - }, - "reinstated": { - "message": "Tellimus on uuesti aktiveeritud." - }, - "cancelConfirmation": { - "message": "Oled kindel, et soovid tellimuse tühistada? Kaotad sellega arveperioodi lõpus kõik tellimisega kaasnevad eelised." - }, - "canceledSubscription": { - "message": "Tellimus on tühistatud." - }, - "neverExpires": { - "message": "Ei aegu kunagi" - }, - "status": { - "message": "Olek" - }, - "nextCharge": { - "message": "Järgmine makse" - }, - "details": { - "message": "Andmed" - }, - "downloadLicense": { - "message": "Laadi litsents alla" - }, - "updateLicense": { - "message": "Uuenda litsentsi" - }, - "updatedLicense": { - "message": "Litsents on uuendatud" - }, - "manageSubscription": { - "message": "Tellimuse haldamine" - }, - "storage": { - "message": "Salvestusruum" - }, - "addStorage": { - "message": "Lisa ruumi" - }, - "removeStorage": { - "message": "Vähenda salvestusruumi" - }, - "subscriptionStorage": { - "message": "Sinu tellimus lubab kasutada maksimaalselt $MAX_STORAGE$ GB krüpteeritud salvestusruumi. Praegu on kasutusel $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Makseviis" - }, - "noPaymentMethod": { - "message": "Failis ei ole maksemeetodit." - }, - "addPaymentMethod": { - "message": "Lisa makseviis" - }, - "changePaymentMethod": { - "message": "Muuda makseviisi" - }, - "invoices": { - "message": "Arved" - }, - "noInvoices": { - "message": "Arved puuduvad." - }, - "paid": { - "message": "Makstud", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Tasumata", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Tehingud", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "Tehingud puuduvad." - }, - "chargeNoun": { - "message": "Makse", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Tagasimakse", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Mistahes maksed ilmuvad väljavõttes nimega $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "Lisatav GB hulk" - }, - "gbStorageRemove": { - "message": "Eemaldatav GB hulk" - }, - "storageAddNote": { - "message": "Salvestusruumi suurendamisel võetakse kehtiva maksemeetodi vahendusel koheselt selle eest ka tasu. Esimene makse tehakse proportsionaalselt koos järelejäänud summaga, mis sel arveldusperioodil tasuda tuleb." - }, - "storageRemoveNote": { - "message": "Salvestusmahu vähendamisel arvestatakse järelejäänud summa järgmisest maksest krediidina maha." - }, - "adjustedStorage": { - "message": "Kohandati $AMOUNT$ GB salvestusruumi.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Võta klienditoega ühendust" - }, - "updatedPaymentMethod": { - "message": "Maksemeetod on muudetud." - }, - "purchasePremium": { - "message": "Osta Premium" - }, - "licenseFile": { - "message": "Litsentsifail" - }, - "licenseFileDesc": { - "message": "Litsentsi nimi on sarnane $FILE_NAME$-le", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "Muutmaks oma konto premiumiks, pead üles laadima kehtiva litsentsifaili." - }, - "uploadLicenseFileOrg": { - "message": "Loomaks asutusesiseseselt majutatud organisatsiooni, pead üles laadima kehtiva litsentsifaili." - }, - "accountEmailMustBeVerified": { - "message": "Vajalik on konto e-posti aadressi kinnitamine." - }, - "newOrganizationDesc": { - "message": "Organisatsioonid võimaldavad hoidla sisu osaliselt või täielikult jagada. Lisaks on võimalik kõiki kasutajaid liigitada näiteks perekonda, väiksesse meeskonda või suurde ettevõttesse." - }, - "generalInformation": { - "message": "Üldine Informatsioon" - }, - "organizationName": { - "message": "Organisatsiooni nimi" - }, - "accountOwnedBusiness": { - "message": "Seda kontot omab ettevõte." - }, - "billingEmail": { - "message": "Arve saaja e-posti aadress" - }, - "businessName": { - "message": "Ettevõtte nimi" - }, - "chooseYourPlan": { - "message": "Vali pakett" - }, - "users": { - "message": "Kasutajad" - }, - "userSeats": { - "message": "Kasutajad" - }, - "additionalUserSeats": { - "message": "Lisakasutajad" - }, - "userSeatsDesc": { - "message": "# kasutajaid" - }, - "userSeatsAdditionalDesc": { - "message": "Sinu pakett sisaldab $BASE_SEATS$ kasutajat. Soovi korral saad lisada kasutajaid juurde hinnaga $SEAT_PRICE$ kasutaja / kuus.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "Vali vajalik arv kasutajaid. Neid on võimalik iga kell juurde lisada või eemaldada." - }, - "planNameFree": { - "message": "Tasuta", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "Testimiseks ja isiklikuks kasutamiseks, jagamaks $COUNT$ teise kasutajaga.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Perekond" - }, - "planDescFamilies": { - "message": "Isiklikuks kasutamiseks, jagamaks sõprade ja perega." - }, - "planNameTeams": { - "message": "Meeskond" - }, - "planDescTeams": { - "message": "Ettevõtetele ja teistele meeskondadele/organisatsioonidele." - }, - "planNameEnterprise": { - "message": "Suurettevõte" - }, - "planDescEnterprise": { - "message": "Suurtele ettevõtetele ja organisatsioonidele." - }, - "freeForever": { - "message": "Igavesti tasuta" - }, - "includesXUsers": { - "message": "sisaldab $COUNT$ kasutajat", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Lisakasutajad" - }, - "costPerUser": { - "message": "$COST$ kasutaja kohta", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Limiit $COUNT$ kasutajat (sh sina)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Limiit $COUNT$ kollektsiooni", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Lisa ja jaga kuni $COUNT$ kasutajaga", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Lisa ja jaga kirjeid piiramatul hulgal kasutajatega" - }, - "createUnlimitedCollections": { - "message": "Loo piiramatul hulgal kollektsioone" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ ulatuses krüpteeritud salvestusruumi", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "Ise hostimise võimalus (valikuline)" - }, - "usersGetPremium": { - "message": "Liikmed saavad automaatse juurdepääsu premium funktsioonidele" - }, - "controlAccessWithGroups": { - "message": "Halda gruppide abil kasutajate ligipääsu õigusi" - }, - "syncUsersFromDirectory": { - "message": "Sünkroniseeri kasutajaid ja gruppe kataloogist" - }, - "trackAuditLogs": { - "message": "Jälgi kasutaja tegevusi auditi logidega" - }, - "enforce2faDuo": { - "message": "Jõusta 2FA Duo-ga" - }, - "priorityCustomerSupport": { - "message": "Kiirem klienditugi" - }, - "xDayFreeTrial": { - "message": "$COUNT$ päevane prooviversioon, mida saab iga kell tühistada", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Igakuiselt" - }, - "annually": { - "message": "Tasumine aasta kaupa" - }, - "basePrice": { - "message": "Baashind" - }, - "organizationCreated": { - "message": "Organisatsioon on loodud" - }, - "organizationReadyToGo": { - "message": "Uus organisatsioon on kasutamiseks valmis!" - }, - "organizationUpgraded": { - "message": "Organisatsioon on täiendatud." - }, - "leave": { - "message": "Lahku" - }, - "leaveOrganizationConfirmation": { - "message": "Kas oled kindel, et soovid sellest organisatsioonist lahkuda?" - }, - "leftOrganization": { - "message": "Oled organisatsioonist lahkunud." - }, - "defaultCollection": { - "message": "Vaikekogumik" - }, - "getHelp": { - "message": "Klienditugi" - }, - "getApps": { - "message": "Hangi rakendused" - }, - "loggedInAs": { - "message": "Sisse logitud kui" - }, - "eventLogs": { - "message": "Sündmuste logid" - }, - "people": { - "message": "Liikmed" - }, - "policies": { - "message": "Poliitikad" - }, - "editPolicy": { - "message": "Muuda poliitikat" - }, - "groups": { - "message": "Grupid" - }, - "newGroup": { - "message": "Uus grupp" - }, - "addGroup": { - "message": "Lisa grupp" - }, - "editGroup": { - "message": "Muuda gruppi" - }, - "deleteGroupConfirmation": { - "message": "Tahad kindlasti selle grupi kustutada?" - }, - "removeUserConfirmation": { - "message": "Tahad kindlasti selle kasutaja eemaldada?" - }, - "externalId": { - "message": "Väline ID" - }, - "externalIdDesc": { - "message": "Välist Id-d kasutatakse viitena või näiteks selleks, et siduda need ressursid välise süsteemiga, nagu näites kasutaja kataloog." - }, - "accessControl": { - "message": "Ligipääsu haldamine" - }, - "groupAccessAllItems": { - "message": "See grupp pääseb ligi ja saab muuta kõiki kirjeid." - }, - "groupAccessSelectedCollections": { - "message": "See grupp pääseb ligi ainult valitud kirjetele." - }, - "readOnly": { - "message": "Saab ainult lugeda" - }, - "newCollection": { - "message": "Uus kogumik" - }, - "addCollection": { - "message": "Lisa kogumik" - }, - "editCollection": { - "message": "Muuda kogumikku" - }, - "deleteCollectionConfirmation": { - "message": "Oled kindel, et soovid selle kogumiku kustutada?" - }, - "editUser": { - "message": "Kasutaja muutmine" - }, - "inviteUser": { - "message": "Kutsu kasutaja" - }, - "inviteUserDesc": { - "message": "Kutsu organisatsiooni uusi kasutajaid, sisestades alla nende Bitwardeni konto e-posti aadressid. Kui neil ei ole veel Bitwardeni kontot, pakutakse neile võimalus see luua." - }, - "inviteMultipleEmailDesc": { - "message": "Saad kutsuda kuni $COUNT$ kasutajat. Eralda nende e-posti aadressid komaga.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "Sellel kasutajal on kaheastmeline kinnitamine sisse lülitatud." - }, - "userAccessAllItems": { - "message": "See kasutaja pääseb ligi ja saab muuta kõiki kirjeid." - }, - "userAccessSelectedCollections": { - "message": "See kasutaja pääseb ligi ja saab muuta ainult valitud kollektsioone." - }, - "search": { - "message": "Otsi" - }, - "invited": { - "message": "Kutsutud" - }, - "accepted": { - "message": "Nõustunud" - }, - "confirmed": { - "message": "Kinnitatud" - }, - "owner": { - "message": "Omanik" - }, - "ownerDesc": { - "message": "Kõige suurema ligipääsuga kasutaja, kes saab hallata kõike organisatsiooniga seonduvat." - }, - "admin": { - "message": "Administraator" - }, - "adminDesc": { - "message": " Administraatorid pääsevad ligi ja haldavad kõiki organisatsiooni kirjeid, kollektsioone ja kasutajaid." - }, - "user": { - "message": "Kasutaja" - }, - "userDesc": { - "message": "Tavaline kasutaja, kel on ligipääsu organisatsiooni kirjetele." - }, - "manager": { - "message": "Haldaja" - }, - "managerDesc": { - "message": "Administraatorid pääsevad ligi ja saavad hallata organisatsiooni poolt määratud kollektsioone." - }, - "all": { - "message": "Kõik" - }, - "refresh": { - "message": "Värskenda" - }, - "timestamp": { - "message": "Ajatempel" - }, - "event": { - "message": "Sündmus" - }, - "unknown": { - "message": "Tundmatu" - }, - "loadMore": { - "message": "Laadi veel" - }, - "mobile": { - "message": "Mobiil", - "description": "Mobile app" - }, - "extension": { - "message": "Laiendus", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Töölaud", - "description": "Desktop app" - }, - "webVault": { - "message": "Veebihoidla" - }, - "loggedIn": { - "message": "Logis sisse." - }, - "changedPassword": { - "message": "Muuda konto parooli." - }, - "enabledUpdated2fa": { - "message": "Lülitasime sisse/uuendasime kaheastmelist kinnitamist." - }, - "disabled2fa": { - "message": "Keela kaheastmeline kinnitamine." - }, - "recovered2fa": { - "message": "Konto on taastatud kaheastmelisest kinnitamisest." - }, - "failedLogin": { - "message": "Sisselogimine nurjus vale parooli tõttu." - }, - "failedLogin2fa": { - "message": "Sisselogimine nurjus vale kaheastmelise kinnituse tõttu." - }, - "exportedVault": { - "message": "Eksportis hoidla." - }, - "exportedOrganizationVault": { - "message": "Eksportis organisatsiooni hoidla." - }, - "editedOrgSettings": { - "message": "Organisatsiooni seaded on muudetud." - }, - "createdItemId": { - "message": "Lõi kirje $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Muutis kirjet $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Kustutas kirje $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Jagas kirjet $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Vaatas kirjet $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Vaatas kirje $ID$ parooli.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Vaatas kirje $ID$ peidetud välja.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Vaatas kirje $ID$ turvakoodi.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Kopeeris kirje $ID$ parooli.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Kopeeris kirje $ID$ peidetud välja.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Kopeeris kirje $ID$ turvakoodi.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Sisestas kirje $ID$ automaatselt.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Lõi kollektsiooni $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Muutis kollektsiooni $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Kustutas kollektsiooni $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Muutis poliitikat $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Lõi grupi $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Muutis gruppi $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Kustutas grupi $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Kasutaja $ID$ on eemaldatud.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Lisas kirjele $ID$ manuse.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Kustutas kirje $ID$ manuse.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Muutis kirje $ID$ kollektsioone.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Kutsus kasutaja $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Kinnitas kasutaja $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Muutis kasutajat $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Muutis kasutaja $ID$ gruppe.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Kasutaja $ID$ SSO on eemaldatud.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Seade" - }, - "view": { - "message": "Vaata" - }, - "invalidDateRange": { - "message": "Vale andmevahemik." - }, - "errorOccurred": { - "message": "Ilmnes viga." - }, - "userAccess": { - "message": "Kasutaja ligipääs" - }, - "userType": { - "message": "Kasutaja tüüp" - }, - "groupAccess": { - "message": "Grupi ligipääs" - }, - "groupAccessUserDesc": { - "message": "Muuda gruppe, kuhu see kasutaja kuulub." - }, - "invitedUsers": { - "message": "Kutse on saadetud." - }, - "resendInvitation": { - "message": "Saada kutse uuesti" - }, - "hasBeenReinvited": { - "message": "$USER$ on uuesti kutsutud.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Kinnita" - }, - "confirmUser": { - "message": "Kinnita kasutaja" - }, - "hasBeenConfirmed": { - "message": "Kasutaja $USER$ on kinnitatud.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Kasutajate kinnitamine" - }, - "usersNeedConfirmed": { - "message": "Sul on kasutajaid, kes on organisatsiooniga liitunud, aga vajavad veel kinnitust. Kasutajad ei pääse organisatsioonile ligi enne, kui nad on kinnitatud." - }, - "startDate": { - "message": "Alguskuupäev" - }, - "endDate": { - "message": "Lõpukuupäev" - }, - "verifyEmail": { - "message": "Kinnita e-posti aadress" - }, - "verifyEmailDesc": { - "message": "Kõikide võimaluste kasutamiseks pead oma konto e-posti aadressi kinnitama." - }, - "verifyEmailFirst": { - "message": "Esmalt pead kinnitama konto e-poesti aadressi." - }, - "checkInboxForVerification": { - "message": "E-posti aadressile saadeti kinnituslink." - }, - "emailVerified": { - "message": "E-posti aadress on kinnitatud." - }, - "emailVerifiedFailed": { - "message": "E-posti kinnitamine nurjus. Proovi uut kinnituskirja saata." - }, - "updateBrowser": { - "message": "Uuenda brauserit" - }, - "updateBrowserDesc": { - "message": "Kasutad brauserit, mida ei toetata. Veebihoidla ei pruugi hästi töötada." - }, - "joinOrganization": { - "message": "Liitu organisatsiooniga" - }, - "joinOrganizationDesc": { - "message": "Sind on kutsutud ülal oleva organisatsiooniga liituma. Liitumise kinnitamiseks pead oma Bitwardeni kontosse sisse logima. Kui sul ei ole veel kontot, saad selle luua." - }, - "inviteAccepted": { - "message": "Kutse on vastu võetud" - }, - "inviteAcceptedDesc": { - "message": "Pääsed organisatsiooni kirjetele ligi niipea, kui administraator sinu liikmelisuse kinnitab. Teavitame sind sellest e-posti teel." - }, - "inviteAcceptFailed": { - "message": "Kutse vastuvõtmine nurjus. Palu organisatsiooni administraatoril uus kutse saata." - }, - "inviteAcceptFailedShort": { - "message": "Kutset ei õnnestu vastu võtta. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Pea e-posti aadressi meeles" - }, - "recoverAccountTwoStepDesc": { - "message": "Kui sa ei pääse oma kontole ühegi kaheastmeliste kinnitamise meetodi abiga ligi, saad selle välja lülitada. Selleks kasuta kaheastmelise kinnitamise tühistamise koodi." - }, - "recoverAccountTwoStep": { - "message": "Taasta ligipääs kaheastmelise kinnitamiseta" - }, - "twoStepRecoverDisabled": { - "message": "Sinu konto kaheastmeline kinnitamine on välja lülitatud." - }, - "learnMore": { - "message": "Rohkem teavet" - }, - "deleteRecoverDesc": { - "message": "Sisesta e-posti aadress oma konto taastamiseks ja kustutamiseks." - }, - "deleteRecoverEmailSent": { - "message": "Kui sinu konto eksisteerib, saatsime e-postile edasised juhised." - }, - "deleteRecoverConfirmDesc": { - "message": "Oled avaldanud soovi oma Bitwardeni konto kustutamiseks. Selle kinnitamiseks kliki allolevale nupule." - }, - "myOrganization": { - "message": "Minu organisatsioon" - }, - "deleteOrganization": { - "message": "Kustuta organisatsioon" - }, - "deleteOrganizationDesc": { - "message": "Jätkamaks organisatsiooni ja sellega seonduvate andmete kustutamist, liigu alla. Individuaalsed kasutajakontod säilitatakse, aga nad ei kuulu enam sellesse organisatsiooni. " - }, - "deleteOrganizationWarning": { - "message": "Organisatsiooni kustutamine on ühekordne tegevus. Seda ei saa tagasi võtta." - }, - "organizationDeleted": { - "message": "Organisatsioon on kustutatud" - }, - "organizationDeletedDesc": { - "message": "Organisatsioon ja kõik sellega seonduvad andmed on kustutatud." - }, - "organizationUpdated": { - "message": "Organisatsiooni on uuendatud" - }, - "taxInformation": { - "message": "Käibemaksu info" - }, - "taxInformationDesc": { - "message": "Käibemaksu informatsiooni uuendamiseks võta ühendust klienditoega." - }, - "billingPlan": { - "message": "Pakett", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Muuda paketti", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Vii oma konto järgmisele tasemele, sisestades selleks all nõutud info. Enne selle tegemist veendu, et kontol on olemas toimiv maksemeetod.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Oma paketi muutmiseks võta ühendust klienditoega. Veendu, et kontole on lisatud maksemeetod, mis on ka aktiivne.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Arve #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "Vaata arvet" - }, - "downloadInvoice": { - "message": "Laadi arve alla" - }, - "verifyBankAccount": { - "message": "Pangakonto kinnitamine" - }, - "verifyBankAccountDesc": { - "message": "Tegime sinu pangakontole kaks väikest ülekannet (nende kohalejõudmine võib võtta 1-2 tööpäeva). Selleks, et pangakonto kinnitada, sisesta need summad siia." - }, - "verifyBankAccountInitialDesc": { - "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make two micro-deposits within the next 1-2 business days. Enter these amounts on the organization's billing page to verify the bank account." - }, - "verifyBankAccountFailureWarning": { - "message": "Pangakonto mittekinnitamine tähendab seda, et makset ei toimu ning konto kaotab oma tellimusega kaasnevad eelised." - }, - "verifiedBankAccount": { - "message": "Pangakonto on kinnitatud." - }, - "bankAccount": { - "message": "Pangakontoga" - }, - "amountX": { - "message": "Summa $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Routing Number", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Account Number" - }, - "accountHolderName": { - "message": "Account Holder Name" - }, - "bankAccountType": { - "message": "Konto tüüp" - }, - "bankAccountTypeCompany": { - "message": "Ettevõte (äri)" - }, - "bankAccountTypeIndividual": { - "message": "Eraisik (personaalne)" - }, - "enterInstallationId": { - "message": "Sisesta oma paigalduse id" - }, - "addSeats": { - "message": "Lisa kasutajaid", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Eemalda kasutajaid", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Sinu tellimus lubab kasutada/luua kokku $COUNT$ kasutajakontot.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Lisatavad kasutajad" - }, - "seatsToRemove": { - "message": "Eemaldatavad kasutajad" - }, - "seatsAddNote": { - "message": "Kasutajate hulga suurendamisel võetakse kehtiva maksemeetodi vahendusel selle eest koheselt ka tasu. Esimene makse tehakse proportsionaalselt koos järelejäänud summaga, mis sel arveldusperioodil tasuda tuleb." - }, - "seatsRemoveNote": { - "message": "Kasutajate eemaldamisel arvestatakse järelejäänud summa järgmisest maksest krediidina maha." - }, - "adjustedSeats": { - "message": "Kohandas $AMOUNT$ kasutaja kohta.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Võti on uuendatud" - }, - "updateKeyTitle": { - "message": "Uuenda võtit" - }, - "updateEncryptionKey": { - "message": "Uuenda krüpteerimisvõtit" - }, - "updateEncryptionKeyShortDesc": { - "message": "Kasutad hetkeseisuga aegunud krüpteerimise skeemi." - }, - "updateEncryptionKeyDesc": { - "message": "Oleme kasutusele võtnud suuremad krüpteerimise võtmed, mis pakuvad paremat turvalisust ja uusi funktsioone. Krüpteerimisvõtmete uuendamine on lihtne ja kiire. Piisab ainult ülemparooli sisestamisest. See uuendus on möödapääsmatu ja tuleb ära teha." - }, - "updateEncryptionKeyWarning": { - "message": "Pärast krüpteerimisvõtme uuendamist pead kõikides seadmetes, kus Bitwardeni rakendust kasutad, oma kontosse uuesti sisse logima (nt nutitelefonis ja brauseris). Välja- ja sisselogimise (mis ühtlasi laadib ka uue krüpteerimisvõtme) nurjumine võib tingida andmete riknemise. Üritame sinu seadmetest ise välja logida, aga see võib võtta natukene aega." - }, - "updateEncryptionKeyExportWarning": { - "message": "Mistahes krüpteeritud, eksporditud andmed muutuvad samuti vigaseks." - }, - "subscription": { - "message": "Tellimus" - }, - "loading": { - "message": "Laadimine" - }, - "upgrade": { - "message": "Täienda" - }, - "upgradeOrganization": { - "message": "Täienda organisatsiooni" - }, - "upgradeOrganizationDesc": { - "message": "See funktsioon ei ole \"tasuta\" litsentsi kasutatavatele organisatsioonidele saadaval. Hangi tasuline versioon, mis sisaldab rohkem funktsioone." - }, - "createOrganizationStep1": { - "message": "Organisatsiooni loomine: Samm 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Enne organisatsiooni loomist pead registreerima tasuta konto." - }, - "refunded": { - "message": "Tagasi makstud" - }, - "nothingSelected": { - "message": "Midagi pole valitud." - }, - "acceptPolicies": { - "message": "Märkeruudu markeerimisel nõustud järgnevaga:" - }, - "acceptPoliciesError": { - "message": "Kasutustingimuste ja Privaatsuspoliitikaga pole nõustutud." - }, - "termsOfService": { - "message": "Kasutustingimused" - }, - "privacyPolicy": { - "message": "Privaatsuspoliitika" - }, - "filters": { - "message": "Filtrid" - }, - "vaultTimeout": { - "message": "Hoidla ajalõpp" - }, - "vaultTimeoutDesc": { - "message": "Vali aeg, peale mida sooritatakse allpool valitud tegevus." - }, - "oneMinute": { - "message": "1 minuti pärast" - }, - "fiveMinutes": { - "message": "5 minuti pärast" - }, - "fifteenMinutes": { - "message": "15 minuti pärast" - }, - "thirtyMinutes": { - "message": "30 minuti pärast" - }, - "oneHour": { - "message": "1 tunni pärast" - }, - "fourHours": { - "message": "4 tunni pärast" - }, - "onRefresh": { - "message": "Brauseri sulgemisel" - }, - "dateUpdated": { - "message": "Uuendatud", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Parool on uuendatud", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "Organisatsioon on välja lülitatud." - }, - "licenseIsExpired": { - "message": "Litsents on aegunud." - }, - "updatedUsers": { - "message": "Kasutajad on uuendatud" - }, - "selected": { - "message": "Valitud" - }, - "ownership": { - "message": "Omanik" - }, - "whoOwnsThisItem": { - "message": "Kes on selle kirje omanik?" - }, - "strong": { - "message": "Tugev", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Hea", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Nõrk", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Väga nõrk", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Nõrk ülemparool" - }, - "weakMasterPasswordDesc": { - "message": "Valitud ülemparool on nõrk. Oma Bitwardeni konto paremaks kaitsmiseks peaksid kasutama tugevat parooli. Oled kindel, et soovid seda parooli ülemparoolina kasutada?" - }, - "rotateAccountEncKey": { - "message": "Roteeri ka minu konto krüpteerimise võtit" - }, - "rotateEncKeyTitle": { - "message": "Roteeri krüpteerimise võtit" - }, - "rotateEncKeyConfirmation": { - "message": "Oled kindel, et soovid oma konto krüpteerimise võtit roteerida?" - }, - "attachmentsNeedFix": { - "message": "Sellel kirjel on vanu manuseid, mille peab parandama." - }, - "attachmentFixDesc": { - "message": "See on vana failimanus, mille peab parandama. Rohkema teabe saamiseks kliki siia." - }, - "fix": { - "message": "Paranda", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "Hoidlas on vanu failimanuseid, mida peab enne konto krüpteerimise võtme roteerimist parandama." - }, - "yourAccountsFingerprint": { - "message": "Konto sõrmejälje fraas", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "Selleks, et sinu krüpteeringu terviklikkus säiliks, pead jätkamiseks kinnitama kasutaja sõrmejälje fraasi.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Ära enam sõrmejälje fraasi kinnitamist küsi", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Tasuta", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "API võti" - }, - "apiKeyDesc": { - "message": "Sinu API võtit saab kasutada Bitwardeni avalikus API-s autentimiseks." - }, - "apiKeyRotateDesc": { - "message": "API roteerimine muudab eelmise võtme kehtetuks. API võtme roteerimine on kasulik olukordades, kus on oht, et aktiivne võti ei pruugi enam turvaline olla." - }, - "apiKeyWarning": { - "message": "Sinu API võtmel on täielik ligipääs organisatsioonile. Seda võtit peab salajas hoidma ja kaitsma." - }, - "userApiKeyDesc": { - "message": "Sinu API võtit saab kasutada Bitwardeni CLI-s autentimiseks." - }, - "userApiKeyWarning": { - "message": "API võti on alternatiivne autentimise mehhanism. Seda tuleks salajas hoida." - }, - "oauth2ClientCredentials": { - "message": "OAuthi 2.0 kliendi tunnistus", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "Vaata API võtit" - }, - "rotateApiKey": { - "message": "API võtme roteerimine" - }, - "selectOneCollection": { - "message": "Pead valima vähemalt ühe kollektsiooni." - }, - "couldNotChargeCardPayInvoice": { - "message": "Meil ei õnnestunud kaardil olevat raha kasutada. Palun vaata all olevat arvet ja maksa see käsitsi." - }, - "inAppPurchase": { - "message": "Äpi sisene maksmine" - }, - "cannotPerformInAppPurchase": { - "message": "Seda tegevust ei saa sooritada, sest kasutad äpi sisest maksemeetodit." - }, - "manageSubscriptionFromStore": { - "message": "Saad oma tellimust hallata poest, kust äpi sisese ostu sooritasid." - }, - "minLength": { - "message": "Minimaalne pikkus" - }, - "clone": { - "message": "Klooni" - }, - "masterPassPolicyDesc": { - "message": "Määra minimaalsed ülemparooli tugevuse tingimused." - }, - "twoStepLoginPolicyDesc": { - "message": "Nõua, et kasutajad seadistaksid oma kontodes kaheastmelise kinnituse." - }, - "twoStepLoginPolicyWarning": { - "message": "Organisatsiooni liikmed, kel pole kaheastmeline kinnitamine sisse lülitatud, eemaldatakse organisatsioonist ning neile saadetakse sellekohane e-kiri." - }, - "twoStepLoginPolicyUserWarning": { - "message": "Kuulud organisatsiooni, mis nõuab kontol kaheastmelise kinnitamise sisselülitamist.\nKui lülitad välja kõik Kaheastmelise kinnitamise valikud, eemaldatakse sind organisatsioonist." - }, - "passwordGeneratorPolicyDesc": { - "message": "Määra parooli genereerija konfiguratsiooni tingimused." - }, - "passwordGeneratorPolicyInEffect": { - "message": "Organisatsiooni seaded mõjutavad parooli genereerija sätteid." - }, - "masterPasswordPolicyInEffect": { - "message": "Üks või enam organisatsiooni eeskirja nõuavad, et ülemparool vastaks nendele nõudmistele:" - }, - "policyInEffectMinComplexity": { - "message": "Minimaalne keerulisuse skoor peab olema $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Minimaalne pikkus peab olema $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Sisaldab üht või enamat suurtähte" - }, - "policyInEffectLowercase": { - "message": "Sisaldab üht või enamat väiketähte" - }, - "policyInEffectNumbers": { - "message": "Sisaldab üht või rohkem numbreid" - }, - "policyInEffectSpecial": { - "message": "Sisaldab üht või enamat järgnevatest märkidest: $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Uus ülemparool ei vasta eeskirjades väljatoodud tingimustele." - }, - "minimumNumberOfWords": { - "message": "Minimaalne sõnade arv" - }, - "defaultType": { - "message": "Vaiketüüp" - }, - "userPreference": { - "message": "Kasutaja eelistus" - }, - "vaultTimeoutAction": { - "message": "Sooritatav tegevus" - }, - "vaultTimeoutActionLockDesc": { - "message": "Lukustamisel nõutakse hoidlale uuesti ligi pääsemiseks ülemparooli." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "Väljalogimisel nõutakse hoidlale uuesti ligi pääsemiseks autentimist." - }, - "lock": { - "message": "Lukusta", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Prügikast", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Otsi prügikastist" - }, - "permanentlyDelete": { - "message": "Kustuta kirje jäädavalt" - }, - "permanentlyDeleteSelected": { - "message": "Kustuta valitud jäädavalt" - }, - "permanentlyDeleteItem": { - "message": "Kustuta kirje jäädavalt" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Oled kindel, et soovid selle kirje jäädavalt kustutada?" - }, - "permanentlyDeletedItem": { - "message": "Kirje on jäädavalt kustutatud" - }, - "permanentlyDeletedItems": { - "message": "Kirjed on jäädavalt kustutatud" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "Oled valinud jäädavaks kustutamiseks $COUNT$ kirje(t). Oled kindel, et soovid need kirjed jäädavalt kustutada?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "$ID$ kirjet on jäädavalt kustutatud.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Taasta" - }, - "restoreSelected": { - "message": "Taasta valitud" - }, - "restoreItem": { - "message": "Taasta kirje" - }, - "restoredItem": { - "message": "Kirje on taastatud" - }, - "restoredItems": { - "message": "Kirjed on taastatud" - }, - "restoreItemConfirmation": { - "message": "Oled kindel, et soovid selle kirje taastada?" - }, - "restoreItems": { - "message": "Taasta kirjed" - }, - "restoreSelectedItemsDesc": { - "message": "Oled taastamiseks valinud $COUNT$ kirje(t). Oled kindel, et soovid kõik need kirjed taastada?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Taastas kirje $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Väljalogimine tähendab, et hoidlale ei pääse enam ligi ning sisselogimiseks peab konto uuesti autentima. Oled kindel, et soovid seda valikut kasutada?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Ajalõpu tegevuse kinnitamine" - }, - "hidePasswords": { - "message": "Peida paroolid" - }, - "countryPostalCodeRequiredDesc": { - "message": "Vajame seda informatsiooni ainult käibemaksu arvutamiseks ja finantsraportite jaoks." - }, - "includeVAT": { - "message": "Lisa KM andmed (valikuline)" - }, - "taxIdNumber": { - "message": "KMKR nr" - }, - "taxInfoUpdated": { - "message": "Käibemaksu informatsioon on uuendatud." - }, - "setMasterPassword": { - "message": "Määra ülemparool" - }, - "ssoCompleteRegistration": { - "message": "SSO-ga sisselogimise kinnitamiseks tuleb määrata ülemparool. See kaitseb sinu hoidlat ning võimaldab sellele ligi pääseda." - }, - "identifier": { - "message": "Identifikaator" - }, - "organizationIdentifier": { - "message": "Organisatsiooni identifikaator" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Sisselogimine läbi organisatsiooni ühekordne sisselogimise portaali. Jätkamiseks sisesta ettevõtte identifikaator." - }, - "enterpriseSingleSignOn": { - "message": "Ettevõtte Single Sign-On" - }, - "ssoHandOff": { - "message": "Võid nüüd selle vahelehe sulgeda ning jätkata brauseri laienduses." - }, - "businessPortal": { - "message": "Ärikliendi portaal", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "Kõik Tiimi funktsioonid, lisaks:" - }, - "includeSsoAuthentication": { - "message": "SSO autentimine läbi SAML2.0 ja OpenID Connect-i" - }, - "includeEnterprisePolicies": { - "message": "Ettevõtte poliitikate rakendamine" - }, - "ssoValidationFailed": { - "message": "SSO kinnitamine nurjus" - }, - "ssoIdentifierRequired": { - "message": "Nõutud on organisatsioon identifikaator." - }, - "unlinkSso": { - "message": "Ühenda SSO lahti" - }, - "linkSso": { - "message": "Ühenda SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "Poliitikate konfigureerimine on kolinud ning see lehekülg on peatselt aegumas. Palun kasuta poliitikate juurutamiseks allolevat Ärikliendi portaali linki." - }, - "singleOrg": { - "message": "Üksainus organisatsioon" - }, - "singleOrgDesc": { - "message": "Keela kasutajatel teiste organisatsioonidega liitumine." - }, - "singleOrgBlockCreateMessage": { - "message": "Sinu praeguse organisatsiooni poliitika kohaselt ei saa sa olla rohkem kui ühe organisatsiooni liige. Palun kontakteeru oma praeguse organisatsiooni administraatoritega või kasuta liitumiseks teist Bitwardeni kontot." - }, - "singleOrgPolicyWarning": { - "message": "Sisselülitamisel eemaldatakse organisatsioonist liikmed, kes on juba mõne teise organisatsiooniga liitunud. See ei puuduta liikmeid, kelle staatus on Omanik või Administraator." - }, - "requireSso": { - "message": "Single Sign-On autentiseerimine" - }, - "requireSsoPolicyDesc": { - "message": "Nõua kasutajatelt sisselogimist läbi Ettevõtte Single Sign-On meetodi." - }, - "prerequisite": { - "message": "Eeltingimus" - }, - "requireSsoPolicyReq": { - "message": "Selle poliitika aktiveerimise eelduseks on valiku „Üksainus organisatsioon“ sisselülitamine." - }, - "requireSsoPolicyReqError": { - "message": "Poliitika „Üksainus organisatsioon“ ei ole sisse lülitatud." - }, - "requireSsoExemption": { - "message": "Selle poliitika rakendamine ei puuduta Omanikke ega Administraatoreid." - }, - "sendTypeFile": { - "message": "Fail" - }, - "sendTypeText": { - "message": "Tekst" - }, - "createSend": { - "message": "Loo uus Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Muuda Sendi", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Lõi Sendi", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Muutis Sendi", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Kustutas Sendi", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Kustuta Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Soovid tõesti selle Sendi kustutada?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "Mis tüüpi Send see on?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Kustutamise kuupäev" - }, - "deletionDateDesc": { - "message": "Send kustutatakse määratud kuupäeval ja kellaajal jäädavalt.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Aegumiskuupäev" - }, - "expirationDateDesc": { - "message": "Seadistamisel ei pääse sellele Sendile enam pärast määratud kuupäeva ligi.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Maksimaalne ligipääsude arv" - }, - "maxAccessCountDesc": { - "message": "Seadistamisel ei saa kasutajad pärast maksimaalse ligipääsude arvu saavutamist sellele Sendile enam ligi.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Hetkeline ligipääsude arv" - }, - "sendPasswordDesc": { - "message": "Mittekohustuslik parooli küsimine, et Sendile ligi pääseda.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Privaatne märkus selle Sendi kohta.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Keelatud" - }, - "sendLink": { - "message": "Sendi link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Kopeeri Sendi link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Eemalda parool" - }, - "removedPassword": { - "message": "Eemaldas parooli" - }, - "removePasswordConfirmation": { - "message": "Soovid kindlasti selle parooli eemaldada?" - }, - "disableThisSend": { - "message": "Keela see Send, et keegi ei pääseks sellele ligi.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "Kõik Sendid" - }, - "maxAccessCountReached": { - "message": "Maksimaalne ligipääsude arv on saavutatud" - }, - "pendingDeletion": { - "message": "Kustutamise ootel" - }, - "expired": { - "message": "Aegunud" - }, - "searchSends": { - "message": "Otsi Sende", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "See Send on parooliga kaitstud. Jätkamiseks sisesta parool allolevale väljale.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Sa ei tea parooli? Küsi seda konkreetse Sendi saatjalt.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "See Send on vaikeseades peidetud. Saad selle nähtavust alloleva nupu abil seadistada.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Laadi fail alla" - }, - "sendAccessUnavailable": { - "message": "Send, millele üritad ligi pääseda, ei eksisteeri või see pole enam saadaval.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "Puuduvad Sendid, mida kuvada.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Hädaolukorra ligipääs" - }, - "emergencyAccessDesc": { - "message": "Siin saad hallata ning seadistada usaldusväärseid kontakte, kes saavad hädaolukorral sinu Hoidla sisu kas Vaadata või Üle võtta. Rohkema info saamiseks vaata meie abilehekülge. Tegemist on turvalise ja „zero-knowledge“ lahendusega." - }, - "trustedEmergencyContacts": { - "message": "Usaldusväärsed hädaolukorra kontaktid" - }, - "noTrustedContacts": { - "message": "Hetkel pole ühtei kontakti määratud. Alustamiseks saada usaldusväärsele kontaktile kutse." - }, - "addEmergencyContact": { - "message": "Lisa hädaolukorra kontakt" - }, - "designatedEmergencyContacts": { - "message": "Hädaolukorra kontaktiks määratud" - }, - "noGrantedAccess": { - "message": "Sind ei ole hetkel ühelegi kontole hädaolukorra kontaktiks määratud." - }, - "inviteEmergencyContact": { - "message": "Hädaolukorra kontakti loomine" - }, - "editEmergencyContact": { - "message": "Hädaolukorra kontakti muutmine" - }, - "inviteEmergencyContactDesc": { - "message": "Kutsu oma hädaolukorra kontaktiks usaldusväärne kasutaja, sisestades alla tema Bitwardeni konto e-posti aadress. Kui tal ei ole veel Bitwardeni kontot, pakutakse talle võimalus see luua." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Hädaolukorra ligipääs on käivitatud" - }, - "emergencyAccessRecoveryApproved": { - "message": "Hädaolukorra ligipääs on kinnitatud" - }, - "viewDesc": { - "message": "Saab vaadata sinu Hoidla täit sisu." - }, - "takeover": { - "message": "Ülevõtmine" - }, - "takeoverDesc": { - "message": "Saab määrata kontole uue ülemaparooli." - }, - "waitTime": { - "message": "Ooteaeg" - }, - "waitTimeDesc": { - "message": "Aeg, peale mida võimaldatakse kontaktile automaatne ligipääs." - }, - "oneDay": { - "message": "1 päev" - }, - "days": { - "message": "$DAYS$ päeva", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Kasutaja on kutsutud." - }, - "acceptEmergencyAccess": { - "message": "Sind on kutsutud ülal oleva kasutaja hädaolukorra kontaktiks. Liitumise kinnitamiseks pead oma Bitwardeni kontosse sisse logima. Kui sul ei ole veel kontot, saad selle luua." - }, - "emergencyInviteAcceptFailed": { - "message": "Kutse vastuvõtmine nurjus. Palu kasutajal uus kutse saata." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Kutset ei õnnestu vastu võtta. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "Selle kasutaja hädaolukorra valikutele ligipääsuks on vajalik identiteedi kinnitamine. Pärast kinnitamist saadame sulle vastavasisulise e-kirja." - }, - "requestAccess": { - "message": "Taotle ligipääsu" - }, - "requestAccessConfirmation": { - "message": "Oled kindel, et soovid esitada hädaolukorra ligipääsu taotluse? Ligipääsu võimaldatakse pärast $WAITTIME$ päev(a) või niipea, kui teine kasutaja sinu selle heaks kiidab.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Kasutajale $USER$ on saadet hädaolukorra ligipääsu kutse. Anname e-kirjaga märku, kui saad selle seadistamisega edasi minna.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Kinnita" - }, - "reject": { - "message": "Keeldu" - }, - "approveAccessConfirmation": { - "message": "Oled kindel, et soovid hädaolukorra ligipääsu päringu heaks kiita? See võimaldab kasutajal $USER$ sinu kontoga teha järgnevat: $ACTION$.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Hädaolukorra ligipääs on kinnitatud." - }, - "emergencyRejected": { - "message": "Hädaolukorra ligipääsust keelduti" - }, - "passwordResetFor": { - "message": "$USER$ parool on taastatud. Saad nüüd uue parooliga sisse logida.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Personaalne salvestamine" - }, - "personalOwnershipPolicyDesc": { - "message": "Nõua kasutajatelt andmete salvestamist organisatsiooni hoidlasse, eemaldades personaalse hoidla valiku." - }, - "personalOwnershipExemption": { - "message": "Selle poliitika rakendamine ei puuduta Omanikke ega Administraatoreid." - }, - "personalOwnershipSubmitError": { - "message": "Ettevõtte poliitika tõttu ei saa sa andmeid oma personaalsesse Hoidlasse salvestada. Vali Omanikuks organisatsioon ja vali mõni saadavaolevatest Kogumikest." - }, - "modifiedPolicyId": { - "message": "Muutis poliitikat $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Hind" - }, - "estimatedTax": { - "message": "Eeldatavad maksud" - }, - "custom": { - "message": "Kohandatud" - }, - "customDesc": { - "message": "Pakub kasutajate haldamiseks ja õiguste määramiseks rohkem võimalusi." - }, - "permissions": { - "message": "Õigused" - }, - "accessBusinessPortal": { - "message": "Ligipääs Ärikliendi portaalile" - }, - "accessEventLogs": { - "message": "Ligipääs sündmuste logile" - }, - "accessImportExport": { - "message": "Ligipääs impordile/ekspordile" - }, - "accessReports": { - "message": "Ligipääs raportitele" - }, - "manageAllCollections": { - "message": "Saab hallata kõiki kollektsioone" - }, - "manageAssignedCollections": { - "message": "Saab hallata määratud kollektsioone" - }, - "manageGroups": { - "message": "Gruppide haldamine" - }, - "managePolicies": { - "message": "Poliitikate haldamine" - }, - "manageSso": { - "message": "SSO haldamine" - }, - "manageUsers": { - "message": "Kasutajate haldamine" - }, - "disableRequireSsoError": { - "message": "Enne selle poliitika keelamist pead Single Sign-On autentimise käsitsi välja lülitama." - }, - "personalOwnershipPolicyInEffect": { - "message": "Organisatsiooni poliitika on seadnud omaniku valikutele piirangu." - }, - "personalOwnershipCheckboxDesc": { - "message": "Keela organisatsiooni liikmetel paroolide salvestamine isiklikku Hoidlasse" - }, - "textHiddenByDefault": { - "message": "Sendi avamisel peida tekst automaatselt", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/fi/messages.json b/locales/fi/messages.json deleted file mode 100644 index 30233a31..00000000 --- a/locales/fi/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$-verkkoholvi", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "Minkä tyyppinen kohde tämä on?" - }, - "name": { - "message": "Nimi" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "Uusi URI" - }, - "username": { - "message": "Käyttäjätunnus" - }, - "password": { - "message": "Salasana" - }, - "newPassword": { - "message": "Uusi salasana" - }, - "passphrase": { - "message": "Salauslauseke" - }, - "notes": { - "message": "Merkinnät" - }, - "customFields": { - "message": "Lisäkentät" - }, - "cardholderName": { - "message": "Kortinhaltijan nimi" - }, - "number": { - "message": "Numero" - }, - "brand": { - "message": "Merkki" - }, - "expiration": { - "message": "Erääntymisaika" - }, - "securityCode": { - "message": "Turvakoodi (CVC/CVV)" - }, - "identityName": { - "message": "Henkilöllisyyden nimi" - }, - "company": { - "message": "Yritys" - }, - "ssn": { - "message": "Henkilötunnus" - }, - "passportNumber": { - "message": "Passin numero" - }, - "licenseNumber": { - "message": "Ajokortin numero" - }, - "email": { - "message": "Sähköposti" - }, - "phone": { - "message": "Puhelinnumero" - }, - "january": { - "message": "Tammikuu" - }, - "february": { - "message": "Helmikuu" - }, - "march": { - "message": "Maaliskuu" - }, - "april": { - "message": "Huhtikuu" - }, - "may": { - "message": "Toukokuu" - }, - "june": { - "message": "Kesäkuu" - }, - "july": { - "message": "Heinäkuu" - }, - "august": { - "message": "Elokuu" - }, - "september": { - "message": "Syyskuu" - }, - "october": { - "message": "Lokakuu" - }, - "november": { - "message": "Marraskuu" - }, - "december": { - "message": "Joulukuu" - }, - "title": { - "message": "Titteli" - }, - "mr": { - "message": "Hra" - }, - "mrs": { - "message": "Rva" - }, - "ms": { - "message": "Nti" - }, - "dr": { - "message": "Tri" - }, - "expirationMonth": { - "message": "Erääntymiskuukausi" - }, - "expirationYear": { - "message": "Erääntymisvuosi" - }, - "authenticatorKeyTotp": { - "message": "Todennusmenetelmän avain (TOTP)" - }, - "folder": { - "message": "Kansio" - }, - "newCustomField": { - "message": "Uusi lisäkenttä" - }, - "value": { - "message": "Arvo" - }, - "dragToSort": { - "message": "Järjestä raahaamalla" - }, - "cfTypeText": { - "message": "Teksti" - }, - "cfTypeHidden": { - "message": "Piilotettu" - }, - "cfTypeBoolean": { - "message": "Totuusarvo" - }, - "remove": { - "message": "Poista" - }, - "unassigned": { - "message": "Määrittämätön" - }, - "noneFolder": { - "message": "Ei kansiota", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Lisää kansio" - }, - "editFolder": { - "message": "Muokkaa kansiota" - }, - "baseDomain": { - "message": "Pääverkkotunnus" - }, - "host": { - "message": "Isäntä", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Tarkka" - }, - "startsWith": { - "message": "Alkaa" - }, - "regEx": { - "message": "Säännöllinen lauseke", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Tunnistustapa", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Tunnistuksen oletustapa", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Ei koskaan" - }, - "toggleVisibility": { - "message": "Näytä tai piilota" - }, - "toggleCollapse": { - "message": "Laajenna tai pienennä", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Luo salasana" - }, - "checkPassword": { - "message": "Tarkasta, onko salasana paljastunut." - }, - "passwordExposed": { - "message": "Salasana on paljastunut $VALUE$ tietovuodossa. Se tulisi vaihtaa.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "Salasanaa ei löytynyt tunnetuista tietovuodoista. Sen pitäisi olla turvallinen." - }, - "save": { - "message": "Tallenna" - }, - "cancel": { - "message": "Peruuta" - }, - "canceled": { - "message": "Peruttu" - }, - "close": { - "message": "Sulje" - }, - "delete": { - "message": "Poista" - }, - "favorite": { - "message": "Suosikki" - }, - "unfavorite": { - "message": "Poista suosikeista" - }, - "edit": { - "message": "Muokkaa" - }, - "searchCollection": { - "message": "Hae kokoelmasta" - }, - "searchFolder": { - "message": "Hae kansiosta" - }, - "searchFavorites": { - "message": "Hae suosikeista" - }, - "searchType": { - "message": "Hae tyypeistä", - "description": "Search item type" - }, - "searchVault": { - "message": "Hae holvista" - }, - "allItems": { - "message": "Kaikki kohteet" - }, - "favorites": { - "message": "Suosikit" - }, - "types": { - "message": "Tyypit" - }, - "typeLogin": { - "message": "Käyttäjätunnus" - }, - "typeCard": { - "message": "Kortti" - }, - "typeIdentity": { - "message": "Henkilöllisyys" - }, - "typeSecureNote": { - "message": "Salattu muistio" - }, - "folders": { - "message": "Kansiot" - }, - "collections": { - "message": "Kokoelmat" - }, - "firstName": { - "message": "Etunimi" - }, - "middleName": { - "message": "Toinen nimi" - }, - "lastName": { - "message": "Sukunimi" - }, - "address1": { - "message": "Osoite 1" - }, - "address2": { - "message": "Osoite 2" - }, - "address3": { - "message": "Osoite 3" - }, - "cityTown": { - "message": "Paikkakunta" - }, - "stateProvince": { - "message": "Osavaltio/maakunta" - }, - "zipPostalCode": { - "message": "Postinumero" - }, - "country": { - "message": "Maa" - }, - "shared": { - "message": "Jaettu" - }, - "attachments": { - "message": "Liitteet" - }, - "select": { - "message": "Valitse" - }, - "addItem": { - "message": "Lisää kohde" - }, - "editItem": { - "message": "Muokkaa kohdetta" - }, - "viewItem": { - "message": "Näytä kohde" - }, - "ex": { - "message": "esim.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Muut" - }, - "share": { - "message": "Jaa" - }, - "valueCopied": { - "message": "$VALUE$ kopioitiin", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Kopioi arvo", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Kopioi salasana", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Kopioi käyttäjätunnus", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Kopioi numero", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Kopioi turvakoodi", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Kopioi URI", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "Oma holvi" - }, - "vault": { - "message": "Holvi" - }, - "shareSelected": { - "message": "Jaa valitut" - }, - "deleteSelected": { - "message": "Poista valitut" - }, - "moveSelected": { - "message": "Siirrä valitut" - }, - "selectAll": { - "message": "Valitse kaikki" - }, - "unselectAll": { - "message": "Tyhjennä valinnat" - }, - "launch": { - "message": "Avaa" - }, - "newAttachment": { - "message": "Lisää uusi tiedostoliite" - }, - "deletedAttachment": { - "message": "Poistettiin tiedostoliite" - }, - "deleteAttachmentConfirmation": { - "message": "Haluatko varmasti poistaa liitteen?" - }, - "attachmentSaved": { - "message": "Tiedostoliite tallennettiin." - }, - "file": { - "message": "Tiedosto" - }, - "selectFile": { - "message": "Valitse tiedosto." - }, - "maxFileSize": { - "message": "Tiedoston enimmäiskoko on 100 Mt." - }, - "updateKey": { - "message": "Et voi käyttää tätä toimintoa ennen kuin päivität salausavaimesi." - }, - "addedItem": { - "message": "Lisättiin kohde" - }, - "editedItem": { - "message": "Muokattiin kohdetta" - }, - "sharedItem": { - "message": "Jaettu kohde" - }, - "sharedItems": { - "message": "Jaetut kohteet" - }, - "deleteItem": { - "message": "Poista kohde" - }, - "deleteFolder": { - "message": "Poista kansio" - }, - "deleteAttachment": { - "message": "Poista tiedostoliite" - }, - "deleteItemConfirmation": { - "message": "Haluatko varmasti siirtää kohteen roskakoriin?" - }, - "deletedItem": { - "message": "Kohde siirrettiin roskakoriin" - }, - "deletedItems": { - "message": "Kohteet siirrettiin roskakoriin" - }, - "movedItems": { - "message": "Siirrettiin kohteet" - }, - "overwritePasswordConfirmation": { - "message": "Haluatko varmasti korvata nykyisen salasanan?" - }, - "editedFolder": { - "message": "Muokattiin kansiota" - }, - "addedFolder": { - "message": "Lisättiin kansio" - }, - "deleteFolderConfirmation": { - "message": "Haluatko varmasti poistaa kansion?" - }, - "deletedFolder": { - "message": "Poistettiin kansio" - }, - "loggedOut": { - "message": "Kirjauduttu ulos" - }, - "loginExpired": { - "message": "Kirjautumisesi on vanhentunut." - }, - "logOutConfirmation": { - "message": "Haluatko varmasti kirjautua ulos?" - }, - "logOut": { - "message": "Kirjaudu ulos" - }, - "ok": { - "message": "Ok" - }, - "yes": { - "message": "Kyllä" - }, - "no": { - "message": "Ei" - }, - "loginOrCreateNewAccount": { - "message": "Kirjaudu sisään tai luo uusi tili päästäksesi salattuun holviisi." - }, - "createAccount": { - "message": "Luo tili" - }, - "logIn": { - "message": "Kirjaudu sisään" - }, - "submit": { - "message": "Jatka" - }, - "emailAddressDesc": { - "message": "Käytät sähköpostiosoitettasi sisäänkirjautumiseen." - }, - "yourName": { - "message": "Nimesi" - }, - "yourNameDesc": { - "message": "Millä nimellä meidän tulee kutsua sinua?" - }, - "masterPass": { - "message": "Pääsalasana" - }, - "masterPassDesc": { - "message": "Pääsalasanalla pääset käsiksi holviisi. On erittäin tärkeää, että muistat pääsalasanasi, koska sen palautus ei ole mahdollista, jos unohdat sen." - }, - "masterPassHintDesc": { - "message": "Pääsalasanan vihje voi auttaa sinua muistamaan unohtamasi salasanan." - }, - "reTypeMasterPass": { - "message": "Syötä pääsalasana uudelleen" - }, - "masterPassHint": { - "message": "Pääsalasanan vihje (valinnainen)" - }, - "masterPassHintLabel": { - "message": "Pääsalasanan vihje" - }, - "settings": { - "message": "Asetukset" - }, - "passwordHint": { - "message": "Salasanavihje" - }, - "enterEmailToGetHint": { - "message": "Syötä tilisi sähköpostiosoite saadaksesi pääsalasanasi vihjeen." - }, - "getMasterPasswordHint": { - "message": "Pyydä pääsalasanan vihjettä" - }, - "emailRequired": { - "message": "Sähköpostiosoite vaaditaan." - }, - "invalidEmail": { - "message": "Virheellinen sähköpostiosoite." - }, - "masterPassRequired": { - "message": "Pääsalasana vaaditaan." - }, - "masterPassLength": { - "message": "Pääsalasanan on oltava vähintään 8 merkkiä pitkä." - }, - "masterPassDoesntMatch": { - "message": "Pääsalasanan vahvistus ei täsmää." - }, - "newAccountCreated": { - "message": "Uusi käyttäjätilisi on luotu! Voit nyt kirjautua sisään." - }, - "masterPassSent": { - "message": "Lähetimme pääsalasanasi vihjeen sähköpostitse." - }, - "unexpectedError": { - "message": "Tapahtui odottamaton virhe." - }, - "emailAddress": { - "message": "Sähköpostiosoite" - }, - "yourVaultIsLocked": { - "message": "Holvisi on lukittu. Syötä pääsalasana jatkaaksesi." - }, - "unlock": { - "message": "Avaa lukitus" - }, - "loggedInAsEmailOn": { - "message": "Kirjautuneena tunnuksella $EMAIL$ palveluun $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Virheellinen pääsalasana" - }, - "lockNow": { - "message": "Lukitse nyt" - }, - "noItemsInList": { - "message": "Ei näytettäviä kohteita." - }, - "noCollectionsInList": { - "message": "Ei näytettäviä kokoelmia." - }, - "noGroupsInList": { - "message": "Ei näytettäviä ryhmiä." - }, - "noUsersInList": { - "message": "Ei näytettäviä käyttäjiä." - }, - "noEventsInList": { - "message": "Ei näytettäviä tapahtumia." - }, - "newOrganization": { - "message": "Uusi organisaatio" - }, - "noOrganizationsList": { - "message": "Et kuulu mihinkään organisaatioon. Organisaatioiden avulla voit jakaa kohteita turvallisesti muiden käyttäjien kanssa." - }, - "versionNumber": { - "message": "Versio $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Syötä 6-numeroinen todennuskoodi todennussovelluksestasi." - }, - "enterVerificationCodeEmail": { - "message": "Syötä 6-numeroinen todennuskoodi, joka lähetettiin sähköpostitse osoitteeseen $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "Todennussähköposti lähetettiin osoitteeseen $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Muista minut" - }, - "sendVerificationCodeEmailAgain": { - "message": "Lähetä todennuskoodi sähköpostitse uudelleen" - }, - "useAnotherTwoStepMethod": { - "message": "Käytä eri kaksivaiheisen kirjautumisen todennusmenetelmää" - }, - "insertYubiKey": { - "message": "Kytke YubiKey-todennuslaitteesi tietokoneen USB-porttiin ja paina sen painiketta." - }, - "insertU2f": { - "message": "Kytke todennuslaitteesi tietokoneen USB-porttiin ja jos laitteessa on painike, paina sitä." - }, - "loginUnavailable": { - "message": "Kirjautuminen ei ole käytettävissä" - }, - "noTwoStepProviders": { - "message": "Tilillä on käytössä kaksivaiheinen kirjautuminen, mutta tämä selain ei tue käytettävissä olevia todennusmenetelmiä." - }, - "noTwoStepProviders2": { - "message": "Käytä tuettua selainta (kuten Chrome) ja/tai ota käyttöön laajemmin tuettu todennusmenetelmä (kuten todennussovellus)." - }, - "twoStepOptions": { - "message": "Kaksivaiheisen kirjautumisen asetukset" - }, - "recoveryCodeDesc": { - "message": "Etkö pysty käyttämään kaksivaiheisen kirjautumisen todennusmenetelmiäsi? Poista kaikki menetelmät käytöstä tililtäsi palautuskoodillasi." - }, - "recoveryCodeTitle": { - "message": "Palautuskoodi" - }, - "authenticatorAppTitle": { - "message": "Todennussovellus" - }, - "authenticatorAppDesc": { - "message": "Käytä todennussovellusta (kuten Authy tai Google Authenticator) luodaksesi aikarajallisia todennuskoodeja.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "YubiKey OTP -todennuslaite" - }, - "yubiKeyDesc": { - "message": "Käytä YubiKey-todennuslaitetta tilisi avaukseen. Toimii YubiKey 4 ja 5 -sarjojen sekä NEO -laitteiden kanssa." - }, - "duoDesc": { - "message": "Vahvista Duo Securityn avulla käyttäen Duo Mobile ‑sovellusta, tekstiviestiä, puhelua tai U2F-todennuslaitetta.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Vahvista kirjautuminen organisaatiollesi Duo Securityn avulla käyttäen Duo Mobile ‑sovellusta, tekstiviestiä, puhelua tai U2F-todennuslaitetta.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Käytä tilisi avaukseen mitä tahansa FIDO U2F ‑yhteensopivaa todennuslaitetta." - }, - "u2fTitle": { - "message": "FIDO U2F ‑todennuslaite" - }, - "emailTitle": { - "message": "Sähköposti" - }, - "emailDesc": { - "message": "Todennuskoodit lähetetään sinulle sähköpostitse." - }, - "continue": { - "message": "Jatka" - }, - "organization": { - "message": "Organisaatio" - }, - "organizations": { - "message": "Organisaatiot" - }, - "shareDesc": { - "message": "Valitse organisaatio, jonka kanssa haluat jakaa kohteen. Jako siirtää kohteen organisaation omistukseen, etkä tämän jälkeen ole enää sen suora omistaja." - }, - "shareManyDesc": { - "message": "Valitse organisaatio, jonka kanssa haluat jakaa kohteet. Jako siirtää kohteet organisaation omistukseen, etkä tämän jälkeen ole enää niiden suora omistaja." - }, - "collectionsDesc": { - "message": "Muokkaa kokoelmia, joihin tämä kohde on jaettu. Kohteen näkevät vain ne organisaation käyttäjät, joilla on käyttöoikeus näihin kokoelmiin." - }, - "deleteSelectedItemsDesc": { - "message": "Olet valinnut $COUNT$ kohdetta poistettavaksi. Haluatko varmasti poistaa ne kaikki?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Valitse kansio, johon haluat siirtää $COUNT$ kohdetta.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "Olet valinnut $COUNT$ kohdetta. $SHAREABLE_COUNT$ kohdetta on jaettavissa, $NONSHAREABLE_COUNT$ ei ole.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Todennuskoodi (TOTP)" - }, - "copyVerificationCode": { - "message": "Kopioi todennuskoodi" - }, - "warning": { - "message": "Varoitus" - }, - "confirmVaultExport": { - "message": "Vahvista holvin vienti" - }, - "exportWarningDesc": { - "message": "Tämä vienti sisältää holvisi tiedot salaamattomassa muodossa. Sinun ei tulisi säilyttää tai lähettää vietyä tiedostoa suojaamattomien kanavien (kuten sähköpostin) välityksellä. Poista se välittömästi kun sille ei enää ole käyttöä." - }, - "encExportWarningDesc": { - "message": "Tämä vienti salaa tietosi käyttäjätilisi salausavaimella. Jos joskus uudistat tilisi salausavaimen, on teitojen vienti tehtävä uudelleen, koska et voi enää purkaa nyt viedyn tiedoston salausta." - }, - "exportMasterPassword": { - "message": "Syötä pääsalasanasi viedäksesi holvisi tiedot." - }, - "exportVault": { - "message": "Vie holvi" - }, - "fileFormat": { - "message": "Tiedostomuoto" - }, - "exportSuccess": { - "message": "Holvisi tiedot vietiin." - }, - "passwordGenerator": { - "message": "Salasanageneraattori" - }, - "minComplexityScore": { - "message": "Monimutkaisuuden vähimmäispistemäärä" - }, - "minNumbers": { - "message": "Numeroita vähintään" - }, - "minSpecial": { - "message": "Erikoismerkkejä vähintään", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Vältä epäselviä merkkejä" - }, - "regeneratePassword": { - "message": "Luo uusi salasana" - }, - "length": { - "message": "Pituus" - }, - "numWords": { - "message": "Sanojen määrä" - }, - "wordSeparator": { - "message": "Sanojen erotin" - }, - "capitalize": { - "message": "Sanat isoilla alkukirjaimilla", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Sisällytä numero" - }, - "passwordHistory": { - "message": "Salasanahistoria" - }, - "noPasswordsInList": { - "message": "Ei näytettäviä salasanoja." - }, - "clear": { - "message": "Tyhjennä", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Tili päivitettiin" - }, - "changeEmail": { - "message": "Vaihda sähköpostiosoite" - }, - "newEmail": { - "message": "Uusi sähköposti" - }, - "code": { - "message": "Koodi" - }, - "changeEmailDesc": { - "message": "Olemme lähettäneet todennuskoodin sähköpostitse osoitteeseen $EMAIL$. Tarkasta sähköpostisi ja syötä koodi alle viimeistelläksesi sähköpostiosoitteen vaihdon.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Jatkamalla kirjaudut ulos nykyisestä istunnostasi ja joudut kirjautumaan uudelleen. Aktiiviset istunnot toisilla laitteilla saattavat pysyä aktiivisina vielä tunnin ajan." - }, - "emailChanged": { - "message": "Sähköposti vaihdettiin" - }, - "logBackIn": { - "message": "Kirjaudu sisään uudelleen." - }, - "logBackInOthersToo": { - "message": "Kirjaudu uudelleen sisään. Jos käytät muita Bitwarden-sovelluksia, kirjaudu myös niihin uudelleen." - }, - "changeMasterPassword": { - "message": "Vaihda pääsalasana" - }, - "masterPasswordChanged": { - "message": "Pääsalasana vaihdettiin" - }, - "currentMasterPass": { - "message": "Nykyinen pääsalasana" - }, - "newMasterPass": { - "message": "Uusi pääsalasana" - }, - "confirmNewMasterPass": { - "message": "Vahvista uusi pääsalasana" - }, - "encKeySettings": { - "message": "Salausavaimen asetukset" - }, - "kdfAlgorithm": { - "message": "KDF-algoritmi" - }, - "kdfIterations": { - "message": "KDF-toistot" - }, - "kdfIterationsDesc": { - "message": "Korkeampi KDF-toistojen määrä suojaa sinua raakaa laskentatehoa hyväksikäyttäviltä murtoyrityksiltä. Suosittelemme arvoksi vähintään $VALUE$.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Liian korkea KDF-toistojen määrä saattaa hidastaa kirjautumista ja holvin avausta heikkotehoisilla laitteilla. Suosittelemme toistomäärän nostoa $INCREMENT$ välein ja muutosten koekäyttöä kaikilla laitteillasi.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Vaihda KDF-asetuksia" - }, - "encKeySettingsChanged": { - "message": "Salausavaimen asetuksia muutettiin" - }, - "dangerZone": { - "message": "Vaaravyöhyke" - }, - "dangerZoneDesc": { - "message": "Ole varovainen, nämä toiminnot eivät ole peruttavissa!" - }, - "deauthorizeSessions": { - "message": "Mitätöi kaikki istunnot" - }, - "deauthorizeSessionsDesc": { - "message": "Oletko huolissasi, että tilisi on kirjautuneena muissa laitteissa? Jatka alla kirjataksesi ulos kaikki aiemmin käyttämäsi tietokoneet ja muut laitteet. Tämä turvallisuustoimenpide on suositeltava, jos olet aiemmin käyttänyt esimerkiksi julkista tietokonetta tai vahingossa tallentanut kirjautumisesi laitteeseen, joka ei ole sinun. Tämä mitätöi myös kaikki aiemmin muistetut kaksivaiheiset kirjautumiset." - }, - "deauthorizeSessionsWarning": { - "message": "Jatkamalla kirjaudut ulos nykyisestä istunnostasi ja joudut kirjautumaan uudelleen. Myös kaksivaiheinen kirjautuminen on tehtävä uudelleen. Aktiiviset istunnot toisilla laitteilla saattavat pysyä aktiivisina vielä tunnin ajan." - }, - "sessionsDeauthorized": { - "message": "Kaikki istunnot mitätöitiin" - }, - "purgeVault": { - "message": "Tyhjennä holvi" - }, - "purgedOrganizationVault": { - "message": "Organisaation holvi tyhjennettiin." - }, - "purgeVaultDesc": { - "message": "Jatka alla poistaaksesi kaikki holvisi kohteet ja kansiot. Kohteita, jotka on jaettu ja kuuluvat organisaatiolle, ei poisteta." - }, - "purgeOrgVaultDesc": { - "message": "Jatka alla poistaaksesi kaikki organisaatiosi holvissa olevat kohteet." - }, - "purgeVaultWarning": { - "message": "Tilin poisto on pysyvä toimenpide, eikä sitä ole mahdollista perua." - }, - "vaultPurged": { - "message": "Holvisi tiedot on tyhjennetty." - }, - "deleteAccount": { - "message": "Poista tili" - }, - "deleteAccountDesc": { - "message": "Jatka alla poistaaksesi tilisi ja kaikki siihen liittyvät tiedot." - }, - "deleteAccountWarning": { - "message": "Tilin poisto on pysyvä toimenpide, eikä sitä ole mahdollista perua." - }, - "accountDeleted": { - "message": "Tili poistettiin" - }, - "accountDeletedDesc": { - "message": "Tilisi on suljettu ja kaikki siihen liittyvät tiedot on poistettu." - }, - "myAccount": { - "message": "Oma tili" - }, - "tools": { - "message": "Työkalut" - }, - "importData": { - "message": "Tuo tiedot" - }, - "importSuccess": { - "message": "Tietojen tuonti holviisi onnistui." - }, - "importFormatError": { - "message": "Tietoja ei ole muotoiltu oikein. Tarkista tuotavan tiedoston muotoilu ja yritä uudelleen." - }, - "importNothingError": { - "message": "Mitään ei tuotu." - }, - "selectFormat": { - "message": "Valitse tuotavan tiedoston muoto" - }, - "selectImportFile": { - "message": "Valitse tuotava tiedosto" - }, - "orCopyPasteFileContents": { - "message": "tai kopioi ja liitä tuotavan tiedoston sisältö" - }, - "instructionsFor": { - "message": "$NAME$ -ohjeet", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Asetukset" - }, - "optionsDesc": { - "message": "Muokkaa verkkoholvisi käyttökokemusta." - }, - "optionsUpdated": { - "message": "Asetukset päivitettiin" - }, - "language": { - "message": "Kieli" - }, - "languageDesc": { - "message": "Vaihda verkkoholvissa käytettävää kieltä." - }, - "disableIcons": { - "message": "Älä näytä sivustokuvakkeita" - }, - "disableIconsDesc": { - "message": "Kirjautumistietojen vieressä näytettävät sivustojen kuvakkeet helpottavat kohteiden tunnistusta." - }, - "enableGravatars": { - "message": "Käytä Gravatareja", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Käytä avatar-profiilikuvia Gravatar.com-palvelusta." - }, - "enableFullWidth": { - "message": "Käytä täyden leveyden asettelua", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Salli verkkoholvin laajentua selainikkunan koko leveydelle." - }, - "default": { - "message": "Oletus" - }, - "domainRules": { - "message": "Verkkotunnusten säännöt" - }, - "domainRulesDesc": { - "message": "Jos kirjautumistietosi ovat samat useille verkkotunnuksille, voit merkata sivustot vastaavanlaisiksi. Bitwarden on luonut sinulle valmiiksi globaaleita verkkotunnuksia." - }, - "globalEqDomains": { - "message": "Globaalit vastaavat verkkotunnukset" - }, - "customEqDomains": { - "message": "Omat vastaavat verkkotunnukset" - }, - "exclude": { - "message": "Poista sääntö käytöstä" - }, - "include": { - "message": "Ota sääntö käyttöön" - }, - "customize": { - "message": "Muokkaa sääntöä" - }, - "newCustomDomain": { - "message": "Lisää oma verkkotunnus" - }, - "newCustomDomainDesc": { - "message": "Syötä verkkotunnukset pilkulla eroteltuina. Vain \"juuritason\" verkkotunnukset sallitaan, ei aliverkkotunnuksia. Eli syötä esimerkiksi \"www.google.com\" sijasta \"google.com\". Voit myös syöttää \"androidapp://package.name\" -muotoisia osoitteita liittääksesi myös Android-sovelluksia verkkotunnuksiin." - }, - "customDomainX": { - "message": "Oma verkkotunnus $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Verkkotunnukset päivitettiin" - }, - "twoStepLogin": { - "message": "Kaksivaiheinen kirjautuminen" - }, - "twoStepLoginDesc": { - "message": "Suojaa tilisi vaatimalla sisäänkirjautumiseen toinen todennusvaihe." - }, - "twoStepLoginOrganizationDesc": { - "message": "Vaadi kaksivaiheinen kirjautuminen organisaatiosi käyttäjille määrittämällä todennusmenetelmät organisaation tasolla." - }, - "twoStepLoginRecoveryWarning": { - "message": "Kaksivaiheisen kirjautumisen käyttöönotto voi lukita sinut pysyvästi ulos Bitwaren-tililtäsi. Palautuskoodi mahdollistaa pääsyn tilillesi myös silloin, jos et voi käyttää normaaleja kaksivaiheisen kirjautumisen todennusmenetelmiäsi (esim. hävität todennuslaitteesi tai se varastetaan). Myöskään Bitwardenin tuki ei voi auttaa sinua, jos menetät pääsyn tillesi. Suosittelemme, että kirjoitat muistiin tai tulostat palautuskoodin ja pidät sen tallessa turvallisessa paikassa (esim. kassakaapissa tai pankin tallelokerossa)." - }, - "viewRecoveryCode": { - "message": "Näytä palautuskoodi" - }, - "providers": { - "message": "Todennusmenetelmät", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Ota käyttöön" - }, - "enabled": { - "message": "Käytössä" - }, - "premium": { - "message": "Premium", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Premium-jäsenyys" - }, - "premiumRequired": { - "message": "Premium vaaditaan" - }, - "premiumRequiredDesc": { - "message": "Käyttääksesi tätä toimintoa tarvitset Premium-jäsenyyden." - }, - "youHavePremiumAccess": { - "message": "Sinulla on Premium-käyttöoikeus" - }, - "alreadyPremiumFromOrg": { - "message": "Premium-toiminnot ovat jo käytettävissäsi, johtuen organisaatiosta, jonka jäsen olet." - }, - "manage": { - "message": "Hallinta" - }, - "disable": { - "message": "Poista käytöstä" - }, - "twoStepLoginProviderEnabled": { - "message": "Tämä kaksivaiheisen kirjautumisen todennusmenetelmä on käytössä tililläsi." - }, - "twoStepLoginAuthDesc": { - "message": "Syötä pääsalasana muokataksesi kaksivaiheisen kirjautumisen asetuksia." - }, - "twoStepAuthenticatorDesc": { - "message": "Seuraa näitä vaiheita ottaaksesi käyttöön kaksivaiheisen kirjautumisen todennussovelluksella:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Lataa kaksivaiheisen kirjautumisen todennussovellus" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Tarvitsetko todennussovelluksen kaksivaiheista kirjautumista varten? Lataa jokin seuraavista" - }, - "iosDevices": { - "message": "iOS-laitteet" - }, - "androidDevices": { - "message": "Android-laitteet" - }, - "windowsDevices": { - "message": "Windows-laitteet" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "Näitä sovelluksia suositellaan, mutta myös muut todennussovellukset toimivat." - }, - "twoStepAuthenticatorScanCode": { - "message": "Skannaa tämä QR-koodi todennussovelluksellasi" - }, - "key": { - "message": "Avain" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Syötä 6-numeroinen todennuskoodi todennussovelluksesta" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "Jos sinun on lisättävä tai siirrettävä todennus toiseen laitteeseen, löydät alta todennussovelluksesi tarvitseman QR-koodin (tai avaimen)." - }, - "twoStepDisableDesc": { - "message": "Haluatko varmasti poistaa kaksivaiheisen kirjautumisen todennusmenetelmän käytöstä?" - }, - "twoStepDisabled": { - "message": "Kaksivaiheisen kirjautumisen todennusmenetelmä on poistettu käytöstä." - }, - "twoFactorYubikeyAdd": { - "message": "Lisää tilillesi YubiKey-todennuslaite" - }, - "twoFactorYubikeyPlugIn": { - "message": "Kytke YubiKey-todennuslaitteesi tietokoneesi USB-porttiin." - }, - "twoFactorYubikeySelectKey": { - "message": "Valitse alta ensimmäinen tyhjä YubiKey-syöttökenttä." - }, - "twoFactorYubikeyTouchButton": { - "message": "Paina YubiKey-todennuslaitteen painiketta." - }, - "twoFactorYubikeySaveForm": { - "message": "Tallenna lomake." - }, - "twoFactorYubikeyWarning": { - "message": "Alustan rajoitusten vuoksi, YubiKey-todennuslaitteen käyttö ei ole mahdollista kaikissa Bitwarden-sovelluksissa. Sinun tulisi ottaa käyttöön eri kaksivaiheisen kirjautumisen todennusmenetelmä, jotta pääset tilillesi myös silloin kun YubiKey-laitteen käyttö ei onnistu. Tuetut alustat:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Verkkoholvi, työpöytäsovellus, CLI ja kaikki selainlaajennukset laitteessa, jossa on YubiKey-todennuslaitteen käyttöön soveltuva USB-portti." - }, - "twoFactorYubikeySupportMobile": { - "message": "Mobiilisovellukset laitteessa, jossa on NFC-ominaisuus tai YubiKey-todennuslaitteen kanssa yhteensopiva tietoliikenneportti." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "U2F $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "NFC-tuki" - }, - "twoFactorYubikeySupportsNfc": { - "message": "Jokin laitteeni tukee NFC-tekniikkaa." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "Jos jokin YubiKey-todennuslaitteesi tukee NFC-tekniikkaa (kuten YubiKey NEO), näytetään mobiililaitteissa kehote NFC:n ollessa käytettävissä." - }, - "yubikeysUpdated": { - "message": "YubiKey-todennuslaitteet päivitettiin" - }, - "disableAllKeys": { - "message": "Poista kaikki todennuslaitteet käytöstä" - }, - "twoFactorDuoDesc": { - "message": "Syötä Bitwarden-sovelluksen tiedot Duo Security -tilisi hallintapaneelista." - }, - "twoFactorDuoIntegrationKey": { - "message": "Integration Key" - }, - "twoFactorDuoSecretKey": { - "message": "Secret Key" - }, - "twoFactorDuoApiHostname": { - "message": "API hostname" - }, - "twoFactorEmailDesc": { - "message": "Seuraa näitä vaiheita ottaaksesi käyttöön kaksivaiheisen kirjautumisen todennuksen sähköpostitse:" - }, - "twoFactorEmailEnterEmail": { - "message": "Syötä sähköpostiosoite, johon haluat vastaanottaa todennuskoodit" - }, - "twoFactorEmailEnterCode": { - "message": "Syötä 6-numeroinen todennuskoodi sähköpostista" - }, - "sendEmail": { - "message": "Lähetä sähköposti" - }, - "twoFactorU2fAdd": { - "message": "Lisää tilillesi FIDO U2F -todennuslaite" - }, - "removeU2fConfirmation": { - "message": "Haluatko varmasti poistaa todennuslaitteen?" - }, - "readKey": { - "message": "Lue todennuslaite" - }, - "keyCompromised": { - "message": "Avain on vaarantunut." - }, - "twoFactorU2fGiveName": { - "message": "Anna todennuslaitteelle helposti tunnistettava nimi." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Kytke todennuslaitteesi tietokoneen USB-porttiin ja klikkaa \"Lue todennuslaite\" -painiketta." - }, - "twoFactorU2fTouchButton": { - "message": "Jos todennuslaitteessa on painike, paina sitä." - }, - "twoFactorU2fSaveForm": { - "message": "Tallenna lomake." - }, - "twoFactorU2fWarning": { - "message": "Alustan rajoitusten vuoksi, FIDO U2F -todennuslaitteen käyttö ei ole mahdollista kaikissa Bitwarden-sovelluksissa. Sinun tulisi ottaa käyttöön eri kaksivaiheisen kirjautumisen todennusmenetelmä, jotta pääset tilillesi myös silloin kun FIDO U2F -laitteen käyttö ei onnistu. Tuetut alustat:" - }, - "twoFactorU2fSupportWeb": { - "message": "Verkkoholvi ja selainlaajennukset pöytäkoneissa/kannettavissa, joissa on U2F-tekniikkaa tukeva selain (Chrome, Opera, Vivaldi tai Firefox FIDO U2F käyttöön otettuna)." - }, - "twoFactorU2fWaiting": { - "message": "Odotetaan, että painat todennuslaitteesi painiketta" - }, - "twoFactorU2fClickSave": { - "message": "Klikkaa alta \"Tallenna\" käyttääksesi tätä todennuslaitetta kaksivaiheiseen kirjautumiseen." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "Todennuslaittetta luettaessa havaittiin ongelma. Yritä uudelleen." - }, - "twoFactorRecoveryYourCode": { - "message": "Bitwardenin kaksivaiheisen kirjautumisen palautuskoodisi" - }, - "twoFactorRecoveryNoCode": { - "message": "Et ole vielä ottanut käyttöön kaksivaiheisen kirjautumisen todennusmenetelmiä. Otettuasi todennusmenetelmän käyttöön, löydät palautuskoodin täältä." - }, - "printCode": { - "message": "Tulosta koodi", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Raportit" - }, - "unsecuredWebsitesReport": { - "message": "Suojaamattomat sivustot" - }, - "unsecuredWebsitesReportDesc": { - "message": "Sivustojen käyttö suojaamattoman \"http://\" -protokollan välityksellä voi olla vaarallista. Jos sivusto sitä tukee, tulisi sitä aina käyttää \"https://\" -protokollan välityksellä, jolloin yhteytesi on salattu." - }, - "unsecuredWebsitesFound": { - "message": "Löydettiin suojaamattomia verkkosivustoja" - }, - "unsecuredWebsitesFoundDesc": { - "message": "Löysimme holvistasi $COUNT$ kohdetta suojaamattomilla URI-osoitteilla. Sinun tulisi muuttaa niiden URI suojattuun \"https://\" -muotoon, jos sivusto tukee sitä.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "Holviisi tallennetuista kirjautumistiedoista ei löydetty suojaamattomia URI-osoitteita." - }, - "inactive2faReport": { - "message": "Tunnusten 2FA tila" - }, - "inactive2faReportDesc": { - "message": "Kaksivaiheinen kirjautuminen (2FA) on tärkeä suojausasetus, joka auttaa käyttäjätiliesi suojauksessa. Jos sivusto tarjoaa mahdollisuuden kaksivaiheisen kirjautmisen käyttöön, sinun tulisi aina ottaa se käyttöön." - }, - "inactive2faFound": { - "message": "Löydettiin tunnuksia ilman kaksivaiheista kirjautumista" - }, - "inactive2faFoundDesc": { - "message": "Löysimme holvistasi $COUNT$ sivustoa, joita ei ehkä ole määritetty käyttämään kaksivaiheista kirjautumista (2fa.directory-sivuston mukaan). Suojataksesi nämä tilit paremmin, sinun tulisi ottaa kaksivaiheinen kirjautuminen käyttöön.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "Holvistasi ei löytynyt sivustoja, joille ei ole määritetty kaksivaiheista kirjautumista." - }, - "instructions": { - "message": "Ohjeet" - }, - "exposedPasswordsReport": { - "message": "Paljastuneet salasanat" - }, - "exposedPasswordsReportDesc": { - "message": "Paljastuneet salasanat ovat salasanoja, jotka on paljastettu julkaistujen tietovuotojen yhteydessä tai joita hakkerit ovat myyneet pimeässä verkossa (dark web)." - }, - "exposedPasswordsFound": { - "message": "Löydettiin paljastuneita salasanoja" - }, - "exposedPasswordsFoundDesc": { - "message": "Löysimme holvistasi $COUNT$ kohdetta, jotka sisältävät tunnetuissa tietovuodoissa paljastuneita salasanoja. Näiden palveluiden salasanat tulisi vaihtaa.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "Holviisi tallennetuista kirjautumistiedoista ei löydetty tunnetuissa tietovuodoissa paljastuneita salasanoja." - }, - "checkExposedPasswords": { - "message": "Tarkasta paljastuneet salasanat" - }, - "exposedXTimes": { - "message": "Paljastunut $COUNT$ kertaa", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Heikot salasanat" - }, - "weakPasswordsReportDesc": { - "message": "Heikot salasanat ovat hakkereiden ja automaattisten salasanojen murtotyökalujen helposti arvattavissa. Bitwardenin salasanageneraattori auttaa sinua luomaan vahvoja salasanoja." - }, - "weakPasswordsFound": { - "message": "Löydettiin heikkoja salasanoja" - }, - "weakPasswordsFoundDesc": { - "message": "Löysimme holvistasi $COUNT$ kohdetta, joiden salasanat eivät ole vahvoja. Nämä tulisi korvata vahvemmilla salasanoilla.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "Holviisi tallennetuista kirjautumistiedoista ei löydetty heikkoja salasanoja." - }, - "reusedPasswordsReport": { - "message": "Toistuvat salasanat" - }, - "reusedPasswordsReportDesc": { - "message": "Jos käyttämäsi palvelu on vaarantunut, saman salasanan toistuva käyttö muualla voi mahdollistaa hakkereiden pääsyn myös muille käyttäjätileillesi. Jokaiselle tilille ja palvelulle tulisi käyttää yksilöllisiä salasanoja." - }, - "reusedPasswordsFound": { - "message": "Löydettiin toistuvia salasanoja" - }, - "reusedPasswordsFoundDesc": { - "message": "Löysimme holvistasi $COUNT$ toistuvasti käytettyä salasanaa. Ne tulisi vaihtaa yksilöllisiksi.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "Holvissasi ei ole toistuvasti käytettyjä salasanoja." - }, - "reusedXTimes": { - "message": "Käytetty toistuvasti $COUNT$ kertaa", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Tietovuodot" - }, - "breachDesc": { - "message": "\"Tietovuoto\" tai \"tietomurto\" on tilanne, jossa hakkerit ovat laittomasti päässeet käsiksi sivuston suojattuihin tietoihin ja julkaisseet ne tämän jälkeen julkisesti. Tarkista vaarantuneet tiedot (sähköpostiosoitteet, salasanat, maksukortit jne.) ja tee asianmukaiset toimet, kuten salasanan vaihdokset." - }, - "breachCheckUsernameEmail": { - "message": "Tarkista kaikki käyttämäsi käyttäjätunnukset tai sähköpostiosoitteet." - }, - "checkBreaches": { - "message": "Tarkasta tietovuodot" - }, - "breachUsernameNotFound": { - "message": "Käyttäjätunnusta $USERNAME$ ei löytynyt yhdestäkään tunnetusta tietovuodosta.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Hyviä uutisia", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "Käyttäjätunnus $USERNAME$ löytyi $COUNT$ tapahtuneesta tietovuodosta.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Löydettiin vuotaneita kirjautumistietoja" - }, - "compromisedData": { - "message": "Vaarantuneet tiedot" - }, - "website": { - "message": "Verkkosivusto" - }, - "affectedUsers": { - "message": "Koskee käyttäjiä" - }, - "breachOccurred": { - "message": "Tietovuoto tapahtui" - }, - "breachReported": { - "message": "Tietovuoto paljastui" - }, - "reportError": { - "message": "Raporttia ladatessa tapahtui virhe. Yritä uudelleen" - }, - "billing": { - "message": "Laskutus" - }, - "accountCredit": { - "message": "Tilin saldo", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Tilin saldo", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Lisää saldoa", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Summa", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Lisätty saldo näkyy tililläsi kun maksu on käsitelty loppuun. Joissakin maksutavoissa on viivettä ja niiden käsittely saattaa kestää kauemmin muita maksutapoja pidempään." - }, - "makeSureEnoughCredit": { - "message": "Varmista, että tililläsi on riittävästi saldoa tälle ostolle. Jos tililläsi ei ole tarpeeksi saldoa, voidaan erotus veloittaa tallennettua oletusmaksutapaa käyttäen. Voit lisätä tilillesi saldoa \"Laskutus\" -sivulta." - }, - "creditAppliedDesc": { - "message": "Tilisi saldoa voidaan käyttää ostoksiin. Kaikki käytettävissä oleva saldo kohdistetaan automaattisesti tälle tilille luotuihin laskuihin." - }, - "goPremium": { - "message": "Päivitä Premiumiin", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "Olet päivittänyt Premiumiin" - }, - "premiumUpgradeUnlockFeatures": { - "message": "Päivitä tilisi Premium-jäsenyyteen ja avaa joitakin hienoja lisätoimintoja." - }, - "premiumSignUpStorage": { - "message": "1 Gt salattua tallennustilaa tiedostoliitteille." - }, - "premiumSignUpTwoStep": { - "message": "Muita kaksivaiheisen kirjautumisen todennusmenetelmiä kuten YubiKey, FIDO U2F ja Duo Security." - }, - "premiumSignUpReports": { - "message": "Salasanahygienian, tilin terveyden ja tietovuotojen raportointitoiminnot pitävät holvisi turvassa." - }, - "premiumSignUpTotp": { - "message": "Kaksivaiheisen kirjautumisen (2FA) TOTP-todennuskoodien generaattori holvisi kirjautumistiedoille." - }, - "premiumSignUpSupport": { - "message": "Ensisijainen asiakastuki." - }, - "premiumSignUpFuture": { - "message": "Kaikki tulossa olevat Premium-toiminnot. Lisää tulossa pian!" - }, - "premiumPrice": { - "message": "Kaikki tämä vain $PRICE$/vuosi!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Lisäykset" - }, - "premiumAccess": { - "message": "Premium-käyttöoikeus" - }, - "premiumAccessDesc": { - "message": "Voit lisätä Premium-käyttöoikeuden kaikille organisaatiosi jäsenille $PRICE$/$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Lisättävä tallennustila, Gt" - }, - "additionalStorageGbDesc": { - "message": "# vapaana olevista gigatavuista" - }, - "additionalStorageIntervalDesc": { - "message": "Tilaukseesi sisältyy $SIZE$ salattua tallennustilaa. Voit saada lisätilaa $PRICE$ per Gt/$INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Yhteenveto" - }, - "total": { - "message": "Yhteensä" - }, - "year": { - "message": "vuosi" - }, - "month": { - "message": "kuukausi" - }, - "monthAbbr": { - "message": "kk", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Maksutapaasi veloitetaan välittömästi ja jatkossa kerran vuodessa. Voit peruuttaa tilauksen milloin tahansa." - }, - "paymentCharged": { - "message": "Maksutapaasi veloitetaan välittömästi ja jatkossa joka $INTERVAL$. Voit peruuttaa tilauksen milloin tahansa.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Tilauksesi sisältää ilmaisen 7 päivän kokeilujakson. Maksutapaasi ei veloiteta ennen kokeilujakson päättymistä. Jatkossa veloitus tapahtuu joka $INTERVAL$. Voit peruuttaa tilauksen milloin tahansa.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Maksutiedot" - }, - "billingInformation": { - "message": "Laskutustiedot" - }, - "creditCard": { - "message": "Maksukortti" - }, - "paypalClickSubmit": { - "message": "Klikkaa PayPal-painiketta kirjautuaksesi PayPal-tilillesi ja sen jälkeen alta \"Jatka\"." - }, - "cancelSubscription": { - "message": "Peruuta tilaus" - }, - "subscriptionCanceled": { - "message": "Tilaus on peruttu." - }, - "pendingCancellation": { - "message": "Odottaa peruutusta" - }, - "subscriptionPendingCanceled": { - "message": "Tilaus on merkitty päättyväksi kuluvan laskutuskauden lopussa." - }, - "reinstateSubscription": { - "message": "Plauta tilaus voimaan" - }, - "reinstateConfirmation": { - "message": "Haluatko varmasti poistaa odottavan peruutuspyynnön ja pitää tilauksesi voimassa?" - }, - "reinstated": { - "message": "Tilauksesi on palautettu voimaan." - }, - "cancelConfirmation": { - "message": "Haluatko varmasti peruuttaa tilauksen? Menetät pääsyn kaikkiin tilauksen tarjoamiin ominaisuuksiin kuluvan laskutuskauden lopussa." - }, - "canceledSubscription": { - "message": "Tilaus on peruttu." - }, - "neverExpires": { - "message": "Ei eräänny koskaan" - }, - "status": { - "message": "Tila" - }, - "nextCharge": { - "message": "Seuraava veloitus" - }, - "details": { - "message": "Tiedot" - }, - "downloadLicense": { - "message": "Lataa lisenssi" - }, - "updateLicense": { - "message": "Päivitä lisenssi" - }, - "updatedLicense": { - "message": "Lisenssi päivitettiin" - }, - "manageSubscription": { - "message": "Hallitse tilausta" - }, - "storage": { - "message": "Tallennustila" - }, - "addStorage": { - "message": "Kasvata tallennustilaa" - }, - "removeStorage": { - "message": "Pienennä tallennustilaa" - }, - "subscriptionStorage": { - "message": "Tilaukseesi sisältyy $MAX_STORAGE$ Gt salattua tallennustilaa, josta $USED_STORAGE$ on tällä hetkellä käytössä.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Maksutapa" - }, - "noPaymentMethod": { - "message": "Maksutapoja ei ole tallennettu." - }, - "addPaymentMethod": { - "message": "Lisää maksutapa" - }, - "changePaymentMethod": { - "message": "Vaihda maksutapaa" - }, - "invoices": { - "message": "Laskut" - }, - "noInvoices": { - "message": "Laskuja ei ole." - }, - "paid": { - "message": "Maksettu", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Ei maksettu", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Tapahtumat", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "Tapahtumia ei ole." - }, - "chargeNoun": { - "message": "Veloitus", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Hyvitys", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Mahdolliset kulut näkyvät tiliotteessasi nimellä $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "Lisättävä tallennustila, Gt" - }, - "gbStorageRemove": { - "message": "Poistettava tallennustila, Gt" - }, - "storageAddNote": { - "message": "Tallennuskapasiteetin lisäys muuttaa kokonaislaskutustasi ja korotus veloitetaan tilillesi tallennetulta maksutavalta välittömästi. Ensimmäinen veloitus sovitetaan tämänhetkisen laskutusjaksosi jäljellä olevalle ajalle." - }, - "storageRemoveNote": { - "message": "Tallennuskapasiteetin vähennys muuttaa kokonaislaskutustasi ja tämä huomioidaan seuraavan veloituksen yhteydessä." - }, - "adjustedStorage": { - "message": "Tallennustilaa muutettiin $AMOUNT$ Gt.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Ota yhteyttä asiakaspalveluun" - }, - "updatedPaymentMethod": { - "message": "Maksutapa päivitettiin." - }, - "purchasePremium": { - "message": "Osta Premium" - }, - "licenseFile": { - "message": "Lisenssitiedosto" - }, - "licenseFileDesc": { - "message": "Lisenssitiedostosi nimeksi tulee $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "Päivittääksesi tilisi Premium-jäsenyyteen, on sinun ladattava voimassa oleva lisenssitiedosto." - }, - "uploadLicenseFileOrg": { - "message": "Luodaksesi omassa palvelinympäristössäsi isännöitävän organisaation, on sinun ladattava voimassa oleva lisenssitiedosto." - }, - "accountEmailMustBeVerified": { - "message": "Tilisi sähköpostiosoite tulee vahvistaa." - }, - "newOrganizationDesc": { - "message": "Organisaatioiden avulla voit jakaa osia holvisi sisällöstä muiden kanssa sekä hallita yhteisöihin kuuluvia käyttäjiä kuten perhettä, pientä tiimiä tai suurta yritystä." - }, - "generalInformation": { - "message": "Yleiset tiedot" - }, - "organizationName": { - "message": "Organisaation nimi" - }, - "accountOwnedBusiness": { - "message": "Tämän tilin omistaa yritys." - }, - "billingEmail": { - "message": "Laskutuksen sähköpostiosoite" - }, - "businessName": { - "message": "Yrityksen nimi" - }, - "chooseYourPlan": { - "message": "Valitse tilaustyyppi" - }, - "users": { - "message": "Käyttäjät" - }, - "userSeats": { - "message": "Käyttäjäpaikat" - }, - "additionalUserSeats": { - "message": "Lisättävät käyttäjäpaikat" - }, - "userSeatsDesc": { - "message": "# käyttäjäpaikkaa" - }, - "userSeatsAdditionalDesc": { - "message": "Tilaukseesi kuuluu $BASE_SEATS$ käyttäjäpaikkaa. Voit lisätä käyttäjäpaikkoja hintaan $SEAT_PRICE$ per käyttäjä/kuukausi.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "Kuinka monta käyttäjäpaikkaa tarvitset? Voit myös hankkia paikkoja tarvittaessa lisää myöhemmin." - }, - "planNameFree": { - "message": "Ilmainen", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "Koekäyttöön tai yksityiseen käyttöön jaettavaksi $COUNT$ käyttäjän kanssa.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Perheet" - }, - "planDescFamilies": { - "message": "Henkilökohtaiseen käyttöön, jaettavaksi perheen ja ystävien kanssa." - }, - "planNameTeams": { - "message": "Tiimit" - }, - "planDescTeams": { - "message": "Yrityksille ja muille yhteisöille." - }, - "planNameEnterprise": { - "message": "Yritykset" - }, - "planDescEnterprise": { - "message": "Yrityksille ja muille suurille organisaatioille." - }, - "freeForever": { - "message": "Ilmainen ikuisesti" - }, - "includesXUsers": { - "message": "sisältää $COUNT$ käyttäjää", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Lisättävät käyttäjät" - }, - "costPerUser": { - "message": "$COST$ per käyttäjä", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Rajoitettu $COUNT$ käyttäjään (sinut mukaanlukien)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Rajoitettu $COUNT$ kokoelmaan", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Lisää ja jaa enintään $COUNT$ käyttäjän kanssa", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Lisää ja jaa rajattoman käyttäjämäärän kanssa" - }, - "createUnlimitedCollections": { - "message": "Luo rajattomasti kokoelmia" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ salattua tallennustilaa", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "Suoritus omassa palvelinympäristössä (valinnainen)" - }, - "usersGetPremium": { - "message": "Käyttäjät saavat käyttöoikeuden Premium-toimintoihin" - }, - "controlAccessWithGroups": { - "message": "Hallitse käyttäjien oikeuksia ryhmillä" - }, - "syncUsersFromDirectory": { - "message": "Synkronoi käyttäjät ja ryhmät käyttäjähakemistosta" - }, - "trackAuditLogs": { - "message": "Seuraa käyttäjien toimia auditointilokeilla" - }, - "enforce2faDuo": { - "message": "Pakota kaksivaiheinen kirjautuminen Duo Securityn kautta" - }, - "priorityCustomerSupport": { - "message": "Ensisijainen asiakastuki" - }, - "xDayFreeTrial": { - "message": "$COUNT$ päivän ilmainen kokeilujakso, peruuta milloin tahansa", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Kuukausittainen" - }, - "annually": { - "message": "Vuosittainen" - }, - "basePrice": { - "message": "Perushinta" - }, - "organizationCreated": { - "message": "Organisaatio luotiin" - }, - "organizationReadyToGo": { - "message": "Uusi organisaatiosi on valmis käyttöön!" - }, - "organizationUpgraded": { - "message": "Organisaatiosi päivitettiin." - }, - "leave": { - "message": "Poistu" - }, - "leaveOrganizationConfirmation": { - "message": "Haluatko varmasti poistua tästä organisaatiosta?" - }, - "leftOrganization": { - "message": "Olet poistunut organisaatiosta." - }, - "defaultCollection": { - "message": "Oletuskokoelma" - }, - "getHelp": { - "message": "Hanki apua" - }, - "getApps": { - "message": "Hanki sovellukset" - }, - "loggedInAs": { - "message": "Kirjautuneena käyttäjänä" - }, - "eventLogs": { - "message": "Tapahtumalokit" - }, - "people": { - "message": "Ihmiset" - }, - "policies": { - "message": "Käytännöt" - }, - "editPolicy": { - "message": "Muokkaa käytäntöä" - }, - "groups": { - "message": "Ryhmät" - }, - "newGroup": { - "message": "Uusi ryhmä" - }, - "addGroup": { - "message": "Lisää ryhmä" - }, - "editGroup": { - "message": "Muokkaa ryhmää" - }, - "deleteGroupConfirmation": { - "message": "Haluatko varmasti poistaa ryhmän?" - }, - "removeUserConfirmation": { - "message": "Haluatko varmasti poistaa käyttäjän?" - }, - "externalId": { - "message": "Ulkoinen ID" - }, - "externalIdDesc": { - "message": "Ulkoista ID-tunnusta voidaan käyttää viitteenä tai linkittää tämä resurssi ulkoiseen järjestelmään, kuten käyttäjähakemistoon." - }, - "accessControl": { - "message": "Käyttöoikeuden laajuus" - }, - "groupAccessAllItems": { - "message": "Tällä ryhmällä on käyttö- ja muokkausoikeus kaikkiin kohteisiin." - }, - "groupAccessSelectedCollections": { - "message": "Tällä ryhmällä on käyttöoikeus vain valittuihin kokoelmiin." - }, - "readOnly": { - "message": "Vain luku" - }, - "newCollection": { - "message": "Uusi kokoelma" - }, - "addCollection": { - "message": "Lisää kokoelma" - }, - "editCollection": { - "message": "Muokkaa kokoelmaa" - }, - "deleteCollectionConfirmation": { - "message": "Haluatko varmasti poistaa kokoelman?" - }, - "editUser": { - "message": "Muokkaa käyttäjää" - }, - "inviteUser": { - "message": "Kutsu käyttäjä" - }, - "inviteUserDesc": { - "message": "Kutsu organisaatioosi uusi käyttäjä syöttämällä alle heidän Bitwarden-tilinsä sähköpostiosoite. Jos heillä ei vielä ole Bitwarden-tiliä, heitä pyydetään uomaan uusi tili." - }, - "inviteMultipleEmailDesc": { - "message": "Voit kutsua korkeintaan $COUNT$ käyttäjää kerrallaan, erottelemalla listan sähköpostiosoitteista pilkuilla.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "Käyttäjä on ottanut kaksivaiheisen kirjautumisen käyttöön tilinsä suojaamiseksi." - }, - "userAccessAllItems": { - "message": "Tällä käyttäjällä on käyttö- ja muokkausoikeus kaikkiin kohteisiin." - }, - "userAccessSelectedCollections": { - "message": "Tällä käyttäjällä on käyttöoikeus vain valittuihin kokoelmiin." - }, - "search": { - "message": "Hae" - }, - "invited": { - "message": "Kutsuttu" - }, - "accepted": { - "message": "Hyväksytty" - }, - "confirmed": { - "message": "Vahvistettu" - }, - "owner": { - "message": "Omistaja" - }, - "ownerDesc": { - "message": "Korkeimman käyttöoikeustason käyttäjä, jolla on käyttö- ja hallintaoikeus koko organisaatioosi." - }, - "admin": { - "message": "Järjestelmänvalvoja" - }, - "adminDesc": { - "message": "Järjestelmänvalvojilla on käyttö- ja hallintaoikeus kaikkiin organisaatiosi kohteisiin, kokoelmiin ja käyttäjiin." - }, - "user": { - "message": "Käyttäjä" - }, - "userDesc": { - "message": "Tavallinen käyttäjä, jolla on käyttöoikeus valittuihin organisaatiosi kokoelmiin." - }, - "manager": { - "message": "Ylläpitäjä" - }, - "managerDesc": { - "message": "Ylläpitäjillä on käyttö- ja hallintaoikeus valittuihin organisaatiosi kokoelmiin." - }, - "all": { - "message": "Kaikki" - }, - "refresh": { - "message": "Päivitä" - }, - "timestamp": { - "message": "Aikaleima" - }, - "event": { - "message": "Tapahtuma" - }, - "unknown": { - "message": "Tuntematon" - }, - "loadMore": { - "message": "Lataa lisää" - }, - "mobile": { - "message": "Mobiili", - "description": "Mobile app" - }, - "extension": { - "message": "Laajennus", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Työpöytä", - "description": "Desktop app" - }, - "webVault": { - "message": "Verkkoholvi" - }, - "loggedIn": { - "message": "Kirjauduttu sisään." - }, - "changedPassword": { - "message": "Tilin salasana vaihdettiin." - }, - "enabledUpdated2fa": { - "message": "Kaksivaiheinen kirjautuminen on otettu käyttöön/päivitetty." - }, - "disabled2fa": { - "message": "Kaksivaiheinen kirjautuminen on poistettu käytöstä." - }, - "recovered2fa": { - "message": "Tili on vapautettu kaksivaiheisesta kirjautumisesta." - }, - "failedLogin": { - "message": "Sisäänkirjautumisyritys epäonnistui väärän salasanan vuoksi." - }, - "failedLogin2fa": { - "message": "Kirjautuminen epäonnistui virheellisen kaksivaiheisen kirjautumisen todennuksen vuoksi." - }, - "exportedVault": { - "message": "Holvi vietiin." - }, - "exportedOrganizationVault": { - "message": "Organisaation holvi vietiin." - }, - "editedOrgSettings": { - "message": "Muokattiin organisaation asetuksia." - }, - "createdItemId": { - "message": "Luotiin kohde $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Muokattiin kohdetta $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Sirrettiin kohde $ID$ roskakoriin.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Kohde $ID$ jaettiin.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Tarkasteltiin kohdetta $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Tarkasteltiin kohteen $ID$ salasanaa.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Tarkasteltiin kohteen $ID$ piilotettua kenttää.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Tarkasteltiin kohteen $ID$ turvakoodia.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Kohteen $ID$ salasana kopioitiin.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Kohteen $ID$ piilotettu kenttä kopioitiin.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Kohteen $ID$ turvakoodi kopioitiin.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Täytettiin kohde $ID$ automaattisesti.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Luotiin kokoelma $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Muokattiin kokoelmaa $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Poistettiin kokoelma $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Muokattiin käytäntöä $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Luotiin ryhmä $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Muokattiin ryhmää $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Poistettiin ryhmä $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Poistettiin käyttäjä $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Luotiin tiedostoliite kohteelle $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Poistettiin kohteen $ID$ tiedostoliite.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Muokattiin kohteen $ID$ kokoelmia.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Kutsuttiin käyttäjä $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Vahvistettiin käyttäjä $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Muokattiin käyttäjää $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Muokattiin käyttäjän $ID$ ryhmiä.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Laite" - }, - "view": { - "message": "Näytä" - }, - "invalidDateRange": { - "message": "Virheellinen aikaväli." - }, - "errorOccurred": { - "message": "Tapahtui virhe." - }, - "userAccess": { - "message": "Käyttäjän käyttöoikeus" - }, - "userType": { - "message": "Käyttäjän tyyppi" - }, - "groupAccess": { - "message": "Ryhmän käyttöoikeudet" - }, - "groupAccessUserDesc": { - "message": "Muokkaa ryhmiä, joihin tämä käyttäjä kuuluu." - }, - "invitedUsers": { - "message": "Kutsutut käyttäjät." - }, - "resendInvitation": { - "message": "Lähetä kutsu uudelleen" - }, - "hasBeenReinvited": { - "message": "$USER$ on kutsuttu uudelleen.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Vahvista" - }, - "confirmUser": { - "message": "Vahvista käyttäjä" - }, - "hasBeenConfirmed": { - "message": "$USER$ on vahvistettu.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Vahvista käyttäjät" - }, - "usersNeedConfirmed": { - "message": "Sinulla on käyttäjiä, jotka ovat hyväksyneet kutsunsa, mutta heidän liittymisensä tulee vielä vahvistaa. Käyttäjillä ei ole organisaation käyttöoikeutta ennen vahvistusta." - }, - "startDate": { - "message": "Aloituspäivä" - }, - "endDate": { - "message": "Päättymispäivä" - }, - "verifyEmail": { - "message": "Vahvista sähköpostiosoite" - }, - "verifyEmailDesc": { - "message": "Vahvista käyttäjätilisi sähköpostiosoite käyttääksesi kaikkia ominaisuuksia." - }, - "verifyEmailFirst": { - "message": "Tilisi sähköpostiosoite tulee ensin vahvistaa." - }, - "checkInboxForVerification": { - "message": "Tarkasta, onko vahvistuslinkki sähköpostissasi." - }, - "emailVerified": { - "message": "Sähköpostiosoitteesi on vahvistettu." - }, - "emailVerifiedFailed": { - "message": "Sähköpostiosoitteesi vahvistus ei onnistunut. Yritä lähettää uusi vahvistussähköposti." - }, - "updateBrowser": { - "message": "Päivitä selain" - }, - "updateBrowserDesc": { - "message": "Käytät selainta, jota ei tueta. Verkkoholvi ei välttämättä toimi oikein." - }, - "joinOrganization": { - "message": "Liity organisaatioon" - }, - "joinOrganizationDesc": { - "message": "Sinut on kutsuttu liittymään yllä mainittuun organisaatioon. Hyväksyäksesi kutsun, sinun tulee kirjautua tilillesi tai luoda uusi Bitwarden tili." - }, - "inviteAccepted": { - "message": "Kutsu hyväksyttiin" - }, - "inviteAcceptedDesc": { - "message": "Saat käyttöoikeuden organisaation järjestelmänvalvojan vahvistettua jäsentyytesi. Saat vahvistuksesta ilmoituksen sähköpostitse." - }, - "inviteAcceptFailed": { - "message": "Kutsun hyväksyntä ei onnistu. Pyydä organisaation järjestelmänvalvojaa lähettämään uusi kutsu." - }, - "inviteAcceptFailedShort": { - "message": "Kutsun hyväksyntä ei onnistunut. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Muista sähköposti" - }, - "recoverAccountTwoStepDesc": { - "message": "Jos et pääse tilillesi käyttämilläsi kaksivaiheisen kirjautumisen todennusmenetelmillä, voit kaksivaiheisen kirjautumisen palautuskoodia käyttäen kytkeä kaikki tilillesi määritetyt todennusmenetelmät pois käytöstä." - }, - "recoverAccountTwoStep": { - "message": "Vapauta tilin kaksivaiheinen kirjautuminen" - }, - "twoStepRecoverDisabled": { - "message": "Kaksivaiheinen kirjautuminen on poistettu käytöstä tililtäsi." - }, - "learnMore": { - "message": "Lue lisää" - }, - "deleteRecoverDesc": { - "message": "Kirjoita sähköpostiosoitteesi alle palauttaaksesi ja poistaaksesi tilisi." - }, - "deleteRecoverEmailSent": { - "message": "Jos tilisi on olemassa, olemme lähettäneet sinulle lisäohjeita sähköpostitse." - }, - "deleteRecoverConfirmDesc": { - "message": "Olet pyytänyt Bitwarden-tilisi poistoa. Paina alla olevaa painiketta vahvistaaksesi." - }, - "myOrganization": { - "message": "Oma organisaatio" - }, - "deleteOrganization": { - "message": "Poista organisaatio" - }, - "deleteOrganizationDesc": { - "message": "Jatka alla poistaaksesi organisaation ja kaikki siihen liittyvät tiedot. Yksittäiset käyttäjätilit säilyvät, mutta ne eivät ole enää kytköksissä tähän organisaatioon." - }, - "deleteOrganizationWarning": { - "message": "Tilin poisto on pysyvä toimenpide, eikä sitä ole mahdollista perua." - }, - "organizationDeleted": { - "message": "Organisaatio poistettiin" - }, - "organizationDeletedDesc": { - "message": "Organisaatio ja kaikki siihen liittyvät tiedot on poistettu." - }, - "organizationUpdated": { - "message": "Organisaatio päivitettiin" - }, - "taxInformation": { - "message": "Verotiedot" - }, - "taxInformationDesc": { - "message": "Yhdysvalloissa olevilta asiakkailta vaaditaan postinumero myyntiverotuksen vaatimusten vuoksi. Muiden maiden asiakkaat voivat halutessaan toimittaa verotunnistenumeron (ALV/GST) ja/tai osoitteen, joka kirjataan laskuihin." - }, - "billingPlan": { - "message": "Tilautyyppi", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Vaihda tilaustyyppiä", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Päivitä tilisi toiseen tilaustyyppiin toimittamalla alla olevat tiedot. Varmistathan, että tilillesi on lisätty toimiva maksutapa.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Ota yhteyttä asiakastukeen, jos haluat muuttaa tilaustyyppiäsi. Varmistathan, että tilillesi on lisätty toimiva maksutapa.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Lasku #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "Näytä lasku" - }, - "downloadInvoice": { - "message": "Lataa lasku" - }, - "verifyBankAccount": { - "message": "Vahvista pankkitili" - }, - "verifyBankAccountDesc": { - "message": "Olemme tehneet kaksi pientä mikrotalletusta pankkitilillesi (nämä saattavat näkyä vasta 1-2 työpäivän kuluttua). Kirjoita talletusten määrät vahvistaaksesi pankkitilin." - }, - "verifyBankAccountInitialDesc": { - "message": "Maksu tilisiirrolla on vain Yhdysvaltalaisten asiakkaiden käytettävissä ja sinun on vahvistettava pankkitilisi. Teemme kaksi pientä mikrotalletusta seuraavien 1-2 arkipäivän aikana. Syötä tallennetut määrät organisaation laskutussivulle vahvistaaksesi pankkitilin." - }, - "verifyBankAccountFailureWarning": { - "message": "Pankkitilin vahvistamatta jättäminen johtaa maksamattomaan laskuun ja tilauksesi käytöstä poistoon." - }, - "verifiedBankAccount": { - "message": "Pankkitili on vahvistettu." - }, - "bankAccount": { - "message": "Pankkitili" - }, - "amountX": { - "message": "Summa $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Reititysnumero", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Tilinumero" - }, - "accountHolderName": { - "message": "Tilin omistajan nimi" - }, - "bankAccountType": { - "message": "Tilin tyyppi" - }, - "bankAccountTypeCompany": { - "message": "Yritys tai yhteisö" - }, - "bankAccountTypeIndividual": { - "message": "Yksityinen" - }, - "enterInstallationId": { - "message": "Syötä asennuksesi ID-tunnus" - }, - "addSeats": { - "message": "Lisää käyttäjäpaikkoja", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Poista käyttäjäpaikkoja", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Tilauksesi sallii yhteensä $COUNT$ käyttäjää.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Lisättävät käyttäjäpaikat" - }, - "seatsToRemove": { - "message": "Poistettavat käyttäjäpaikat" - }, - "seatsAddNote": { - "message": "Käyttäjäpaikkojen lisäys muuttaa kokonaislaskutustasi ja korotus veloitetaan tilillesi tallennetulta maksutavalta välittömästi. Ensimmäinen veloitus sovitetaan tämänhetkisen laskutusjaksosi jäljellä olevalle ajalle." - }, - "seatsRemoveNote": { - "message": "Käyttäjäpaikkojen vähennys muuttaa kokonaislaskutustasi ja tämä huomioidaan seuraavan veloituksen yhteydessä." - }, - "adjustedSeats": { - "message": "Muutettiin $AMOUNT$ käyttäjäpaikkaa.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Avain päivitettiin" - }, - "updateKeyTitle": { - "message": "Päivitä avain" - }, - "updateEncryptionKey": { - "message": "Päivitä salausavain" - }, - "updateEncryptionKeyShortDesc": { - "message": "Käytät tällä hetkellä vanhentunutta salausjärjestelmää." - }, - "updateEncryptionKeyDesc": { - "message": "Olemme siirtyneet suurempiin salausavaimiin, jotka tarjoavat parempaa suojausta sekä uudempia toimintoja. Salausavaimesi päivitys on helppoa: syötä vain pääsalasanasi alle. Tästä päivityksestä tulee myöhemmin pakollinen." - }, - "updateEncryptionKeyWarning": { - "message": "Salausavaimesi päivityksen jälkeen, sinun tulee kirjautua ulos ja sitten takaisin sisään kaikissa Bitwarden-sovelluksissa, jotka ovat käytössäsi (esim. mobiilisovellus ja selainlaajennukset). Uudelleenkirjautumisen (joka lataa uuden salausavaimen) suorittamatta jättäminen saattaa johtaa tietojen vaurioitumiseen. Yritämme kirjata sinut ulos autmaattisesti, mutta tämä voi tapahtua vasta jonkin ajan kuluttua." - }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." - }, - "subscription": { - "message": "Tilaus" - }, - "loading": { - "message": "Ladataan" - }, - "upgrade": { - "message": "Päivitä" - }, - "upgradeOrganization": { - "message": "Päivitä organisaatio" - }, - "upgradeOrganizationDesc": { - "message": "Tämä ominaisuus ei ole käytettävissä ilmaisille organisaatioille. Vaihda maksulliseen tilaustyyppiin avataksesi enemmän ominaisuuksia." - }, - "createOrganizationStep1": { - "message": "Luo organisaatio: Vaihe 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Ennen kuin voit luoda organisaation, sinun tulee luoda ilmainen henkilökohtainen tili." - }, - "refunded": { - "message": "Hyvitetty" - }, - "nothingSelected": { - "message": "Et ole valinnut mitään." - }, - "acceptPolicies": { - "message": "Valitsemalla tämän ruudun hyväksyt seuraavat:" - }, - "acceptPoliciesError": { - "message": "Käyttöehtoja ja tietosuojakäytäntöä ei ole vahvistettu." - }, - "termsOfService": { - "message": "Käyttöehdot" - }, - "privacyPolicy": { - "message": "Tietosuojakäytäntö" - }, - "filters": { - "message": "Suodattimet" - }, - "vaultTimeout": { - "message": "Holvin aikakatkaisu" - }, - "vaultTimeoutDesc": { - "message": "Valitse milloin holvin aikakatkaisu tapahtuu ja suorita valittu toiminto." - }, - "oneMinute": { - "message": "1 minuutti" - }, - "fiveMinutes": { - "message": "5 minuuttia" - }, - "fifteenMinutes": { - "message": "15 minuuttia" - }, - "thirtyMinutes": { - "message": "30 minuuttia" - }, - "oneHour": { - "message": "1 tunti" - }, - "fourHours": { - "message": "4 tuntia" - }, - "onRefresh": { - "message": "Selaimen sivun päivityksen yhteydessä" - }, - "dateUpdated": { - "message": "Päivitetty", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Salasana päivitettiin", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "Organisaatio on poistettu käytöstä." - }, - "licenseIsExpired": { - "message": "Lisenssi on vanhentunut." - }, - "updatedUsers": { - "message": "Päivitetyt käyttäjät" - }, - "selected": { - "message": "Valittu" - }, - "ownership": { - "message": "Omistus" - }, - "whoOwnsThisItem": { - "message": "Kuka omistaa tämän kohteen?" - }, - "strong": { - "message": "Vahva", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Hyvä", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Heikko", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Erittäin heikko", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Heikko pääsalasana" - }, - "weakMasterPasswordDesc": { - "message": "Valitsemasi pääsalasana on heikko. Sinun tulisi käyttää vahvaa pääsalasanaa (tai salauslauseketta) suojataksesi Bitwarden-tilisi kunnolla. Haluatko varmasti käyttää tätä pääsalasanaa?" - }, - "rotateAccountEncKey": { - "message": "Kierrätä myös tilini salausavain" - }, - "rotateEncKeyTitle": { - "message": "Kierrätä salausavain" - }, - "rotateEncKeyConfirmation": { - "message": "Haluatko varmasti kierrättää tilisi salausavaimen?" - }, - "attachmentsNeedFix": { - "message": "Kohteella on vanhoja tiedostoliitteitä, jotka on korjattava." - }, - "attachmentFixDesc": { - "message": "Vanha tiedostoliite, joka on korjattava. Klikkaa lukeaksesi lisää." - }, - "fix": { - "message": "Korjaa", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "Holvissasi on vanhoja tiedostoliitteitä, jotka on korjattava ennen kuin voit uudistaa tilisi salausavaimen." - }, - "yourAccountsFingerprint": { - "message": "Tilisi tunnistelauseke", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "Varmistaaksesi salausavaintesi eheyden, vahvista käyttäjän tunnistelauseke ennen kuin jatkat.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Älä pyydä tunnistelausekkeen vahvistusta uudelleen", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Ilmainen", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "API-avain" - }, - "apiKeyDesc": { - "message": "API-avainta voi käyttää tunnistautumiseen Bitwardenin julkista rajapintaa vasten." - }, - "apiKeyRotateDesc": { - "message": "API-avaimen kierrättäminen mitätöi edellisen avaimen. Voit kierrättää API-avaimen, jos uskot, ettei nykyisen avaimen käyttö ole enää turvallista." - }, - "apiKeyWarning": { - "message": "API-avaimellasi on täysi käyttöoikeus organisaatioon. Avain tulee pitää turvassa." - }, - "userApiKeyDesc": { - "message": "API-avaintasi voi käyttää tunnistautumiseen Bitwardenin komentokehotteessa (CLI)." - }, - "userApiKeyWarning": { - "message": "API-avaimesi on vaihtoehtoinen todennusmekanismi. Avain tulee pitää turvassa." - }, - "oauth2ClientCredentials": { - "message": "OAuth 2.0 -asiakkaan tunnistetiedot", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "Näytä API-avain" - }, - "rotateApiKey": { - "message": "Kierrätä API-avain" - }, - "selectOneCollection": { - "message": "Valitse ainakin yksi kokoelma." - }, - "couldNotChargeCardPayInvoice": { - "message": "Emme voineet veloittaa korttiasi. Tarkasta ja maksa alla oleva maksamaton lasku, kiitos." - }, - "inAppPurchase": { - "message": "Sovelluksen sisäinen osto" - }, - "cannotPerformInAppPurchase": { - "message": "Et voi suorittaa tätä toimintoa kun käytössä oleva maksutapa on sovelluksen sisäinen osto." - }, - "manageSubscriptionFromStore": { - "message": "Sinun on hallittava tilaustasi sen kaupan kautta, jossa sovelluksen sisäinen ostos tehtiin." - }, - "minLength": { - "message": "Vähimmäispituus" - }, - "clone": { - "message": "Kloonaa" - }, - "masterPassPolicyDesc": { - "message": "Aseta pääsalasanan vahvuuden vähimmäisvaatimukset." - }, - "twoStepLoginPolicyDesc": { - "message": "Vaadi käyttäjiä ottamaan kaksivaiheinen kirjautuminen käyttöön henkilökohtaisilla tileillään." - }, - "twoStepLoginPolicyWarning": { - "message": "Organisaation jäsenet, jotka eivät ole sen omistajia tai järjestelmänvalvojia, eivätkä ole ottaneet kaksivaiheista kirjautumista käyttöön henkilökohtaisilla tileillään, poistetaan organisaatiosta ja heille ilmoitetaan muutoksesta sähköpostitse." - }, - "twoStepLoginPolicyUserWarning": { - "message": "Olet jäsenenä organisaatiossa, joka vaatii kaksivaiheisen kirjautumisen käyttöönoton käyttäjätililläsi. Jos poistat kaikki kaksivaiheisen kirjautumisen todennusmenetelmät käytöstä, sinut poistetaan automaattisesti näistä organisaatioista." - }, - "passwordGeneratorPolicyDesc": { - "message": "Aseta salasanageneraattorin määritysten vähimmäisvaatimukset." - }, - "passwordGeneratorPolicyInEffect": { - "message": "Yksi tai useampi organisaatiokäytäntö vaikuttaa generaattorisi asetuksiin." - }, - "masterPasswordPolicyInEffect": { - "message": "Yksi tai useampi organisaatiokäytäntö edellyttää, että pääsalasanasi täyttää seuraavat vaatimukset:" - }, - "policyInEffectMinComplexity": { - "message": "Monimutkaisuuden vähimmäispistemäärä on $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Vähimmäispituus on $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Sisältää yhden tai useamman ison kirjaimen" - }, - "policyInEffectLowercase": { - "message": "Sisältää yhden tai useamman pienen kirjaimen" - }, - "policyInEffectNumbers": { - "message": "Sisältää yhden tai useamman numeron" - }, - "policyInEffectSpecial": { - "message": "Sisältää yhden tai useamman seuraavista erikoismerkeistä $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Uusi pääsalasanasi ei täytä käytännön määrittämiä vaatimuksia." - }, - "minimumNumberOfWords": { - "message": "Sanojen vähimmäismäärä" - }, - "defaultType": { - "message": "Oletustyyppi" - }, - "userPreference": { - "message": "Käyttäjän asetus" - }, - "vaultTimeoutAction": { - "message": "Holvin aikakatkaisun toiminto" - }, - "vaultTimeoutActionLockDesc": { - "message": "Lukittu holvi vaatii pääsalasanan syötön sen käyttämiseksi." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "Uloskirjattu holvi vaatii uuden todennuksen sen käyttämiseksi." - }, - "lock": { - "message": "Lukitse", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Roskakori", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Hae roskakorista" - }, - "permanentlyDelete": { - "message": "Poista pysyvästi" - }, - "permanentlyDeleteSelected": { - "message": "Poista valitut pysyvästi" - }, - "permanentlyDeleteItem": { - "message": "Poista kohde pysyvästi" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Haluatko varmasti poistaa kohteen pysyvästi?" - }, - "permanentlyDeletedItem": { - "message": "Poistettiin kohde pysyvästi" - }, - "permanentlyDeletedItems": { - "message": "Poistettiin kohteet pysyvästi" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "Olet valinnut $COUNT$ kohdetta pysyvästi poistettavaksi. Haluatko varmasti poistaa ne kaikki pysyvästi?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Poistettiin kohde $ID$ pysyvästi.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Palauta" - }, - "restoreSelected": { - "message": "Palauta valitut" - }, - "restoreItem": { - "message": "Palauta kohde" - }, - "restoredItem": { - "message": "Palautettiin kohde" - }, - "restoredItems": { - "message": "Palautettiin kohteet" - }, - "restoreItemConfirmation": { - "message": "Haluatko varmasti palauttaa kohteen?" - }, - "restoreItems": { - "message": "Palauta kohteet" - }, - "restoreSelectedItemsDesc": { - "message": "Olet valinnut $COUNT$ kohdetta palautettavaksi. Haluatko varmasti palauttaa kaikki nämä kohteet?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Palautettiin kohde $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Uloskirjautuminen estää pääsyn holviisi ja vaatii ajan umpeuduttua todennuksen internet-yhteyden välityksellä. Haluatko varmasti käyttää tätä asetusta?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Aikakatkaisun toiminnon vahvistus" - }, - "hidePasswords": { - "message": "Piilota salasanat" - }, - "countryPostalCodeRequiredDesc": { - "message": "Tarvitsemme näitä tietoja ainoastaan liikevaihtoveroa ja tilinpäätöstä varten." - }, - "includeVAT": { - "message": "Sisällytä VAT/GST -tiedot (valinnainen)" - }, - "taxIdNumber": { - "message": "ALV/GST -verotus tunniste" - }, - "taxInfoUpdated": { - "message": "Verotiedot päivitettiin." - }, - "setMasterPassword": { - "message": "Aseta pääsalasana" - }, - "ssoCompleteRegistration": { - "message": "Kirjautuaksesi sisään käyttäen kertakirjautumista (SSO), suojaa holvisi pääsalasanalla." - }, - "identifier": { - "message": "Tunniste" - }, - "organizationIdentifier": { - "message": "Organisaation tunniste" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Kirjaudu sisään käyttäen organisaatiosi kertakirjautumista (SSO). Syötä organisaatiosi tunniste aloittaaksesi." - }, - "enterpriseSingleSignOn": { - "message": "Yrityksen kertakirjautuminen (SSO)" - }, - "ssoHandOff": { - "message": "Voit nyt sulkea tämän välilehden ja jatkaa laajennuksessa." - }, - "businessPortal": { - "message": "Yritysportaali", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "Kaikki \"Tiimit\" -tilauksen ominaisuudet, sekä:" - }, - "includeSsoAuthentication": { - "message": "Kertakirjautumisen (SSO) todennus SAML2.0 ja OpenID Connect -standardeilla" - }, - "includeEnterprisePolicies": { - "message": "Yrityksen käytännöt" - }, - "ssoValidationFailed": { - "message": "Kertakirjautumisen (SSO) todennus epäonnistui" - }, - "ssoIdentifierRequired": { - "message": "Organisaation tunniste vaaditaan." - }, - "unlinkSso": { - "message": "Poista kertakirjautumisen (SSO) liitos" - }, - "linkSso": { - "message": "Liitä kertakirjautumiseen (SSO)" - }, - "webPoliciesDeprecationWarning": { - "message": "Käytäntöasetukset ovat siirtyneet ja tämä sivu poistuu pian käytöstä. Klikkaa alta siirtyäksesi yritysportaalin käytäntösivua." - }, - "singleOrg": { - "message": "Yksittäinen organisaatio" - }, - "singleOrgDesc": { - "message": "Estä käyttäjiä liittymästä muihin organisaatioihin." - }, - "singleOrgBlockCreateMessage": { - "message": "Nykyisen organisaatiosi käytäntö ei salli liittymistä useampaan kuin yhteen organisaatioon. Ota yhteyttä organisaatiosi järjestelmänvalvojiin tai liity eri Bitwarden-tilin kautta." - }, - "singleOrgPolicyWarning": { - "message": "Organisaation jäsenet, jotka eivät ole omistajia tai järjestelmänvalvojia ja jotka ovat jo toisen organisaation jäseniä, poistetaan organisaatiostasi." - }, - "requireSso": { - "message": "Kertakirjautumisen (SSO) todennus" - }, - "requireSsoPolicyDesc": { - "message": "Vaadi käyttäjiä kirjautumaan sisään käyttäen yrityksen kertakirjautumista (SSO)." - }, - "prerequisite": { - "message": "Edellytys" - }, - "requireSsoPolicyReq": { - "message": "\"Yksittäinen organisaatio\" -käytäntö on otettava käyttöön ennen tämän käytännön käyttöönottoa." - }, - "requireSsoPolicyReqError": { - "message": "\"Yksittäinen organisaatio\" -käytäntö ei ole käytössä." - }, - "requireSsoExemption": { - "message": "Organisaation omistajat ja järjestelmänvalvojat on vapautettu tämän käytännön piiristä." - }, - "sendTypeFile": { - "message": "Tiedosto" - }, - "sendTypeText": { - "message": "Teksti" - }, - "createSend": { - "message": "Luo uusi Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Muokkaa Sendiä", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Luotiin Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Muokattiin Sendiä", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Poistettiin Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Poista Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Haluatko varmasti poistaa Sendin?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "Minkä tyyppinen Send tämä on?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Poistopäivä" - }, - "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Erääntymispäivä" - }, - "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Suurin käyttömäärä" - }, - "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Nykyinen käyttömäärä" - }, - "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Private notes about this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Ei käytössä" - }, - "sendLink": { - "message": "Send-linkki", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Kopioi Send-linkki", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Poista salasana" - }, - "removedPassword": { - "message": "Poistettiin salasana" - }, - "removePasswordConfirmation": { - "message": "Haluatko varmasti poistaa salasanan?" - }, - "disableThisSend": { - "message": "Disable this Send so that no one can access it.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "Kaikki Sendit" - }, - "maxAccessCountReached": { - "message": "Max access count reached" - }, - "pendingDeletion": { - "message": "Odottaa poistoa" - }, - "expired": { - "message": "Vanhentunut" - }, - "searchSends": { - "message": "Hae Sendeistä", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "Tämä Send on suojattu salasanalla. Syötä salasana alle jatkaaksesi.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Etkö tiedä salasanaa? Pyydä lähettäjältä tämän Sendin avaukseen tarvittavaa salasanaa.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "Tämä Send on oletusarvoisesti piilotettu. Voit vaihtaa sen näkyvyyttä alla olevalla painikkeella.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Lataa tiedosto" - }, - "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "Ei näytettäviä Sendejä.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Emergency Access" - }, - "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." - }, - "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" - }, - "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." - }, - "addEmergencyContact": { - "message": "Lisää hätäyhteystieto" - }, - "designatedEmergencyContacts": { - "message": "Designated as emergency contact" - }, - "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." - }, - "inviteEmergencyContact": { - "message": "Kutsu hätäyhteystieto" - }, - "editEmergencyContact": { - "message": "Muokkaa hätäyhteystietoa" - }, - "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Hätäkäyttö aloitettu" - }, - "emergencyAccessRecoveryApproved": { - "message": "Hätäkäyttö sallittu" - }, - "viewDesc": { - "message": "Voi tarkastella kaikkia holvisi kohteita." - }, - "takeover": { - "message": "Haltuunotto" - }, - "takeoverDesc": { - "message": "Voi palauttaa tilisi luomalla uuden pääsalasanan." - }, - "waitTime": { - "message": "Odotusaika" - }, - "waitTimeDesc": { - "message": "Time required before automatically granting access." - }, - "oneDay": { - "message": "1 päivä" - }, - "days": { - "message": "$DAYS$ päivää", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Kutsuttu käyttäjä." - }, - "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." - }, - "requestAccess": { - "message": "Pyydä käyttöoikeutta" - }, - "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Salli" - }, - "reject": { - "message": "Hylkää" - }, - "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Hätäkäyttö sallittu." - }, - "emergencyRejected": { - "message": "Hätäkäyttö kielletty" - }, - "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Personal Ownership" - }, - "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." - }, - "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." - }, - "modifiedPolicyId": { - "message": "Modified policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Plan price" - }, - "estimatedTax": { - "message": "Arvioitu vero" - }, - "custom": { - "message": "Mukautettu" - }, - "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." - }, - "permissions": { - "message": "Käyttöoikeudet" - }, - "accessBusinessPortal": { - "message": "Access Business Portal" - }, - "accessEventLogs": { - "message": "Access Event Logs" - }, - "accessImportExport": { - "message": "Access Import/Export" - }, - "accessReports": { - "message": "Access Reports" - }, - "manageAllCollections": { - "message": "Manage All Collections" - }, - "manageAssignedCollections": { - "message": "Manage Assigned Collections" - }, - "manageGroups": { - "message": "Hallitse ryhmiä" - }, - "managePolicies": { - "message": "Hallitse käytäntöjä" - }, - "manageSso": { - "message": "Manage SSO" - }, - "manageUsers": { - "message": "Käyttäjien hallinta" - }, - "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." - }, - "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." - }, - "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" - }, - "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/fr/messages.json b/locales/fr/messages.json deleted file mode 100644 index c7bd632c..00000000 --- a/locales/fr/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "Coffre web $APP_NAME$", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "Quel type d'élément est-ce ?" - }, - "name": { - "message": "Nom" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "Nouvelle URI" - }, - "username": { - "message": "Nom d'utilisateur" - }, - "password": { - "message": "Mot de passe" - }, - "newPassword": { - "message": "Nouveau mot de passe" - }, - "passphrase": { - "message": "Phrase de passe" - }, - "notes": { - "message": "Notes" - }, - "customFields": { - "message": "Champs personnalisés" - }, - "cardholderName": { - "message": "Nom du titulaire de la carte" - }, - "number": { - "message": "Numéro" - }, - "brand": { - "message": "Réseau de paiement" - }, - "expiration": { - "message": "Expiration" - }, - "securityCode": { - "message": "Cryptogramme visuel (CVV)" - }, - "identityName": { - "message": "Identité" - }, - "company": { - "message": "Société" - }, - "ssn": { - "message": "Numéro de sécurité sociale" - }, - "passportNumber": { - "message": "Numéro de passeport" - }, - "licenseNumber": { - "message": "Numéro de permis" - }, - "email": { - "message": "E-mail" - }, - "phone": { - "message": "Téléphone" - }, - "january": { - "message": "Janvier" - }, - "february": { - "message": "Février" - }, - "march": { - "message": "Mars" - }, - "april": { - "message": "Avril" - }, - "may": { - "message": "Mai" - }, - "june": { - "message": "Juin" - }, - "july": { - "message": "Juillet" - }, - "august": { - "message": "Août" - }, - "september": { - "message": "Septembre" - }, - "october": { - "message": "Octobre" - }, - "november": { - "message": "Novembre" - }, - "december": { - "message": "Décembre" - }, - "title": { - "message": "Titre" - }, - "mr": { - "message": "M." - }, - "mrs": { - "message": "Mme" - }, - "ms": { - "message": "Mlle" - }, - "dr": { - "message": "Dr" - }, - "expirationMonth": { - "message": "Mois d'expiration" - }, - "expirationYear": { - "message": "Année d'expiration" - }, - "authenticatorKeyTotp": { - "message": "Clé d'authentification (TOTP)" - }, - "folder": { - "message": "Dossier" - }, - "newCustomField": { - "message": "Nouveau champ personnalisé" - }, - "value": { - "message": "Valeur" - }, - "dragToSort": { - "message": "Glissez pour trier" - }, - "cfTypeText": { - "message": "Texte" - }, - "cfTypeHidden": { - "message": "Masqué" - }, - "cfTypeBoolean": { - "message": "Booléen" - }, - "remove": { - "message": "Retirer" - }, - "unassigned": { - "message": "Non attribué" - }, - "noneFolder": { - "message": "Aucun dossier", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Ajouter un dossier" - }, - "editFolder": { - "message": "Modifier le dossier" - }, - "baseDomain": { - "message": "Domaine de base" - }, - "host": { - "message": "Hôte", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Exact" - }, - "startsWith": { - "message": "Commence par" - }, - "regEx": { - "message": "Expression régulière", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Détection de correspondance", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Détection de correspondance par défaut", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Jamais" - }, - "toggleVisibility": { - "message": "Afficher/Masquer" - }, - "toggleCollapse": { - "message": "Déplier/Replier", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Générer un mot de passe" - }, - "checkPassword": { - "message": "Vérifier si le mot de passe a été exposé." - }, - "passwordExposed": { - "message": "Ce mot de passe a été exposé $VALUE$ fois dans des fuites de données. Vous devriez le changer.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "Ce mot de passe n'a été trouvé dans aucune fuite de données connue. Il semble sécurisé." - }, - "save": { - "message": "Enregistrer" - }, - "cancel": { - "message": "Annuler" - }, - "canceled": { - "message": "Annulé" - }, - "close": { - "message": "Fermer" - }, - "delete": { - "message": "Supprimer" - }, - "favorite": { - "message": "Favori" - }, - "unfavorite": { - "message": "Retirer des favoris" - }, - "edit": { - "message": "Modifier" - }, - "searchCollection": { - "message": "Rechercher dans la collection" - }, - "searchFolder": { - "message": "Rechercher dans le dossier" - }, - "searchFavorites": { - "message": "Rechercher dans les favoris" - }, - "searchType": { - "message": "Rechercher dans le type", - "description": "Search item type" - }, - "searchVault": { - "message": "Rechercher dans le coffre" - }, - "allItems": { - "message": "Tous les éléments" - }, - "favorites": { - "message": "Favoris" - }, - "types": { - "message": "Types" - }, - "typeLogin": { - "message": "Identifiant" - }, - "typeCard": { - "message": "Carte de paiement" - }, - "typeIdentity": { - "message": "Identité" - }, - "typeSecureNote": { - "message": "Note sécurisée" - }, - "folders": { - "message": "Dossiers" - }, - "collections": { - "message": "Collections" - }, - "firstName": { - "message": "Prénom" - }, - "middleName": { - "message": "Deuxième prénom" - }, - "lastName": { - "message": "Nom de famille" - }, - "address1": { - "message": "Adresse 1" - }, - "address2": { - "message": "Adresse 2" - }, - "address3": { - "message": "Adresse 3" - }, - "cityTown": { - "message": "Ville" - }, - "stateProvince": { - "message": "État / Région" - }, - "zipPostalCode": { - "message": "Code postal" - }, - "country": { - "message": "Pays" - }, - "shared": { - "message": "Partagé" - }, - "attachments": { - "message": "Pièces jointes" - }, - "select": { - "message": "Sélectionner" - }, - "addItem": { - "message": "Ajouter un élément" - }, - "editItem": { - "message": "Modifier l'élément" - }, - "viewItem": { - "message": "Afficher l'élément" - }, - "ex": { - "message": "ex.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Autre" - }, - "share": { - "message": "Partager" - }, - "valueCopied": { - "message": "$VALUE$ copié", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Copier la valeur", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Copier le mot de passe", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Copier le nom d'utilisateur", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Copier le numéro", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Copier le code de sécurité", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Copier l'URI", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "Mon coffre" - }, - "vault": { - "message": "Coffre" - }, - "shareSelected": { - "message": "Partager les éléments sélectionnés" - }, - "deleteSelected": { - "message": "Supprimer les éléments sélectionnés" - }, - "moveSelected": { - "message": "Déplacer les éléments sélectionnés" - }, - "selectAll": { - "message": "Tout sélectionner" - }, - "unselectAll": { - "message": "Tout désélectionner" - }, - "launch": { - "message": "Ouvrir" - }, - "newAttachment": { - "message": "Ajouter une nouvelle pièce jointe" - }, - "deletedAttachment": { - "message": "Pièce jointe supprimée" - }, - "deleteAttachmentConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir supprimer cette pièce jointe ?" - }, - "attachmentSaved": { - "message": "La pièce jointe a été enregistrée." - }, - "file": { - "message": "Fichier" - }, - "selectFile": { - "message": "Sélectionnez un fichier." - }, - "maxFileSize": { - "message": "La taille maximale du fichier est de 100 Mo." - }, - "updateKey": { - "message": "Vous ne pouvez pas utiliser cette fonctionnalité avant de mettre à jour votre clé de chiffrement." - }, - "addedItem": { - "message": "Élément ajouté" - }, - "editedItem": { - "message": "Élément modifié" - }, - "sharedItem": { - "message": "Élément partagé" - }, - "sharedItems": { - "message": "Éléments partagés" - }, - "deleteItem": { - "message": "Supprimer l'élément" - }, - "deleteFolder": { - "message": "Supprimer le dossier" - }, - "deleteAttachment": { - "message": "Supprimer la pièce jointe" - }, - "deleteItemConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir déplacer cet élément vers la corbeille ?" - }, - "deletedItem": { - "message": "L'élément a été envoyé dans la corbeille" - }, - "deletedItems": { - "message": "Les éléments ont été envoyés dans la corbeille" - }, - "movedItems": { - "message": "Éléments déplacés" - }, - "overwritePasswordConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir écraser le mot de passe actuel ?" - }, - "editedFolder": { - "message": "Dossier modifié" - }, - "addedFolder": { - "message": "Dossier ajouté" - }, - "deleteFolderConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir supprimer ce dossier ?" - }, - "deletedFolder": { - "message": "Dossier supprimé" - }, - "loggedOut": { - "message": "Déconnecté" - }, - "loginExpired": { - "message": "Votre session a expiré." - }, - "logOutConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir vous déconnecter ?" - }, - "logOut": { - "message": "Déconnexion" - }, - "ok": { - "message": "Ok" - }, - "yes": { - "message": "Oui" - }, - "no": { - "message": "Non" - }, - "loginOrCreateNewAccount": { - "message": "Identifiez-vous ou créez un nouveau compte pour accéder à votre coffre sécurisé." - }, - "createAccount": { - "message": "Créer un compte" - }, - "logIn": { - "message": "S'identifier" - }, - "submit": { - "message": "Soumettre" - }, - "emailAddressDesc": { - "message": "Vous utiliserez votre adresse e-mail pour vous connecter." - }, - "yourName": { - "message": "Votre nom" - }, - "yourNameDesc": { - "message": "Comment doit-on vous appeler ?" - }, - "masterPass": { - "message": "Mot de passe maître" - }, - "masterPassDesc": { - "message": "Le mot de passe maître est le mot de passe que vous utilisez pour accéder à votre coffre. Il est très important de ne pas l'oublier. Il n'existe aucun moyen de le récupérer si vous le perdez." - }, - "masterPassHintDesc": { - "message": "Un indice de mot de passe maître peut vous aider à vous rappeler de votre mot de passe en cas d'oubli." - }, - "reTypeMasterPass": { - "message": "Saisissez à nouveau le mot de passe maître" - }, - "masterPassHint": { - "message": "Indice du mot de passe maître (facultatif)" - }, - "masterPassHintLabel": { - "message": "Indice du mot de passe maître" - }, - "settings": { - "message": "Paramètres" - }, - "passwordHint": { - "message": "Indice du mot de passe" - }, - "enterEmailToGetHint": { - "message": "Saisissez l'adresse e-mail de votre compte pour recevoir l'indice de votre mot de passe maître." - }, - "getMasterPasswordHint": { - "message": "Obtenir l'indice du mot de passe maître" - }, - "emailRequired": { - "message": "L'adresse e-mail est requise." - }, - "invalidEmail": { - "message": "Adresse e-mail invalide." - }, - "masterPassRequired": { - "message": "Le mot de passe maître est requis." - }, - "masterPassLength": { - "message": "Le mot de passe maître doit au moins contenir 8 caractères." - }, - "masterPassDoesntMatch": { - "message": "La confirmation du mot de passe maître ne correspond pas." - }, - "newAccountCreated": { - "message": "Votre nouveau compte a été créé ! Vous pouvez maintenant vous authentifier." - }, - "masterPassSent": { - "message": "Nous vous avons envoyé un e-mail contenant votre indice de mot de passe maître." - }, - "unexpectedError": { - "message": "Une erreur inattendue est survenue." - }, - "emailAddress": { - "message": "Adresse e-mail" - }, - "yourVaultIsLocked": { - "message": "Votre coffre est verrouillé. Saisissez votre mot de passe maître pour continuer." - }, - "unlock": { - "message": "Déverrouiller" - }, - "loggedInAsEmailOn": { - "message": "Connecté en tant que $EMAIL$ sur $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Mot de passe maître invalide" - }, - "lockNow": { - "message": "Verrouiller maintenant" - }, - "noItemsInList": { - "message": "Aucun élément à afficher." - }, - "noCollectionsInList": { - "message": "Aucune collection à afficher." - }, - "noGroupsInList": { - "message": "Aucun groupe à afficher." - }, - "noUsersInList": { - "message": "Aucun utilisateur à afficher." - }, - "noEventsInList": { - "message": "Aucun événement à afficher." - }, - "newOrganization": { - "message": "Nouvelle organisation" - }, - "noOrganizationsList": { - "message": "Vous ne faites partie d'aucune organisation. Les organisations vous permettent de partager des éléments de façon sécurisée avec d'autres utilisateurs." - }, - "versionNumber": { - "message": "Version $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Saisissez le code de vérification à 6 chiffres depuis votre application d'authentification." - }, - "enterVerificationCodeEmail": { - "message": "Saisissez le code de vérification à 6 chiffres qui vous a été envoyé par e-mail à $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "E-mail de vérification envoyé à $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Rester connecté" - }, - "sendVerificationCodeEmailAgain": { - "message": "Envoyer à nouveau l'e-mail du code de vérification" - }, - "useAnotherTwoStepMethod": { - "message": "Utiliser une autre méthode d'identification en deux étapes" - }, - "insertYubiKey": { - "message": "Insérez votre YubiKey dans le port USB de votre ordinateur puis appuyez sur son bouton." - }, - "insertU2f": { - "message": "Insérez votre clé de sécurité dans le port USB de votre ordinateur. Si elle dispose d'un bouton, appuyez dessus." - }, - "loginUnavailable": { - "message": "Connexion impossible" - }, - "noTwoStepProviders": { - "message": "Ce compte dispose d'une authentification en deux étapes, cependant aucun de vos services d'authentification en deux étapes n'est supporté par ce navigateur web." - }, - "noTwoStepProviders2": { - "message": "Merci d'utiliser un navigateur web compatible (comme Chrome) et/ou d'ajouter des services additionnels d'identification en deux étapes qui sont mieux supportés par les navigateurs web (comme par exemple une application d'authentification)." - }, - "twoStepOptions": { - "message": "Options d'identification en deux étapes" - }, - "recoveryCodeDesc": { - "message": "Vous avez perdu l'accès à tous vos services d'authentification à deux facteurs ? Utilisez votre code de récupération pour désactiver tous les services d'authentification à deux facteurs sur votre compte." - }, - "recoveryCodeTitle": { - "message": "Code de récupération" - }, - "authenticatorAppTitle": { - "message": "Application d'authentification" - }, - "authenticatorAppDesc": { - "message": "Utiliser une application d'authentification (comme Authy ou Google Authenticator) pour générer des codes de vérification basés sur le temps.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "Clé de sécurité YubiKey OTP" - }, - "yubiKeyDesc": { - "message": "Utilisez une YubiKey pour accéder à votre compte. Fonctionne avec les YubiKey série 4, série 5 et NEO." - }, - "duoDesc": { - "message": "S'authentifier avec Duo Security via l'application Duo Mobile, un SMS, un appel téléphonique, ou une clé de sécurité U2F.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Sécurisez votre organisation avec Duo Security à l'aide de l'application Duo Mobile, l'envoi d'un SMS, un appel vocal ou une clé de sécurité U2F.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Utiliser n'importe quelle clé de sécurité FIDO U2F active pour accéder à votre compte." - }, - "u2fTitle": { - "message": "Clé de sécurité FIDO U2F" - }, - "emailTitle": { - "message": "E-mail" - }, - "emailDesc": { - "message": "Les codes de vérification vous seront envoyés par e-mail." - }, - "continue": { - "message": "Continuer" - }, - "organization": { - "message": "Organisation" - }, - "organizations": { - "message": "Organisations" - }, - "shareDesc": { - "message": "Choisissez une organisation avec laquelle vous voulez partager cet élément. Le partage transfère la propriété de l'élément à l'organisation. Vous ne serez plus le propriétaire direct de cet élément après le partage." - }, - "shareManyDesc": { - "message": "Choisissez une organisation avec laquelle vous voulez partager ces éléments. Le partage transfère la propriété des éléments à l'organisation. Vous ne serez plus le propriétaire direct de ces éléments après le partage." - }, - "collectionsDesc": { - "message": "Modifier les collections avec lesquelles cet élément est partagé. Seuls les utilisateurs de l'organisation avec un accès à ces collections pourront voir cet élément." - }, - "deleteSelectedItemsDesc": { - "message": "Vous avez sélectionné $COUNT$ élément(s) à supprimer. Êtes-vous sûr(e) de vouloir supprimer tous ces éléments ?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Choisissez le dossier vers lequel vous souhaitez déplacer les $COUNT$ élément(s) sélectionné(s).", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "Vous avez sélectionné $COUNT$ élément(s). $SHAREABLE_COUNT$ éléments sont partageables, $NONSHAREABLE_COUNT$ ne le sont pas.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Code de vérification (TOTP)" - }, - "copyVerificationCode": { - "message": "Copier le code de vérification" - }, - "warning": { - "message": "Attention" - }, - "confirmVaultExport": { - "message": "Confirmer l'export du coffre" - }, - "exportWarningDesc": { - "message": "Cet export contient les données de votre coffre dans un format non chiffré. Vous ne devriez ni le stocker ni l'envoyer via des canaux non sécurisés (tel que l'e-mail). Supprimez-le immédiatement après l'avoir utilisé." - }, - "encExportWarningDesc": { - "message": "Cet export chiffre vos données en utilisant la clé de chiffrement de votre compte. Si jamais vous modifiez la clé de chiffrement de votre compte, vous devriez exporter à nouveau car vous ne pourrez pas déchiffrer ce fichier." - }, - "exportMasterPassword": { - "message": "Saisissez votre mot de passe maître pour exporter les données de votre coffre." - }, - "exportVault": { - "message": "Exporter le coffre" - }, - "fileFormat": { - "message": "Format de fichier" - }, - "exportSuccess": { - "message": "Les données de votre coffre ont été exportées." - }, - "passwordGenerator": { - "message": "Générateur de mot de passe" - }, - "minComplexityScore": { - "message": "Score de complexité minimum" - }, - "minNumbers": { - "message": "Nombre minimum de chiffres" - }, - "minSpecial": { - "message": "Nombre minimum de caractères spéciaux", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Éviter les caractères ambigus" - }, - "regeneratePassword": { - "message": "Regénérer un mot de passe" - }, - "length": { - "message": "Longueur" - }, - "numWords": { - "message": "Nombre de mots" - }, - "wordSeparator": { - "message": "Séparateur de mots" - }, - "capitalize": { - "message": "Mettre la première lettre de chaque mot en majuscule", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Inclure un chiffre" - }, - "passwordHistory": { - "message": "Historique des mots de passe" - }, - "noPasswordsInList": { - "message": "Aucun mot de passe à afficher." - }, - "clear": { - "message": "Effacer", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Compte mis à jour" - }, - "changeEmail": { - "message": "Changer l'e-mail" - }, - "newEmail": { - "message": "Nouvel e-mail" - }, - "code": { - "message": "Code" - }, - "changeEmailDesc": { - "message": "Nous avons envoyé un code de vérification à $EMAIL$. Veuillez consulter votre boîte de réception pour trouver ce code et l'entrer ci-dessous pour finaliser votre changement d'adresse e-mail.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "En continuant vous serez déconnecté de votre session, ce qui nécessitera de vous reconnecter. Les sessions actives sur d'autres équipements peuvent continuer à rester actives pendant encore une heure." - }, - "emailChanged": { - "message": "Adresse e-mail modifiée" - }, - "logBackIn": { - "message": "Veuillez vous reconnecter." - }, - "logBackInOthersToo": { - "message": "Veuillez vous reconnecter. Si vous utilisez d'autres applications Bitwarden, déconnectez-vous puis reconnectez-vous dans ces applications également." - }, - "changeMasterPassword": { - "message": "Modifier le mot de passe maître" - }, - "masterPasswordChanged": { - "message": "Mot de passe maître modifié" - }, - "currentMasterPass": { - "message": "Mot de passe maître actuel" - }, - "newMasterPass": { - "message": "Nouveau mot de passe maître" - }, - "confirmNewMasterPass": { - "message": "Confirmer le nouveau mot de passe maître" - }, - "encKeySettings": { - "message": "Paramètres de la clé de chiffrement" - }, - "kdfAlgorithm": { - "message": "Algorithme KDF" - }, - "kdfIterations": { - "message": "Nombre d'itérations de KDF" - }, - "kdfIterationsDesc": { - "message": "Un nombre plus élevé d'itérations de KDF peut aider à protéger votre mot de passe maître contre une attaque par force brute. Nous recommandons une valeur de $VALUE$ ou plus.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Si vous définissez un nombre d'itérations KDF trop élevé, les performances risquent d'être mauvaises lorsque vous vous connectez (et déverrouillez) Bitwarden sur des périphériques dont les processeurs sont plus lents. Nous vous recommandons d'augmenter la valeur par incréments de $INCREMENT$, puis de tester tous vos appareils.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Modifier KDF" - }, - "encKeySettingsChanged": { - "message": "Paramètres de la clé de chiffrement modifiés" - }, - "dangerZone": { - "message": "Zone de danger" - }, - "dangerZoneDesc": { - "message": "Attention, ces actions ne sont pas réversibles !" - }, - "deauthorizeSessions": { - "message": "Révoquer les sessions" - }, - "deauthorizeSessionsDesc": { - "message": "Vous craignez que votre compte soit connecté sur un autre appareil ? Poursuivez ci-dessous pour révoquer tous les ordinateurs ou appareils que vous avez déjà utilisés. Cette étape de sécurité est recommandée si vous avez précédemment utilisé un ordinateur public ou enregistré accidentellement votre mot de passe sur un appareil qui n'est pas le vôtre. Cette étape effacera également toutes les sessions de connexion en deux étapes précédemment mémorisées." - }, - "deauthorizeSessionsWarning": { - "message": "Si vous continuez, vous serez également déconnecté de votre session en cours, ce qui vous nécessitera de vous reconnecter. Votre second facteur d'authentification vous sera également demandé, si cette option est activée. Les sessions actives sur d'autres appareils peuvent rester actives jusqu'à une heure." - }, - "sessionsDeauthorized": { - "message": "Toutes les sessions ont été révoquées" - }, - "purgeVault": { - "message": "Effacer le coffre" - }, - "purgedOrganizationVault": { - "message": "Le coffre de l'organisation a été effacé." - }, - "purgeVaultDesc": { - "message": "Poursuivez ci-dessous pour supprimer tous les éléments et dossiers de votre coffre. Les éléments qui appartiennent à une organisation dont vous êtes membre ne seront pas supprimés." - }, - "purgeOrgVaultDesc": { - "message": "Poursuivez ci-dessous pour supprimer tous les éléments du coffre de votre organisation." - }, - "purgeVaultWarning": { - "message": "L'effacement votre coffre est définitif. Cette action ne peut pas être annulée." - }, - "vaultPurged": { - "message": "Votre coffre a été effacé." - }, - "deleteAccount": { - "message": "Supprimer le compte" - }, - "deleteAccountDesc": { - "message": "Continuez ci-dessous pour supprimer votre compte et toutes les données associées." - }, - "deleteAccountWarning": { - "message": "La suppression de votre compte est définitive. Cette action ne peut pas être annulée." - }, - "accountDeleted": { - "message": "Compte supprimé" - }, - "accountDeletedDesc": { - "message": "Votre compte a été fermé et toutes les données associées ont été supprimées." - }, - "myAccount": { - "message": "Mon compte" - }, - "tools": { - "message": "Outils" - }, - "importData": { - "message": "Importer des données" - }, - "importSuccess": { - "message": "Les données ont été importées dans votre coffre avec succès." - }, - "importFormatError": { - "message": "Les données ne sont pas correctement mises en forme. Veuillez vérifier le fichier importé et réessayer." - }, - "importNothingError": { - "message": "Rien à importer." - }, - "selectFormat": { - "message": "Sélectionnez le format du fichier importé" - }, - "selectImportFile": { - "message": "Sélectionnez le fichier à importer" - }, - "orCopyPasteFileContents": { - "message": "ou copiez/collez le contenu du fichier à importer" - }, - "instructionsFor": { - "message": "Instructions $NAME$", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Options" - }, - "optionsDesc": { - "message": "Personnaliser l'expérience de votre coffre web." - }, - "optionsUpdated": { - "message": "Options mises à jour" - }, - "language": { - "message": "Langue" - }, - "languageDesc": { - "message": "Changer la langue utilisée par le coffre web." - }, - "disableIcons": { - "message": "Désactiver les icônes de sites web" - }, - "disableIconsDesc": { - "message": "Les icônes de sites web permettent d'avoir une icône reconnaissable à côté de chaque identifiant dans votre coffre." - }, - "enableGravatars": { - "message": "Activer Gravatar", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Charger votre image de profil depuis gravatar.com." - }, - "enableFullWidth": { - "message": "Activer la mise en page en pleine largeur", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Permettre au coffre web de s’étendre sur toute la largeur de la fenêtre du navigateur." - }, - "default": { - "message": "Par défaut" - }, - "domainRules": { - "message": "Règles de domaine" - }, - "domainRulesDesc": { - "message": "Si vous avez un même identifiant sur plusieurs noms de domaines différents, vous pouvez marquer le site web comme \"équivalent\". Des domaines \"globaux\" sont déjà créés pour vous par Bitwarden." - }, - "globalEqDomains": { - "message": "Domaines équivalents globaux" - }, - "customEqDomains": { - "message": "Domaines équivalents personnalisés" - }, - "exclude": { - "message": "Exclure" - }, - "include": { - "message": "Inclure" - }, - "customize": { - "message": "Personnaliser" - }, - "newCustomDomain": { - "message": "Nouveau domaine personnalisé" - }, - "newCustomDomainDesc": { - "message": "Entrez une liste de domaines séparés par des virgules. Seuls les domaines « de base » sont autorisés. N’entrez pas de sous-domaines. Par exemple, entrez « google.com » au lieu de « www.google.com ». Vous pouvez également entrer « androidapp://package.name » pour associer une application android avec d’autres domaines de sites web." - }, - "customDomainX": { - "message": "Domaine personnalisé $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Domaines mis à jour" - }, - "twoStepLogin": { - "message": "Identification en deux étapes" - }, - "twoStepLoginDesc": { - "message": "Sécuriser votre compte en exigeant une étape supplémentaire lors de la connexion." - }, - "twoStepLoginOrganizationDesc": { - "message": "Exigez une connexion en deux étapes pour les utilisateurs de votre organisation en configurant les services au niveau de l'organisation." - }, - "twoStepLoginRecoveryWarning": { - "message": "Activer la connexion en deux étapes peut vous empêcher définitivement d'accéder à votre compte Bitwarden. Un code de récupération vous permet d'accéder à votre compte dans le cas où vous ne pouvez plus utiliser votre service de connexion en deux étapes habituel (ex. vous perdez votre appareil). Le support Bitwarden ne pourra pas vous aider si vous perdez l'accès à votre compte. Nous vous recommandons d'écrire ou d'imprimer le code de récupération et de le conserver en lieu sûr." - }, - "viewRecoveryCode": { - "message": "Voir le code de récupération" - }, - "providers": { - "message": "Fournisseurs", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Activer" - }, - "enabled": { - "message": "Activé" - }, - "premium": { - "message": "Premium", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Adhésion Premium" - }, - "premiumRequired": { - "message": "Adhésion Premium requise" - }, - "premiumRequiredDesc": { - "message": "Une adhésion premium est requise pour utiliser cette fonctionnalité." - }, - "youHavePremiumAccess": { - "message": "Vous avez un accès premium" - }, - "alreadyPremiumFromOrg": { - "message": "Vous avez déjà accès aux fonctionnalités premium grâce à une organisation dont vous êtes membre." - }, - "manage": { - "message": "Gérer" - }, - "disable": { - "message": "Désactiver" - }, - "twoStepLoginProviderEnabled": { - "message": "Ce fournisseur de connexion en deux étapes est activé sur votre compte." - }, - "twoStepLoginAuthDesc": { - "message": "Entrez votre mot de passe principal pour modifier les paramètres de connexion en deux étapes." - }, - "twoStepAuthenticatorDesc": { - "message": "Suivez ces étapes pour configurer la connexion en deux étapes avec une application d'authentification :" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Télécharger une application d'authentification en deux étapes" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Besoin d'une application d'authentification en deux étapes ? Téléchargez l'une des applications suivantes" - }, - "iosDevices": { - "message": "Appareils iOS" - }, - "androidDevices": { - "message": "Appareils Android" - }, - "windowsDevices": { - "message": "Appareils Windows" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "Ces applications sont recommandées, mais d'autres applications d'authentification fonctionneront également." - }, - "twoStepAuthenticatorScanCode": { - "message": "Scannez ce QR code avec votre application d'authentification" - }, - "key": { - "message": "Clé" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Entrez le code de vérification à 6 chiffres fourni par l’application" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "Dans le cas où vous devez l’ajouter à un autre appareil, voici le code QR (ou clé) requis par votre application d'authentification." - }, - "twoStepDisableDesc": { - "message": "Êtes-vous sûr(e) de que vouloir désactiver ce fournisseur de connexion en deux étapes ?" - }, - "twoStepDisabled": { - "message": "Fournisseur de connexion en deux étapes désactivé." - }, - "twoFactorYubikeyAdd": { - "message": "Ajouter une nouvelle YubiKey à votre compte" - }, - "twoFactorYubikeyPlugIn": { - "message": "Branchez la YubiKey dans un port USB de votre ordinateur." - }, - "twoFactorYubikeySelectKey": { - "message": "Sélectionnez le premier champ YubiKey libre ci-dessous." - }, - "twoFactorYubikeyTouchButton": { - "message": "Appuyez sur le bouton de la YubiKey." - }, - "twoFactorYubikeySaveForm": { - "message": "Sauvegarder le contenu du formulaire." - }, - "twoFactorYubikeyWarning": { - "message": "En raison de limitations de plateforme, les YubiKeys ne sont pas utilisables sur toutes les applications Bitwarden. Vous devriez activer un autre fournisseur de connexion en deux étapes afin de pouvoir accéder à votre compte lorsque vous ne pouvez pas utiliser les YubiKeys. Plateformes prises en charge :" - }, - "twoFactorYubikeySupportUsb": { - "message": "Coffre web, application de bureau, interface ligne de commande (CLI) et toutes les extensions de navigateur sur un appareil doté d'un port USB pouvant accepter votre YubiKey." - }, - "twoFactorYubikeySupportMobile": { - "message": "Applications mobiles sur un appareil avec NFC ou un port USB pouvant accepter votre YubiKey." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "Clé U2F $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "Support du NFC" - }, - "twoFactorYubikeySupportsNfc": { - "message": "Une de mes clés supporte le NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "Si une de vos YubiKeys supporte le NFC (comme la YubiKey NEO), vous serez averti sur les appareils mobiles en cas de disponibilité du NFC." - }, - "yubikeysUpdated": { - "message": "Les YubiKeys ont été mises à jour" - }, - "disableAllKeys": { - "message": "Désactiver toutes les clés" - }, - "twoFactorDuoDesc": { - "message": "Entrez les informations de l'application Bitwarden provenant de votre panneau Duo Admin." - }, - "twoFactorDuoIntegrationKey": { - "message": "Clé d'intégration" - }, - "twoFactorDuoSecretKey": { - "message": "Clé secrète" - }, - "twoFactorDuoApiHostname": { - "message": "Nom d'hôte de l'API" - }, - "twoFactorEmailDesc": { - "message": "Suivez ces étapes pour mettre en place la connexion en deux étapes avec e-mail :" - }, - "twoFactorEmailEnterEmail": { - "message": "Entrez l'e-mail où vous souhaitez recevoir les codes de vérification" - }, - "twoFactorEmailEnterCode": { - "message": "Entrez le code de vérification à 6 chiffres reçu par e-mail" - }, - "sendEmail": { - "message": "Envoyer l'e-mail" - }, - "twoFactorU2fAdd": { - "message": "Ajouter une clé de sécurité FIDO U2F à votre compte" - }, - "removeU2fConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir supprimer cette clé de sécurité ?" - }, - "readKey": { - "message": "Lire la clé" - }, - "keyCompromised": { - "message": "La clé est compromise." - }, - "twoFactorU2fGiveName": { - "message": "Donnez un nom convivial à la clé de sécurité pour l'identifier." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Branchez la clé de sécurité sur un port USB de votre ordinateur et cliquez sur le bouton \"Lire la clé\"." - }, - "twoFactorU2fTouchButton": { - "message": "Si la clé de sécurité a un bouton, touchez-le." - }, - "twoFactorU2fSaveForm": { - "message": "Sauvegarder le contenu du formulaire." - }, - "twoFactorU2fWarning": { - "message": "En raison de limitations de plateforme, FIDO U2F n'est pas utilisable sur toutes les applications Bitwarden. Vous devriez activer un autre fournisseur de connexion en deux étapes afin de pouvoir accéder à votre compte lorsque vous ne pouvez pas utiliser FIDO U2F. Plateformes prises en charge :" - }, - "twoFactorU2fSupportWeb": { - "message": "Coffre web et extensions sur un ordinateur fixe/portable avec un navigateur compatible U2F (Chrome, Opera, Vivaldi ou Firefox avec FIDO U2F activé)." - }, - "twoFactorU2fWaiting": { - "message": "Attente de l'appui sur le bouton de votre clé de sécurité" - }, - "twoFactorU2fClickSave": { - "message": "Cliquez sur le bouton « Enregistrer » ci-dessous pour activer cette clé de sécurité pour une connexion en deux étapes." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "Un problème est survenu lors de la lecture de la clé de sécurité. Veuillez réessayer." - }, - "twoFactorRecoveryYourCode": { - "message": "Votre code de récupération de connexion en deux étapes Bitwarden" - }, - "twoFactorRecoveryNoCode": { - "message": "Vous n'avez pas encore activé de fournisseur de connexion en deux étapes. Après avoir activé un fournisseur de connexion en deux étapes, vous pouvez consulter ici votre code de récupération." - }, - "printCode": { - "message": "Imprimer le code", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Rapports" - }, - "unsecuredWebsitesReport": { - "message": "Rapport sur les sites web non sécurisés" - }, - "unsecuredWebsitesReportDesc": { - "message": "L'utilisation de sites Web non sécurisés avec le schéma http:// peut être dangereuse. Si le site Web le permet, vous devriez toujours y accéder en utilisant le schéma https:// afin que votre connexion soit chiffrée." - }, - "unsecuredWebsitesFound": { - "message": "Sites web non sécurisés trouvés" - }, - "unsecuredWebsitesFoundDesc": { - "message": "Nous avons trouvé $COUNT$ éléments dans votre coffre avec des URI non sécurisés. Vous devriez remplacer leur schéma URI par https:// si le site Web le permet.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "Aucun élément dans votre coffre n'a d'URI non sécurisés." - }, - "inactive2faReport": { - "message": "Rapport 2FA inactif" - }, - "inactive2faReportDesc": { - "message": "L'authentification à deux facteurs (2FA) est un paramètre de sécurité important qui permet de sécuriser vos comptes. Si le site Web le propose, vous devriez toujours activer l'authentification à deux facteurs." - }, - "inactive2faFound": { - "message": "Identifiants sans 2FA trouvés" - }, - "inactive2faFoundDesc": { - "message": "Nous avons trouvé $COUNT$ site(s) web(s) dans votre coffre qui ne sont peut-être pas configurés avec une authentification à deux facteurs (d'après 2fa.directory). Pour mieux protéger ces comptes, vous devriez activer l'authentification à deux facteurs.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "Aucun site web n'a été trouvé dans votre coffre avec une configuration d'authentification à deux facteurs manquante." - }, - "instructions": { - "message": "Instructions" - }, - "exposedPasswordsReport": { - "message": "Rapport sur les mots de passe exposés" - }, - "exposedPasswordsReportDesc": { - "message": "Les mots de passe exposés sont des mots de passe qui ont été découverts lors de fuites de données connues qui ont été rendues publiques ou vendues sur le Web par des pirates informatiques." - }, - "exposedPasswordsFound": { - "message": "Mots de passe exposés trouvés" - }, - "exposedPasswordsFoundDesc": { - "message": "Nous avons trouvé $COUNT$ éléments dans votre coffre qui ont des mots de passe qui ont été exposés dans des fuites de données connues. Vous devriez les changer pour utiliser un nouveau mot de passe.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "Aucun élément de votre coffre n'a de mots de passe qui ont été révélés lors de fuites de données connues." - }, - "checkExposedPasswords": { - "message": "Vérifier les mots de passe exposés" - }, - "exposedXTimes": { - "message": "Exposé $COUNT$ fois", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Rapport sur les mots de passe faibles" - }, - "weakPasswordsReportDesc": { - "message": "Les mots de passe faibles peuvent être facilement devinés par des pirates informatiques et des outils automatisés qui sont utilisés pour pirater les mots de passe. Le générateur de mots de passe de Bitwarden peut vous aider à créer des mots de passe forts." - }, - "weakPasswordsFound": { - "message": "Mots de passe faibles trouvés" - }, - "weakPasswordsFoundDesc": { - "message": "Nous avons trouvé $COUNT$ éléments dans votre coffre avec des mots de passe qui ne sont pas forts. Vous devriez les mettre à jour pour utiliser des mots de passe plus forts.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "Aucun élément dans votre coffre n'a de mots de passe faibles." - }, - "reusedPasswordsReport": { - "message": "Rapport sur les mots de passe réutilisés" - }, - "reusedPasswordsReportDesc": { - "message": "Si un service que vous utilisez est compromis, la réutilisation du même mot de passe ailleurs peut permettre aux pirates d'accéder facilement à un plus grand nombre de vos comptes en ligne. Vous devriez utiliser un mot de passe unique pour chaque compte ou service." - }, - "reusedPasswordsFound": { - "message": "Mots de passe réutilisés trouvés" - }, - "reusedPasswordsFoundDesc": { - "message": "Nous avons trouvé $COUNT$ mots de passe qui sont réutilisés dans votre coffre. Vous devriez les changer pour utiliser des mots de passe différents.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "Aucun identifiant dans votre coffre n'a de mots de passe qui sont réutilisés." - }, - "reusedXTimes": { - "message": "Réutilisé $COUNT$ fois", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Rapport sur les fuites de données" - }, - "breachDesc": { - "message": "Une « fuite » est un incident où les données d'un site ont été obtenues illégalement par des pirates informatiques, puis rendues publiques. Examinez les types de données qui ont été compromis (adresses électroniques, mots de passe, cartes de crédit, etc.) et prenez les mesures appropriées, comme la modification des mots de passe." - }, - "breachCheckUsernameEmail": { - "message": "Vérifiez tous les noms d'utilisateur ou les adresses électroniques que vous utilisez." - }, - "checkBreaches": { - "message": "Vérifier les fuites" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ n'a été trouvé dans aucune fuite de données.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Bonne nouvelle", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ a été trouvé dans $COUNT$ fuites de données différentes en ligne.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Des comptes ayant fuité ont été trouvés" - }, - "compromisedData": { - "message": "Données compromises" - }, - "website": { - "message": "Site web" - }, - "affectedUsers": { - "message": "Utilisateurs concernés" - }, - "breachOccurred": { - "message": "Une fuite a eu lieu" - }, - "breachReported": { - "message": "Fuite signalée" - }, - "reportError": { - "message": "Une erreur est survenue en essayant de charger le rapport. Réessayez" - }, - "billing": { - "message": "Facturation" - }, - "accountCredit": { - "message": "Compte créditeur", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Solde du compte", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Ajouter du crédit", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Montant", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Le crédit ajouté apparaîtra sur votre compte une fois que le paiement aura été entièrement traité. Certains moyens de paiement sont différés et peuvent prendre plus de temps à traiter que d'autres." - }, - "makeSureEnoughCredit": { - "message": "Veuillez vous assurer que votre compte dispose d'un crédit suffisant pour cet achat. Si le crédit de votre compte n'est pas suffisant, votre mode de paiement par défaut sera utilisé pour régler la différence. Vous pouvez ajouter du crédit à votre compte à partir de la page Facturation." - }, - "creditAppliedDesc": { - "message": "Le crédit de votre compte peut être utilisé pour régler vos achats. Tout crédit disponible sera automatiquement appliqué aux factures générées pour ce compte." - }, - "goPremium": { - "message": "Devenir Premium", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "Vous venez de passer à un compte Premium." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Mettez à niveau votre compte vers un abonnement premium et débloquez d'incroyables fonctionnalités supplémentaires." - }, - "premiumSignUpStorage": { - "message": "1 Go de stockage de fichiers chiffrés." - }, - "premiumSignUpTwoStep": { - "message": "Options d'identification en deux étapes additionnelles comme YubiKey, FIDO U2F et Duo." - }, - "premiumSignUpReports": { - "message": "Rapports sur l'hygiène des mots de passe, la santé des comptes et les fuites de données pour assurer la sécurité de votre coffre." - }, - "premiumSignUpTotp": { - "message": "Génération d'un code de vérification TOTP (2FA) pour les identifiants de votre coffre." - }, - "premiumSignUpSupport": { - "message": "Support client prioritaire." - }, - "premiumSignUpFuture": { - "message": "Toutes les futures options premium. D'autres suivront prochainement !" - }, - "premiumPrice": { - "message": "Tout pour seulement $PRICE$ /an !", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Add-ons" - }, - "premiumAccess": { - "message": "Accès premium" - }, - "premiumAccessDesc": { - "message": "Vous pouvez offrir un accès premium à tous les membres de votre organisation pour $PRICE$/$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Stockage additionnel (Go)" - }, - "additionalStorageGbDesc": { - "message": "# Go additionnels" - }, - "additionalStorageIntervalDesc": { - "message": "Votre offre comprend $SIZE$ de stockage de fichiers chiffrés. Vous pouvez ajouter du stockage supplémentaire pour $PRICE$ par Go/$INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Récapitulatif" - }, - "total": { - "message": "Total" - }, - "year": { - "message": "an" - }, - "month": { - "message": "mois" - }, - "monthAbbr": { - "message": "mois", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Votre mode de paiement sera facturé immédiatement et de manière récurrente chaque année. Vous pouvez annuler à tout moment." - }, - "paymentCharged": { - "message": "Votre mode de paiement sera facturé immédiatement et de manière récurrente chaque $INTERVAL$. Vous pouvez annuler à tout moment.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Votre offre comprend un essai gratuit de 7 jours. Votre mode de paiement ne sera pas facturé avant la fin de la période d'essai. La facturation se fera sur une base récurrente chaque $INTERVAL$. Vous pouvez annuler à tout moment.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Informations de paiement" - }, - "billingInformation": { - "message": "Informations de facturation" - }, - "creditCard": { - "message": "Carte de crédit" - }, - "paypalClickSubmit": { - "message": "Cliquez sur le bouton PayPal pour vous connecter sur votre compte PayPal, puis cliquez sur le bouton Soumettre ci-dessous pour continuer." - }, - "cancelSubscription": { - "message": "Annuler l'abonnement" - }, - "subscriptionCanceled": { - "message": "L'abonnement a été annulé." - }, - "pendingCancellation": { - "message": "Annulation en attente" - }, - "subscriptionPendingCanceled": { - "message": "L’abonnement a été marqué pour être annulé à la fin de la période de facturation actuelle." - }, - "reinstateSubscription": { - "message": "Rétablir l’abonnement" - }, - "reinstateConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir retirer la demande d’annulation en attente et rétablir votre abonnement ?" - }, - "reinstated": { - "message": "Votre abonnement a été rétabli." - }, - "cancelConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir annuler ? Vous perdrez l’accès à toutes les fonctionnalités de l’abonnement à la fin de ce cycle de facturation." - }, - "canceledSubscription": { - "message": "L'abonnement a été annulé." - }, - "neverExpires": { - "message": "N'expire jamais" - }, - "status": { - "message": "État" - }, - "nextCharge": { - "message": "Prochain paiement" - }, - "details": { - "message": "Détails" - }, - "downloadLicense": { - "message": "Télécharger la licence" - }, - "updateLicense": { - "message": "Mettre à jour la licence" - }, - "updatedLicense": { - "message": "Licence mise à jour" - }, - "manageSubscription": { - "message": "Gérer l'abonnement" - }, - "storage": { - "message": "Stockage" - }, - "addStorage": { - "message": "Ajouter du stockage" - }, - "removeStorage": { - "message": "Retirer du stockage" - }, - "subscriptionStorage": { - "message": "Votre abonnement a un total de $MAX_STORAGE$ Go de stockage de fichiers chiffrés. Vous utilisez actuellement $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Moyen de paiement" - }, - "noPaymentMethod": { - "message": "Aucun moyen de paiement enregistré." - }, - "addPaymentMethod": { - "message": "Ajouter un moyen de paiement" - }, - "changePaymentMethod": { - "message": "Changer de moyen de paiement" - }, - "invoices": { - "message": "Factures" - }, - "noInvoices": { - "message": "Aucune facture." - }, - "paid": { - "message": "Payée", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Due", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Transactions", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "Aucune transaction." - }, - "chargeNoun": { - "message": "Débit", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Remboursement", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Tous les frais apparaîtront sur votre relevé sous $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "Go de stockage à ajouter" - }, - "gbStorageRemove": { - "message": "Go de stockage à retirer" - }, - "storageAddNote": { - "message": "L'ajout d'espace de stockage entraînera des ajustements sur vos totaux de facturation et facturera immédiatement le moyen de paiement enregistré. La première facturation sera calculée au prorata du reste du cycle de facturation en cours." - }, - "storageRemoveNote": { - "message": "La suppression d'espace de stockage entraînera des ajustements sur vos totaux de facturation qui seront calculés au prorata et portés au crédit de votre prochaine facturation." - }, - "adjustedStorage": { - "message": "$AMOUNT$ Go de stockage mis à jour.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Contacter le support client" - }, - "updatedPaymentMethod": { - "message": "Moyen de paiement mise à jour." - }, - "purchasePremium": { - "message": "Acheter Premium" - }, - "licenseFile": { - "message": "Fichier de licence" - }, - "licenseFileDesc": { - "message": "Votre fichier de licence aura un nom similaire à $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "Pour mettre à niveau votre compte vers un abonnement premium, vous devez fournir un fichier de licence valide." - }, - "uploadLicenseFileOrg": { - "message": "Pour créer une organisation sur une instance auto-hébergée vous devez fournir un fichier de licence valide." - }, - "accountEmailMustBeVerified": { - "message": "L'adresse e-mail de votre compte doit être vérifiée." - }, - "newOrganizationDesc": { - "message": "Les organisations permettent de partager des parties de votre coffre avec d'autres personnes ainsi que de gérer des utilisateurs pour une entité spécifique comme une famille, une petite équipe ou une grande entreprise." - }, - "generalInformation": { - "message": "Informations générales" - }, - "organizationName": { - "message": "Nom de l'organisation" - }, - "accountOwnedBusiness": { - "message": "Ce compte est détenu par une entreprise." - }, - "billingEmail": { - "message": "E-mail de facturation" - }, - "businessName": { - "message": "Nom de l'entreprise" - }, - "chooseYourPlan": { - "message": "Choisissez votre offre" - }, - "users": { - "message": "Utilisateurs" - }, - "userSeats": { - "message": "Licences utilisateur" - }, - "additionalUserSeats": { - "message": "Licences utilisateur supplémentaires" - }, - "userSeatsDesc": { - "message": "Nombre de licences utilisateur" - }, - "userSeatsAdditionalDesc": { - "message": "Votre offre comprend $BASE_SEATS$ licences utilisateurs. Vous pouvez ajouter des utilisateurs supplémentaires pour $SEAT_PRICE$ par utilisateur/mois.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "De combien de licences utilisateur avez-vous besoin ? Vous pouvez également en ajouter ultérieurement si besoin." - }, - "planNameFree": { - "message": "Gratuit", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "Pour tester ou pour les utilisateurs individuels qui souhaitent partager avec $COUNT$ autre(s) utilisateur(s).", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Familles" - }, - "planDescFamilies": { - "message": "Pour une utilisation personnelle, pour partager avec la famille et les amis." - }, - "planNameTeams": { - "message": "Équipes" - }, - "planDescTeams": { - "message": "Pour les entreprises et autres équipes." - }, - "planNameEnterprise": { - "message": "Entreprise" - }, - "planDescEnterprise": { - "message": "Pour les entreprises et autres grandes organisations." - }, - "freeForever": { - "message": "Gratuit pour toujours" - }, - "includesXUsers": { - "message": "comprend $COUNT$ utilisateurs", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Utilisateurs supplémentaires" - }, - "costPerUser": { - "message": "$COST$ par utilisateur", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Limité à $COUNT$ utilisateurs (vous inclus)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Limité à $COUNT$ collections", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Ajoutez et partagez avec jusqu'à $COUNT$ utilisateurs", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Ajoutez et partagez avec un nombre illimité d'utilisateurs" - }, - "createUnlimitedCollections": { - "message": "Créez un nombre illimité de collections" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ de stockage de fichiers chiffrés", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "Hébergement local (optionnel)" - }, - "usersGetPremium": { - "message": "Les utilisateurs auront accès aux fonctionnalités premium" - }, - "controlAccessWithGroups": { - "message": "Contrôlez l'accès des utilisateurs avec des groupes" - }, - "syncUsersFromDirectory": { - "message": "Synchronisez vos utilisateurs et vos groupes à partir d'un répertoire" - }, - "trackAuditLogs": { - "message": "Suivez les actions des utilisateurs avec les journaux d'audit" - }, - "enforce2faDuo": { - "message": "Forcez l'authentification à deux facteurs (2FA) avec Duo" - }, - "priorityCustomerSupport": { - "message": "Support client prioritaire" - }, - "xDayFreeTrial": { - "message": "$COUNT$ jours d'essai gratuit, annulez à tout moment", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Mensuel" - }, - "annually": { - "message": "Annuel" - }, - "basePrice": { - "message": "Prix de base" - }, - "organizationCreated": { - "message": "L'organisation a été créée" - }, - "organizationReadyToGo": { - "message": "Votre nouvelle organisation est prête !" - }, - "organizationUpgraded": { - "message": "Votre organisation a été mise à niveau." - }, - "leave": { - "message": "Quitter" - }, - "leaveOrganizationConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir quitter cette organisation ?" - }, - "leftOrganization": { - "message": "Vous avez quitté l'organisation." - }, - "defaultCollection": { - "message": "Collection par défaut" - }, - "getHelp": { - "message": "Obtenir de l'aide" - }, - "getApps": { - "message": "Télécharger les applications" - }, - "loggedInAs": { - "message": "Connecté en tant que" - }, - "eventLogs": { - "message": "Journal des événements" - }, - "people": { - "message": "Personnes" - }, - "policies": { - "message": "Politiques" - }, - "editPolicy": { - "message": "Modifier la politique" - }, - "groups": { - "message": "Groupes" - }, - "newGroup": { - "message": "Nouveau groupe" - }, - "addGroup": { - "message": "Ajouter un groupe" - }, - "editGroup": { - "message": "Modifier le groupe" - }, - "deleteGroupConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir supprimer ce groupe?" - }, - "removeUserConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir retirer cet utilisateur ?" - }, - "externalId": { - "message": "Identifiant externe" - }, - "externalIdDesc": { - "message": "L’identifiant externe peut être utilisé comme référence ou pour lier cette ressource à un système externe tel qu’un répertoire utilisateur." - }, - "accessControl": { - "message": "Contrôle d’accès" - }, - "groupAccessAllItems": { - "message": "Ce groupe peut voir et modifier tous les éléments." - }, - "groupAccessSelectedCollections": { - "message": "Ce groupe peut accéder uniquement aux collections sélectionnées." - }, - "readOnly": { - "message": "Lecture seule" - }, - "newCollection": { - "message": "Nouvelle collection" - }, - "addCollection": { - "message": "Ajouter une collection" - }, - "editCollection": { - "message": "Modifier la collection" - }, - "deleteCollectionConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir supprimer cette collection?" - }, - "editUser": { - "message": "Modifier un utilisateur" - }, - "inviteUser": { - "message": "Inviter un utilisateur" - }, - "inviteUserDesc": { - "message": "Invitez de nouveaux utilisateurs à votre organisation en entrant l'adresse e-mail de leur compte Bitwarden ci-dessous. S'ils n’ont pas déjà un compte Bitwarden, il leur sera demandé d'en créer un nouveau." - }, - "inviteMultipleEmailDesc": { - "message": "Vous pouvez inviter jusqu'à $COUNT$ utilisateurs à la fois en séparant les adresses e-mail par une virgule.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "Cet utilisateur utilise l'identification en deux étapes pour protéger son compte." - }, - "userAccessAllItems": { - "message": "Cet utilisateur peut voir et modifier tous les éléments." - }, - "userAccessSelectedCollections": { - "message": "Cet utilisateur peut accéder uniquement aux collections sélectionnées." - }, - "search": { - "message": "Rechercher" - }, - "invited": { - "message": "Invité" - }, - "accepted": { - "message": "Accepté" - }, - "confirmed": { - "message": "Confirmé" - }, - "owner": { - "message": "Propriétaire" - }, - "ownerDesc": { - "message": "L’utilisateur avec l’accès le plus élevé qui peut gérer tous les aspects de votre organisation." - }, - "admin": { - "message": "Administrateur" - }, - "adminDesc": { - "message": "Les administrateurs peuvent voir et gérer tous les éléments, les collections et les utilisateurs de votre organisation." - }, - "user": { - "message": "Utilisateur" - }, - "userDesc": { - "message": "Un utilisateur standard avec accès aux collections qui lui sont assignées dans votre organisation." - }, - "manager": { - "message": "Gestionnaire" - }, - "managerDesc": { - "message": "Les gestionnaires peuvent voir et gérer les collections de votre organisation qui leur ont été assignées." - }, - "all": { - "message": "Tous" - }, - "refresh": { - "message": "Actualiser" - }, - "timestamp": { - "message": "Horodatage" - }, - "event": { - "message": "Évènement" - }, - "unknown": { - "message": "Inconnu" - }, - "loadMore": { - "message": "Plus de résultats" - }, - "mobile": { - "message": "Mobile", - "description": "Mobile app" - }, - "extension": { - "message": "Extension", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Ordinateur", - "description": "Desktop app" - }, - "webVault": { - "message": "Coffre web" - }, - "loggedIn": { - "message": "Connecté." - }, - "changedPassword": { - "message": "Mot de passe changé." - }, - "enabledUpdated2fa": { - "message": "Connexion en deux étapes activée/mise à jour." - }, - "disabled2fa": { - "message": "Connexion en deux étapes désactivée." - }, - "recovered2fa": { - "message": "Compte récupéré depuis une connexion en deux étapes." - }, - "failedLogin": { - "message": "Tentative de connexion avec mot de passe incorrect." - }, - "failedLogin2fa": { - "message": "Tentative de connexion échouée avec deuxième facteur incorrect." - }, - "exportedVault": { - "message": "Le coffre a été exporté." - }, - "exportedOrganizationVault": { - "message": "Le coffre de l'organisation a été exporté." - }, - "editedOrgSettings": { - "message": "Paramètres de l’organisation modifiés." - }, - "createdItemId": { - "message": "Élément $ID$ créé.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Élément $ID$ modifié.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "L'élément $ID$ a été envoyé dans la corbeille.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Élément $ID$ partagé.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "L'élément $ID$ a été consulté.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Le mot de passe de l'élément $ID$ a été consulté.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Un champ masqué de l’élément $ID$ a été consulté.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Le code de sécurité de l’élément $ID$ a été consulté.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Le mot de passe de l'élément $ID$ a été copié.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Un champ masqué de l’élément $ID$ a été copié.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Le code de sécurité de l’élément $ID$ a été copié.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "L’élément $ID$ a été rempli automatiquement.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Collection $ID$ créée.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Collection $ID$ modifiée.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Collection $ID$ supprimée.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Politique $ID$ modifiée.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Groupe $ID$ créé.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Groupe $ID$ modifié.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Groupe $ID$ supprimé.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Utilisateur $ID$ retiré.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "La pièce jointe pour l'élément $ID$ a été créée.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "La pièce jointe de l'élément $ID$ a été supprimée.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Collections éditées pour l'élément $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Utilisateur $ID$ invité.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Utilisateur $ID$ confirmé.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Utilisateur $ID$ modifié.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Groupes édités pour l'utilisateur $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "SSO dissocié pour l'utilisateur $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Appareil" - }, - "view": { - "message": "Voir" - }, - "invalidDateRange": { - "message": "Plage de dates non valide." - }, - "errorOccurred": { - "message": "Une erreur est survenue." - }, - "userAccess": { - "message": "Accès utilisateur" - }, - "userType": { - "message": "Type d'utilisateur" - }, - "groupAccess": { - "message": "Accès groupe" - }, - "groupAccessUserDesc": { - "message": "Modifier les groupes auxquels appartient cet utilisateur." - }, - "invitedUsers": { - "message": "Utilisateur(s) invité(s)." - }, - "resendInvitation": { - "message": "Renvoyer l'invitation" - }, - "hasBeenReinvited": { - "message": "$USER$ a été réinvité.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Confirmer" - }, - "confirmUser": { - "message": "Confirmer l'utilisateur" - }, - "hasBeenConfirmed": { - "message": "$USER$ a été confirmé.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Confirmer les utilisateurs" - }, - "usersNeedConfirmed": { - "message": "Il y a des utilisateurs qui ont accepté leur invitation, mais qui doivent encore être confirmés. Les utilisateurs n'auront pas accès à l'organisation tant qu'ils n'auront pas été confirmés." - }, - "startDate": { - "message": "Date de début" - }, - "endDate": { - "message": "Date de fin" - }, - "verifyEmail": { - "message": "Vérifier l'adresse e-mail" - }, - "verifyEmailDesc": { - "message": "Vérifiez l'adresse e-mail de votre compte pour débloquer l'ensemble des fonctionnalités." - }, - "verifyEmailFirst": { - "message": "L'adresse e-mail de votre compte doit d'abord être vérifiée." - }, - "checkInboxForVerification": { - "message": "Vérifiez votre boîte de réception pour le lien de vérification." - }, - "emailVerified": { - "message": "Votre adresse e-mail a été vérifiée." - }, - "emailVerifiedFailed": { - "message": "Impossible de vérifier votre adresse e-mail. Essayez de renvoyer un nouvel e-mail de vérification." - }, - "updateBrowser": { - "message": "Mettre à jour le navigateur" - }, - "updateBrowserDesc": { - "message": "Vous utilisez un navigateur non supporté. Le coffre web pourrait ne pas fonctionner correctement." - }, - "joinOrganization": { - "message": "Rejoindre l'organisation" - }, - "joinOrganizationDesc": { - "message": "Vous avez été invité à rejoindre l'organisation ci-dessus. Pour accepter l'invitation, vous devez vous connecter ou créer un nouveau compte Bitwarden." - }, - "inviteAccepted": { - "message": "Invitation acceptée" - }, - "inviteAcceptedDesc": { - "message": "Vous pourrez accéder à cette organisation dès qu'un administrateur aura confirmé votre inscription. Nous vous enverrons un e-mail lorsque ce sera fait." - }, - "inviteAcceptFailed": { - "message": "Impossible d’accepter l’invitation. Demandez à un administrateur de l'organisation d’envoyer une nouvelle invitation." - }, - "inviteAcceptFailedShort": { - "message": "Impossible d'accepter l'invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Se souvenir de l'e-mail" - }, - "recoverAccountTwoStepDesc": { - "message": "Si vous ne pouvez pas accéder à votre compte grâce à vos méthodes de connexion en deux étapes habituelles, vous pouvez utiliser votre code de récupération de connexion en deux étapes pour désactiver tous les fournisseurs en deux étapes sur votre compte." - }, - "recoverAccountTwoStep": { - "message": "Récupération de connexion en deux étapes" - }, - "twoStepRecoverDisabled": { - "message": "L'authentification en deux étapes a été désactivée sur votre compte." - }, - "learnMore": { - "message": "En savoir plus" - }, - "deleteRecoverDesc": { - "message": "Entrez votre adresse e-mail ci-dessous pour récupérer et supprimer votre compte." - }, - "deleteRecoverEmailSent": { - "message": "Si votre compte existe, nous vous avons envoyé un e-mail avec des instructions supplémentaires." - }, - "deleteRecoverConfirmDesc": { - "message": "Vous avez demandé de supprimer votre compte Bitwarden. Cliquez sur le bouton ci-dessous pour confirmer." - }, - "myOrganization": { - "message": "Mon organisation" - }, - "deleteOrganization": { - "message": "Supprimer l'organisation" - }, - "deleteOrganizationDesc": { - "message": "Poursuivez ci-dessous pour supprimer cette organisation ainsi que toutes les données associées. Les comptes des utilisateurs individuels ne seront pas supprimés, mais ils ne seront plus associés à cette organisation. " - }, - "deleteOrganizationWarning": { - "message": "La suppression d'une organisation est définitive. Cette action ne peut pas être annulée." - }, - "organizationDeleted": { - "message": "Organisation supprimée" - }, - "organizationDeletedDesc": { - "message": "L’organisation et toutes les données associées ont été supprimées." - }, - "organizationUpdated": { - "message": "Organisation mise à jour" - }, - "taxInformation": { - "message": "Informations fiscales" - }, - "taxInformationDesc": { - "message": "Pour les clients aux États-Unis, le code postal (ZIP) est requis pour satisfaire aux exigences de la taxe de vente. Pour d'autres pays, vous pouvez éventuellement fournir un numéro d'identification fiscale (TVA/TPS) et/ou une adresse à afficher sur vos factures." - }, - "billingPlan": { - "message": "Offre", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Changer d'offre", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Mettez à niveau votre compte vers un autre plan en fournissant les informations ci-dessous. Assurez-vous qu'un mode de paiement actif a été ajouté au compte.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Contactez le support client si vous souhaitez changer d'offre. Veuillez vous assurer que vous disposez d’un moyen de paiement actif sur votre compte.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Facture n°$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "Afficher la facture" - }, - "downloadInvoice": { - "message": "Télécharger la facture" - }, - "verifyBankAccount": { - "message": "Vérifier le compte bancaire" - }, - "verifyBankAccountDesc": { - "message": "Nous avons effectué deux dépôts d'un faible montant sur votre compte bancaire (ils peuvent prendre 1-2 jours ouvrés pour apparaître). Saisissez ces montants pour valider le compte bancaire." - }, - "verifyBankAccountInitialDesc": { - "message": "Le paiement avec un compte bancaire est seulement disponible pour les clients résidant aux États-Unis. Il vous sera demandé de valider votre compte bancaire. Nous effectuerons deux dépôts d'un faible montant sous 1-2 jours ouvrés. Saisissez ces montants sur la page de facturation de votre organisation pour valider votre compte bancaire." - }, - "verifyBankAccountFailureWarning": { - "message": "Une erreur lors de la validation de votre compte bancaire annulera le paiement et votre abonnement sera désactivé." - }, - "verifiedBankAccount": { - "message": "Le compte bancaire a été vérifié." - }, - "bankAccount": { - "message": "Compte bancaire" - }, - "amountX": { - "message": "Montant $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Code banque", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Numéro de compte" - }, - "accountHolderName": { - "message": "Nom du titulaire du compte" - }, - "bankAccountType": { - "message": "Type de compte" - }, - "bankAccountTypeCompany": { - "message": "Entreprise (professionnel)" - }, - "bankAccountTypeIndividual": { - "message": "Individuel (personnel)" - }, - "enterInstallationId": { - "message": "Saisissez l'identifiant de votre installation" - }, - "addSeats": { - "message": "Ajouter des licences", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Retirer des licences", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Votre abonnement permet un total de $COUNT$ utilisateurs.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Licences à ajouter" - }, - "seatsToRemove": { - "message": "Licences à retirer" - }, - "seatsAddNote": { - "message": "L'ajout de licences utilisateur entraînera des ajustements sur vos totaux de facturation et facturera immédiatement le moyen de paiement enregistré. La première facturation sera calculée au prorata du reste du cycle de facturation en cours." - }, - "seatsRemoveNote": { - "message": "La suppression de licences utilisateur entraînera des ajustements sur vos totaux de facturation qui seront calculés au prorata et portés au crédit de votre prochaine facturation." - }, - "adjustedSeats": { - "message": "$AMOUNT$ licences utilisateurs mis à jour.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Clé mise à jour" - }, - "updateKeyTitle": { - "message": "Mettre à jour la clé" - }, - "updateEncryptionKey": { - "message": "Mettre à jour la clé de chiffrement" - }, - "updateEncryptionKeyShortDesc": { - "message": "Vous utilisez actuellement un moyen de chiffrement obsolète." - }, - "updateEncryptionKeyDesc": { - "message": "Nous sommes passés à des clés de chiffrement plus longues qui fournissent une meilleure sécurité et permettent l'accès à de nouvelles fonctionnalités. La mise à jour de votre clé de chiffrement est rapide et facile. Tapez simplement votre mot de passe maître ci-dessous. Cette mise à jour deviendra peut-être obligatoire." - }, - "updateEncryptionKeyWarning": { - "message": "Après avoir mis à jour votre clé de chiffrement, vous devrez vous reconnecter sur toutes les applications Bitwarden que vous utilisez actuellement (comme par exemple l'application mobile ou les extensions de navigateur). Le fait de ne pas vous déconnecter et de vous reconnecter (ce qui télécharge votre nouvelle clé de chiffrement) pourrait entraîner une corruption des données. Nous allons essayer de vous déconnecter automatiquement, mais cela demande un peu de temps." - }, - "updateEncryptionKeyExportWarning": { - "message": "Tous les exports chiffrés que vous avez enregistrés deviendront également invalides." - }, - "subscription": { - "message": "Abonnement" - }, - "loading": { - "message": "Chargement" - }, - "upgrade": { - "message": "Mettre à niveau" - }, - "upgradeOrganization": { - "message": "Mettre à niveau l'organisation" - }, - "upgradeOrganizationDesc": { - "message": "Cette fonctionnalité n'est pas disponible pour les organisations gratuites. Passez à une offre payante pour débloquer plus de fonctionnalités." - }, - "createOrganizationStep1": { - "message": "Créer une organisation : Étape 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Avant de créer votre organisation, vous devez d’abord créer un compte personnel gratuit." - }, - "refunded": { - "message": "Remboursé" - }, - "nothingSelected": { - "message": "Vous n'avez rien sélectionné." - }, - "acceptPolicies": { - "message": "En cochant cette case, vous acceptez les éléments suivants :" - }, - "acceptPoliciesError": { - "message": "Les conditions d'utilisation et la politique de confidentialité n'ont pas été acceptées." - }, - "termsOfService": { - "message": "Conditions d'utilisation" - }, - "privacyPolicy": { - "message": "Politique de confidentialité" - }, - "filters": { - "message": "Filtres" - }, - "vaultTimeout": { - "message": "Délai d'expiration du coffre" - }, - "vaultTimeoutDesc": { - "message": "Choisissez quand votre coffre expirera et effectuera l'action sélectionnée." - }, - "oneMinute": { - "message": "1 minute" - }, - "fiveMinutes": { - "message": "5 minutes" - }, - "fifteenMinutes": { - "message": "15 minutes" - }, - "thirtyMinutes": { - "message": "30 minutes" - }, - "oneHour": { - "message": "1 heure" - }, - "fourHours": { - "message": "4 heures" - }, - "onRefresh": { - "message": "Au rechargement de la page" - }, - "dateUpdated": { - "message": "Mis à jour", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Mot de passe mis à jour", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "L'organisation est désactivée." - }, - "licenseIsExpired": { - "message": "La licence a expiré." - }, - "updatedUsers": { - "message": "Utilisateurs mis à jour" - }, - "selected": { - "message": "Sélectionné(s)" - }, - "ownership": { - "message": "Propriété" - }, - "whoOwnsThisItem": { - "message": "À qui appartient cet élément ?" - }, - "strong": { - "message": "Fort", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Suffisant", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Faible", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Très faible", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Mot de passe maître faible" - }, - "weakMasterPasswordDesc": { - "message": "Le mot de passe maître que vous avez choisi est faible. Vous devriez utiliser un mot de passe (ou une phrase de passe) fort(e) pour protéger correctement votre compte Bitwarden. Êtes-vous sûr(e) de vouloir utiliser ce mot de passe maître ?" - }, - "rotateAccountEncKey": { - "message": "Révoquer également la clé de chiffrement de mon compte" - }, - "rotateEncKeyTitle": { - "message": "Révoquer la clé de chiffrement" - }, - "rotateEncKeyConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir révoquer la clé de chiffrement de votre compte ?" - }, - "attachmentsNeedFix": { - "message": "Cet élément a d'anciennes pièces jointes qui doivent être réparées." - }, - "attachmentFixDesc": { - "message": "Il s'agit d'une ancienne pièce jointe qui doit être réparée. Cliquez pour en savoir plus." - }, - "fix": { - "message": "Réparer", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "Il y a d'anciennes pièces jointes dans votre coffre qui doivent être réparées avant que vous ne puissiez révoquer la clé de chiffrement de votre compte." - }, - "yourAccountsFingerprint": { - "message": "La phrase d'empreinte de votre compte", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "Pour assurer l'intégrité de vos clés de chiffrement, merci de saisir la phrase d'empreinte de l'utilisateur avant de continuer.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Ne plus me demander de saisir la phrase d'empreinte", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Gratuit", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "Clé d'API" - }, - "apiKeyDesc": { - "message": "Votre clé d'API peut être utilisée pour s'authentifier auprès de l'API publique Bitwarden." - }, - "apiKeyRotateDesc": { - "message": "Révoquer la clé d'API invalidera la clé précédente. Vous pouvez révoquer votre clé d'API si vous pensez que la clé actuelle a été compromise." - }, - "apiKeyWarning": { - "message": "Votre clé d'API a un accès complet à l'organisation. Elle doit être gardée secrète." - }, - "userApiKeyDesc": { - "message": "Votre clé d'API peut être utilisée pour vous authentifier dans l'interface ligne de commande (CLI) de Bitwarden." - }, - "userApiKeyWarning": { - "message": "Votre clé d'API est un mécanisme d'authentification alternatif. Elle doit être gardée secrète." - }, - "oauth2ClientCredentials": { - "message": "Identifiants du client OAuth 2.0", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "Voir la clé d'API" - }, - "rotateApiKey": { - "message": "Révoquer la clé d'API" - }, - "selectOneCollection": { - "message": "Vous devez sélectionner au moins une collection." - }, - "couldNotChargeCardPayInvoice": { - "message": "Nous n'avons pas pu compléter le paiement sur votre carte. Veuillez consulter et payer la facture impayée ci-dessous." - }, - "inAppPurchase": { - "message": "Achat intégré" - }, - "cannotPerformInAppPurchase": { - "message": "Vous ne pouvez pas effectuer cette action tant que vous utilisez les achats intégrés comme méthode de paiement." - }, - "manageSubscriptionFromStore": { - "message": "Vous devez gérer votre abonnement à partir du magasin d’applications où votre achat intégré a été souscrit." - }, - "minLength": { - "message": "Longueur minimale" - }, - "clone": { - "message": "Cloner" - }, - "masterPassPolicyDesc": { - "message": "Définir des exigences minimales pour la force du mot de passe maître." - }, - "twoStepLoginPolicyDesc": { - "message": "Exiger que les utilisateurs définissent une connexion en deux étapes sur leurs comptes personnels." - }, - "twoStepLoginPolicyWarning": { - "message": "Les membres de l'organisation (hors propriétaires et administrateurs) qui n'ont pas activé la connexion en deux étapes sur leur compte personnel seront supprimés de l'organisation et recevront un courriel les informant du changement." - }, - "twoStepLoginPolicyUserWarning": { - "message": "Vous êtes membre d'une organisation qui nécessite que la connexion en deux étapes soit activée sur votre compte utilisateur. Si vous désactivez tous les fournisseurs de connexion en deux étapes, vous serez automatiquement retiré de ces organisations." - }, - "passwordGeneratorPolicyDesc": { - "message": "Définir les exigences minimales pour la configuration du générateur de mot de passe." - }, - "passwordGeneratorPolicyInEffect": { - "message": "Une ou plusieurs politiques d'organisation affectent les paramètres de votre générateur." - }, - "masterPasswordPolicyInEffect": { - "message": "Une ou plusieurs politiques de l'organisation exigent que votre mot de passe maître réponde aux exigences suivantes :" - }, - "policyInEffectMinComplexity": { - "message": "Score de complexité minimum de $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Longueur minimale de $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Contenir une ou plusieurs majuscules" - }, - "policyInEffectLowercase": { - "message": "Contenir une ou plusieurs minuscules" - }, - "policyInEffectNumbers": { - "message": "Contenir un ou plusieurs chiffres" - }, - "policyInEffectSpecial": { - "message": "Contenir un ou plusieurs des caractères spéciaux suivants $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Votre nouveau mot de passe maître ne répond pas aux exigences de la politique." - }, - "minimumNumberOfWords": { - "message": "Nombre minimum de mots" - }, - "defaultType": { - "message": "Type par défaut" - }, - "userPreference": { - "message": "Choix laissé à l'utilisateur" - }, - "vaultTimeoutAction": { - "message": "Action lors de l'expiration du délai du coffre" - }, - "vaultTimeoutActionLockDesc": { - "message": "Un coffre verrouillé requiert la saisie de votre mot de passe maître pour y avoir à nouveau accès." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "Un coffre déconnecté nécessite que vous vous ré-authentifiez pour y accéder de nouveau." - }, - "lock": { - "message": "Verrouiller", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Corbeille", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Rechercher dans la corbeille" - }, - "permanentlyDelete": { - "message": "Supprimer définitivement" - }, - "permanentlyDeleteSelected": { - "message": "Supprimer définitivement la sélection" - }, - "permanentlyDeleteItem": { - "message": "Supprimer définitivement l'élément" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir supprimer définitivement cet élément ?" - }, - "permanentlyDeletedItem": { - "message": "Élément supprimé définitivement" - }, - "permanentlyDeletedItems": { - "message": "Éléments supprimés définitivement" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "Vous avez sélectionné $COUNT$ élément(s) à supprimer définitivement. Êtes-vous sûr de vouloir supprimer définitivement tous ces éléments ?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Élément $ID$ supprimé définitivement.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Restaurer" - }, - "restoreSelected": { - "message": "Restaurer la sélection" - }, - "restoreItem": { - "message": "Restaurer l'élément" - }, - "restoredItem": { - "message": "Élément restauré" - }, - "restoredItems": { - "message": "Éléments restaurés" - }, - "restoreItemConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir restaurer cet élément ?" - }, - "restoreItems": { - "message": "Restaurer les éléments" - }, - "restoreSelectedItemsDesc": { - "message": "Vous avez sélectionné $COUNT$ élément(s) à restaurer. Êtes-vous sûr de vouloir restaurer tous ces éléments ?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Élément $ID$ restauré.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "La déconnexion supprimera tous les accès à votre coffre et nécessite une authentification en ligne après la période d'expiration. Êtes-vous sûr de vouloir utiliser ce paramètre?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Confirmation de l'action lors de l'expiration du délai" - }, - "hidePasswords": { - "message": "Masquer les mots de passe" - }, - "countryPostalCodeRequiredDesc": { - "message": "Nous avons besoin de ces renseignements seulement pour calculer les taxes de vente et compléter les rapports financiers." - }, - "includeVAT": { - "message": "Inclure des informations pour la TVA/TPS (facultatif)" - }, - "taxIdNumber": { - "message": "Identifiant TVA/TPS" - }, - "taxInfoUpdated": { - "message": "Informations sur les taxes mises à jour." - }, - "setMasterPassword": { - "message": "Définir le mot de passe maître" - }, - "ssoCompleteRegistration": { - "message": "Afin de terminer la connexion avec SSO, veuillez définir un mot de passe maître pour accéder à votre coffre et le protéger." - }, - "identifier": { - "message": "Identifiant" - }, - "organizationIdentifier": { - "message": "Identifiant de l'organisation" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Connectez-vous en utilisant le portail de connexion unique de votre organisation. Veuillez entrer l'identifiant de votre organisation pour commencer." - }, - "enterpriseSingleSignOn": { - "message": "Portail de connexion unique d'entreprise (Single Sign-On)" - }, - "ssoHandOff": { - "message": "Vous pouvez maintenant fermer cet onglet et continuer dans l'extension." - }, - "businessPortal": { - "message": "Portail d'entreprise", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "Toutes les fonctionnalités pour les équipes, plus :" - }, - "includeSsoAuthentication": { - "message": "Authentification SSO via SAML2.0 et OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Politiques d'entreprise" - }, - "ssoValidationFailed": { - "message": "Échec de la validation SSO" - }, - "ssoIdentifierRequired": { - "message": "L'identifiant de l'organisation est requis." - }, - "unlinkSso": { - "message": "Délier SSO" - }, - "linkSso": { - "message": "Lier SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "La configuration des politiques a été déplacée et cette page sera bientôt obsolète. Veuillez cliquer ci-dessous pour utiliser la page des politiques du portail d'entreprise à la place." - }, - "singleOrg": { - "message": "Organisation Unique" - }, - "singleOrgDesc": { - "message": "Empêcher les utilisateurs de pouvoir rejoindre d'autres organisations." - }, - "singleOrgBlockCreateMessage": { - "message": "Votre organisation actuelle a une politique qui ne vous permet pas de rejoindre plus d'une organisation. Veuillez contacter les administrateurs de votre organisation ou vous inscrire à partir d'un compte Bitwarden différent." - }, - "singleOrgPolicyWarning": { - "message": "Les membres de l'organisation qui ne sont ni propriétaires ni administrateurs et qui sont déjà membres d'une autre organisation seront retirés de votre organisation." - }, - "requireSso": { - "message": "Authentification par Connexion Unique (Single Sign-On)" - }, - "requireSsoPolicyDesc": { - "message": "Exiger que les utilisateurs se connectent avec la méthode du portail de connexion unique d'entreprise." - }, - "prerequisite": { - "message": "Prérequis" - }, - "requireSsoPolicyReq": { - "message": "La politique d'entreprise \"Organisation Unique\" doit être activée avant d'activer cette politique." - }, - "requireSsoPolicyReqError": { - "message": "La politique \"Organisation Unique\" n'est pas activée." - }, - "requireSsoExemption": { - "message": "Les propriétaires et les administrateurs de l'organisation sont exonérés de l'application de cette politique." - }, - "sendTypeFile": { - "message": "Fichier" - }, - "sendTypeText": { - "message": "Texte" - }, - "createSend": { - "message": "Créer un nouveau Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Modifier le Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Send créé", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Send modifié", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Send supprimé", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Supprimer le Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Êtes-vous sûr de vouloir supprimer ce Send ?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "De quel type de Send s'agit-il ?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Date de suppression" - }, - "deletionDateDesc": { - "message": "Le Send sera définitivement supprimé à la date et heure spécifiées.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Date d'expiration" - }, - "expirationDateDesc": { - "message": "Si défini, l'accès à ce Send expirera à la date et heure spécifiées.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Nombre maximum d'accès" - }, - "maxAccessCountDesc": { - "message": "Si défini, les utilisateurs ne seront plus en mesure d'accéder à ce Send une fois que le nombre maximum d'accès sera atteint.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Nombre d'accès actuel" - }, - "sendPasswordDesc": { - "message": "Vous pouvez, si vous le souhaitez, exiger un mot de passe pour accéder à ce Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Notes privées à propos de ce Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Désactivé" - }, - "sendLink": { - "message": "Lien du Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Copier le lien du Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Supprimer le mot de passe" - }, - "removedPassword": { - "message": "Mot de passe supprimé" - }, - "removePasswordConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir supprimer le mot de passe ?" - }, - "disableThisSend": { - "message": "Désactiver ce Send pour que personne ne puisse y accéder.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "Tous les Sends" - }, - "maxAccessCountReached": { - "message": "Nombre maximum d'accès atteint" - }, - "pendingDeletion": { - "message": "En attente de suppression" - }, - "expired": { - "message": "Expiré" - }, - "searchSends": { - "message": "Rechercher dans les Sends", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "Ce Send est protégé par un mot de passe. Veuillez saisir le mot de passe ci-dessous pour continuer.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Vous ne connaissez pas le mot de passe ? Demandez à l'expéditeur le mot de passe nécessaire pour accéder à ce Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "Ce Send est masqué par défaut. Vous pouvez changer sa visibilité en utilisant le bouton ci-dessous.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Télécharger le fichier" - }, - "sendAccessUnavailable": { - "message": "Le Send que vous essayez d'accéder n'existe pas ou n'est plus disponible.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "Il n'y a aucun Send à afficher.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Accès d'urgence" - }, - "emergencyAccessDesc": { - "message": "Accorder et gérer l'accès d'urgence pour les contacts de confiance. Les contacts de confiance peuvent demander l'accès à votre compte pour l'afficher ou en prendre le contrôle en cas d'urgence. Visitez notre page d'aide pour plus d'informations et de détails sur le fonctionnement du partage à divulgation nulle de connaissance." - }, - "trustedEmergencyContacts": { - "message": "Contacts d'urgence de confiance" - }, - "noTrustedContacts": { - "message": "Vous n'avez pas encore ajouté de contacts d'urgence, invitez un contact de confiance pour commencer." - }, - "addEmergencyContact": { - "message": "Ajouter un contact d'urgence" - }, - "designatedEmergencyContacts": { - "message": "Désigné comme contact d'urgence" - }, - "noGrantedAccess": { - "message": "Vous n'avez pas encore été désigné comme contact d'urgence pour qui que ce soit." - }, - "inviteEmergencyContact": { - "message": "Inviter un contact d'urgence" - }, - "editEmergencyContact": { - "message": "Modifier le contact d'urgence" - }, - "inviteEmergencyContactDesc": { - "message": "Invitez un nouveau contact d'urgence en entrant l'adresse e-mail de leur compte Bitwarden ci-dessous. S'ils n'ont pas encore de compte Bitwarden, ils seront invités à en créer un." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Accès d'urgence initié" - }, - "emergencyAccessRecoveryApproved": { - "message": "Accès d'urgence approuvé" - }, - "viewDesc": { - "message": "Peut afficher tous les éléments dans votre propre coffre." - }, - "takeover": { - "message": "Prise de contrôle" - }, - "takeoverDesc": { - "message": "Peut réinitialiser votre compte avec un nouveau mot de passe maître." - }, - "waitTime": { - "message": "Période d'attente" - }, - "waitTimeDesc": { - "message": "Temps nécessaire avant d'accorder l'accès automatiquement." - }, - "oneDay": { - "message": "1 jour" - }, - "days": { - "message": "$DAYS$ jours", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Utilisateur invité." - }, - "acceptEmergencyAccess": { - "message": "Vous avez été invité à devenir un contact d'urgence pour l'utilisateur indiqué ci-dessus. Pour accepter l'invitation, vous devez vous connecter ou créer un nouveau compte Bitwarden." - }, - "emergencyInviteAcceptFailed": { - "message": "Impossible d'accepter l'invitation. Demandez à l'utilisateur d'envoyer une nouvelle invitation." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Impossible d'accepter l'invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "Vous pourrez accéder aux options d'urgence pour cet utilisateur après la confirmation de votre identité. Nous vous enverrons un e-mail lorsque cela se produira." - }, - "requestAccess": { - "message": "Demander l’accès" - }, - "requestAccessConfirmation": { - "message": "Êtes-vous sûr de vouloir demander un accès d'urgence ? L'accès vous sera accordé après $WAITTIME$ jour(s) ou dès que l'utilisateur approuve manuellement la demande.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Accès d'urgence demandé pour $USER$. Nous vous informerons par e-mail quand il sera possible de continuer.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Accepter" - }, - "reject": { - "message": "Refuser" - }, - "approveAccessConfirmation": { - "message": "Êtes-vous sûr de vouloir approuver l'accès d'urgence ? Cela accordera à $USER$ les permissions suivantes sur votre compte: $ACTION$.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Accès d'urgence approuvé." - }, - "emergencyRejected": { - "message": "Accès d'urgence refusé." - }, - "passwordResetFor": { - "message": "Réinitialisation du mot de passe pour $USER$. Vous pouvez maintenant vous connecter en utilisant le nouveau mot de passe.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Propriété individuelle" - }, - "personalOwnershipPolicyDesc": { - "message": "Exiger que les utilisateurs enregistrent des éléments du coffre dans une organisation en retirant l'option de propriété individuelle." - }, - "personalOwnershipExemption": { - "message": "Les propriétaires et les administrateurs d'organisations sont dispensés de l'application de cette politique." - }, - "personalOwnershipSubmitError": { - "message": "En raison d'une politique d'entreprise, il vous est interdit d'enregistrer des éléments dans votre coffre personnel. Sélectionnez une organisation dans l'option Propriété et choisissez parmi les collections disponibles." - }, - "modifiedPolicyId": { - "message": "Politique $ID$ modifiée.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Prix du forfait" - }, - "estimatedTax": { - "message": "Taxe estimée" - }, - "custom": { - "message": "Personnalisé" - }, - "customDesc": { - "message": "Permet un contrôle plus précis des permissions utilisateur pour les configurations avancées." - }, - "permissions": { - "message": "Permissions" - }, - "accessBusinessPortal": { - "message": "Accéder au portail d'entreprise" - }, - "accessEventLogs": { - "message": "Accéder aux journaux d'événements" - }, - "accessImportExport": { - "message": "Accéder aux options d'import et d'export" - }, - "accessReports": { - "message": "Accéder aux rapports" - }, - "manageAllCollections": { - "message": "Gérer toutes les collections" - }, - "manageAssignedCollections": { - "message": "Gérer les collections assignées" - }, - "manageGroups": { - "message": "Gérer les groupes" - }, - "managePolicies": { - "message": "Gérer les politiques" - }, - "manageSso": { - "message": "Gérer le SSO" - }, - "manageUsers": { - "message": "Gérer les utilisateurs" - }, - "disableRequireSsoError": { - "message": "Vous devez désactiver manuellement la politique d'authentification unique (SSO) avant que cette politique ne puisse être désactivée." - }, - "personalOwnershipPolicyInEffect": { - "message": "Une politique d'organisation affecte vos options de propriété." - }, - "personalOwnershipCheckboxDesc": { - "message": "Désactiver la propriété individuelle des utilisateurs de l'organisation" - }, - "textHiddenByDefault": { - "message": "Lors de l'accès à ce Send, masquer le texte par défaut", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/he/messages.json b/locales/he/messages.json deleted file mode 100644 index ff8d2eaa..00000000 --- a/locales/he/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "כספת רשת $APP_NAME$", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "מאיזה סוג פריט זה?" - }, - "name": { - "message": "שם" - }, - "uri": { - "message": "כתובת" - }, - "uriPosition": { - "message": "כתובת $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "כתובת חדשה" - }, - "username": { - "message": "שם משתמש" - }, - "password": { - "message": "סיסמה" - }, - "newPassword": { - "message": "סיסמה חדשה" - }, - "passphrase": { - "message": "משפט סיסמה" - }, - "notes": { - "message": "הערות" - }, - "customFields": { - "message": "שדות מותאמים אישית" - }, - "cardholderName": { - "message": "שם בעל הכרטיס" - }, - "number": { - "message": "מספר" - }, - "brand": { - "message": "מותג" - }, - "expiration": { - "message": "תוקף" - }, - "securityCode": { - "message": "קוד האבטחה (CVV)" - }, - "identityName": { - "message": "שם הזהות" - }, - "company": { - "message": "חברה" - }, - "ssn": { - "message": "מספר ביטוח לאומי" - }, - "passportNumber": { - "message": "מספר דרכון" - }, - "licenseNumber": { - "message": "מספר רשיון" - }, - "email": { - "message": "אימייל" - }, - "phone": { - "message": "טלפון" - }, - "january": { - "message": "ינואר" - }, - "february": { - "message": "פברואר" - }, - "march": { - "message": "מרץ" - }, - "april": { - "message": "אפריל" - }, - "may": { - "message": "מאי" - }, - "june": { - "message": "יוני" - }, - "july": { - "message": "יולי" - }, - "august": { - "message": "אוגוסט" - }, - "september": { - "message": "ספטמבר" - }, - "october": { - "message": "אוקטובר" - }, - "november": { - "message": "נובמבר" - }, - "december": { - "message": "דצמבר" - }, - "title": { - "message": "תואר" - }, - "mr": { - "message": "מר" - }, - "mrs": { - "message": "גברת" - }, - "ms": { - "message": "העלמה" - }, - "dr": { - "message": "דוקטור" - }, - "expirationMonth": { - "message": "תוקף אשראי - חודש" - }, - "expirationYear": { - "message": "תוקף אשראי - שנה" - }, - "authenticatorKeyTotp": { - "message": "מפתח מאמת (TOTP)" - }, - "folder": { - "message": "תיקייה" - }, - "newCustomField": { - "message": "שדה מותאם אישית חדש" - }, - "value": { - "message": "ערך" - }, - "dragToSort": { - "message": "גרור כדי למיין" - }, - "cfTypeText": { - "message": "טקסט" - }, - "cfTypeHidden": { - "message": "מוסתר" - }, - "cfTypeBoolean": { - "message": "אמת או שקר" - }, - "remove": { - "message": "הסר" - }, - "unassigned": { - "message": "לא מוקצה" - }, - "noneFolder": { - "message": "ללא תיקיה", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "הוסף תיקיה" - }, - "editFolder": { - "message": "ערוך תיקייה" - }, - "baseDomain": { - "message": "שם בסיס הדומיין" - }, - "host": { - "message": "מארח", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "מדויק" - }, - "startsWith": { - "message": "מתחיל עם" - }, - "regEx": { - "message": "ביטוי רגולרי", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "זיהוי התאמה", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "ברירת מחדל לזיהוי התאמות", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "לעולם לא" - }, - "toggleVisibility": { - "message": "הצג או הסתר" - }, - "toggleCollapse": { - "message": "הצג או קפל", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "צור סיסמה" - }, - "checkPassword": { - "message": "בדוק אם הסיסמה נחשפה." - }, - "passwordExposed": { - "message": "הסיסמה הזו נחשפה $VALUE$ פעמים בפריצות אבטחה. כדאי לשנות אותה.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "הסיסמה לא נמצאה בפריצות אבטחה ידועות. היא בטוחה לשימוש." - }, - "save": { - "message": "שמור" - }, - "cancel": { - "message": "בטל" - }, - "canceled": { - "message": "בוטל" - }, - "close": { - "message": "סגור" - }, - "delete": { - "message": "מחק" - }, - "favorite": { - "message": "מועדף" - }, - "unfavorite": { - "message": "מחק ממועדפים" - }, - "edit": { - "message": "ערוך" - }, - "searchCollection": { - "message": "חפש אוסף" - }, - "searchFolder": { - "message": "חפש תיקייה" - }, - "searchFavorites": { - "message": "חפש מועדפים" - }, - "searchType": { - "message": "חפש סוג", - "description": "Search item type" - }, - "searchVault": { - "message": "חפש כספת" - }, - "allItems": { - "message": "כל הפריטים" - }, - "favorites": { - "message": "מועדפים" - }, - "types": { - "message": "סוגים" - }, - "typeLogin": { - "message": "פרטי התחברות" - }, - "typeCard": { - "message": "כרטיס" - }, - "typeIdentity": { - "message": "זהות" - }, - "typeSecureNote": { - "message": "פתק מאובטח" - }, - "folders": { - "message": "תיקיות" - }, - "collections": { - "message": "אוספים" - }, - "firstName": { - "message": "שם פרטי" - }, - "middleName": { - "message": "שם אמצעי" - }, - "lastName": { - "message": "שם משפחה" - }, - "address1": { - "message": "כתובת 1" - }, - "address2": { - "message": "כתובת 2" - }, - "address3": { - "message": "כתובת 3" - }, - "cityTown": { - "message": "עיר \\ ישוב" - }, - "stateProvince": { - "message": "מדינה \\ מחוז" - }, - "zipPostalCode": { - "message": "מיקוד" - }, - "country": { - "message": "מדינה" - }, - "shared": { - "message": "משותף" - }, - "attachments": { - "message": "קבצים מצורפים" - }, - "select": { - "message": "בחר" - }, - "addItem": { - "message": "הוסף פריט" - }, - "editItem": { - "message": "ערוך פריט" - }, - "viewItem": { - "message": "View Item" - }, - "ex": { - "message": "לדוגמא", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "אחר" - }, - "share": { - "message": "שתף" - }, - "valueCopied": { - "message": "השדה $VALUE$ הועתק לזיכרון", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "העתק ערך", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "העתק סיסמה", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "העתק שם משתמש", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "העתק מספר", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "העתק קוד אבטחה", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "העתק שורת כתובת", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "הכספת שלי" - }, - "vault": { - "message": "כספת" - }, - "shareSelected": { - "message": "שתף בחירה" - }, - "deleteSelected": { - "message": "מחק בחירה" - }, - "moveSelected": { - "message": "העבר בחירה" - }, - "selectAll": { - "message": "בחר הכל" - }, - "unselectAll": { - "message": "נקה הכל" - }, - "launch": { - "message": "הפעל" - }, - "newAttachment": { - "message": "צרף קובץ חדש" - }, - "deletedAttachment": { - "message": "קובץ מצורף שנמחק" - }, - "deleteAttachmentConfirmation": { - "message": "האם אתה בטוח שברצונך למחוק קובץ מצורף זה?" - }, - "attachmentSaved": { - "message": "הקובץ המצורף נשמר." - }, - "file": { - "message": "קובץ" - }, - "selectFile": { - "message": "בחר קובץ." - }, - "maxFileSize": { - "message": "גודל הקובץ המירבי הוא 100 מגה." - }, - "updateKey": { - "message": "לא ניתן להשתמש ביכולת זו עד שתעדכן את מפתח ההצפנה שלך." - }, - "addedItem": { - "message": "פריט שהתווסף" - }, - "editedItem": { - "message": "פריט שנערך" - }, - "sharedItem": { - "message": "פריט משותף" - }, - "sharedItems": { - "message": "פריטים משותפים" - }, - "deleteItem": { - "message": "מחק פריט" - }, - "deleteFolder": { - "message": "מחק תיקייה" - }, - "deleteAttachment": { - "message": "מחק קובץ מצורף" - }, - "deleteItemConfirmation": { - "message": "האם אתה בטוח שברצונך למחוק פריט זה?" - }, - "deletedItem": { - "message": "הפריט נשלח לסל המחזור" - }, - "deletedItems": { - "message": "הפריטים נשלחו לסל המחזור" - }, - "movedItems": { - "message": "פריטים שהועברו" - }, - "overwritePasswordConfirmation": { - "message": "האם אתה בטוח שברצונך לדרוס את הסיסמה הנוכחית?" - }, - "editedFolder": { - "message": "תיקיה שנערכה" - }, - "addedFolder": { - "message": "תיקיה שנוספה" - }, - "deleteFolderConfirmation": { - "message": "האם אתה בטוח שברצונך למחוק את התיקייה?" - }, - "deletedFolder": { - "message": "תיקיה שנמחקה" - }, - "loggedOut": { - "message": "בוצעה יציאה" - }, - "loginExpired": { - "message": "תוקף החיבור שלך הסתיים." - }, - "logOutConfirmation": { - "message": "האם אתה בטוח שברצונך להתנתק?" - }, - "logOut": { - "message": "התנתק" - }, - "ok": { - "message": "אישור" - }, - "yes": { - "message": "כן" - }, - "no": { - "message": "לא" - }, - "loginOrCreateNewAccount": { - "message": "צור חשבון חדש או התחבר כדי לגשת לכספת המאובטחת שלך." - }, - "createAccount": { - "message": "צור חשבון" - }, - "logIn": { - "message": "התחבר" - }, - "submit": { - "message": "שלח" - }, - "emailAddressDesc": { - "message": "השתמש בכתובת המייל שלך כדי להכנס." - }, - "yourName": { - "message": "השם שלך" - }, - "yourNameDesc": { - "message": "מה השם או הכינוי שלך?" - }, - "masterPass": { - "message": "סיסמה ראשית" - }, - "masterPassDesc": { - "message": "הסיסמה הראשית היא הסיסמה שבאמצעותה תיגש לכספת שלך. חשוב מאוד שלא תשכח את הסיסמה הזו. אין שום דרך לשחזר אותה במקרה ושכחת אותה." - }, - "masterPassHintDesc": { - "message": "ניתן להשתמש ברמז לסיסמה הראשית אם שכחת אותה." - }, - "reTypeMasterPass": { - "message": "הקלד שוב סיסמה ראשית" - }, - "masterPassHint": { - "message": "רמז לסיסמה ראשית (אופציונאלי)" - }, - "masterPassHintLabel": { - "message": "רמז לסיסמה ראשית" - }, - "settings": { - "message": "הגדרות" - }, - "passwordHint": { - "message": "רמז לסיסמה" - }, - "enterEmailToGetHint": { - "message": "הכנס את כתובת האימייל שלך לקבלת רמז עבור הסיסמה הראשית." - }, - "getMasterPasswordHint": { - "message": "הצג את הרמז לסיסמה הראשית" - }, - "emailRequired": { - "message": "נדרשת כתובת אימייל." - }, - "invalidEmail": { - "message": "כתובת אימייל לא תקינה." - }, - "masterPassRequired": { - "message": "יש להזין את הסיסמה הראשית." - }, - "masterPassLength": { - "message": "הסיסמה הראשית חייבת להיות לפחות באורך 8 תווים." - }, - "masterPassDoesntMatch": { - "message": "שדה אימות סיסמה ראשית לא תואם." - }, - "newAccountCreated": { - "message": "החשבון החדש שלך נוצר בהצלחה! כעת ניתן להתחבר למערכת." - }, - "masterPassSent": { - "message": "שלחנו לך אימייל עם רמז לסיסמה הראשית." - }, - "unexpectedError": { - "message": "אירעה שגיאה לא צפויה." - }, - "emailAddress": { - "message": "כתובת אימייל" - }, - "yourVaultIsLocked": { - "message": "הכספת שלך נעולה. הזן את הסיסמה הראשית שלך כדי להמשיך." - }, - "unlock": { - "message": "שחרר נעילה" - }, - "loggedInAsEmailOn": { - "message": "מחובר כ $EMAIL$ באתר $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "סיסמה ראשית שגויה" - }, - "lockNow": { - "message": "נעל עכשיו" - }, - "noItemsInList": { - "message": "אין פריטים להצגה ברשימה." - }, - "noCollectionsInList": { - "message": "אין אוספים להצגה ברשימה." - }, - "noGroupsInList": { - "message": "אין קבוצות להצגה ברשימה." - }, - "noUsersInList": { - "message": "אין משתמשים להצגה ברשימה." - }, - "noEventsInList": { - "message": "אין אירועים להצגה ברשימה." - }, - "newOrganization": { - "message": "ארגון חדש" - }, - "noOrganizationsList": { - "message": "אינך משויך לארגון. ניתן לשתף באופן מאובטח פריטים רק עם משתמשים אחרים בתוך ארגון." - }, - "versionNumber": { - "message": "גרסה $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "הכנס את קוד האימות בן 6 הספרות מאפליקציית האימות שלך." - }, - "enterVerificationCodeEmail": { - "message": "הכנס את קוד האימות בן 6 הספרות שנשלח ל-$EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "מייל אימות נשלח לכתובת $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "זכור אותי" - }, - "sendVerificationCodeEmailAgain": { - "message": "שלח שוב קוד אימות לאימייל" - }, - "useAnotherTwoStepMethod": { - "message": "השתמש בשיטה אחרת עבור כניסה דו שלבית" - }, - "insertYubiKey": { - "message": "הכנס את ה-YubiKey אל כניסת ה-USB במחשבך, ואז גע בכפתור שלו." - }, - "insertU2f": { - "message": "הכנס את מפתח האבטחה שלך אל כניסת ה-USB במחשבך. אם יש לו כפתור, לחץ עליו." - }, - "loginUnavailable": { - "message": "פרטי כניסה לא זמינים" - }, - "noTwoStepProviders": { - "message": "כניסה דו-שלבית פעילה בחשבון זה, אך אף אחד מספקי הכניסה הדו-שלבית לא נתמכים בדפדפן זה." - }, - "noTwoStepProviders2": { - "message": "אנא השתמש בדפדפן נתמך (כמו לדוגמא Chrome) ו\\או הוסף ספק כניסה דו-שלבית הנתמך בדפדפן זה (כמו לדוגמא אפליקצית אימות)." - }, - "twoStepOptions": { - "message": "אפשרויות כניסה דו שלבית" - }, - "recoveryCodeDesc": { - "message": "איבדת גישה לכל ספקי האימות הדו-שלבי שלך? השתמש בקוד האימות כדי לבטל את הספקים הקיימים מתוך החשבון שלך." - }, - "recoveryCodeTitle": { - "message": "קוד שחזור" - }, - "authenticatorAppTitle": { - "message": "אפליקציית אימות" - }, - "authenticatorAppDesc": { - "message": "השתמש באפליקצית אימות (כמו לדוגמא Authy או Google Authenticator) לייצור סיסמאות אימות מבוססות זמן.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "מפתח אבטחה OTP של YubiKey" - }, - "yubiKeyDesc": { - "message": "השתמש בYubiKey עבור גישה לחשבון שלך. עובד עם YubiKey מסדרה 4, סדרה 5, ומכשירי NEO." - }, - "duoDesc": { - "message": "בצע אימות מול Duo Security באמצעות אפליקצית Duo לפלאפון, SMS, שיחת טלפון, או מפתח אבטחה U2F.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "בצע אימות מול Duo Security עבור הארגון שלך באמצעות אפליקצית Duo לפלאפון, SMS, שיחת טלפון, או מפתח אבטחה U2F.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "השתמש בכל מפתח אבטחה התומך בFIDO U2F עבור גישה לחשבונך." - }, - "u2fTitle": { - "message": "מפתח אבטחה FIDO U2F" - }, - "emailTitle": { - "message": "אימייל" - }, - "emailDesc": { - "message": "קודים לאימות יישלחו אליך באימייל." - }, - "continue": { - "message": "המשך" - }, - "organization": { - "message": "ארגון" - }, - "organizations": { - "message": "ארגונים" - }, - "shareDesc": { - "message": "בחר ארגון שאיתו תרצה לשתף פריט זה. השיתוף מעביר את הבעלות על הפריט לארגון. אתה לא תהיה הבעלים הישיר של הפריט לאחר השיתוף." - }, - "shareManyDesc": { - "message": "בחר ארגון שאיתו תרצה לשתף פריטים אלו. השיתוף מעביר את הבעלות על הפריטים לארגון. אתה לא תהיה הבעלים הישיר של הפריטים לאחר השיתוף." - }, - "collectionsDesc": { - "message": "ערוך את האוסף המשותף של פריט זה. רק משתמשים מורשים מתוך הארגון יוכלו לראות פריט זה." - }, - "deleteSelectedItemsDesc": { - "message": "בחרת $COUNT$ פריט(ים) למחיקה. האם אתה בטוח שברצונך למחוק את כולם?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "בחר תיקיה שאליה תרצה להעביר את $COUNT$ הפריט(ים) שבחרת.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "בחרת $COUNT$ פריט(ים). מתוכם ניתן לשתף $SHAREABLE_COUNT$, אך $NONSHAREABLE_COUNT$ לא ניתן לשתף.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "קוד אימות (TOTP)" - }, - "copyVerificationCode": { - "message": "העתק קוד אימות" - }, - "warning": { - "message": "אזהרה" - }, - "confirmVaultExport": { - "message": "Confirm Vault Export" - }, - "exportWarningDesc": { - "message": "הקובץ מכיל את פרטי הכספת שלך בפורמט לא מוצפן. מומלץ להעביר את הקובץ רק בדרכים מוצפנות, ומאוד לא מומלץ לשמור או לשלוח את הקובץ הזה בדרכים לא מוצפנות (כדוגמת סתם אימייל). מחק את הקובץ מיד לאחר שסיימת את השימוש בו." - }, - "encExportWarningDesc": { - "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." - }, - "exportMasterPassword": { - "message": "הזן את הסיסמה הראשית שלך עבור יצוא המידע מהכספת." - }, - "exportVault": { - "message": "יצוא כספת" - }, - "fileFormat": { - "message": "פורמט קובץ" - }, - "exportSuccess": { - "message": "הוצאת המידע מהכספת שלך הסתיימה." - }, - "passwordGenerator": { - "message": "יוצר הסיסמאות" - }, - "minComplexityScore": { - "message": "ניקוד מורכבות מינימלי" - }, - "minNumbers": { - "message": "מינימום ספרות" - }, - "minSpecial": { - "message": "מינימום תווים מיוחדים", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "המנע מאותיות ותווים דומים" - }, - "regeneratePassword": { - "message": "צור סיסמה חדשה" - }, - "length": { - "message": "אורך" - }, - "numWords": { - "message": "מספר מילים" - }, - "wordSeparator": { - "message": "מפריד מילים" - }, - "capitalize": { - "message": "הפוך אותיות ראשונות לאותיות גדולות", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "כלול מספרים" - }, - "passwordHistory": { - "message": "היסטוריית סיסמאות" - }, - "noPasswordsInList": { - "message": "אין סיסמאות להצגה ברשימה." - }, - "clear": { - "message": "נקה", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "החשבון עודכן" - }, - "changeEmail": { - "message": "החלף אימייל" - }, - "newEmail": { - "message": "דוא\"ל חדש" - }, - "code": { - "message": "קוד" - }, - "changeEmailDesc": { - "message": "שלחנו מייל אימות לכתובת $EMAIL$. אנא בדוק אם קיבלת את הקוד והזן אותו בתיבה בכדי לסיים את תהליך החלפת האימייל.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "בכדי להמשיך הסשן הנוכחי ינותק, ותדרש להזין את פרטי הכניסה החדשים. כל הסשנים הפעילים במכשירים אחרים ישארו פעילים עד שעה ממועד הכניסה החדשה." - }, - "emailChanged": { - "message": "כתובת האימייל שונתה" - }, - "logBackIn": { - "message": "אנא התחבר שוב." - }, - "logBackInOthersToo": { - "message": "אנא התחבר שוב. אם אתה משתמש באפליקציות נוספות של Bitwarden, סגור את החיבור והתחבר שוב גם באפליקציות הללו." - }, - "changeMasterPassword": { - "message": "החלף סיסמה ראשית" - }, - "masterPasswordChanged": { - "message": "הסיסמה הראשית הוחלפה" - }, - "currentMasterPass": { - "message": "סיסמה ראשית נוכחית" - }, - "newMasterPass": { - "message": "סיסמה ראשית חדשה" - }, - "confirmNewMasterPass": { - "message": "אמת סיסמה ראשית חדשה" - }, - "encKeySettings": { - "message": "הגדרות מפתח הצפנה" - }, - "kdfAlgorithm": { - "message": "אלגוריתם KDF" - }, - "kdfIterations": { - "message": "איטרציות KDF" - }, - "kdfIterationsDesc": { - "message": "קביעת ערך גבוה עבור מספר האיטרציות של KDF עוזרת בהגנה על הסיסמה הראשית שלך מפני תקיפת Brute force (תְּקִיפָה כּוֹחָנִית). אנו ממליצים להשתמש בערך $VALUE$ או ערך גבוה יותר.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "קביעת ערך גבוה מדי עבור מספר האיטרציות KDF עלול לגרום לבעיות ביצועים בזמן הכניסה (ובזמן ביטול הנעילה) לחשבון Bitwarden במכשירים בעלי מעבד חלש. אנו ממליצים שתעלה את הערך בקפיצות של $INCREMENT$ ובדוק את ההשפעה של הביצועים בכל המכשירים שלך.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "שנה KDF" - }, - "encKeySettingsChanged": { - "message": "הגדרות מפתח ההצפנה השתנו" - }, - "dangerZone": { - "message": "אזור מסוכן" - }, - "dangerZoneDesc": { - "message": "זהירות, פעולות אלה לא ניתנות לביטול!" - }, - "deauthorizeSessions": { - "message": "בטל הרשאות סשנים" - }, - "deauthorizeSessionsDesc": { - "message": "מודאג אם השארת את החשבון שלך מחובר במכשיר אחר? המשך כאן להסרת ההרשאות של סשנים מכל המחשבים או המכשירים שהשתמשת בעבר. צעד אבטחה זה מומלץ אם השתמשת בעבר במחשב ציבורי או ששמרת את הסיסמה בטעות במכשיר שאינו שלך. כמו כן, צעד זה ינקה גם את כל הסיסמאות השמורות עבור סשנים שהשתמשו באימות דו-שלבי." - }, - "deauthorizeSessionsWarning": { - "message": "בכדי להמשיך הסשן הנוכחי ינותק, ותדרש להזין את פרטי הכניסה החדשים וגם את פרטי האימות הדו-שלבי, אם הוא מאופשר. כל הסשנים הפעילים במכשירים אחרים ישארו פעילים עד שעה ממועד הכניסה החדשה." - }, - "sessionsDeauthorized": { - "message": "הוסרה ההרשאה מכל הסשנים" - }, - "purgeVault": { - "message": "מחק תוכן כספת" - }, - "purgedOrganizationVault": { - "message": "מחק תוכן כספת ארגונית." - }, - "purgeVaultDesc": { - "message": "המשך כאן בכדי למחוק את כל הפריטים והתיקיות שבכספת שלך. פריטים השייכים לארגון לא ימחקו." - }, - "purgeOrgVaultDesc": { - "message": "המשך להלן כדי למחוק את כל הפריטים מהכספת הארגונית." - }, - "purgeVaultWarning": { - "message": "מחיקת תוכן הכספת היא סופית. פעולה זו היא בלתי הפיכה." - }, - "vaultPurged": { - "message": "המידע בכספת נמחק." - }, - "deleteAccount": { - "message": "מחק חשבון" - }, - "deleteAccountDesc": { - "message": "המשך כאן בכדי למחוק את החשבון שלך וכל המידע המשויך אליו." - }, - "deleteAccountWarning": { - "message": "מחיקת החשבון היא פעולה בלתי הפיכה." - }, - "accountDeleted": { - "message": "החשבון נמחק" - }, - "accountDeletedDesc": { - "message": "חשבונך נסגר וכל המידע המשויך אליו נמחק." - }, - "myAccount": { - "message": "החשבון שלי" - }, - "tools": { - "message": "כלים" - }, - "importData": { - "message": "ייבא נתונים" - }, - "importSuccess": { - "message": "נתונים יובאו בהצלחה אל תוך הכספת שלך." - }, - "importFormatError": { - "message": "המידע לא מפורמט בצורה נכונה. אנא בדוק את הקובץ ונסה שוב." - }, - "importNothingError": { - "message": "לא יובא דבר." - }, - "selectFormat": { - "message": "בחר את פורמט הקובץ לייבוא" - }, - "selectImportFile": { - "message": "בחר את הקובץ לייבוא" - }, - "orCopyPasteFileContents": { - "message": "או העתק\\הדבק את תוכן הקובץ ליבוא" - }, - "instructionsFor": { - "message": "הוראות עבור $NAME$", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "אפשרויות" - }, - "optionsDesc": { - "message": "התאם אישית את חווית כספת הרשת שלך." - }, - "optionsUpdated": { - "message": "אפשרויות עודכנו" - }, - "language": { - "message": "שפה" - }, - "languageDesc": { - "message": "שנה את השפה של כספת הרשת." - }, - "disableIcons": { - "message": "בטל אייקונים של האתר" - }, - "disableIconsDesc": { - "message": "יכולת הצג אייקונים-של-האתר מאפשרת הצגה של תמונה או אייקון מוכר ליד פרטי הכניסה שבכספת שלך." - }, - "enableGravatars": { - "message": "אפשר שימוש ב-Gravatar", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "שימוש בתמונות אווטאר שנטענו מהאתר gravatar.com." - }, - "enableFullWidth": { - "message": "אפשר תצוגה ברוחב מלא", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "אפשר לחלון הכספת לגדול לרוחב חלון הדפדפן." - }, - "default": { - "message": "ברירת מחדל" - }, - "domainRules": { - "message": "כללי דומיין" - }, - "domainRulesDesc": { - "message": "אם אתה משתמש באותם פרטי כניסה עבור אתרים שונים באותו דומיין, באפשרות לסמן את האתר כ\"שווה\". הערכים הרגילים שנוצרים על ידי Bitwarden מסומנים כדומיין \"גלובלי\"." - }, - "globalEqDomains": { - "message": "דומיינים גלובליים שווים" - }, - "customEqDomains": { - "message": "דומיינים שווים מותאמים אישית" - }, - "exclude": { - "message": "אל תכלול" - }, - "include": { - "message": "כלול" - }, - "customize": { - "message": "התאם אישית" - }, - "newCustomDomain": { - "message": "דומיין מותאם אישית חדש" - }, - "newCustomDomainDesc": { - "message": "הזן שמות של דומיינים מופרדים בפסיק. יש להזין רק את \"שורש\" הדומיין. אין להוסיף לרשימה סאב-דומיינים. לדוגמא, הזן \"google.com\" במקום לכתוב \"www.google.com\". ניתן גם לכתוב שמות של packages באנדרואיד כמו לדוגמא \"androidapp://package.name\" וכך לשייך אפליקציית אנדרואיד מסויימת עם הדומיינים הקשורים אליה." - }, - "customDomainX": { - "message": "דומיין מותאם אישית $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "הדומיינים עודכנו" - }, - "twoStepLogin": { - "message": "התחברות בשני-שלבים" - }, - "twoStepLoginDesc": { - "message": "שפר את אבטחת החשבון שלך על ידי דרישת צעד נוסף עבור כל נסיון חיבור." - }, - "twoStepLoginOrganizationDesc": { - "message": "דרוש כניסה בשני-שלבים עבור משתמשי הארגון שלך בעזרת הגדרת ספקים הנתמכים ברמת הארגון." - }, - "twoStepLoginRecoveryWarning": { - "message": "שים לב: שימוש לא נכון בכניסה דו-שלבית עשוי לגרום לך להנעל ללא גישה לחשבון Bitwarden שלך. מומלץ לשמור קוד שחזור לגישה לחשבון שלך למקרה שלא תוכל להשתמש בספק הכניסה הדו-שלבית (לדוגמא: איבדת את הפלאפון או את מפתח החומרה שלך). גם צוות התמיכה של Bitwarden לא יוכל לעזור לך במקרה שתאבד גישה לחשבון שלך. אנו ממליצים שתכתוב או תדפיס את קודי השחזור ותשמור אותם במקום בטוח." - }, - "viewRecoveryCode": { - "message": "צפה בקוד שחזור" - }, - "providers": { - "message": "ספקים", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "הפעל" - }, - "enabled": { - "message": "מופעל" - }, - "premium": { - "message": "פרימיום", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "חשבון פרימיום" - }, - "premiumRequired": { - "message": "נדרש חשבון פרימיום" - }, - "premiumRequiredDesc": { - "message": "בכדי להשתמש ביכולת זו יש צורך בחשבון פרמיום." - }, - "youHavePremiumAccess": { - "message": "יש לך גישת פרימיום" - }, - "alreadyPremiumFromOrg": { - "message": "לארגון שאתה חבר בו, כבר יש גישת פרימיום, ולכן יש לך גישה ליכולות פרמיום." - }, - "manage": { - "message": "נהל" - }, - "disable": { - "message": "בטל" - }, - "twoStepLoginProviderEnabled": { - "message": "ספק כניסה דו-שלבית זה נתמך בחשבון שלך." - }, - "twoStepLoginAuthDesc": { - "message": "הזן את הסיסמה הראשית שלך בכדי לשנות הגדרות הנוגעות לכניסה דו-שלבית." - }, - "twoStepAuthenticatorDesc": { - "message": "עקוב אחר הצעדים הבאים להגדרת כניסה דו-שלבית עם אפליקציית אימות:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "הורד אפליקצית אימות דו שלבית" - }, - "twoStepAuthenticatorNeedApp": { - "message": "צריך אפליקצית אימות דו שלבית? הורד את אחד מהבאות" - }, - "iosDevices": { - "message": "מכשירי אייפון" - }, - "androidDevices": { - "message": "מכשירי אנדרואיד" - }, - "windowsDevices": { - "message": "מכשירי ווינדוס" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "האפליקציות הללו הם המומלצות, אך ניתן לעבוד גם עם אפליקציות אימות אחרות." - }, - "twoStepAuthenticatorScanCode": { - "message": "סרוק את קוד הQR הזה בעזרת אפליקציית האימות שלך" - }, - "key": { - "message": "מפתח" - }, - "twoStepAuthenticatorEnterCode": { - "message": "הכנס את קוד האימות בן 6 הספרות מהאפליקציה" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "במקרה שאתה צריך את אפשרות הכניסה זמינה גם במכשיר אחר, כאן ניתן למצוא את קוד הQR (או המפתח) הנחוץ לאפליקציית האימות במכשיר הנוסף." - }, - "twoStepDisableDesc": { - "message": "האם אתה בטוח שברצונך לבטל את הספק הזה עבור הכניסה הדו-שלבית?" - }, - "twoStepDisabled": { - "message": "ספק עבור כניסה דו-שלבית מבוטל." - }, - "twoFactorYubikeyAdd": { - "message": "הוסף מפתח YubiKey לחשבונך" - }, - "twoFactorYubikeyPlugIn": { - "message": "חבר את הYubiKey לחיבור הUSB שבמחשב." - }, - "twoFactorYubikeySelectKey": { - "message": "בחר את השדה הריק הראשון עבור YubiKey להלן." - }, - "twoFactorYubikeyTouchButton": { - "message": "לחץ על הכפתור של YubiKey." - }, - "twoFactorYubikeySaveForm": { - "message": "שמור את הטופס." - }, - "twoFactorYubikeyWarning": { - "message": "עקב מגבלות פלטפורמה, לא ניתן להשתמש בYubiKey בכל האפליקציות של Bitwarden. עליך לאפשר ספק כניסה דו-שלבית נוסף למקרה שבו הYubiKey שלך לא זמין. פלטפורמות נתמכות:" - }, - "twoFactorYubikeySupportUsb": { - "message": "כספת רשת, אפליקציית שולחן עבודה, שורת הפקודה, וכל התוספים לדפדפן על מכשיר עם חיבור USB עבור הYubiKey שלך." - }, - "twoFactorYubikeySupportMobile": { - "message": "אפליקציות לפלאפון על מכשיר עם NFC או עם חיבור USB עבור YubiKey." - }, - "yubikeyX": { - "message": "מפתח YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "מפתח U2F $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "תמיכה ב-NFC" - }, - "twoFactorYubikeySupportsNfc": { - "message": "אחד מהמפתחות שלי תומך ב-NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "אם אחד ממפתחות הYubiKey שלך תומכים בNFC (לדוגמא - YubiKey NEO), תופיע לך הודעה במכשיר הנייד בכל פעם שהNFC מזהה את המפתח." - }, - "yubikeysUpdated": { - "message": "מפתחות YubiKey עודכנו" - }, - "disableAllKeys": { - "message": "בטל את כל המפתחות" - }, - "twoFactorDuoDesc": { - "message": "הזן את פרטי אפליקציית Bitwarden מתוך עמוד הניהול של Duo." - }, - "twoFactorDuoIntegrationKey": { - "message": "מפתח אינטגרציה" - }, - "twoFactorDuoSecretKey": { - "message": "מפתח סודי" - }, - "twoFactorDuoApiHostname": { - "message": "שם שרת הAPI" - }, - "twoFactorEmailDesc": { - "message": "עקוב אחר הצעדים הבאים להגדרת כניסה דו-שלבית עם אימייל:" - }, - "twoFactorEmailEnterEmail": { - "message": "כתוב את כתובת המייל שאליה ישלחו קודי האימות" - }, - "twoFactorEmailEnterCode": { - "message": "הכנס את קוד האימות בן 6 הספרות מהאימייל" - }, - "sendEmail": { - "message": "שלח דוא\"ל" - }, - "twoFactorU2fAdd": { - "message": "הוסף מפתח אבטחה מסוג FIDO U2F לחשבון שלך" - }, - "removeU2fConfirmation": { - "message": "האם אתה בטוח שברצונך למחוק מפתח אבטחה זה?" - }, - "readKey": { - "message": "קרא מפתח" - }, - "keyCompromised": { - "message": "המפתח נחשף." - }, - "twoFactorU2fGiveName": { - "message": "הענק שם ידידותי למפתח האבטחה עבור זיהוי קל ומהיר." - }, - "twoFactorU2fPlugInReadKey": { - "message": "חבר את מפתח האבטחה לכניסת הUSB במחשב שלך, ולחץ על הכפתור \"קרא מפתח\"." - }, - "twoFactorU2fTouchButton": { - "message": "אם למפתח האבטחה יש כפתור, לחץ עליו." - }, - "twoFactorU2fSaveForm": { - "message": "שמור את הטופס." - }, - "twoFactorU2fWarning": { - "message": "עקב מגבלות פלטפורמה, לא ניתן להשתמש בFIDO U2F בכל האפליקציות של Bitwarden. עליך לאפשר ספק כניסה דו-שלבית נוסף למקרה שבו הFIDO U2F שלך לא זמין. פלטפורמות נתמכות:" - }, - "twoFactorU2fSupportWeb": { - "message": "כספת ברשת ותוספי אבטחה למחשב נייח\\נייד עם דפדפן תומך בU2F (כרום, אופרה, Vivaldi, או פיירפוקס עם תמיכה בFIDO U2F)." - }, - "twoFactorU2fWaiting": { - "message": "ממתין ללחיצה על כפתור במפתח האבטחה שלך" - }, - "twoFactorU2fClickSave": { - "message": "לחץ על כפתור \"שמירה\" בכדי לאפשר כניסה דו-שלבית בעזרת מפתח אבטחה זה." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "היתה בעיה בקריאת מפתח האבטחה. נסה בשנית." - }, - "twoFactorRecoveryYourCode": { - "message": "קוד השחזור שלך עבור כניסה דו שלבית לBitwarden" - }, - "twoFactorRecoveryNoCode": { - "message": "עדיין לא הוספת אף ספק לכניסה דו-שלבית. לאחר שתאפשר כניסה באמצעות ספק עם כניסה דו שלבית תוכל לבדוק כאן שוב ולראות את קוד השחזור שלך." - }, - "printCode": { - "message": "הדפס קוד", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "דוחות" - }, - "unsecuredWebsitesReport": { - "message": "דוח אתרים לא מאובטחים" - }, - "unsecuredWebsitesReportDesc": { - "message": "שימוש באתרים לא מאובטחים שמתחילים בקידומת http:// יכול להיות מסוכן. אם האתר מאפשר זאת, תמיד נסה להשתמש בקידומת https:// כך שהחיבור יהיה מוצפן." - }, - "unsecuredWebsitesFound": { - "message": "נמצאו אתרים לא מאובטחים" - }, - "unsecuredWebsitesFoundDesc": { - "message": "מצאנו $COUNT$ פריטים בכספת שלך המכילים כתובות לא מאובטחות. אנו ממליצים לשנות את הכתובות לתחילית https:// אם האתר מאפשר זאת.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "לא נמצאו פריטים בכספת המכילים כתובות לא מאובטחות." - }, - "inactive2faReport": { - "message": "דוח 2FA לא פעילים" - }, - "inactive2faReportDesc": { - "message": "אימות דו-שלבי (2FA) היא הגדרת אבטחה חשובה שעוזרת לאבטח את החשבון שלך. אם האתר מאפשר זאת, מומלץ לאפשר את האימות הדו-שלבי." - }, - "inactive2faFound": { - "message": "נמצאו פרטי כניסות שלא פעילה בהן אופציית 2FA" - }, - "inactive2faFoundDesc": { - "message": "מצאנו $COUNT$ אתר(ים) בכספת שלך שלא מוגדרים לעבוד עם אימות דו-שלבי (לפי 2fa.directory). בכדי להגן על החשבונות הללו, עליך להפעיל את האימות הדו-שלבי עבורם.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "לא נמצאו אתרים ללא אימות דו-שלבי בכספת שלך." - }, - "instructions": { - "message": "הוראות" - }, - "exposedPasswordsReport": { - "message": "דו\"ח סיסמאות שנחשפו" - }, - "exposedPasswordsReportDesc": { - "message": "סיסמאות שנחשפו הם סיסמאות שנמצאו בפרצות אבטחה ידועות וגלויות לציבור או נמכרות בDark web על ידי האקרים." - }, - "exposedPasswordsFound": { - "message": "נמצאו סיסמאות שנחשפו" - }, - "exposedPasswordsFoundDesc": { - "message": "מצאנו $COUNT$ פריטים בכספת שלך שיש להם סיסמאות שנחשפו בפרצות אבטחה. מומלץ לשנות אותן וליצור סיסמאות חדשות.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "לא נמצאו פריטים בכספת שלך שנחשפו בפריצות ידועות." - }, - "checkExposedPasswords": { - "message": "בדוק אם קיימות סיסמאות שנפרצו" - }, - "exposedXTimes": { - "message": "נחשף $COUNT$ פעמים", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "דו\"ח סיסמאות חלשות" - }, - "weakPasswordsReportDesc": { - "message": "סיסמאות חלשות קלות לניחוש על ידי האקרים וכלים אוטומטיים לפריצת סיסמאות. מחולל הסיסמאות של Bitwarden יכול לעזור לך ליצור סיסמאות חזקות." - }, - "weakPasswordsFound": { - "message": "נמצאו סיסמאות חלשות" - }, - "weakPasswordsFoundDesc": { - "message": "מצאנו $COUNT$ פריטים בכספת שלך עם סיסמאות חלשות. מומלץ להשתמש בסיסמאות חזקות יותר.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "אין פריטים בכספת שלך עם סיסמאות חלשות." - }, - "reusedPasswordsReport": { - "message": "דו\"ח סיסמאות משומשות" - }, - "reusedPasswordsReportDesc": { - "message": "אם שירות שהשתמשת בו נפרץ, שימוש באותה הסיסמה במקום אחר מאפשר להאקרים לקבל גישה לחשבונות נוספים שלך בקלות רבה. מומלץ מאוד להשתמש בסיסמה יחודית עבור כל חשבון או שירות." - }, - "reusedPasswordsFound": { - "message": "נמצאו סיסמאות משומשות" - }, - "reusedPasswordsFoundDesc": { - "message": "מצאנו $COUNT$ סיסמאות משומשות בכספת שלך. כדאי שתשנה אותם כך שלכל פריט תהיה סיסמה ייחודית.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "אין פרטי התחברות בכספת שלך עם סיסמאות משומשות." - }, - "reusedXTimes": { - "message": "היה בשימוש $COUNT$ פעמים", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "דו\"ח פריצת אבטחה" - }, - "breachDesc": { - "message": "אירוע \"דליפה\" הוא תקרית שבה המידע של האתר היה נגיש בצורה לא חוקית להאקרים והם הפיצו אותו באופן פומבי. עבור על המידע שנחשף (כתובות אימייל, סיסמאות, כרטיסי אשראי וכו') ובצע את הפעולות הנחוצות, לדוגמא - לשנות את הסיסמאות שפורסמו." - }, - "breachCheckUsernameEmail": { - "message": "בדוק את כל שמות המשתמשים או כתובות המייל שאתה משתמש בהם." - }, - "checkBreaches": { - "message": "בדוק פריצות אבטחה" - }, - "breachUsernameNotFound": { - "message": "שם המשתמש $USERNAME$ לא נמצא בפריצות אבטחה ידועות.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "חדשות טובות", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "שם המשתמש $USERNAME$ נמצא ב-$COUNT$ פריצות אבטחה שונות.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "נמצאו חשבונות שדלפו" - }, - "compromisedData": { - "message": "מידע שנחשף" - }, - "website": { - "message": "אתר" - }, - "affectedUsers": { - "message": "משתמשים שהושפעו" - }, - "breachOccurred": { - "message": "פריצת אבטחה אירעה" - }, - "breachReported": { - "message": "פריצת אבטחה דווחה" - }, - "reportError": { - "message": "אירעה שגיאה בטעינת הדו\"ח. נסה שוב" - }, - "billing": { - "message": "חיוב" - }, - "accountCredit": { - "message": "מאזן החשבון", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "יתרת חשבון", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "הוסף קרדיט", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "סכום", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "כרטיס האשראי שנוסף יופיע בחשבונך לאחר שהתשלום יעובד במלואו. יש שיטות תשלום שלוקחות יותר זמן מאחרות." - }, - "makeSureEnoughCredit": { - "message": "אנא ודא כי יש בחשבונך מספיק קרדיט עבור רכישה זו. אם בחשבונך אין די קרדיט, נשתמש בשיטת התשלום המועדפת בחשבונך כדי לגבות את הפער. באפשרותך להוסיף קרדיט לחשבונך דרך עמוד החיוב." - }, - "creditAppliedDesc": { - "message": "ניתן להשתמש בקרדיט שבחשבונך כדי לבצע רכישות. נשתמש בקרדיט הראשון הזמין עבור חשבוניות בחשבון זה." - }, - "goPremium": { - "message": "שדרג לפרימיום", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "שדרגת לפרימיום." - }, - "premiumUpgradeUnlockFeatures": { - "message": "שדרג את חשבונך לפרמיום כדי להשתמש ביכולות נהדרות נוספות." - }, - "premiumSignUpStorage": { - "message": "1 ג'יגה של מקום אחסון מוצפן עבור קבצים מצורפים." - }, - "premiumSignUpTwoStep": { - "message": "אפשרויות כניסה דו שלבית מתקדמות כמו YubiKey, FIDO U2F, וגם Duo." - }, - "premiumSignUpReports": { - "message": "היגיינת סיסמאות, מצב בריאות החשבון, ודיווחים מעודכנים על פרצות חדשות בכדי לשמור על הכספת שלך בטוחה." - }, - "premiumSignUpTotp": { - "message": "מייצר קודי אימות TOTP עבור כניסות דו-שלביות (2FA) בכספת שלך." - }, - "premiumSignUpSupport": { - "message": "קדימות בתמיכה הטכנית." - }, - "premiumSignUpFuture": { - "message": "כל יכולות הפרימיום העתידיות שנפתח. עוד יכולות מגיעות בקרוב!" - }, - "premiumPrice": { - "message": "הכל רק ב-$PRICE$ לשנה!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "תוספים" - }, - "premiumAccess": { - "message": "גישת פרימיום" - }, - "premiumAccessDesc": { - "message": "ניתן להוסיף גישת פרימיום לכל חברי הארגון שלך ב-$PRICE$ ל$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "מקום אחסון נוסף (בג'יגה)" - }, - "additionalStorageGbDesc": { - "message": "# של ג'יגה בייט נוספים" - }, - "additionalStorageIntervalDesc": { - "message": "התוכנית שלך מגיע עם $SIZE$ של אחסון מוצפן. באפשרותך להוסיף מקום אחסון נוסף במחיר $PRICE$ עבור כל GB למשך $INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "סיכום" - }, - "total": { - "message": "סך הכול" - }, - "year": { - "message": "שנה" - }, - "month": { - "message": "חודש" - }, - "monthAbbr": { - "message": "חו.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "אנו נגבה לפי שיטת התשלום שבחרת - באופן מיידי. החיובים הבאים יתחדשו פעם בשנה. באפשרותך לבטל בכל עת." - }, - "paymentCharged": { - "message": "אנו נגבה לפי שיטת התשלום שבחרת - באופן מיידי. החיובים הבאים יתחדשו פעם ב$INTERVAL$. באפשרותך לבטל בכל עת.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "התוכנית שבחרת מגיעה עם 7 ימי נסיון חינמי. שיטת התשלום שבחרת לא תחויב עד לתום תקופת הנסיון. ביצוע החשבון יתבצע על בסיס מתחדש בכל $INTERVAL$. באפשרותך לבטל בכל עת.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "פרטי תשלום" - }, - "billingInformation": { - "message": "Billing Information" - }, - "creditCard": { - "message": "כרטיס אשראי" - }, - "paypalClickSubmit": { - "message": "לחץ על כפתור PayPal בכדי להכנס לחשבון PayPal שלך, ואז לחץ על כפתור התשלום כדי להמשיך." - }, - "cancelSubscription": { - "message": "בטל מנוי" - }, - "subscriptionCanceled": { - "message": "המנוי בוטל." - }, - "pendingCancellation": { - "message": "בקשת ביטול ממתינה" - }, - "subscriptionPendingCanceled": { - "message": "המנוי סומן כמיועד לביטול בסיום תקופת החיוב הנוכחית." - }, - "reinstateSubscription": { - "message": "הפעל מחדש את המנוי" - }, - "reinstateConfirmation": { - "message": "האם אתה בטוח שברצונך להסיר את בקשת הביטול הממתינה ולהפעיל מחדש את חשבונך?" - }, - "reinstated": { - "message": "המנוי הופעל מחדש." - }, - "cancelConfirmation": { - "message": "האם אתה בטוח שברצונך לבטל? ביטול המנוי יגרום לאיבוד כל האפשרויות השמורות למנויים בסיום מחזור החיוב הנוכחי." - }, - "canceledSubscription": { - "message": "המנוי בוטל." - }, - "neverExpires": { - "message": "ללא תאריך תפוגה" - }, - "status": { - "message": "סטטוס" - }, - "nextCharge": { - "message": "החיוב הבא" - }, - "details": { - "message": "פרטים" - }, - "downloadLicense": { - "message": "הורד רישיון" - }, - "updateLicense": { - "message": "עדכן רישיון" - }, - "updatedLicense": { - "message": "רישיון עודכן" - }, - "manageSubscription": { - "message": "ניהול מנוי" - }, - "storage": { - "message": "אחסון" - }, - "addStorage": { - "message": "הוסף אחסון" - }, - "removeStorage": { - "message": "הסר אחסון" - }, - "subscriptionStorage": { - "message": "למנוי שלך יש סך הכל $MAX_STORAGE$ GB של מקום אחסון למידע מוצפן. כרגע בשימוש $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "אמצעי תשלום" - }, - "noPaymentMethod": { - "message": "אין שיטת תשלום בקובץ." - }, - "addPaymentMethod": { - "message": "הוסף אמצעי תשלום" - }, - "changePaymentMethod": { - "message": "שנה אמצעי תשלום" - }, - "invoices": { - "message": "חשבוניות" - }, - "noInvoices": { - "message": "אין חשבוניות." - }, - "paid": { - "message": "שולם", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "לא שולם", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "עסקאות", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "אין עסקאות." - }, - "chargeNoun": { - "message": "חיוב", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "החזר כספי", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "חיובים בחשבונך יופיעו כ$STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "כמות GB של אחסון להוספה" - }, - "gbStorageRemove": { - "message": "כמות GB של אחסון להסרה" - }, - "storageAddNote": { - "message": "הוספת כמות מקום אחסון משנה את העלויות. פעולה זו מחוייבת באופן מיידי לפי שיטת החיוב שלך. בנוסף, החיוב הבא יכלול את ההפרש היחסי ממחזור החיוב הנוכחי." - }, - "storageRemoveNote": { - "message": "הסרת כמות מקום אחסון משנה את העלויות. החיוב הבא יכלול את ההפרש היחסי ממחזור החיוב הנוכחי." - }, - "adjustedStorage": { - "message": "כמות האחסון שהשתנתה היא $AMOUNT$ GB.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "צור קשר עם התמיכה" - }, - "updatedPaymentMethod": { - "message": "שיטת תשלום עודכנה." - }, - "purchasePremium": { - "message": "רכוש פרימיום" - }, - "licenseFile": { - "message": "קובץ רישיון" - }, - "licenseFileDesc": { - "message": "שם קובץ הרשיון שלך יהיה דומה ל$FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "כדי לשדרג את החשבון שלך לפרמיום עליך להעלות קובץ רשיון תקין." - }, - "uploadLicenseFileOrg": { - "message": "ליצירת שרת on-premises בארגון לך עליך להעלות קובץ רשיון תקין." - }, - "accountEmailMustBeVerified": { - "message": "יש לאמת את כתובת האימייל שלך." - }, - "newOrganizationDesc": { - "message": "שימוש ב\"ארגון\" מאפשר לך לשתף חלקים מהכספת עם אחרים, כמו גם לנהל משתמשים עבור ישות כדוגמת משפחה, צוות קטן, או חברה גדולה." - }, - "generalInformation": { - "message": "מידע כללי" - }, - "organizationName": { - "message": "שם הארגון" - }, - "accountOwnedBusiness": { - "message": "החשבון הזה נמצא בבעלות עסק." - }, - "billingEmail": { - "message": "מייל לחשבוניות" - }, - "businessName": { - "message": "שם העסק" - }, - "chooseYourPlan": { - "message": "בחר את התוכנית שלך" - }, - "users": { - "message": "משתמשים" - }, - "userSeats": { - "message": "כסאות משתמשים" - }, - "additionalUserSeats": { - "message": "כסאות משתמשים נוספים" - }, - "userSeatsDesc": { - "message": "כמות כסאות משתמשים" - }, - "userSeatsAdditionalDesc": { - "message": "התוכנית שלך מגיעה עם $BASE_SEATS$ כסאות משתמשים. באפשרות להוסיף משתמשים נוספים בעלות של $SEAT_PRICE$ עבור כל משתמש לחודש אחד.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "כמה כסאות משתמשים אתה צריך? אם יהיה צורך, באפשרותך להוסיף כסאות גם בשלב מאוחר יותר." - }, - "planNameFree": { - "message": "חינם", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "עבור בדיקה או עבור משתמשים פרטיים עבור שיתוף עם $COUNT$ משתמשים אחרים.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "משפחות" - }, - "planDescFamilies": { - "message": "שימוש פרטי - לשיתוף עם משפחה וחברים." - }, - "planNameTeams": { - "message": "צוותים" - }, - "planDescTeams": { - "message": "לעסקים וקבוצות ארגוניות." - }, - "planNameEnterprise": { - "message": "ארגון" - }, - "planDescEnterprise": { - "message": "לעסקים וארגונים גדולים." - }, - "freeForever": { - "message": "חינם לנצח" - }, - "includesXUsers": { - "message": "כולל $COUNT$ משתמשים", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "משתמשים נוספים" - }, - "costPerUser": { - "message": "$COST$ לכל משתמש", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "מוגבל ל$COUNT$ משתמשים (כולל אותך)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "מוגבל ל$COUNT$ אוספים", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "הוסף ושתף עם עד $COUNT$ משתמשים", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "הוסף ושתף עם כמות בלתי מוגבלת של משתמשים" - }, - "createUnlimitedCollections": { - "message": "צור מספר בלתי מוגבל של אוספים" - }, - "gbEncryptedFileStorage": { - "message": "גודל קובץ מוצפן: $SIZE$", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "אחסון שרת מקומי (אופציונאלי)" - }, - "usersGetPremium": { - "message": "המשתמשים יקבלו גישה ליכולות פרימיום" - }, - "controlAccessWithGroups": { - "message": "שלוט על גישת משתמשים בעזרת קבוצות" - }, - "syncUsersFromDirectory": { - "message": "סנכרן את המשתמשים והקבוצות עם Active Directory" - }, - "trackAuditLogs": { - "message": "עקוב אחר פעולות המשתמשים בעזרת יומן ביקורת" - }, - "enforce2faDuo": { - "message": "אכוף 2FA עם Dou" - }, - "priorityCustomerSupport": { - "message": "קדימות בתמיכה הטכנית" - }, - "xDayFreeTrial": { - "message": "$COUNT$ ימי נסיון, ניתן לבטל תמיד", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "חודשי" - }, - "annually": { - "message": "שנתי" - }, - "basePrice": { - "message": "מחיר בסיסי" - }, - "organizationCreated": { - "message": "הארגון נוצר" - }, - "organizationReadyToGo": { - "message": "הארגון החדש שלך מוכן!" - }, - "organizationUpgraded": { - "message": "הארגון שלך שודרג." - }, - "leave": { - "message": "יציאה" - }, - "leaveOrganizationConfirmation": { - "message": "האם אתה בטוח שברצונך לצאת מהארגון?" - }, - "leftOrganization": { - "message": "יצאת מהארגון." - }, - "defaultCollection": { - "message": "אוסף ברירת מחדל" - }, - "getHelp": { - "message": "קבל עזרה" - }, - "getApps": { - "message": "הורד את האפליקציות" - }, - "loggedInAs": { - "message": "מחובר בשם" - }, - "eventLogs": { - "message": "יומן אירועים" - }, - "people": { - "message": "אנשים" - }, - "policies": { - "message": "מדיניות" - }, - "editPolicy": { - "message": "ערוך מדיניות" - }, - "groups": { - "message": "קבוצות" - }, - "newGroup": { - "message": "קבוצה חדשה" - }, - "addGroup": { - "message": "הוסף קבוצה" - }, - "editGroup": { - "message": "ערוך קבוצה" - }, - "deleteGroupConfirmation": { - "message": "האם אתה בטוח שברצונך למחוק קבוצה זו?" - }, - "removeUserConfirmation": { - "message": "האם אתה בטוח שברצונך להסיר משתמש זה?" - }, - "externalId": { - "message": "מזהה חיצוני" - }, - "externalIdDesc": { - "message": "ניתן להשתמש במזהה החיצוני כקישור בין משאב זה למערכת חיצונית כמו לדוגמא תיקיית משתמש." - }, - "accessControl": { - "message": "בקרת גישה" - }, - "groupAccessAllItems": { - "message": "קבוצה זו יכולה לגשת ולשנות את כל הפריטים." - }, - "groupAccessSelectedCollections": { - "message": "קבוצה זו יכולה רק לגשת לאוספים שנבחרו." - }, - "readOnly": { - "message": "קריאה בלבד" - }, - "newCollection": { - "message": "אוסף חדש" - }, - "addCollection": { - "message": "הוסף אוסף" - }, - "editCollection": { - "message": "ערוך אוסף" - }, - "deleteCollectionConfirmation": { - "message": "האם אתה בטוח שברצונך למחוק אוסף זה?" - }, - "editUser": { - "message": "ערוך משתמש" - }, - "inviteUser": { - "message": "הזמן משתמש" - }, - "inviteUserDesc": { - "message": "הזמן משתמש חדש לארגון שלך על ידי הזנת כתובת האימייל שלהם שמשמשת אותם בחשבון Bitwarden. אם אין להם חשבון Bitwarden, הם יתבקשו ליצור חשבון." - }, - "inviteMultipleEmailDesc": { - "message": "באפשרותך להזמין עד $COUNT$ משתמשים בכל פעם על ידי הפרדת הכתובות בעזרת פסיק.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "משתמש זה הפעיל כניסה דו שלבית כדי להגן על חשבונו." - }, - "userAccessAllItems": { - "message": "משתמש זה יכול לגשת ולשנות את כל הפריטים." - }, - "userAccessSelectedCollections": { - "message": "משתמש זה יכול לגשת רק לאוספים נבחרים." - }, - "search": { - "message": "חיפוש" - }, - "invited": { - "message": "הוזמן" - }, - "accepted": { - "message": "התקבל" - }, - "confirmed": { - "message": "אושר" - }, - "owner": { - "message": "בעלים" - }, - "ownerDesc": { - "message": "החשבון בעל ההרשאות הגבוהות ביותר שיכול לנהל את כל ההיבטים של הארגון." - }, - "admin": { - "message": "מנהל" - }, - "adminDesc": { - "message": "מנהלים יכולים לגשת ולנהל את כל הפריטים, האוספים והמשתמשים שבארגונך." - }, - "user": { - "message": "משתמש" - }, - "userDesc": { - "message": "משתמש רגיל עם גישה לאוספים נבחרים בארגון שלך." - }, - "manager": { - "message": "מנהל" - }, - "managerDesc": { - "message": "מנהלים יכולים לגשת ולנהל אוספים נבחרים בארגונך." - }, - "all": { - "message": "הכל" - }, - "refresh": { - "message": "רענן" - }, - "timestamp": { - "message": "חותמת זמן" - }, - "event": { - "message": "אירוע" - }, - "unknown": { - "message": "לא ידוע" - }, - "loadMore": { - "message": "טען עוד" - }, - "mobile": { - "message": "נייד", - "description": "Mobile app" - }, - "extension": { - "message": "תוסף", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "שולחן עבודה", - "description": "Desktop app" - }, - "webVault": { - "message": "כספת רשת" - }, - "loggedIn": { - "message": "מחובר." - }, - "changedPassword": { - "message": "סיסמת החשבון שונתה." - }, - "enabledUpdated2fa": { - "message": "כניסה דו שלבית הופעלה\\עודכנה." - }, - "disabled2fa": { - "message": "בטל כניסה דו שלבית." - }, - "recovered2fa": { - "message": "חשבון שוחזר מכניסה דו שלבית." - }, - "failedLogin": { - "message": "נסיון כניסה נכשל עם סיסמה שגויה." - }, - "failedLogin2fa": { - "message": "נסיונות כניסה עם אימות דו שלבי נכשלו." - }, - "exportedVault": { - "message": "יצוא כספת." - }, - "exportedOrganizationVault": { - "message": "יצוא של תוכן הכספת הארגונית." - }, - "editedOrgSettings": { - "message": "הגדרות הארגון נערכו." - }, - "createdItemId": { - "message": "פריט שנוצר $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "פריט שנערך $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "פריט $ID$ נשלח לסל המחזור.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "פריט ששותף $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "פריט שנצפה $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "סיסמה שנצפתה עבור פריט $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "שדה מוסתר שנצפה עבור פריט $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "קוד אבטחה שנצפה עבור פריט $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "סיסמה שהועתקה עבור פריט $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "שדה מוסתר שהועתק עבור פריט $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "קוד אבטחה שהועתק עבור פריט $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "פריט שבוצע עבורו מילוי אוטומטי $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "אוסף שנוצר $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "אוסף שנערך $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "אוסף שנמחק $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "מדיניות שנערכה $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "קבוצה שנוצרה $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "קבוצה שנערכה $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "קבוצה שנמחקה $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "משתמש שהוסר $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "נוצר קובץ מצורף עבור פריט $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "נמחק קובץ מצורף של פריט $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "אוספים שנערכו של פריט $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "משתמש שהוזמן $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "משתמש שאישר $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "משתמש שנערך $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "קבוצות שנערכו עבור משתמש $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "מכשיר" - }, - "view": { - "message": "צפה" - }, - "invalidDateRange": { - "message": "טווח תאריכים לא חוקי." - }, - "errorOccurred": { - "message": "אירעה שגיאה." - }, - "userAccess": { - "message": "גישת משתמש" - }, - "userType": { - "message": "סוג משתמש" - }, - "groupAccess": { - "message": "גישה לקבוצה" - }, - "groupAccessUserDesc": { - "message": "ערוך את הקבוצות שמשתמש זה משויך אליהן." - }, - "invitedUsers": { - "message": "משתמשים שהוזמנו." - }, - "resendInvitation": { - "message": "שלח הזמנה מחדש" - }, - "hasBeenReinvited": { - "message": "$USER$ הוזמן מחדש.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "אשר" - }, - "confirmUser": { - "message": "אשר משתמש" - }, - "hasBeenConfirmed": { - "message": "$USER$ אושר.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "אשר משתמשים" - }, - "usersNeedConfirmed": { - "message": "ישנם משתמשים שקיבלו את הזמנתך, אך עדיין צריך לאשר אותם. למשתמשים אלו לא תהיה גישה לארגון עד שיאשרו אותם." - }, - "startDate": { - "message": "תאריך התחלה" - }, - "endDate": { - "message": "תאריך סיום" - }, - "verifyEmail": { - "message": "אמת כתובת אימייל" - }, - "verifyEmailDesc": { - "message": "אמת את האימייל שלך בכדי לאפשר גישה לכל היכולות." - }, - "verifyEmailFirst": { - "message": "ראשית יש לאמת את כתובת האימייל שלך." - }, - "checkInboxForVerification": { - "message": "בדוק אם קיבלת את קוד האימות באימייל." - }, - "emailVerified": { - "message": "כתובת האימייל שלך אומתה." - }, - "emailVerifiedFailed": { - "message": "לא ניתן לאמת את האימייל שלך. נסה לשלוח מייל אימות חדש." - }, - "updateBrowser": { - "message": "עדכן דפדפן" - }, - "updateBrowserDesc": { - "message": "אתה משתמש בדפדפן אינטרנט שאיננו נתמך. כספת הרשת עלולה שלא לפעול כראוי." - }, - "joinOrganization": { - "message": "הצטרף לארגון" - }, - "joinOrganizationDesc": { - "message": "הוזמנת להצטרף לארגון הרשום לעיל. בכדי להסכים, עליך להתחבר או ליצור חשבון Bitwarden חדש." - }, - "inviteAccepted": { - "message": "ההזמנה התקבלה" - }, - "inviteAcceptedDesc": { - "message": "תוכל לקבל גישה לארגון זה כשאחד המנהלים יאשר את החברות שלך. נשלח לך מייל כשזה יקרה." - }, - "inviteAcceptFailed": { - "message": "לא ניתן לקבל את ההזמנה. בקש ממנהל הארגון שישלח הזמנה חדשה." - }, - "inviteAcceptFailedShort": { - "message": "לא ניתן לאשר את ההזמנה. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "זכור אימייל" - }, - "recoverAccountTwoStepDesc": { - "message": "אם אין באפשרות לגשת לחשבונך דרך השיטות הדו-שלביות הרגילות, תוכל להשתמש בקוד לשחזור האימות הדו שלבי בכדי לבטל את כל ספקי האימות הדו שלבי בחשבונך." - }, - "recoverAccountTwoStep": { - "message": "שחזר כניסה דו שלבית לחשבון" - }, - "twoStepRecoverDisabled": { - "message": "כניסה דו שלבית בוטלה בחשבונך." - }, - "learnMore": { - "message": "למידע נוסף" - }, - "deleteRecoverDesc": { - "message": "הזן את כתובת האימייל שלך כדי לשחזר ולמחוק את החשבון שלך." - }, - "deleteRecoverEmailSent": { - "message": "אם החשבון שלך אכן קיים, שלחנו אליך מייל עם הוראות נוספות." - }, - "deleteRecoverConfirmDesc": { - "message": "ביקשת למחוק את חשבון ה-Bitwarden שלך. לחץ על הכפתור למטה בכדי לאשר זאת." - }, - "myOrganization": { - "message": "הארגון שלי" - }, - "deleteOrganization": { - "message": "מחק ארגון" - }, - "deleteOrganizationDesc": { - "message": "המשך כאן כדי למחוק את הארגון הזה ואת כל המידע המשויך. משתמשים פרטיים ישארו, אך הם לא יהיו משוייכים לארגון זה יותר." - }, - "deleteOrganizationWarning": { - "message": "מחיקת ארגון היא סופית. לא ניתן לבטל פעולה זו." - }, - "organizationDeleted": { - "message": "הארגון נמחק" - }, - "organizationDeletedDesc": { - "message": "הארגון וכל המידע המשוייך אליו נמחק." - }, - "organizationUpdated": { - "message": "הארגון עודכן" - }, - "taxInformation": { - "message": "מידע מיסים" - }, - "taxInformationDesc": { - "message": "עבור לקוחות בתוך ארצות הברית, יש לכתוב מיקוד לצורך דיווח מיסוי. עבור לקוחות ממדינות אחרות ניתן למלא מספר זיהוי מס (VAT/GST) ו\\או כתובת שתופיע על הקבלות שלך." - }, - "billingPlan": { - "message": "תוכנית", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "שנה תוכנית", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "שדרג את חשבונך לתוכנית אחרת על ידי הוספת הפרטים להלן. אנא ודא שהוספת שיטת תשלום פעילה לחשבונך.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "צור קשר עם תמיכת הלקוחות אם ברצונך להחליף את התוכנית שלך. אנא וודא כי יש לך שיטת תשלום פעילה בחשבון.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "חשבונית #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "צפה בחשבונית" - }, - "downloadInvoice": { - "message": "הורד חשבונית" - }, - "verifyBankAccount": { - "message": "אמת חשבון בנק" - }, - "verifyBankAccountDesc": { - "message": "ביצענו 2 מיקרו-הפקדות לחשבון הבנק שלך (לפעמים לוקח 1-2 ימי עסקים עד שהם מופיעות). הכנס כאן את הסכומים כדי לוודא את פרטי חשבון הבנק שלך." - }, - "verifyBankAccountInitialDesc": { - "message": "אופציית תשלום באמצעות חשבון בנק זמינה אך ורק ללקוחות תושבי ארצות הברית. תצטרך לאמת את פרטי החשבון. אנו נבצע 2 מיקרו-הפקדות בתוך 1-2 ימי עסקים. הזן את הסכומים בעמוד פרטי הארגון המשלם בכדי לאמת את חשבון הבנק." - }, - "verifyBankAccountFailureWarning": { - "message": "בעיות באימות פרטי החשבון עלולות להסתיים בתשלומים ש'התפספסו' ויכולות לגרום למנוי שלך, להתבטל." - }, - "verifiedBankAccount": { - "message": "חשבון בנק אומת." - }, - "bankAccount": { - "message": "חשבון בנק" - }, - "amountX": { - "message": "סכום $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "מספר הניתוב", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "מספר חשבון" - }, - "accountHolderName": { - "message": "שם בעל החשבון" - }, - "bankAccountType": { - "message": "סוג חשבון" - }, - "bankAccountTypeCompany": { - "message": "חברה (עסק)" - }, - "bankAccountTypeIndividual": { - "message": "אישי (פרטי)" - }, - "enterInstallationId": { - "message": "הכנס את מספר ההתקנה שלך" - }, - "addSeats": { - "message": "הוסף כסאות", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "הסר כסאות", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "המנוי שלך מתיר עד $COUNT$ משתמשים.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "כסאות להוספה" - }, - "seatsToRemove": { - "message": "כסאות להסרה" - }, - "seatsAddNote": { - "message": "הוספת כסאות משתמשים משנה את העלויות. פעולה זו מחוייבת באופן מיידי לפי שיטת החיוב שלך. בנוסף, החיוב הבא יכלול את ההפרש היחסי ממחזור החיוב הנוכחי." - }, - "seatsRemoveNote": { - "message": "הסרת כסאות משתמשים משנה את העלויות. החיוב הבא יכלול את ההפרש היחסי ממחזור החיוב הנוכחי." - }, - "adjustedSeats": { - "message": "מספר כסאות המשתמשים עודכן ל$AMOUNT$.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "המפתח עודכן" - }, - "updateKeyTitle": { - "message": "עדכן מפתח" - }, - "updateEncryptionKey": { - "message": "עדכן מפתח הצפנה" - }, - "updateEncryptionKeyShortDesc": { - "message": "אתה משתמש בסכמת-הצפנה לא מעודכנת." - }, - "updateEncryptionKeyDesc": { - "message": "התחלנו להשתמש במפתחות הצפנה גדולים יותר בכדי לספק אבטחה טובה יותר ולאפשר גישה ליכולות חדשות. תהליך עדכון מפתחות האבטחה שלך הוא קל ומהיר. פשוט הזן את הסיסמה הראשית שלך. שים לב שעדכון זה יהפוך להכרחי בסופו של דבר." - }, - "updateEncryptionKeyWarning": { - "message": "לאחר עדכון מפתחות ההצפנה שלך, תתבקש לצאת ולהכנס שוב בכל אפליקציות Bitwarden שאתה משתמש בהן (האפליקציה לפלאפון או ההרחבה לדפדפן). אם לא תצא ותכנס שוב (פעולת הכניסה מורידה את המפתח החדש), יתכן שתתקל במידע שגוי. אנו ננסה לגרום ליציאה אוטומטית, אך יתכן שהדבר לא יקרה מיידית." - }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." - }, - "subscription": { - "message": "מנוי" - }, - "loading": { - "message": "טוען" - }, - "upgrade": { - "message": "שדרג" - }, - "upgradeOrganization": { - "message": "שדרג ארגון" - }, - "upgradeOrganizationDesc": { - "message": "תכונה זו לא זמינה בתוכנית החינמיית עבור ארגונים. עבור לתוכנית בתשלום בכדי להשתמש בתכונות נוספות." - }, - "createOrganizationStep1": { - "message": "יצירת ארגון: צעד 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "לפני יצירת הארגון, עליך ליצור חשבון אישי חינמי." - }, - "refunded": { - "message": "זוכה" - }, - "nothingSelected": { - "message": "לא בחרת כלום." - }, - "acceptPolicies": { - "message": "סימון תיבה זו מהווה את הסכמתך לתנאים הבאים:" - }, - "acceptPoliciesError": { - "message": "לא הסכמת לתנאי השירות ומדיניות הפרטיות." - }, - "termsOfService": { - "message": "תנאי שירות" - }, - "privacyPolicy": { - "message": "מדיניות הפרטיות" - }, - "filters": { - "message": "מסננים" - }, - "vaultTimeout": { - "message": "משך זמן מירבי עבור חיבור לכספת" - }, - "vaultTimeoutDesc": { - "message": "בחר כמה זמן יעבור כדי שהכספת תסגר לאחר חוסר פעילות ותבצע את הפעולה שנבחרה." - }, - "oneMinute": { - "message": "דקה אחת" - }, - "fiveMinutes": { - "message": "5 דקות" - }, - "fifteenMinutes": { - "message": "15 דקות" - }, - "thirtyMinutes": { - "message": "30 דקות" - }, - "oneHour": { - "message": "שעה אחת" - }, - "fourHours": { - "message": "4 שעות" - }, - "onRefresh": { - "message": "בהפעלת הדפדפן מחדש" - }, - "dateUpdated": { - "message": "עודכן", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "הסיסמה עודכנה", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "הארגון הושבת." - }, - "licenseIsExpired": { - "message": "תוקף הרשיון הסתיים." - }, - "updatedUsers": { - "message": "משתמשים שעודכנו" - }, - "selected": { - "message": "נבחר\\ו" - }, - "ownership": { - "message": "בעלות" - }, - "whoOwnsThisItem": { - "message": "מי הבעלים של הפריט הזה?" - }, - "strong": { - "message": "חזקה", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "טובה", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "חלשה", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "חלשה מאוד", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "סיסמה ראשית חלשה" - }, - "weakMasterPasswordDesc": { - "message": "הסיסמה הראשית שבחרת חלשה מאוד. עליך לבחור סיסמה חזקה יותר (או להשתמש במשפט במקום מילה אחת) בכדי לאבטח את החשבון שלך. האם אתה בטוח שברצונך להשתמש בסיסמה ראשית זו?" - }, - "rotateAccountEncKey": { - "message": "כמו כן החלף את מפתח ההצפנה של החשבון שלי" - }, - "rotateEncKeyTitle": { - "message": "החלף מפתח הצפנה" - }, - "rotateEncKeyConfirmation": { - "message": "האם אתה בטוח שברצונך להחליף (לבצע רוטציה) של מפתח ההצפנה בחשבונך?" - }, - "attachmentsNeedFix": { - "message": "לפריט זה יש קובץ מצורף שצריך תיקון." - }, - "attachmentFixDesc": { - "message": "קובץ מצורף זה צריך לעבור תיקון. לחץ כאן כדי לגלות עוד פרטים." - }, - "fix": { - "message": "תקן", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "בכספת שלך קיים קובץ מצורף ישן שצריך לעבור תיקון לפני שתוכל להחליף את מפתחות ההצפנה של החשבון שלך." - }, - "yourAccountsFingerprint": { - "message": "הסיסמה של טביעת האצבעות בחשבון שלך", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "בכדי לוודא את תקינות מפתחות ההצפנה שלך, אנא ודא את משפט טביעת האצבע לפני שתמשיך.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "אל תבקש ממני לאמת את משפט טביעת האצבע יותר", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "חינם", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "מפתח API" - }, - "apiKeyDesc": { - "message": "מפתח הAPI שלך יכול לשמש עבור אימות מול הAPI הפומבי של Bitwarden." - }, - "apiKeyRotateDesc": { - "message": "רוטציית מפתח הAPI הופכת את המפתח הקודם ללא תקין. באפשרותך לבצע רוטציה של מפתח הAPI אם אתה מאמין שהמפתח הנוכחי לא בטוח לשימוש." - }, - "apiKeyWarning": { - "message": "למפתח הAPI שלך יש גישה מלאה לארגון שלך. מומלץ מאוד לשמור אותו בסוד." - }, - "userApiKeyDesc": { - "message": "מפתח הAPI שלך יכול לשמש עבור אימות מול הCLI של Bitwarden." - }, - "userApiKeyWarning": { - "message": "מפתח הAPI שלך משמש כמנגנון אימות אלטרנטיבי. יש לשמור עליו כמו על כל סיסמה." - }, - "oauth2ClientCredentials": { - "message": "אישורי לקוח OAuth 2.0", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "צפה במפתח API" - }, - "rotateApiKey": { - "message": "קבל מפתח API חדש" - }, - "selectOneCollection": { - "message": "עליך לבחור לפחות אוסף אחד." - }, - "couldNotChargeCardPayInvoice": { - "message": "לא הצלחנו לחייב את הכרטיס שלך. אנא בדוק ושלם את הקבלות המופיעות להלן." - }, - "inAppPurchase": { - "message": "רכישות פנימיות" - }, - "cannotPerformInAppPurchase": { - "message": "אין באפשרותך לבצע פעולה זו כשמשתמשים בשיטת התשלום 'רכישות פנימיות'." - }, - "manageSubscriptionFromStore": { - "message": "עליך לנהל את המנוי מתוך החנות שבה ביצעת את הרכישות הפנימיות." - }, - "minLength": { - "message": "אורך מינימלי" - }, - "clone": { - "message": "שכפול" - }, - "masterPassPolicyDesc": { - "message": "קבע דרישות מינימום עבור חוזק הסיסמה הראשית." - }, - "twoStepLoginPolicyDesc": { - "message": "דרוש מהמשתמשים להגדיר כניסה דו-שלבית בחשבונות האישיים שלהם." - }, - "twoStepLoginPolicyWarning": { - "message": "חברי ארגון ללא הגדרת כניסה דו-שלבית יוסרו מהארגון ויקבלו אימייל המסביר את השינוי." - }, - "twoStepLoginPolicyUserWarning": { - "message": "הינך חבר בארגון המחייב כניסה דו-שלבית מוגדרת בחשבונך. אם תבטל את כל הספקים המאפשרים כניסה דו-שלבית, תוסר אוטומטית מהארגון." - }, - "passwordGeneratorPolicyDesc": { - "message": "הגדר דרישות מינימום במחולל הסיסמאות." - }, - "passwordGeneratorPolicyInEffect": { - "message": "מדיניות ארגונית אחת או יותר משפיעה על הגדרות המחולל שלך." - }, - "masterPasswordPolicyInEffect": { - "message": "אחד או יותר מכללי מדיניות הארגון דורשים שסיסמתך הראשית תעמוד בדרישות הבאות:" - }, - "policyInEffectMinComplexity": { - "message": "ניקוד מורכבות הסיסמה צריך להיות לפחות $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "אורך מינימלי של $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "מכילה אות גדולה אחת או יותר" - }, - "policyInEffectLowercase": { - "message": "מכילה אות קטנה אחת או יותר" - }, - "policyInEffectNumbers": { - "message": "מכילה ספרה אחת או יותר" - }, - "policyInEffectSpecial": { - "message": "מכילה תו אחד או יותר מהתווים הבאים: $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "הסיסמה הראשית החדשה שלך לא עומדת בדרישות המדיניות." - }, - "minimumNumberOfWords": { - "message": "מספר מינימאלי של מילים" - }, - "defaultType": { - "message": "סוג ברירת מחדל" - }, - "userPreference": { - "message": "העדפות משתמש" - }, - "vaultTimeoutAction": { - "message": "פעולה לביצוע בכספת בתום זמן החיבור" - }, - "vaultTimeoutActionLockDesc": { - "message": "בכדי לקבל גישה לכספת נעולה, יש להזין את הסיסמה הראשית שוב." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "בכדי לקבל גישה לכספת שיצאו ממנה, יש לבצע אימות מחדש." - }, - "lock": { - "message": "נעילה", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "סל המחזור", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "חפש בסל המחזור" - }, - "permanentlyDelete": { - "message": "מחק לצמיתות" - }, - "permanentlyDeleteSelected": { - "message": "מחק לצמיתות פריטים שנבחרו" - }, - "permanentlyDeleteItem": { - "message": "מחק לצמיתות פריט שנבחר" - }, - "permanentlyDeleteItemConfirmation": { - "message": "האם אתה בטוח שברצונך למחוק את הפריט הזה?" - }, - "permanentlyDeletedItem": { - "message": "פריט שנמחק לצמיתות" - }, - "permanentlyDeletedItems": { - "message": "פריטים שנמחקו לצמיתות" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "בחרת $COUNT$ פריט(ים) למחיקה לצמיתות. האם אתה בטוח שברצונך למחוק את כולם?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "פריט שנמחק לצמיתות $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "שחזר" - }, - "restoreSelected": { - "message": "שחזר בחירה" - }, - "restoreItem": { - "message": "שחזר פריט" - }, - "restoredItem": { - "message": "פריט ששוחזר" - }, - "restoredItems": { - "message": "פריטים ששוחזרו" - }, - "restoreItemConfirmation": { - "message": "האם אתה בטוח שברצונך לשחזר פריט זה?" - }, - "restoreItems": { - "message": "שחזר פריטים" - }, - "restoreSelectedItemsDesc": { - "message": "בחרת $COUNT$ פריט(ים) לשחזור. האם אתה בטוח שברצונך לשחזר את כל הפריטים הללו?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "פריט ששוחזר $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "יציאה תגרום להסרת כל גישה שיש לך לכספת ודורשת אימות אונליין לאחר משך זמן מסויים. האם אתה בטוח שברצונך להשתמש באפשרות זו?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "אישור פעולת אימות לאחר חוסר פעילות" - }, - "hidePasswords": { - "message": "הסתר סיסמאות" - }, - "countryPostalCodeRequiredDesc": { - "message": "אנו מבקשים מידע זה בכדי לחשב את עלויות המיסים והדוחות הכספיים שלנו בלבד." - }, - "includeVAT": { - "message": "כלול נתוני מעמ/VAT/GST (אופציונאלי)" - }, - "taxIdNumber": { - "message": "מזהה מיסוי מעמ/VAT/GST" - }, - "taxInfoUpdated": { - "message": "מידע מיסוי עודכן." - }, - "setMasterPassword": { - "message": "קבע סיסמה ראשית" - }, - "ssoCompleteRegistration": { - "message": "כדי להשלים את הכניסה עם SSO, נא להגדיר סיסמה ראשית כדי לגשת ולהגן על הכספת שלך." - }, - "identifier": { - "message": "מזהה" - }, - "organizationIdentifier": { - "message": "מזהה ארגוני" - }, - "ssoLogInWithOrgIdentifier": { - "message": "הכנס באמצעות פורטל ההזדהות האחודה (SSO) הארגוני שלך. אנא הזן את המזהה הארגוני שלך כדי להתחיל." - }, - "enterpriseSingleSignOn": { - "message": "כניסה ארגונית אחודה" - }, - "ssoHandOff": { - "message": "ניתן לסגור את הטאב הנוכחי ולהמשיך את השימוש בתוסף." - }, - "businessPortal": { - "message": "פורטל עסקי", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "כל התכונות הקיימות ב\"צוות\", ובנוסף:" - }, - "includeSsoAuthentication": { - "message": "אימות SSO דרך SAML2.0 וOpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "מדיניות ארגונית" - }, - "ssoValidationFailed": { - "message": "אימות SSO נכשל" - }, - "ssoIdentifierRequired": { - "message": "מזהה הארגון נחוץ." - }, - "unlinkSso": { - "message": "נתק SSO" - }, - "linkSso": { - "message": "חבר SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "הגדרות המדיניות הועברו למקום אחר, והעמוד הזה לא יתמך יותר. אנא לחץ על הכפתור כדי לעבור לפורטל המדיניות העסקית." - }, - "singleOrg": { - "message": "ארגון יחידני" - }, - "singleOrgDesc": { - "message": "מונע מהמשתמשים אפשרות צירוף לארגונים אחרים." - }, - "singleOrgBlockCreateMessage": { - "message": "לפי מדיניות הארגון שלך, אין באפשרותך להצטרף ליותר מארגון אחד. אנא צור קשר עם מנהלי הארגון שלך, או לחלופין - צור חשבון Bitwarden נפרד." - }, - "singleOrgPolicyWarning": { - "message": "חברי ארגון שאינם הבעלים או המנהלים וכבר עכשיו הם חלק מארגון אחר - יוסרו מהארגון שלך." - }, - "requireSso": { - "message": "אימות בעזרת כניסה אחודה" - }, - "requireSsoPolicyDesc": { - "message": "מחייב את המשתמשים להשתמש בכניסה אחודה של הארגון." - }, - "prerequisite": { - "message": "תנאים מקדימים" - }, - "requireSsoPolicyReq": { - "message": "יש לסמן את מדיניות הארגון היחידני לפני הפעלת מדיניות זו." - }, - "requireSsoPolicyReqError": { - "message": "מדיניות ארגון יחידני לא הופעלה." - }, - "requireSsoExemption": { - "message": "מנהלי ובעלי הארגון מוחרגים מאכיפת מדיניות זו." - }, - "sendTypeFile": { - "message": "קובץ" - }, - "sendTypeText": { - "message": "טקסט" - }, - "createSend": { - "message": "צור Send חדש", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "ערוך Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "הSend נוצר בהצלחה", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "הSend נערך", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "הSend נמחק", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "מחק Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "האם אתה בטוח שברצונך למחוק Send זה?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "מה סוג הSend?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "תאריך מחיקה" - }, - "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "תאריך תפוגה" - }, - "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "כמות גישות מקסימלית" - }, - "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "כמות גישות נוכחית" - }, - "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Private notes about this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "מבוטל" - }, - "sendLink": { - "message": "לינק לSend", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "העתק לינק לSend", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "הסר סיסמה" - }, - "removedPassword": { - "message": "הסיסמה הוסרה" - }, - "removePasswordConfirmation": { - "message": "האם אתה בטוח שברצונך להסיר את הסיסמה?" - }, - "disableThisSend": { - "message": "Disable this Send so that no one can access it.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "כל הSendים" - }, - "maxAccessCountReached": { - "message": "Max access count reached" - }, - "pendingDeletion": { - "message": "Pending deletion" - }, - "expired": { - "message": "Expired" - }, - "searchSends": { - "message": "חיפוש Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "הSend הזה מוגן בסיסמה. אנא הזן את הסיסמה כדי להמשיך.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "לא יודע מה הסיסמה? בקש מהשולח את הסיסמה עבור הSend.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "הSend הזה מוסתר כברירת מחדל. באפשרותך לשנות את מצב ההסתרה בעזרת הכפתור להלן.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "הורד קובץ" - }, - "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "אין Sendים להצגה ברשימה.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Emergency Access" - }, - "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." - }, - "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" - }, - "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." - }, - "addEmergencyContact": { - "message": "Add emergency contact" - }, - "designatedEmergencyContacts": { - "message": "Designated as emergency contact" - }, - "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." - }, - "inviteEmergencyContact": { - "message": "Invite emergency contact" - }, - "editEmergencyContact": { - "message": "Edit emergency contact" - }, - "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" - }, - "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" - }, - "viewDesc": { - "message": "Can view all items in your own vault." - }, - "takeover": { - "message": "Takeover" - }, - "takeoverDesc": { - "message": "Can reset your account with a new master password." - }, - "waitTime": { - "message": "Wait Time" - }, - "waitTimeDesc": { - "message": "Time required before automatically granting access." - }, - "oneDay": { - "message": "1 day" - }, - "days": { - "message": "$DAYS$ days", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Invited user." - }, - "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." - }, - "requestAccess": { - "message": "Request Access" - }, - "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Approve" - }, - "reject": { - "message": "Reject" - }, - "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Emergency access approved." - }, - "emergencyRejected": { - "message": "Emergency access rejected" - }, - "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Personal Ownership" - }, - "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." - }, - "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." - }, - "modifiedPolicyId": { - "message": "Modified policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Plan price" - }, - "estimatedTax": { - "message": "Estimated tax" - }, - "custom": { - "message": "Custom" - }, - "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." - }, - "permissions": { - "message": "Permissions" - }, - "accessBusinessPortal": { - "message": "Access Business Portal" - }, - "accessEventLogs": { - "message": "Access Event Logs" - }, - "accessImportExport": { - "message": "Access Import/Export" - }, - "accessReports": { - "message": "Access Reports" - }, - "manageAllCollections": { - "message": "Manage All Collections" - }, - "manageAssignedCollections": { - "message": "Manage Assigned Collections" - }, - "manageGroups": { - "message": "Manage Groups" - }, - "managePolicies": { - "message": "Manage Policies" - }, - "manageSso": { - "message": "Manage SSO" - }, - "manageUsers": { - "message": "Manage Users" - }, - "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." - }, - "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." - }, - "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" - }, - "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/hr/messages.json b/locales/hr/messages.json deleted file mode 100644 index a89c36e4..00000000 --- a/locales/hr/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$ Web trezor", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "Koja je ovo vrsta stavke?" - }, - "name": { - "message": "Ime" - }, - "uri": { - "message": "URL" - }, - "uriPosition": { - "message": "URL $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "Novi URL" - }, - "username": { - "message": "Korisničko ime" - }, - "password": { - "message": "Lozinka" - }, - "newPassword": { - "message": "New Password" - }, - "passphrase": { - "message": "Lozinka" - }, - "notes": { - "message": "Bilješke" - }, - "customFields": { - "message": "Prilagođena polja" - }, - "cardholderName": { - "message": "Ime vlasnika kartice" - }, - "number": { - "message": "Broj" - }, - "brand": { - "message": "Marka" - }, - "expiration": { - "message": "Istek" - }, - "securityCode": { - "message": "Security Code (CVV)" - }, - "identityName": { - "message": "Naziv identiteta" - }, - "company": { - "message": "Tvrtka" - }, - "ssn": { - "message": "Social Security Number" - }, - "passportNumber": { - "message": "Broj putovnice" - }, - "licenseNumber": { - "message": "Broj licence" - }, - "email": { - "message": "E-pošta" - }, - "phone": { - "message": "Telefon" - }, - "january": { - "message": "Siječanj" - }, - "february": { - "message": "Veljača" - }, - "march": { - "message": "Ožujak" - }, - "april": { - "message": "Travanj" - }, - "may": { - "message": "Svibanj" - }, - "june": { - "message": "Lipanj" - }, - "july": { - "message": "Srpanj" - }, - "august": { - "message": "Kolovoz" - }, - "september": { - "message": "Rujan" - }, - "october": { - "message": "Listopad" - }, - "november": { - "message": "Studeni" - }, - "december": { - "message": "Prosinac" - }, - "title": { - "message": "Titula" - }, - "mr": { - "message": "G." - }, - "mrs": { - "message": "Gđa" - }, - "ms": { - "message": "Gđica" - }, - "dr": { - "message": "dr." - }, - "expirationMonth": { - "message": "Expiration Month" - }, - "expirationYear": { - "message": "Godina isteka" - }, - "authenticatorKeyTotp": { - "message": "Authenticator Key (TOTP)" - }, - "folder": { - "message": "Mapa" - }, - "newCustomField": { - "message": "New Custom Field" - }, - "value": { - "message": "Vrijednost" - }, - "dragToSort": { - "message": "Povucite za sortiranje" - }, - "cfTypeText": { - "message": "Tekst" - }, - "cfTypeHidden": { - "message": "Skriveno" - }, - "cfTypeBoolean": { - "message": "Boolean" - }, - "remove": { - "message": "Ukloni" - }, - "unassigned": { - "message": "Nedodijeljeno" - }, - "noneFolder": { - "message": "Nema mape", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Dodaj mapu" - }, - "editFolder": { - "message": "Uredi mapu" - }, - "baseDomain": { - "message": "Primarna domena" - }, - "host": { - "message": "Domaćin", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Točno" - }, - "startsWith": { - "message": "Počinje sa" - }, - "regEx": { - "message": "Regularni izraz", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Otkrivanje podudaranja", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Zadano otkrivanje podudaranja", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Nikad" - }, - "toggleVisibility": { - "message": "Promijeni vidljivost" - }, - "toggleCollapse": { - "message": "Toggle Collapse", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Generate Password" - }, - "checkPassword": { - "message": "Provjerite je li lozinka kompromitirana." - }, - "passwordExposed": { - "message": "This password has been exposed $VALUE$ time(s) in data breaches. You should change it.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "This password was not found in any known data breaches. It should be safe to use." - }, - "save": { - "message": "Spremi" - }, - "cancel": { - "message": "Odustani" - }, - "canceled": { - "message": "Otkazano" - }, - "close": { - "message": "Zatvori" - }, - "delete": { - "message": "Izbriši" - }, - "favorite": { - "message": "Favorit" - }, - "unfavorite": { - "message": "Nije favorit" - }, - "edit": { - "message": "Uredi" - }, - "searchCollection": { - "message": "Search Collection" - }, - "searchFolder": { - "message": "Pretraživanje mape" - }, - "searchFavorites": { - "message": "Search Favorites" - }, - "searchType": { - "message": "Tip pretrage", - "description": "Search item type" - }, - "searchVault": { - "message": "Pretraživanje trezora" - }, - "allItems": { - "message": "Sve stavke" - }, - "favorites": { - "message": "Favoriti" - }, - "types": { - "message": "Vrste" - }, - "typeLogin": { - "message": "Prijava" - }, - "typeCard": { - "message": "Kartica" - }, - "typeIdentity": { - "message": "Identitet" - }, - "typeSecureNote": { - "message": "Sigurna bilješka" - }, - "folders": { - "message": "Mape" - }, - "collections": { - "message": "Zbirke" - }, - "firstName": { - "message": "Ime" - }, - "middleName": { - "message": "Srednje ime" - }, - "lastName": { - "message": "Prezime" - }, - "address1": { - "message": "Adresa 1" - }, - "address2": { - "message": "Adresa 2" - }, - "address3": { - "message": "Adresa 3" - }, - "cityTown": { - "message": "Grad / Mjesto" - }, - "stateProvince": { - "message": "State / Province" - }, - "zipPostalCode": { - "message": "Zip / Postal Code" - }, - "country": { - "message": "Zemlja" - }, - "shared": { - "message": "Dijeljeno" - }, - "attachments": { - "message": "Privitci" - }, - "select": { - "message": "Odaberi" - }, - "addItem": { - "message": "Dodaj stavku" - }, - "editItem": { - "message": "Uredi stavku" - }, - "viewItem": { - "message": "View Item" - }, - "ex": { - "message": "npr.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Ostalo" - }, - "share": { - "message": "Podijeli" - }, - "valueCopied": { - "message": "$VALUE$ kopirana", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Kopiraj vrijednost", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Kopiraj lozinku", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Kopiraj korisničko ime", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Kopiraj broj", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Copy Security Code", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Kopiraj URI", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "Moj trezor" - }, - "vault": { - "message": "Trezor" - }, - "shareSelected": { - "message": "Podijeli odabrano" - }, - "deleteSelected": { - "message": "Obriši odabrano" - }, - "moveSelected": { - "message": "Premjesti označeno" - }, - "selectAll": { - "message": "Odaberi sve" - }, - "unselectAll": { - "message": "Poništi odabir" - }, - "launch": { - "message": "Pokreni" - }, - "newAttachment": { - "message": "Add New Attachment" - }, - "deletedAttachment": { - "message": "Izbrisani privitak" - }, - "deleteAttachmentConfirmation": { - "message": "Are you sure you want to delete this attachment?" - }, - "attachmentSaved": { - "message": "Privitak je spremljen." - }, - "file": { - "message": "Datoteka" - }, - "selectFile": { - "message": "Odaberi datoteku." - }, - "maxFileSize": { - "message": "Maksimalna veličina datoteke je 100 MB." - }, - "updateKey": { - "message": "You cannot use this feature until you update your encryption key." - }, - "addedItem": { - "message": "Dodaj stavku" - }, - "editedItem": { - "message": "Uređena stavka" - }, - "sharedItem": { - "message": "Podijeljena stavka" - }, - "sharedItems": { - "message": "Podijeljene stavke" - }, - "deleteItem": { - "message": "Izbriši stavku" - }, - "deleteFolder": { - "message": "Izbriši mapu" - }, - "deleteAttachment": { - "message": "Delete Attachment" - }, - "deleteItemConfirmation": { - "message": "Do you really want to send to the trash?" - }, - "deletedItem": { - "message": "Izbrisana stavka" - }, - "deletedItems": { - "message": "Izbrisane stavke" - }, - "movedItems": { - "message": "Premještene stavke" - }, - "overwritePasswordConfirmation": { - "message": "Are you sure you want to overwrite the current password?" - }, - "editedFolder": { - "message": "Uređena mapa" - }, - "addedFolder": { - "message": "Dodana je mapa" - }, - "deleteFolderConfirmation": { - "message": "Are you sure you want to delete this folder?" - }, - "deletedFolder": { - "message": "Izbrisana mapa" - }, - "loggedOut": { - "message": "Odjavljen" - }, - "loginExpired": { - "message": "Vaša sesija je istekla." - }, - "logOutConfirmation": { - "message": "Jeste li sigurni da se želite odjaviti?" - }, - "logOut": { - "message": "Odjavi se" - }, - "ok": { - "message": "U redu" - }, - "yes": { - "message": "Da" - }, - "no": { - "message": "Ne" - }, - "loginOrCreateNewAccount": { - "message": "Log in or create a new account to access your secure vault." - }, - "createAccount": { - "message": "Stvori račun" - }, - "logIn": { - "message": "Prijavi se" - }, - "submit": { - "message": "Pošalji" - }, - "emailAddressDesc": { - "message": "You'll use your email address to log in." - }, - "yourName": { - "message": "Vaše ime" - }, - "yourNameDesc": { - "message": "Kako da vas zovemo?" - }, - "masterPass": { - "message": "Glavna lozinka" - }, - "masterPassDesc": { - "message": "The master password is the password you use to access your vault. It is very important that you do not forget your master password. There is no way to recover the password in the event that you forget it." - }, - "masterPassHintDesc": { - "message": "A master password hint can help you remember your password if you forget it." - }, - "reTypeMasterPass": { - "message": "Re-type Master Password" - }, - "masterPassHint": { - "message": "Master Password Hint (optional)" - }, - "masterPassHintLabel": { - "message": "Master Password Hint" - }, - "settings": { - "message": "Postavke" - }, - "passwordHint": { - "message": "Podsjetnik za lozinku" - }, - "enterEmailToGetHint": { - "message": "Enter your account email address to receive your master password hint." - }, - "getMasterPasswordHint": { - "message": "Dobijte podsjetnik za glavnu lozinku" - }, - "emailRequired": { - "message": "Adresa e-pošte je obavezna." - }, - "invalidEmail": { - "message": "Nevažeća adresa e-pošte." - }, - "masterPassRequired": { - "message": "Potrebna je glavna lozinka." - }, - "masterPassLength": { - "message": "Master password must be at least 8 characters long." - }, - "masterPassDoesntMatch": { - "message": "Master password confirmation does not match." - }, - "newAccountCreated": { - "message": "Your new account has been created! You may now log in." - }, - "masterPassSent": { - "message": "We've sent you an email with your master password hint." - }, - "unexpectedError": { - "message": "Došlo je do neočekivane pogreške." - }, - "emailAddress": { - "message": "Adresa e-pošte" - }, - "yourVaultIsLocked": { - "message": "Your vault is locked. Verify your master password to continue." - }, - "unlock": { - "message": "Otključaj" - }, - "loggedInAsEmailOn": { - "message": "Logged in as $EMAIL$ on $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Nevažeća glavna lozinka" - }, - "lockNow": { - "message": "Zaključaj sada" - }, - "noItemsInList": { - "message": "Nema stavki za prikaz." - }, - "noCollectionsInList": { - "message": "Nema kolekcija za prikaz." - }, - "noGroupsInList": { - "message": "Nema grupa za prikaz." - }, - "noUsersInList": { - "message": "Nema korisnika za prikaz." - }, - "noEventsInList": { - "message": "Nema događaja za prikaz." - }, - "newOrganization": { - "message": "New Organization" - }, - "noOrganizationsList": { - "message": "You do not belong to any organizations. Organizations allow you to securely share items with other users." - }, - "versionNumber": { - "message": "Verzija $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Enter the 6 digit verification code from your authenticator app." - }, - "enterVerificationCodeEmail": { - "message": "Enter the 6 digit verification code that was emailed to $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "E-pošta za potvrdu poslana je na $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Zapamti me" - }, - "sendVerificationCodeEmailAgain": { - "message": "Ponovno pošaljite kontrolni kod na adresu e-pošte" - }, - "useAnotherTwoStepMethod": { - "message": "Koristiti drugi način prijave u dva koraka" - }, - "insertYubiKey": { - "message": "Insert your YubiKey into your computer's USB port, then touch its button." - }, - "insertU2f": { - "message": "Insert your security key into your computer's USB port. If it has a button, touch it." - }, - "loginUnavailable": { - "message": "Login Unavailable" - }, - "noTwoStepProviders": { - "message": "This account has two-step login enabled, however, none of the configured two-step providers are supported by this web browser." - }, - "noTwoStepProviders2": { - "message": "Please use a supported web browser (such as Chrome) and/or add additional providers that are better supported across web browsers (such as an authenticator app)." - }, - "twoStepOptions": { - "message": "Two-step Login Options" - }, - "recoveryCodeDesc": { - "message": "Lost access to all of your two-factor providers? Use your recovery code to disable all two-factor providers from your account." - }, - "recoveryCodeTitle": { - "message": "Kôd za oporavak" - }, - "authenticatorAppTitle": { - "message": "Authenticator App" - }, - "authenticatorAppDesc": { - "message": "Use an authenticator app (such as Authy or Google Authenticator) to generate time-based verification codes.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "YubiKey OTP Security Key" - }, - "yubiKeyDesc": { - "message": "Use a YubiKey to access your account. Works with YubiKey 4 series, 5 series, and NEO devices." - }, - "duoDesc": { - "message": "Verify with Duo Security using the Duo Mobile app, SMS, phone call, or U2F security key.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Verify with Duo Security for your organization using the Duo Mobile app, SMS, phone call, or U2F security key.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Use any FIDO U2F enabled security key to access your account." - }, - "u2fTitle": { - "message": "FIDO U2F Security Key" - }, - "emailTitle": { - "message": "E-pošta" - }, - "emailDesc": { - "message": "Verification codes will be emailed to you." - }, - "continue": { - "message": "Nastavi" - }, - "organization": { - "message": "Organizacija" - }, - "organizations": { - "message": "Organizacije" - }, - "shareDesc": { - "message": "Choose an organization that you wish to share this item with. Sharing transfers ownership of the item to the organization. You will no longer be the direct owner of this item once it has been shared." - }, - "shareManyDesc": { - "message": "Choose an organization that you wish to share these items with. Sharing transfers ownership of the items to the organization. You will no longer be the direct owner of these items once they have been shared." - }, - "collectionsDesc": { - "message": "Edit the collections that this item is being shared with. Only organization users with access to these collections will be able to see this item." - }, - "deleteSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to delete. Are you sure you want to delete all of these items?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Choose a folder that you would like to move the $COUNT$ selected item(s) to.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "You have selected $COUNT$ item(s). $SHAREABLE_COUNT$ items are sharable, $NONSHAREABLE_COUNT$ are not.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Verification Code (TOTP)" - }, - "copyVerificationCode": { - "message": "Copy Verification Code" - }, - "warning": { - "message": "Upozorenje" - }, - "confirmVaultExport": { - "message": "Confirm Vault Export" - }, - "exportWarningDesc": { - "message": "This export contains your vault data in an unencrypted format. You should not store or send the exported file over unsecure channels (such as email). Delete it immediately after you are done using it." - }, - "encExportWarningDesc": { - "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." - }, - "exportMasterPassword": { - "message": "Enter your master password to export your vault data." - }, - "exportVault": { - "message": "Izvoz trezora" - }, - "fileFormat": { - "message": "Format datoteke" - }, - "exportSuccess": { - "message": "Vaši podaci iz trezora su izvezeni." - }, - "passwordGenerator": { - "message": "Password Generator" - }, - "minComplexityScore": { - "message": "Minimum Complexity Score" - }, - "minNumbers": { - "message": "Najmanje brojeva" - }, - "minSpecial": { - "message": "Najmanje specijalnih znakova", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Avoid Ambiguous Characters" - }, - "regeneratePassword": { - "message": "Regenerate Password" - }, - "length": { - "message": "Dužina" - }, - "numWords": { - "message": "Number of Words" - }, - "wordSeparator": { - "message": "Razdjelitelj riječi" - }, - "capitalize": { - "message": "Pretvori u velika početna slova", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Uključi broj" - }, - "passwordHistory": { - "message": "Password History" - }, - "noPasswordsInList": { - "message": "Nema lozinki na popisu." - }, - "clear": { - "message": "Očisti", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Račun je ažuriran" - }, - "changeEmail": { - "message": "Promijeni adresu e-pošte" - }, - "newEmail": { - "message": "Nova adresa e-pošte" - }, - "code": { - "message": "Kod" - }, - "changeEmailDesc": { - "message": "We have emailed a verification code to $EMAIL$. Please check your email for this code and enter it below to finalize the email address change.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour." - }, - "emailChanged": { - "message": "Adresa e-pošte je promijenjena" - }, - "logBackIn": { - "message": "Molimo prijavite se ponovno." - }, - "logBackInOthersToo": { - "message": "Please log back in. If you are using other Bitwarden applications log out and back in to those as well." - }, - "changeMasterPassword": { - "message": "Change Master Password" - }, - "masterPasswordChanged": { - "message": "Master Password Changed" - }, - "currentMasterPass": { - "message": "Current Master Password" - }, - "newMasterPass": { - "message": "New Master Password" - }, - "confirmNewMasterPass": { - "message": "Confirm New Master Password" - }, - "encKeySettings": { - "message": "Encryption Key Settings" - }, - "kdfAlgorithm": { - "message": "KDF algoritam" - }, - "kdfIterations": { - "message": "KDF iteracije" - }, - "kdfIterationsDesc": { - "message": "Higher KDF iterations can help protect your master password from being brute forced by an attacker. We recommend a value of $VALUE$ or more.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Setting your KDF iterations too high could result in poor performance when logging into (and unlocking) Bitwarden on devices with slower CPUs. We recommend that you increase the value in increments of $INCREMENT$ and then test all of your devices.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Promijeni KDF" - }, - "encKeySettingsChanged": { - "message": "Encryption Key Settings Changed" - }, - "dangerZone": { - "message": "Opasna zona" - }, - "dangerZoneDesc": { - "message": "Careful, these actions are not reversible!" - }, - "deauthorizeSessions": { - "message": "Deauthorize Sessions" - }, - "deauthorizeSessionsDesc": { - "message": "Concerned your account is logged in on another device? Proceed below to deauthorize all computers or devices that you have previously used. This security step is recommended if you previously used a public computer or accidentally saved your password on a device that isn't yours. This step will also clear all previously remembered two-step login sessions." - }, - "deauthorizeSessionsWarning": { - "message": "Proceeding will also log you out of your current session, requiring you to log back in. You will also be prompted for two-step login again, if enabled. Active sessions on other devices may continue to remain active for up to one hour." - }, - "sessionsDeauthorized": { - "message": "All Sessions Deauthorized" - }, - "purgeVault": { - "message": "Očisti trezor" - }, - "purgedOrganizationVault": { - "message": "Purged organization vault." - }, - "purgeVaultDesc": { - "message": "Proceed below to delete all items and folders in your vault. Items that belong to an organization that you share with will not be deleted." - }, - "purgeOrgVaultDesc": { - "message": "Proceed below to delete all items in the organization's vault." - }, - "purgeVaultWarning": { - "message": "Purging your vault is permanent. It cannot be undone." - }, - "vaultPurged": { - "message": "Vaš trezor je očišćen." - }, - "deleteAccount": { - "message": "Obriši račun" - }, - "deleteAccountDesc": { - "message": "Proceed below to delete your account and all associated data." - }, - "deleteAccountWarning": { - "message": "Deleting your account is permanent. It cannot be undone." - }, - "accountDeleted": { - "message": "Račun je izbrisan" - }, - "accountDeletedDesc": { - "message": "Your account has been closed and all associated data has been deleted." - }, - "myAccount": { - "message": "Moj račun" - }, - "tools": { - "message": "Alati" - }, - "importData": { - "message": "Uvezi podatke" - }, - "importSuccess": { - "message": "Data has been successfully imported into your vault." - }, - "importFormatError": { - "message": "Data is not formatted correctly. Please check your import file and try again." - }, - "importNothingError": { - "message": "Ništa nije uvezeno." - }, - "selectFormat": { - "message": "Odaberite format datoteke za uvoz" - }, - "selectImportFile": { - "message": "Odaberite datoteke za uvoz" - }, - "orCopyPasteFileContents": { - "message": "or copy/paste the import file contents" - }, - "instructionsFor": { - "message": "$NAME$ Instructions", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Opcije" - }, - "optionsDesc": { - "message": "Customize your web vault experience." - }, - "optionsUpdated": { - "message": "Opcije su ažurirane" - }, - "language": { - "message": "Jezik" - }, - "languageDesc": { - "message": "Change the language used by the web vault." - }, - "disableIcons": { - "message": "Disable Website Icons" - }, - "disableIconsDesc": { - "message": "Website Icons provide a recognizable image next to each login item in your vault." - }, - "enableGravatars": { - "message": "Omogući Gravatar", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Koristi slike učitane s gravatar.com." - }, - "enableFullWidth": { - "message": "Enable Full Width Layout", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Allow the web vault to expand the full width of the browser window." - }, - "default": { - "message": "Zadano" - }, - "domainRules": { - "message": "Pravila domene" - }, - "domainRulesDesc": { - "message": "If you have the same login across multiple different website domains, you can mark the website as \"equivalent\". \"Global\" domains are ones already created for you by Bitwarden." - }, - "globalEqDomains": { - "message": "Global Equivalent Domains" - }, - "customEqDomains": { - "message": "Custom Equivalent Domains" - }, - "exclude": { - "message": "Izdvoji" - }, - "include": { - "message": "Uključi" - }, - "customize": { - "message": "Prilagodi" - }, - "newCustomDomain": { - "message": "New Custom Domain" - }, - "newCustomDomainDesc": { - "message": "Enter a list of domains separated by commas. Only \"base\" domains are allowed. Do not enter subdomains. For example, enter \"google.com\" instead of \"www.google.com\". You can also enter \"androidapp://package.name\" to associate an android app with other website domains." - }, - "customDomainX": { - "message": "Custom Domain $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Domene su ažurirane" - }, - "twoStepLogin": { - "message": "Prijava u dva koraka" - }, - "twoStepLoginDesc": { - "message": "Osigurajte svoj račun dodavanjem dodatnog koraka pri prijavi." - }, - "twoStepLoginOrganizationDesc": { - "message": "Require two-step login for your organization's users by configuring providers at the organization level." - }, - "twoStepLoginRecoveryWarning": { - "message": "Enabling two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (ex. you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." - }, - "viewRecoveryCode": { - "message": "View Recovery Code" - }, - "providers": { - "message": "Pružatelji", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Omogući" - }, - "enabled": { - "message": "Omogućeno" - }, - "premium": { - "message": "Premium", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Premium Membership" - }, - "premiumRequired": { - "message": "Premium Required" - }, - "premiumRequiredDesc": { - "message": "A premium membership is required to use this feature." - }, - "youHavePremiumAccess": { - "message": "Imate premium pristup" - }, - "alreadyPremiumFromOrg": { - "message": "You already have access to premium features because of an organization you are a member of." - }, - "manage": { - "message": "Upravljanje" - }, - "disable": { - "message": "Onemogući" - }, - "twoStepLoginProviderEnabled": { - "message": "This two-step login provider is enabled on your account." - }, - "twoStepLoginAuthDesc": { - "message": "Enter your master password to modify two-step login settings." - }, - "twoStepAuthenticatorDesc": { - "message": "Follow these steps to set up two-step login with an authenticator app:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Download a two-step authenticator app" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Need a two-step authenticator app? Download one of the following" - }, - "iosDevices": { - "message": "iOS uređaji" - }, - "androidDevices": { - "message": "Android uređaji" - }, - "windowsDevices": { - "message": "Windows uređaji" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "These apps are recommended, however, other authenticator apps will also work." - }, - "twoStepAuthenticatorScanCode": { - "message": "Scan this QR code with your authenticator app" - }, - "key": { - "message": "Ključ" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Enter the resulting 6 digit verification code from the app" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "In case you need to add it to another device, below is the QR code (or key) required by your authenticator app." - }, - "twoStepDisableDesc": { - "message": "Are you sure you want to disable this two-step login provider?" - }, - "twoStepDisabled": { - "message": "Pružatelj usluge prijave u dva koraka je onemogućen." - }, - "twoFactorYubikeyAdd": { - "message": "Dodajte novi YubiKey u vaš račun" - }, - "twoFactorYubikeyPlugIn": { - "message": "Plug the YubiKey into your computer's USB port." - }, - "twoFactorYubikeySelectKey": { - "message": "Select the first empty YubiKey input field below." - }, - "twoFactorYubikeyTouchButton": { - "message": "Dodirnite gumb na YubiKeyu." - }, - "twoFactorYubikeySaveForm": { - "message": "Spremite obrazac." - }, - "twoFactorYubikeyWarning": { - "message": "Due to platform limitations, YubiKeys cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when YubiKeys cannot be used. Supported platforms:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Web vault, desktop application, CLI, and all browser extensions on a device with a USB port that can accept your YubiKey." - }, - "twoFactorYubikeySupportMobile": { - "message": "Mobile apps on a device with NFC capabilities or a USB port that can accept your YubiKey." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "U2F Key $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "NFC podrška" - }, - "twoFactorYubikeySupportsNfc": { - "message": "Jedan od mojih ključeva podržava NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "If one of your YubiKeys supports NFC (such as a YubiKey NEO), you will be prompted on mobile devices whenever NFC availability is detected." - }, - "yubikeysUpdated": { - "message": "YubiKey ažuriran" - }, - "disableAllKeys": { - "message": "Disable All Keys" - }, - "twoFactorDuoDesc": { - "message": "Enter the Bitwarden application information from your Duo Admin panel." - }, - "twoFactorDuoIntegrationKey": { - "message": "Integracijski ključ" - }, - "twoFactorDuoSecretKey": { - "message": "Tajni ključ" - }, - "twoFactorDuoApiHostname": { - "message": "API Hostname" - }, - "twoFactorEmailDesc": { - "message": "Follow these steps to set up two-step login with email:" - }, - "twoFactorEmailEnterEmail": { - "message": "Enter the email that you wish to receive verification codes" - }, - "twoFactorEmailEnterCode": { - "message": "Enter the resulting 6 digit verification code from the email" - }, - "sendEmail": { - "message": "Pošalji poruku e-pošte" - }, - "twoFactorU2fAdd": { - "message": "Add a FIDO U2F security key to your account" - }, - "removeU2fConfirmation": { - "message": "Are you sure you want to remove this security key?" - }, - "readKey": { - "message": "Read Key" - }, - "keyCompromised": { - "message": "Ključ je ugrožen." - }, - "twoFactorU2fGiveName": { - "message": "Give the security key a friendly name to identify it." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Plug the security key into your computer's USB port and click the \"Read Key\" button." - }, - "twoFactorU2fTouchButton": { - "message": "If the security key has a button, touch it." - }, - "twoFactorU2fSaveForm": { - "message": "Spremite obrazac." - }, - "twoFactorU2fWarning": { - "message": "Due to platform limitations, FIDO U2F cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when FIDO U2F cannot be used. Supported platforms:" - }, - "twoFactorU2fSupportWeb": { - "message": "Web vault and browser extensions on a desktop/laptop with a U2F enabled browser (Chrome, Opera, Vivaldi, or Firefox with FIDO U2F enabled)." - }, - "twoFactorU2fWaiting": { - "message": "Waiting for you to touch the button on your security key" - }, - "twoFactorU2fClickSave": { - "message": "Click the \"Save\" button below to enable this security key for two-step login." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "There was a problem reading the security key. Try again." - }, - "twoFactorRecoveryYourCode": { - "message": "Your Bitwarden two-step login recovery code" - }, - "twoFactorRecoveryNoCode": { - "message": "You have not enabled any two-step login providers yet. After you have enabled a two-step login provider you can check back here for your recovery code." - }, - "printCode": { - "message": "Ispis koda", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Izvještaji" - }, - "unsecuredWebsitesReport": { - "message": "Unsecured Websites Report" - }, - "unsecuredWebsitesReportDesc": { - "message": "Using unsecured websites with the http:// scheme can be dangerous. If the website allows, you should always access it using the https:// scheme so that your connection is encrypted." - }, - "unsecuredWebsitesFound": { - "message": "Unsecured Websites Found" - }, - "unsecuredWebsitesFoundDesc": { - "message": "We found $COUNT$ items in your vault with unsecured URIs. You should change their URI scheme to https:// if the website allows it.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "No items in your vault have unsecured URIs." - }, - "inactive2faReport": { - "message": "Inactive 2FA Report" - }, - "inactive2faReportDesc": { - "message": "Two-factor authentication (2FA) is an important security setting that helps secure your accounts. If the website offers it, you should always enable two-factor authentication." - }, - "inactive2faFound": { - "message": "Logins Without 2FA Found" - }, - "inactive2faFoundDesc": { - "message": "We found $COUNT$ website(s) in your vault that may not be configured with two-factor authentication (according to 2fa.directory). To further protect these accounts, you should enable two-factor authentication.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "No websites were found in your vault with a missing two-factor authentication configuration." - }, - "instructions": { - "message": "Upute" - }, - "exposedPasswordsReport": { - "message": "Exposed Passwords Report" - }, - "exposedPasswordsReportDesc": { - "message": "Exposed passwords are passwords that have been uncovered in known data breaches that were released publicly or sold on the dark web by hackers." - }, - "exposedPasswordsFound": { - "message": "Exposed Passwords Found" - }, - "exposedPasswordsFoundDesc": { - "message": "We found $COUNT$ items in your vault that have passwords that were exposed in known data breaches. You should change them to use a new password.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "No items in your vault have passwords that have been exposed in known data breaches." - }, - "checkExposedPasswords": { - "message": "Check Exposed Passwords" - }, - "exposedXTimes": { - "message": "Otkriveno $COUNT$ put(a)", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Weak Passwords Report" - }, - "weakPasswordsReportDesc": { - "message": "Weak passwords can easily be guessed by hackers and automated tools that are used to crack passwords. The Bitwarden password generator can help you create strong passwords." - }, - "weakPasswordsFound": { - "message": "Weak Passwords Found" - }, - "weakPasswordsFoundDesc": { - "message": "We found $COUNT$ items in your vault with passwords that are not strong. You should update them to use stronger passwords.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "No items in your vault have weak passwords." - }, - "reusedPasswordsReport": { - "message": "Reused Passwords Report" - }, - "reusedPasswordsReportDesc": { - "message": "If a service that you use is compromised, reusing the same password elsewhere can allow hackers to easily gain access to more of your online accounts. You should use a unique password for every account or service." - }, - "reusedPasswordsFound": { - "message": "Reused Passwords Found" - }, - "reusedPasswordsFoundDesc": { - "message": "We found $COUNT$ passwords that are being reused in your vault. You should change them to a unique value.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "No logins in your vault have passwords that are being reused." - }, - "reusedXTimes": { - "message": "Ponovno korišteno $COUNT$ puta", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Data Breach Report" - }, - "breachDesc": { - "message": "A \"breach\" is an incident where a site's data has been illegally accessed by hackers and then released publicly. Review the types of data that were compromised (email addresses, passwords, credit cards etc.) and take appropriate action, such as changing passwords." - }, - "breachCheckUsernameEmail": { - "message": "Check any usernames or email addresses that you use." - }, - "checkBreaches": { - "message": "Provjerite proboje" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ was not found in any known data breaches.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Dobre vijesti", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ was found in $COUNT$ different data breaches online.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Breached Accounts Found" - }, - "compromisedData": { - "message": "Kompromitirani podaci" - }, - "website": { - "message": "Web stranica" - }, - "affectedUsers": { - "message": "Pogođeni korisnici" - }, - "breachOccurred": { - "message": "Došlo je do proboja" - }, - "breachReported": { - "message": "Proboj je prijavljen" - }, - "reportError": { - "message": "An error occurred trying to load the report. Try again" - }, - "billing": { - "message": "Naplata" - }, - "accountCredit": { - "message": "Kredit računa", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Stanje računa", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Dodaj kredit", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Iznos", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Added credit will appear on your account after the payment has been fully processed. Some payment methods are delayed and can take longer to process than others." - }, - "makeSureEnoughCredit": { - "message": "Please make sure that your account has enough credit available for this purchase. If your account does not have enough credit available, your default payment method on file will be used for the difference. You can add credit to your account from the Billing page." - }, - "creditAppliedDesc": { - "message": "Your account's credit can be used to make purchases. Any available credit will be automatically applied towards invoices generated for this account." - }, - "goPremium": { - "message": "Pređite na Premium", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "Nadograđeni ste na premium." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Upgrade your account to a premium membership and unlock some great additional features." - }, - "premiumSignUpStorage": { - "message": "1 GB encrypted storage for file attachments." - }, - "premiumSignUpTwoStep": { - "message": "Additional two-step login options such as YubiKey, FIDO U2F, and Duo." - }, - "premiumSignUpReports": { - "message": "Password hygiene, account health, and data breach reports to keep your vault safe." - }, - "premiumSignUpTotp": { - "message": "TOTP verification code (2FA) generator for logins in your vault." - }, - "premiumSignUpSupport": { - "message": "Prioritetna korisnička podrška." - }, - "premiumSignUpFuture": { - "message": "All future premium features. More coming soon!" - }, - "premiumPrice": { - "message": "Sve samo za $PRICE$ /godišnje!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Dodaci" - }, - "premiumAccess": { - "message": "Premium pristup" - }, - "premiumAccessDesc": { - "message": "You can add premium access to all members of your organization for $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Additional Storage (GB)" - }, - "additionalStorageGbDesc": { - "message": "broj dodatnih GB" - }, - "additionalStorageIntervalDesc": { - "message": "Your plan comes with $SIZE$ of encrypted file storage. You can add additional storage for $PRICE$ per GB /$INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Sažetak" - }, - "total": { - "message": "Ukupno" - }, - "year": { - "message": "godina" - }, - "month": { - "message": "mjesec" - }, - "monthAbbr": { - "message": "mjesec", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Your payment method will be charged immediately and then on a recurring basis each year. You may cancel at any time." - }, - "paymentCharged": { - "message": "Your payment method will be charged immediately and then on a recurring basis each $INTERVAL$. You may cancel at any time.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Your plan comes with a free 7 day trial. Your payment method will not be charged until the trial has ended. Billing will occur on a recurring basis each $INTERVAL$. You may cancel at any time.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Payment Information" - }, - "billingInformation": { - "message": "Billing Information" - }, - "creditCard": { - "message": "Kreditna kartica" - }, - "paypalClickSubmit": { - "message": "Click the PayPal button to log into your PayPal account, then click the Submit button below to continue." - }, - "cancelSubscription": { - "message": "Cancel Subscription" - }, - "subscriptionCanceled": { - "message": "The subscription has been canceled." - }, - "pendingCancellation": { - "message": "Pending Cancellation" - }, - "subscriptionPendingCanceled": { - "message": "The subscription has been marked for cancellation at the end of the current billing period." - }, - "reinstateSubscription": { - "message": "Reinstate Subscription" - }, - "reinstateConfirmation": { - "message": "Are you sure you want to remove the pending cancellation request and reinstate your subscription?" - }, - "reinstated": { - "message": "The subscription has been reinstated." - }, - "cancelConfirmation": { - "message": "Are you sure you want to cancel? You will lose access to all of this subscription's features at the end of this billing cycle." - }, - "canceledSubscription": { - "message": "The subscription has been canceled." - }, - "neverExpires": { - "message": "Nikada ne istječe" - }, - "status": { - "message": "Status" - }, - "nextCharge": { - "message": "Iduća naplata" - }, - "details": { - "message": "Detalji" - }, - "downloadLicense": { - "message": "Download License" - }, - "updateLicense": { - "message": "Ažuriraj licencu" - }, - "updatedLicense": { - "message": "Updated license" - }, - "manageSubscription": { - "message": "Manage Subscription" - }, - "storage": { - "message": "Prostor za pohranu" - }, - "addStorage": { - "message": "Dodaj prostora za pohranu" - }, - "removeStorage": { - "message": "Ukloni prostor za pohranu" - }, - "subscriptionStorage": { - "message": "Your subscription has a total of $MAX_STORAGE$ GB of encrypted file storage. You are currently using $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Način plaćanja" - }, - "noPaymentMethod": { - "message": "Nema spremljenih načina plaćanja." - }, - "addPaymentMethod": { - "message": "Add Payment Method" - }, - "changePaymentMethod": { - "message": "Change Payment Method" - }, - "invoices": { - "message": "Fakture" - }, - "noInvoices": { - "message": "Nema računa." - }, - "paid": { - "message": "Plaćeno", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Neplaćeno", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Transakcije", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "Nema transakcija." - }, - "chargeNoun": { - "message": "Naplata", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Povrat novca", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Any charges will appear on your statement as $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "GB of Storage To Add" - }, - "gbStorageRemove": { - "message": "GB of Storage To Remove" - }, - "storageAddNote": { - "message": "Adding storage will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." - }, - "storageRemoveNote": { - "message": "Removing storage will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." - }, - "adjustedStorage": { - "message": "Prilagođeno $AMOUNT$ GB prostora za pohranu.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Kontaktirajte službu za korisnike" - }, - "updatedPaymentMethod": { - "message": "Ažuriran način plaćanja." - }, - "purchasePremium": { - "message": "Purchase Premium" - }, - "licenseFile": { - "message": "Datoteka licence" - }, - "licenseFileDesc": { - "message": "Your license file will be named something like $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "To upgrade your account to a premium membership you need to upload a valid license file." - }, - "uploadLicenseFileOrg": { - "message": "To create an on-premise hosted organization you need to upload a valid license file." - }, - "accountEmailMustBeVerified": { - "message": "Your account's email address must be verified." - }, - "newOrganizationDesc": { - "message": "Organizations allow you to share parts of your vault with others as well as manage related users for a specific entity such as a family, small team, or large company." - }, - "generalInformation": { - "message": "General Information" - }, - "organizationName": { - "message": "Organization Name" - }, - "accountOwnedBusiness": { - "message": "This account is owned by a business." - }, - "billingEmail": { - "message": "Adresa e-pošte za naplatu" - }, - "businessName": { - "message": "Naziv tvrtke" - }, - "chooseYourPlan": { - "message": "Choose Your Plan" - }, - "users": { - "message": "Korisnici" - }, - "userSeats": { - "message": "Korisnička sjedala" - }, - "additionalUserSeats": { - "message": "Additional User Seats" - }, - "userSeatsDesc": { - "message": "broj korisničkih sjedala" - }, - "userSeatsAdditionalDesc": { - "message": "Your plan comes with $BASE_SEATS$ user seats. You can add additional users for $SEAT_PRICE$ per user /month.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "How many user seats do you need? You can also add additional seats later if needed." - }, - "planNameFree": { - "message": "Besplatno", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "For testing or personal users to share with $COUNT$ other user.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Obitelji" - }, - "planDescFamilies": { - "message": "For personal use, to share with family & friends." - }, - "planNameTeams": { - "message": "Timovi" - }, - "planDescTeams": { - "message": "For businesses and other team organizations." - }, - "planNameEnterprise": { - "message": "Enterprise" - }, - "planDescEnterprise": { - "message": "For businesses and other large organizations." - }, - "freeForever": { - "message": "Besplatno zauvijek" - }, - "includesXUsers": { - "message": "uključuje $COUNT$ korisnika", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Additional Users" - }, - "costPerUser": { - "message": "$COST$ po korisniku", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Limited to $COUNT$ users (including you)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Ograničeno na $COUNT$ zbirki", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Add and share with up to $COUNT$ users", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Dodajte i dijelite s neograničenim brojem korisnika" - }, - "createUnlimitedCollections": { - "message": "Stvorite neograničen broj zbirki" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ šifriranog prostora za pohranu podataka", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "Lokalni hosting (neobavezno)" - }, - "usersGetPremium": { - "message": "Users get access to Premium Features" - }, - "controlAccessWithGroups": { - "message": "Upravljajte korisničkim pristupom pomoću grupa" - }, - "syncUsersFromDirectory": { - "message": "Sync your users and Groups from a directory" - }, - "trackAuditLogs": { - "message": "Pratite aktivnosti korisnika s zapisnicima" - }, - "enforce2faDuo": { - "message": "Provedite 2FA sa Duo" - }, - "priorityCustomerSupport": { - "message": "Prioritetna korisnička podrška" - }, - "xDayFreeTrial": { - "message": "$COUNT$ day free trial, cancel anytime", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Mjesečno" - }, - "annually": { - "message": "Godišnje" - }, - "basePrice": { - "message": "Osnovna cijena" - }, - "organizationCreated": { - "message": "Organization Created" - }, - "organizationReadyToGo": { - "message": "Your new organization is ready to go!" - }, - "organizationUpgraded": { - "message": "Your organization has been upgraded." - }, - "leave": { - "message": "Izađi" - }, - "leaveOrganizationConfirmation": { - "message": "Are you sure you want to leave this organization?" - }, - "leftOrganization": { - "message": "You have left the organization." - }, - "defaultCollection": { - "message": "Default Collection" - }, - "getHelp": { - "message": "Potraži pomoć" - }, - "getApps": { - "message": "Preuzmite aplikacije" - }, - "loggedInAs": { - "message": "Prijavljen kao" - }, - "eventLogs": { - "message": "Zapisi o događajima" - }, - "people": { - "message": "Ljudi" - }, - "policies": { - "message": "Policies" - }, - "editPolicy": { - "message": "Edit Policy" - }, - "groups": { - "message": "Grupe" - }, - "newGroup": { - "message": "Nova Grupa" - }, - "addGroup": { - "message": "Dodaj grupu" - }, - "editGroup": { - "message": "Uredi grupu" - }, - "deleteGroupConfirmation": { - "message": "Are you sure you want to delete this group?" - }, - "removeUserConfirmation": { - "message": "Are you sure you want to remove this user?" - }, - "externalId": { - "message": "Vanjski Id" - }, - "externalIdDesc": { - "message": "The external id can be used as a reference or to link this resource to an external system such as a user directory." - }, - "accessControl": { - "message": "Kontrola pristupa" - }, - "groupAccessAllItems": { - "message": "This group can access and modify all items." - }, - "groupAccessSelectedCollections": { - "message": "This group can access only the selected collections." - }, - "readOnly": { - "message": "Samo za čitanje" - }, - "newCollection": { - "message": "Nova zbirka" - }, - "addCollection": { - "message": "Dodaj zbirku" - }, - "editCollection": { - "message": "Edit Collection" - }, - "deleteCollectionConfirmation": { - "message": "Are you sure you want to delete this collection?" - }, - "editUser": { - "message": "Uredi korisnika" - }, - "inviteUser": { - "message": "Pozovi korisnika" - }, - "inviteUserDesc": { - "message": "Invite a new user to your organization by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "inviteMultipleEmailDesc": { - "message": "You can invite up to $COUNT$ users at a time by comma separating a list of email addresses.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "This user is using two-step login to protect their account." - }, - "userAccessAllItems": { - "message": "This user can access and modify all items." - }, - "userAccessSelectedCollections": { - "message": "This user can access only the selected collections." - }, - "search": { - "message": "Pretraga" - }, - "invited": { - "message": "Pozvan" - }, - "accepted": { - "message": "Prihvaćeno" - }, - "confirmed": { - "message": "Potvrđeno" - }, - "owner": { - "message": "Vlasnik" - }, - "ownerDesc": { - "message": "The highest access user that can manage all aspects of your organization." - }, - "admin": { - "message": "Admin" - }, - "adminDesc": { - "message": "Admins can access and manage all items, collections and users in your organization." - }, - "user": { - "message": "Korisnik" - }, - "userDesc": { - "message": "A regular user with access to assigned collections in your organization." - }, - "manager": { - "message": "Upravitelj" - }, - "managerDesc": { - "message": "Managers can access and manage assigned collections in your organization." - }, - "all": { - "message": "Sve" - }, - "refresh": { - "message": "Osvježi" - }, - "timestamp": { - "message": "Vremenska oznaka" - }, - "event": { - "message": "Događaj" - }, - "unknown": { - "message": "Nepoznato" - }, - "loadMore": { - "message": "Učitaj više" - }, - "mobile": { - "message": "Mobitel", - "description": "Mobile app" - }, - "extension": { - "message": "Proširenje", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Desktop", - "description": "Desktop app" - }, - "webVault": { - "message": "Web trezor" - }, - "loggedIn": { - "message": "Prijavljen." - }, - "changedPassword": { - "message": "Promijenjena lozinka računa." - }, - "enabledUpdated2fa": { - "message": "Omogućena/ažurirana prijava u dva koraka." - }, - "disabled2fa": { - "message": "Onemogućen pristup u dva koraka." - }, - "recovered2fa": { - "message": "Recovered account from two-step login." - }, - "failedLogin": { - "message": "Login attempt failed with incorrect password." - }, - "failedLogin2fa": { - "message": "Login attempt failed with incorrect two-step login." - }, - "exportedVault": { - "message": "Exported vault." - }, - "exportedOrganizationVault": { - "message": "Exported organization vault." - }, - "editedOrgSettings": { - "message": "Edited organization settings." - }, - "createdItemId": { - "message": "Stvorena stavka $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Uređena stavka $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Izbrisana stavka $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Dijeljena stavka $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Viewed item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Viewed password for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Viewed hidden field for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Viewed security code for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Copied password for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Copied hidden field for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Copied security code for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Auto-filled item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Stvorena zbirka $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Uređena zbirka $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Izbrisana zbirka $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Edited policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Stvorena grupa $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Uređena grupa $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Izbrisana grupa $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Uklonjen korisnik $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Stvoren privitak za stavku $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Izbrisan privitak za stavku $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Uređene zbirke za stavku $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Pozvan korisnik $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Potvrđen korisnik $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Uređen korisnik $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Uređene grupe za korisnika $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Uređaj" - }, - "view": { - "message": "Prikaz" - }, - "invalidDateRange": { - "message": "Nevažeći raspon datuma." - }, - "errorOccurred": { - "message": "Došlo je do pogreške." - }, - "userAccess": { - "message": "Korisnički pristup" - }, - "userType": { - "message": "Vrsta korisnika" - }, - "groupAccess": { - "message": "Grupni pristup" - }, - "groupAccessUserDesc": { - "message": "Edit the groups that this user belongs to." - }, - "invitedUsers": { - "message": "Pozvani korisnici." - }, - "resendInvitation": { - "message": "Resend Invitation" - }, - "hasBeenReinvited": { - "message": "$USER$ je ponovno pozvan.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Potvrdi" - }, - "confirmUser": { - "message": "Potvrdi korisnika" - }, - "hasBeenConfirmed": { - "message": "$USER$ je potvrđen.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Potvrdi korisnike" - }, - "usersNeedConfirmed": { - "message": "You have users that have accepted their invitation, but still need to be confirmed. Users will not have access to the organization until they are confirmed." - }, - "startDate": { - "message": "Početni datum" - }, - "endDate": { - "message": "Datum završetka" - }, - "verifyEmail": { - "message": "Potvrdi adresu e-pošte" - }, - "verifyEmailDesc": { - "message": "Verify your account's email address to unlock access to all features." - }, - "verifyEmailFirst": { - "message": "Your account's email address first must be verified." - }, - "checkInboxForVerification": { - "message": "Check your email inbox for a verification link." - }, - "emailVerified": { - "message": "Vaša adresa e-pošte je provjerena." - }, - "emailVerifiedFailed": { - "message": "Unable to verify your email. Try sending a new verification email." - }, - "updateBrowser": { - "message": "Ažuriraj preglednik" - }, - "updateBrowserDesc": { - "message": "You are using an unsupported web browser. The web vault may not function properly." - }, - "joinOrganization": { - "message": "Join Organization" - }, - "joinOrganizationDesc": { - "message": "You've been invited to join the organization listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "inviteAccepted": { - "message": "Invitation Accepted" - }, - "inviteAcceptedDesc": { - "message": "You can access this organization once an administrator confirms your membership. We'll send you an email when that happens." - }, - "inviteAcceptFailed": { - "message": "Unable to accept invitation. Ask an organization admin to send a new invitation." - }, - "inviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Zapamti adresu e-pošte" - }, - "recoverAccountTwoStepDesc": { - "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to disable all two-step providers on your account." - }, - "recoverAccountTwoStep": { - "message": "Recover Account Two-Step Login" - }, - "twoStepRecoverDisabled": { - "message": "Two-step login has been disabled on your account." - }, - "learnMore": { - "message": "Saznaj više" - }, - "deleteRecoverDesc": { - "message": "Enter your email address below to recover and delete your account." - }, - "deleteRecoverEmailSent": { - "message": "If your account exists, we've sent you an email with further instructions." - }, - "deleteRecoverConfirmDesc": { - "message": "You have requested to delete your Bitwarden account. Click the button below to confirm." - }, - "myOrganization": { - "message": "My Organization" - }, - "deleteOrganization": { - "message": "Delete Organization" - }, - "deleteOrganizationDesc": { - "message": "Proceed below to delete this organization and all associated data. Individual user accounts will remain, though they will not be associated to this organization anymore. " - }, - "deleteOrganizationWarning": { - "message": "Deleting the organization is permanent. It cannot be undone." - }, - "organizationDeleted": { - "message": "Organization Deleted" - }, - "organizationDeletedDesc": { - "message": "The organization and all associated data has been deleted." - }, - "organizationUpdated": { - "message": "Organization updated" - }, - "taxInformation": { - "message": "Tax Information" - }, - "taxInformationDesc": { - "message": "For customers within the US, ZIP code is required to satisfy sales tax requirements, for other countries you may optionally provide a tax identification number (VAT/GST) and/or address to appear on your invoices." - }, - "billingPlan": { - "message": "Plan", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Promijeni plan", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Upgrade your account to another plan be providing the information below. Please ensure that you have an active payment method added to the account.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Contact customer support if you would like to change your plan. Please ensure that you have an active payment method added to the account.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Faktura #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "Prikaz računa" - }, - "downloadInvoice": { - "message": "Preuzmite račun" - }, - "verifyBankAccount": { - "message": "Verify Bank Account" - }, - "verifyBankAccountDesc": { - "message": "We have made two micro-deposits to your bank account (it may take 1-2 business days to show up). Enter these amounts to verify the bank account." - }, - "verifyBankAccountInitialDesc": { - "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make two micro-deposits within the next 1-2 business days. Enter these amounts on the organization's billing page to verify the bank account." - }, - "verifyBankAccountFailureWarning": { - "message": "Failure to verify the bank account will result in a missed payment and your subscription being disabled." - }, - "verifiedBankAccount": { - "message": "Bankovni račun je potvrđen." - }, - "bankAccount": { - "message": "Bankovni račun" - }, - "amountX": { - "message": "Iznos $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Routing Number (USA)", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Broj računa" - }, - "accountHolderName": { - "message": "Account Holder Name" - }, - "bankAccountType": { - "message": "Vrsta računa" - }, - "bankAccountTypeCompany": { - "message": "Company (Business)" - }, - "bankAccountTypeIndividual": { - "message": "Individual (Personal)" - }, - "enterInstallationId": { - "message": "Enter your installation id" - }, - "addSeats": { - "message": "Dodaj sjedala", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Ukloni sjedala", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Your subscription allows for a total of $COUNT$ users.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Sjedala za dodati" - }, - "seatsToRemove": { - "message": "Seats To Remove" - }, - "seatsAddNote": { - "message": "Adding user seats will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." - }, - "seatsRemoveNote": { - "message": "Removing user seats will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." - }, - "adjustedSeats": { - "message": "Prilagođeno $AMOUNT$ korisničkih sjedala.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Ažuriran je ključ" - }, - "updateKeyTitle": { - "message": "Ažurirajte ključ" - }, - "updateEncryptionKey": { - "message": "Update Encryption Key" - }, - "updateEncryptionKeyShortDesc": { - "message": "You are currently using an outdated encryption scheme." - }, - "updateEncryptionKeyDesc": { - "message": "We've moved to larger encryption keys that provide better security and access to newer features. Updating your encryption key is quick and easy. Just type your master password below. This update will eventually become mandatory." - }, - "updateEncryptionKeyWarning": { - "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." - }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." - }, - "subscription": { - "message": "Pretplata" - }, - "loading": { - "message": "Učitavanje" - }, - "upgrade": { - "message": "Nadogradnja" - }, - "upgradeOrganization": { - "message": "Upgrade Organization" - }, - "upgradeOrganizationDesc": { - "message": "This feature is not available for free organizations. Switch to a paid plan to unlock more features." - }, - "createOrganizationStep1": { - "message": "Create Organization: Step 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Before creating your organization, you first need to create a free personal account." - }, - "refunded": { - "message": "Refundirano" - }, - "nothingSelected": { - "message": "Niste ništa odabrali." - }, - "acceptPolicies": { - "message": "By checking this box you agree to the following:" - }, - "acceptPoliciesError": { - "message": "Terms of Service and Privacy Policy have not been acknowledged." - }, - "termsOfService": { - "message": "Terms of Service" - }, - "privacyPolicy": { - "message": "Pravila privatnosti" - }, - "filters": { - "message": "Filtri" - }, - "vaultTimeout": { - "message": "Vault Timeout" - }, - "vaultTimeoutDesc": { - "message": "Choose when your vault will timeout and perform the selected action." - }, - "oneMinute": { - "message": "1 minuta" - }, - "fiveMinutes": { - "message": "5 minuta" - }, - "fifteenMinutes": { - "message": "15 minuta" - }, - "thirtyMinutes": { - "message": "30 minuta" - }, - "oneHour": { - "message": "1 sat" - }, - "fourHours": { - "message": "4 sata" - }, - "onRefresh": { - "message": "On Browser Refresh" - }, - "dateUpdated": { - "message": "Ažurirano", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Password Updated", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "Organization is disabled." - }, - "licenseIsExpired": { - "message": "License is expired." - }, - "updatedUsers": { - "message": "Ažurirani korisnici" - }, - "selected": { - "message": "Odabrano" - }, - "ownership": { - "message": "Vlasništvo" - }, - "whoOwnsThisItem": { - "message": "Tko je vlasnik ove stavke?" - }, - "strong": { - "message": "Jako", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Dobro", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Slabo", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Jako slabo", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Weak Master Password" - }, - "weakMasterPasswordDesc": { - "message": "The master password you have chosen is weak. You should use a strong master password (or a passphrase) to properly protect your Bitwarden account. Are you sure you want to use this master password?" - }, - "rotateAccountEncKey": { - "message": "Also rotate my account's encryption key" - }, - "rotateEncKeyTitle": { - "message": "Rotate Encryption Key" - }, - "rotateEncKeyConfirmation": { - "message": "Are you sure you want to rotate your account's encryption key?" - }, - "attachmentsNeedFix": { - "message": "This item has old file attachments that need to be fixed." - }, - "attachmentFixDesc": { - "message": "This is an old file attachment the needs to be fixed. Click to learn more." - }, - "fix": { - "message": "Popravi", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "There are old file attachments in your vault that need to be fixed before you can rotate your account's encryption key." - }, - "yourAccountsFingerprint": { - "message": "Jedinstveni izraz Vašeg računa", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "To ensure the integrity of your encryption keys, please verify the user's fingerprint phrase before continuing.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Don't ask to verify fingerprint phrase again", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Besplatno", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "API ključ" - }, - "apiKeyDesc": { - "message": "Your API key can be used to authenticate to the Bitwarden public API." - }, - "apiKeyRotateDesc": { - "message": "Rotating the API key will invalidate the previous key. You can rotate your API key if you believe that the current key is no longer safe to use." - }, - "apiKeyWarning": { - "message": "Your API key has full access to the organization. It should be kept secret." - }, - "userApiKeyDesc": { - "message": "Your API key can be used to authenticate in the Bitwarden CLI." - }, - "userApiKeyWarning": { - "message": "Your API key is an alternative authentication mechanism. It should be kept secret." - }, - "oauth2ClientCredentials": { - "message": "OAuth 2.0 vjerodajnice klijenta", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "Pogledaj API ključ" - }, - "rotateApiKey": { - "message": "Rotiraj API ključ" - }, - "selectOneCollection": { - "message": "You must select at least one collection." - }, - "couldNotChargeCardPayInvoice": { - "message": "We were not able to charge your card. Please view and pay the unpaid invoice listed below." - }, - "inAppPurchase": { - "message": "In-app Purchase" - }, - "cannotPerformInAppPurchase": { - "message": "You cannot perform this action while using an in-app purchase payment method." - }, - "manageSubscriptionFromStore": { - "message": "You must manage your subscription from the store where your in-app purchase was made." - }, - "minLength": { - "message": "Minimum Length" - }, - "clone": { - "message": "Clone" - }, - "masterPassPolicyDesc": { - "message": "Set minimum requirements for master password strength." - }, - "twoStepLoginPolicyDesc": { - "message": "Require users to set up two-step login on their personal accounts." - }, - "twoStepLoginPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and do not have two-step login enabled for their personal account will be removed from the organization and will receive an email notifying them about the change." - }, - "twoStepLoginPolicyUserWarning": { - "message": "You are a member of an organization that requires two-step login to be enabled on your user account. If you disable all two-step login providers you will be automatically removed from these organizations." - }, - "passwordGeneratorPolicyDesc": { - "message": "Set minimum requirements for password generator configuration." - }, - "passwordGeneratorPolicyInEffect": { - "message": "One or more organization policies are affecting your generator settings." - }, - "masterPasswordPolicyInEffect": { - "message": "One or more organization policies require your master password to meet the following requirements:" - }, - "policyInEffectMinComplexity": { - "message": "Minimum complexity score of $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Minimum length of $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Contain one or more uppercase characters" - }, - "policyInEffectLowercase": { - "message": "Contain one or more lowercase characters" - }, - "policyInEffectNumbers": { - "message": "Contain one or more numbers" - }, - "policyInEffectSpecial": { - "message": "Contain one or more of the following special characters $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Your new master password does not meet the policy requirements." - }, - "minimumNumberOfWords": { - "message": "Minimum Number of Words" - }, - "defaultType": { - "message": "Default Type" - }, - "userPreference": { - "message": "User Preference" - }, - "vaultTimeoutAction": { - "message": "Vault Timeout Action" - }, - "vaultTimeoutActionLockDesc": { - "message": "A locked vault requires that you re-enter your master password to access it again." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "A logged out vault requires that you re-authenticate to access it again." - }, - "lock": { - "message": "Lock", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Trash", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Search Trash" - }, - "permanentlyDelete": { - "message": "Permanently Delete" - }, - "permanentlyDeleteSelected": { - "message": "Permanently Delete Selected" - }, - "permanentlyDeleteItem": { - "message": "Permanently Delete Item" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Are you sure you want to permanently delete this item?" - }, - "permanentlyDeletedItem": { - "message": "Permanently Deleted item" - }, - "permanentlyDeletedItems": { - "message": "Permanently Deleted items" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to permanently delete. Are you sure you want to permanently delete all of these items?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Permanently Deleted item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Restore" - }, - "restoreSelected": { - "message": "Restore Selected" - }, - "restoreItem": { - "message": "Restore Item" - }, - "restoredItem": { - "message": "Restored Item" - }, - "restoredItems": { - "message": "Restored Items" - }, - "restoreItemConfirmation": { - "message": "Are you sure you want to restore this item?" - }, - "restoreItems": { - "message": "Restore items" - }, - "restoreSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to restore. Are you sure you want to restore all of these items?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Restored item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Logging out will remove all access to your vault and requires online authentication after the timeout period. Are you sure you want to use this setting?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Timeout Action Confirmation" - }, - "hidePasswords": { - "message": "Hide Passwords" - }, - "countryPostalCodeRequiredDesc": { - "message": "We require this information for calculating sales tax and financial reporting only." - }, - "includeVAT": { - "message": "Include VAT/GST Information (optional)" - }, - "taxIdNumber": { - "message": "VAT/GST Tax ID" - }, - "taxInfoUpdated": { - "message": "Tax information updated." - }, - "setMasterPassword": { - "message": "Set Master Password" - }, - "ssoCompleteRegistration": { - "message": "In order to complete logging in with SSO, please set a master password to access and protect your vault." - }, - "identifier": { - "message": "Identifier" - }, - "organizationIdentifier": { - "message": "Organization Identifier" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Log in using your organization's single sign-on portal. Please enter your organization's identifier to begin." - }, - "enterpriseSingleSignOn": { - "message": "Enterprise Single Sign-On" - }, - "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." - }, - "businessPortal": { - "message": "Business Portal", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "All Teams features, plus:" - }, - "includeSsoAuthentication": { - "message": "SSO Authentication via SAML2.0 and OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Enterprise Policies" - }, - "ssoValidationFailed": { - "message": "SSO Validation Failed" - }, - "ssoIdentifierRequired": { - "message": "Organization Identifier is required." - }, - "unlinkSso": { - "message": "Unlink SSO" - }, - "linkSso": { - "message": "Link SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "Policy configuration has been moved, and this page will soon be deprecated. Please click below to use the Business Portal policies page instead." - }, - "singleOrg": { - "message": "Single Organization" - }, - "singleOrgDesc": { - "message": "Restrict users from being able to join any other organizations." - }, - "singleOrgBlockCreateMessage": { - "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." - }, - "singleOrgPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and are already a member of another organization will be removed from your organization." - }, - "requireSso": { - "message": "Single Sign-On Authentication" - }, - "requireSsoPolicyDesc": { - "message": "Require users to log in with the Enterprise Single Sign-On method." - }, - "prerequisite": { - "message": "Prerequisite" - }, - "requireSsoPolicyReq": { - "message": "The Single Organization enterprise policy must be enabled before activating this policy." - }, - "requireSsoPolicyReqError": { - "message": "Single Organization policy not enabled." - }, - "requireSsoExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "sendTypeFile": { - "message": "File" - }, - "sendTypeText": { - "message": "Text" - }, - "createSend": { - "message": "Create New Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Edit Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Created Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Edited Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Deleted Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Delete Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Are you sure you want to delete this Send?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "What type of Send is this?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Deletion Date" - }, - "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Expiration Date" - }, - "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Maximum Access Count" - }, - "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Current Access Count" - }, - "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Private notes about this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Disabled" - }, - "sendLink": { - "message": "Send Link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Copy Send Link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Remove Password" - }, - "removedPassword": { - "message": "Removed Password" - }, - "removePasswordConfirmation": { - "message": "Are you sure you want to remove the password?" - }, - "disableThisSend": { - "message": "Disable this Send so that no one can access it.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "All Sends" - }, - "maxAccessCountReached": { - "message": "Max access count reached" - }, - "pendingDeletion": { - "message": "Pending deletion" - }, - "expired": { - "message": "Expired" - }, - "searchSends": { - "message": "Search Sends", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "This Send is protected with a password. Please type the password below to continue.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Don't know the password? Ask the Sender for the password needed to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "This send is hidden by default. You can toggle its visibility using the button below.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Download File" - }, - "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "There are no Sends to list.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Emergency Access" - }, - "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." - }, - "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" - }, - "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." - }, - "addEmergencyContact": { - "message": "Add emergency contact" - }, - "designatedEmergencyContacts": { - "message": "Designated as emergency contact" - }, - "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." - }, - "inviteEmergencyContact": { - "message": "Invite emergency contact" - }, - "editEmergencyContact": { - "message": "Edit emergency contact" - }, - "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" - }, - "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" - }, - "viewDesc": { - "message": "Can view all items in your own vault." - }, - "takeover": { - "message": "Takeover" - }, - "takeoverDesc": { - "message": "Can reset your account with a new master password." - }, - "waitTime": { - "message": "Wait Time" - }, - "waitTimeDesc": { - "message": "Time required before automatically granting access." - }, - "oneDay": { - "message": "1 day" - }, - "days": { - "message": "$DAYS$ days", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Invited user." - }, - "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." - }, - "requestAccess": { - "message": "Request Access" - }, - "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Approve" - }, - "reject": { - "message": "Reject" - }, - "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Emergency access approved." - }, - "emergencyRejected": { - "message": "Emergency access rejected" - }, - "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Personal Ownership" - }, - "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." - }, - "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." - }, - "modifiedPolicyId": { - "message": "Modified policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Plan price" - }, - "estimatedTax": { - "message": "Estimated tax" - }, - "custom": { - "message": "Custom" - }, - "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." - }, - "permissions": { - "message": "Permissions" - }, - "accessBusinessPortal": { - "message": "Access Business Portal" - }, - "accessEventLogs": { - "message": "Access Event Logs" - }, - "accessImportExport": { - "message": "Access Import/Export" - }, - "accessReports": { - "message": "Access Reports" - }, - "manageAllCollections": { - "message": "Manage All Collections" - }, - "manageAssignedCollections": { - "message": "Manage Assigned Collections" - }, - "manageGroups": { - "message": "Manage Groups" - }, - "managePolicies": { - "message": "Manage Policies" - }, - "manageSso": { - "message": "Manage SSO" - }, - "manageUsers": { - "message": "Manage Users" - }, - "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." - }, - "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." - }, - "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" - }, - "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/hu/messages.json b/locales/hu/messages.json deleted file mode 100644 index 27087b40..00000000 --- a/locales/hu/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$ webes széf", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "Milyen típusú elem ez?" - }, - "name": { - "message": "Név" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "Új URI" - }, - "username": { - "message": "Felhasználónév" - }, - "password": { - "message": "Jelszó" - }, - "newPassword": { - "message": "Új jelszó" - }, - "passphrase": { - "message": "Kulcskifejezés" - }, - "notes": { - "message": "Jegyzetek" - }, - "customFields": { - "message": "Egyedi mezők" - }, - "cardholderName": { - "message": "Kártyatulajdonos neve" - }, - "number": { - "message": "Szám" - }, - "brand": { - "message": "Márka" - }, - "expiration": { - "message": "Lejárat" - }, - "securityCode": { - "message": "Biztonsági kód (CVV)" - }, - "identityName": { - "message": "Személyazonosság megnevezés" - }, - "company": { - "message": "Cég" - }, - "ssn": { - "message": "Társadalombiztosítási szám" - }, - "passportNumber": { - "message": "Útlevélszám" - }, - "licenseNumber": { - "message": "Vezetői engedély száma" - }, - "email": { - "message": "Email cím" - }, - "phone": { - "message": "Telefonszám" - }, - "january": { - "message": "Január" - }, - "february": { - "message": "Február" - }, - "march": { - "message": "Március" - }, - "april": { - "message": "Április" - }, - "may": { - "message": "Május" - }, - "june": { - "message": "Június" - }, - "july": { - "message": "Július" - }, - "august": { - "message": "Augusztus" - }, - "september": { - "message": "Szeptember" - }, - "october": { - "message": "Október" - }, - "november": { - "message": "November" - }, - "december": { - "message": "December" - }, - "title": { - "message": "Címzés" - }, - "mr": { - "message": "Úr" - }, - "mrs": { - "message": "Asszony" - }, - "ms": { - "message": "Kisasszony" - }, - "dr": { - "message": "Dr." - }, - "expirationMonth": { - "message": "Lejárati hónap" - }, - "expirationYear": { - "message": "Lejárati év" - }, - "authenticatorKeyTotp": { - "message": "Hitelesítő kulcs (egyszeri idő alapú)" - }, - "folder": { - "message": "Mappa" - }, - "newCustomField": { - "message": "Új egyedi mező" - }, - "value": { - "message": "Érték" - }, - "dragToSort": { - "message": "Húzás a rendezéshez" - }, - "cfTypeText": { - "message": "Szöveg" - }, - "cfTypeHidden": { - "message": "Rejtett" - }, - "cfTypeBoolean": { - "message": "Logikai" - }, - "remove": { - "message": "Eltávolítás" - }, - "unassigned": { - "message": "Nincs hozzárendelve" - }, - "noneFolder": { - "message": "Nincs mappa", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Mappa hozzáadása" - }, - "editFolder": { - "message": "Mappa szerkesztése" - }, - "baseDomain": { - "message": "Alap domain" - }, - "host": { - "message": "Kiszolgáló", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Pontos" - }, - "startsWith": { - "message": "Ezzel kezdődik:" - }, - "regEx": { - "message": "Reguláris kifejezés", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Találat érzékelés", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Alapértelmezett találat érzékelés", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Soha" - }, - "toggleVisibility": { - "message": "Láthatóság váltása" - }, - "toggleCollapse": { - "message": "Összezárás váltás", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Jelszó generálása" - }, - "checkPassword": { - "message": "A jelszóvédelmi állapot ellenőrzése." - }, - "passwordExposed": { - "message": "Ez a jelszó már $VALUE$ alkalommal volt kitéve az adatszivárgásnak. Célszerű megváltoztatni.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "Ez a jelszó nem érintett egyetlen ismert adatszivárgásban sem. Biztonságos a használata." - }, - "save": { - "message": "Mentés" - }, - "cancel": { - "message": "Mégsem" - }, - "canceled": { - "message": "Megszakítva" - }, - "close": { - "message": "Bezárás" - }, - "delete": { - "message": "Törlés" - }, - "favorite": { - "message": "Kedvenc" - }, - "unfavorite": { - "message": "Nem kedvenc" - }, - "edit": { - "message": "Szerkesztés" - }, - "searchCollection": { - "message": "Gyűjtemény keresése" - }, - "searchFolder": { - "message": "Mappa keresése" - }, - "searchFavorites": { - "message": "Kedvencek keresése" - }, - "searchType": { - "message": "Típus keresése", - "description": "Search item type" - }, - "searchVault": { - "message": "Keresés a széfben" - }, - "allItems": { - "message": "Összes elem" - }, - "favorites": { - "message": "Kedvencek" - }, - "types": { - "message": "Típusok" - }, - "typeLogin": { - "message": "Bejelentkezés" - }, - "typeCard": { - "message": "Kártya" - }, - "typeIdentity": { - "message": "Személyazonosság" - }, - "typeSecureNote": { - "message": "Biztonságos jegyzet" - }, - "folders": { - "message": "Mappák" - }, - "collections": { - "message": "Gyűjtemények" - }, - "firstName": { - "message": "Személynév" - }, - "middleName": { - "message": "Középső név" - }, - "lastName": { - "message": "Családnév" - }, - "address1": { - "message": "Cím 1" - }, - "address2": { - "message": "Cím 2" - }, - "address3": { - "message": "Cím 3" - }, - "cityTown": { - "message": "Település" - }, - "stateProvince": { - "message": "Állam/Megye" - }, - "zipPostalCode": { - "message": "Irányítószám" - }, - "country": { - "message": "Ország" - }, - "shared": { - "message": "Megosztott" - }, - "attachments": { - "message": "Mellékletek" - }, - "select": { - "message": "Kijelölés" - }, - "addItem": { - "message": "Elem hozzáadása" - }, - "editItem": { - "message": "Elem szerkesztése" - }, - "viewItem": { - "message": "Elem megtekintése" - }, - "ex": { - "message": "Példa:", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Egyéb" - }, - "share": { - "message": "Megosztás" - }, - "valueCopied": { - "message": "$VALUE$ másolásra került.", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Érték másolása", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Jelszó másolása", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Felhasználónév másolása", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Szám másolása", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Biztonsági kód másolása", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "URI másolása", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "Saját széf" - }, - "vault": { - "message": "Széf" - }, - "shareSelected": { - "message": "Kijelöltek megosztása" - }, - "deleteSelected": { - "message": "Kijelöltek törlése" - }, - "moveSelected": { - "message": "Kijelöltek áthelyezése" - }, - "selectAll": { - "message": "Összes kijelölése" - }, - "unselectAll": { - "message": "Összes kijelölés megszüntetése" - }, - "launch": { - "message": "Indítás" - }, - "newAttachment": { - "message": "Új melléklet hozzáadása" - }, - "deletedAttachment": { - "message": "A melléklet törlésre került." - }, - "deleteAttachmentConfirmation": { - "message": "Biztos törlésre kerüljön ez a melléklet?" - }, - "attachmentSaved": { - "message": "A melléklet mentésre került." - }, - "file": { - "message": "Fájl" - }, - "selectFile": { - "message": "Válasszunk egy fájlt." - }, - "maxFileSize": { - "message": "A maximális fájl méret 100 MB." - }, - "updateKey": { - "message": "Ez a funkció nem használható a titkosítási kulcs frissítéséig." - }, - "addedItem": { - "message": "Az elem hozzáadásra került." - }, - "editedItem": { - "message": "Az elem szerkesztésre került." - }, - "sharedItem": { - "message": "Megosztott elem" - }, - "sharedItems": { - "message": "Megosztott elemek" - }, - "deleteItem": { - "message": "Elem törlése" - }, - "deleteFolder": { - "message": "Mappa törlése" - }, - "deleteAttachment": { - "message": "Melléklet törlése" - }, - "deleteItemConfirmation": { - "message": "Biztosan törlésre kerüljön ezt az elem?" - }, - "deletedItem": { - "message": "Az elem törlésre került." - }, - "deletedItems": { - "message": "Törölt elemek" - }, - "movedItems": { - "message": "Áthelyezett elemek" - }, - "overwritePasswordConfirmation": { - "message": "Biztosan felülírásra kerüljön a jelenlegi jelszó?" - }, - "editedFolder": { - "message": "A mappa szerkesztésre került." - }, - "addedFolder": { - "message": "A mappa hozzáadásra került." - }, - "deleteFolderConfirmation": { - "message": "Biztosan törlésre kerüljön ez a mappa?" - }, - "deletedFolder": { - "message": "A mappa törlésre került." - }, - "loggedOut": { - "message": "Megtörtént a kijelentkezés." - }, - "loginExpired": { - "message": "A bejelentkezési munkamenet lejárt." - }, - "logOutConfirmation": { - "message": "Biztosan szeretnénk kijelentkezni?" - }, - "logOut": { - "message": "Kijelentkezés" - }, - "ok": { - "message": "Ok" - }, - "yes": { - "message": "Igen" - }, - "no": { - "message": "Nem" - }, - "loginOrCreateNewAccount": { - "message": "Bejelentkezés vagy új fiók létrehozása a biztonsági széf eléréséhez." - }, - "createAccount": { - "message": "Fiók létrehozása" - }, - "logIn": { - "message": "Bejelentkezés" - }, - "submit": { - "message": "Elküldés" - }, - "emailAddressDesc": { - "message": "Az email címmel lehet bejelentkezni." - }, - "yourName": { - "message": "Név" - }, - "yourNameDesc": { - "message": "Mi legyen a megszólítás?" - }, - "masterPass": { - "message": "Mesterjelszó" - }, - "masterPassDesc": { - "message": "A mesterjelszó a jelszó a széf eléréséhez. Nagyon fontos a mesterjelszó ismerete. Nincs mód a jelszó visszaállítására." - }, - "masterPassHintDesc": { - "message": "A mesterjelszó emlékeztető segíthet emlékezni a jelszóra elfelejtése esetén." - }, - "reTypeMasterPass": { - "message": "Mesterjelszó ismételt beírása" - }, - "masterPassHint": { - "message": "Mesterjelszó emlékeztető (nem kötelező)" - }, - "masterPassHintLabel": { - "message": "Mesterjelszó emlékeztető" - }, - "settings": { - "message": "Beállítások" - }, - "passwordHint": { - "message": "Jelszó emlékeztető" - }, - "enterEmailToGetHint": { - "message": "A fiók email címének megadása a mesterjelszó emlékeztető fogadásához." - }, - "getMasterPasswordHint": { - "message": "Mesterjelszó emlékeztető kérése" - }, - "emailRequired": { - "message": "Az email cím megadása kötelező." - }, - "invalidEmail": { - "message": "Az email cím érvénytelen." - }, - "masterPassRequired": { - "message": "A mesterjelszó megadása kötelező." - }, - "masterPassLength": { - "message": "A mesterjelszó legyen legalább 8 karakter hosszú." - }, - "masterPassDoesntMatch": { - "message": "A megadott két jelszó nem egyezik meg." - }, - "newAccountCreated": { - "message": "A fiók létrehozásra került. Most már be lehet jelentkezni." - }, - "masterPassSent": { - "message": "A mesterjelszó emlékeztetőt tartalmazó email elküldésre került." - }, - "unexpectedError": { - "message": "Váratlan hiba történt." - }, - "emailAddress": { - "message": "Email cím" - }, - "yourVaultIsLocked": { - "message": "A széf zárolásra került. A folytatáshoz meg kell adni a mesterjelszót." - }, - "unlock": { - "message": "Feloldás" - }, - "loggedInAsEmailOn": { - "message": "Bejelentkezve mint $EMAIL$ $HOSTNAME$ webhelyen.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "A mesterjelszó érvénytelen." - }, - "lockNow": { - "message": "Zárolás most" - }, - "noItemsInList": { - "message": "Nincsenek megjeleníthető elemek." - }, - "noCollectionsInList": { - "message": "Nincsenek megjeleníthető gyűjtemények." - }, - "noGroupsInList": { - "message": "Nincsenek megjeleníthető csoportok." - }, - "noUsersInList": { - "message": "Nincsenek megjeleníthető felhasználók." - }, - "noEventsInList": { - "message": "Nincsenek megjeleníthető események." - }, - "newOrganization": { - "message": "Új szervezet" - }, - "noOrganizationsList": { - "message": "Még nem tartozunk egyik szervezethez sem. A szervezetek lehetővé teszik az elemek megosztását más felhasználókkal." - }, - "versionNumber": { - "message": "Verzió: $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "A 6 számjegyű ellenőrző kód megadása a hitelesítő alkalmazásból." - }, - "enterVerificationCodeEmail": { - "message": "$EMAIL$ email címre elküldött 6 számjegyű ellenőrző kód megadása.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "Az ellenőrző kód elküldésre került $EMAIL$ email címre.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Adatok megjegyzése" - }, - "sendVerificationCodeEmailAgain": { - "message": "Megerősítő kód ismételt elküldése emailben" - }, - "useAnotherTwoStepMethod": { - "message": "Másik kétlépcsős bejelentkezés használata" - }, - "insertYubiKey": { - "message": "A YubiKey beillesztése a számítógép USB portjába és a rajta levő gomb megnyomása." - }, - "insertU2f": { - "message": "A biztonsági kulcs beillesztése a számítógép USB portjába. Ha van rajta gomb, nyomjuk meg." - }, - "loginUnavailable": { - "message": "A bejelentkezés nem érhető el." - }, - "noTwoStepProviders": { - "message": "Ezen a fiókon kétlépcsős bejelentkezés van engedélyezve, de ez az eszköz nem támogatja egyik beállított kétlépcsős szolgáltatót sem." - }, - "noTwoStepProviders2": { - "message": "Támogatott böngészőt (mint például a Chrome) kell használni és/vagy a böngészők között jobb támogatást nyújtó szolgáltatót kell megadni (mint például egy hitelesítő alkalmazás)." - }, - "twoStepOptions": { - "message": "Kétlépcsős bejelentkezés opciók" - }, - "recoveryCodeDesc": { - "message": "Elveszett a hozzáférés az összes kétlépcsős szolgáltatóhoz? A visszaállítókód használatával letilthatók fiókból a kétlépcsős szolgáltatók." - }, - "recoveryCodeTitle": { - "message": "Helyreállító kód" - }, - "authenticatorAppTitle": { - "message": "Hitelesítő alkalmazás" - }, - "authenticatorAppDesc": { - "message": "Hitelesítő alkalmazás használata (mint például az Authy vagy a Google Authenticator) idő alapú ellenőrzőkód generálásához.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "YubiKey OTP egyszeri időalapú jelszó biztonsági kulcs" - }, - "yubiKeyDesc": { - "message": "YubiKey használata a fiók eléréséhez. Működik a YubiKey 4, 4 Nano, 4C, és NEO eszközökkel." - }, - "duoDesc": { - "message": "Ellenőrzés Duo Security-val, a Duo Mobile alkalmazás, SMS, telefonhívás vagy U2F biztonsági kulcs használatával.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Ellenőrzés szervezeti Duo Security segítségével a Duo Mobile alkalmazás, SMS, telefonhívás vagy U2F biztonsági kulcs használatával.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Bármilyen FIDO U2F által engedélyezett biztonsági kulcs használata a fiók eléréséhez." - }, - "u2fTitle": { - "message": "FIDO U2F Biztonsági kulcs" - }, - "emailTitle": { - "message": "Email cím" - }, - "emailDesc": { - "message": "Az ellenőrző kódok emailben kerülnek elküldésre." - }, - "continue": { - "message": "Folytatás" - }, - "organization": { - "message": "Szervezet" - }, - "organizations": { - "message": "Szervezetek" - }, - "shareDesc": { - "message": "Szervezet választása az elem megosztásához. Az elemtulajdon átadása a szervezetnek. Innentől nem közvetlen tulajdonosa leszünk az elemnek a megosztás után." - }, - "shareManyDesc": { - "message": "Szervezet választása az elem megosztásához. Az elemtulajdon átadása a szervezetnek. Innentől nem közvetlen tulajdonosa leszünk az elemnek a megosztás után." - }, - "collectionsDesc": { - "message": "A megosztásra kerülő elem gyűjteményének szerkesztése. Csak az ezeket a gyűjteményeket elérő szervezeti felhasználók látják ezt az elemet." - }, - "deleteSelectedItemsDesc": { - "message": "$COUNT$ elem törlésre lett kijelölve. Biztosan törölni szeretnénk az összes ilyen elemet?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Célmappa kiválasztás $COUNT$ kijelölt elem áthelyezéséhez.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "$COUNT$ elem lett kiválasztva. $SHAREABLE_COUNT$ elem megosztható, $NONSHAREABLE_COUNT$ nem.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Ellenőrző kód (egyszeri időalapú)" - }, - "copyVerificationCode": { - "message": "Ellenőrző kód másolása" - }, - "warning": { - "message": "Figyelmeztetés" - }, - "confirmVaultExport": { - "message": "Széf export megerősítése" - }, - "exportWarningDesc": { - "message": "Ez az exportálás titkosítás nélkül tartalmazza a széfadatokat.Nem célszerű az exportált fájlt nem biztonságos csatornákon tárolni és továbbküldeni (például emailben). A felhasználás után erősen ajánlott a törlés." - }, - "encExportWarningDesc": { - "message": "Ez az exportálás titkosítja az adatokat a fiók titkosítási kulcsával. Ha valaha a fiók forgatási kulcsa más lesz, akkor újra exportálni kell, mert nem lehet visszafejteni ezt az exportálási fájlt." - }, - "exportMasterPassword": { - "message": "A mesterjelszó megadása a széfadatok exportálásához." - }, - "exportVault": { - "message": "Széf exportálása" - }, - "fileFormat": { - "message": "Fájlformátum" - }, - "exportSuccess": { - "message": "A széfadatok exportálásra kerültek." - }, - "passwordGenerator": { - "message": "Jelszó generátor" - }, - "minComplexityScore": { - "message": "Minimális összetettségi pontszám" - }, - "minNumbers": { - "message": "Minimális szám" - }, - "minSpecial": { - "message": "Minimális speciális", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Félreérthető karakterek mellőzése" - }, - "regeneratePassword": { - "message": "Jelszó újragenerálása" - }, - "length": { - "message": "Hossz" - }, - "numWords": { - "message": "Szavak száma" - }, - "wordSeparator": { - "message": "Szóelválasztó" - }, - "capitalize": { - "message": "Nagy kezdőbetű", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Szám is" - }, - "passwordHistory": { - "message": "Jelszó előzmények" - }, - "noPasswordsInList": { - "message": "Nincsenek listázható jelszavak." - }, - "clear": { - "message": "Kiürítés", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "A fiók frissítésre került." - }, - "changeEmail": { - "message": "Email cím módosítása" - }, - "newEmail": { - "message": "Új email cím" - }, - "code": { - "message": "Kód" - }, - "changeEmailDesc": { - "message": "Az ellenőrző kód elküldésre került $EMAIL$ email címre. Ellenőrizzük az kódot tartalmazó emailt és adjuk meg azt itt az email cím megváltoztatásához.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "A folytatásban a felhasználó kiléptetésre kerül a jelenlegi munkamenetből, szükséges az ismételt bejelentkezés. Más eszközökön aktív munkamenetek akár egy órán keresztül is aktívak maradhatnak." - }, - "emailChanged": { - "message": "Az email cím megváltozott." - }, - "logBackIn": { - "message": "Ismételten be kell jelentkezni." - }, - "logBackInOthersToo": { - "message": "Ismételten be kell jelentkezni. Ha másik Bitwarden alkalmazásokat használunk, ott is jelentkezzünk ki és ismételten be." - }, - "changeMasterPassword": { - "message": "Mesterjelszó módosítása" - }, - "masterPasswordChanged": { - "message": "A mesterjelszó megváltozott." - }, - "currentMasterPass": { - "message": "Jelenlegi mesterjelszó" - }, - "newMasterPass": { - "message": "Új mesterjelszó" - }, - "confirmNewMasterPass": { - "message": "Új jelszó megerősítése" - }, - "encKeySettings": { - "message": "Kulcs beállítások titkosítása" - }, - "kdfAlgorithm": { - "message": "KDF algoritmus" - }, - "kdfIterations": { - "message": "KDF iterációk" - }, - "kdfIterationsDesc": { - "message": "A magasabb KDF iterációk segíthetnek a megvédeni a mesterjelszót a \"brute force\" jellegű támadásoktól. Javaslunk $VALUE$, vagy magasabb értéket.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "A túl magas KDF iterációk lelassíthatják a lassabb CPU-val rendelkező eszközökön a bejelentkezést a Bitwardenbe (és a lezárást is). Javasoljuk az érték növelését $INCREMENT$ lépéssel és teszteljük azt az összes eszközön.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "KDF megváltoztatása" - }, - "encKeySettingsChanged": { - "message": "A kulcs beállítás titkosítása megváltozott." - }, - "dangerZone": { - "message": "Veszélyes terület" - }, - "dangerZoneDesc": { - "message": "Óvatosan! Ezeket a műveleteket nem lehet visszaállítani." - }, - "deauthorizeSessions": { - "message": "Munkamenetek hitelesítésének eldobása" - }, - "deauthorizeSessionsDesc": { - "message": "Aggódunk a egy másik eszközön történő bejelentkezés miatt? Az alábbiakban ismertetett módon dobjuk el az összes hitelesítést az összes számítógépen és eszközön. Ez a biztonsági lépés akkor ajánlott, ha korábban nyilvános helyen levő számítógépet használtunk vagy véletlenül mentettünk jelszót egy olyan eszközön, amely nem a sajátunk. Ez a lépés törli az összes korábban megjegyzett kétlépéses bejelentkezési munkamenetet." - }, - "deauthorizeSessionsWarning": { - "message": "A folytatásban s felhasználó kiléptetésre kerül az aktuális munkamenetből, szükséges az ismételt bejelentkezés. Ismételten megjelenik a kétlépcsős bejelentkezés, ha az engedélyezett. Más eszközök aktív munkamenetei akár egy óráig is aktívak maradhatnak." - }, - "sessionsDeauthorized": { - "message": "Az összes munkamenet hitelesítése eldobásra került." - }, - "purgeVault": { - "message": "Széf kitakarítása" - }, - "purgedOrganizationVault": { - "message": "A szervezeti széf kitakarításra került." - }, - "purgeVaultDesc": { - "message": "Az alábbiak szerint törölhetjük a széfben található összes elemet és mappát. Nem kerülnek törlésre azok az elemek,, amelyek egy megosztott szervezethez tartoznak." - }, - "purgeOrgVaultDesc": { - "message": "Folytatás lentebb a szervezeti széf összes elemének törléséhez." - }, - "purgeVaultWarning": { - "message": "A széf kitakarítása végleges. A művelet nem vonható vissza." - }, - "vaultPurged": { - "message": "A széf kitakarításra került." - }, - "deleteAccount": { - "message": "Fiók törlése" - }, - "deleteAccountDesc": { - "message": "A továbbiakban a fiók és összes társított adata törlésre kerül.." - }, - "deleteAccountWarning": { - "message": "A fiók végleges törlése következik. A művelet nem vonható vissza." - }, - "accountDeleted": { - "message": "A fiók törlésre került." - }, - "accountDeletedDesc": { - "message": "A fiók bezárásra került és minden társított adat törölve lett." - }, - "myAccount": { - "message": "Saját fiók" - }, - "tools": { - "message": "Eszközök" - }, - "importData": { - "message": "Adatok importálása" - }, - "importSuccess": { - "message": "Az adatok sikeresen importálásra kerültek a széfbe." - }, - "importFormatError": { - "message": "Az adatok formázása nem megfelelő. Ellenőrizzük az import fájlt és próbáljuk újra." - }, - "importNothingError": { - "message": "Semmi nem lett importálva." - }, - "selectFormat": { - "message": "Válasszuk ki az import fájl formátumát." - }, - "selectImportFile": { - "message": "Válasszuk ki az import fájlt" - }, - "orCopyPasteFileContents": { - "message": "vagy vágólapon vigyük be fájl tartalmat" - }, - "instructionsFor": { - "message": "$NAME$ utasítások", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Opciók" - }, - "optionsDesc": { - "message": "A webes széf működésének testreszabása." - }, - "optionsUpdated": { - "message": "Az opciók frissítésre kerültek." - }, - "language": { - "message": "Nyelv" - }, - "languageDesc": { - "message": "A webes széf nyelvének megváltoztatása." - }, - "disableIcons": { - "message": "Webhely ikonok letiltása" - }, - "disableIconsDesc": { - "message": "A webhelyek ikonjai felismerhető ikonként jelennek meg a széf összes eleme mellett." - }, - "enableGravatars": { - "message": "Gravatarok engedélyezése", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Avatar képek használata a gravatar.com webhelyről." - }, - "enableFullWidth": { - "message": "Teljes szélességű elrendezés engedélyezése", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "A webes széf teljes szélességűre tágításának engedélyezése a böngészőablakban." - }, - "default": { - "message": "Alapértelmezett" - }, - "domainRules": { - "message": "Domain szabályok" - }, - "domainRulesDesc": { - "message": "Ha ugyanazokat a bejelentkezési adatokat használjuk több különböző webhely domainen, ezeket \"azonos\"-ként jelölhetjük meg. A \"Globális\" domainek a Bitwarden által már létrehozottak." - }, - "globalEqDomains": { - "message": "Globális azonos domainek" - }, - "customEqDomains": { - "message": "Egyedi azonos domainek" - }, - "exclude": { - "message": "Kizárás" - }, - "include": { - "message": "Bevonás" - }, - "customize": { - "message": "Testreszabás" - }, - "newCustomDomain": { - "message": "Új egyedi domain" - }, - "newCustomDomainDesc": { - "message": "A domainek listája vesszővel elválasztva. Csak \"alap\" domainek engedélyezettek. Ne adjunk meg aldomaineket. Például \"google.com\" legyen \"www.google.com\" helyett. Megadható \"androidapp://csomag.nev forma android alkalmazás társításához ás webhely domainekhez." - }, - "customDomainX": { - "message": "Egyedi domain $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "A domainek frissítésre kerültek." - }, - "twoStepLogin": { - "message": "Kétlépcsős bejelentkezés" - }, - "twoStepLoginDesc": { - "message": "A fiók biztosítása kiegészítő lépéssel bejelentkezéskor." - }, - "twoStepLoginOrganizationDesc": { - "message": "Kétlépéses bejelentkezés szükséges a szervezet felhasználói számára a szolgáltatók szervezeti szintű konfigurálásával." - }, - "twoStepLoginRecoveryWarning": { - "message": "A kétlépcsős bejelentkezés engedélyezése véglegesen kizárhatja a felhasználót a Bitwarden fiókból. A helyreállítási kód lehetővé teszi a fiókjához való hozzáférést abban az esetben, ha már nem tudjuk használni a szokásos kétlépcsős bejelentkezési szolgáltatást (pl. készülék elvesztése). A Bitwarden támogatás nem tud segíteni abban az esetben, ha elveszítjük a hozzáférést a fiókhoz. Célszerű leírni vagy kinyomtatni a helyreállítási kódot és azt biztonságos helyen tartani." - }, - "viewRecoveryCode": { - "message": "Helyreállító kód megtekintése" - }, - "providers": { - "message": "Szolgáltatók", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Engedélyezés" - }, - "enabled": { - "message": "Engedélyezve" - }, - "premium": { - "message": "Prémium", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Prémium tagság" - }, - "premiumRequired": { - "message": "Prémium funkció szükséges" - }, - "premiumRequiredDesc": { - "message": "A funkció használatához prémium tagság szükséges." - }, - "youHavePremiumAccess": { - "message": "Már rendelkezünk prémium tagsággal." - }, - "alreadyPremiumFromOrg": { - "message": "Már rendelkezünk a prémium funkciókkal, mert egy szervezet tagjai vagyunk." - }, - "manage": { - "message": "Kezelés" - }, - "disable": { - "message": "Letiltás" - }, - "twoStepLoginProviderEnabled": { - "message": "Ez a kétlépéses bejelentkezés szolgáltató már engedélyezett a fiókon." - }, - "twoStepLoginAuthDesc": { - "message": "A kétlépéses bejelentkezési beállítások módosításához meg kell adni a mesterjelszót." - }, - "twoStepAuthenticatorDesc": { - "message": "Kövesük a következő lépéseket a kétlépéses bejelentkezés beállításához egy hitelesítő alkalmazással:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Kétlépéses hitelesítő alkalmazás letöltése" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Szükség van egy kétlépéses hitelesítő alkalmazásra? Töltsük le a következők egyikét." - }, - "iosDevices": { - "message": "iOS eszközök" - }, - "androidDevices": { - "message": "Android eszközök" - }, - "windowsDevices": { - "message": "Windows eszközök" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "Ezek az alkalmazások ajánlottak, de más hitelesítő alkalmazások is működnek." - }, - "twoStepAuthenticatorScanCode": { - "message": "Ezt a kódot kell beolvasni a hitelesítő alkalmazással." - }, - "key": { - "message": "Kulcs" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Adjuk meg az alkalmazásból kapott 6 számjegyű ellenőrző kódot." - }, - "twoStepAuthenticatorReaddDesc": { - "message": "Ha ezt egy másik eszközhöz is hozzá kell adni, lentebb található a hitelesítő alkalmazás QR kódja (vagy kulcsa)." - }, - "twoStepDisableDesc": { - "message": "Biztosan szeretnénk kapcsolni ezt a kétlépcsős bejelentkezés szolgáltatót?" - }, - "twoStepDisabled": { - "message": "A kétlépcsős azonosító szolgáltatás kikapcsolásra került." - }, - "twoFactorYubikeyAdd": { - "message": "Új YubiKey hozzáadása a fiókhoz." - }, - "twoFactorYubikeyPlugIn": { - "message": "Helyezzük be a YubiKey eszközt a számítógép USB portjába." - }, - "twoFactorYubikeySelectKey": { - "message": "Válasszuk ki az első üres YubiKey beviteli mezőt lentebb." - }, - "twoFactorYubikeyTouchButton": { - "message": "Érintsük meg a YubiKey gombját." - }, - "twoFactorYubikeySaveForm": { - "message": "Az űrlap mentése." - }, - "twoFactorYubikeyWarning": { - "message": "Platform korlátozások miatt nem lehetséges minden Bitwarden alkalmazásban YubiKey eszközt használni. Engedélyezzünk egy másik kétlépcsős bejelentkezés szolgáltatót, hogy hozzáférhessünk a fiókhoz akkor is, ha a YubiKey nem használható. Támogatott platformok:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Webes széf, asztali alkalmazás, CLI, és minden egyéb böngésző bővítmény olyan USB porttal rendelkező eszközön, amely elfogadja a YubiKey eszközt." - }, - "twoFactorYubikeySupportMobile": { - "message": "Az NFC szolgáltatással vagy adatporttal ellátott eszközök mobil alkalmazásai elfogadhatják a YubiKey eszközt." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "U2F kulcs $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "NFC támogatás" - }, - "twoFactorYubikeySupportsNfc": { - "message": "Az egyik kulcs támogatja az NFC-t." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "Ha van NFC támogatott YubiKey eszköz (pl. YubiKey NEO), akkor a mobileszközök jelzik az NFC elérhetőség észlelését." - }, - "yubikeysUpdated": { - "message": "A YubiKey eszközök frissítésre kerültek." - }, - "disableAllKeys": { - "message": "Összes kulcs letiltása" - }, - "twoFactorDuoDesc": { - "message": "A Bitwarden alkalmazás információjának megadása a Duo Admin panelről." - }, - "twoFactorDuoIntegrationKey": { - "message": "Integrációs kulcs" - }, - "twoFactorDuoSecretKey": { - "message": "Titkos kulcs" - }, - "twoFactorDuoApiHostname": { - "message": "API kiszolgálónév" - }, - "twoFactorEmailDesc": { - "message": "Kövessük a következő lépéseket a kétlépcsős bejelentkezés beállításához email segítségével:" - }, - "twoFactorEmailEnterEmail": { - "message": "Adjuk meg azt az email címet, ahol az ellenőrző kódokat fogadjuk." - }, - "twoFactorEmailEnterCode": { - "message": "Adjuk meg az emailbőll kapott 6 számjegyű ellenőrző kódot." - }, - "sendEmail": { - "message": "Email küldés" - }, - "twoFactorU2fAdd": { - "message": "Adjunk meg egy FIDO U2F biztonsági kulcsot a fiókhoz." - }, - "removeU2fConfirmation": { - "message": "Biztosan eltávolításra kerüljön a biztonsági kulcs?" - }, - "readKey": { - "message": "Kulcs beolvasása" - }, - "keyCompromised": { - "message": "A kulcs megsérült." - }, - "twoFactorU2fGiveName": { - "message": "Adjunk egy megfelelő nevet a biztonsági kulcsnak az azonosításhoz." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Helyezzük be a biztonsági kulcsot a számítógép USB portjába ás kattintsunk a \"Kulcs beolvasása\" gombra." - }, - "twoFactorU2fTouchButton": { - "message": "Ha biztonsági kulcsnak van gombja, érintsük meg azt." - }, - "twoFactorU2fSaveForm": { - "message": "Az űrlap mentése." - }, - "twoFactorU2fWarning": { - "message": "A platform korlátozások miatt nem lehet minden Bitwarden alkalmazásban FIDO U2F-t használni. Célszerű engedélyezni egy másik kétlépcsős bejelentkezés szolgáltatót a fiók eléréséhez akkor, ha a FIDO U2F nem használható. Támogatott platformok:" - }, - "twoFactorU2fSupportWeb": { - "message": "Web széf és böngésző kiegészítők asztali gépen / laptopon engedélyezett U2F böngészővel (Chrome, Opera, Vivaldi, vagy Firefox bekapcsolt FIDO U2F-fel)." - }, - "twoFactorU2fWaiting": { - "message": "Várakozás a biztonsági kulcs gombjának megérintésére." - }, - "twoFactorU2fClickSave": { - "message": "Kattintás lentebb a \"Mentés\" gombra a kétlépcsős bejelentkezés biztonsági kulcsának engedélyezéséhez." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "Probléma lépett fel a biztonsági kulcs olvasásakor. Próbáljuk újra." - }, - "twoFactorRecoveryYourCode": { - "message": "Bitwarden kétlépcsős bejelentkezés helyreállító kód" - }, - "twoFactorRecoveryNoCode": { - "message": "Még nem lett engedélyezve kétlépcsős bejelentkezés szolgáltató. A kétlépcsős bejelentkezés szolgáltató engedélyezése után visszatérhetünk ide a helyreállító kódért." - }, - "printCode": { - "message": "Kód nyomtatása", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Jelentések" - }, - "unsecuredWebsitesReport": { - "message": "Nem-biztonságos webhelyek jelentés" - }, - "unsecuredWebsitesReportDesc": { - "message": "A http:// sémájú nem-biztonságos webhelyek használata veszélyes lehet. Ha a webhely engedi, mindig használuk a https:// sémát a kapcsolat titkosítására." - }, - "unsecuredWebsitesFound": { - "message": "Nem-biztonságos webhelyek találhatók." - }, - "unsecuredWebsitesFoundDesc": { - "message": "$COUNT$ elem található a széfben nem-biztonságos URI-val. Ezeket URI sémáját célszerű módosítani https://-re.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "A széfben nincs nem-biztonságos URI-val rendelkező elem." - }, - "inactive2faReport": { - "message": "2FA jelentés kikapcsolása" - }, - "inactive2faReportDesc": { - "message": "A kétlépcsős hitelesítés (2FA) egy fontos biztonsági beállítás, amely biztosítja a fiókokat. Ha egy webhely felkínálja ezt, célszerű mindig engedélyezni a kétlépcsős hitelesítést." - }, - "inactive2faFound": { - "message": "2FA nélküli bejelentkezések találhatók." - }, - "inactive2faFoundDesc": { - "message": "$COUNT$ olyan webhely van a széfben, amely nincs kétlépcsős hitelesítéssel konfigurálva (a 2fa.directory alapján). Ezen fiókok további védelme érdekében, javasolt lenne a kétlépcsős hitelesítés használata.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "A széfben nincs hiányzó kétlépcsős hitelesítés konfigurációval rendelkező webhely." - }, - "instructions": { - "message": "Utasítások" - }, - "exposedPasswordsReport": { - "message": "Kiszivárgott jelszavak jelentés" - }, - "exposedPasswordsReportDesc": { - "message": "A kiszivárgott jelszavak olyan jelszavak, amelyek ismert adatsértések miatt nyilvánosságra kerültek vagy a sötét interneten hackerek értékesítettek azokat." - }, - "exposedPasswordsFound": { - "message": "Kiszivárgott jelszavak találhatók." - }, - "exposedPasswordsFoundDesc": { - "message": "$COUNT$ elem található a széfben, amelyek érintve voltak ismert adatszivárgásban. Célszerű új jelszavakra lecserélni ezeket.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "Nem található a széfben ismert adatszivárgásban érintett jelszó." - }, - "checkExposedPasswords": { - "message": "Kiszivárgott jelszavak ellenőrzése" - }, - "exposedXTimes": { - "message": "$COUNT$ alkalommal szivárgott ki", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Gyenge jelszavak jelentés" - }, - "weakPasswordsReportDesc": { - "message": "A gyenge jelszavakat könnyen megfejthetik hackerek és jelszótöréshez használt eszközök. A Bitwarden jelszógenerátor segít erős jelszót készíteni." - }, - "weakPasswordsFound": { - "message": "Gyenge jelszavak találhatók." - }, - "weakPasswordsFoundDesc": { - "message": "$COUNT$ gyenge jelszó van a széfben. Célszerű lenne ezeket lecserélni erősebb jelszóra.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "Egyik elemnél sincsenek gyenge jelszavak." - }, - "reusedPasswordsReport": { - "message": "Újrahasznált jelszavak jelentés" - }, - "reusedPasswordsReportDesc": { - "message": "Ha használatban levő szolgáltatást feltörtek, ugyanannak a jelszónak a használata máshol lehetővé teszi a hackereknek a hozzáférés elérését több webes fióknál is. Fontos, hogy egyedi jelszavakat használjunk minden fiókhoz vagy szolgáltatáshoz." - }, - "reusedPasswordsFound": { - "message": "Újrahasznált jelszavak találhatók." - }, - "reusedPasswordsFoundDesc": { - "message": "$COUNT$ újrahasznált jelszó van a széfben. Változtassuk meg ezeket egyedi értékűre.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "A széfben nincsenek újrahasznált jelszóval rendelkező bejelentkezések." - }, - "reusedXTimes": { - "message": "$COUNT$ alkalommal újrafelhasználva", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Adatszivárgás jelentés" - }, - "breachDesc": { - "message": "Adatszivárgásnak hívják azokat az incidenseket, amelyek során a webhelyek adataihoz illegálisan férnek hozzá hackerek és az így megszerzett adatokat nyilvánosságra hozzák. Ellenőrizzük a kompromittálódott adatok típusait (email cím, jelszó, hitelkártya adatok, stb.) és hajtsuk végre a megfelelő műveleteket, ilyen a jelszócsere." - }, - "breachCheckUsernameEmail": { - "message": "Ellenőriztük a használatban levő felhasználóneveket vagy email címeket." - }, - "checkBreaches": { - "message": "Szivárgás ellenőrzés" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ nem található egyik ismert adatszivárgásban sem.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Jó hírek", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ $COUNT$ különböző webes adatszivárgásban megtalálható.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Kiszivárgott fiókok találhatók." - }, - "compromisedData": { - "message": "Sérült adatok" - }, - "website": { - "message": "Webhely" - }, - "affectedUsers": { - "message": "Érintett felhasználók" - }, - "breachOccurred": { - "message": "Adatszivárgás történt." - }, - "breachReported": { - "message": "Az adatszivárgás jelentésre került." - }, - "reportError": { - "message": "Hiba történt a jelentés betöltése közben. Próbáljuk újra." - }, - "billing": { - "message": "Számlázás" - }, - "accountCredit": { - "message": "Fiók hitelkeret", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Számla egyenleg", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Hitelkeret hozzáadása", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Összeg", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "A feltöltött hitelkeret megjelenik a fiókban a fizetés teljes feldolgozása után. Néhány fizetési mód késhet és hosszabb időt is igénybe vehet." - }, - "makeSureEnoughCredit": { - "message": "Ellenőrizzük, hogy a fióknak elég hitelkerete van a vásárláshoz. Ha nincs elég keret, akkor az alapértelmezett fizetési mód kerül használatba a különbségnél. Hitelkeretet a Számlázás oldalon adhatunk hozzá." - }, - "creditAppliedDesc": { - "message": "A fiók hitelkeret vásárlásra használható. A rendelkezésre álló keret automatikusan ehhez a fiókhoz generálódó számlákra kerül alkalmazásra." - }, - "goPremium": { - "message": "Váltás Prémiumra", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "Megtörtént az áttérés a Prémium verzióra." - }, - "premiumUpgradeUnlockFeatures": { - "message": "A fiók átállítása prémium tagságra és sok kiegészítő lehetőség feloldása." - }, - "premiumSignUpStorage": { - "message": "1 GB titkosított tárhely a fájlmellékleteknek." - }, - "premiumSignUpTwoStep": { - "message": "További olyan kétlépcsős bejelentkezési opciók mint a YubiKey, FIDO U2F és Duo." - }, - "premiumSignUpReports": { - "message": "Jelszó higiénia, felhasználói fiók biztonsága, és adatszivárgási jelentések a széf biztonsága érdekében." - }, - "premiumSignUpTotp": { - "message": "Egyszeri időalapú TOTP ellenőrző kód (2FA) generátor a széfbe bejelentkezésekhez." - }, - "premiumSignUpSupport": { - "message": "Elsőbbségi ügyfélszolgálat." - }, - "premiumSignUpFuture": { - "message": "Minden jövőbeli prémium funkció. Hamarosan jön még több!" - }, - "premiumPrice": { - "message": "Mindez csak $PRICE$ /év.", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Kiegészítők" - }, - "premiumAccess": { - "message": "Prémium hozzáférés" - }, - "premiumAccessDesc": { - "message": "Prémium hozzáférés adható a szervezet összes tagjának $PRICE$ /$INTERVAL$ összegért.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Kiegészítő tárhely (GB)" - }, - "additionalStorageGbDesc": { - "message": "További # GB" - }, - "additionalStorageIntervalDesc": { - "message": "Az előfizetői díjcsomag $SIZE$ titkosított tárhelyet tartalmaz. További tárhellyel bővíthető $PRICE$ /GB /$INTERVAL$ összegben.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Összegzés" - }, - "total": { - "message": "Összesen" - }, - "year": { - "message": "év" - }, - "month": { - "message": "hónap" - }, - "monthAbbr": { - "message": "hó.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "A fizetési mód azonnal, ezután évente kerül ráterhelésre. Bármikor lemondható." - }, - "paymentCharged": { - "message": "A fizetési mód azonnal, ezután $INTERVAL$ időszakonként kerül ráterhelésre. Bármikor lemondható.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Az előfizetési terv 7 napos ingyenes próbaidőszakot tartalmaz. A választott fizetési mód nem kerül ráterhelésre a próbaidőszak végéig. Az számlázás alapja $INTERVAL$ időszak. Ez bármikor lemondható.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Fizetési információ" - }, - "billingInformation": { - "message": "Számlázási adatok" - }, - "creditCard": { - "message": "Hitelkártya" - }, - "paypalClickSubmit": { - "message": "Kattintás a PayPal gombra a PayPal fiókba bejelentkezéshez, ezután kattintás a Beküldés gombra a folytatáshoz." - }, - "cancelSubscription": { - "message": "Előfizetés megszüntetése" - }, - "subscriptionCanceled": { - "message": "Az előfizetés törlésre került." - }, - "pendingCancellation": { - "message": "Függő törlés" - }, - "subscriptionPendingCanceled": { - "message": "Az előfizetés törlésre lett kijelölve az aktuális számlázási időszak végéig." - }, - "reinstateSubscription": { - "message": "Előfizetés visszaállítása" - }, - "reinstateConfirmation": { - "message": "Biztosan eltávolításra kerüljön a függőben levő törlés kérés és visszaállításra kerüljön az előfizetés?" - }, - "reinstated": { - "message": "Az előfizetés visszaállításra került." - }, - "cancelConfirmation": { - "message": "Biztosan törlésre kerüljön? A számlázási időszak végén az összes előfizetési hozzáférés elveszik." - }, - "canceledSubscription": { - "message": "Az előfizetés törlésre került." - }, - "neverExpires": { - "message": "Nincs lejárat" - }, - "status": { - "message": "Állapot" - }, - "nextCharge": { - "message": "Következő terhelés" - }, - "details": { - "message": "Részletek" - }, - "downloadLicense": { - "message": "Licensz letöltése" - }, - "updateLicense": { - "message": "Licensz frissítése" - }, - "updatedLicense": { - "message": "A licensz frissítésre került." - }, - "manageSubscription": { - "message": "Előfizetés kezelése" - }, - "storage": { - "message": "Tárhely" - }, - "addStorage": { - "message": "Tárhely hozzáadása" - }, - "removeStorage": { - "message": "Tárhely eltávolítása" - }, - "subscriptionStorage": { - "message": "Az előfizetéshez összesen $MAX_STORAGE$ GB titkosított tárhely tartozik. Jelenleg $USED_STORAGE$ GB van használatban.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Fizetési mód" - }, - "noPaymentMethod": { - "message": "Nincs fizetési mód beállítva." - }, - "addPaymentMethod": { - "message": "Fizetési mód hozzáadása" - }, - "changePaymentMethod": { - "message": "Fizetési mód módosítása" - }, - "invoices": { - "message": "Számlák" - }, - "noInvoices": { - "message": "Nincsenek számlák." - }, - "paid": { - "message": "Fizetve", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Nincs fizetve", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Tranzakciók", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "Nincsenek tranzakciók." - }, - "chargeNoun": { - "message": "Terhelés", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Visszatérítés", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "A kivonaton minden terhelés $STATEMENT_NAME$ néven jelenik meg.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "Hozzáadandó tárhely GB mennyiség" - }, - "gbStorageRemove": { - "message": "Eltávolítandó tárhely GB mennyiség" - }, - "storageAddNote": { - "message": "A tárhely bővítés megjelenik a számlaösszesítőben és azonnal terheli a fizetési módot. Az első díj az aktuális számlázási időszak időarányos fennmaradó részére kerül számlázásra." - }, - "storageRemoveNote": { - "message": "A tárhely eltávolítás módosítja a számlázási összegeket, amelyeket jóváírásként számítanak be a következő számlázási díjhoz." - }, - "adjustedStorage": { - "message": "A módosított tárhely mérete $AMOUNT$ GB.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Ügyfélszolgálat elérése" - }, - "updatedPaymentMethod": { - "message": "A fizetési mód frissítésre került." - }, - "purchasePremium": { - "message": "Prémium vásárlása" - }, - "licenseFile": { - "message": "Licenszfájl" - }, - "licenseFileDesc": { - "message": "A licenszfájl elnevezése ehhez hasonló: $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "A fiók prémium tagságira frissítéséhez fel kell tölteni egy érvényes licenszfájlt." - }, - "uploadLicenseFileOrg": { - "message": "Saját tárolt szervezet létrehozásához feltölteni kell egy érvényes licenszfájlt." - }, - "accountEmailMustBeVerified": { - "message": "Ellenőrizni kell a fiókhoz tartozó email címet." - }, - "newOrganizationDesc": { - "message": "A szervezetek lehetővé teszik a széf részeinek megosztását másokkal, valamint egy adott entitással kapcsolatos olyan felhasználók kezelését mint például egy család, kis csapat vagy nagyvállalat." - }, - "generalInformation": { - "message": "Általános információk" - }, - "organizationName": { - "message": "Szervezet neve" - }, - "accountOwnedBusiness": { - "message": "Ez a fiók egy vállalkozás tulajdonában van." - }, - "billingEmail": { - "message": "Számlázási email cím" - }, - "businessName": { - "message": "Vállalkozás neve" - }, - "chooseYourPlan": { - "message": "Díjcsomag választás" - }, - "users": { - "message": "Felhasználók" - }, - "userSeats": { - "message": "Felhasználói helyek" - }, - "additionalUserSeats": { - "message": "Kiegészítő felhasználói helyek" - }, - "userSeatsDesc": { - "message": "Felhasználói helyek száma" - }, - "userSeatsAdditionalDesc": { - "message": "A díjcsomag $BASE_SEATS$ felhasználói helyet tartalmaz. További felhasználókat havi $SEAT_PRICE$/felhasználó/hónap áron lehet felvenni.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "Mennyi felhasználói helyre van szükséged? A felhasználói helyeket később szükség esetén bővítheted." - }, - "planNameFree": { - "message": "Ingyenes", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "Tesztelésre vagy személyes felhasználóknál megosztás $COUNT$ egyéb felhasználóval.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Családok" - }, - "planDescFamilies": { - "message": "Személyes használatra, családtagokkal és ismerősökkel történő megosztásra." - }, - "planNameTeams": { - "message": "Csoportok" - }, - "planDescTeams": { - "message": "Vállalkozásoknak és más szervezeti csoportoknak." - }, - "planNameEnterprise": { - "message": "Vállalatok" - }, - "planDescEnterprise": { - "message": "Vállalkozásoknak és más nagy szervezeteknek." - }, - "freeForever": { - "message": "Örökre ingyenes" - }, - "includesXUsers": { - "message": "$COUNT$ felhasználót tartalmaz", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "További felhasználók" - }, - "costPerUser": { - "message": "$COST$/felhasználó", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "$COUNT$ felhasználóra korlátozva (az aktuálissal együtt)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "$COUNT$ gyűjteményre korlátozva", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Hozzáadás és megosztás legfeljebb $COUNT$ felhasználóval", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Hozzáadás és megosztás legfeljebb korlátlan felhasználóval" - }, - "createUnlimitedCollections": { - "message": "Korlátlan gyűjtemény létrehozása" - }, - "gbEncryptedFileStorage": { - "message": "1 GB titkosított fájl tárhely.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "Saját tárolás (opcionális)" - }, - "usersGetPremium": { - "message": "A felhasználók hozzáférést kapnak a prémium tagság funkcióihoz." - }, - "controlAccessWithGroups": { - "message": "Felhasználó hozzáférés vezérlése csoportokkal." - }, - "syncUsersFromDirectory": { - "message": "A felhasználók és csoportok szinkronizálása könyvtárból." - }, - "trackAuditLogs": { - "message": "Felhasználói műveletek nyomon követése elemző naplózással." - }, - "enforce2faDuo": { - "message": "2FA Duo erőltetése" - }, - "priorityCustomerSupport": { - "message": "Elsőbbségi felhasználói támogatás" - }, - "xDayFreeTrial": { - "message": "$COUNT$ ingyenes nap van még, bármikor megszakítható.", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Havi" - }, - "annually": { - "message": "Évente" - }, - "basePrice": { - "message": "Alapár" - }, - "organizationCreated": { - "message": "A szervezet létrehozásra került." - }, - "organizationReadyToGo": { - "message": "A szervezet használatra kész." - }, - "organizationUpgraded": { - "message": "A szervezet felminősítésre került." - }, - "leave": { - "message": "Kilépés" - }, - "leaveOrganizationConfirmation": { - "message": "Biztosan kilépünk ebből a szervezetből?" - }, - "leftOrganization": { - "message": "Megtörtént a kilépés a szervezetből." - }, - "defaultCollection": { - "message": "Alapértelmezett gyűjtemény" - }, - "getHelp": { - "message": "Segítségkérés" - }, - "getApps": { - "message": "Alkalmazások letöltése" - }, - "loggedInAs": { - "message": "Bejelentkezve mint" - }, - "eventLogs": { - "message": "Eseménynapló" - }, - "people": { - "message": "Emberek" - }, - "policies": { - "message": "Szabályok" - }, - "editPolicy": { - "message": "Szabály szerkesztése" - }, - "groups": { - "message": "Csoportok" - }, - "newGroup": { - "message": "Új csoport" - }, - "addGroup": { - "message": "Csoport hozzáadása" - }, - "editGroup": { - "message": "Csoport szerkesztése" - }, - "deleteGroupConfirmation": { - "message": "Biztosan törlésre kerüljön ez a csoport?" - }, - "removeUserConfirmation": { - "message": "Biztosan eltávolításra kerüljön ez a felhasználó?" - }, - "externalId": { - "message": "Külső azonosító" - }, - "externalIdDesc": { - "message": "A külső azonosító hivatkozásként használható, vagy ahhoz, hogy ezt az erőforrást egy külső rendszerhez, például felhasználói könyvtárhoz kapcsoljuk." - }, - "accessControl": { - "message": "Hozzáférés vezérlés" - }, - "groupAccessAllItems": { - "message": "Ez a csoport minden elemhez hozzáfér és módosíthatja azokat." - }, - "groupAccessSelectedCollections": { - "message": "Ez a csoport csak a kiválasztott gyűjteményekhez fér hozzá." - }, - "readOnly": { - "message": "Csak olvasható" - }, - "newCollection": { - "message": "Új gyűjtemény" - }, - "addCollection": { - "message": "Gyűjtemény hozzáadása" - }, - "editCollection": { - "message": "Gyűjtemény szerkesztése" - }, - "deleteCollectionConfirmation": { - "message": "Biztosan törlésre kerüljön ez a gyűjtemény?" - }, - "editUser": { - "message": "Felhasználó szerkesztése" - }, - "inviteUser": { - "message": "Felhasználó meghívása" - }, - "inviteUserDesc": { - "message": "Új felhasználó meghívása a szervezetéhez a Bitwarden fiók e-mail címének megadásával. Ha még nem rendelkezik Bitwarden-fiókkal, felkérjük új fiók létrehozására.\n" - }, - "inviteMultipleEmailDesc": { - "message": "Egymástól vesszővel elválasztott email címek megadásával egyszerre akár $COUNT$ felhasználó meghívható.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "Ez a felhasználó kétlépcsős bejelentkezést használ fiókja védelmére." - }, - "userAccessAllItems": { - "message": "Ez a felhasználó minden elemhez hozzáfér és módosítani tudja azokat." - }, - "userAccessSelectedCollections": { - "message": "Ez a felhasználó csak a kiválasztott gyűjteményekhez fér hozzá." - }, - "search": { - "message": "Keresés" - }, - "invited": { - "message": "Meghívott" - }, - "accepted": { - "message": "Elfogadva" - }, - "confirmed": { - "message": "Megerősítve" - }, - "owner": { - "message": "Tulajdonos" - }, - "ownerDesc": { - "message": "A legmagasabb hozzáféréssel rendelkező felhasználó kezelheti a szervezet összes lehetőségét." - }, - "admin": { - "message": "Adminisztrátor" - }, - "adminDesc": { - "message": "Az adminisztrátorok hozzáférhetnek a szervezet összes eleméhez, gyűjteményéhez és felhasználójához, valamint kezelhetik azokat." - }, - "user": { - "message": "Felhasználó" - }, - "userDesc": { - "message": "Normál felhasználó a szervezeti gyűjtemények elérésével." - }, - "manager": { - "message": "Menedzser" - }, - "managerDesc": { - "message": "A menedzserek hozzáférhetnek a szervezet összes gyűjteményéhez, valamint kezelhetik azokat." - }, - "all": { - "message": "Összes" - }, - "refresh": { - "message": "Frissítés" - }, - "timestamp": { - "message": "Időbélyeg" - }, - "event": { - "message": "Esemény" - }, - "unknown": { - "message": "Ismeretlen" - }, - "loadMore": { - "message": "Továbbiak betöltése" - }, - "mobile": { - "message": "Mobil", - "description": "Mobile app" - }, - "extension": { - "message": "Bővítmény", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Asztali", - "description": "Desktop app" - }, - "webVault": { - "message": "Webes széf" - }, - "loggedIn": { - "message": "Megtörtént a bejelentkezés." - }, - "changedPassword": { - "message": "A fiók jelszava megváltozott." - }, - "enabledUpdated2fa": { - "message": "A kétlépcsős bejelentkezés bekapcsolásra/frissítésre került." - }, - "disabled2fa": { - "message": "A kétlépcsős bejelentkezés kikapcsolásra került." - }, - "recovered2fa": { - "message": "38/5000\nA fiók visszaállításra került a kétlépcsős bejelentkezésről." - }, - "failedLogin": { - "message": "A bejelentkezési kísérlet hibás jelszó miatt meghiúsult." - }, - "failedLogin2fa": { - "message": "A bejelentkezés meghiúsult hibás kétlépcsős bejelentkezés miatt." - }, - "exportedVault": { - "message": "A széf exportálásra került." - }, - "exportedOrganizationVault": { - "message": "A szervezeti széf exportálásra került." - }, - "editedOrgSettings": { - "message": "A szervezeti beállítások módosításra kerültek." - }, - "createdItemId": { - "message": "$ID$ azonosítójú elem létrehozásra került.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "$ID$ azonosítójú elem módosításra került.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "$ID$ azonosítójú elemtörlésre került.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "$ID$ azonosítójú elem megosztásra került.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "$ID$ azonosítójú elem megtekintésre került.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "$ID$ azonosítójú elem jelszava megtekintésre került.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "$ID$ azonosítójú elem rejhtett mezője megtekintésre került.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "$ID$ azonosítójú elem biztonsági kódja megtekintésre került.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "$ID$ azonosítójú elem jelszava másolásra került.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "$ID$ azonosítójú elem rejtett mezője másolásra került.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "$ID$ azonosítójú elem biztonsági kódja másolásra került.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "$ID$ azonosítójú elem automatikusan kitöltésre került.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "$ID$ azonosítójú gyűjtemény létrehozásra került.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "$ID$ azonosítójú gyűjtemény módosításra került.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "$ID$ azonosítójú gyűjtemény törlésre került.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "$ID$ szabály szerkesztésre került.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "$ID$ azonosítójú csoport létrehozásra került.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "$ID$ azonosítójú csoport módosításra került.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "$ID$ azonosítójú csoport törlésre került.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "$ID$ azonosítójú felhasználó eltávolításra került.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "$ID$ azonosítójú elem melléklete létrehozásra került.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "$ID$ azonosítójú elem melléklete törlésre került.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "$ID$ azonosítójú elem gyűjteménye módosításra került.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "$ID$ azonosítójú felhasználó meghívásra került.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "$ID$ azonosítójú felhasználó megerősítésre került.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "$ID$ azonosítójú felhasználó módosításra került.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "$ID$ azonosítójú felhasználó csoportjai módosításra kerültek.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "SSO szétkapcsolva $ID$ felhasználónál.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Eszköz" - }, - "view": { - "message": "Megtekintés" - }, - "invalidDateRange": { - "message": "Az időintervallum érvénytelen." - }, - "errorOccurred": { - "message": "Valamilyen hiba történt." - }, - "userAccess": { - "message": "Felhasználói hozzáférés" - }, - "userType": { - "message": "Felhasználó típus" - }, - "groupAccess": { - "message": "Csoport hozzáférés" - }, - "groupAccessUserDesc": { - "message": "A felhasználóhoz tartozó csoportok szerkesztése." - }, - "invitedUsers": { - "message": "A meghívott felhasználók." - }, - "resendInvitation": { - "message": "Meghívás újraküldése" - }, - "hasBeenReinvited": { - "message": "$USER$ ismételten meghívásra került.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Megerősítés" - }, - "confirmUser": { - "message": "Felhasználó megerősítése" - }, - "hasBeenConfirmed": { - "message": "$USER$ felhasználó megerősítésre került.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Felhasználók megerősítése" - }, - "usersNeedConfirmed": { - "message": "Vannak olyan felhasználók, akik elfogadták a meghívást, de ezt még meg kell erősíteni. A felhasználók csak a megerősítésük utánt férhetnek hozzá a szervezethez." - }, - "startDate": { - "message": "Kezdő dátum" - }, - "endDate": { - "message": "Végdátum" - }, - "verifyEmail": { - "message": "Email cím ellenőrzése" - }, - "verifyEmailDesc": { - "message": "A fiók email címének ellenőrzése az összes funkció feloldásához." - }, - "verifyEmailFirst": { - "message": "A fiók email címét először ellenőrizni kell." - }, - "checkInboxForVerification": { - "message": "A bejövő postaláda ellenőrzése az ellenőrző linkért." - }, - "emailVerified": { - "message": "Az email cím megerősítésre került." - }, - "emailVerifiedFailed": { - "message": "Nem sikerült az email cím ellenőrzése. Új ellenőrző email küldése." - }, - "updateBrowser": { - "message": "Böngésző frissítése" - }, - "updateBrowserDesc": { - "message": "Nem támogatott böngészőt használunk. Előfordulhat, hogy a webes széf nem működik megfelelően." - }, - "joinOrganization": { - "message": "Csatlakozás szervezethez" - }, - "joinOrganizationDesc": { - "message": "Meghívást érkezett a fenti szervezethez csatlakozáshoz. A meghívás elfogadásához be kell jelentkezni vagy új Bitwarden fiókot kell létrehozni." - }, - "inviteAccepted": { - "message": "A meghívás elfogadásra került." - }, - "inviteAcceptedDesc": { - "message": "A szervezet elérhető, amikor az adminisztrátor jóváhagyja a tagságot. Amint ez megtörténik, értesítő email érkezik." - }, - "inviteAcceptFailed": { - "message": "A meghívás nem fogadható el. Kérjük fel a szervezet adminisztrátorát új meghívó küldésére." - }, - "inviteAcceptFailedShort": { - "message": "Nem lehet elfogadni a meghívást. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "E-mail megjegyzése" - }, - "recoverAccountTwoStepDesc": { - "message": "Ha nem férünk hozzá a fiókhoz a normál kétlépcsős bejelentkezési módokkal, használhatjuk a kétlépcsős bejelentkezés helyreállító kódot a fiókra vonatkozó összes kétlépcsős szolgáltató kikapcsolásához." - }, - "recoverAccountTwoStep": { - "message": "Fiók kétlépcsős bejelentkezés helyreállítása" - }, - "twoStepRecoverDisabled": { - "message": "A kétlécsős hitelesítés kikapcsolásra került a fióknál." - }, - "learnMore": { - "message": "További információ" - }, - "deleteRecoverDesc": { - "message": "Az email cím megadása lentebb a fiók helyreállításához és törléséhez." - }, - "deleteRecoverEmailSent": { - "message": "Ha létezik a fiók, egy email kerül kiküldésre további utasításokkal." - }, - "deleteRecoverConfirmDesc": { - "message": "A Bitwarden fiók törlését kértük. Kattintás a lenti gombra a megerősítéshez." - }, - "myOrganization": { - "message": "Saját szervezet" - }, - "deleteOrganization": { - "message": "Szervezet törlése" - }, - "deleteOrganizationDesc": { - "message": "Az alábbiak szerint törölhető a szervezet és az összes kapcsolódó adat. Az egyedi felhasználói fiókok megmaradnak, bár nem maradnak társítva ehhez a szervezethez." - }, - "deleteOrganizationWarning": { - "message": "A szervezet végleges törlése folyamatban van. A művelet nem vonható vissza." - }, - "organizationDeleted": { - "message": "A szervezet törlésre került." - }, - "organizationDeletedDesc": { - "message": "A szervezet és az összes társított adat törlésre került." - }, - "organizationUpdated": { - "message": "A szervezet frissítésre került." - }, - "taxInformation": { - "message": "Adó információ" - }, - "taxInformationDesc": { - "message": "Vegyük fel a kapcsolatot a támogatással a számlához tartozó adóinformáció megadásával (vagy frissítésével) kapcsolatban." - }, - "billingPlan": { - "message": "Díjcsomag", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Díjcsomag változtatása", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "A fiók felminősítése másik díjcsomagra az alábbi megadott információ alapján. Ellenőrizzük a fiókhoz adott aktív fizetési módot.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Vegyük fel a kapcsolatot az ügyfélszolgálattal a díjcsomag megváltoztatásához. Ellenőrizzük a fiókhoz hozzáadott fizetési módot.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "#$NUMBER$ számla", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "Számla megtekintése" - }, - "downloadInvoice": { - "message": "Számla letöltése" - }, - "verifyBankAccount": { - "message": "Bankfiók ellenőrzése" - }, - "verifyBankAccountDesc": { - "message": "Két mikroterhelést végeztünk a bankszámlán (akár 1-2 napot is igénybe vehet a megjelenésig). Adjuk meg ezeket az összegeket a bankszámla ellenőrzéséhez." - }, - "verifyBankAccountInitialDesc": { - "message": "A bankszámlával történő fizetés csak az USA ügyfelek számára érhető el. Ehhez ellenőrizni kell a bankszámlát. Két mikroterhelést végeztünk a bankszámlán a következő 1-2 napban. Adjuk meg ezeket az összegeket a szervezet számlázási oldalán a bankszámla ellenőrzéséhez." - }, - "verifyBankAccountFailureWarning": { - "message": "A bankszámla ellenőrzésének sikertelensége elmaradt fizetéshez és az előfizetés leállításához vezet." - }, - "verifiedBankAccount": { - "message": "A bankszámla megerősítésre került." - }, - "bankAccount": { - "message": "Bankszámla" - }, - "amountX": { - "message": "$COUNT$. összeg", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Banki azonosító szám", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Számlaszám" - }, - "accountHolderName": { - "message": "Számlatulajdonos neve" - }, - "bankAccountType": { - "message": "Számlatípus" - }, - "bankAccountTypeCompany": { - "message": "Cég (üzleti)" - }, - "bankAccountTypeIndividual": { - "message": "Egyéni (személyes)" - }, - "enterInstallationId": { - "message": "Telepítési azonosító megadása" - }, - "addSeats": { - "message": "Helyek hozzáadása", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Helyek eltávolítása", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Az előfizetés összesen $COUNT$ felhasználót tesz lehetővé.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Hozzáadandó helyek" - }, - "seatsToRemove": { - "message": "Eltávolítandó helyek" - }, - "seatsAddNote": { - "message": "A felhasználó helyek hozzáadása megjelenik a számlaösszesítőben és azonnal terheli a fizetési módot. Az első terhelés az aktuális számlázási ciklus időarányos fennmaradó része eszerint kerül számlázásra." - }, - "seatsRemoveNote": { - "message": "A felhasználó helyek eltávolítása megjelenik a számlaösszesítőben és előlegként jelenik meg a következő számlázási terheléskor." - }, - "adjustedSeats": { - "message": "$AMOUNT$ felhasználói hely beállításra került.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "A kulcs frissítésre került." - }, - "updateKeyTitle": { - "message": "Kulcs frissítés" - }, - "updateEncryptionKey": { - "message": "Titkosítási kulcs frissítés" - }, - "updateEncryptionKeyShortDesc": { - "message": "Jelenleg elavult titkosítási séma van használatban." - }, - "updateEncryptionKeyDesc": { - "message": "Hosszabb titkosítókulcsok kerültek használatba, amelyek jobb biztonságot és hozzáférést biztosítanak új funkciókhoz. A titkosító kulcs frissítése könnyű és gyors. Csak meg kell adni a mesterjelszót. Ez a frissítés kötelezővé válik." - }, - "updateEncryptionKeyWarning": { - "message": "A titkosítási kulcs frissítése után ki kell jelentkezni és vissza kell jelentkezni az összes jelenleg használt Bitwarden alkalmazásba (például a mobilalkalmazás vagy a böngésző bővítmények). A kijelentkezés és a bejelentkezés elmulasztása (amely letölti az új titkosítási kulcsot) adatvesztést okozhat. Megkíséreljük az automatikusan kijelentkeztetést, azonban ez késhet." - }, - "updateEncryptionKeyExportWarning": { - "message": "Az el nem mentett titkosított exportok szintén érvénytelenné válnak." - }, - "subscription": { - "message": "Előfizetés" - }, - "loading": { - "message": "A betöltés folyamatban van." - }, - "upgrade": { - "message": "Áttérés" - }, - "upgradeOrganization": { - "message": "Szervezeti áttérés" - }, - "upgradeOrganizationDesc": { - "message": "Ez a szolgáltatás nem elérhető ingyenes szervezeteknek. Váltás fizetős díjcsomagra a további funkciók feloldásához." - }, - "createOrganizationStep1": { - "message": "Szervezet létrehozása: 1. lépés" - }, - "createOrganizationCreatePersonalAccount": { - "message": "A szervezet létrehozása előtt létre kell hozni egy ingyenes személyes fiókot." - }, - "refunded": { - "message": "Visszatérített" - }, - "nothingSelected": { - "message": "Nincs kiválasztva semmi." - }, - "acceptPolicies": { - "message": "A doboz bejelölésével elfogadjuk a következőket:" - }, - "acceptPoliciesError": { - "message": "A szolgáltatási feltételeket és az adatvédelmi irányelveket nem vették figyelembe." - }, - "termsOfService": { - "message": "Felhasználási feltételek" - }, - "privacyPolicy": { - "message": "Adatvédelem" - }, - "filters": { - "message": "Szűrők" - }, - "vaultTimeout": { - "message": "Széf időkifutás" - }, - "vaultTimeoutDesc": { - "message": "Válasszuk ki, hogy a széfnél mikor legyen időkifutás és a kiválasztott művelet végrehajtása." - }, - "oneMinute": { - "message": "1 perc" - }, - "fiveMinutes": { - "message": "5 perc" - }, - "fifteenMinutes": { - "message": "15 perc" - }, - "thirtyMinutes": { - "message": "30 perc" - }, - "oneHour": { - "message": "1 óra" - }, - "fourHours": { - "message": "4 óra" - }, - "onRefresh": { - "message": "Böngésző újraindításkor" - }, - "dateUpdated": { - "message": "A frissítés megtörtént.", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "A jelszó frissítésre került.", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "A szervezet letiltásra került." - }, - "licenseIsExpired": { - "message": "A licensz lejárt." - }, - "updatedUsers": { - "message": "A felhasználók frissítésre kerültek." - }, - "selected": { - "message": "Kiválasztva" - }, - "ownership": { - "message": "Tulajdonjog" - }, - "whoOwnsThisItem": { - "message": "Ki tulajdonolja ezt az elemet?" - }, - "strong": { - "message": "Erős", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Jó", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Gyenge", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Nagyon gyenge", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Gyenge mesterjelszó" - }, - "weakMasterPasswordDesc": { - "message": "A választott mesterjelszó gyenge. Erős jelszót kell használni a Bitwarden fiók megfelelő védelme érdekében. Biztosan ezt a mesterjelszót szeretnénk használni?" - }, - "rotateAccountEncKey": { - "message": "A fiók titkosító kulcs forgatása is" - }, - "rotateEncKeyTitle": { - "message": "Titkosító kulcs forgatása" - }, - "rotateEncKeyConfirmation": { - "message": "Biztosan fordításra kerüljön a fiók titkosító kulcsa?" - }, - "attachmentsNeedFix": { - "message": "Ennek az elemnek régi fájl mellékletei vannak, amelyeket javítani kell." - }, - "attachmentFixDesc": { - "message": "Ez egy régi melléklet, amelyet javítani kell. Kattintás több információért." - }, - "fix": { - "message": "Javítás", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "A széfben régi mellékletek vannak, amelyeket javítani kell a fiók titkosító kulcsának fordítása előtt." - }, - "yourAccountsFingerprint": { - "message": "Fók ujjlenyomat kifejezés", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "A titkosítási kulcs integritásának biztosítása érdekében ellenőrizzük a felhasználói ujjlenyomat kifejezést a folytatás előtt.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Ne kérje ismét az ujjlenyomat kifejezés ellenőrzését", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Ingyenes", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "API kulcs" - }, - "apiKeyDesc": { - "message": "Az API kulcs használható a Bitwarden nyilvános API hitelesítéséhez." - }, - "apiKeyRotateDesc": { - "message": "Az API kulcs forgatása érvényteleníti a korábbi kulcsot. Az API kulcs forgatható, ha a jelenlegi kulcs már nem tűnik biztonságosnak." - }, - "apiKeyWarning": { - "message": "Az API kulcs teljes hozzáférést biztosít a szervezethez. Célszerű titokban tartani." - }, - "userApiKeyDesc": { - "message": "Az API kulcs használható a Bitwarden CLI hitelesítéséhez." - }, - "userApiKeyWarning": { - "message": "API kulcs alternatív hitelesítési mechanizmus. Célszerű titokban tartani." - }, - "oauth2ClientCredentials": { - "message": "OAuth 2.0 ügyfél hitelesítések", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "API kulcs megtekintése" - }, - "rotateApiKey": { - "message": "API kulcs forgatása" - }, - "selectOneCollection": { - "message": "Legalább egy gyűjteményt ki kell választani." - }, - "couldNotChargeCardPayInvoice": { - "message": "Nem lehet megterhelni a kártyát. Nézzük át és fizessük ki az alább felsorolt kifizetés nélküli számlát." - }, - "inAppPurchase": { - "message": "Alkalmazáson belüli vásárlás" - }, - "cannotPerformInAppPurchase": { - "message": "Nem hajtható végre ez a művelet az alkalmazáson belüli vásárlás fizetési módjának használatával." - }, - "manageSubscriptionFromStore": { - "message": "Az előfizetés annál az üzletnél kell kezelni, ahol az alkalmazáson belüli vásárlás történt." - }, - "minLength": { - "message": "Minimális hossz" - }, - "clone": { - "message": "Klónozás" - }, - "masterPassPolicyDesc": { - "message": "A minimális követelmények beállítása a mesterjelszó hozzához." - }, - "twoStepLoginPolicyDesc": { - "message": "A felhasználók számára kétlépcsős bejelentkezés szükséges a személyes fióknál." - }, - "twoStepLoginPolicyWarning": { - "message": "A személyes fióknál a kétlépcsős bejelentkezéssel nem rendelkező szervezet tagok eltávolításra kerülnek a szervezetből és a változásról értesítő emailt kapnak." - }, - "twoStepLoginPolicyUserWarning": { - "message": "Egy szervezet tag számára szükséges a személyes fióknál a kétlépcsős bejelentkezés. Az összes kétlépcsős szolgáltató letiltása esetén az összes ilyen szervezetből eltávolításra kerül a tag." - }, - "passwordGeneratorPolicyDesc": { - "message": "A minimális követelmények beállítása a jelszó generáló konfigurációhoz." - }, - "passwordGeneratorPolicyInEffect": { - "message": "Egy vagy több szervezeti szabály érinti a generátor beállításokat." - }, - "masterPasswordPolicyInEffect": { - "message": "Egy vagy több szervezeti szabály előírja a mesterjelszóhoz a következő követelményeket:" - }, - "policyInEffectMinComplexity": { - "message": "Minimális összetettségi pontszám $SCORE$ értékhez", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Minimális hossz $LENGTH$ értékből", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Egy vagy több nagybetűs karaktert tartalmaz" - }, - "policyInEffectLowercase": { - "message": "Egy vagy több kisbetűs karaktert tartalmaz" - }, - "policyInEffectNumbers": { - "message": "Egy vagy több számot tartalmaz" - }, - "policyInEffectSpecial": { - "message": "$CHARS$ speciális karakterekből egyet vagy többet tartalmaz", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Az új mesterjelszó nem felel meg a szabály követelményeknek." - }, - "minimumNumberOfWords": { - "message": "Szavak minimális száma" - }, - "defaultType": { - "message": "Alapértelmezett típus" - }, - "userPreference": { - "message": "Felhasználói előbeállítás" - }, - "vaultTimeoutAction": { - "message": "Széf időkifutás művelet" - }, - "vaultTimeoutActionLockDesc": { - "message": "Egy zárolt széfnél újra meg kell adni a mesterjelszót az ismételt hozzáféréshez." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "A lezárt széfnél szükséges az újra hitelesítés az ismételt eléréshez." - }, - "lock": { - "message": "Lezárás", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Lomtár", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Keresés a lomtárban" - }, - "permanentlyDelete": { - "message": "Végleges törlés" - }, - "permanentlyDeleteSelected": { - "message": "A kiválasztottak végleges törlése" - }, - "permanentlyDeleteItem": { - "message": "Az elem végleges törlése" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Biztosan véglegesen törlésre kerüljön ez az elem?" - }, - "permanentlyDeletedItem": { - "message": "Elem végleges törlése" - }, - "permanentlyDeletedItems": { - "message": "Elemek végleges törlése" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "$COUNT$ elem lett kiválasztva végleges törlésre. Biztosan végleges törlésre kerüljön az összes elem?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "$ID$ elem véglegesen törlésre került.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Visszaállítás" - }, - "restoreSelected": { - "message": "Kiválasztottak visszaállítása" - }, - "restoreItem": { - "message": "Elem visszaállítása" - }, - "restoredItem": { - "message": "Visszaállított elem" - }, - "restoredItems": { - "message": "Visszaállított elemek" - }, - "restoreItemConfirmation": { - "message": "Biztosan visszaállításra kerüljön ez az elem?" - }, - "restoreItems": { - "message": "Elemek visszaállítása" - }, - "restoreSelectedItemsDesc": { - "message": "$COUNT$ elem lett kiválasztva visszaállításra. Biztosan visszaállításra kerüljön az összes elem?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "$ID$ azonosítójú elem visszaállításra került.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Kijelentkezve az összes széf elérés eltávolításra kerül és webes hitelesítésre van szükség az időkifutás után. Biztosan szeretnénk használni ezt a beállítást?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Időkifutás művelet megerősítés" - }, - "hidePasswords": { - "message": "Jelszavak elrejtése" - }, - "countryPostalCodeRequiredDesc": { - "message": "Ez az információ csak adószámításhoz és pénzügyi jelentéshez szükséges." - }, - "includeVAT": { - "message": "ÁFA/GST információval (opcionális)" - }, - "taxIdNumber": { - "message": "ÁFA/GST adó azonosító" - }, - "taxInfoUpdated": { - "message": "Az adóinformáció frissítésre került." - }, - "setMasterPassword": { - "message": "Mesterjelszó beállítása" - }, - "ssoCompleteRegistration": { - "message": "Az SSO-val történő bejelentkezés befejezéséhez mesterjelszót kell beállítani a széf eléréséhez és védelméhez." - }, - "identifier": { - "message": "Azonosító" - }, - "organizationIdentifier": { - "message": "Szervezeti azonosító" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Bejelentkezés a szervezeti önálló portálba. A kezdéshez meg kell adni a szervezeti azonosítót." - }, - "enterpriseSingleSignOn": { - "message": "Vállalati önálló bejelentkezés" - }, - "ssoHandOff": { - "message": "Bezárható ez a fül és folytatás a bővítményben." - }, - "businessPortal": { - "message": "Üzleti portál", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "Összes Csapat funkció, továbbá:" - }, - "includeSsoAuthentication": { - "message": "SSO hitelesítés SAML2.0 és OpenID Connect kapcsolaton keresztül" - }, - "includeEnterprisePolicies": { - "message": "Vállalati rendszabályok" - }, - "ssoValidationFailed": { - "message": "SSO érvényesítési mező" - }, - "ssoIdentifierRequired": { - "message": "A szervezeti azonosító megadása szükséges." - }, - "unlinkSso": { - "message": "SSO szétkapcsolása" - }, - "linkSso": { - "message": "SSO csatolása" - }, - "webPoliciesDeprecationWarning": { - "message": "Az irányelv konfiguráció áthelyezésre került és ez az oldal hamarosan megszűnik. Kattintsunk az alábbi hivatkozásra, ha inkább az Üzleti portál irányelv oldalát szeretnénk használni." - }, - "singleOrg": { - "message": "Önálló szervezet" - }, - "singleOrgDesc": { - "message": "Korlátozza a felhasználókat más szervezetekhez csatlakozásban." - }, - "singleOrgBlockCreateMessage": { - "message": "Jelenlegi szervezetének van olyan irányelve, amely nem engedélyezi, hogy több szervezethez csatlakozzunk. Lépjünk kapcsolatba szervezetünk adminisztrátorával vagy regisztráljunk egy másik Bitwarden fiókból." - }, - "singleOrgPolicyWarning": { - "message": "A szervezet azon tagjait, akik nem tulajdonosok vagy rendszergazdák, és már egy másik szervezet tagjai, eltávolítjáara kerülnek a szervezetből." - }, - "requireSso": { - "message": "Egyszeri bejelentkezés hitelesítése" - }, - "requireSsoPolicyDesc": { - "message": "A felhasználóknál az Vállalati egyszeri vejelentkezés hitelesítési mód megkövetelése." - }, - "prerequisite": { - "message": "Előfeltétel" - }, - "requireSsoPolicyReq": { - "message": "Az irányelv bekapcsolása előtt engedélyezni kell az Önálló szervezet vállalati irányelvét." - }, - "requireSsoPolicyReqError": { - "message": "Az Önálló szervezet irányelv nem engedélyezett." - }, - "requireSsoExemption": { - "message": "A szervezet tulajdonosai és adminisztrátorai mentesülnek az irányelv végrehajtása alól." - }, - "sendTypeFile": { - "message": "Fájl" - }, - "sendTypeText": { - "message": "Szöveg" - }, - "createSend": { - "message": "Új küldés létrehozása", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Küldés szerkesztése", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "A küldés létrejött.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "A küldés szerkesztésre került.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "A küldés törlésre került.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Küldés törlése", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Biztosan törlésre kerüljön ez a küldés?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "Milyen típusú ez a küldés?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Törlési dátum" - }, - "deletionDateDesc": { - "message": "A Send véglegesen törölve lesz a meghatározott időpontban.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Lejárati dátum" - }, - "expirationDateDesc": { - "message": "Amennyiben be van állítva, a hozzáférés ehhez a Küldéshez lejár a meghatározott időpontban.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Maximális elérési szám" - }, - "maxAccessCountDesc": { - "message": "Amennyiben be van állítva, a Küldés elérhetetlen lesz, amint elérik a meghatározott hozzáférések számát.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Aktuális elérési szám" - }, - "sendPasswordDesc": { - "message": "Opcionálissan egy jelszó kérhető a felhasználóktól a Küldés eléréséhez.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Személyes megjegyzések erről a Küldésről.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Letiltva" - }, - "sendLink": { - "message": "Hivatkozás küldése", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Hivatkozás küldés másolása", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Jelszó eltávolítása" - }, - "removedPassword": { - "message": "A jelszó eltávolításra került." - }, - "removePasswordConfirmation": { - "message": "Biztosan eltávolításra kerüljön ez a jelszó?" - }, - "disableThisSend": { - "message": "A Küldés letiltásával mindenki hozzáférése megvonható.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "Összes küldés" - }, - "maxAccessCountReached": { - "message": "A maximális hozzáférések száma elérésre került." - }, - "pendingDeletion": { - "message": "Függőben lévő törlés" - }, - "expired": { - "message": "Lejárt" - }, - "searchSends": { - "message": "Küldés keresése", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "A küldés jelszóval védett. A folytatáshoz lentebb meg kell adni a jelszót.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Nem ismerjük a jelszót? Kérdezzünk rá a küldőnél a küldés elérésére szükséges jelszóért.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "Ez a küldés alapértelmezésben rejtett. Az alábbi gombbal átváltható a láthatósága.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Fájl letöltése" - }, - "sendAccessUnavailable": { - "message": "Az elérendő küldés nem létezik vagy már nem elérhető.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "A listában nincs küldés.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Sürgősségi hozzáférés" - }, - "emergencyAccessDesc": { - "message": "Sürgősségi hozzáférés kezelése és megadása megbízható kapcsolatoknál. A megbízható kapcsolatok sürgősségi helyzet esetén hozzáférést kérhetnek a fiókhoz vagy azt átvehetik. A súgó oldalon további információkat és kezdőknek szóló megosztási munkákat kapunk." - }, - "trustedEmergencyContacts": { - "message": "Megbízható sürgősségi kapcsolatok" - }, - "noTrustedContacts": { - "message": "Még nem adták hozzá sürgősségi kapcsolatokat, hívjunk meg megbízható kapcsolatokat az induláshoz." - }, - "addEmergencyContact": { - "message": "Sürgősségi kapcsolat hozzáadása" - }, - "designatedEmergencyContacts": { - "message": "Sürgősségi kapcsolatnak kinevezve" - }, - "noGrantedAccess": { - "message": "Még senki nem nevezett ki sürgősségi kapcsolatként." - }, - "inviteEmergencyContact": { - "message": "Sürgősségi kapcsolat meghívása" - }, - "editEmergencyContact": { - "message": "Sürgősségi kapcsolat szerkesztése" - }, - "inviteEmergencyContactDesc": { - "message": "Új felhasználó meghívása sürgősségi kapcsolatként a Bitwarden fiók email címének megadásával. Ha még nem rendelkezik Bitwarden-fiókkal, felkérjük új fiók létrehozására." - }, - "emergencyAccessRecoveryInitiated": { - "message": "A sürgősségi hozzáférés kezdeményezésre került." - }, - "emergencyAccessRecoveryApproved": { - "message": "A sürgősségi hozzáférés jóváhagyásra került." - }, - "viewDesc": { - "message": "A széf valamennyi elemét láthatja." - }, - "takeover": { - "message": "Átvétel" - }, - "takeoverDesc": { - "message": "Visszaállíthatja a fiók egy új mesterjelszóval." - }, - "waitTime": { - "message": "Várakozási idő" - }, - "waitTimeDesc": { - "message": "Szükséges idő az automatikus hozzáférés megadásáig." - }, - "oneDay": { - "message": "1 nap" - }, - "days": { - "message": "$DAYS$ nap", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Meghívott felhasználó." - }, - "acceptEmergencyAccess": { - "message": "Meghívást érkezett a fenti személytől sürgősségi kapcsolat tekintetében. A meghívás elfogadásához be kell jelentkezni vagy új Bitwarden fiókot kell létrehozni." - }, - "emergencyInviteAcceptFailed": { - "message": "A meghívást nem lehet elfogadni. Kérjük meg a felhasználót új meghívó elküldésére." - }, - "emergencyInviteAcceptFailedShort": { - "message": "A meghívást nem lehet elfogadni. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "A felhasználó vészhelyzeti beállításai az azonosítás megerősítése után érhető el. Egy email kerül kiküldésre, ha ez megtörténik." - }, - "requestAccess": { - "message": "Hozzáférés kérése" - }, - "requestAccessConfirmation": { - "message": "Biztosan sürgősségi hozzáférést szeretnénk kérni? Hozzáférést kapunk $WAITTIME$ nap múlva vagy amikor a felhasználó manuálisan jóváhagyja a kérést.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Sürgősségi hozzáférést kértek $USER$ részére. Emailben értesítés érkezik, ha lehetséges a folytatás.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Jóváhagyás" - }, - "reject": { - "message": "Elutasítás" - }, - "approveAccessConfirmation": { - "message": "Biztosan jóváhagyásra kerüljön a sürgősségi hozzáférés? Ez lehetővé teszi, hogy $USER$ számára $ACTION$ végrehajtására a fiókban.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "A vészhelyzeti hozzáférés jóváhagyásra került." - }, - "emergencyRejected": { - "message": "A vészhelyzeti hozzáférés elutasításra került." - }, - "passwordResetFor": { - "message": "A jelszó alaphelyzetbe került $USER$ részére. Most az új jelszóval lehet bejelentkezni.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Személyes tulajdon" - }, - "personalOwnershipPolicyDesc": { - "message": "A személyes tulajdon opciójának eltávolításával megkövetelhetjük a felhasználóktól, hogy széfelemeket mentsenek a egy szervezethez." - }, - "personalOwnershipExemption": { - "message": "A szervezet tulajdonosai és adminisztrátorai mentesek az irányelv végrehajtása alól." - }, - "personalOwnershipSubmitError": { - "message": "Egy vállalati házirend miatt korlátozásra került az elemek személyes tárolóba történő mentése. Módosítsuk a Tulajdon opciót egy szervezetre és válasszunk az elérhető gyűjtemények közül." - }, - "modifiedPolicyId": { - "message": "$ID$ szabály módosításra került.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Csomagár" - }, - "estimatedTax": { - "message": "Becsült adó" - }, - "custom": { - "message": "Egyedi" - }, - "customDesc": { - "message": "A fejlett konfigurációk felhasználói engedélyeinek részletesebb ellenőrzését teszi lehetővé." - }, - "permissions": { - "message": "Jogosultságok" - }, - "accessBusinessPortal": { - "message": "Üzleti portál elérése" - }, - "accessEventLogs": { - "message": "Eseménynapló elérése" - }, - "accessImportExport": { - "message": "Exportálás/importálás elérése" - }, - "accessReports": { - "message": "Elérési jelentések" - }, - "manageAllCollections": { - "message": "Összes gyűjtemény kezelése" - }, - "manageAssignedCollections": { - "message": "Hozzárendelt gyűjtemények kezelése" - }, - "manageGroups": { - "message": "Csoportok kezelése" - }, - "managePolicies": { - "message": "Szabályok kezelése" - }, - "manageSso": { - "message": "SSO kezelése" - }, - "manageUsers": { - "message": "Felhasználók kezelése" - }, - "disableRequireSsoError": { - "message": "Manuálisan le kell tiltani az egyszeri bejelentkezés hitelesítési házirendjét mielőtt ez a házirend letiltásra kerülhet." - }, - "personalOwnershipPolicyInEffect": { - "message": "A szervezeti házirend befolyásolja a tulajdonosi opciókat." - }, - "personalOwnershipCheckboxDesc": { - "message": "A szervezeti felhasználók személyes tulajdon letiltása" - }, - "textHiddenByDefault": { - "message": "A Küldés elérésekor alapértelmezés szerint a szöveg elrejtése", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/id/messages.json b/locales/id/messages.json deleted file mode 100644 index 924771c3..00000000 --- a/locales/id/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$ Brankas Web", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "Jenis barang apa ini?" - }, - "name": { - "message": "Nama" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "URl Baru" - }, - "username": { - "message": "Nama Pengguna" - }, - "password": { - "message": "Kata Sandi" - }, - "newPassword": { - "message": "Kata Sandi baru" - }, - "passphrase": { - "message": "Frasa sandi" - }, - "notes": { - "message": "Catatan" - }, - "customFields": { - "message": "Kolom Ubahsuai" - }, - "cardholderName": { - "message": "Nama Pemilik Kartu" - }, - "number": { - "message": "Nomor" - }, - "brand": { - "message": "Merek" - }, - "expiration": { - "message": "Masa Berlaku" - }, - "securityCode": { - "message": "Kode Keamanan (CVV)" - }, - "identityName": { - "message": "Nama Identitas" - }, - "company": { - "message": "Perusahaan" - }, - "ssn": { - "message": "Nomor Jaminan Sosial" - }, - "passportNumber": { - "message": "Nomor Paspor" - }, - "licenseNumber": { - "message": "Nomor Lisensi" - }, - "email": { - "message": "Surel" - }, - "phone": { - "message": "Telepon" - }, - "january": { - "message": "Januari" - }, - "february": { - "message": "Februari" - }, - "march": { - "message": "Maret" - }, - "april": { - "message": "April" - }, - "may": { - "message": "Mei" - }, - "june": { - "message": "Juni" - }, - "july": { - "message": "Juli" - }, - "august": { - "message": "Agustus" - }, - "september": { - "message": "September" - }, - "october": { - "message": "Oktober" - }, - "november": { - "message": "November" - }, - "december": { - "message": "Desember" - }, - "title": { - "message": "Panggilan" - }, - "mr": { - "message": "Tuan" - }, - "mrs": { - "message": "Nyonya" - }, - "ms": { - "message": "Nona" - }, - "dr": { - "message": "Dr" - }, - "expirationMonth": { - "message": "Bulan Kedaluwarsa" - }, - "expirationYear": { - "message": "Tahun Kedaluwarsa" - }, - "authenticatorKeyTotp": { - "message": "Kunci Autentikasi (TOTP)" - }, - "folder": { - "message": "Folder" - }, - "newCustomField": { - "message": "Kolom Ubahsuai Baru" - }, - "value": { - "message": "Nilai" - }, - "dragToSort": { - "message": "Tarik untuk mengurutkan" - }, - "cfTypeText": { - "message": "Teks" - }, - "cfTypeHidden": { - "message": "Tersembunyi" - }, - "cfTypeBoolean": { - "message": "Boolean" - }, - "remove": { - "message": "Hapus" - }, - "unassigned": { - "message": "Belum ditetapkan" - }, - "noneFolder": { - "message": "Tidak Ada Folder", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Tambah Folder" - }, - "editFolder": { - "message": "Edit Folder" - }, - "baseDomain": { - "message": "Domain basis" - }, - "host": { - "message": "Host", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Tepat" - }, - "startsWith": { - "message": "Mulai dengan" - }, - "regEx": { - "message": "Ekspresi umum", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Deteksi kecocokan", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Deteksi kecocokan standar", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Jangan pernah" - }, - "toggleVisibility": { - "message": "Alihkan Visibilitas" - }, - "toggleCollapse": { - "message": "Alihkan Ciutkan", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Buat Kata Sandi" - }, - "checkPassword": { - "message": "Periksa apakah kata sandi telah terekspos." - }, - "passwordExposed": { - "message": "Sandi ini telah dibuka $VALUE$ kali karena pelanggaran data. Anda harus mengubahnya.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "Kata sandi ini tidak ditemukan dalam data pelanggaran yang dikenal. Kata sandi tersebut harusnya aman untuk digunakan." - }, - "save": { - "message": "Simpan" - }, - "cancel": { - "message": "Batal" - }, - "canceled": { - "message": "Dibatalkan" - }, - "close": { - "message": "Tutup" - }, - "delete": { - "message": "Hapus" - }, - "favorite": { - "message": "Favorit" - }, - "unfavorite": { - "message": "Batalkan favorit" - }, - "edit": { - "message": "Ubah" - }, - "searchCollection": { - "message": "Cari koleksi" - }, - "searchFolder": { - "message": "Cari Folder" - }, - "searchFavorites": { - "message": "Cari favorit" - }, - "searchType": { - "message": "Jenis pencarian", - "description": "Search item type" - }, - "searchVault": { - "message": "Cari Brankas" - }, - "allItems": { - "message": "Semua Item" - }, - "favorites": { - "message": "Favorit" - }, - "types": { - "message": "Jenis" - }, - "typeLogin": { - "message": "Masuk" - }, - "typeCard": { - "message": "Kartu" - }, - "typeIdentity": { - "message": "Identitas" - }, - "typeSecureNote": { - "message": "Catatan Aman" - }, - "folders": { - "message": "Folder" - }, - "collections": { - "message": "Koleksi" - }, - "firstName": { - "message": "Nama Depan" - }, - "middleName": { - "message": "Nama Tengah" - }, - "lastName": { - "message": "Nama Belakang" - }, - "address1": { - "message": "Alamat 1" - }, - "address2": { - "message": "Alamat 2" - }, - "address3": { - "message": "Alamat 3" - }, - "cityTown": { - "message": "Kota / Kabupaten" - }, - "stateProvince": { - "message": "Negara Bagian / Provinsi" - }, - "zipPostalCode": { - "message": "Kode Pos" - }, - "country": { - "message": "Negara" - }, - "shared": { - "message": "Dibagikan" - }, - "attachments": { - "message": "Lampiran" - }, - "select": { - "message": "Pilih" - }, - "addItem": { - "message": "Tambah Item" - }, - "editItem": { - "message": "Ubah Item" - }, - "viewItem": { - "message": "View Item" - }, - "ex": { - "message": "contoh", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Lainnya" - }, - "share": { - "message": "Bagikan" - }, - "valueCopied": { - "message": "$VALUE$ disalin", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Salin Nilai", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Salin Kata Sandi", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Salin Nama Pengguna", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Salin Nomor", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Salin Kode Keamanan", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Salin URI", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "Brankas Saya" - }, - "vault": { - "message": "Brankas" - }, - "shareSelected": { - "message": "Bagikan yang Dipilih" - }, - "deleteSelected": { - "message": "Hapus yang Dipilih" - }, - "moveSelected": { - "message": "Pindahkan yang Dipilih" - }, - "selectAll": { - "message": "Pilih Semua" - }, - "unselectAll": { - "message": "Batal Pilih Semua" - }, - "launch": { - "message": "Luncurkan" - }, - "newAttachment": { - "message": "Tambah Lampiran Baru" - }, - "deletedAttachment": { - "message": "Lampiran dihapus" - }, - "deleteAttachmentConfirmation": { - "message": "Apakah Anda yakin ingin menghapus lampiran ini?" - }, - "attachmentSaved": { - "message": "Lampiran telah disimpan." - }, - "file": { - "message": "Berkas" - }, - "selectFile": { - "message": "Pilih berkas." - }, - "maxFileSize": { - "message": "Ukuran berkas maksimal adalah 100 MB." - }, - "updateKey": { - "message": "Anda tidak dapat menggunakan fitur ini sampai Anda memperbarui kunci enkripsi Anda." - }, - "addedItem": { - "message": "Item yang Ditambahkan" - }, - "editedItem": { - "message": "Item yang Diedit" - }, - "sharedItem": { - "message": "Item Yang Dibagikan" - }, - "sharedItems": { - "message": "Item Yang Dibagikan" - }, - "deleteItem": { - "message": "Hapus Item" - }, - "deleteFolder": { - "message": "Hapus Folder" - }, - "deleteAttachment": { - "message": "Hapus Lampiran" - }, - "deleteItemConfirmation": { - "message": "Anda yakin Anda ingin menghapus item ini?" - }, - "deletedItem": { - "message": "Item dikirim ke sampah" - }, - "deletedItems": { - "message": "Item dikirim ke sampah" - }, - "movedItems": { - "message": "Item yang dipindahkan" - }, - "overwritePasswordConfirmation": { - "message": "Anda yakin ingin menimpa sandi saat ini?" - }, - "editedFolder": { - "message": "Folder yang di Edit" - }, - "addedFolder": { - "message": "Folder ditambahkan" - }, - "deleteFolderConfirmation": { - "message": "Anda yakin Anda ingin menghapus folder ini?" - }, - "deletedFolder": { - "message": "Folder yang terhapus" - }, - "loggedOut": { - "message": "Keluar" - }, - "loginExpired": { - "message": "Sesi masuk Anda telah berakhir." - }, - "logOutConfirmation": { - "message": "Anda yakin ingin keluar?" - }, - "logOut": { - "message": "Keluar" - }, - "ok": { - "message": "Ok" - }, - "yes": { - "message": "Ya" - }, - "no": { - "message": "Tidak" - }, - "loginOrCreateNewAccount": { - "message": "Masuk atau buat akun baru untuk mengakses brankas Anda." - }, - "createAccount": { - "message": "Buat Akun" - }, - "logIn": { - "message": "Masuk" - }, - "submit": { - "message": "Kirim" - }, - "emailAddressDesc": { - "message": "Anda akan menggunakan alamat email Anda untuk masuk." - }, - "yourName": { - "message": "Nama Anda" - }, - "yourNameDesc": { - "message": "Apakah kami harus memanggil Anda?" - }, - "masterPass": { - "message": "Kata Sandi Utama" - }, - "masterPassDesc": { - "message": "Kata sandi utama adalah kata sandi yang Anda gunakan untuk mengakses brankas Anda. Sangat penting bahwa Anda tidak lupa kata sandi utama Anda. Tidak ada cara untuk memulihkan kata sandi jika Anda melupakannya." - }, - "masterPassHintDesc": { - "message": "Petunjuk kata sandi utama dapat membantu Anda mengingat kata sandi Anda jika Anda melupakannya." - }, - "reTypeMasterPass": { - "message": "Ketik ulang Kata Sandi Utama" - }, - "masterPassHint": { - "message": "Petunjuk Kata Sandi Utama (pilihan)" - }, - "masterPassHintLabel": { - "message": "Petunjuk Kata Sandi Utama" - }, - "settings": { - "message": "Setelan" - }, - "passwordHint": { - "message": "Petunjuk Kata Sandi" - }, - "enterEmailToGetHint": { - "message": "Masukkan email akun Anda untuk menerima pentunjuk sandi utama Anda." - }, - "getMasterPasswordHint": { - "message": "Dapatkan petunjuk sandi utama" - }, - "emailRequired": { - "message": "Alamat surel diperlukan." - }, - "invalidEmail": { - "message": "Alamat surel tidak valid." - }, - "masterPassRequired": { - "message": "Sandi utama diperlukan." - }, - "masterPassLength": { - "message": "Kata sandi utama sedikitnya harus 8 karakter." - }, - "masterPassDoesntMatch": { - "message": "Konfirmasi sandi utama tidak cocok." - }, - "newAccountCreated": { - "message": "Akun baru Anda telah dibuat! Sekarang Anda bisa masuk." - }, - "masterPassSent": { - "message": "Kami telah mengirimi Anda email dengan petunjuk sandi utama Anda." - }, - "unexpectedError": { - "message": "Terjadi kesalahan yang tak diduga." - }, - "emailAddress": { - "message": "Alamat Surel" - }, - "yourVaultIsLocked": { - "message": "Brankas Anda terkunci. Verifikasi kata sandi utama Anda untuk melanjutkan." - }, - "unlock": { - "message": "Membuka kunci" - }, - "loggedInAsEmailOn": { - "message": "Telah log in sebagai $EMAIL$ di $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Sandi utama tidak valid" - }, - "lockNow": { - "message": "Kunci Sekarang" - }, - "noItemsInList": { - "message": "Tidak ada item yang dapat dicantumkan." - }, - "noCollectionsInList": { - "message": "Tidak ada koleksi yang akan ditampilkan." - }, - "noGroupsInList": { - "message": "Tidak ada grup untuk dicantumkan." - }, - "noUsersInList": { - "message": "Tidak ada pengguna untuk dicantumkan." - }, - "noEventsInList": { - "message": "Tidak ada acara untuk dicantumkan." - }, - "newOrganization": { - "message": "Organisasi Baru" - }, - "noOrganizationsList": { - "message": "Anda tidak berada dalam organisasi apapun. Organisasi memungkinkan Anda dengan aman berbagi item dengan pengguna lainnya." - }, - "versionNumber": { - "message": "Versi $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Masukkan 6 digit kode verifikasi dari aplikasi autentikasi Anda." - }, - "enterVerificationCodeEmail": { - "message": "Masukkan 6 digit kode verifikasi yang dikirim melalui email ke $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "Email verifikasi dikirim ke $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Ingat saya" - }, - "sendVerificationCodeEmailAgain": { - "message": "Kirim ulang email kode verifikasi" - }, - "useAnotherTwoStepMethod": { - "message": "Gunakan metode masuk dua langkah lainnya" - }, - "insertYubiKey": { - "message": "Masukkan YubiKey Anda ke port USB komputer Anda, lalu sentuh tombol nya." - }, - "insertU2f": { - "message": "Masukkan kunci keamanan ke port USB komputer Anda. Jika ada tombolnya, tekanlah." - }, - "loginUnavailable": { - "message": "Info Masuk Tidak Tersedia" - }, - "noTwoStepProviders": { - "message": "Akun ini mengaktifkan info masuk dua langkah, namun, tidak satupun dari penyedia dua langkah yang dikonfigurasi didukung oleh peramban web ini." - }, - "noTwoStepProviders2": { - "message": "Silakan gunakan peramban web yang didukung (seperti Chrome) dan/atau tambahkan penyedia tambahan yang didukung di semua peramban web (seperti aplikasi autentikasi)." - }, - "twoStepOptions": { - "message": "Pilihan Info Masuk Dua Langkah" - }, - "recoveryCodeDesc": { - "message": "Kehilangan akses ke semua penyedia dua faktor Anda? Gunakan kode pemulihan untuk menonaktifkan semua penyedia dua faktor dari akun Anda." - }, - "recoveryCodeTitle": { - "message": "Kode Pemulihan" - }, - "authenticatorAppTitle": { - "message": "Aplikasi Autentikasi" - }, - "authenticatorAppDesc": { - "message": "Gunakan aplikasi autentikasi (seperti Authy atau Google Authenticator) untuk menghasilkan kode verifikasi berbasis waktu.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "Kunci Keamanan OTP YubiKey" - }, - "yubiKeyDesc": { - "message": "Gunakan YubiKey untuk mengakses akun Anda. Bekerja dengan YubiKey 4, 4 Nano, 4C, dan peranti NEO." - }, - "duoDesc": { - "message": "Verifikasi dengan Duo Security menggunakan aplikasi Duo Mobile, SMS, panggilan telepon, atau kunci keamanan U2F.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Verifikasi dengan Duo Security untuk organisasi Anda menggunakan aplikasi Duo Mobile, SMS, panggilan telepon, atau kunci keamanan U2F.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Menggunakan FIDO U2F mengaktifkan kunci keamanan untuk mengakses akun anda." - }, - "u2fTitle": { - "message": "Kunci Keamanan FIDO U2F" - }, - "emailTitle": { - "message": "Surel" - }, - "emailDesc": { - "message": "Kode verifikasi akan dikirim via email kepada Anda." - }, - "continue": { - "message": "Lanjutkan" - }, - "organization": { - "message": "Organisasi" - }, - "organizations": { - "message": "Organisasi" - }, - "shareDesc": { - "message": "Pilih sebuah organisasi yang Anda ingin berbagi item ini. Berbagi kepemilikan transfer untuk item bersangkutan dengan organisasi tersebut. Anda tidak akan lagi menjadi pemilik item ini setelah dibagi." - }, - "shareManyDesc": { - "message": "Pilih sebuah organisasi yang Anda ingin berbagi item ini. Berbagi kepemilikan transfer untuk item bersangkutan dengan organisasi tersebut. Anda tidak akan lagi menjadi pemilik item ini setelah dibagi." - }, - "collectionsDesc": { - "message": "Edit koleksi tempat item ini dibagikan. Hanya pengguna organisasi dengan akses ke koleksi ini yang dapat melihat item ini." - }, - "deleteSelectedItemsDesc": { - "message": "Anda telah memilih $COUNT$ item untuk dihapus. Anda yakin ingin menghapus semua item ini?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Pilih folder tempat Anda ingin memindahkan $COUNT$ item yang dipilih.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "Anda telah memilih $COUNT$ item. $SHAREABLE_COUNT$ item dapat dibagikan, $NONSHAREABLE_COUNT$ tidak.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Kode Verifikasi (TOTP)" - }, - "copyVerificationCode": { - "message": "Salin Kode Verifikasi" - }, - "warning": { - "message": "Peringatan" - }, - "confirmVaultExport": { - "message": "Confirm Vault Export" - }, - "exportWarningDesc": { - "message": "Ekspor ini berisi data vault Anda dalam format yang tidak dienkripsi. Anda tidak boleh menyimpan atau mengirim file yang diekspor melalui saluran yang tidak aman (seperti email). Hapus segera setelah Anda selesai menggunakannya." - }, - "encExportWarningDesc": { - "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." - }, - "exportMasterPassword": { - "message": "Masukkan kata sandi utama Anda untuk mengekspor data brankas Anda." - }, - "exportVault": { - "message": "Ekspor Brankas" - }, - "fileFormat": { - "message": "Format Berkas" - }, - "exportSuccess": { - "message": "Data brankas Anda telah diekspor." - }, - "passwordGenerator": { - "message": "Pembuat Kata Sandi" - }, - "minComplexityScore": { - "message": "Skor Kompleksitas Minimum" - }, - "minNumbers": { - "message": "Angka Minimum" - }, - "minSpecial": { - "message": "Karakter Khusus Minimum", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Hindari Karakter Ambigu" - }, - "regeneratePassword": { - "message": "Buat Ulang Sandi" - }, - "length": { - "message": "Panjang" - }, - "numWords": { - "message": "Jumlah Kata" - }, - "wordSeparator": { - "message": "Pemisah Kata" - }, - "capitalize": { - "message": "Gunakan Huruf Besar", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Sertakan Digit" - }, - "passwordHistory": { - "message": "Riwayat Kata Sandi" - }, - "noPasswordsInList": { - "message": "Tidak ada sandi yang dapat dicantumkan." - }, - "clear": { - "message": "Bersihkan", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Akun Diperbarui" - }, - "changeEmail": { - "message": "Ubah Surel" - }, - "newEmail": { - "message": "Surel Baru" - }, - "code": { - "message": "Kode" - }, - "changeEmailDesc": { - "message": "Kami telah mengirimkan kode verifikasi melalui email ke $EMAIL$. Silakan periksa email Anda untuk kode ini dan masukkan di bawah ini untuk menyelesaikan perubahan alamat email.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Melanjutkan akan mengeluarkan Anda dari sesi saat ini, mengharuskan Anda untuk masuk kembali. Sesi aktif di perangkat lain dapat terus aktif hingga satu jam." - }, - "emailChanged": { - "message": "Surel Diubah" - }, - "logBackIn": { - "message": "Harap masuk kembali." - }, - "logBackInOthersToo": { - "message": "Harap masuk kembali. Jika Anda menggunakan aplikasi Bitwarden lain, keluarlah dan masuk kembali ke sana juga." - }, - "changeMasterPassword": { - "message": "Ubah Kata Sandi Utama" - }, - "masterPasswordChanged": { - "message": "Kata Sandi Utama Berubah" - }, - "currentMasterPass": { - "message": "Kata Sandi Utama Saat Ini" - }, - "newMasterPass": { - "message": "Kata Sandi Utama Baru" - }, - "confirmNewMasterPass": { - "message": "Konfirmasi Kata Sandi Utama Baru" - }, - "encKeySettings": { - "message": "Pengaturan Kunci Enkripsi" - }, - "kdfAlgorithm": { - "message": "Algoritma KDF" - }, - "kdfIterations": { - "message": "Iterasi KDF" - }, - "kdfIterationsDesc": { - "message": "Iterasi KDF yang lebih tinggi dapat membantu melindungi kata sandi utama Anda agar tidak dipaksakan secara brutal oleh penyerang. Kami merekomendasikan nilai $VALUE$ atau lebih.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Mengatur iterasi KDF Anda terlalu tinggi dapat mengakibatkan kinerja yang buruk saat masuk ke (dan membuka kunci) Bitwarden di perangkat dengan CPU yang lebih lambat. Kami menyarankan Anda untuk meningkatkan nilai dengan kelipatan $INCREMENT$ dan kemudian menguji semua perangkat Anda.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Ubah KDF" - }, - "encKeySettingsChanged": { - "message": "Pengaturan Kunci Enkripsi Berubah" - }, - "dangerZone": { - "message": "Zona Bahaya" - }, - "dangerZoneDesc": { - "message": "Hati-hati, tindakan ini tidak bisa dibatalkan!" - }, - "deauthorizeSessions": { - "message": "Batalkan Otorisasi Sesi" - }, - "deauthorizeSessionsDesc": { - "message": "Khawatir akun Anda masuk di perangkat lain? Lanjutkan di bawah untuk membatalkan otorisasi semua komputer atau perangkat yang pernah Anda gunakan sebelumnya. Langkah keamanan ini disarankan jika Anda sebelumnya menggunakan komputer publik atau secara tidak sengaja menyimpan sandi Anda di perangkat yang bukan milik Anda. Langkah ini juga akan menghapus semua sesi login dua langkah yang diingat sebelumnya." - }, - "deauthorizeSessionsWarning": { - "message": "Melanjutkan juga akan mengeluarkan Anda dari sesi saat ini, mengharuskan Anda untuk masuk kembali. Anda juga akan diminta untuk masuk dua langkah lagi, jika diaktifkan. Sesi aktif di perangkat lain dapat terus aktif hingga satu jam." - }, - "sessionsDeauthorized": { - "message": "Semua Sesi Dicabut Izinnya" - }, - "purgeVault": { - "message": "Bersihkan Vault" - }, - "purgedOrganizationVault": { - "message": "Kubah organisasi yang dibersihkan." - }, - "purgeVaultDesc": { - "message": "Lanjutkan di bawah untuk menghapus semua item dan folder di lemari besi Anda. Item milik organisasi yang Anda bagikan tidak akan dihapus." - }, - "purgeOrgVaultDesc": { - "message": "Lanjutkan di bawah untuk menghapus semua item di lemari besi organisasi." - }, - "purgeVaultWarning": { - "message": "Membersihkan lemari besi Anda bersifat permanen. Itu tidak bisa dibatalkan." - }, - "vaultPurged": { - "message": "Lemari besi Anda telah dibersihkan." - }, - "deleteAccount": { - "message": "Hapus akun" - }, - "deleteAccountDesc": { - "message": "Lanjutkan di bawah untuk menghapus akun Anda dan semua data terkait." - }, - "deleteAccountWarning": { - "message": "Menghapus akun Anda bersifat permanen. Itu tidak bisa dibatalkan." - }, - "accountDeleted": { - "message": "Akun Dihapus" - }, - "accountDeletedDesc": { - "message": "Akun Anda telah ditutup dan semua data terkait telah dihapus." - }, - "myAccount": { - "message": "Akun Saya" - }, - "tools": { - "message": "Alat" - }, - "importData": { - "message": "Impor Data" - }, - "importSuccess": { - "message": "Data telah berhasil diimpor ke lemari besi Anda." - }, - "importFormatError": { - "message": "Data tidak diformat dengan benar. Silakan periksa file impor Anda dan coba lagi." - }, - "importNothingError": { - "message": "Tidak ada yang diimpor." - }, - "selectFormat": { - "message": "Pilih format file impor" - }, - "selectImportFile": { - "message": "Pilih file impor" - }, - "orCopyPasteFileContents": { - "message": "atau salin / tempel konten file impor" - }, - "instructionsFor": { - "message": "$NAME$ Instruksi", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Pilihan" - }, - "optionsDesc": { - "message": "Sesuaikan pengalaman web vault Anda." - }, - "optionsUpdated": { - "message": "Opsi diperbarui" - }, - "language": { - "message": "Bahasa" - }, - "languageDesc": { - "message": "Ubah bahasa yang digunakan oleh brankas web." - }, - "disableIcons": { - "message": "Nonaktifkan Ikon Situs Web" - }, - "disableIconsDesc": { - "message": "Ikon Situs Web memberikan gambar yang dapat dikenali di samping setiap item login di lemari besi Anda." - }, - "enableGravatars": { - "message": "Aktifkan Gravatars", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Gunakan gambar avatar yang dimuat dari gravatar.com." - }, - "enableFullWidth": { - "message": "Aktifkan Tata Letak Lebar Penuh", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Izinkan kubah web memperluas lebar penuh jendela browser." - }, - "default": { - "message": "Bawaan" - }, - "domainRules": { - "message": "Aturan Domain" - }, - "domainRulesDesc": { - "message": "Jika Anda memiliki info masuk yang sama di beberapa domain situs web yang berbeda, Anda dapat menandai situs web tersebut sebagai \"setara\". Domain \"Global\" sudah dibuat untuk Anda oleh Bitwarden." - }, - "globalEqDomains": { - "message": "Domain Setara Global" - }, - "customEqDomains": { - "message": "Domain Setara Kustom" - }, - "exclude": { - "message": "Mengecualikan" - }, - "include": { - "message": "Termasuk" - }, - "customize": { - "message": "Sesuaikan" - }, - "newCustomDomain": { - "message": "Domain Kustom Baru" - }, - "newCustomDomainDesc": { - "message": "Masukkan daftar domain yang dipisahkan dengan koma. Hanya domain \"dasar\" yang diperbolehkan. Jangan masukkan subdomain. Misalnya, masukkan \"google.com\", bukan \"www.google.com\". Anda juga dapat memasukkan \"androidapp: //package.name\" untuk mengaitkan aplikasi android dengan domain situs lain." - }, - "customDomainX": { - "message": "Domain Khusus $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Domain diperbaharui" - }, - "twoStepLogin": { - "message": "Info masuk dua langkah" - }, - "twoStepLoginDesc": { - "message": "Amankan akun Anda dengan meminta langkah tambahan saat masuk." - }, - "twoStepLoginOrganizationDesc": { - "message": "Mewajibkan login dua langkah untuk pengguna organisasi Anda dengan mengonfigurasi penyedia di tingkat organisasi." - }, - "twoStepLoginRecoveryWarning": { - "message": "Mengaktifkan login dua langkah dapat mengunci Anda secara permanen dari akun Bitwarden Anda. Kode pemulihan memungkinkan Anda untuk mengakses akun Anda jika Anda tidak dapat lagi menggunakan penyedia proses masuk dua langkah biasa (mis. Anda kehilangan perangkat). Dukungan Bitwarden tidak akan dapat membantu Anda jika Anda kehilangan akses ke akun Anda. Kami menyarankan Anda untuk menuliskan atau mencetak kode pemulihan dan menyimpannya di tempat yang aman." - }, - "viewRecoveryCode": { - "message": "Lihat Kode Pemulihan" - }, - "providers": { - "message": "Penyedia", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Aktifkan" - }, - "enabled": { - "message": "Diaktifkan" - }, - "premium": { - "message": "Premium", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Keanggotaan Premium" - }, - "premiumRequired": { - "message": "Memerlukan Keanggotaan Premium" - }, - "premiumRequiredDesc": { - "message": "Keanggotaan premium diperlukan untuk menggunakan fitur ini." - }, - "youHavePremiumAccess": { - "message": "Anda memiliki akses premium" - }, - "alreadyPremiumFromOrg": { - "message": "Anda sudah memiliki akses ke fitur premium karena organisasi tempat Anda menjadi anggota." - }, - "manage": { - "message": "Kelola" - }, - "disable": { - "message": "Nonaktifkan" - }, - "twoStepLoginProviderEnabled": { - "message": "Penyedia proses masuk dua langkah ini diaktifkan di akun Anda." - }, - "twoStepLoginAuthDesc": { - "message": "Masukkan kata sandi utama Anda untuk mengubah pengaturan login dua langkah." - }, - "twoStepAuthenticatorDesc": { - "message": "Ikuti langkah-langkah berikut untuk menyiapkan login dua langkah dengan aplikasi pengautentikasi:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Unduh aplikasi autentikator dua langkah" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Butuh aplikasi pengautentikasi dua langkah? Unduh salah satu dari yang berikut ini" - }, - "iosDevices": { - "message": "Perangkat iOS" - }, - "androidDevices": { - "message": "Perangkat Android" - }, - "windowsDevices": { - "message": "Perangkat Windows" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "Aplikasi ini direkomendasikan, namun aplikasi pengautentikasi lain juga akan berfungsi." - }, - "twoStepAuthenticatorScanCode": { - "message": "Pindai kode QR ini dengan aplikasi pengautentikasi Anda" - }, - "key": { - "message": "Kunci" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Masukkan 6 digit kode verifikasi yang dihasilkan dari aplikasi" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "Jika Anda perlu menambahkannya ke perangkat lain, di bawah ini adalah kode QR (atau kunci) yang diperlukan oleh aplikasi autentikator Anda." - }, - "twoStepDisableDesc": { - "message": "Anda yakin ingin menonaktifkan penyedia proses masuk dua langkah ini?" - }, - "twoStepDisabled": { - "message": "Penyedia proses masuk dua langkah dinonaktifkan." - }, - "twoFactorYubikeyAdd": { - "message": "Tambahkan YubiKey baru ke akun Anda" - }, - "twoFactorYubikeyPlugIn": { - "message": "Colokkan YubiKey ke port USB komputer Anda." - }, - "twoFactorYubikeySelectKey": { - "message": "Pilih bidang masukan YubiKey kosong pertama di bawah ini." - }, - "twoFactorYubikeyTouchButton": { - "message": "Sentuh tombol YubiKey." - }, - "twoFactorYubikeySaveForm": { - "message": "Simpan formulir." - }, - "twoFactorYubikeyWarning": { - "message": "Karena keterbatasan platform, YubiKeys tidak dapat digunakan di semua aplikasi Bitwarden. Anda harus mengaktifkan penyedia proses masuk dua langkah lainnya sehingga Anda dapat mengakses akun Anda saat YubiKeys tidak dapat digunakan. Platform yang didukung:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Kubah web, aplikasi desktop, CLI, dan semua ekstensi peramban di perangkat dengan port USB yang dapat menerima YubiKey Anda." - }, - "twoFactorYubikeySupportMobile": { - "message": "Aplikasi seluler di perangkat dengan kemampuan NFC atau port data yang dapat menerima YubiKey Anda." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "Kunci U2F $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "Dukungan NFC" - }, - "twoFactorYubikeySupportsNfc": { - "message": "Salah satu kunci saya mendukung NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "Jika salah satu YubiKey Anda mendukung NFC (seperti YubiKey NEO), Anda akan diminta pada perangkat seluler setiap kali ketersediaan NFC terdeteksi." - }, - "yubikeysUpdated": { - "message": "YubiKeys diperbarui" - }, - "disableAllKeys": { - "message": "Nonaktifkan Semua Kunci" - }, - "twoFactorDuoDesc": { - "message": "Masukkan informasi aplikasi Bitwarden dari panel Duo Admin Anda." - }, - "twoFactorDuoIntegrationKey": { - "message": "Kunci Integrasi" - }, - "twoFactorDuoSecretKey": { - "message": "Kunci Rahasia" - }, - "twoFactorDuoApiHostname": { - "message": "Nama Host API" - }, - "twoFactorEmailDesc": { - "message": "Ikuti langkah-langkah berikut untuk menyiapkan login dua langkah dengan email:" - }, - "twoFactorEmailEnterEmail": { - "message": "Masukkan email yang ingin Anda terima kode verifikasi" - }, - "twoFactorEmailEnterCode": { - "message": "Masukkan 6 digit kode verifikasi yang dihasilkan dari email" - }, - "sendEmail": { - "message": "Kirim Surel" - }, - "twoFactorU2fAdd": { - "message": "Tambahkan kunci keamanan FIDO U2F ke akun Anda" - }, - "removeU2fConfirmation": { - "message": "Anda yakin ingin menghapus kunci keamanan ini?" - }, - "readKey": { - "message": "Baca Kunci" - }, - "keyCompromised": { - "message": "Kunci disusupi." - }, - "twoFactorU2fGiveName": { - "message": "Beri nama kunci keamanan untuk mengidentifikasinya." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Colokkan kunci keamanan ke port USB komputer Anda dan klik tombol \"Read Key\"." - }, - "twoFactorU2fTouchButton": { - "message": "Jika kunci keamanan memiliki tombol, sentuhlah." - }, - "twoFactorU2fSaveForm": { - "message": "Simpan formulir." - }, - "twoFactorU2fWarning": { - "message": "Karena keterbatasan platform, FIDO U2F tidak dapat digunakan di semua aplikasi Bitwarden. Anda harus mengaktifkan penyedia login dua langkah lainnya sehingga Anda dapat mengakses akun Anda saat FIDO U2F tidak dapat digunakan. Platform yang didukung:" - }, - "twoFactorU2fSupportWeb": { - "message": "Kubah web dan ekstensi browser di desktop / laptop dengan browser yang mendukung U2F (Chrome, Opera, Vivaldi, atau Firefox dengan FIDO U2F diaktifkan)." - }, - "twoFactorU2fWaiting": { - "message": "Menunggu Anda menyentuh tombol di kunci keamanan Anda" - }, - "twoFactorU2fClickSave": { - "message": "Klik tombol \"Simpan\" di bawah untuk mengaktifkan kunci keamanan ini untuk login dua langkah." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "Ada masalah saat membaca kunci keamanan. Coba lagi." - }, - "twoFactorRecoveryYourCode": { - "message": "Kode pemulihan masuk dua langkah Bitwarden Anda" - }, - "twoFactorRecoveryNoCode": { - "message": "Anda belum mengaktifkan penyedia proses masuk dua langkah apa pun. Setelah Anda mengaktifkan penyedia proses masuk dua langkah, Anda dapat memeriksa kembali di sini untuk kode pemulihan Anda." - }, - "printCode": { - "message": "Cetak Kode", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Laporan" - }, - "unsecuredWebsitesReport": { - "message": "Laporan Situs Web Tidak Aman" - }, - "unsecuredWebsitesReportDesc": { - "message": "Menggunakan situs web tidak aman dengan skema http: // dapat berbahaya. Jika situs web memungkinkan, Anda harus selalu mengaksesnya menggunakan skema https: // sehingga koneksi Anda terenkripsi." - }, - "unsecuredWebsitesFound": { - "message": "Situs Web Tidak Aman Ditemukan" - }, - "unsecuredWebsitesFoundDesc": { - "message": "Kami menemukan $COUNT$ item di lemari besi Anda dengan URI yang tidak aman. Anda harus mengubah skema URI mereka menjadi https: // jika situs web mengizinkannya.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "Tidak ada item di vault Anda yang memiliki URI tidak aman." - }, - "inactive2faReport": { - "message": "Laporan 2FA tidak aktif" - }, - "inactive2faReportDesc": { - "message": "Otentikasi dua faktor (2FA) adalah pengaturan keamanan penting yang membantu mengamankan akun Anda. Jika situs web menawarkannya, Anda harus selalu mengaktifkan otentikasi dua faktor." - }, - "inactive2faFound": { - "message": "Login Tanpa Ditemukan 2FA" - }, - "inactive2faFoundDesc": { - "message": "Kami menemukan $COUNT$ situs web di lemari besi Anda yang mungkin tidak dikonfigurasi dengan otentikasi dua faktor (menurut 2fa.directory). Untuk lebih melindungi akun ini, Anda harus mengaktifkan otentikasi dua faktor.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "Tidak ada situs web yang ditemukan di lemari besi Anda dengan konfigurasi otentikasi dua faktor yang hilang." - }, - "instructions": { - "message": "Instruksi" - }, - "exposedPasswordsReport": { - "message": "Laporan Kata Sandi Terkena" - }, - "exposedPasswordsReportDesc": { - "message": "Kata sandi yang terbuka adalah kata sandi yang telah ditemukan dalam pelanggaran data yang diketahui yang dirilis secara publik atau dijual di web gelap oleh peretas." - }, - "exposedPasswordsFound": { - "message": "Kata Sandi Terkena Ditemukan" - }, - "exposedPasswordsFoundDesc": { - "message": "Kami menemukan $COUNT$ item di lemari besi Anda yang memiliki sandi yang diketahui dalam pelanggaran data yang diketahui. Anda harus mengubahnya untuk menggunakan kata sandi baru.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "Tidak ada item di lemari besi Anda yang memiliki kata sandi yang telah terungkap dalam pelanggaran data yang diketahui." - }, - "checkExposedPasswords": { - "message": "Periksa Kata Sandi yang Terekspos" - }, - "exposedXTimes": { - "message": "Dipaparkan $COUNT$ kali", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Laporan Kata Sandi Lemah" - }, - "weakPasswordsReportDesc": { - "message": "Kata sandi yang lemah dapat dengan mudah ditebak oleh peretas dan alat otomatis yang digunakan untuk memecahkan kata sandi. Pembuat kata sandi Bitwarden dapat membantu Anda membuat kata sandi yang kuat." - }, - "weakPasswordsFound": { - "message": "Kata Sandi Lemah Ditemukan" - }, - "weakPasswordsFoundDesc": { - "message": "Kami menemukan $COUNT$ item di lemari besi Anda dengan sandi yang tidak kuat. Anda harus memperbaruinya untuk menggunakan kata sandi yang lebih kuat.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "Tidak ada item di lemari besi Anda yang memiliki kata sandi yang lemah." - }, - "reusedPasswordsReport": { - "message": "Laporan Kata Sandi yang Digunakan Kembali" - }, - "reusedPasswordsReportDesc": { - "message": "Jika layanan yang Anda gunakan disusupi, menggunakan kembali kata sandi yang sama di tempat lain dapat memungkinkan peretas untuk dengan mudah mendapatkan akses ke lebih banyak akun online Anda. Anda harus menggunakan kata sandi unik untuk setiap akun atau layanan." - }, - "reusedPasswordsFound": { - "message": "Kata Sandi yang Digunakan Kembali Ditemukan" - }, - "reusedPasswordsFoundDesc": { - "message": "Kami menemukan $COUNT$ sandi yang digunakan kembali di lemari besi Anda. Anda harus mengubahnya menjadi nilai unik.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "Tidak ada login di vault Anda yang memiliki sandi yang sedang digunakan kembali." - }, - "reusedXTimes": { - "message": "Digunakan kembali $COUNT$ kali", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Laporan Pelanggaran Data" - }, - "breachDesc": { - "message": "\"Pelanggaran\" adalah insiden ketika data situs telah diakses secara ilegal oleh peretas dan kemudian dirilis ke publik. Tinjau jenis data yang disusupi (alamat email, sandi, kartu kredit, dll.) Dan lakukan tindakan yang sesuai, seperti mengubah sandi." - }, - "breachCheckUsernameEmail": { - "message": "Periksa nama pengguna atau alamat email yang Anda gunakan." - }, - "checkBreaches": { - "message": "Periksa Pelanggaran" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ tidak ditemukan dalam pelanggaran data yang diketahui.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Kabar Baik", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ ditemukan dalam $COUNT$ pelanggaran data online yang berbeda.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Ditemukan Akun yang Dilanggar" - }, - "compromisedData": { - "message": "Data yang disusupi" - }, - "website": { - "message": "Situs Web" - }, - "affectedUsers": { - "message": "Pengguna yang Terkena Dampak" - }, - "breachOccurred": { - "message": "Terjadi Pelanggaran" - }, - "breachReported": { - "message": "Pelanggaran Dilaporkan" - }, - "reportError": { - "message": "Terjadi kesalahan saat mencoba memuat laporan. Coba lagi" - }, - "billing": { - "message": "Penagihan" - }, - "accountCredit": { - "message": "Kredit Akun", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Saldo rekening", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Tambahkan Pulsa", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Jumlah", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Kredit tambahan akan muncul di akun Anda setelah pembayaran selesai diproses. Beberapa metode pembayaran tertunda dan dapat memakan waktu lebih lama untuk diproses daripada yang lain." - }, - "makeSureEnoughCredit": { - "message": "Harap pastikan bahwa akun Anda memiliki cukup kredit yang tersedia untuk pembelian ini. Jika akun Anda tidak memiliki cukup kredit yang tersedia, metode pembayaran default Anda yang tercatat akan digunakan untuk selisihnya. Anda dapat menambahkan kredit ke akun Anda dari halaman Penagihan." - }, - "creditAppliedDesc": { - "message": "Kredit akun Anda dapat digunakan untuk melakukan pembelian. Semua kredit yang tersedia akan secara otomatis diterapkan ke faktur yang dibuat untuk akun ini." - }, - "goPremium": { - "message": "Jadi Anggota Premium", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "Anda telah ditingkatkan ke premium." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Tingkatkan akun Anda ke keanggotaan premium dan buka beberapa fitur tambahan yang hebat." - }, - "premiumSignUpStorage": { - "message": "Penyimpanan terenkripsi 1 GB untuk lampiran file." - }, - "premiumSignUpTwoStep": { - "message": "Opsi login dua langkah tambahan seperti YubiKey, FIDO U2F, dan Duo." - }, - "premiumSignUpReports": { - "message": "Kebersihan kata sandi, kesehatan akun, dan laporan pelanggaran data untuk menjaga brankas Anda tetap aman." - }, - "premiumSignUpTotp": { - "message": "Generator kode verifikasi TOTP (2FA) untuk login di lemari besi Anda." - }, - "premiumSignUpSupport": { - "message": "Dukungan pelanggan prioritas." - }, - "premiumSignUpFuture": { - "message": "Semua fitur premium masa depan. Selebihnya datang segera!" - }, - "premiumPrice": { - "message": "Semuanya hanya dengan $PRICE$ / tahun!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Pengaya" - }, - "premiumAccess": { - "message": "Akses Premium" - }, - "premiumAccessDesc": { - "message": "Anda dapat menambahkan akses premium ke semua anggota organisasi Anda dengan $PRICE$ / $INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Tambahan Penyimpanan (GB)" - }, - "additionalStorageGbDesc": { - "message": "# dari GB tambahan" - }, - "additionalStorageIntervalDesc": { - "message": "Paket Anda dilengkapi dengan $SIZE$ penyimpanan file terenkripsi. Anda dapat menambahkan penyimpanan tambahan dengan $PRICE$ per GB / $INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Ringkasan" - }, - "total": { - "message": "Jumlah" - }, - "year": { - "message": "tahun" - }, - "month": { - "message": "bulan" - }, - "monthAbbr": { - "message": "mo.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Metode pembayaran Anda akan segera ditagih dan kemudian secara berulang setiap tahun. Anda dapat membatalkannya kapan saja." - }, - "paymentCharged": { - "message": "Metode pembayaran Anda akan segera ditagih dan kemudian secara berulang setiap $INTERVAL$. Anda dapat membatalkannya kapan saja.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Paket Anda dilengkapi dengan uji coba gratis selama 7 hari. Metode pembayaran Anda tidak akan ditagih hingga uji coba berakhir. Penagihan akan dilakukan secara berulang setiap $INTERVAL$. Anda dapat membatalkannya kapan saja.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Informasi Pembayaran" - }, - "billingInformation": { - "message": "Billing Information" - }, - "creditCard": { - "message": "Kartu kredit" - }, - "paypalClickSubmit": { - "message": "Klik tombol PayPal untuk masuk ke akun PayPal Anda, lalu klik tombol Kirim di bawah untuk melanjutkan." - }, - "cancelSubscription": { - "message": "Batalkan Langganan" - }, - "subscriptionCanceled": { - "message": "Langganan telah dibatalkan." - }, - "pendingCancellation": { - "message": "Pembatalan Menunggu Keputusan" - }, - "subscriptionPendingCanceled": { - "message": "Langganan telah ditandai untuk pembatalan pada akhir periode penagihan saat ini." - }, - "reinstateSubscription": { - "message": "Pulihkan Langganan" - }, - "reinstateConfirmation": { - "message": "Anda yakin ingin menghapus permintaan pembatalan yang menunggu keputusan dan memulihkan langganan Anda?" - }, - "reinstated": { - "message": "Langganan telah dipulihkan." - }, - "cancelConfirmation": { - "message": "Anda yakin ingin membatalkan? Anda akan kehilangan akses ke semua fitur langganan ini di akhir siklus penagihan ini." - }, - "canceledSubscription": { - "message": "Langganan telah dibatalkan." - }, - "neverExpires": { - "message": "Tidak Pernah berakhir" - }, - "status": { - "message": "Status" - }, - "nextCharge": { - "message": "Biaya berikutnya" - }, - "details": { - "message": "Detailnya" - }, - "downloadLicense": { - "message": "Mengunduh lisensi" - }, - "updateLicense": { - "message": "Perbarui Lisensi" - }, - "updatedLicense": { - "message": "Lisensi yang diperbarui" - }, - "manageSubscription": { - "message": "Kelola Langganan" - }, - "storage": { - "message": "Penyimpanan" - }, - "addStorage": { - "message": "Tambahkan Penyimpanan" - }, - "removeStorage": { - "message": "Hapus Penyimpanan" - }, - "subscriptionStorage": { - "message": "Langganan Anda memiliki total penyimpanan file terenkripsi $MAX_STORAGE$ GB. Anda saat ini menggunakan $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Cara Pembayaran" - }, - "noPaymentMethod": { - "message": "Tidak ada metode pembayaran yang tercatat." - }, - "addPaymentMethod": { - "message": "Tambahkan Metode Pembayaran" - }, - "changePaymentMethod": { - "message": "Ubah Metode Pembayaran" - }, - "invoices": { - "message": "Faktur" - }, - "noInvoices": { - "message": "Tidak ada faktur." - }, - "paid": { - "message": "Dibayar", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Belum dibayar", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Transaksi", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "Tidak ada transaksi." - }, - "chargeNoun": { - "message": "Biaya", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Pengembalian dana", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Tagihan apa pun akan muncul di laporan mutasi Anda sebagai $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "GB Penyimpanan Untuk Ditambahkan" - }, - "gbStorageRemove": { - "message": "GB Penyimpanan Untuk Menghapus" - }, - "storageAddNote": { - "message": "Menambahkan penyimpanan akan menghasilkan penyesuaian pada total penagihan Anda dan segera menagih metode pembayaran Anda yang tercatat. Tagihan pertama akan diprorata untuk sisa siklus penagihan saat ini." - }, - "storageRemoveNote": { - "message": "Menghapus penyimpanan akan mengakibatkan penyesuaian pada total penagihan Anda yang akan dihitung secara prorata sebagai kredit untuk tagihan penagihan Anda berikutnya." - }, - "adjustedStorage": { - "message": "Menyesuaikan penyimpanan $AMOUNT$ GB.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Hubungi Dukungan Pelanggan" - }, - "updatedPaymentMethod": { - "message": "Metode pembayaran yang diperbarui." - }, - "purchasePremium": { - "message": "Beli Premium" - }, - "licenseFile": { - "message": "File Lisensi" - }, - "licenseFileDesc": { - "message": "File lisensi Anda akan diberi nama seperti $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "Untuk meningkatkan akun Anda ke keanggotaan premium, Anda perlu mengunggah file lisensi yang valid." - }, - "uploadLicenseFileOrg": { - "message": "Untuk membuat organisasi yang dihosting di lokasi, Anda perlu mengupload file lisensi yang valid." - }, - "accountEmailMustBeVerified": { - "message": "Alamat email akun Anda harus diverifikasi." - }, - "newOrganizationDesc": { - "message": "Organisasi memungkinkan Anda berbagi bagian lemari besi Anda dengan orang lain serta mengelola pengguna terkait untuk entitas tertentu seperti keluarga, tim kecil, atau perusahaan besar." - }, - "generalInformation": { - "message": "Informasi Umum" - }, - "organizationName": { - "message": "Nama Organisasi" - }, - "accountOwnedBusiness": { - "message": "Akun ini dimiliki oleh bisnis." - }, - "billingEmail": { - "message": "Email Penagihan" - }, - "businessName": { - "message": "Nama Bisnis" - }, - "chooseYourPlan": { - "message": "Pilih Paket Anda" - }, - "users": { - "message": "Pengguna" - }, - "userSeats": { - "message": "Kursi Pengguna" - }, - "additionalUserSeats": { - "message": "Kursi Pengguna Tambahan" - }, - "userSeatsDesc": { - "message": "# kursi pengguna" - }, - "userSeatsAdditionalDesc": { - "message": "Paket Anda dilengkapi dengan $BASE_SEATS$ kursi pengguna. Anda dapat menambahkan pengguna tambahan dengan $SEAT_PRICE$ per pengguna / bulan.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "Berapa banyak kursi pengguna yang Anda butuhkan? Anda juga dapat menambahkan kursi tambahan nanti jika perlu." - }, - "planNameFree": { - "message": "Gratis", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "Untuk pengujian atau pengguna pribadi untuk berbagi dengan $COUNT$ pengguna lain.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Keluarga" - }, - "planDescFamilies": { - "message": "Untuk penggunaan pribadi, untuk berbagi dengan keluarga & teman." - }, - "planNameTeams": { - "message": "Tim" - }, - "planDescTeams": { - "message": "Untuk bisnis dan organisasi tim lainnya." - }, - "planNameEnterprise": { - "message": "Perusahaan" - }, - "planDescEnterprise": { - "message": "Untuk bisnis dan organisasi besar lainnya." - }, - "freeForever": { - "message": "Bebas selamanya" - }, - "includesXUsers": { - "message": "termasuk $COUNT$ pengguna", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Pengguna Tambahan" - }, - "costPerUser": { - "message": "$COST$ per pengguna", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Terbatas untuk $COUNT$ pengguna (termasuk Anda)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Terbatas untuk $COUNT$ koleksi", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Tambahkan dan bagikan hingga $COUNT$ pengguna", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Tambahkan dan bagikan dengan pengguna tanpa batas" - }, - "createUnlimitedCollections": { - "message": "Buat Koleksi tanpa batas" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ penyimpanan file terenkripsi", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "Hosting milik sendiri (opsional)" - }, - "usersGetPremium": { - "message": "Pengguna mendapatkan akses ke Fitur Premium" - }, - "controlAccessWithGroups": { - "message": "Kontrol akses pengguna dengan Grup" - }, - "syncUsersFromDirectory": { - "message": "Sinkronkan pengguna dan Grup Anda dari direktori" - }, - "trackAuditLogs": { - "message": "Lacak tindakan pengguna dengan log audit" - }, - "enforce2faDuo": { - "message": "Terapkan 2FA dengan Duo" - }, - "priorityCustomerSupport": { - "message": "Dukungan pelanggan prioritas" - }, - "xDayFreeTrial": { - "message": "$COUNT$ hari uji coba gratis, batalkan kapan saja", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Bulanan" - }, - "annually": { - "message": "Setiap tahun" - }, - "basePrice": { - "message": "Harga dasar" - }, - "organizationCreated": { - "message": "Organisasi Dibuat" - }, - "organizationReadyToGo": { - "message": "Organisasi baru Anda siap digunakan!" - }, - "organizationUpgraded": { - "message": "Organisasi Anda telah ditingkatkan." - }, - "leave": { - "message": "Meninggalkan" - }, - "leaveOrganizationConfirmation": { - "message": "Yakin ingin keluar dari organisasi ini?" - }, - "leftOrganization": { - "message": "Anda telah keluar dari organisasi." - }, - "defaultCollection": { - "message": "Koleksi Default" - }, - "getHelp": { - "message": "Dapatkan Bantuan" - }, - "getApps": { - "message": "Dapatkan Aplikasinya" - }, - "loggedInAs": { - "message": "Masuk sebagai" - }, - "eventLogs": { - "message": "Log Peristiwa" - }, - "people": { - "message": "Orang-orang" - }, - "policies": { - "message": "Kebijakan" - }, - "editPolicy": { - "message": "Edit Kebijakan" - }, - "groups": { - "message": "Grup" - }, - "newGroup": { - "message": "Grup baru" - }, - "addGroup": { - "message": "Tambahkan Grup" - }, - "editGroup": { - "message": "Sunting Grup" - }, - "deleteGroupConfirmation": { - "message": "Apakah Anda yakin ingin menghapus grup ini?" - }, - "removeUserConfirmation": { - "message": "Apakah Anda yakin ingin menghapus pengguna ini?" - }, - "externalId": { - "message": "Id Eksternal" - }, - "externalIdDesc": { - "message": "Id eksternal dapat digunakan sebagai referensi atau untuk menautkan sumber daya ini ke sistem eksternal seperti direktori pengguna." - }, - "accessControl": { - "message": "Kontrol akses" - }, - "groupAccessAllItems": { - "message": "Grup ini dapat mengakses dan mengubah semua item." - }, - "groupAccessSelectedCollections": { - "message": "Grup ini hanya dapat mengakses koleksi yang dipilih." - }, - "readOnly": { - "message": "Baca Saja" - }, - "newCollection": { - "message": "Koleksi baru" - }, - "addCollection": { - "message": "Tambahkan Koleksi" - }, - "editCollection": { - "message": "Edit Koleksi" - }, - "deleteCollectionConfirmation": { - "message": "Apakah Anda yakin ingin menghapus koleksi ini?" - }, - "editUser": { - "message": "Edit Pengguna" - }, - "inviteUser": { - "message": "Undang Pengguna" - }, - "inviteUserDesc": { - "message": "Undang pengguna baru ke organisasi Anda dengan memasukkan alamat email akun Bitwarden mereka di bawah ini. Jika mereka belum memiliki akun Bitwarden, mereka akan diminta untuk membuat akun baru." - }, - "inviteMultipleEmailDesc": { - "message": "Anda dapat mengundang hingga $COUNT$ pengguna sekaligus dengan memisahkan daftar alamat email dengan koma.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "Pengguna ini menggunakan proses masuk dua langkah untuk melindungi akun mereka." - }, - "userAccessAllItems": { - "message": "Pengguna ini dapat mengakses dan mengubah semua item." - }, - "userAccessSelectedCollections": { - "message": "Pengguna ini hanya dapat mengakses koleksi yang dipilih." - }, - "search": { - "message": "Cari" - }, - "invited": { - "message": "Diundang" - }, - "accepted": { - "message": "Diterima" - }, - "confirmed": { - "message": "Dikonfirmasi" - }, - "owner": { - "message": "Pemilik" - }, - "ownerDesc": { - "message": "Pengguna dengan akses tertinggi yang dapat mengelola semua aspek organisasi Anda." - }, - "admin": { - "message": "Admin" - }, - "adminDesc": { - "message": "Admin dapat mengakses dan mengelola semua item, koleksi, dan pengguna di organisasi Anda." - }, - "user": { - "message": "Pengguna" - }, - "userDesc": { - "message": "Pengguna biasa dengan akses ke koleksi yang ditetapkan di organisasi Anda." - }, - "manager": { - "message": "Pengelola" - }, - "managerDesc": { - "message": "Manajer dapat mengakses dan mengelola koleksi yang ditetapkan di organisasi Anda." - }, - "all": { - "message": "Semua" - }, - "refresh": { - "message": "Segarkan" - }, - "timestamp": { - "message": "Stempel waktu" - }, - "event": { - "message": "Peristiwa" - }, - "unknown": { - "message": "Tidak diketahui" - }, - "loadMore": { - "message": "Muat lebih banyak" - }, - "mobile": { - "message": "Seluler", - "description": "Mobile app" - }, - "extension": { - "message": "Ekstensi", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Desktop", - "description": "Desktop app" - }, - "webVault": { - "message": "Brankas web" - }, - "loggedIn": { - "message": "Sudah masuk." - }, - "changedPassword": { - "message": "Kata sandi akun diubah." - }, - "enabledUpdated2fa": { - "message": "Proses masuk dua langkah diaktifkan / diperbarui." - }, - "disabled2fa": { - "message": "Proses masuk dua langkah dinonaktifkan." - }, - "recovered2fa": { - "message": "Akun yang dipulihkan dari login dua langkah." - }, - "failedLogin": { - "message": "Upaya login gagal dengan sandi yang salah." - }, - "failedLogin2fa": { - "message": "Upaya masuk gagal dengan proses masuk dua langkah yang salah." - }, - "exportedVault": { - "message": "Brankas yang diekspor." - }, - "exportedOrganizationVault": { - "message": "Brankas organisasi yang diekspor." - }, - "editedOrgSettings": { - "message": "Pengaturan organisasi yang diedit." - }, - "createdItemId": { - "message": "Membuat item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Item $ID$ telah diedit.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Mengirim item $ID$ ke sampah.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Item bersama $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Melihat item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Melihat kata sandi untuk item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Melihat bidang tersembunyi untuk item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Melihat kode keamanan untuk item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Sandi disalin untuk item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Bidang tersembunyi disalin untuk item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Kode keamanan disalin untuk item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Item yang diisi otomatis $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Koleksi yang dibuat $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Koleksi $ID$ diedit.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Koleksi $ID$ dihapus.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Kebijakan $ID$ telah diedit.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Membuat grup $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Grup $ID$ diedit.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Grup $ID$ dihapus.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Pengguna $ID$ dihapus.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Lampiran dibuat untuk item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Lampiran dihapus untuk item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Koleksi yang diedit untuk item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "$ID$ pengguna yang diundang.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "$ID$ pengguna yang dikonfirmasi.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "$ID$ telah diedit.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Grup yang diedit untuk pengguna $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Perangkat" - }, - "view": { - "message": "Tampilan" - }, - "invalidDateRange": { - "message": "Rentang tanggal tidak valid." - }, - "errorOccurred": { - "message": "Sebuah kesalahan telah terjadi." - }, - "userAccess": { - "message": "Akses Pengguna" - }, - "userType": { - "message": "Tipe Pengguna" - }, - "groupAccess": { - "message": "Akses Grup" - }, - "groupAccessUserDesc": { - "message": "Edit grup tempat pengguna ini berada." - }, - "invitedUsers": { - "message": "Pengguna yang diundang." - }, - "resendInvitation": { - "message": "Mengirim kembali undangan" - }, - "hasBeenReinvited": { - "message": "$USER$ telah diundang.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Konfirmasi" - }, - "confirmUser": { - "message": "Konfirmasi Pengguna" - }, - "hasBeenConfirmed": { - "message": "$USER$ telah dikonfirmasi.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Konfirmasi Pengguna" - }, - "usersNeedConfirmed": { - "message": "Anda memiliki pengguna yang telah menerima undangannya, tetapi masih perlu dikonfirmasi. Pengguna tidak akan memiliki akses ke organisasi sampai mereka dikonfirmasi." - }, - "startDate": { - "message": "Mulai tanggal" - }, - "endDate": { - "message": "Tanggal Berakhir" - }, - "verifyEmail": { - "message": "Verifikasi email" - }, - "verifyEmailDesc": { - "message": "Verifikasi alamat email akun Anda untuk membuka akses ke semua fitur." - }, - "verifyEmailFirst": { - "message": "Alamat email akun Anda harus diverifikasi terlebih dahulu." - }, - "checkInboxForVerification": { - "message": "Periksa kotak masuk email Anda untuk tautan verifikasi." - }, - "emailVerified": { - "message": "Email Anda telah diverifikasi." - }, - "emailVerifiedFailed": { - "message": "Tidak dapat memverifikasi email Anda. Coba kirim email verifikasi baru." - }, - "updateBrowser": { - "message": "Perbarui Browser" - }, - "updateBrowserDesc": { - "message": "Anda menggunakan browser web yang tidak didukung. Kubah web mungkin tidak berfungsi dengan baik." - }, - "joinOrganization": { - "message": "Bergabunglah dengan Organisasi" - }, - "joinOrganizationDesc": { - "message": "Anda telah diundang untuk bergabung dengan organisasi yang tercantum di atas. Untuk menerima undangan, Anda harus masuk atau membuat akun Bitwarden baru." - }, - "inviteAccepted": { - "message": "Undangan Diterima" - }, - "inviteAcceptedDesc": { - "message": "Anda dapat mengakses organisasi ini setelah administrator mengonfirmasi keanggotaan Anda. Kami akan mengirimi Anda email jika itu terjadi." - }, - "inviteAcceptFailed": { - "message": "Tidak dapat menerima undangan. Minta admin organisasi untuk mengirim undangan baru." - }, - "inviteAcceptFailedShort": { - "message": "Tidak dapat menerima undangan. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Ingat email" - }, - "recoverAccountTwoStepDesc": { - "message": "Jika Anda tidak dapat mengakses akun Anda melalui metode masuk dua langkah biasa, Anda dapat menggunakan kode pemulihan masuk dua langkah untuk menonaktifkan semua penyedia dua langkah di akun Anda." - }, - "recoverAccountTwoStep": { - "message": "Pulihkan Akun Dua Langkah Masuk" - }, - "twoStepRecoverDisabled": { - "message": "Proses masuk dua langkah telah dinonaktifkan di akun Anda." - }, - "learnMore": { - "message": "Pelajari lebih lanjut" - }, - "deleteRecoverDesc": { - "message": "Masukkan alamat email Anda di bawah ini untuk memulihkan dan menghapus akun Anda." - }, - "deleteRecoverEmailSent": { - "message": "Jika akun Anda ada, kami telah mengirimi Anda email dengan instruksi lebih lanjut." - }, - "deleteRecoverConfirmDesc": { - "message": "Anda telah meminta untuk menghapus akun Bitwarden Anda. Klik tombol di bawah untuk konfirmasi." - }, - "myOrganization": { - "message": "Organisasi Saya" - }, - "deleteOrganization": { - "message": "Hapus Organisasi" - }, - "deleteOrganizationDesc": { - "message": "Lanjutkan di bawah untuk menghapus organisasi ini dan semua data terkait. Akun pengguna individual akan tetap ada, meskipun mereka tidak akan dikaitkan lagi dengan organisasi ini. " - }, - "deleteOrganizationWarning": { - "message": "Menghapus organisasi bersifat permanen. Itu tidak bisa dibatalkan." - }, - "organizationDeleted": { - "message": "Organisasi Dihapus" - }, - "organizationDeletedDesc": { - "message": "Organisasi dan semua data terkait telah dihapus." - }, - "organizationUpdated": { - "message": "Organisasi diperbarui" - }, - "taxInformation": { - "message": "Informasi pajak" - }, - "taxInformationDesc": { - "message": "Untuk pelanggan di AS, kode pos diperlukan untuk memenuhi persyaratan pajak penjualan, untuk negara lain Anda dapat memberikan nomor identifikasi pajak (PPN / GST) dan / atau alamat secara opsional yang akan muncul di faktur Anda." - }, - "billingPlan": { - "message": "Paket", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Ubah Paket", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Tingkatkan akun Anda ke paket lain dengan memberikan informasi di bawah ini. Harap pastikan bahwa Anda memiliki metode pembayaran aktif yang ditambahkan ke akun.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Hubungi dukungan pelanggan jika Anda ingin mengubah paket Anda. Harap pastikan bahwa Anda memiliki metode pembayaran aktif yang ditambahkan ke akun.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Faktur #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "Lihat Faktur" - }, - "downloadInvoice": { - "message": "Mengunduh Faktur" - }, - "verifyBankAccount": { - "message": "Verifikasi Rekening Bank" - }, - "verifyBankAccountDesc": { - "message": "Kami telah melakukan dua setoran mikro ke rekening bank Anda (mungkin perlu 1-2 hari kerja untuk muncul). Masukkan jumlah ini untuk memverifikasi rekening bank." - }, - "verifyBankAccountInitialDesc": { - "message": "Pembayaran dengan rekening bank hanya tersedia untuk pelanggan di Amerika Serikat. Anda akan diminta untuk memverifikasi rekening bank Anda. Kami akan melakukan dua setoran mikro dalam 1-2 hari kerja ke depan. Masukkan jumlah ini di halaman penagihan organisasi untuk memverifikasi rekening bank." - }, - "verifyBankAccountFailureWarning": { - "message": "Kegagalan untuk memverifikasi rekening bank akan mengakibatkan pembayaran yang terlewat dan langganan Anda dinonaktifkan." - }, - "verifiedBankAccount": { - "message": "Rekening bank telah diverifikasi." - }, - "bankAccount": { - "message": "Akun bank" - }, - "amountX": { - "message": "Jumlah $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Nomor Perutean", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Nomor akun" - }, - "accountHolderName": { - "message": "Nama pemilik akun" - }, - "bankAccountType": { - "message": "Jenis akun" - }, - "bankAccountTypeCompany": { - "message": "Perusahaan (Bisnis)" - }, - "bankAccountTypeIndividual": { - "message": "Individu (Personal)" - }, - "enterInstallationId": { - "message": "Masukkan id instalasi Anda" - }, - "addSeats": { - "message": "Tambahkan Kursi", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Hapus Kursi", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Langganan Anda memungkinkan total $COUNT$ pengguna.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Kursi Untuk Ditambahkan" - }, - "seatsToRemove": { - "message": "Kursi Untuk Dihapus" - }, - "seatsAddNote": { - "message": "Menambahkan kursi pengguna akan menghasilkan penyesuaian pada total penagihan Anda dan segera menagih metode pembayaran Anda yang tercatat. Tagihan pertama akan diprorata untuk sisa siklus penagihan saat ini." - }, - "seatsRemoveNote": { - "message": "Menghapus kursi pengguna akan mengakibatkan penyesuaian pada total penagihan Anda yang akan dihitung secara prorata sebagai kredit untuk tagihan penagihan Anda berikutnya." - }, - "adjustedSeats": { - "message": "Menyesuaikan kursi pengguna $AMOUNT$.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Kunci Diperbarui" - }, - "updateKeyTitle": { - "message": "Perbarui Kunci" - }, - "updateEncryptionKey": { - "message": "Perbarui Kunci Enkripsi" - }, - "updateEncryptionKeyShortDesc": { - "message": "Anda saat ini menggunakan skema enkripsi yang sudah ketinggalan zaman." - }, - "updateEncryptionKeyDesc": { - "message": "Kami telah pindah ke kunci enkripsi yang lebih besar yang memberikan keamanan lebih baik dan akses ke fitur yang lebih baru. Memperbarui kunci enkripsi Anda dengan cepat dan mudah. Cukup ketikkan kata sandi utama Anda di bawah ini. Pembaruan ini pada akhirnya akan menjadi wajib." - }, - "updateEncryptionKeyWarning": { - "message": "Setelah memperbarui kunci enkripsi Anda, Anda diminta untuk keluar dan masuk kembali ke semua aplikasi Bitwarden yang saat ini Anda gunakan (seperti aplikasi seluler atau ekstensi browser). Kegagalan untuk keluar dan masuk kembali (yang mengunduh kunci enkripsi baru Anda) dapat menyebabkan kerusakan data. Kami akan mencoba mengeluarkan Anda secara otomatis, namun, hal itu mungkin tertunda." - }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." - }, - "subscription": { - "message": "Langganan" - }, - "loading": { - "message": "Memuat" - }, - "upgrade": { - "message": "Meningkatkan" - }, - "upgradeOrganization": { - "message": "Tingkatkan Organisasi" - }, - "upgradeOrganizationDesc": { - "message": "Fitur ini tidak tersedia untuk organisasi gratis. Beralih ke paket berbayar untuk membuka lebih banyak fitur." - }, - "createOrganizationStep1": { - "message": "Buat Organisasi: Langkah 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Sebelum membuat organisasi Anda, Anda harus terlebih dahulu membuat akun pribadi gratis." - }, - "refunded": { - "message": "Dikembalikan" - }, - "nothingSelected": { - "message": "Anda belum memilih apa pun." - }, - "acceptPolicies": { - "message": "Dengan mencentang kotak ini, anda menyetujui yang berikut:" - }, - "acceptPoliciesError": { - "message": "Persyaratan Layanan dan Kebijakan Privasi belum diakui." - }, - "termsOfService": { - "message": "Persyaratan Layanan" - }, - "privacyPolicy": { - "message": "Kebijakan Privasi" - }, - "filters": { - "message": "Filter" - }, - "vaultTimeout": { - "message": "Batas Waktu Brankas" - }, - "vaultTimeoutDesc": { - "message": "Pilih kapan vault Anda akan habis waktu dan melakukan tindakan yang dipilih." - }, - "oneMinute": { - "message": "1 menit" - }, - "fiveMinutes": { - "message": "5 menit" - }, - "fifteenMinutes": { - "message": "15 menit" - }, - "thirtyMinutes": { - "message": "30 menit" - }, - "oneHour": { - "message": "1 jam" - }, - "fourHours": { - "message": "4 jam" - }, - "onRefresh": { - "message": "Di Segarkan Browser" - }, - "dateUpdated": { - "message": "Di perbarui", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Kata Sandi Diperbarui", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "Organisasi dinonaktifkan." - }, - "licenseIsExpired": { - "message": "Lisensi sudah kadaluarsa." - }, - "updatedUsers": { - "message": "Pengguna yang diperbarui" - }, - "selected": { - "message": "Terpilih" - }, - "ownership": { - "message": "Kepemilikan" - }, - "whoOwnsThisItem": { - "message": "Siapa pemilik item ini?" - }, - "strong": { - "message": "Kuat", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Baik", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Lemah", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Sangat Lemah", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Kata Sandi Utama Lemah" - }, - "weakMasterPasswordDesc": { - "message": "Kata sandi utama yang Anda pilih lemah. Anda harus menggunakan kata sandi utama yang kuat (atau frasa sandi) untuk melindungi akun Bitwarden Anda dengan benar. Apakah Anda yakin ingin menggunakan kata sandi utama ini?" - }, - "rotateAccountEncKey": { - "message": "Juga rotasikan kunci enkripsi akun saya" - }, - "rotateEncKeyTitle": { - "message": "Putar Kunci Enkripsi" - }, - "rotateEncKeyConfirmation": { - "message": "Anda yakin ingin merotasi kunci enkripsi akun Anda?" - }, - "attachmentsNeedFix": { - "message": "Item ini memiliki lampiran file lama yang perlu diperbaiki." - }, - "attachmentFixDesc": { - "message": "Ini adalah lampiran file lama yang perlu diperbaiki. Klik untuk mempelajari lebih lanjut." - }, - "fix": { - "message": "Perbaiki", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "Ada lampiran file lama di lemari besi Anda yang perlu diperbaiki sebelum Anda dapat merotasi kunci enkripsi akun Anda." - }, - "yourAccountsFingerprint": { - "message": "Frase sidik jari akun Anda", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "Untuk memastikan integritas kunci enkripsi Anda, harap verifikasi frasa sidik jari pengguna sebelum melanjutkan.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Jangan tanya untuk memverifikasi frase sidik jari lagi", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Gratis", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "Kunci API" - }, - "apiKeyDesc": { - "message": "Kunci API Anda dapat digunakan untuk mengautentikasi ke API publik Bitwarden." - }, - "apiKeyRotateDesc": { - "message": "Memutar kunci API akan membuat kunci sebelumnya tidak valid. Anda dapat merotasi kunci API Anda jika Anda yakin bahwa kunci saat ini tidak lagi aman untuk digunakan." - }, - "apiKeyWarning": { - "message": "Kunci API Anda memiliki akses penuh ke organisasi. Itu harus dirahasiakan." - }, - "userApiKeyDesc": { - "message": "Kunci API Anda dapat digunakan untuk mengautentikasi di Bitwarden CLI." - }, - "userApiKeyWarning": { - "message": "Kunci API Anda adalah mekanisme otentikasi alternatif. Itu harus dirahasiakan." - }, - "oauth2ClientCredentials": { - "message": "Kredensial Klien OAuth 2.0", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "Lihat Kunci API" - }, - "rotateApiKey": { - "message": "Rotasi Kunci API" - }, - "selectOneCollection": { - "message": "Anda harus memilih setidaknya satu koleksi." - }, - "couldNotChargeCardPayInvoice": { - "message": "Kami tidak dapat menagih kartu Anda. Harap lihat dan bayar faktur yang belum dibayar yang tercantum di bawah." - }, - "inAppPurchase": { - "message": "Pembelian dalam Aplikasi" - }, - "cannotPerformInAppPurchase": { - "message": "Anda tidak dapat melakukan tindakan ini saat menggunakan metode pembayaran pembelian dalam aplikasi." - }, - "manageSubscriptionFromStore": { - "message": "Anda harus mengelola langganan Anda dari toko tempat pembelian dalam aplikasi Anda dilakukan." - }, - "minLength": { - "message": "Panjang Minimum" - }, - "clone": { - "message": "Klon" - }, - "masterPassPolicyDesc": { - "message": "Tetapkan persyaratan minimum untuk kekuatan kata sandi utama." - }, - "twoStepLoginPolicyDesc": { - "message": "Mewajibkan pengguna untuk mengatur login dua langkah di akun pribadi mereka." - }, - "twoStepLoginPolicyWarning": { - "message": "Anggota organisasi yang tidak mengaktifkan login dua langkah untuk akun pribadinya akan dihapus dari organisasi dan akan menerima email yang memberi tahu mereka tentang perubahan tersebut." - }, - "twoStepLoginPolicyUserWarning": { - "message": "Anda adalah anggota organisasi yang memerlukan login dua langkah untuk diaktifkan di akun pengguna Anda. Jika Anda menonaktifkan semua penyedia proses masuk dua langkah, Anda akan secara otomatis dihapus dari organisasi ini." - }, - "passwordGeneratorPolicyDesc": { - "message": "Tetapkan persyaratan minimum untuk konfigurasi pembuat kata sandi." - }, - "passwordGeneratorPolicyInEffect": { - "message": "Satu atau beberapa kebijakan organisasi memengaruhi pengaturan generator Anda." - }, - "masterPasswordPolicyInEffect": { - "message": "Satu atau lebih kebijakan organisasi memerlukan kata sandi utama Anda untuk memenuhi persyaratan berikut:" - }, - "policyInEffectMinComplexity": { - "message": "Skor kompleksitas minimum $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Panjang minimum $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Berisi satu atau lebih karakter huruf besar" - }, - "policyInEffectLowercase": { - "message": "Berisi satu atau lebih karakter huruf kecil" - }, - "policyInEffectNumbers": { - "message": "Berisi satu atau lebih angka" - }, - "policyInEffectSpecial": { - "message": "Berisi satu atau lebih karakter khusus berikut $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Kata sandi utama Anda yang baru tidak memenuhi persyaratan kebijakan." - }, - "minimumNumberOfWords": { - "message": "Jumlah Kata Minimum" - }, - "defaultType": { - "message": "Jenis Default" - }, - "userPreference": { - "message": "Preferensi Pengguna" - }, - "vaultTimeoutAction": { - "message": "Tindakan Batas Waktu Vault" - }, - "vaultTimeoutActionLockDesc": { - "message": "Kubah yang terkunci mengharuskan Anda memasukkan kembali kata sandi utama Anda untuk mengaksesnya lagi." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "Vault keluar mengharuskan Anda mengautentikasi ulang untuk mengaksesnya lagi." - }, - "lock": { - "message": "Mengunci", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Sampah", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Cari Sampah" - }, - "permanentlyDelete": { - "message": "Hapus Secara Permanen" - }, - "permanentlyDeleteSelected": { - "message": "Hapus yang Dipilih Secara Permanen" - }, - "permanentlyDeleteItem": { - "message": "Hapus Item Secara Permanen" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Apakah Anda yakin ingin menghapus item ini secara permanen?" - }, - "permanentlyDeletedItem": { - "message": "Item yang Dihapus Secara Permanen" - }, - "permanentlyDeletedItems": { - "message": "Item yang Dihapus Secara Permanen" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "Anda telah memilih $COUNT$ item untuk dihapus secara permanen. Anda yakin ingin menghapus semua item ini secara permanen?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Item yang dihapus secara permanen $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Mengembalikan" - }, - "restoreSelected": { - "message": "Pulihkan yang Dipilih" - }, - "restoreItem": { - "message": "Pulihkan Item" - }, - "restoredItem": { - "message": "Item yang Dipulihkan" - }, - "restoredItems": { - "message": "Item yang Dipulihkan" - }, - "restoreItemConfirmation": { - "message": "Apakah Anda yakin ingin memulihkan item ini?" - }, - "restoreItems": { - "message": "Pulihkan Item" - }, - "restoreSelectedItemsDesc": { - "message": "Anda telah memilih $COUNT$ item untuk dipulihkan. Anda yakin ingin memulihkan semua item ini?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Item yang dipulihkan $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Keluar akan menghapus semua akses ke lemari besi Anda dan memerlukan otentikasi online setelah periode batas waktu. Anda yakin ingin menggunakan pengaturan ini?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Konfirmasi Tindakan Timeout" - }, - "hidePasswords": { - "message": "Sembunyikan Kata Sandi" - }, - "countryPostalCodeRequiredDesc": { - "message": "Kami memerlukan informasi ini untuk menghitung pajak penjualan dan pelaporan keuangan saja." - }, - "includeVAT": { - "message": "Sertakan Informasi VAT / GST (opsional)" - }, - "taxIdNumber": { - "message": "Nomor Pajak VAT / GST" - }, - "taxInfoUpdated": { - "message": "Informasi pajak diperbarui." - }, - "setMasterPassword": { - "message": "Atur Kata Sandi Utama" - }, - "ssoCompleteRegistration": { - "message": "Untuk menyelesaikan masuk dengan SSO, harap setel kata sandi utama untuk mengakses dan melindungi brankas Anda." - }, - "identifier": { - "message": "Pengenal" - }, - "organizationIdentifier": { - "message": "Pengenal Organisasi" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Masuk menggunakan portal sistem masuk tunggal organisasi Anda. Harap masukkan pengenal organisasi Anda untuk memulai." - }, - "enterpriseSingleSignOn": { - "message": "Sistem Masuk Tunggal Perusahaan" - }, - "ssoHandOff": { - "message": "Sekarang anda dapat menutup tab ini dan melanjutkan ekstensi." - }, - "businessPortal": { - "message": "Portal Bisnis", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "Semua fitur Teams, plus:" - }, - "includeSsoAuthentication": { - "message": "Autentikasi SSO melalui SAML2.0 dan OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Kebijakan Perusahaan" - }, - "ssoValidationFailed": { - "message": "Validasi SSO Gagal" - }, - "ssoIdentifierRequired": { - "message": "Pengenal Organisasi wajib diisi." - }, - "unlinkSso": { - "message": "Batalkan tautan SSO" - }, - "linkSso": { - "message": "Tautkan SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "Konfigurasi kebijakan telah dipindahkan, dan halaman ini akan segera tidak digunakan lagi. Silakan klik di bawah ini untuk menggunakan halaman kebijakan Portal Bisnis." - }, - "singleOrg": { - "message": "Organisasi Tunggal" - }, - "singleOrgDesc": { - "message": "Batasi pengguna untuk dapat bergabung dengan organisasi lain." - }, - "singleOrgBlockCreateMessage": { - "message": "Organisasi Anda saat ini memiliki kebijakan yang tidak mengizinkan Anda untuk bergabung dengan lebih dari satu organisasi. Silakan hubungi admin organisasi Anda atau daftar dari akun Bitwarden yang berbeda." - }, - "singleOrgPolicyWarning": { - "message": "Anggota organisasi yang bukan Pemilik atau Administrator dan sudah menjadi anggota organisasi lain akan dihapus dari organisasi Anda." - }, - "requireSso": { - "message": "Autentikasi Sistem Masuk Tunggal" - }, - "requireSsoPolicyDesc": { - "message": "Wajibkan pengguna untuk masuk dengan metode Sistem Masuk Tunggal Perusahaan." - }, - "prerequisite": { - "message": "Prasyarat" - }, - "requireSsoPolicyReq": { - "message": "Kebijakan perusahaan Organisasi Tunggal harus diaktifkan sebelum mengaktifkan kebijakan ini." - }, - "requireSsoPolicyReqError": { - "message": "Kebijakan Organisasi Tunggal tidak diaktifkan." - }, - "requireSsoExemption": { - "message": "Pemilik dan Administrator Organisasi dibebaskan dari penegakan kebijakan ini." - }, - "sendTypeFile": { - "message": "Berkas" - }, - "sendTypeText": { - "message": "Teks" - }, - "createSend": { - "message": "Buat Pengiriman Baru", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Edit Kirim", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Dibuat Kirim", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Pengiriman diedit", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Kirim Dihapus", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Hapus Kirim", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Anda yakin ingin menghapus Kirim ini?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "Jenis Pengiriman apakah ini?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Tanggal Penghapusan" - }, - "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Tanggal habis tempo" - }, - "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Hitungan Akses Maksimum" - }, - "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Hitungan Akses Saat Ini" - }, - "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Private notes about this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Dinonaktifkan" - }, - "sendLink": { - "message": "Kirim Tautan", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Salin Kirim Tautan", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Hapus Kata Sandi" - }, - "removedPassword": { - "message": "Kata Sandi yang Dihapus" - }, - "removePasswordConfirmation": { - "message": "Anda yakin ingin menghapus kata sandi?" - }, - "disableThisSend": { - "message": "Disable this Send so that no one can access it.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "Semua Dikirim" - }, - "maxAccessCountReached": { - "message": "Max access count reached" - }, - "pendingDeletion": { - "message": "Pending deletion" - }, - "expired": { - "message": "Expired" - }, - "searchSends": { - "message": "Pencarian Mengirim", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "Pengiriman ini dilindungi dengan kata sandi. Silakan ketikkan kata sandi di bawah ini untuk melanjutkan.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Tidak tahu kata sandinya? Minta sandi yang dibutuhkan Pengirim untuk mengakses Kirim ini.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "Pengiriman ini disembunyikan secara default. Anda dapat mengubah visibilitasnya menggunakan tombol di bawah ini.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Unduh berkas" - }, - "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "Tidak ada Kiriman ke daftar.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Emergency Access" - }, - "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." - }, - "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" - }, - "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." - }, - "addEmergencyContact": { - "message": "Add emergency contact" - }, - "designatedEmergencyContacts": { - "message": "Designated as emergency contact" - }, - "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." - }, - "inviteEmergencyContact": { - "message": "Invite emergency contact" - }, - "editEmergencyContact": { - "message": "Edit emergency contact" - }, - "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" - }, - "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" - }, - "viewDesc": { - "message": "Can view all items in your own vault." - }, - "takeover": { - "message": "Takeover" - }, - "takeoverDesc": { - "message": "Can reset your account with a new master password." - }, - "waitTime": { - "message": "Wait Time" - }, - "waitTimeDesc": { - "message": "Time required before automatically granting access." - }, - "oneDay": { - "message": "1 day" - }, - "days": { - "message": "$DAYS$ days", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Invited user." - }, - "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." - }, - "requestAccess": { - "message": "Request Access" - }, - "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Approve" - }, - "reject": { - "message": "Reject" - }, - "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Emergency access approved." - }, - "emergencyRejected": { - "message": "Emergency access rejected" - }, - "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Personal Ownership" - }, - "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." - }, - "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." - }, - "modifiedPolicyId": { - "message": "Modified policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Plan price" - }, - "estimatedTax": { - "message": "Estimated tax" - }, - "custom": { - "message": "Custom" - }, - "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." - }, - "permissions": { - "message": "Permissions" - }, - "accessBusinessPortal": { - "message": "Access Business Portal" - }, - "accessEventLogs": { - "message": "Access Event Logs" - }, - "accessImportExport": { - "message": "Access Import/Export" - }, - "accessReports": { - "message": "Access Reports" - }, - "manageAllCollections": { - "message": "Manage All Collections" - }, - "manageAssignedCollections": { - "message": "Manage Assigned Collections" - }, - "manageGroups": { - "message": "Manage Groups" - }, - "managePolicies": { - "message": "Manage Policies" - }, - "manageSso": { - "message": "Manage SSO" - }, - "manageUsers": { - "message": "Manage Users" - }, - "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." - }, - "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." - }, - "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" - }, - "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/it/messages.json b/locales/it/messages.json deleted file mode 100644 index e23d242d..00000000 --- a/locales/it/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$ Cassaforte Web", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "Di quale elemento si tratta?" - }, - "name": { - "message": "Nome" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "Nuovo URI" - }, - "username": { - "message": "Nome Utente" - }, - "password": { - "message": "Password" - }, - "newPassword": { - "message": "Nuova Password" - }, - "passphrase": { - "message": "Frase segreta" - }, - "notes": { - "message": "Note" - }, - "customFields": { - "message": "Campi Personalizzati" - }, - "cardholderName": { - "message": "Titolare della Carta" - }, - "number": { - "message": "Numero" - }, - "brand": { - "message": "Marca" - }, - "expiration": { - "message": "Scadenza" - }, - "securityCode": { - "message": "Codice di sicurezza (CVV)" - }, - "identityName": { - "message": "Nome dell'identità" - }, - "company": { - "message": "Azienda" - }, - "ssn": { - "message": "Codice fiscale" - }, - "passportNumber": { - "message": "Numero del passaporto" - }, - "licenseNumber": { - "message": "Numero patente" - }, - "email": { - "message": "Email" - }, - "phone": { - "message": "Telefono" - }, - "january": { - "message": "Gennaio" - }, - "february": { - "message": "Febbraio" - }, - "march": { - "message": "Marzo" - }, - "april": { - "message": "Aprile" - }, - "may": { - "message": "Maggio" - }, - "june": { - "message": "Giugno" - }, - "july": { - "message": "Luglio" - }, - "august": { - "message": "Agosto" - }, - "september": { - "message": "Settembre" - }, - "october": { - "message": "Ottobre" - }, - "november": { - "message": "Novembre" - }, - "december": { - "message": "Dicembre" - }, - "title": { - "message": "Titolo" - }, - "mr": { - "message": "Sig" - }, - "mrs": { - "message": "Sig.ra" - }, - "ms": { - "message": "Sig.na" - }, - "dr": { - "message": "Dottore" - }, - "expirationMonth": { - "message": "Mese di scadenza" - }, - "expirationYear": { - "message": "Anno di scadenza" - }, - "authenticatorKeyTotp": { - "message": "Chiave di Autenticazione (TOTP)" - }, - "folder": { - "message": "Cartella" - }, - "newCustomField": { - "message": "Nuovo campo personalizzato" - }, - "value": { - "message": "Valore" - }, - "dragToSort": { - "message": "Trascina per ordinare" - }, - "cfTypeText": { - "message": "Testo" - }, - "cfTypeHidden": { - "message": "Nascosto" - }, - "cfTypeBoolean": { - "message": "Booleano" - }, - "remove": { - "message": "Rimuovi" - }, - "unassigned": { - "message": "Non assegnato" - }, - "noneFolder": { - "message": "Nessuna cartella", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Aggiungi cartella" - }, - "editFolder": { - "message": "Modifica cartella" - }, - "baseDomain": { - "message": "Dominio di base" - }, - "host": { - "message": "Host", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Esatto" - }, - "startsWith": { - "message": "Inizia con" - }, - "regEx": { - "message": "Espressione regolare", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Rilevamento di corrispondenza", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Rilevamento di corrispondenza predefinito", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Mai" - }, - "toggleVisibility": { - "message": "Mostra / nascondi" - }, - "toggleCollapse": { - "message": "Comprimi / espandi", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Genera password" - }, - "checkPassword": { - "message": "Verifica se la password è stata esposta." - }, - "passwordExposed": { - "message": "Questa password è stata esposta $VALUE$ volta(e) in dati violati. Dovresti cambiarla.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "Questa password non è stata trovata in dati violati noti. Dovrebbe essere sicura da usare." - }, - "save": { - "message": "Salva" - }, - "cancel": { - "message": "Annulla" - }, - "canceled": { - "message": "Annullato" - }, - "close": { - "message": "Chiudi" - }, - "delete": { - "message": "Elimina" - }, - "favorite": { - "message": "Preferito" - }, - "unfavorite": { - "message": "Rimuovi dai preferiti" - }, - "edit": { - "message": "Modifica" - }, - "searchCollection": { - "message": "Cerca nella raccolta" - }, - "searchFolder": { - "message": "Cerca nella cartella" - }, - "searchFavorites": { - "message": "Cerca tra i preferiti" - }, - "searchType": { - "message": "Cerca in questo tipo", - "description": "Search item type" - }, - "searchVault": { - "message": "Cerca nella cassaforte" - }, - "allItems": { - "message": "Tutti gli Elementi" - }, - "favorites": { - "message": "Preferiti" - }, - "types": { - "message": "Tipi" - }, - "typeLogin": { - "message": "Accesso" - }, - "typeCard": { - "message": "Carta" - }, - "typeIdentity": { - "message": "Identità" - }, - "typeSecureNote": { - "message": "Nota sicura" - }, - "folders": { - "message": "Cartelle" - }, - "collections": { - "message": "Collezioni" - }, - "firstName": { - "message": "Nome" - }, - "middleName": { - "message": "Secondo Nome" - }, - "lastName": { - "message": "Cognome" - }, - "address1": { - "message": "Indirizzo 1" - }, - "address2": { - "message": "Indirizzo 2" - }, - "address3": { - "message": "Indirizzo 3" - }, - "cityTown": { - "message": "Comune" - }, - "stateProvince": { - "message": "Provincia" - }, - "zipPostalCode": { - "message": "CAP" - }, - "country": { - "message": "Nazione" - }, - "shared": { - "message": "Condiviso" - }, - "attachments": { - "message": "Allegati" - }, - "select": { - "message": "Seleziona" - }, - "addItem": { - "message": "Aggiungi Elemento" - }, - "editItem": { - "message": "Modifica Elemento" - }, - "viewItem": { - "message": "Visualizza elemento" - }, - "ex": { - "message": "es.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Altro" - }, - "share": { - "message": "Condividi" - }, - "valueCopied": { - "message": "$VALUE$ copiato", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Copia valore", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Copia password", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Copia nome utente", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Copia numero", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Copia codice di sicurezza", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Copia URI", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "Cassaforte" - }, - "vault": { - "message": "Cassaforte" - }, - "shareSelected": { - "message": "Condividi selezionati" - }, - "deleteSelected": { - "message": "Elimina selezionati" - }, - "moveSelected": { - "message": "Sposta Selezionati" - }, - "selectAll": { - "message": "Seleziona tutto" - }, - "unselectAll": { - "message": "Deseleziona tutto" - }, - "launch": { - "message": "Avvia" - }, - "newAttachment": { - "message": "Aggiungi allegato" - }, - "deletedAttachment": { - "message": "Elimina Allegato" - }, - "deleteAttachmentConfirmation": { - "message": "Sei sicuro di voler eliminare questo allegato?" - }, - "attachmentSaved": { - "message": "L'allegato è stato salvato." - }, - "file": { - "message": "File" - }, - "selectFile": { - "message": "Seleziona un file." - }, - "maxFileSize": { - "message": "La dimensione massima del file è di 100 MB." - }, - "updateKey": { - "message": "Non puoi utilizzare questa funzione finché non aggiorni la tua chiave crittografica." - }, - "addedItem": { - "message": "Elemento aggiunto" - }, - "editedItem": { - "message": "Elemento modificato" - }, - "sharedItem": { - "message": "Elemento condiviso" - }, - "sharedItems": { - "message": "Elementi condivisi" - }, - "deleteItem": { - "message": "Elimina elemento" - }, - "deleteFolder": { - "message": "Elimina cartella" - }, - "deleteAttachment": { - "message": "Elimina allegato" - }, - "deleteItemConfirmation": { - "message": "Sei sicuro di voler eliminare questo elemento?" - }, - "deletedItem": { - "message": "Elemento eliminato" - }, - "deletedItems": { - "message": "Elementi eliminati" - }, - "movedItems": { - "message": "Elementi spostati" - }, - "overwritePasswordConfirmation": { - "message": "Sei sicuro di voler sovrascrivere la password corrente?" - }, - "editedFolder": { - "message": "Cartella modificata" - }, - "addedFolder": { - "message": "Cartella aggiunta" - }, - "deleteFolderConfirmation": { - "message": "Sei sicuro di voler eliminare questa cartella?" - }, - "deletedFolder": { - "message": "Cartella eliminata" - }, - "loggedOut": { - "message": "Disconnesso" - }, - "loginExpired": { - "message": "La tua sessione è scaduta." - }, - "logOutConfirmation": { - "message": "Sei sicuro di volerti disconnettere?" - }, - "logOut": { - "message": "Disconnetti" - }, - "ok": { - "message": "Ok" - }, - "yes": { - "message": "Sì" - }, - "no": { - "message": "No" - }, - "loginOrCreateNewAccount": { - "message": "Accedi in o crea un nuovo account per accedere alla tua cassaforte." - }, - "createAccount": { - "message": "Crea Account" - }, - "logIn": { - "message": "Accedi" - }, - "submit": { - "message": "Invia" - }, - "emailAddressDesc": { - "message": "Utilizzerai il tuo indirizzo email per accedere." - }, - "yourName": { - "message": "Il tuo nome" - }, - "yourNameDesc": { - "message": "Come dovremmo chiamarti?" - }, - "masterPass": { - "message": "Password Principale" - }, - "masterPassDesc": { - "message": "La password principale è la password che utilizzi per accedere alla tua cassaforte. È molto importante che tu non la dimentichi. Non c'è modo di recuperare questa password nel caso che tu la dimenticassi." - }, - "masterPassHintDesc": { - "message": "Un suggerimento che può aiutarti a ricordare la tua password principale se la dimentichi." - }, - "reTypeMasterPass": { - "message": "Ri-digita la Password Principale" - }, - "masterPassHint": { - "message": "Suggerimento per la password principale (facoltativo)" - }, - "masterPassHintLabel": { - "message": "Suggerimento per la password principale" - }, - "settings": { - "message": "Impostazioni" - }, - "passwordHint": { - "message": "Suggerimento password" - }, - "enterEmailToGetHint": { - "message": "Inserisci l'indirizzo email del tuo account per ricevere il suggerimento della password principale." - }, - "getMasterPasswordHint": { - "message": "Ottieni il suggerimento per la password principale" - }, - "emailRequired": { - "message": "L'indirizzo email è obbligatorio." - }, - "invalidEmail": { - "message": "L'indirizzo email non è valido." - }, - "masterPassRequired": { - "message": "La password principale è obbligatoria." - }, - "masterPassLength": { - "message": "La password principale deve essere almeno di 8 caratteri." - }, - "masterPassDoesntMatch": { - "message": "La conferma della password principale non corrisponde." - }, - "newAccountCreated": { - "message": "Il tuo nuovo account è stato creato! Ora puoi accedere." - }, - "masterPassSent": { - "message": "Ti abbiamo inviato un'email con il tuo suggerimento per la password principale." - }, - "unexpectedError": { - "message": "Si è verificato un errore imprevisto." - }, - "emailAddress": { - "message": "Indirizzo e-mail" - }, - "yourVaultIsLocked": { - "message": "La tua cassaforte è bloccata. Verifica la tua password principale per continuare." - }, - "unlock": { - "message": "Sblocca" - }, - "loggedInAsEmailOn": { - "message": "Accesso effettuato come $EMAIL$ su $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Password principale errata" - }, - "lockNow": { - "message": "Blocca" - }, - "noItemsInList": { - "message": "Non ci sono elementi da mostrare." - }, - "noCollectionsInList": { - "message": "Nessuna collezione da visualizzare." - }, - "noGroupsInList": { - "message": "Non ci sono gruppi da mostrare." - }, - "noUsersInList": { - "message": "Non ci sono utenti da visualizzare." - }, - "noEventsInList": { - "message": "Non ci sono eventi da visualizzare." - }, - "newOrganization": { - "message": "Crea organizzazione" - }, - "noOrganizationsList": { - "message": "Tu non appartieni ad alcuna organizzazione. Le organizzazioni ti consentono di condividere oggetti in modo sicuro con altri utenti." - }, - "versionNumber": { - "message": "Versione $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Inserisci il codice di verifica a 6 cifre dalla tua applicazione di autenticazione." - }, - "enterVerificationCodeEmail": { - "message": "Inserisci il codice di verifica a 6 cifre che è stato inviato all'indirizzo $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "L'email di verifica è stata inviata all'indirizzo $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Ricordami" - }, - "sendVerificationCodeEmailAgain": { - "message": "Invia nuovamente codice di verifica email" - }, - "useAnotherTwoStepMethod": { - "message": "Usa un altro metodo di verifica in due passaggi" - }, - "insertYubiKey": { - "message": "Inserisci la tua YubiKey nella porta USB del computer, poi premi il suo bottone." - }, - "insertU2f": { - "message": "Inserisci la tua security key nella porta USB del tuo computer. Se dispone di un pulsante, premilo." - }, - "loginUnavailable": { - "message": "Login non disponibile" - }, - "noTwoStepProviders": { - "message": "La verifica in due passaggi è abilitata su questo account, ma nessuno dei metodi configurati è supportato da questo browser." - }, - "noTwoStepProviders2": { - "message": "Utilizza un browser supportato (come Chrome) e/o aggiungi altri metodi per la verifica in due passaggi che sono supportati meglio dai browser (come un'applicazione di autenticazione)." - }, - "twoStepOptions": { - "message": "Opzioni di verifica in due passaggi" - }, - "recoveryCodeDesc": { - "message": "Hai perso l'accesso a tutti i tuoi metodi di verifica in due passaggi? Usa il tuo codice di recupero per disattivare tutti i metodi di verifica sul tuo account." - }, - "recoveryCodeTitle": { - "message": "Codice di Recupero" - }, - "authenticatorAppTitle": { - "message": "App di autenticazione" - }, - "authenticatorAppDesc": { - "message": "Usa un'applicazione di autenticazione (come Authy o Google Authenticator) per generare codici di verifica a tempo.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "Chiave di Sicurezza YubiKey OTP" - }, - "yubiKeyDesc": { - "message": "Utilizzate una YubiKey per accedere al vostro conto. Funziona con dispositivi YubiKey serie 4, serie 5 e NEO." - }, - "duoDesc": { - "message": "Verifica con Duo Security usando l'applicazione Duo Mobile, SMS, chiamata telefonica, o chiave di sicurezza U2F.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Verifica con Duo Security per la tua organizzazione usando l'applicazione Duo Mobile, SMS, chiamata telefonica, o chiave di sicurezza U2F.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Usa una chiave di sicurezza compatibile con FIDO U2F per accedere al tuo account." - }, - "u2fTitle": { - "message": "Security key FIDO U2F" - }, - "emailTitle": { - "message": "Email" - }, - "emailDesc": { - "message": "I codici di verifica ti saranno inviati per email." - }, - "continue": { - "message": "Continua" - }, - "organization": { - "message": "Organizzazione" - }, - "organizations": { - "message": "Organizzazioni" - }, - "shareDesc": { - "message": "Scegli un'organizzazione con cui desideri condividere questo elemento. La condivisione ne trasferisce la proprietà all'organizzazione. Non sarai più il proprietario diretto di questo elemento una volta condiviso." - }, - "shareManyDesc": { - "message": "Scegli un'organizzazione con cui desideri condividere questi elementi. La condivisione ne trasferisce la proprietà all'organizzazione. Non sarai più il proprietario diretto di questi elementi una volta condivisi." - }, - "collectionsDesc": { - "message": "Modifica le raccolte con le quali questo elemento viene condiviso. Solo gli utenti di organizzazioni che hanno accesso a queste collezioni saranno in grado di visualizzare questo elemento." - }, - "deleteSelectedItemsDesc": { - "message": "La selezione comprende $COUNT$ elemento/i da eliminare. Sei sicuro di voler procedere con l'eliminazione?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "La selezione comprende $COUNT$ elemento/i da spostare. Scegli una cartella di destinazione.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "Hai selezionato $COUNT$ elemento(i). $SHAREABLE_COUNT$ elementi sono condivisibili, $NONSHAREABLE_COUNT$ non lo sono.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Codice di Verifica (TOTP)" - }, - "copyVerificationCode": { - "message": "Copia il codice di verifica" - }, - "warning": { - "message": "Attenzione" - }, - "confirmVaultExport": { - "message": "Conferma esportazione della Cassaforte" - }, - "exportWarningDesc": { - "message": "Questa esportazione contiene i dati della cassaforte in un formato non criptato. Non archiviare o inviare il file esportato su canali non protetti (come la posta elettronica). Eliminalo immediatamente dopo aver finito di usarlo." - }, - "encExportWarningDesc": { - "message": "Questa esportazione cifra i tuoi dati utilizzando la chiave di crittografia del tuo account. Se cambi la chiave di crittografia del tuo account, non sarai più in grado di decifrare il file esportato e sarà necessario eseguire nuovo export." - }, - "exportMasterPassword": { - "message": "Inserisci la tua password principale per esportare i dati della tua cassaforte." - }, - "exportVault": { - "message": "Esporta Cassaforte" - }, - "fileFormat": { - "message": "Formato file" - }, - "exportSuccess": { - "message": "I dati della tua cassaforte sono stati esportati." - }, - "passwordGenerator": { - "message": "Generatore di password" - }, - "minComplexityScore": { - "message": "Punteggio minimo di complessità" - }, - "minNumbers": { - "message": "Minimo di Numeri" - }, - "minSpecial": { - "message": "Minimo di Speciali", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Evita Caratteri Ambigui" - }, - "regeneratePassword": { - "message": "Rigenera password" - }, - "length": { - "message": "Lunghezza" - }, - "numWords": { - "message": "Numero di parole" - }, - "wordSeparator": { - "message": "Separatore parole" - }, - "capitalize": { - "message": "Rendi maiuscolo", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Includi numero" - }, - "passwordHistory": { - "message": "Cronologia delle password" - }, - "noPasswordsInList": { - "message": "Non ci sono password da mostrare." - }, - "clear": { - "message": "Elimina", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Account aggiornato" - }, - "changeEmail": { - "message": "Cambia indirizzo Email" - }, - "newEmail": { - "message": "Nuova Email" - }, - "code": { - "message": "Codice" - }, - "changeEmailDesc": { - "message": "Abbiamo inviato un codice di verifica all'indirizzo $EMAIL$. Per favore controlla la tua email ed inserisci il codice qui sotto per confermare la modifica al tuo indirizzo email.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Procedendo sarai disconnesso dalla sessione corrente, sarà necessario autenticarsi nuovamente. Le sessioni attive su altri dispositivi potrebbero rimanere attive per un massimo di un'ora." - }, - "emailChanged": { - "message": "Email modificata" - }, - "logBackIn": { - "message": "Per favore accedi nuovamente." - }, - "logBackInOthersToo": { - "message": "Per favore accedi nuovamente. Se ci sono altre sessioni di Bitwarden attive, ripeti l'accesso anche su quei dispositivi." - }, - "changeMasterPassword": { - "message": "Cambia Password Principale" - }, - "masterPasswordChanged": { - "message": "Password Principale Cambiata" - }, - "currentMasterPass": { - "message": "Password Principale Attuale" - }, - "newMasterPass": { - "message": "Nuova Password Principale" - }, - "confirmNewMasterPass": { - "message": "Conferma Nuova Password Principale" - }, - "encKeySettings": { - "message": "Impostazioni chiave di crittografia" - }, - "kdfAlgorithm": { - "message": "Algoritmo KDF" - }, - "kdfIterations": { - "message": "Iterazioni KDF" - }, - "kdfIterationsDesc": { - "message": "Le iterazioni KDF più elevate possono aiutare a proteggere la tua password master dall'essere forzata da un utente malintenzionato. Consigliamo un valore di $VALUE$ o più.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "L'impostazione delle iterazioni KDF troppo elevata potrebbe comportare prestazioni scadenti durante l'accesso (e lo sblocco) di Bitwarden su dispositivi con CPU lente. Ti consigliamo di aumentare il valore in incrementi di $INCREMENT$ e poi testare tutti i tuoi dispositivi.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Cambia KDF" - }, - "encKeySettingsChanged": { - "message": "Impostazioni chiave di crittografia modificate" - }, - "dangerZone": { - "message": "Zona Pericolosa" - }, - "dangerZoneDesc": { - "message": "Attento, queste azioni non sono reversibili!" - }, - "deauthorizeSessions": { - "message": "Annulla Autorizzazione Sessioni" - }, - "deauthorizeSessionsDesc": { - "message": "Preoccupato che il tuo account sia connesso su un altro dispositivo? Procedere di seguito per rimuovere l'autorizzazione a tutti i computer o dispositivi precedentemente utilizzati. Questo passaggio di sicurezza è consigliato se in precedenza hai utilizzato un PC pubblico o hai salvato per errore la tua password su un dispositivo che non è tuo. Questo passaggio cancellerà anche tutte le sessioni di verifica in due passaggi precedentemente salvate." - }, - "deauthorizeSessionsWarning": { - "message": "La procedura ti consentirà inoltre di disconnetterti dalla sessione corrente, richiedendoti di accedere di nuovo. Se abilitato, ti verrà richiesta nuovamente la verifica in due passaggi. Le sessioni attive su altri dispositivi possono continuare a rimanere attive per un massimo di un'ora." - }, - "sessionsDeauthorized": { - "message": "Tutte le sessioni sono state annullate" - }, - "purgeVault": { - "message": "Svuota Cassaforte" - }, - "purgedOrganizationVault": { - "message": "Purifica il caveau dell'organizzazione." - }, - "purgeVaultDesc": { - "message": "Procedi in basso per eliminare tutti gli elementi e le cartelle nel Vault. Gli elementi che appartengono a un'organizzazione con cui condividi non verranno eliminati." - }, - "purgeOrgVaultDesc": { - "message": "Procedi sotto per eliminare tutti gli elementi nel caveau dell'organizzazione." - }, - "purgeVaultWarning": { - "message": "Svuotare la tua cassaforte è permanente. Questa azione non è reversibile." - }, - "vaultPurged": { - "message": "La tua cassaforte è stata svuotata." - }, - "deleteAccount": { - "message": "Elimina Account" - }, - "deleteAccountDesc": { - "message": "Procedi qui sotto per eliminare il tuo account e tutti i dati ad esso associati." - }, - "deleteAccountWarning": { - "message": "L'eliminazione dell'account è permanente. Questa azione non è reversibile." - }, - "accountDeleted": { - "message": "Account eliminato" - }, - "accountDeletedDesc": { - "message": "Il tuo account è stato eliminato e tutti i dati associati sono stati rimossi." - }, - "myAccount": { - "message": "Il mio Account" - }, - "tools": { - "message": "Strumenti" - }, - "importData": { - "message": "Importa dati" - }, - "importSuccess": { - "message": "I dati sono stati importati con successo nella tua cassaforte." - }, - "importFormatError": { - "message": "I dati non sono formattati correttamente. Si prega di ricontrollare il file da importare." - }, - "importNothingError": { - "message": "Non è stato importato nulla." - }, - "selectFormat": { - "message": "Seleziona il formato del file da importare" - }, - "selectImportFile": { - "message": "Seleziona il file da importare" - }, - "orCopyPasteFileContents": { - "message": "oppure copia e incolla il contenuto del file da importare" - }, - "instructionsFor": { - "message": "Istruzioni per $NAME$", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Opzioni" - }, - "optionsDesc": { - "message": "Personalizza l'esperienza della tua cassaforte web." - }, - "optionsUpdated": { - "message": "Opzioni aggiornate" - }, - "language": { - "message": "Lingua" - }, - "languageDesc": { - "message": "Cambia la lingua utilizzata dalla cassaforte web." - }, - "disableIcons": { - "message": "Disabilita icone dei siti web" - }, - "disableIconsDesc": { - "message": "Le icone dei siti web forniscono un'immagine riconoscibile accanto ad ogni elemento di login." - }, - "enableGravatars": { - "message": "Abilita Gravatar", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Usa immagine profilo caricata da gravatar.com." - }, - "enableFullWidth": { - "message": "Abilita Layout a Larghezza Piena", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Consentire al web vault di sfruttare tutta la larghezza della finestra del browser." - }, - "default": { - "message": "Predefinito" - }, - "domainRules": { - "message": "Regole dei domini" - }, - "domainRulesDesc": { - "message": "Se utilizzi le stesse credenziali per accedere a servizi ospitati su domini diversi, puoi contrassegnare quei domini come \"equivalenti\". I domini \"globali\" sono già stati definiti da Bitwarden per te." - }, - "globalEqDomains": { - "message": "Domini globali equivalenti" - }, - "customEqDomains": { - "message": "Domini personalizzati equivalenti" - }, - "exclude": { - "message": "Escludi" - }, - "include": { - "message": "Includi" - }, - "customize": { - "message": "Personalizza" - }, - "newCustomDomain": { - "message": "Nuovo dominio personalizzato" - }, - "newCustomDomainDesc": { - "message": "Inserisci una lista di domini separati da virgola. Sono permessi solo domini \"base\". Non inserire sottodomini. Per esempio, inserisci \"google.com\" invece di \"www.google.com\". Puoi inserire anche \"androidapp://package.name\" per associare un'applicazione android con altri domini." - }, - "customDomainX": { - "message": "Dominio personalizzato $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Domini aggiornati" - }, - "twoStepLogin": { - "message": "Verifica in due passaggi" - }, - "twoStepLoginDesc": { - "message": "Proteggi il tuo account richiedendo un passaggio aggiuntivo all'accesso." - }, - "twoStepLoginOrganizationDesc": { - "message": "Richiedi la verifica in due passaggi per gli utenti della tua organizzazione configurando dei metodi a livello di organizzazione." - }, - "twoStepLoginRecoveryWarning": { - "message": "Con la verifica in due passaggi potresti bloccare permanentemente il tuo account di Bitwarden. Un codice di recupero ti permette di accedere al tuo account nel caso in cui non fossi più in grado di utilizzare il tuo solito metodo di verifica (ad esempio se perdi il tuo telefono). L'assistenza di Bitwarden non sarà in grado di aiutarti qualora dovessi perdere l'accesso al tuo account. Ti raccomandiamo di scrivere o stampare il tuo codice di recupero e di conservarlo in un luogo sicuro." - }, - "viewRecoveryCode": { - "message": "Mostra il codice di recupero" - }, - "providers": { - "message": "Metodi", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Abilita" - }, - "enabled": { - "message": "Abilitato" - }, - "premium": { - "message": "Premium", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Abbonamento Premium" - }, - "premiumRequired": { - "message": "Abbonamento Premium Richiesto" - }, - "premiumRequiredDesc": { - "message": "Un abbonamento premium è richiesto per utilizzare questa funzionalità." - }, - "youHavePremiumAccess": { - "message": "Hai accesso premium" - }, - "alreadyPremiumFromOrg": { - "message": "Hai già accesso alle funzioni premium a causa di un'organizzazione di cui sei membro." - }, - "manage": { - "message": "Gestisci" - }, - "disable": { - "message": "Disabilita" - }, - "twoStepLoginProviderEnabled": { - "message": "Questo metodo di verifica in due passaggi è abilitato sul tuo account." - }, - "twoStepLoginAuthDesc": { - "message": "Inserisci la password principale per modificare le impostazioni di verifica in due passaggi." - }, - "twoStepAuthenticatorDesc": { - "message": "Segui questi passi per impostare la verifica in due passaggi con un'applicazione di autenticazione:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Scarica un'applicazione di autenticazione" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Hai bisogno di un'applicazione di autenticazione? Scarica una delle seguenti" - }, - "iosDevices": { - "message": "Dispositivi iOS" - }, - "androidDevices": { - "message": "Dispositivi Android" - }, - "windowsDevices": { - "message": "Dispositivi Windows" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "Queste applicazioni sono raccomandate, tuttavia funzioneranno anche altre applicazioni di autenticazione." - }, - "twoStepAuthenticatorScanCode": { - "message": "Scansione questo QR code con la tua applicazione di autenticazione" - }, - "key": { - "message": "Chiave" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Inserisci il codice di verifica a 6 cifre dall'applicazione di autenticazione" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "Nel caso in cui fosse necessario aggiungerlo ad un altro dispositivo, di seguito è riportato il QR code (o la chiave) richiesta dalla tua applicazione di autenticazione." - }, - "twoStepDisableDesc": { - "message": "Sei sicuro di voler disabilitare questo metodo di verifica in due passaggi?" - }, - "twoStepDisabled": { - "message": "Metodo di verifica in due passaggi disabilitato." - }, - "twoFactorYubikeyAdd": { - "message": "Aggiungi una nuova YubiKey al tuo account" - }, - "twoFactorYubikeyPlugIn": { - "message": "Collega la YubiKey (NEO o serie 4) nella porta USB del computer." - }, - "twoFactorYubikeySelectKey": { - "message": "Seleziona il primo campo vuoto Yubikey sotto." - }, - "twoFactorYubikeyTouchButton": { - "message": "Premere il tasto sulla YubiKey." - }, - "twoFactorYubikeySaveForm": { - "message": "Salva il modulo." - }, - "twoFactorYubikeyWarning": { - "message": "A causa di limitazioni della piattaforma, YubiKey non può essere utilizzato su tutte le applicazioni Bitwarden. Si consiglia di abilitare un altro metodo di verifica in due passaggi in modo da poter accedere al tuo account anche dove YubiKeys non può essere usato. Piattaforme supportate:" - }, - "twoFactorYubikeySupportUsb": { - "message": "La cassaforte Web, l'applicazione desktop, la CLI e tutte le estensioni per browser su un dispositivo con una porta USB in grado di accettare la tua YubiKey." - }, - "twoFactorYubikeySupportMobile": { - "message": "Le applicazioni su un dispositivo con NFC o una porta USB in grado di accettare la tua YubiKey." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "Chiave U2F $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "Supporto per NFC" - }, - "twoFactorYubikeySupportsNfc": { - "message": "Una delle mie chiavi supporta NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "Se una delle tue YubiKey supporta NFC (come la Yubikey NEO), verrà richiesto dal dispostivo mobile nel caso la disponibilità NFC venga rilevata." - }, - "yubikeysUpdated": { - "message": "Yubikey aggiornate" - }, - "disableAllKeys": { - "message": "Disabilita tutte le chiavi" - }, - "twoFactorDuoDesc": { - "message": "Inserisci le informazioni della applicazione Bitwarden dal tuo pannello amministratore Duo." - }, - "twoFactorDuoIntegrationKey": { - "message": "Chiave di integrazione" - }, - "twoFactorDuoSecretKey": { - "message": "Chiave segreta" - }, - "twoFactorDuoApiHostname": { - "message": "Hostname API" - }, - "twoFactorEmailDesc": { - "message": "Segui questi passi per impostare la verifica in due passaggi con l'email:" - }, - "twoFactorEmailEnterEmail": { - "message": "Inserisci l'email dove preferisci ricevere i codici di verifica" - }, - "twoFactorEmailEnterCode": { - "message": "Inserisci il codice di verifica di 6 cifre ricevuto tramite email" - }, - "sendEmail": { - "message": "Invia email" - }, - "twoFactorU2fAdd": { - "message": "Aggiungi una chiave di sicurezza di FIDO U2F al tuo account" - }, - "removeU2fConfirmation": { - "message": "Sei sicuro di voler rimuovere questa chiave di sicurezza?" - }, - "readKey": { - "message": "Leggi chiave" - }, - "keyCompromised": { - "message": "La chiave è compromessa." - }, - "twoFactorU2fGiveName": { - "message": "Assegna alla chiave di sicurezza un nome descrittivo per identificarla." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Inserire la chiave di sicurezza nella porta USB del tuo computer e clicca sul pulsante \"Leggi chiave\"." - }, - "twoFactorU2fTouchButton": { - "message": "Se la chiave di protezione dispone di un pulsante, premilo." - }, - "twoFactorU2fSaveForm": { - "message": "Salva il modulo." - }, - "twoFactorU2fWarning": { - "message": "A causa di limitazioni della piattaforma, FIDO U2F non può essere utilizzato su tutte le applicazioni Bitwarden. Si consiglia di abilitare un altro metodo di verifica in due passaggi in modo da poter accedere al tuo account anche dove FIDO U2F non può essere usato. Piattaforme supportate:" - }, - "twoFactorU2fSupportWeb": { - "message": "Cassaforte Web ed estensione per il browser desktop/laptop con un U2F browser abilitato (Chrome, Opera, Vivaldi o Firefox con FIDO U2F abilitato)." - }, - "twoFactorU2fWaiting": { - "message": "In attesa che venga premuto il pulsante della tua chiave di sicurezza" - }, - "twoFactorU2fClickSave": { - "message": "Clicca sul pulsante \"Salva\" qui sotto per abilitare questa chiave di sicurezza per la verifica in due passaggi." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "Si è verificato un problema durante la lettura della chiave di sicurezza. Riprova." - }, - "twoFactorRecoveryYourCode": { - "message": "Il tuo codice di recupero Bitwarden per la verifica in due passaggi" - }, - "twoFactorRecoveryNoCode": { - "message": "Non hai ancora abilitato alcun metodo per la verifica in due passaggi. Dopo aver abilitato un metodo per la verifica in due passaggi torna qui per trovare il tuoi codice di recupero." - }, - "printCode": { - "message": "Stampa il codice", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Rapporti" - }, - "unsecuredWebsitesReport": { - "message": "Rapporto sui siti Web non protetti" - }, - "unsecuredWebsitesReportDesc": { - "message": "L'utilizzo di siti Web non protetti con lo schema http:// può essere pericoloso. Se il sito Web lo consente, devi sempre accedervi utilizzando lo schema https:// in modo che la connessione sia crittografata." - }, - "unsecuredWebsitesFound": { - "message": "Siti Web non protetti trovati" - }, - "unsecuredWebsitesFoundDesc": { - "message": "Abbiamo trovato $COUNT$ elementi nella tua cassaforte con URI non protetti. Dovresti cambiare il loro schema URL in https:// se il sito lo consente.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "Nessun elemento nella tua cassaforte ha URI non protetti." - }, - "inactive2faReport": { - "message": "Rapporto 2FA inattivo" - }, - "inactive2faReportDesc": { - "message": "L'autenticazione a due fattori (2FA) è un'impostazione di sicurezza importante che consente di proteggere i tuoi account. Se il sito Web lo offre, devi sempre abilitare l'autenticazione a due fattori." - }, - "inactive2faFound": { - "message": "Login senza 2FA trovato" - }, - "inactive2faFoundDesc": { - "message": "Abbiamo trovato $COUNT$ sito(i) Web nella tua cassaforte che potrebbero non essere configurati con l'autenticazione a due fattori (secondo 2fa.directory). Per proteggere ulteriormente questi account, è necessario abilitare l'autenticazione a due fattori.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "Nessun sito Web è stato trovato nella cassaforte con una configurazione di autenticazione a due fattori mancante." - }, - "instructions": { - "message": "Istruzioni" - }, - "exposedPasswordsReport": { - "message": "Rapporto password esposte" - }, - "exposedPasswordsReportDesc": { - "message": "Exposed passwords are passwords have been uncovered in known data breaches that were released publicly or sold on the dark web by hackers." - }, - "exposedPasswordsFound": { - "message": "Trovate password esposte" - }, - "exposedPasswordsFoundDesc": { - "message": "Abbiamo trovato $COUNT$ elementi nella tua cassaforte che hanno password che sono state esposte a violazioni di dati noti. Dovresti cambiarli per usare una nuova password.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "Nessun elemento nella tua cassaforte ha password che sono state esposte a violazioni note dei dati." - }, - "checkExposedPasswords": { - "message": "Controlla le password esposte" - }, - "exposedXTimes": { - "message": "Esposto $COUNT$ volta(e)", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Rapporto sulle password deboli" - }, - "weakPasswordsReportDesc": { - "message": "Le password deboli possono essere facilmente intuite dagli hacker e dagli strumenti automatici utilizzati per decifrare le password. Il generatore di password di Bitwarden può aiutarti a creare password complesse." - }, - "weakPasswordsFound": { - "message": "Trovate password deboli" - }, - "weakPasswordsFoundDesc": { - "message": "Abbiamo trovato $COUNT$ elementi nella tua cassaforte con password che non sono forti. Dovresti aggiornarli per usare password più forti.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "Nessun elemento nella tua cassaforte ha password deboli." - }, - "reusedPasswordsReport": { - "message": "Rapporto sulle password riutilizzate" - }, - "reusedPasswordsReportDesc": { - "message": "Se un servizio che usi è compromesso, riutilizzare la stessa password altrove può consentire agli hacker di accedere facilmente a più account online. È necessario utilizzare una password univoca per ogni account o servizio." - }, - "reusedPasswordsFound": { - "message": "Trovate password riutilizzate" - }, - "reusedPasswordsFoundDesc": { - "message": "Abbiamo trovato $COUNT$ password che vengono riutilizzate nella tua cassaforte. Dovresti cambiarli in un valore univoco.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "Nessun login nella tua cassaforte ha password che vengono riutilizzate." - }, - "reusedXTimes": { - "message": "Riutilizzato $COUNT$ volte", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Rapporto di violazione dei dati" - }, - "breachDesc": { - "message": "Una \"violazione\" è un incidente dove i dati di un sito sono stati illegalmente accessi dagli hacker e poi rilasciati pubblicamente. Esaminare i tipi di dati che sono stati compromessi (indirizzi e-mail, password, carte di credito ecc.) e adottare azioni appropriate, ad esempio la modifica delle password." - }, - "breachCheckUsernameEmail": { - "message": "Controlla ogni nome utente o indirizzi email che usi." - }, - "checkBreaches": { - "message": "Verifica violazioni" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ non è stato trovato in nessuna violazione di dati conosciuta.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Buone notizie", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ è stato trovato in $COUNT$ diversi casi di violazione di dati online.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Account violati trovati" - }, - "compromisedData": { - "message": "Dati compromessi" - }, - "website": { - "message": "Sito Web" - }, - "affectedUsers": { - "message": "Utenti interessati" - }, - "breachOccurred": { - "message": "Violazione verificata" - }, - "breachReported": { - "message": "Violazione segnalata" - }, - "reportError": { - "message": "Errore durante il tentativo di caricare il report. Riprova" - }, - "billing": { - "message": "Fatturazione" - }, - "accountCredit": { - "message": "Credito account", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Saldo account", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Aggiungi credito", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Importo", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Il credito aggiunto apparirà sul tuo account dopo che il pagamento è stato completamente elaborato. Alcuni metodi di pagamento sono in ritardo e possono richiedere più tempo per il processo rispetto ad altri." - }, - "makeSureEnoughCredit": { - "message": "Assicurati che il tuo account abbia abbastanza credito disponibile per questo acquisto. Se il tuo account non ha abbastanza credito disponibile, il tuo metodo di pagamento predefinito sul file verrà utilizzato per la differenza. Puoi aggiungere credito al tuo account dalla pagina di fatturazione." - }, - "creditAppliedDesc": { - "message": "Il credito del tuo account può essere utilizzato per effettuare acquisti. Ogni credito disponibile verrà automaticamente applicato alle fatture generate per questo account." - }, - "goPremium": { - "message": "Passa a Premium", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "Hai effettuato l'aggiornamento a Premium." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Aggiornare il tuo account per un abbonamento premium e sbloccare alcune funzioni aggiuntive." - }, - "premiumSignUpStorage": { - "message": "1 GB di spazio di archiviazione crittografato." - }, - "premiumSignUpTwoStep": { - "message": "Opzioni di verifica in due passaggi addizionali come YubiKey, FIDO U2F, e Duo." - }, - "premiumSignUpReports": { - "message": "Sicurezza delle password, integrità dell'account, e rapporti sulla violazione dei dati per mantenere sicura la tua cassaforte." - }, - "premiumSignUpTotp": { - "message": "Generatore di codice (2FA) di verifica di TOTP per gli account di accesso nel tuo vault." - }, - "premiumSignUpSupport": { - "message": "Supporto clienti prioritario." - }, - "premiumSignUpFuture": { - "message": "Tutte le funzioni Premium. Nuove in arrivo!" - }, - "premiumPrice": { - "message": "Il tutto per solo $PRICE$ all'anno!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Estensioni" - }, - "premiumAccess": { - "message": "Accesso Premium" - }, - "premiumAccessDesc": { - "message": "Puoi aggiungere l'accesso premium a tutti i membri della tua organizzazione per $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Spazio di archiviazione aggiuntivo (GB)" - }, - "additionalStorageGbDesc": { - "message": "# di GB aggiuntivi" - }, - "additionalStorageIntervalDesc": { - "message": "Il tuo piano viene fornito con $SIZE$ di archiviazione crittografata. Puoi aggiungere ulteriore spazio di archiviazione per $PRICE$ per GB /$INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Riepilogo" - }, - "total": { - "message": "Totale" - }, - "year": { - "message": "anno" - }, - "month": { - "message": "mese" - }, - "monthAbbr": { - "message": "mese.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Il tuo metodo di pagamento verrà addebitato immediatamente e su base ricorrente ogni anno. È possibile annullare in qualsiasi momento." - }, - "paymentCharged": { - "message": "Il tuo metodo di pagamento verrà addebitato immediatamente e poi su base ricorrente ogni $INTERVAL$. Puoi annullare in qualsiasi momento.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Il tuo piano include una prova gratuita di 7 giorni. La tua carta non verrà addebitata fino alla fine del periodo di prova e su base ricorrente ogni $INTERVAL$. È possibile annullare in qualsiasi momento.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Informazioni sul pagamento" - }, - "billingInformation": { - "message": "Dati di fatturazione" - }, - "creditCard": { - "message": "Carta di credito" - }, - "paypalClickSubmit": { - "message": "Fare clic sul pulsante di PayPal per accedere al tuo account PayPal, quindi fare clic sul pulsante Invia per continuare." - }, - "cancelSubscription": { - "message": "Annulla abbonamento" - }, - "subscriptionCanceled": { - "message": "L'abbonamento è stato cancellato." - }, - "pendingCancellation": { - "message": "In attesa di cancellazione" - }, - "subscriptionPendingCanceled": { - "message": "L'abbonamento è stato contrassegnato per l'annullamento alla fine del periodo di fatturazione corrente." - }, - "reinstateSubscription": { - "message": "Ripristina iscrizione" - }, - "reinstateConfirmation": { - "message": "Sei sicuro di voler rimuovere la richiesta di cancellazione in sospeso e ripristinare l'abbonamento?" - }, - "reinstated": { - "message": "L'abbonamento è stato ripristinato." - }, - "cancelConfirmation": { - "message": "Sei sicuro di voler annullare il tuo abbonamento? Alla fine di questo ciclo di fatturazione perderai l'accesso a tutte le funzionalità aggiuntive date dall'abbonamento." - }, - "canceledSubscription": { - "message": "L'abbonamento è stato cancellato." - }, - "neverExpires": { - "message": "Nessuna scadenza" - }, - "status": { - "message": "Stato" - }, - "nextCharge": { - "message": "Prossimo addebito" - }, - "details": { - "message": "Dettagli" - }, - "downloadLicense": { - "message": "Scarica Licenza" - }, - "updateLicense": { - "message": "Aggiorna Licenza" - }, - "updatedLicense": { - "message": "Licenza aggionata" - }, - "manageSubscription": { - "message": "Gestisci abbonamento" - }, - "storage": { - "message": "Spazio di archiviazione" - }, - "addStorage": { - "message": "Aggiungi spazio di archiviazione" - }, - "removeStorage": { - "message": "Rimuovi spazio di archiviazione" - }, - "subscriptionStorage": { - "message": "Il tuo abbonamento ha un totale di $MAX_STORAGE$ GB di spazio di archiviazione crittografato. Stai usando $USED_STORAGE$ GB di spazio.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Metodo di pagamento" - }, - "noPaymentMethod": { - "message": "Nessun metodo di pagamento selezionato." - }, - "addPaymentMethod": { - "message": "Aggiungi metodo di pagamento" - }, - "changePaymentMethod": { - "message": "Cambia il metodo di pagamento" - }, - "invoices": { - "message": "Fatture" - }, - "noInvoices": { - "message": "Nessuna fattura." - }, - "paid": { - "message": "Pagata", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Non pagata", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Transazioni", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "Nessuna transazione." - }, - "chargeNoun": { - "message": "Carica", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Rimborso", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Eventuali addebiti appariranno sul tuo estratto conto come $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "GB di spazio di archiviazione da aggiungere" - }, - "gbStorageRemove": { - "message": "GB di spazio di archiviazione da eliminare" - }, - "storageAddNote": { - "message": "L'aggiunta di spazio di archiviazione comporterà la modifica del costo di fatturazione e addebiterà immediatamente l'importo tramite il tuo metodo di pagamento salvato. Il primo addebito verrà ripartito per il resto del ciclo di fatturazione corrente." - }, - "storageRemoveNote": { - "message": "La rimozione dello spazio di archiviazione comporterà la modifica sul totale fatturato che sarà ripartito come credito per il prossimo addebito di fatturazione." - }, - "adjustedStorage": { - "message": "$AMOUNT$ GB di spazio di archiviazione modificato.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Contattare il supporto clienti" - }, - "updatedPaymentMethod": { - "message": "Metodo di pagamento aggiornato." - }, - "purchasePremium": { - "message": "Acquista Premium" - }, - "licenseFile": { - "message": "File di Licenza" - }, - "licenseFileDesc": { - "message": "Il tuo file di licenza sarà chiamato ad esempio $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "Per aggiornare il tuo account a un abbonamento premium dovrai caricare un file di licenza valido." - }, - "uploadLicenseFileOrg": { - "message": "Per creare un'organizzazione sul tuo server è necessario caricare un file di licenza valido." - }, - "accountEmailMustBeVerified": { - "message": "La tua email è stata verificata." - }, - "newOrganizationDesc": { - "message": "Le organizzazioni ti consentono di condividere parti della tua cassaforte con altri e di gestire gli utenti correlati per un'entità specifica come una famiglia, un piccolo team o una grande azienda." - }, - "generalInformation": { - "message": "Informazioni generali" - }, - "organizationName": { - "message": "Nome dell'Organizzazione" - }, - "accountOwnedBusiness": { - "message": "Questo account è di proprietà di un'impresa." - }, - "billingEmail": { - "message": "Email per la Fatturazione" - }, - "businessName": { - "message": "Ragione sociale" - }, - "chooseYourPlan": { - "message": "Scegli un piano" - }, - "users": { - "message": "Utenti" - }, - "userSeats": { - "message": "Postazioni utente" - }, - "additionalUserSeats": { - "message": "Postazioni utenti aggiuntive" - }, - "userSeatsDesc": { - "message": "# di postazioni utente" - }, - "userSeatsAdditionalDesc": { - "message": "Il piano è dotato di $BASE_SEATS$ postazioni utente. È possibile aggiungere ulteriori utenti per $SEAT_PRICE$ per utente/mese.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "Quante postazioni utente occorrono? È inoltre possibile aggiungere ulteriori postazioni utente successivamente se necessario." - }, - "planNameFree": { - "message": "Gratis", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "Per test o utenti personali da condividere con $COUNT$ altri utenti.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Famiglie" - }, - "planDescFamilies": { - "message": "Per uso personale, per condividere con la famiglia e gli amici." - }, - "planNameTeams": { - "message": "Gruppi" - }, - "planDescTeams": { - "message": "Per le imprese e altre organizzazioni di gruppi." - }, - "planNameEnterprise": { - "message": "Imprese" - }, - "planDescEnterprise": { - "message": "Per le aziende e altre organizzazioni di grandi dimensioni." - }, - "freeForever": { - "message": "Gratis per sempre" - }, - "includesXUsers": { - "message": "include $COUNT$ utenti", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Utenti aggiuntivi" - }, - "costPerUser": { - "message": "$COST$ per ogni utente", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Limitato a $COUNT$ utenti (tu compreso)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Limitato a $COUNT$ raccolte", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Aggiungere e condividere con un massimo di $COUNT$ utenti", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Aggiungi e condividi con utenti illimitati" - }, - "createUnlimitedCollections": { - "message": "Creare raccolte illimitate" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ di spazio di archiviazione crittografato", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "Self hosting (opzionale)" - }, - "usersGetPremium": { - "message": "Gli utenti ottengono l'accesso alle funzionalità dei membri premium" - }, - "controlAccessWithGroups": { - "message": "Controllare l'accesso utente con gruppi" - }, - "syncUsersFromDirectory": { - "message": "Sincronizzare gli utenti e gruppi da una directory" - }, - "trackAuditLogs": { - "message": "Tenere traccia delle azioni di utente con i registri di controllo" - }, - "enforce2faDuo": { - "message": "Applicare 2FA con Duo" - }, - "priorityCustomerSupport": { - "message": "Assistenza clienti prioritaria" - }, - "xDayFreeTrial": { - "message": "$COUNT$ giorni di prova, annulla in qualsiasi momento", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Mensile" - }, - "annually": { - "message": "Annuale" - }, - "basePrice": { - "message": "Prezzo base" - }, - "organizationCreated": { - "message": "Organizzazione creata" - }, - "organizationReadyToGo": { - "message": "La nuova organizzazione è pronta per essere usata!" - }, - "organizationUpgraded": { - "message": "La tua organizzazione è stata aggiornata." - }, - "leave": { - "message": "Abbandona" - }, - "leaveOrganizationConfirmation": { - "message": "Sei sicuro di voler lasciare questa organizzazione?" - }, - "leftOrganization": { - "message": "Hai lasciato l'organizzazione." - }, - "defaultCollection": { - "message": "Raccolta predefinita" - }, - "getHelp": { - "message": "Ottieni aiuto" - }, - "getApps": { - "message": "Scarica le app" - }, - "loggedInAs": { - "message": "Accesso eseguito come" - }, - "eventLogs": { - "message": "Registro eventi" - }, - "people": { - "message": "Persone" - }, - "policies": { - "message": "Policy" - }, - "editPolicy": { - "message": "Modifica policy" - }, - "groups": { - "message": "Gruppi" - }, - "newGroup": { - "message": "Nuovo gruppo" - }, - "addGroup": { - "message": "Aggiungi gruppo" - }, - "editGroup": { - "message": "Modifica gruppo" - }, - "deleteGroupConfirmation": { - "message": "Sei sicuro di voler eliminare questo gruppo?" - }, - "removeUserConfirmation": { - "message": "Confermi di voler rimuovere questo utente?" - }, - "externalId": { - "message": "Id esterno" - }, - "externalIdDesc": { - "message": "L'id esterno può essere usato come un riferimento o per collegare questa risorsa ad un sistema esterno come ad esempio una directory utente." - }, - "accessControl": { - "message": "Controllo accesso" - }, - "groupAccessAllItems": { - "message": "Questo gruppo può accedere e modificare tutti gli elementi." - }, - "groupAccessSelectedCollections": { - "message": "Questo gruppo può accedere solo alle raccolte selezionate." - }, - "readOnly": { - "message": "Sola lettura" - }, - "newCollection": { - "message": "Nuova Raccolta" - }, - "addCollection": { - "message": "Aggiungi Raccolta" - }, - "editCollection": { - "message": "Modifica Raccolta" - }, - "deleteCollectionConfirmation": { - "message": "Sei sicuro di voler eliminare questa collezione?" - }, - "editUser": { - "message": "Modificare utente" - }, - "inviteUser": { - "message": "Invita utente" - }, - "inviteUserDesc": { - "message": "Invita un nuovo utente alla tua organizzazione inserendo il suo indirizzo email dell'account Bitwarden di seguito. Se non hanno già un account Bitwarden, verrà richiesto di creare un nuovo account." - }, - "inviteMultipleEmailDesc": { - "message": "Puoi invitare fino a $COUNT$ utenti alla volta inserendo una lista di email separate da una virgola.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "Questo utente utilizza l'accesso in due passaggi per proteggere il proprio account." - }, - "userAccessAllItems": { - "message": "Questo utente può accedere e modificare tutti gli elementi." - }, - "userAccessSelectedCollections": { - "message": "Questo utente può accedere solo alle collezzioni selezionate." - }, - "search": { - "message": "Cerca" - }, - "invited": { - "message": "Invitato" - }, - "accepted": { - "message": "Accettato" - }, - "confirmed": { - "message": "Confermato" - }, - "owner": { - "message": "Proprietario" - }, - "ownerDesc": { - "message": "L'utente con accesso più alto sarà in grado di gestire tutti gli aspetti della tua organizzazione." - }, - "admin": { - "message": "Amministratore" - }, - "adminDesc": { - "message": " Gli amministratori possono accedere e gestire tutti gli elementi, le raccolte e gli utenti dell'organizzazione." - }, - "user": { - "message": "Utente" - }, - "userDesc": { - "message": "User normale con accesso alle raccolte della tua organizzazione." - }, - "manager": { - "message": "Manager" - }, - "managerDesc": { - "message": "I manager possono accedere e gestire le raccolte assegnate nella propria organizzazione." - }, - "all": { - "message": "Tutti" - }, - "refresh": { - "message": "Aggiorna" - }, - "timestamp": { - "message": "Data e ora" - }, - "event": { - "message": "Evento" - }, - "unknown": { - "message": "Sconosciuto" - }, - "loadMore": { - "message": "Carica Altro" - }, - "mobile": { - "message": "Mobile", - "description": "Mobile app" - }, - "extension": { - "message": "Estensione", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Desktop", - "description": "Desktop app" - }, - "webVault": { - "message": "Web Vault" - }, - "loggedIn": { - "message": "Accesso effettuato." - }, - "changedPassword": { - "message": "Password dell'account modificata." - }, - "enabledUpdated2fa": { - "message": "Verifica in due passaggi abilitata/aggiornata." - }, - "disabled2fa": { - "message": "Verifica in due passaggi disabilitata." - }, - "recovered2fa": { - "message": "Account ripristinato dalla verifica in due passaggi." - }, - "failedLogin": { - "message": "Tentativo di accesso fallito. Password errata." - }, - "failedLogin2fa": { - "message": "Tentativo di accesso fallito. Verifica in due passaggi non riuscita." - }, - "exportedVault": { - "message": "Cassaforte esportata." - }, - "exportedOrganizationVault": { - "message": "Cassaforte dell'organizzazione esportata." - }, - "editedOrgSettings": { - "message": "Modifica delle impostazioni dell'organizzazione." - }, - "createdItemId": { - "message": "Elemento $ID$ creato.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Elemento $ID$ modificato.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Elemento $ID$ cancellato.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Elemento $ID$ condiviso.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Elemento visualizzato $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Password visualizzata per l'elemento $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Campo nascosto per l'elemento $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Codice di sicurezza visualizzato per l'elemento $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Password copiata per l'elemento $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Campo nascosto copiato per l'elemento $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Codice di sicurezza copiato per l'elemento $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Elemento auto-compilato $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Collezione $ID$ creata.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Collezione $ID$ modificata.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Collezione $ID$ eliminata.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Policy $ID$ modificata.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Gruppo $ID$ creato.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Gruppo $ID$ modificato.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Gruppo $ID$ eliminato.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Utente $ID$ rimosso.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Allegato creato per elemento $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Allegato eliminato per elemento $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Modificate collezioni per elemento $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Utente $ID$ invitato.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Utente $ID$ confermato.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Modificato utente $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Modificati gruppi per utente $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "SSO scollegato per l'utente $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Dispositivo" - }, - "view": { - "message": "Visualizza" - }, - "invalidDateRange": { - "message": "Intervallo di date non valido." - }, - "errorOccurred": { - "message": "Si è verificato un errore." - }, - "userAccess": { - "message": "Accesso utente" - }, - "userType": { - "message": "Tipo di utente" - }, - "groupAccess": { - "message": "Gruppo di accesso" - }, - "groupAccessUserDesc": { - "message": "Modificare i gruppi a cui appartiene questo utente." - }, - "invitedUsers": { - "message": "Invitato/i utente/i." - }, - "resendInvitation": { - "message": "Invia nuovamente l'invito" - }, - "hasBeenReinvited": { - "message": "$USER$ è stato invitato.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Conferma" - }, - "confirmUser": { - "message": "Conferma utente" - }, - "hasBeenConfirmed": { - "message": "$USER$ è stato confermato.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Conferma utenti" - }, - "usersNeedConfirmed": { - "message": "Hai utenti che hanno accettato il loro invito, ma devono ancora essere confermati. Gli utenti non avranno accesso all'organizzazione fino a quando non sono confermati." - }, - "startDate": { - "message": "Data di inizio" - }, - "endDate": { - "message": "Data di fine" - }, - "verifyEmail": { - "message": "Verifica la tua email" - }, - "verifyEmailDesc": { - "message": "Verificare l'indirizzo email del tuo account per sbloccare l'accesso a tutte le funzionalità." - }, - "verifyEmailFirst": { - "message": "L'indirizzo email del tuo account deve essere prima verificato." - }, - "checkInboxForVerification": { - "message": "Controlla la tua casella di posta per il link di verifica." - }, - "emailVerified": { - "message": "Il tuo indirizzo email è stato verificato." - }, - "emailVerifiedFailed": { - "message": "Impossibile verificare il tuo indirizzo email. Prova a inviare una nuova email di verifica." - }, - "updateBrowser": { - "message": "Aggiorna il browser" - }, - "updateBrowserDesc": { - "message": "Si utilizza un browser non supportato. Il vault web potrebbe non funzionare correttamente." - }, - "joinOrganization": { - "message": "Unisciti all'organizzazione" - }, - "joinOrganizationDesc": { - "message": "Sei stato invitato a far parte dell'organizzazione sopra elencata. Per accettare l'invito, è necessario accedere o creare un nuovo account di Bitwarden." - }, - "inviteAccepted": { - "message": "Invito accettato" - }, - "inviteAcceptedDesc": { - "message": "Puoi accedere a questa organizzazione una volta che un amministratore conferma la tua iscrizione. Ti invieremo una email quando accadrà." - }, - "inviteAcceptFailed": { - "message": "Non è possibile accettare l'invito. Chiedi ad un amministratore di organizzazione di inviare un nuovo invito." - }, - "inviteAcceptFailedShort": { - "message": "Impossibile accettare l'invito. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Ricorda email" - }, - "recoverAccountTwoStepDesc": { - "message": "Se non puoi accedere al tuo account attraverso i normali metodi di verifica in due passaggi, puoi usare il codice di recupero per la verifica in due passaggi per disabilitare tutti i metodi di verifica in due passaggi presenti sul tuo account." - }, - "recoverAccountTwoStep": { - "message": "Ripristina la verifica in due passaggi dall'account" - }, - "twoStepRecoverDisabled": { - "message": "La verifica in due passaggi è stata disabilitata sul tuo account." - }, - "learnMore": { - "message": "Altre informazioni" - }, - "deleteRecoverDesc": { - "message": "Inserisci la tua email sotto per recuperare ed eliminare il tuo account." - }, - "deleteRecoverEmailSent": { - "message": "Se il tuo account è già esistente, ti invieremo una email con maggiori informazioni." - }, - "deleteRecoverConfirmDesc": { - "message": "Hai richiesto di eliminare il tuo account Bitwarden. Clicca il pulsante pe confermare." - }, - "myOrganization": { - "message": "La mia organizzazione" - }, - "deleteOrganization": { - "message": "Elimina organizzazione" - }, - "deleteOrganizationDesc": { - "message": "Procedere sotto per eliminare questa organizzazione e tutti i dati associati. I singoli account utente rimarranno, anche se non saranno più associati a questa organizzazione. " - }, - "deleteOrganizationWarning": { - "message": "L'eliminazione dell'organizzazione è permanente. Non può essere annullata." - }, - "organizationDeleted": { - "message": "Organizzazione eliminata" - }, - "organizationDeletedDesc": { - "message": "L'organizzazione e tutti i dati associati sono stati eliminati." - }, - "organizationUpdated": { - "message": "Organizzazione aggiornata" - }, - "taxInformation": { - "message": "Informazioni fiscali" - }, - "taxInformationDesc": { - "message": "Si prega di contattare il servizio clienti per fornire (o aggiornare) le informazioni fiscali per le fatture." - }, - "billingPlan": { - "message": "Piano", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Cambia Piano", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Aggiorna il tuo account ad un altro piano fornendo le informazioni qui sotto. Assicurati di avere un metodo di pagamento attivo aggiunto all'account.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Contattare il servizio clienti se si desidera modificare il proprio piano tariffario. Assicurarsi di avere un metodo di pagamento attivo.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Fattura #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "Visualizza fattura" - }, - "downloadInvoice": { - "message": "Scarica fattura" - }, - "verifyBankAccount": { - "message": "Verifica conto bancario" - }, - "verifyBankAccountDesc": { - "message": "Abbiamo fatto due micro-depositi sul tuo conto bancario (potrebbe richiedere 1-2 giorni lavorativi per presentarsi). Immettere questi importi per verificare il conto bancario." - }, - "verifyBankAccountInitialDesc": { - "message": "Il pagamento con un conto in banca è disponibile solo per i clienti negli Stati Uniti. Sarà necessario verificare il tuo conto in banca. Faremo due micro-depositi entro i prossimi 1-2 giorni lavorativi. Immettere questi importi nella pagina fatturazione dell'organizzazione per verificare il conto bancario." - }, - "verifyBankAccountFailureWarning": { - "message": "Mancata verifica del conto in banca si tradurrà in un mancato pagamento e l'abbonamento viene disattivato." - }, - "verifiedBankAccount": { - "message": "Il conto bancario è stato verificato." - }, - "bankAccount": { - "message": "Conto bancario" - }, - "amountX": { - "message": "Importo $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Numero di registrazione", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Numero del conto" - }, - "accountHolderName": { - "message": "Nome dell'intestatario" - }, - "bankAccountType": { - "message": "Tipo di conto" - }, - "bankAccountTypeCompany": { - "message": "Azienda (Impresa)" - }, - "bankAccountTypeIndividual": { - "message": "Individuale (Personale)" - }, - "enterInstallationId": { - "message": "Inserisci il tuo id di installazione" - }, - "addSeats": { - "message": "Aggiungere postazioni", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Rimuovi postazioni", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "L'abbonamento consente un totale di $COUNT$ utenti.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Postazioni da aggiungere" - }, - "seatsToRemove": { - "message": "Postazioni da rimuovere" - }, - "seatsAddNote": { - "message": "L'aggiunta di postazioni utente comporterà la modifica del costo di fatturazione e addebiterà immediatamente l'importo tramite il tuo metodo di pagamento salvato. Il primo addebito verrà ripartito per il resto del ciclo di fatturazione corrente." - }, - "seatsRemoveNote": { - "message": "La rimozione di postazioni utente comporterà la modifica sul totale fatturato che sarà ripartito come credito per il prossimo addebito di fatturazione." - }, - "adjustedSeats": { - "message": "Postazioni utente $AMOUNT$ rettificate.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Chiave aggiornata" - }, - "updateKeyTitle": { - "message": "Aggiorna chiave" - }, - "updateEncryptionKey": { - "message": "Aggiornamento della chiave di crittografia" - }, - "updateEncryptionKeyShortDesc": { - "message": "Stai utilizzando uno schema di crittografia obsoleto." - }, - "updateEncryptionKeyDesc": { - "message": "Ci siamo spostati alle più grandi chiavi di crittografia che forniscono maggiore sicurezza e accesso alle funzionalità più recenti. Aggiornare la chiave di crittografia è semplice e veloce. Basta digitare la password principale qui sotto. Questo aggiornamento eventualmente diventerà obbligatorio." - }, - "updateEncryptionKeyWarning": { - "message": "Dopo aver aggiornato la chiave di crittografia, verrà richiesto di disconnettersi e connettersi in tutte le applicazioni Bitwarden che stai utilizzando (come l'applicazione mobile o l'estensione del browser). Non effettuando la disconnessione e la riconnessione (per scaricare la nuova chiave di crittografia) potrà risultare in dati corrotti, Cercheremo di disconnetterti automaticamente, ma potrà esserci un ritardo." - }, - "updateEncryptionKeyExportWarning": { - "message": "Anche le esportazioni cifrate che hai salvato non saranno più valide." - }, - "subscription": { - "message": "Abbonamento" - }, - "loading": { - "message": "Caricamento" - }, - "upgrade": { - "message": "Aggiorna" - }, - "upgradeOrganization": { - "message": "Aggiorna organizzazione" - }, - "upgradeOrganizationDesc": { - "message": "Questa funzionalità non è disponibile per le organizzazioni con il piano base. Passa ad un piano a pagamento per sbloccare più funzioni." - }, - "createOrganizationStep1": { - "message": "Crea Organizzazione: Passo 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Prima di creare la propria organizzazione, è necessario innanzitutto creare un account personale gratuito." - }, - "refunded": { - "message": "Rimborsato" - }, - "nothingSelected": { - "message": "Non hai selezionato nulla." - }, - "acceptPolicies": { - "message": "Selezionando la casella accetti quanto segue:" - }, - "acceptPoliciesError": { - "message": "I Termini di Servizio e l'Informativa sulla Privacy non sono stati accettati." - }, - "termsOfService": { - "message": "Termini del servizio" - }, - "privacyPolicy": { - "message": "Informativa sulla privacy" - }, - "filters": { - "message": "Filtri" - }, - "vaultTimeout": { - "message": "Timeout Cassaforte" - }, - "vaultTimeoutDesc": { - "message": "Scegli quando la tua cassaforte andrà in timeout ed esegui l'azione selezionata." - }, - "oneMinute": { - "message": "1 minuto" - }, - "fiveMinutes": { - "message": "5 minuti" - }, - "fifteenMinutes": { - "message": "15 minuti" - }, - "thirtyMinutes": { - "message": "30 minuti" - }, - "oneHour": { - "message": "1 ora" - }, - "fourHours": { - "message": "4 ore" - }, - "onRefresh": { - "message": "Al riavvio del browser" - }, - "dateUpdated": { - "message": "Aggiornato", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Password Aggiornata", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "L'Organizzazione è disabilitata." - }, - "licenseIsExpired": { - "message": "La licenza è scaduta." - }, - "updatedUsers": { - "message": "Utenti aggiornati" - }, - "selected": { - "message": "Selezionato" - }, - "ownership": { - "message": "Proprietà" - }, - "whoOwnsThisItem": { - "message": "A chi appartiene questo elemento?" - }, - "strong": { - "message": "Forte", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Buono", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Debole", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Molto debole", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Password Principale Debole" - }, - "weakMasterPasswordDesc": { - "message": "La password principale che hai scelto è debole. È necessario utilizzare una password principale avanzata (o una Frase segreta) per proteggere adeguatamente il tuo account Bitwarden. Sei sicuro di voler utilizzare questa password principale?" - }, - "rotateAccountEncKey": { - "message": "Ruota anche la chiave di crittografia del mio account" - }, - "rotateEncKeyTitle": { - "message": "Ruota la chiave di crittografia" - }, - "rotateEncKeyConfirmation": { - "message": "Sei sicuro di voler ruotare la chiave di crittografia del tuo account?" - }, - "attachmentsNeedFix": { - "message": "Questo elemento ha vecchi file allegati che devono essere corretti." - }, - "attachmentFixDesc": { - "message": "Questo è un vecchio file allegato che deve essere corretto. Clicca per saperne di più." - }, - "fix": { - "message": "Fix", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "Ci sono vecchi file allegati nella tua cassaforte che devono essere corretti prima di poter ruotare la chiave di crittografia del tuo account." - }, - "yourAccountsFingerprint": { - "message": "Frase dell'impronta digitale del tuo account", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "Per garantire l'integrità delle tue chiavi di crittografia, verifica la frase dell'impronta digitale dell'utente prima di continuare.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Non chiedere di verificare di nuovo la frase dell'impronta digitale", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Gratis", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "Chiave API" - }, - "apiKeyDesc": { - "message": "La tua chiave API può essere usata per autenticarsi all'API pubblica Bitwarden." - }, - "apiKeyRotateDesc": { - "message": "Ruotare la chiave API invaliderà la chiave precedente. Puoi ruotare la tua chiave API se credi che la chiave attuale non sia più sicura da usare." - }, - "apiKeyWarning": { - "message": "La tua chiave API ha pieno accesso all'organizzazione. Dovrebbe essere tenuta segreta." - }, - "userApiKeyDesc": { - "message": "Puoi utilizzare la tua chiave API per autenticarti nella CLI di Bitwarden." - }, - "userApiKeyWarning": { - "message": "La tua chiave API è la tua autenticazione alternativa e dovrebbe rimanere segreta." - }, - "oauth2ClientCredentials": { - "message": "Credenziali client OAuth 2.0", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "Visualizza chiave API" - }, - "rotateApiKey": { - "message": "Ruota chiave API" - }, - "selectOneCollection": { - "message": "Devi selezionare almeno una categoria." - }, - "couldNotChargeCardPayInvoice": { - "message": "Non siamo stati in grado di addebitare sulla tua carta. Per favore, visualizza e paga la fattura non pagata presente qui sotto." - }, - "inAppPurchase": { - "message": "Acquisto in-App" - }, - "cannotPerformInAppPurchase": { - "message": "Non puoi eseguire questa azione mentre utilizzi un metodo di pagamento in-app." - }, - "manageSubscriptionFromStore": { - "message": "Devi gestire il tuo abbonamento dal negozio dove è stato effettuato l'acquisto in-app." - }, - "minLength": { - "message": "Lunghezza minima" - }, - "clone": { - "message": "Clona" - }, - "masterPassPolicyDesc": { - "message": "Fissa i requisiti minimi di complessità della password principale." - }, - "twoStepLoginPolicyDesc": { - "message": "Obbliga gli utenti ad impostare l'autenticazione a due fattori sul loro account personale." - }, - "twoStepLoginPolicyWarning": { - "message": "I membri dell'organizzazione che non hanno attivato l'autenticazione a due fattori per il proprio account personale saranno espulsi dall'organizzazione e riceveranno a tale proposito una e-mail di notifica." - }, - "twoStepLoginPolicyUserWarning": { - "message": "Sei membro di una organizzazione che richiede che sugli account personali sia attiva l'autenticazione a due fattori. Se disabiliti tutti i secondi fattori di autenticazione, sarai automaticamente espulso dall'organizzazione." - }, - "passwordGeneratorPolicyDesc": { - "message": "Imposta i requisiti minimi per la configurazione del generatore di password." - }, - "passwordGeneratorPolicyInEffect": { - "message": "Una o più policy dell'organizzazione controllano le impostazioni del tuo generatore." - }, - "masterPasswordPolicyInEffect": { - "message": "La password principale deve avere i seguenti requisiti, stabiliti da una o più regole dell'organizzazione:" - }, - "policyInEffectMinComplexity": { - "message": "Punteggio minimo di complessità $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Lunghezza minima $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Contiene almeno un carattere maiuscolo" - }, - "policyInEffectLowercase": { - "message": "Contiene almeno un carattere minuscolo" - }, - "policyInEffectNumbers": { - "message": "Contiene almeno una cifra" - }, - "policyInEffectSpecial": { - "message": "Contiene almeno uno dei seguenti caratteri speciali $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "La tua nuova password principale non soddisfa i requisiti di sicurezza." - }, - "minimumNumberOfWords": { - "message": "Numero minimo di parole" - }, - "defaultType": { - "message": "Tipo predefinito" - }, - "userPreference": { - "message": "Preferenze utente" - }, - "vaultTimeoutAction": { - "message": "Azione Timeout Cassaforte" - }, - "vaultTimeoutActionLockDesc": { - "message": "Una cassaforte bloccata richiede l'inserimento della password principale per accedere nuovamente." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "La disconnessione dalla cassaforte richiede l'inserimento della password principale per accedere nuovamente." - }, - "lock": { - "message": "Blocca", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Cestino", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Cerca nel cestino" - }, - "permanentlyDelete": { - "message": "Elimina definitivamente" - }, - "permanentlyDeleteSelected": { - "message": "Elimina definitivamente l'elemento selezionato" - }, - "permanentlyDeleteItem": { - "message": "Elimina definitivamente l'elemento" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Sei sicuro di voler eliminare definitivamente questo elemento?" - }, - "permanentlyDeletedItem": { - "message": "Elimina definitivamente l'elemento" - }, - "permanentlyDeletedItems": { - "message": "Elimina definitivamente gli elementi" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "Hai selezionato $COUNT$ elemento/i da eliminare definitivamente. Sei sicuro di voler eliminare definitivamente tutti gli elementi selezionati?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Elemento definitivamente eliminato $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Ripristina" - }, - "restoreSelected": { - "message": "Ripristina selezionato" - }, - "restoreItem": { - "message": "Ripristina elemento" - }, - "restoredItem": { - "message": "Ripristina Elemento" - }, - "restoredItems": { - "message": "Elementi Ripristinati" - }, - "restoreItemConfirmation": { - "message": "Sei sicuro di voler ripristinare questo elemento?" - }, - "restoreItems": { - "message": "Ripristina elementi" - }, - "restoreSelectedItemsDesc": { - "message": "Hai selezionato $COUNT$ elemento/i da ripristinare. Sei sicuro di voler ripristinare tutti gli elementi selezionati?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Elemento ripristinato $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "La disconnessione rimuove tutti gli accessi alla tua cassaforte e richiede l'autenticazione online dopo il periodo di timeout. Sei sicuro di voler utilizzare questa impostazione?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Conferma Azione di Timeout" - }, - "hidePasswords": { - "message": "Nascondi Password" - }, - "countryPostalCodeRequiredDesc": { - "message": "Informazioni richieste esclusivamente per il calcolo dell'IVA e rendicontazione finanziaria." - }, - "includeVAT": { - "message": "Aggiungi partita IVA (facoltativo)" - }, - "taxIdNumber": { - "message": "Partita IVA" - }, - "taxInfoUpdated": { - "message": "Dati fiscali aggiornati." - }, - "setMasterPassword": { - "message": "Impostare la password principale" - }, - "ssoCompleteRegistration": { - "message": "Per completare il login con SSO, si prega di impostare una password principale per accedere e proteggere la cassaforte." - }, - "identifier": { - "message": "Identificativo" - }, - "organizationIdentifier": { - "message": "Identificativo dell'organizzazione" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Accedi usando il portale di accesso Single Sign-On della tua organizzazione. Inserisci l'identificativo della tua organizzazione per iniziare." - }, - "enterpriseSingleSignOn": { - "message": "Accesso con il portale dell'organizzazione Single Sign-On" - }, - "ssoHandOff": { - "message": "Puoi chiudere questa scheda e continuare nell'estensione." - }, - "businessPortal": { - "message": "Portale aziendale", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "Tutte le funzionalità Teams e in più:" - }, - "includeSsoAuthentication": { - "message": "Autenticazione SSO tramite SAML2.0 e OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Policy aziendali" - }, - "ssoValidationFailed": { - "message": "Verifica SSO fallita" - }, - "ssoIdentifierRequired": { - "message": "L'identificativo dell'organizzazione è obbligatorio." - }, - "unlinkSso": { - "message": "Scollega SSO" - }, - "linkSso": { - "message": "Collega SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "La configurazione delle policy è stata spostata, e questa pagina sarà presto deprecata. Per favore, clicca sotto per utilizzare la configurazione delle policy del portale aziendale." - }, - "singleOrg": { - "message": "Organizzazione unica" - }, - "singleOrgDesc": { - "message": "Impedisci agli utenti di unirsi dalle altre organizzazioni." - }, - "singleOrgBlockCreateMessage": { - "message": "La tua attuale organizzazione ha una policy che non ti permette di unirti ad altre organizzazioni. Per favore, contatta gli amministratori della tua organizzazione o registrati da un altro account Bitwarden." - }, - "singleOrgPolicyWarning": { - "message": "I membri dell'organizzazione che non sono proprietari o amministratori e sono già membri di un'altra organizzazione saranno rimossi dalla tua organizzazione." - }, - "requireSso": { - "message": "Autenticazione Single Sign-On" - }, - "requireSsoPolicyDesc": { - "message": "Richiedi agli utenti di accedere con Enterprise Single Sign-On." - }, - "prerequisite": { - "message": "Prerequisito" - }, - "requireSsoPolicyReq": { - "message": "La policy aziendale per l'organizzazione unica deve essere abilitata prima di attivare questa policy." - }, - "requireSsoPolicyReqError": { - "message": "La policy dell'organizzazione unica non è abilitata." - }, - "requireSsoExemption": { - "message": "I proprietari e gli amministratori dell'organizzazione sono esenti dall'applicazione di questa policy." - }, - "sendTypeFile": { - "message": "File" - }, - "sendTypeText": { - "message": "Testo" - }, - "createSend": { - "message": "Crea Nuovo Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Modifica Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Send Creato", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Send modificato", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Send eliminato", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Elimina Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Sei sicuro di eliminare questo Send?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "Di quale tipo di Send si tratta?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Data di eliminazione" - }, - "deletionDateDesc": { - "message": "Il Send sarà definitivamente eliminato alla data e all'ora specificate.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Data di scadenza" - }, - "expirationDateDesc": { - "message": "Se impostato, l'accesso a questo Send scadrà alla data e all'ora specificate.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Numero massimo di accessi" - }, - "maxAccessCountDesc": { - "message": "Se impostato, gli utenti non saranno più in grado di accedere a questo Send una volta raggiunto il numero massimo di accessi.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Conteggio accessi corrente" - }, - "sendPasswordDesc": { - "message": "Facoltativamente, richiedi una password agli utenti per accedere al Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Note private sul Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Disattivo" - }, - "sendLink": { - "message": "Send Link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Copia Send Link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Rimuovi Password" - }, - "removedPassword": { - "message": "Password Rimossa" - }, - "removePasswordConfirmation": { - "message": "Sei sicuro di voler rimuovere la password?" - }, - "disableThisSend": { - "message": "Disabilità il Send per renderlo inaccessibile.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "Tutti i Send" - }, - "maxAccessCountReached": { - "message": "Numero massimo di accessi raggiunto" - }, - "pendingDeletion": { - "message": "In attesa di eliminazione" - }, - "expired": { - "message": "Scaduto" - }, - "searchSends": { - "message": "Cerca Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "Il Send è protetto da password. Per favore, digita la password sotto per continuare.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Non conosci la password? Chiedi al Sender la password necessaria per l'accesso a questo Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "Questo Send è nascosto per impostazione predefinita. È possibile modificarne la visibilità utilizzando il pulsante in basso.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Scarica File" - }, - "sendAccessUnavailable": { - "message": "Il Send a cui stai provando ad accedere non esiste o non è più disponibile.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "Non ci sono Sends da elencare.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Accesso di Emergenza" - }, - "emergencyAccessDesc": { - "message": "Concedi e gestisci l'accesso di emergenza per un contatto fidato. I contatti fidati possono richiede di ereditare l'account o accedere in sola lettura in caso di emergenza. Visita la nostra pagina di aiuto per maggiori informazioni e dettagli." - }, - "trustedEmergencyContacts": { - "message": "Contatti di emergenza fidati" - }, - "noTrustedContacts": { - "message": "Non hai ancora aggiunto nessun contatto di emergenza, invita un contatto fidato per iniziare." - }, - "addEmergencyContact": { - "message": "Aggiungi contatto di emergenza" - }, - "designatedEmergencyContacts": { - "message": "Designato come contatto di emergenza" - }, - "noGrantedAccess": { - "message": "Non sei ancora stato designato come contatto di emergenza." - }, - "inviteEmergencyContact": { - "message": "Invita contatto di emergenza" - }, - "editEmergencyContact": { - "message": "Modifica contatto di emergenza" - }, - "inviteEmergencyContactDesc": { - "message": "Invita un nuovo contatto di emergenza digitando il suo account email di Bitwarden. Se non ha ancora un account Bitwarden, gli verrà chiesto di crearne uno nuovo." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Accesso di emergenza avviato" - }, - "emergencyAccessRecoveryApproved": { - "message": "Accesso di emergenza approvato" - }, - "viewDesc": { - "message": "Può vedere tutti gli elementi nella cassaforte." - }, - "takeover": { - "message": "Entra in possesso" - }, - "takeoverDesc": { - "message": "Puoi reimpostare il tuo account con una nuova password principale." - }, - "waitTime": { - "message": "Tempo di attesa" - }, - "waitTimeDesc": { - "message": "Tempo richiesto prima di concedere l'accesso automatico." - }, - "oneDay": { - "message": "1 giorno" - }, - "days": { - "message": "$DAYS$ giorni", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Utente invitato." - }, - "acceptEmergencyAccess": { - "message": "Sei stato designato come contatto di emergenza per l'utente indicato sopra. Per accettare l'invito, accedi alla tua cassaforte o crea un nuovo utente Bitwarden." - }, - "emergencyInviteAcceptFailed": { - "message": "Non è possibile accettare l'invito. Chiedi all'utente di inviare un nuovo invito." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Non è possibile accettare l'invito. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "Puoi accedere alle opzioni di emergenza per questo utente dopo aver confermato la tua identità. A breve riceverai un'email di conferma." - }, - "requestAccess": { - "message": "Richiedi l'accesso" - }, - "requestAccessConfirmation": { - "message": "Sei sicuro di voler richiedere l'accesso di emergenza? Ti sarà possibile accedere dopo $WAITTIME$ giorno/i o ogniqualvolta l'utente approva la richiesta.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Accesso di emergenza richiesto per $USER$. Verrai notificato via mail quando sarà possibile proseguire.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Approva" - }, - "reject": { - "message": "Rifiuta" - }, - "approveAccessConfirmation": { - "message": "Sei sicuro di voler approvare l'accesso di emergenza? Questo consentirà a $USER$ di $ACTION$ il tuo account.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Accesso di emergenza approvato." - }, - "emergencyRejected": { - "message": "Accesso di emergenza rifiutato" - }, - "passwordResetFor": { - "message": "Password reimpostata per $USER$. Ora puoi effettuare il login utilizzando la nuova password.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Poprietà personale" - }, - "personalOwnershipPolicyDesc": { - "message": "Richiede agli utenti di salvare gli elementi della cassaforte in un'organizzazione rimuovendo l'opzione di proprietà personale." - }, - "personalOwnershipExemption": { - "message": "I proprietari e gli amministratori dell'organizzazione sono esenti dall'applicazione di questa policy." - }, - "personalOwnershipSubmitError": { - "message": "A causa di una policy aziendale, non è possibile salvare elementi nella tua cassaforte personale. Cambia l'opzione proprietà in un'organizzazione e scegli tra le raccolte disponibili." - }, - "modifiedPolicyId": { - "message": "Policy modificata $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Costo del piano" - }, - "estimatedTax": { - "message": "Tasse stimate" - }, - "custom": { - "message": "Personalizzato" - }, - "customDesc": { - "message": "Consente un controllo più granulare delle autorizzazioni utente per le configurazioni avanzate." - }, - "permissions": { - "message": "Autorizzazioni" - }, - "accessBusinessPortal": { - "message": "Accedi al portale aziendale" - }, - "accessEventLogs": { - "message": "Accedi ai log degli eventi" - }, - "accessImportExport": { - "message": "Accedi ad Import/Export" - }, - "accessReports": { - "message": "Accedi ai report" - }, - "manageAllCollections": { - "message": "Gestisci tutte le raccolte" - }, - "manageAssignedCollections": { - "message": "Gestisci le raccolte assegnate" - }, - "manageGroups": { - "message": "Gestisci i gruppi" - }, - "managePolicies": { - "message": "Gestisci le policy" - }, - "manageSso": { - "message": "Gestisci SSO" - }, - "manageUsers": { - "message": "Gestione utenti" - }, - "disableRequireSsoError": { - "message": "Devi disabilitare manualmente la policy relativa all'autenticazione SSO prima di disabilitare questa policy." - }, - "personalOwnershipPolicyInEffect": { - "message": "Una policy dell'organizzazione controlla le opzioni di proprietà." - }, - "personalOwnershipCheckboxDesc": { - "message": "Disabilita la proprietà personale per gli utenti dell'organizzazione" - }, - "textHiddenByDefault": { - "message": "Quando si accede al Send, nascondi il testo di default", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/ja/messages.json b/locales/ja/messages.json deleted file mode 100644 index 00713793..00000000 --- a/locales/ja/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$ ウェブ保管庫", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "このアイテムのタイプは何ですか?" - }, - "name": { - "message": "名前" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "新しい URI" - }, - "username": { - "message": "ユーザー名" - }, - "password": { - "message": "パスワード" - }, - "newPassword": { - "message": "New Password" - }, - "passphrase": { - "message": "パスフレーズ" - }, - "notes": { - "message": "メモ" - }, - "customFields": { - "message": "カスタムフィールド" - }, - "cardholderName": { - "message": "カードの名義人名" - }, - "number": { - "message": "番号" - }, - "brand": { - "message": "ブランド" - }, - "expiration": { - "message": "有効期限" - }, - "securityCode": { - "message": "セキュリティコード (CVV)" - }, - "identityName": { - "message": "固有名" - }, - "company": { - "message": "会社名" - }, - "ssn": { - "message": "社会保障番号" - }, - "passportNumber": { - "message": "パスポート番号" - }, - "licenseNumber": { - "message": "免許証番号" - }, - "email": { - "message": "メールアドレス" - }, - "phone": { - "message": "電話番号" - }, - "january": { - "message": "1月" - }, - "february": { - "message": "2月" - }, - "march": { - "message": "3月" - }, - "april": { - "message": "4月" - }, - "may": { - "message": "5月" - }, - "june": { - "message": "6月" - }, - "july": { - "message": "7月" - }, - "august": { - "message": "8月" - }, - "september": { - "message": "9月" - }, - "october": { - "message": "10月" - }, - "november": { - "message": "11月" - }, - "december": { - "message": "12月" - }, - "title": { - "message": "敬称" - }, - "mr": { - "message": "Mr" - }, - "mrs": { - "message": "Mrs" - }, - "ms": { - "message": "Ms" - }, - "dr": { - "message": "Dr" - }, - "expirationMonth": { - "message": "有効期限月" - }, - "expirationYear": { - "message": "有効期限年" - }, - "authenticatorKeyTotp": { - "message": "認証キー (TOTP)" - }, - "folder": { - "message": "フォルダー" - }, - "newCustomField": { - "message": "新規カスタムフィールド" - }, - "value": { - "message": "値" - }, - "dragToSort": { - "message": "ドラッグして並べ替え" - }, - "cfTypeText": { - "message": "テキスト" - }, - "cfTypeHidden": { - "message": "非表示" - }, - "cfTypeBoolean": { - "message": "真偽値" - }, - "remove": { - "message": "削除" - }, - "unassigned": { - "message": "未割り当て" - }, - "noneFolder": { - "message": "フォルダーなし", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "フォルダーを追加" - }, - "editFolder": { - "message": "フォルダーを編集" - }, - "baseDomain": { - "message": "ベースドメイン" - }, - "host": { - "message": "ホスト", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "完全一致" - }, - "startsWith": { - "message": "前方一致" - }, - "regEx": { - "message": "正規表現", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "一致検出方法", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "デフォルトの一致検出方法", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "なし" - }, - "toggleVisibility": { - "message": "表示切り替え" - }, - "toggleCollapse": { - "message": "開く/閉じる", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "パスワードの自動生成" - }, - "checkPassword": { - "message": "パスワードが漏洩していないか確認する" - }, - "passwordExposed": { - "message": "このパスワードは過去に$VALUE$回漏洩したことがあるため、変更するべきです。", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "このパスワードは過去に漏洩したデータ内にはないため、安全であると思われます。" - }, - "save": { - "message": "保存" - }, - "cancel": { - "message": "キャンセル" - }, - "canceled": { - "message": "キャンセルしました" - }, - "close": { - "message": "閉じる" - }, - "delete": { - "message": "削除" - }, - "favorite": { - "message": "お気に入り" - }, - "unfavorite": { - "message": "お気に入り解除" - }, - "edit": { - "message": "編集" - }, - "searchCollection": { - "message": "コレクションの検索" - }, - "searchFolder": { - "message": "フォルダーの検索" - }, - "searchFavorites": { - "message": "お気に入りの検索" - }, - "searchType": { - "message": "タイプの検索", - "description": "Search item type" - }, - "searchVault": { - "message": "保管庫を検索" - }, - "allItems": { - "message": "全てのアイテム" - }, - "favorites": { - "message": "お気に入り" - }, - "types": { - "message": "タイプ" - }, - "typeLogin": { - "message": "ログイン" - }, - "typeCard": { - "message": "カード" - }, - "typeIdentity": { - "message": "ID" - }, - "typeSecureNote": { - "message": "メモ" - }, - "folders": { - "message": "フォルダー" - }, - "collections": { - "message": "コレクション" - }, - "firstName": { - "message": "名" - }, - "middleName": { - "message": "ミドルネーム" - }, - "lastName": { - "message": "姓" - }, - "address1": { - "message": "住所 1" - }, - "address2": { - "message": "住所 2" - }, - "address3": { - "message": "住所 3" - }, - "cityTown": { - "message": "市町村" - }, - "stateProvince": { - "message": "都道府県" - }, - "zipPostalCode": { - "message": "郵便番号" - }, - "country": { - "message": "国" - }, - "shared": { - "message": "共有" - }, - "attachments": { - "message": "添付ファイル" - }, - "select": { - "message": "選択" - }, - "addItem": { - "message": "アイテムの追加" - }, - "editItem": { - "message": "アイテムの編集" - }, - "viewItem": { - "message": "View Item" - }, - "ex": { - "message": "例:", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "その他" - }, - "share": { - "message": "共有" - }, - "valueCopied": { - "message": "$VALUE$ をコピーしました", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "値のコピー", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "パスワードのコピー", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "ユーザー名のコピー", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "番号のコピー", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "セキュリティコードのコピー", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "URI のコピー", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "保管庫" - }, - "vault": { - "message": "保管庫" - }, - "shareSelected": { - "message": "選択したものを共有" - }, - "deleteSelected": { - "message": "選択したものを削除" - }, - "moveSelected": { - "message": "選択したものを移動" - }, - "selectAll": { - "message": "すべて選択" - }, - "unselectAll": { - "message": "すべて選択解除" - }, - "launch": { - "message": "開く" - }, - "newAttachment": { - "message": "添付ファイルの追加" - }, - "deletedAttachment": { - "message": "添付ファイルを削除" - }, - "deleteAttachmentConfirmation": { - "message": "この添付ファイルを削除してよろしいですか?" - }, - "attachmentSaved": { - "message": "添付ファイルを保存しました。" - }, - "file": { - "message": "ファイル" - }, - "selectFile": { - "message": "ファイルを選択してください。" - }, - "maxFileSize": { - "message": "最大ファイルサイズ: 100 MB" - }, - "updateKey": { - "message": "暗号キーを更新するまでこの機能は使用できません。" - }, - "addedItem": { - "message": "追加されたアイテム" - }, - "editedItem": { - "message": "編集されたアイテム" - }, - "sharedItem": { - "message": "共有されたアイテム" - }, - "sharedItems": { - "message": "共有されたアイテム" - }, - "deleteItem": { - "message": "アイテムの削除" - }, - "deleteFolder": { - "message": "フォルダーの削除" - }, - "deleteAttachment": { - "message": "添付ファイルの削除" - }, - "deleteItemConfirmation": { - "message": "このアイテムを削除してもよろしいですか?" - }, - "deletedItem": { - "message": "削除されたアイテム" - }, - "deletedItems": { - "message": "削除されたアイテム" - }, - "movedItems": { - "message": "移動されたアイテム" - }, - "overwritePasswordConfirmation": { - "message": "現在のパスワードを上書きしてもよろしいですか?" - }, - "editedFolder": { - "message": "フォルダーを編集しました" - }, - "addedFolder": { - "message": "フォルダーを追加しました" - }, - "deleteFolderConfirmation": { - "message": "フォルダーを削除しますか?" - }, - "deletedFolder": { - "message": "フォルダーを削除しました" - }, - "loggedOut": { - "message": "ログアウトしました" - }, - "loginExpired": { - "message": "ログインセッションの有効期限が切れています。" - }, - "logOutConfirmation": { - "message": "ログアウトしてもよろしいですか?" - }, - "logOut": { - "message": "ログアウト" - }, - "ok": { - "message": "OK" - }, - "yes": { - "message": "はい" - }, - "no": { - "message": "いいえ" - }, - "loginOrCreateNewAccount": { - "message": "安全なデータ保管庫へアクセスするためにログインまたはアカウントを作成してください。" - }, - "createAccount": { - "message": "アカウントの作成" - }, - "logIn": { - "message": "ログイン" - }, - "submit": { - "message": "送信" - }, - "emailAddressDesc": { - "message": "メールアドレスを使用してログインできます。" - }, - "yourName": { - "message": "名前" - }, - "yourNameDesc": { - "message": "あなたを何と呼べばいいですか?" - }, - "masterPass": { - "message": "マスターパスワード" - }, - "masterPassDesc": { - "message": "マスターパスワードは、パスワード保管庫へのアクセスに使用するパスワードです。あなたのマスターパスワードを忘れないように注意してください。忘れた場合、パスワードを回復する方法はありません。" - }, - "masterPassHintDesc": { - "message": "マスターパスワードのヒントは、パスワードを忘れた場合に役立ちます。" - }, - "reTypeMasterPass": { - "message": "マスターパスワードを再入力" - }, - "masterPassHint": { - "message": "マスターパスワードのヒント (省略可能)" - }, - "masterPassHintLabel": { - "message": "マスターパスワードのヒント" - }, - "settings": { - "message": "設定" - }, - "passwordHint": { - "message": "パスワードのヒント" - }, - "enterEmailToGetHint": { - "message": "マスターパスワードのヒントを受信するアカウントのメールアドレスを入力してください。" - }, - "getMasterPasswordHint": { - "message": "マスターパスワードのヒントを取得する" - }, - "emailRequired": { - "message": "メールアドレスは必須項目です。" - }, - "invalidEmail": { - "message": "無効なメールアドレスです。" - }, - "masterPassRequired": { - "message": "マスターパスワードは必須です。" - }, - "masterPassLength": { - "message": "マスターパスワードは、少なくとも8文字以上で設定してください。" - }, - "masterPassDoesntMatch": { - "message": "マスターパスワードが一致しません。" - }, - "newAccountCreated": { - "message": "新しいアカウントを作成しました!今すぐログインできます。" - }, - "masterPassSent": { - "message": "あなたのマスターパスワードのヒントを記載したメールを送信しました。" - }, - "unexpectedError": { - "message": "予期せぬエラーが発生しました。" - }, - "emailAddress": { - "message": "メールアドレス" - }, - "yourVaultIsLocked": { - "message": "保管庫がロックされています。開くにはマスターパスワードを入力してください。" - }, - "unlock": { - "message": "ロック解除" - }, - "loggedInAsEmailOn": { - "message": "$HOSTNAME$ の $EMAIL$ としてログインしました。", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "マスターパスワードが間違っています" - }, - "lockNow": { - "message": "今すぐロック" - }, - "noItemsInList": { - "message": "表示するアイテムがありません" - }, - "noCollectionsInList": { - "message": "表示するコレクションがありません" - }, - "noGroupsInList": { - "message": "表示するグループがありません" - }, - "noUsersInList": { - "message": "表示するユーザーがありません" - }, - "noEventsInList": { - "message": "表示するイベントがありません" - }, - "newOrganization": { - "message": "新しい組織" - }, - "noOrganizationsList": { - "message": "あなたはどの組織にも属していません。組織では他のユーザーとアイテムを安全に共有できます。" - }, - "versionNumber": { - "message": "バージョン $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "認証アプリに表示された6桁の認証コードを入力してください。" - }, - "enterVerificationCodeEmail": { - "message": "$EMAIL$ に送信された6桁の認証コードを入力してください。", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "$EMAIL$ に認証コードを送信しました。", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "情報を保存する" - }, - "sendVerificationCodeEmailAgain": { - "message": "確認コードをメールで再送" - }, - "useAnotherTwoStepMethod": { - "message": "他の2段階認証方法を使用" - }, - "insertYubiKey": { - "message": "YubiKey を USB ポートに挿入し、ボタンをタッチしてください。" - }, - "insertU2f": { - "message": "セキュリティキーを USB ポートに挿入し、ボタンがある場合はボタンをタッチしてください。" - }, - "loginUnavailable": { - "message": "ログインできません。" - }, - "noTwoStepProviders": { - "message": "このアカウントは2段階認証が有効ですが、このブラウザに対応した2段階認証プロパイダが一つも設定されていません。" - }, - "noTwoStepProviders2": { - "message": "Chrome などの対応したブラウザを使うか、より幅広い端末に対応した認証プロパイダを追加してください。" - }, - "twoStepOptions": { - "message": "2段階認証オプション" - }, - "recoveryCodeDesc": { - "message": "すべての2段階認証プロパイダにアクセスできなくなったときは、リカバリーコードを使用するとアカウントの2段階認証を無効化できます。" - }, - "recoveryCodeTitle": { - "message": "リカバリーコード" - }, - "authenticatorAppTitle": { - "message": "認証アプリ" - }, - "authenticatorAppDesc": { - "message": "Authy や Google 認証システムなどの認証アプリで時限式の認証コードを生成してください。", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "YubiKey OTP セキュリティキー" - }, - "yubiKeyDesc": { - "message": "YubiKey を使ってアカウントにアクセスできます。 YubiKey 4、4 Nano、4C、NEOに対応しています。" - }, - "duoDesc": { - "message": "Duo Mobile アプリや SMS、電話や U2F セキュリティキーを使って Duo Security で認証します。", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "組織の Duo Security を Duo Mobile アプリや SMS、電話、U2F セキュリティーキーを使用して認証します。", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "FIDO U2F が有効なセキュリティキーを使ってアカウントにアクセスできます。" - }, - "u2fTitle": { - "message": "FIDO U2F セキュリティキー" - }, - "emailTitle": { - "message": "メールアドレス" - }, - "emailDesc": { - "message": "確認コードをメールにお送りします。" - }, - "continue": { - "message": "続ける" - }, - "organization": { - "message": "組織" - }, - "organizations": { - "message": "組織" - }, - "shareDesc": { - "message": "このアイテムを共有する組織を選択してください。共有するとアイテムの所有権は組織に移行し、あなたはもはやこのアイテムの直接のオーナーではなくなります。" - }, - "shareManyDesc": { - "message": "これらのアイテムを共有する組織を選択してください。共有するとアイテムの所有権は組織に移行し、あなたはもはやこれらのアイテムの直接のオーナーではなくなります。" - }, - "collectionsDesc": { - "message": "このアイテムを共有するコレクションを編集します。共有したアイテムは、当該コレクションにアクセスできる組織ユーザーにのみ表示されます。" - }, - "deleteSelectedItemsDesc": { - "message": "$COUNT$個のアイテムを削除しようとしています。本当にこれらのアイテムを削除しますか?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "$COUNT$個のアイテムを移動したいフォルダーを選択してください。", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "$COUNT$アイテムを選択しました。$SHAREABLE_COUNT$個が共有可能で、$NONSHAREABLE_COUNT$個は共有できません。", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "認証コード (TOTP)" - }, - "copyVerificationCode": { - "message": "認証コードのコピー" - }, - "warning": { - "message": "注意" - }, - "confirmVaultExport": { - "message": "Confirm Vault Export" - }, - "exportWarningDesc": { - "message": "このエクスポートデータは暗号化されていない形式の保管庫データを含んでいます。メールなどのセキュリティ保護されていない方法で共有したり保管したりしないでください。使用した後はすぐに削除してください。" - }, - "encExportWarningDesc": { - "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." - }, - "exportMasterPassword": { - "message": "保管庫のデータをエクスポートするにはマスターパスワードを入力してください。" - }, - "exportVault": { - "message": "保管庫のエクスポート" - }, - "fileFormat": { - "message": "ファイル形式" - }, - "exportSuccess": { - "message": "エクスポートされました。" - }, - "passwordGenerator": { - "message": "パスワード生成ツール" - }, - "minComplexityScore": { - "message": "最小複雑度" - }, - "minNumbers": { - "message": "数字の最小個数" - }, - "minSpecial": { - "message": "記号の最小数", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "あいまいな文字を省く" - }, - "regeneratePassword": { - "message": "パスワードの再生成" - }, - "length": { - "message": "長さ" - }, - "numWords": { - "message": "単語数" - }, - "wordSeparator": { - "message": "単語の区切り" - }, - "capitalize": { - "message": "先頭を大文字", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "数字を含む" - }, - "passwordHistory": { - "message": "パスワードの履歴" - }, - "noPasswordsInList": { - "message": "表示するパスワードがありません" - }, - "clear": { - "message": "消去する", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "アカウントを更新しました" - }, - "changeEmail": { - "message": "メールアドレスを変更" - }, - "newEmail": { - "message": "新しいメールアドレス" - }, - "code": { - "message": "コード" - }, - "changeEmailDesc": { - "message": "認証コードのメールを $EMAIL$ に送信しました。メールアドレスの変更を完了するには、メールを確認してコードを以下に入力してください。", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "次に進むと現在のセッションからログアウトし再度ログインが必要になります。他のデバイスでのセッションは1時間程度維持されます。" - }, - "emailChanged": { - "message": "メールアドレスの変更" - }, - "logBackIn": { - "message": "ログインし直してください" - }, - "logBackInOthersToo": { - "message": "ログインし直してください。他のBitwardenのアプリを使用している場合、同様にログインし直してください。" - }, - "changeMasterPassword": { - "message": "マスターパスワードの変更" - }, - "masterPasswordChanged": { - "message": "マスターパスワードが変更されました。" - }, - "currentMasterPass": { - "message": "現在のマスターパスワード" - }, - "newMasterPass": { - "message": "新しいマスターパスワード" - }, - "confirmNewMasterPass": { - "message": "新しいマスターパスワードの確認" - }, - "encKeySettings": { - "message": "暗号化の設定" - }, - "kdfAlgorithm": { - "message": "KDFアルゴリズム" - }, - "kdfIterations": { - "message": "KDF反復回数" - }, - "kdfIterationsDesc": { - "message": "KDF反復回数が多いほどマスターパスワードに対する総当たり攻撃に強くなります。$VALUE$以上を推奨します。", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "KDF反復回数が多すぎると遅いCPUのデバイスでログイン・ロック解除時のパフォーマンスが低下します。$INCREMENT$ずつ回数を増やし全てのデバイスでテストすることを推奨します。", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "KDFの変更" - }, - "encKeySettingsChanged": { - "message": "暗号化キーの設定が変更されました" - }, - "dangerZone": { - "message": "危険な操作" - }, - "dangerZoneDesc": { - "message": "これらの操作はやり直せないため注意してください!" - }, - "deauthorizeSessions": { - "message": "セッションの承認を取り消す" - }, - "deauthorizeSessionsDesc": { - "message": "あなたのアカウントに別のデバイスからログインされていますか? 以下で以前に使用したすべてのコンピューターやデバイスの認証を解除できます。 このステップは、以前に公共のコンピューターを使用した場合や、誤って他人のデバイスにパスワードを保存した場合におすすめです。 以前に記憶された二段階認証のログインセッションもすべてクリアされます。" - }, - "deauthorizeSessionsWarning": { - "message": "次に進むと現在のセッションからログアウトし二段階認証を含め再度ログインが必要になります。他のデバイスでのセッションは1時間程度維持されます。" - }, - "sessionsDeauthorized": { - "message": "全てのセッションを無効化" - }, - "purgeVault": { - "message": "保管庫を削除" - }, - "purgedOrganizationVault": { - "message": "組織の保管庫を削除" - }, - "purgeVaultDesc": { - "message": "続行すると保管庫内のすべてのアイテムとフォルダーが削除されます。組織と共有しているアイテムは削除されません。" - }, - "purgeOrgVaultDesc": { - "message": "続行すると組織の保管庫内の全てのアイテムを削除します。" - }, - "purgeVaultWarning": { - "message": "保管庫を恒久的に削除します。元に戻すことはできません。" - }, - "vaultPurged": { - "message": "あなたの保管庫は削除されました。" - }, - "deleteAccount": { - "message": "アカウントの削除" - }, - "deleteAccountDesc": { - "message": "続行するとアカウントと関連するすべてのデータが削除されます。" - }, - "deleteAccountWarning": { - "message": "アカウントを恒久的に削除します。元に戻すことはできません。" - }, - "accountDeleted": { - "message": "アカウントが削除されました" - }, - "accountDeletedDesc": { - "message": "アカウントが削除され、すべての関連するデータが削除されました。" - }, - "myAccount": { - "message": "マイアカウント" - }, - "tools": { - "message": "ツール" - }, - "importData": { - "message": "データをインポート" - }, - "importSuccess": { - "message": "データを保管庫にインポートしました。" - }, - "importFormatError": { - "message": "データが正しい形式ではありません。インポートするファイルを確認してやり直してください。" - }, - "importNothingError": { - "message": "何もインポートされませんでした。" - }, - "selectFormat": { - "message": "インポートするファイルの形式を選択" - }, - "selectImportFile": { - "message": "インポートするファイルを選択" - }, - "orCopyPasteFileContents": { - "message": "またはインポートするファイルの中身をコピーして貼り付け" - }, - "instructionsFor": { - "message": "$NAME$ 向けの説明", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "オプション" - }, - "optionsDesc": { - "message": "ウェブ保管庫の動作をカスタマイズします。" - }, - "optionsUpdated": { - "message": "オプションを更新しました" - }, - "language": { - "message": "Language" - }, - "languageDesc": { - "message": "ウェブ保管庫で使用する言語を変更します。" - }, - "disableIcons": { - "message": "ウェブサイトアイコンの無効化" - }, - "disableIconsDesc": { - "message": "保管庫のアイテム毎にウェブサイトのアイコンを表示します。" - }, - "enableGravatars": { - "message": "Gravatar を有効化", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "gravatar.com から読み込んだアバター画像を使います。" - }, - "enableFullWidth": { - "message": "全幅レイアウトを有効化", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "ウェブ保管庫の幅をブラウザウインドウ一杯に広げます。" - }, - "default": { - "message": "デフォルト" - }, - "domainRules": { - "message": "ドメインルール" - }, - "domainRulesDesc": { - "message": "複数の異なるドメインで同じログイン情報を用いることができます。「グローバルドメイン」はBitwardenにより予め作成されたものです。" - }, - "globalEqDomains": { - "message": "グローバルドメイン" - }, - "customEqDomains": { - "message": "カスタムドメイン" - }, - "exclude": { - "message": "無効化" - }, - "include": { - "message": "有効化" - }, - "customize": { - "message": "カスタマイズ" - }, - "newCustomDomain": { - "message": "新規カスタムドメイン" - }, - "newCustomDomainDesc": { - "message": "コンマで区切ったドメインリストを入力します。サブドメインを除いて入力してください。例えば、\"www.google.com\"ではなく\"google.com\"を入力します。\"androidapp://package.name\"の形式で入力することでドメインとAndroidアプリを関連付けることもできます。" - }, - "customDomainX": { - "message": "カスタムドメイン $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "ドメインが更新されました" - }, - "twoStepLogin": { - "message": "2段階認証" - }, - "twoStepLoginDesc": { - "message": "ログイン時に追加の手順を必要としアカウントを保護します。" - }, - "twoStepLoginOrganizationDesc": { - "message": "組織レベルで認証プロバイダを設定することで、組織のユーザーに二段階の認証を必要とします。" - }, - "twoStepLoginRecoveryWarning": { - "message": "二段階認証を有効にすると Bitwarden アカウントから永久に閉め出されてしまうことがあります。リカバリーコードがあれば、通常の二段階認証プロバイダを使えなくなったとき(デバイスの紛失等)でもアカウントにアクセスできます。アカウントにアクセスできなくなっても Bitwarden はサポート出来ないため、リカバリーコードを書き出すか印刷し安全な場所で保管しておくことを推奨します。" - }, - "viewRecoveryCode": { - "message": "リカバリーコードを確認" - }, - "providers": { - "message": "プロバイダ", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "有効化" - }, - "enabled": { - "message": "有効化されました" - }, - "premium": { - "message": "プレミアム版", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "プレミアム会員" - }, - "premiumRequired": { - "message": "プレミアム会員専用" - }, - "premiumRequiredDesc": { - "message": "この機能はプレミアム会員専用です。" - }, - "youHavePremiumAccess": { - "message": "あなたはプレミアム会員です。" - }, - "alreadyPremiumFromOrg": { - "message": "あなたが属している組織のおかげで、あなたは既にプレミアム機能が利用可能です。" - }, - "manage": { - "message": "管理" - }, - "disable": { - "message": "無効化" - }, - "twoStepLoginProviderEnabled": { - "message": "この二段階認証プロバイダは、あなたのアカウントで有効になっています。" - }, - "twoStepLoginAuthDesc": { - "message": "二段階認証の設定を変更するためにマスターパスワードを入力して下さい。" - }, - "twoStepAuthenticatorDesc": { - "message": "認証アプリによる二段階認証を設定するために必要な手順:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "二段階認証アプリをダウンロード" - }, - "twoStepAuthenticatorNeedApp": { - "message": "二段階認証アプリが必要ですか?以下からダウンロードして下さい。" - }, - "iosDevices": { - "message": "iOS デバイス" - }, - "androidDevices": { - "message": "Android デバイス" - }, - "windowsDevices": { - "message": "Windows デバイス" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "これらのアプリがお勧めですが、他の認証アプリでも動作します。" - }, - "twoStepAuthenticatorScanCode": { - "message": "認証アプリでQRコードをスキャンして下さい。" - }, - "key": { - "message": "キー" - }, - "twoStepAuthenticatorEnterCode": { - "message": "認証アプリに表示された6桁の確認コードを入力して下さい。" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "別のデバイスの認証アプリを利用する場合、以下のQRコード(またはキー)が必要となります。" - }, - "twoStepDisableDesc": { - "message": "この二段階認証プロバイダを無効にしますか?" - }, - "twoStepDisabled": { - "message": "二段階認証プロバイダが無効化されました。" - }, - "twoFactorYubikeyAdd": { - "message": "アカウントに新しい YubiKey を追加する" - }, - "twoFactorYubikeyPlugIn": { - "message": "YubiKey をコンピューターの USB ポートに挿入してください。" - }, - "twoFactorYubikeySelectKey": { - "message": "最初の未入力の YubiKey 入力フィールドを選択してください。" - }, - "twoFactorYubikeyTouchButton": { - "message": "YubiKey のボタンにタッチします。" - }, - "twoFactorYubikeySaveForm": { - "message": "フォームを保存します。" - }, - "twoFactorYubikeyWarning": { - "message": "プラットフォームの制限により YubiKey は Bitwarden のアプリケーションのすべてで使用できるわけではありません。他の二段階認証プロバイダを有効化しておくと、YubiKey が使用できない場合でもアカウントにアクセスできます。対応プラットフォーム:" - }, - "twoFactorYubikeySupportUsb": { - "message": "ウェブ保管庫、デスクトップアプリ、コマンドラインツール、USBポートのあるデバイス上のブラウザ拡張機能では YubiKey を使用できます。" - }, - "twoFactorYubikeySupportMobile": { - "message": "NFCまたはUSBポートのあるデバイスのモバイルアプリではYubiKeyを使用できます。" - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "U2F対応キー $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "NFC対応" - }, - "twoFactorYubikeySupportsNfc": { - "message": "NFC対応のYubiKeyが含まれています" - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "NFC対応のYubiKey(YubiKey NEOなど)が含まれる場合、NFC対応のモバイルデバイスで確認画面が表示されます。" - }, - "yubikeysUpdated": { - "message": "YubiKeyが更新されました" - }, - "disableAllKeys": { - "message": "すべてのキーを無効化" - }, - "twoFactorDuoDesc": { - "message": "Bitwardenアプリの情報をDuoの管理パネルから入力して下さい。" - }, - "twoFactorDuoIntegrationKey": { - "message": "連携キー" - }, - "twoFactorDuoSecretKey": { - "message": "秘密鍵" - }, - "twoFactorDuoApiHostname": { - "message": "API のホスト名" - }, - "twoFactorEmailDesc": { - "message": "Eメールによる二段階認証を設定するために必要な手順:" - }, - "twoFactorEmailEnterEmail": { - "message": "認証コードを受信したいメールアドレスを入力して下さい。" - }, - "twoFactorEmailEnterCode": { - "message": "Eメールに記載された6桁の認証コードを入力して下さい。" - }, - "sendEmail": { - "message": "メールを送信" - }, - "twoFactorU2fAdd": { - "message": "FIDO U2F対応キーをアカウントに追加" - }, - "removeU2fConfirmation": { - "message": "本当にこのセキュリティキーを削除しますか?" - }, - "readKey": { - "message": "読み取りキー" - }, - "keyCompromised": { - "message": "キーが壊れています。" - }, - "twoFactorU2fGiveName": { - "message": "セキュリティキーを識別するための名前を追加します。" - }, - "twoFactorU2fPlugInReadKey": { - "message": "セキュリティキーをコンピューターのUSBポートに差し込み、「読み取りキー」ボタンをクリックしてください。" - }, - "twoFactorU2fTouchButton": { - "message": "セキュリティキーにボタンがある場合、タッチして下さい。" - }, - "twoFactorU2fSaveForm": { - "message": "フォームを保存します。" - }, - "twoFactorU2fWarning": { - "message": "プラットフォームの制限によりFIDO U2F対応キーはBitwardenのアプリケーションのすべてで使用できるわけではありません。他の二段階認証プロバイダを有効化しておくと、FIDO U2F対応キーが使用できない場合でもアカウントにアクセスできます。サポートされるプラットフォーム:" - }, - "twoFactorU2fSupportWeb": { - "message": "ウェブ保管庫とU2Fに対応したブラウザ(Chrome、Opera、Vivaldi、Firefox)のブラウザ拡張機能" - }, - "twoFactorU2fWaiting": { - "message": "セキュリティキーのボタンがタッチされるのを待っています。" - }, - "twoFactorU2fClickSave": { - "message": "このセキュリティキーを二段階認証で有効化するには、「保存」ボタンをクリックして下さい。" - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "セキュリティキーの読み取り中に問題が発生しました。もう一度やり直して下さい。" - }, - "twoFactorRecoveryYourCode": { - "message": "二段階認証のリカバリーコード" - }, - "twoFactorRecoveryNoCode": { - "message": "あなたはまだ二段階認証プロバイダを有効化していません。有効化すると、ここでリカバリーコードを確認できます。" - }, - "printCode": { - "message": "コードを印刷する", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "レポート" - }, - "unsecuredWebsitesReport": { - "message": "非セキュアウェブサイト調査" - }, - "unsecuredWebsitesReportDesc": { - "message": "http://方式のセキュリティ保護されていないウェブサイトは危険です。ウェブサイトが対応していれば、接続が暗号化されるhttps://方式を常時利用すべきです。" - }, - "unsecuredWebsitesFound": { - "message": "セキュリティ保護されていないウェブサイトが見つかりました" - }, - "unsecuredWebsitesFoundDesc": { - "message": "セキュアでないURIが$COUNT$個のアイテムで見つかりました。ウェブサイトが対応しているならば、URIをhttps://形式に変更すべきです。", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "セキュアでないURIを持つアイテムは見つかりませんでした。" - }, - "inactive2faReport": { - "message": "非アクティブ二段階認証調査" - }, - "inactive2faReportDesc": { - "message": "二段階認証(2FA)はアカウントをセキュアにするのを助ける重要なセキュリティ設定です。ウェブサイトが対応している場合、二段階認証を常時有効化すべきです。" - }, - "inactive2faFound": { - "message": "二段階認証を利用していないアイテムが見つかりました" - }, - "inactive2faFoundDesc": { - "message": "保管庫内に二段階認証(ウェブサイトが対応しているかは2fa.directoryによる情報)が設定されていない可能性がある$COUNT$個のウェブサイトが見つかりました。これらのアカウントをよりセキュアにするため、二段階認証を有効化すべきです。", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "二段階認証が設定されていないアイテムは見つかりませんでした。" - }, - "instructions": { - "message": "使い方" - }, - "exposedPasswordsReport": { - "message": "流出パスワード調査" - }, - "exposedPasswordsReportDesc": { - "message": "流出したパスワードとは、クラッカーによりダークウェブ上で公開または販売された既知の流出データに掲載されているパスワードのことです。" - }, - "exposedPasswordsFound": { - "message": "流出したパスワードが見つかりました" - }, - "exposedPasswordsFoundDesc": { - "message": "既知のデータ流出で公開されていたパスワードが $COUNT$ 個のアイテムで見つかりました。これらは新しいパスワードへ変更すべきです。", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "既知のデータ流出で公開されているパスワードは見つかりませんでした。" - }, - "checkExposedPasswords": { - "message": "流出したパスワードを確認" - }, - "exposedXTimes": { - "message": "流出 $COUNT$回", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "脆弱パスワード調査" - }, - "weakPasswordsReportDesc": { - "message": "脆弱なパスワードは、ハッカーによって簡単に推測することができ、また自動化されたツールでパスワードが解析されます。Bitwardenのパスワード生成ツールを使用すると、強力なパスワードを作成することができます。" - }, - "weakPasswordsFound": { - "message": "脆弱なパスワードが見つかりました" - }, - "weakPasswordsFoundDesc": { - "message": "保管庫内に$COUNT$個の強力でないパスワードが見つかりました。もっと強力なパスワードへ更新すべきです。", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "脆弱なパスワードは見つかりませんでした。" - }, - "reusedPasswordsReport": { - "message": "再利用パスワード調査" - }, - "reusedPasswordsReportDesc": { - "message": "あなたが使用するサービスのデータが流出し、同じパスワードを他でも利用していた場合、ハッカーは簡単に複数のオンラインアカウントへのアクセスが可能となります。すべてのアカウント・サービスでそれぞれ異なるパスワードを使用すべきです。" - }, - "reusedPasswordsFound": { - "message": "再利用しているパスワードが見つかりました。" - }, - "reusedPasswordsFoundDesc": { - "message": "$COUNT$個の再利用しているパスワードが見つかりました。それぞれ異なるパスワードへ変更すべきです。", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "再利用しているパスワードは見つかりませんでした。" - }, - "reusedXTimes": { - "message": "再利用 $COUNT$回", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "情報漏えい調査" - }, - "breachDesc": { - "message": "ハッカーに不正にアクセスされ、サイトのデータが流出した事件の情報から、あなたのメールアドレス、パスワード、クレジットカードなどが危険に晒されていないかを調査し、パスワード変更など適切な対処を行いましょう。" - }, - "breachCheckUsernameEmail": { - "message": "チェックしたいユーザー名またはメールアドレスを入力して下さい。" - }, - "checkBreaches": { - "message": "調査する" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$は漏えいデータ内に見つかりませんでした。", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "良いお知らせです!", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$は$COUNT$つの漏えいデータ内で見つかりました。", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "漏えいデータが見つかりました" - }, - "compromisedData": { - "message": "漏えいしたデータ" - }, - "website": { - "message": "ウェブサイト" - }, - "affectedUsers": { - "message": "影響を受けるユーザー" - }, - "breachOccurred": { - "message": "発生日" - }, - "breachReported": { - "message": "報告日" - }, - "reportError": { - "message": "調査データのロード中にエラーが発生しました。もう一度やり直して下さい。" - }, - "billing": { - "message": "料金" - }, - "accountCredit": { - "message": "アカウント クレジット", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "アカウント残高", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "クレジットの追加", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "金額", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "支払いが完全に処理された後、追加のクレジットがアカウントに表示されます。お支払い方法によっては、遅延したり他の方法よりも処理に時間が掛かることがあります。" - }, - "makeSureEnoughCredit": { - "message": "購入に使用できるだけのクレジットが登録されているか確認してください。使用可能なクレジットが不足している場合、差額にはデフォルトのお支払い方法が利用されます。「料金」ページから悪ントにクレジットを追加できます。" - }, - "creditAppliedDesc": { - "message": "アカウントに登録されたクレジットは購入に使用できます。使用可能なクレジットは、このアカウントへの請求に自動的に適用されます。" - }, - "goPremium": { - "message": "プレミアム版にアップグレード", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "プレミアム版にアップグレードされました。" - }, - "premiumUpgradeUnlockFeatures": { - "message": "プレミアム会員にアップグレードして他の素晴らしい追加機能を使えるようにします。" - }, - "premiumSignUpStorage": { - "message": "1GB の暗号化されたファイルストレージ" - }, - "premiumSignUpTwoStep": { - "message": "YubiKey、FIDO U2F、Duoなどの追加の2段階認証ログインオプション" - }, - "premiumSignUpReports": { - "message": "保管庫を安全に保つための、パスワードやアカウントの健全性、データ侵害に関するレポート" - }, - "premiumSignUpTotp": { - "message": "保管庫内での2段階認証コード生成" - }, - "premiumSignUpSupport": { - "message": "優先カスタマーサポート" - }, - "premiumSignUpFuture": { - "message": "将来のプレミアム機能すべて(詳細は近日公開予定!)" - }, - "premiumPrice": { - "message": "全部で年間たった$PRICE$!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "アドオン" - }, - "premiumAccess": { - "message": "プレミアムアクセス" - }, - "premiumAccessDesc": { - "message": "$PRICE$/$INTERVAL$で、あなたの組織のすべてのメンバーにプレミアム機能を付帯できます。", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "追加ストレージ容量(GB)" - }, - "additionalStorageGbDesc": { - "message": "# 追加容量(GB)" - }, - "additionalStorageIntervalDesc": { - "message": "あなたのプランは$SIZE$の暗号化ファイルストレージを使用できます。1GBあたり$PRICE$/$INTERVAL$でストレージ容量を追加できます。", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "概要" - }, - "total": { - "message": "合計" - }, - "year": { - "message": "年" - }, - "month": { - "message": "月" - }, - "monthAbbr": { - "message": "月", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "お支払い方法はすぐに変更され、毎年定期的に課金されます。いつでもキャンセルできます。" - }, - "paymentCharged": { - "message": "お支払い方法はすぐに変更され、$INTERVAL$ごとに課金されます。いつでもキャンセルできます。", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "ご利用のプランでは、7日間の無料トライアルが可能です。トライアル期間が終わるまでは課金されません。トライアル終了後、$INTERVAL$毎に請求されます。いつでもキャンセルできます。", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "お支払い情報" - }, - "billingInformation": { - "message": "Billing Information" - }, - "creditCard": { - "message": "クレジットカード" - }, - "paypalClickSubmit": { - "message": "PayPalボタンからPayPalアカウントにログインし、送信ボタンをクリックし続行して下さい。" - }, - "cancelSubscription": { - "message": "契約のキャンセル" - }, - "subscriptionCanceled": { - "message": "契約はキャンセルされました。" - }, - "pendingCancellation": { - "message": "保留中のキャンセル" - }, - "subscriptionPendingCanceled": { - "message": "契約は現在の請求期間の終期にキャンセルされます。" - }, - "reinstateSubscription": { - "message": "契約の再開" - }, - "reinstateConfirmation": { - "message": "本当に保留中のキャンセルを削除して契約を再開しますか?" - }, - "reinstated": { - "message": "契約が再開されました。" - }, - "cancelConfirmation": { - "message": "本当にキャンセルしますか?契約していたすべての追加機能が請求期間の終期で利用できなくなります。" - }, - "canceledSubscription": { - "message": "契約はキャンセルされました。" - }, - "neverExpires": { - "message": "無期限" - }, - "status": { - "message": "ステータス" - }, - "nextCharge": { - "message": "次回の請求" - }, - "details": { - "message": "詳細" - }, - "downloadLicense": { - "message": "ライセンスのダウンロード" - }, - "updateLicense": { - "message": "ライセンスの更新" - }, - "updatedLicense": { - "message": "ライセンスは更新されました" - }, - "manageSubscription": { - "message": "契約の管理" - }, - "storage": { - "message": "ストレージ" - }, - "addStorage": { - "message": "ストレージの追加" - }, - "removeStorage": { - "message": "追加したストレージの削除" - }, - "subscriptionStorage": { - "message": "あなたの契約は合計$MAX_STORAGE$GBの暗号化ファイルストレージを利用できます。現在、$USED_STORAGE$使用しています。", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "お支払い方法" - }, - "noPaymentMethod": { - "message": "お支払い方法が登録されていません。" - }, - "addPaymentMethod": { - "message": "お支払い方法を追加" - }, - "changePaymentMethod": { - "message": "お支払い方法の変更" - }, - "invoices": { - "message": "請求" - }, - "noInvoices": { - "message": "請求なし" - }, - "paid": { - "message": "支払済み", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "未払い", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "取引", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "取引はありません" - }, - "chargeNoun": { - "message": "料金", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "払い戻し", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "料金は$STATEMENT_NAME$と明細に表示されます。", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "追加するストレージ容量(GB)" - }, - "gbStorageRemove": { - "message": "削除するストレージ容量(GB)" - }, - "storageAddNote": { - "message": "ストレージ容量を追加すると、請求金額が変更され、登録されたお支払い方法に直ちに差額が請求されます。初めに請求された分は現在の請求期間の残りの期間で按分されます。" - }, - "storageRemoveNote": { - "message": "ストレージ容量を削除すると、請求金額が変更され、差額は次回請求時のクレジットとして割り当てられます。" - }, - "adjustedStorage": { - "message": "ストレージ容量が$AMOUNT$GBに変更されました。", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "カスタマーサポートに連絡" - }, - "updatedPaymentMethod": { - "message": "お支払い方法を更新しました。" - }, - "purchasePremium": { - "message": "プレミアム会員に加入" - }, - "licenseFile": { - "message": "ライセンスファイル" - }, - "licenseFileDesc": { - "message": "ライセンスファイルは$FILE_NAME$のような名前のものです。", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "プレミアム会員にアップグレードするには、有効なライセンスファイルをアップロードする必要があります。" - }, - "uploadLicenseFileOrg": { - "message": "オンプレミス型の組織を作成するには、正しいライセンスファイルをアップロードする必要があります。" - }, - "accountEmailMustBeVerified": { - "message": "アカウントのメールアドレスを確認する必要があります。" - }, - "newOrganizationDesc": { - "message": "組織では、保管庫のアイテムを共有したり家族・小規模チーム・大企業など特定のグループに関連するユーザーを管理することができます。" - }, - "generalInformation": { - "message": "一般情報" - }, - "organizationName": { - "message": "組織名" - }, - "accountOwnedBusiness": { - "message": "このアカウントはビジネス用です。" - }, - "billingEmail": { - "message": "お支払い用メールアドレス" - }, - "businessName": { - "message": "企業名" - }, - "chooseYourPlan": { - "message": "プランを選択してください" - }, - "users": { - "message": "ユーザー" - }, - "userSeats": { - "message": "ユーザー数" - }, - "additionalUserSeats": { - "message": "追加ユーザー数" - }, - "userSeatsDesc": { - "message": "# ユーザー数" - }, - "userSeatsAdditionalDesc": { - "message": "$BASE_SEATS$ユーザーまで利用できます。1ユーザーあたり月$SEAT_PRICE$で追加できます。", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "どれくらいのユーザー数が必要ですか?必要なときに後から追加することもできます。" - }, - "planNameFree": { - "message": "フリー", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "テスト目的や個人ユーザーは$COUNT$人の他のユーザーと共有できます。", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "ファミリー" - }, - "planDescFamilies": { - "message": "個人利用の場合、家族や友人と共有できます。" - }, - "planNameTeams": { - "message": "チーム" - }, - "planDescTeams": { - "message": "ビジネスやチーム組織のために。" - }, - "planNameEnterprise": { - "message": "エンタープライズ" - }, - "planDescEnterprise": { - "message": "ビジネスやその他の大きな組織のために。" - }, - "freeForever": { - "message": "永久に無料" - }, - "includesXUsers": { - "message": "$COUNT$ユーザーを含む", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "追加ユーザー" - }, - "costPerUser": { - "message": "1ユーザーにつき$COST$", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "あなたを含め$COUNT$ユーザーに限ります。", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "$COUNT$コレクションに限ります。", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "最大$COUNT$ユーザーとの共有", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "無制限の人数との共有" - }, - "createUnlimitedCollections": { - "message": "コレクション数無制限" - }, - "gbEncryptedFileStorage": { - "message": "暗号化ストレージ:$SIZE$", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "オンプレミス型ホスティング(オプション)" - }, - "usersGetPremium": { - "message": "ユーザーはプレミアム会員の機能を利用できます" - }, - "controlAccessWithGroups": { - "message": "グループ単位でユーザーのアクセス権を管理" - }, - "syncUsersFromDirectory": { - "message": "ユーザーとグループのディレクトリサービスからの同期" - }, - "trackAuditLogs": { - "message": "ユーザーの操作を確認できる監査ログ" - }, - "enforce2faDuo": { - "message": "Duoによる二段階認証を強制" - }, - "priorityCustomerSupport": { - "message": "優先カスタマーサポート" - }, - "xDayFreeTrial": { - "message": "$COUNT$日間の無料試用、いつでもキャンセル可能", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "1ヶ月" - }, - "annually": { - "message": "1年" - }, - "basePrice": { - "message": "基本価格" - }, - "organizationCreated": { - "message": "組織を作成しました" - }, - "organizationReadyToGo": { - "message": "新しい組織の準備ができました!" - }, - "organizationUpgraded": { - "message": "組織がアップグレードされました。" - }, - "leave": { - "message": "脱退" - }, - "leaveOrganizationConfirmation": { - "message": "本当にこの組織から脱退しますか?" - }, - "leftOrganization": { - "message": "組織から脱退しました。" - }, - "defaultCollection": { - "message": "既定のコレクション" - }, - "getHelp": { - "message": "ヘルプを参照する" - }, - "getApps": { - "message": "アプリを入手する" - }, - "loggedInAs": { - "message": "ログイン中のアカウント:" - }, - "eventLogs": { - "message": "イベントログ" - }, - "people": { - "message": "メンバー" - }, - "policies": { - "message": "方針" - }, - "editPolicy": { - "message": "方針を編集" - }, - "groups": { - "message": "グループ" - }, - "newGroup": { - "message": "新規グループ" - }, - "addGroup": { - "message": "グループの追加" - }, - "editGroup": { - "message": "グループの編集" - }, - "deleteGroupConfirmation": { - "message": "本当にこのグループを削除してもよろしいですか?" - }, - "removeUserConfirmation": { - "message": "本当にこのユーザーを削除してもよろしいですか?" - }, - "externalId": { - "message": "外部ID" - }, - "externalIdDesc": { - "message": "外部 ID は参照用や、ユーザーディレクトリーなどの外部システムへリソースをリンクするために使用できます。" - }, - "accessControl": { - "message": "アクセスコントロール" - }, - "groupAccessAllItems": { - "message": "全てのアイテムの読み取り・編集" - }, - "groupAccessSelectedCollections": { - "message": "選択コレクション内のアクセス" - }, - "readOnly": { - "message": "読み取り専用" - }, - "newCollection": { - "message": "新規コレクション" - }, - "addCollection": { - "message": "コレクションの追加" - }, - "editCollection": { - "message": "コレクションの編集" - }, - "deleteCollectionConfirmation": { - "message": "本当にこのコレクションを削除しますか?" - }, - "editUser": { - "message": "ユーザーの編集" - }, - "inviteUser": { - "message": "ユーザーの招待" - }, - "inviteUserDesc": { - "message": "組織に新しいユーザーを招待するには、そのユーザーのBitwardenアカウントのメールアドレスを入力して下さい。Bitwardenアカウントをお持ちでない場合は、アカウントの作成を求められます。" - }, - "inviteMultipleEmailDesc": { - "message": "「,」でメールアドレスを区切ることで、一度に最大$COUNT$ユーザーを招待できます。", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "このユーザーはアカウントを保護するため二段階認証を利用しています。" - }, - "userAccessAllItems": { - "message": "全てのアイテムの読み取り・編集" - }, - "userAccessSelectedCollections": { - "message": "選択コレクション内のアクセス" - }, - "search": { - "message": "検索" - }, - "invited": { - "message": "招待済み" - }, - "accepted": { - "message": "承諾済み" - }, - "confirmed": { - "message": "確認済み" - }, - "owner": { - "message": "オーナー" - }, - "ownerDesc": { - "message": "組織内のすべてを管理できる最高のアクセス権を与えます" - }, - "admin": { - "message": "管理者" - }, - "adminDesc": { - "message": "管理者はあなたの組織のすべてのアイテム、コレクション、ユーザーへアクセス・管理できます。" - }, - "user": { - "message": "ユーザー" - }, - "userDesc": { - "message": "あなたの組織に割り当てられたコレクションへのアクセス権を持つ標準ユーザーです。" - }, - "manager": { - "message": "マネージャー" - }, - "managerDesc": { - "message": "マネージャーは組織内の割り当てられたコレクションへアクセスし管理することができます。" - }, - "all": { - "message": "すべて" - }, - "refresh": { - "message": "更新" - }, - "timestamp": { - "message": "タイムスタンプ" - }, - "event": { - "message": "イベント" - }, - "unknown": { - "message": "不明" - }, - "loadMore": { - "message": "もっと見る" - }, - "mobile": { - "message": "モバイル", - "description": "Mobile app" - }, - "extension": { - "message": "拡張機能", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "デスクトップ", - "description": "Desktop app" - }, - "webVault": { - "message": "ウェブ保管庫" - }, - "loggedIn": { - "message": "ログイン" - }, - "changedPassword": { - "message": "パスワードの変更" - }, - "enabledUpdated2fa": { - "message": "二段階認証の有効化/更新" - }, - "disabled2fa": { - "message": "二段階認証の無効化" - }, - "recovered2fa": { - "message": "リカバリーコードによる認証" - }, - "failedLogin": { - "message": "誤ったパスワードによるログインの失敗" - }, - "failedLogin2fa": { - "message": "二段階認証時の誤りによるログインの失敗" - }, - "exportedVault": { - "message": "保管庫をエクスポートしました。" - }, - "exportedOrganizationVault": { - "message": "組織の保管庫をエクスポートしました。" - }, - "editedOrgSettings": { - "message": "組織の設定の編集" - }, - "createdItemId": { - "message": "アイテム「$ID$」の作成", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "アイテム「$ID$」の編集", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "アイテム「$ID$」の削除", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "アイテム「$ID$」の共有", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "アイテム $ID$ を表示しました。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "アイテム $ID$ のパスワードを表示しました。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "アイテム $ID$ の隠しフィールドを表示しました。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "アイテム $ID$ のセキュリティコードを表示しました。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "アイテム $ID$ のパスワードをコピーしました。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "アイテム $ID$ の隠しフィールドをコピーしました。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "アイテム $ID$ のセキュリティコードをコピーしました。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "アイテム $ID$ を自動入力しました。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "コレクション「$ID$」の作成", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "コレクション「$ID$」の編集", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "コレクション「$ID$」の削除", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "編集された方針:$ID$", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "グループ「$ID$」の作成", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "グループ「$ID$」の編集", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "グループ「$ID$」の削除", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "ユーザー「$ID$」の削除", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "アイテム「$ID$」の添付ファイルの作成", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "アイテム「$ID$」の添付ファイルの削除", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "アイテム「$ID$」のコレクションの編集", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "ユーザー「$ID$」の招待", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "ユーザー「$ID$」の確認", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "ユーザー「$ID$」の編集", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "ユーザー「$ID$」のグループの編集", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "デバイス" - }, - "view": { - "message": "表示" - }, - "invalidDateRange": { - "message": "日付範囲が正しくありません。" - }, - "errorOccurred": { - "message": "エラーが発生しました。" - }, - "userAccess": { - "message": "ユーザーのアクセス" - }, - "userType": { - "message": "ユーザーの種類" - }, - "groupAccess": { - "message": "グループのアクセス" - }, - "groupAccessUserDesc": { - "message": "このユーザーが属するグループを編集します。" - }, - "invitedUsers": { - "message": "ユーザーを招待します。" - }, - "resendInvitation": { - "message": "招待を再送信" - }, - "hasBeenReinvited": { - "message": "$USER$が再招待されました。", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "確認" - }, - "confirmUser": { - "message": "ユーザーの確認" - }, - "hasBeenConfirmed": { - "message": "$USER$が確認されました。", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "ユーザーの確認" - }, - "usersNeedConfirmed": { - "message": "招待を受け入れ確認待ちのユーザーがいます。未確認のユーザーは組織にアクセスできません。" - }, - "startDate": { - "message": "開始日時" - }, - "endDate": { - "message": "終了日時" - }, - "verifyEmail": { - "message": "メールアドレスを確認" - }, - "verifyEmailDesc": { - "message": "メールアドレスを確認するとすべての機能が使用できます。" - }, - "verifyEmailFirst": { - "message": "アカウントのメールアドレスを確認する必要があります。" - }, - "checkInboxForVerification": { - "message": "確認用のリンクが記載されたメールをチェックしてください。" - }, - "emailVerified": { - "message": "メールアドレスが確認されました。" - }, - "emailVerifiedFailed": { - "message": "メールアドレスを確認できませんでした。確認メールを再送信してください。" - }, - "updateBrowser": { - "message": "ブラウザを更新" - }, - "updateBrowserDesc": { - "message": "サポートされていないブラウザを使用しています。ウェブ保管庫が正しく動作しないかもしれません。" - }, - "joinOrganization": { - "message": "組織に参加" - }, - "joinOrganizationDesc": { - "message": "あなたは上記の組織への参加の招待を受けています。招待を承諾するには、ログインするかBitwardenアカウントを作成してください。" - }, - "inviteAccepted": { - "message": "招待が承諾されました。" - }, - "inviteAcceptedDesc": { - "message": "組織の管理者が承認すると組織へアクセスできるようになります。アクセスできるようになったらメールでお知らせします。" - }, - "inviteAcceptFailed": { - "message": "招待を承諾出来ませんでした。組織の管理者に招待を再送信するように依頼してください。" - }, - "inviteAcceptFailedShort": { - "message": "招待を受けることができません。$DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "メールアドレスを保存" - }, - "recoverAccountTwoStepDesc": { - "message": "もし通常の二段階認証の方法でアカウントにアクセスできなくなった場合、リカバリーコードにより全ての二段階認証プロバイダを無効化することができます。" - }, - "recoverAccountTwoStep": { - "message": "二段階認証ログインの回復" - }, - "twoStepRecoverDisabled": { - "message": "二段階認証が無効化されました。" - }, - "learnMore": { - "message": "詳細" - }, - "deleteRecoverDesc": { - "message": "メールアドレスを入力してアカウントを削除します。" - }, - "deleteRecoverEmailSent": { - "message": "アカウントが存在する場合、詳細な手順を記載したメールを送信しました。" - }, - "deleteRecoverConfirmDesc": { - "message": "Bitwardenアカウント削除のリクエストがありました。削除する場合はボタンをクリックしてください。" - }, - "myOrganization": { - "message": "組織" - }, - "deleteOrganization": { - "message": "組織の削除" - }, - "deleteOrganizationDesc": { - "message": "続行するとこの組織と関連するすべてのデータが削除されます。組織と関連がなくなっても個々のユーザーアカウントは維持されます。" - }, - "deleteOrganizationWarning": { - "message": "組織を恒久的に削除します。元に戻すことはできません。" - }, - "organizationDeleted": { - "message": "組織が削除されました。" - }, - "organizationDeletedDesc": { - "message": "組織と関連するすべてのデータが削除されました。" - }, - "organizationUpdated": { - "message": "組織を更新しました" - }, - "taxInformation": { - "message": "税金情報" - }, - "taxInformationDesc": { - "message": "請求書に税務情報を提供(更新)する場合、サポートにご連絡ください。" - }, - "billingPlan": { - "message": "プラン", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "プラン変更", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "下記の情報を入力してアカウントを他のプランにアップグレードしてください。アカウントに有効な支払い方法が追加されていることを確認してください。", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "契約プランを変更したい場合はサポートまでご連絡ください。アカウントに有効なお支払い方法が登録されていることをご確認ください。", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "請求 #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "請求を確認" - }, - "downloadInvoice": { - "message": "請求書ダウンロード" - }, - "verifyBankAccount": { - "message": "銀行口座の認証" - }, - "verifyBankAccountDesc": { - "message": "あなたの銀行口座に2件の少額送金を行います(着金まで1-2営業日かかります)。送金された金額を入力して銀行口座の確認を完了してください。" - }, - "verifyBankAccountInitialDesc": { - "message": "銀行口座によるお支払いはアメリカ合衆国のお客様のみ利用でき銀行口座の確認が必要となります。1-2営業日以内に2件の少額送金を行いますので、組織のお支払いページから送金された金額を入力して銀行口座の確認を完了して下さい。" - }, - "verifyBankAccountFailureWarning": { - "message": "銀行口座の確認に失敗するとお支払いはキャンセルされ契約は無効となります。" - }, - "verifiedBankAccount": { - "message": "銀行口座が確認されました。" - }, - "bankAccount": { - "message": "銀行口座" - }, - "amountX": { - "message": "送金$COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "ルーティングナンバー", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "口座番号" - }, - "accountHolderName": { - "message": "口座名義人" - }, - "bankAccountType": { - "message": "口座種別" - }, - "bankAccountTypeCompany": { - "message": "ビジネス" - }, - "bankAccountTypeIndividual": { - "message": "個人" - }, - "enterInstallationId": { - "message": "インストールIDを入力してください。" - }, - "addSeats": { - "message": "ライセンスの追加", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "ライセンスの削除", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "あなたの契約では合計$COUNT$ユーザーまで利用できます。", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "ライセンスの追加" - }, - "seatsToRemove": { - "message": "ライセンスの削除" - }, - "seatsAddNote": { - "message": "ユーザー数を追加すると、請求金額が変更され、登録されたお支払い方法に直ちに差額が請求されます。初めに請求された分は現在の請求期間の残りの期間で按分されます。" - }, - "seatsRemoveNote": { - "message": "ユーザー数を削除すると、請求金額が変更され、差額は次回請求時のクレジットとして割り当てられます。" - }, - "adjustedSeats": { - "message": "ユーザー数が$AMOUNT$に変更されました。", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "キーが更新されました" - }, - "updateKeyTitle": { - "message": "キーの更新" - }, - "updateEncryptionKey": { - "message": "暗号化キーを更新します。" - }, - "updateEncryptionKeyShortDesc": { - "message": "古い暗号化方式が使用されています。" - }, - "updateEncryptionKeyDesc": { - "message": "より良いセキュリティと新しい機能が利用できる強力な暗号化方式へ移行することにしました。暗号化キーの更新は迅速かつ簡単です。以下にマスターパスワードを入力して下さい。この更新はやがて必須になります。" - }, - "updateEncryptionKeyWarning": { - "message": "暗号化キーの更新後は、モバイルアプリやブラウザ拡張機能など現在利用中のすべてのBitwardenアプリで再ログインが必要となります。再ログインしないと(新しい暗号化キーをダウンロードすると)データが破損する可能性があります。自動的にログアウトを試みますが、遅延することがあります。" - }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." - }, - "subscription": { - "message": "契約" - }, - "loading": { - "message": "読み込み中" - }, - "upgrade": { - "message": "アップグレード" - }, - "upgradeOrganization": { - "message": "組織のアップグレード" - }, - "upgradeOrganizationDesc": { - "message": "この機能は無料プランの組織では利用できません。有料プランに変更すると多数の機能が利用可能になります。" - }, - "createOrganizationStep1": { - "message": "組織の作成: 最初のステップ" - }, - "createOrganizationCreatePersonalAccount": { - "message": "組織を作成する前に無料の個人アカウントの作成が必要です。" - }, - "refunded": { - "message": "払い戻し" - }, - "nothingSelected": { - "message": "何も選択されていません。" - }, - "acceptPolicies": { - "message": "By checking this box you agree to the following:" - }, - "acceptPoliciesError": { - "message": "Terms of Service and Privacy Policy have not been acknowledged." - }, - "termsOfService": { - "message": "利用規約" - }, - "privacyPolicy": { - "message": "プライバシーポリシー" - }, - "filters": { - "message": "フィルタ" - }, - "vaultTimeout": { - "message": "保管庫のタイムアウト" - }, - "vaultTimeoutDesc": { - "message": "保管庫がタイムアウトし、選択したアクションを実行するタイミングを選択します。" - }, - "oneMinute": { - "message": "1分" - }, - "fiveMinutes": { - "message": "5分" - }, - "fifteenMinutes": { - "message": "15分" - }, - "thirtyMinutes": { - "message": "30分" - }, - "oneHour": { - "message": "1時間" - }, - "fourHours": { - "message": "4時間" - }, - "onRefresh": { - "message": "ページ更新時" - }, - "dateUpdated": { - "message": "更新日", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "パスワード更新日", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "組織は無効です。" - }, - "licenseIsExpired": { - "message": "ライセンスの有効期限が切れています。" - }, - "updatedUsers": { - "message": "ユーザーを更新しました" - }, - "selected": { - "message": "選択済み" - }, - "ownership": { - "message": "所有者" - }, - "whoOwnsThisItem": { - "message": "このアイテムは誰が所有していますか?" - }, - "strong": { - "message": "強力", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "良好", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "脆弱", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "非常に脆弱", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "脆弱なマスターパスワード" - }, - "weakMasterPasswordDesc": { - "message": "設定されたマスターパスワードの強度は脆弱です。Bitwarden アカウントを適切に保護するために、強力なマスターパスワード(またはパスフレーズ)を使用すべきです。本当にこのマスターパスワードを使用しますか?" - }, - "rotateAccountEncKey": { - "message": "暗号化キーをローテーションする" - }, - "rotateEncKeyTitle": { - "message": "暗号化キーをローテーションする" - }, - "rotateEncKeyConfirmation": { - "message": "暗号化キーをローテーションしてよろしいですか?" - }, - "attachmentsNeedFix": { - "message": "このアイテムは添付ファイルが古いため修正する必要があります。" - }, - "attachmentFixDesc": { - "message": "これは古い添付ファイルのため修正する必要があります。詳しくはこちら。" - }, - "fix": { - "message": "修正", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "暗号化キーのローテーションを行う前に、保管庫内の古い添付ファイルを修正する必要があります。" - }, - "yourAccountsFingerprint": { - "message": "アカウントのパスフレーズ", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "暗号化キーの完全性を確保するため、先にパスフレーズを確認してください。", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "今後パスフレーズを確認しない", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "無料", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "API キー" - }, - "apiKeyDesc": { - "message": "API キーは Bitwarden パブリック API で認証するために使用されます。" - }, - "apiKeyRotateDesc": { - "message": "API キーをローテーションさせると、前のキーが無効になります。現在のキーが安全でないと思ったときに API キーをローテーションさせてください。" - }, - "apiKeyWarning": { - "message": "API キーは組織へのフルアクセス権限を持っています。漏れないよう秘密にしてください。" - }, - "userApiKeyDesc": { - "message": "Your API key can be used to authenticate in the Bitwarden CLI." - }, - "userApiKeyWarning": { - "message": "Your API key is an alternative authentication mechanism. It should be kept secret." - }, - "oauth2ClientCredentials": { - "message": "OAuth 2.0 クライアント資格情報", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "API キーを表示" - }, - "rotateApiKey": { - "message": "API キーをローテーション" - }, - "selectOneCollection": { - "message": "最低でも一つのコレクションを選んでください。" - }, - "couldNotChargeCardPayInvoice": { - "message": "あなたのカードで決済することができませんでした。以下の未払いの請求書をご確認いただき、お支払いください。" - }, - "inAppPurchase": { - "message": "アプリ内購入" - }, - "cannotPerformInAppPurchase": { - "message": "アプリ内購入を使用している間はこのアクションはできません。" - }, - "manageSubscriptionFromStore": { - "message": "アプリ内購入したストアでサブスクリプションを管理してください。" - }, - "minLength": { - "message": "最小文字数" - }, - "clone": { - "message": "複製" - }, - "masterPassPolicyDesc": { - "message": "マスターパスワードの強度に最低要件を設定する。" - }, - "twoStepLoginPolicyDesc": { - "message": "2段階認証の設定を要求する。" - }, - "twoStepLoginPolicyWarning": { - "message": "2段階認証を有効にしないメンバーは組織から除外され、メールで通知されます。" - }, - "twoStepLoginPolicyUserWarning": { - "message": "2段階認証を必要とする組織に入っています。2段階認証をすべて無効にすると、それらの組織からは自動的に除外されます。" - }, - "passwordGeneratorPolicyDesc": { - "message": "パスワード生成の最低要件を設定する。" - }, - "passwordGeneratorPolicyInEffect": { - "message": "組織の要件がパスワード生成の設定に影響しています。" - }, - "masterPasswordPolicyInEffect": { - "message": "組織が求めるマスターパスワードの要件は:" - }, - "policyInEffectMinComplexity": { - "message": "複雑度は最低$SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "長さは最低$LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "大文字が最低1つ必要" - }, - "policyInEffectLowercase": { - "message": "小文字が最低1つ必要" - }, - "policyInEffectNumbers": { - "message": "数字が最低1つ必要" - }, - "policyInEffectSpecial": { - "message": "次の記号から1つ以上:$CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "新しいマスターパスワードは最低要件を満たしていません。" - }, - "minimumNumberOfWords": { - "message": "文字の最小数" - }, - "defaultType": { - "message": "デフォルトのタイプ" - }, - "userPreference": { - "message": "ユーザー設定" - }, - "vaultTimeoutAction": { - "message": "保管庫タイムアウト時のアクション" - }, - "vaultTimeoutActionLockDesc": { - "message": "ロックされた保管庫にアクセスするには、マスターパスワードを再入力してください。" - }, - "vaultTimeoutActionLogOutDesc": { - "message": "ログアウトした保管庫にアクセスするには、再認証してください。" - }, - "lock": { - "message": "ロック", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "ごみ箱", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "ごみ箱を検索" - }, - "permanentlyDelete": { - "message": "完全に削除" - }, - "permanentlyDeleteSelected": { - "message": "選択したものを完全に削除" - }, - "permanentlyDeleteItem": { - "message": "アイテムを完全に削除" - }, - "permanentlyDeleteItemConfirmation": { - "message": "このアイテムを完全に削除してもよろしいですか?" - }, - "permanentlyDeletedItem": { - "message": "完全に削除されたアイテム" - }, - "permanentlyDeletedItems": { - "message": "完全に削除されたアイテム" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "$COUNT$ 個のアイテムを選択しました。選択したすべてのアイテムを完全に削除してもよろしいですか?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "アイテム $ID$ を完全に削除しました。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "リストア" - }, - "restoreSelected": { - "message": "選択したものをリストア" - }, - "restoreItem": { - "message": "アイテムをリストア" - }, - "restoredItem": { - "message": "リストアされたアイテム" - }, - "restoredItems": { - "message": "リストアされたアイテム" - }, - "restoreItemConfirmation": { - "message": "このアイテムをリストアしますか?" - }, - "restoreItems": { - "message": "アイテムをリストア" - }, - "restoreSelectedItemsDesc": { - "message": "$COUNT$個のアイテムをリストアしようとしています。本当にこれらのアイテムをリストアしますか?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "アイテム $ID$ をリストアしました。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "ログアウトすると保管庫へのすべてのアクセスが制限され、タイムアウト期間後にオンライン認証が必要になります。 この設定を使用してもよろしいですか?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "タイムアウトアクションの確認" - }, - "hidePasswords": { - "message": "パスワードを隠す" - }, - "countryPostalCodeRequiredDesc": { - "message": "この情報は税計算と財務報告のために必要です。" - }, - "includeVAT": { - "message": "VAT/GST 情報を含める (任意)" - }, - "taxIdNumber": { - "message": "VAT/GST Tax ID" - }, - "taxInfoUpdated": { - "message": "TAX 情報を更新しました。" - }, - "setMasterPassword": { - "message": "マスターパスワードを設定" - }, - "ssoCompleteRegistration": { - "message": "SSO ログインを完了するには、保管庫にアクセス・保護するためのマスターパスワードを設定してください。" - }, - "identifier": { - "message": "識別子" - }, - "organizationIdentifier": { - "message": "組織識別子" - }, - "ssoLogInWithOrgIdentifier": { - "message": "組織のシングルサインオンポータルを使用してログインします。開始するには組織の識別子を入力してください。" - }, - "enterpriseSingleSignOn": { - "message": "組織のシングルサインオン" - }, - "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." - }, - "businessPortal": { - "message": "ビジネスポータル", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "すべてのチームの機能に加えて:" - }, - "includeSsoAuthentication": { - "message": "SAML2.0 と OpenID Connect による SSO 認証" - }, - "includeEnterprisePolicies": { - "message": "組織ポリシー" - }, - "ssoValidationFailed": { - "message": "SSO 認証に失敗しました" - }, - "ssoIdentifierRequired": { - "message": "組織識別子が必要です。" - }, - "unlinkSso": { - "message": "SSO のリンクを解除" - }, - "linkSso": { - "message": "SSO をリンク" - }, - "webPoliciesDeprecationWarning": { - "message": "Policy configuration has been moved, and this page will soon be deprecated. Please click below to use the Business Portal policies page instead." - }, - "singleOrg": { - "message": "Single Organization" - }, - "singleOrgDesc": { - "message": "Restrict users from being able to join any other organizations." - }, - "singleOrgBlockCreateMessage": { - "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." - }, - "singleOrgPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and are already a member of another organization will be removed from your organization." - }, - "requireSso": { - "message": "Single Sign-On Authentication" - }, - "requireSsoPolicyDesc": { - "message": "Require users to log in with the Enterprise Single Sign-On method." - }, - "prerequisite": { - "message": "Prerequisite" - }, - "requireSsoPolicyReq": { - "message": "The Single Organization enterprise policy must be enabled before activating this policy." - }, - "requireSsoPolicyReqError": { - "message": "Single Organization policy not enabled." - }, - "requireSsoExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "sendTypeFile": { - "message": "File" - }, - "sendTypeText": { - "message": "Text" - }, - "createSend": { - "message": "Create New Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Edit Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Created Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Edited Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Deleted Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Delete Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Are you sure you want to delete this Send?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "What type of Send is this?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Deletion Date" - }, - "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Expiration Date" - }, - "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Maximum Access Count" - }, - "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Current Access Count" - }, - "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Private notes about this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Disabled" - }, - "sendLink": { - "message": "Send Link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Copy Send Link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Remove Password" - }, - "removedPassword": { - "message": "Removed Password" - }, - "removePasswordConfirmation": { - "message": "Are you sure you want to remove the password?" - }, - "disableThisSend": { - "message": "Disable this Send so that no one can access it.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "All Sends" - }, - "maxAccessCountReached": { - "message": "Max access count reached" - }, - "pendingDeletion": { - "message": "Pending deletion" - }, - "expired": { - "message": "Expired" - }, - "searchSends": { - "message": "Search Sends", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "This Send is protected with a password. Please type the password below to continue.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Don't know the password? Ask the Sender for the password needed to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "This send is hidden by default. You can toggle its visibility using the button below.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Download File" - }, - "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "There are no Sends to list.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Emergency Access" - }, - "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." - }, - "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" - }, - "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." - }, - "addEmergencyContact": { - "message": "Add emergency contact" - }, - "designatedEmergencyContacts": { - "message": "Designated as emergency contact" - }, - "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." - }, - "inviteEmergencyContact": { - "message": "Invite emergency contact" - }, - "editEmergencyContact": { - "message": "Edit emergency contact" - }, - "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" - }, - "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" - }, - "viewDesc": { - "message": "Can view all items in your own vault." - }, - "takeover": { - "message": "Takeover" - }, - "takeoverDesc": { - "message": "Can reset your account with a new master password." - }, - "waitTime": { - "message": "Wait Time" - }, - "waitTimeDesc": { - "message": "Time required before automatically granting access." - }, - "oneDay": { - "message": "1 day" - }, - "days": { - "message": "$DAYS$ days", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Invited user." - }, - "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." - }, - "requestAccess": { - "message": "Request Access" - }, - "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Approve" - }, - "reject": { - "message": "Reject" - }, - "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Emergency access approved." - }, - "emergencyRejected": { - "message": "Emergency access rejected" - }, - "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Personal Ownership" - }, - "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." - }, - "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." - }, - "modifiedPolicyId": { - "message": "Modified policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Plan price" - }, - "estimatedTax": { - "message": "Estimated tax" - }, - "custom": { - "message": "Custom" - }, - "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." - }, - "permissions": { - "message": "Permissions" - }, - "accessBusinessPortal": { - "message": "Access Business Portal" - }, - "accessEventLogs": { - "message": "Access Event Logs" - }, - "accessImportExport": { - "message": "Access Import/Export" - }, - "accessReports": { - "message": "Access Reports" - }, - "manageAllCollections": { - "message": "Manage All Collections" - }, - "manageAssignedCollections": { - "message": "Manage Assigned Collections" - }, - "manageGroups": { - "message": "Manage Groups" - }, - "managePolicies": { - "message": "Manage Policies" - }, - "manageSso": { - "message": "Manage SSO" - }, - "manageUsers": { - "message": "Manage Users" - }, - "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." - }, - "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." - }, - "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" - }, - "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/ko/messages.json b/locales/ko/messages.json deleted file mode 100644 index dc7d1107..00000000 --- a/locales/ko/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$ 웹 보관함", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "항목의 유형이 무엇입니까?" - }, - "name": { - "message": "이름" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "새 URI" - }, - "username": { - "message": "사용자 이름" - }, - "password": { - "message": "비밀번호" - }, - "newPassword": { - "message": "새 비밀번호" - }, - "passphrase": { - "message": "패스프레이즈" - }, - "notes": { - "message": "메모" - }, - "customFields": { - "message": "사용자 지정 필드" - }, - "cardholderName": { - "message": "카드 소유자 이름" - }, - "number": { - "message": "번호" - }, - "brand": { - "message": "브랜드" - }, - "expiration": { - "message": "만료" - }, - "securityCode": { - "message": "카드 보안 코드 (CVV)" - }, - "identityName": { - "message": "ID 이름" - }, - "company": { - "message": "회사" - }, - "ssn": { - "message": "주민등록번호" - }, - "passportNumber": { - "message": "여권 번호" - }, - "licenseNumber": { - "message": "면허 번호" - }, - "email": { - "message": "이메일" - }, - "phone": { - "message": "전화번호" - }, - "january": { - "message": "1월" - }, - "february": { - "message": "2월" - }, - "march": { - "message": "3월" - }, - "april": { - "message": "4월" - }, - "may": { - "message": "5월" - }, - "june": { - "message": "6월" - }, - "july": { - "message": "7월" - }, - "august": { - "message": "8월" - }, - "september": { - "message": "9월" - }, - "october": { - "message": "10월" - }, - "november": { - "message": "11월" - }, - "december": { - "message": "12월" - }, - "title": { - "message": "제목" - }, - "mr": { - "message": "Mr" - }, - "mrs": { - "message": "Mrs" - }, - "ms": { - "message": "Ms" - }, - "dr": { - "message": "Dr" - }, - "expirationMonth": { - "message": "만료 월" - }, - "expirationYear": { - "message": "만료 연도" - }, - "authenticatorKeyTotp": { - "message": "인증 키 (TOTP)" - }, - "folder": { - "message": "폴더" - }, - "newCustomField": { - "message": "새 사용자 지정 필드" - }, - "value": { - "message": "값" - }, - "dragToSort": { - "message": "드래그하여 정렬" - }, - "cfTypeText": { - "message": "텍스트" - }, - "cfTypeHidden": { - "message": "숨김" - }, - "cfTypeBoolean": { - "message": "참 / 거짓" - }, - "remove": { - "message": "제거" - }, - "unassigned": { - "message": "지정되지 않음" - }, - "noneFolder": { - "message": "폴더 없음", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "폴더 추가" - }, - "editFolder": { - "message": "폴더 편집" - }, - "baseDomain": { - "message": "기본 도메인" - }, - "host": { - "message": "호스트", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "정확히 일치" - }, - "startsWith": { - "message": "...으로 시작" - }, - "regEx": { - "message": "정규 표현식", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "일치 인식", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "기본 일치 인식", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "잠그지 않음" - }, - "toggleVisibility": { - "message": "표시 전환" - }, - "toggleCollapse": { - "message": "Toggle Collapse", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "비밀번호 생성" - }, - "checkPassword": { - "message": "비밀번호가 노출되었는지 확인합니다." - }, - "passwordExposed": { - "message": "이 비밀번호는 데이터 유출에 $VALUE$회 노출되었습니다. 비밀번호를 변경하는 것이 좋습니다.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "이 비밀번호는 데이터 유출 목록에 없습니다. 사용하기에 안전한 비밀번호입니다." - }, - "save": { - "message": "저장" - }, - "cancel": { - "message": "취소" - }, - "canceled": { - "message": "취소됨" - }, - "close": { - "message": "닫기" - }, - "delete": { - "message": "삭제" - }, - "favorite": { - "message": "즐겨찾기" - }, - "unfavorite": { - "message": "즐겨찾기 해제" - }, - "edit": { - "message": "편집" - }, - "searchCollection": { - "message": "컬렉션 검색" - }, - "searchFolder": { - "message": "폴더 검색" - }, - "searchFavorites": { - "message": "즐겨찾기 검색" - }, - "searchType": { - "message": "유형 검색", - "description": "Search item type" - }, - "searchVault": { - "message": "보관함 검색" - }, - "allItems": { - "message": "모든 항목" - }, - "favorites": { - "message": "즐겨찾기" - }, - "types": { - "message": "유형" - }, - "typeLogin": { - "message": "로그인" - }, - "typeCard": { - "message": "카드" - }, - "typeIdentity": { - "message": "신원" - }, - "typeSecureNote": { - "message": "보안 메모" - }, - "folders": { - "message": "폴더" - }, - "collections": { - "message": "컬렉션" - }, - "firstName": { - "message": "이름" - }, - "middleName": { - "message": "가운데 이름" - }, - "lastName": { - "message": "성" - }, - "address1": { - "message": "주소 1" - }, - "address2": { - "message": "주소 2" - }, - "address3": { - "message": "주소 3" - }, - "cityTown": { - "message": "읍 / 면 / 동" - }, - "stateProvince": { - "message": "시 / 도" - }, - "zipPostalCode": { - "message": "우편번호" - }, - "country": { - "message": "국가" - }, - "shared": { - "message": "공유됨" - }, - "attachments": { - "message": "첨부 파일" - }, - "select": { - "message": "선택" - }, - "addItem": { - "message": "항목 추가" - }, - "editItem": { - "message": "항목 편집" - }, - "viewItem": { - "message": "View Item" - }, - "ex": { - "message": "예)", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "기타" - }, - "share": { - "message": "공유" - }, - "valueCopied": { - "message": "$VALUE$를 클립보드에 복사함", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "값 복사", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "비밀번호 복사", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "사용자 이름 복사", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "번호 복사", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "보안 코드 복사", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "URI 복사", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "내 보관함" - }, - "vault": { - "message": "보관함" - }, - "shareSelected": { - "message": "선택 항목 공유" - }, - "deleteSelected": { - "message": "선택 항목 삭제" - }, - "moveSelected": { - "message": "선택 항목 이동" - }, - "selectAll": { - "message": "모두 선택" - }, - "unselectAll": { - "message": "모두 선택 해제" - }, - "launch": { - "message": "열기" - }, - "newAttachment": { - "message": "새 첨부 파일 추가" - }, - "deletedAttachment": { - "message": "첨부 파일 삭제함" - }, - "deleteAttachmentConfirmation": { - "message": "정말 이 첨부 파일을 삭제하시겠습니까?" - }, - "attachmentSaved": { - "message": "첨부 파일을 저장했습니다." - }, - "file": { - "message": "파일" - }, - "selectFile": { - "message": "파일을 선택하세요." - }, - "maxFileSize": { - "message": "최대 파일 크기는 100MB입니다." - }, - "updateKey": { - "message": "이 기능을 사용하려면 암호화 키를 업데이트해야 합니다." - }, - "addedItem": { - "message": "항목 추가함" - }, - "editedItem": { - "message": "항목 편집함" - }, - "sharedItem": { - "message": "항목 공유함" - }, - "sharedItems": { - "message": "항목 공유함" - }, - "deleteItem": { - "message": "항목 삭제" - }, - "deleteFolder": { - "message": "폴더 삭제" - }, - "deleteAttachment": { - "message": "첨부 파일 삭제" - }, - "deleteItemConfirmation": { - "message": "정말 이 항목을 삭제하시겠습니까?" - }, - "deletedItem": { - "message": "항목 삭제함" - }, - "deletedItems": { - "message": "항목 삭제함" - }, - "movedItems": { - "message": "항목 이동함" - }, - "overwritePasswordConfirmation": { - "message": "정말 현재 비밀번호를 덮어쓰시겠습니까?" - }, - "editedFolder": { - "message": "폴더 편집함" - }, - "addedFolder": { - "message": "폴더 추가함" - }, - "deleteFolderConfirmation": { - "message": "정말 이 폴더를 삭제하시겠습니까?" - }, - "deletedFolder": { - "message": "폴더 삭제함" - }, - "loggedOut": { - "message": "로그아웃됨" - }, - "loginExpired": { - "message": "로그인 세션이 만료되었습니다." - }, - "logOutConfirmation": { - "message": "정말 로그아웃하시겠습니까?" - }, - "logOut": { - "message": "로그아웃" - }, - "ok": { - "message": "확인" - }, - "yes": { - "message": "예" - }, - "no": { - "message": "아니오" - }, - "loginOrCreateNewAccount": { - "message": "안전 보관함에 접근하려면 로그인하거나 새 계정을 만드세요." - }, - "createAccount": { - "message": "계정 만들기" - }, - "logIn": { - "message": "로그인" - }, - "submit": { - "message": "보내기" - }, - "emailAddressDesc": { - "message": "로그인에 이메일 주소를 사용하게 될 것입니다." - }, - "yourName": { - "message": "이름" - }, - "yourNameDesc": { - "message": "당신은 어떻게 불립니까?" - }, - "masterPass": { - "message": "마스터 비밀번호" - }, - "masterPassDesc": { - "message": "마스터 비밀번호는 보관함을 열 때 필요한 비밀번호입니다. 절대 마스터 비밀번호를 잊어버리지 마세요. 잊어버리면 복구할 수 있는 방법이 없습니다." - }, - "masterPassHintDesc": { - "message": "마스터 비밀번호 힌트는 마스터 비밀번호를 잊었을 때 도움이 될 수 있습니다." - }, - "reTypeMasterPass": { - "message": "마스터 비밀번호 다시 입력" - }, - "masterPassHint": { - "message": "마스터 비밀번호 힌트 (선택)" - }, - "masterPassHintLabel": { - "message": "마스터 비밀번호 힌트" - }, - "settings": { - "message": "설정" - }, - "passwordHint": { - "message": "비밀번호 힌트" - }, - "enterEmailToGetHint": { - "message": "마스터 비밀번호 힌트를 받으려면 계정의 이메일 주소를 입력하세요." - }, - "getMasterPasswordHint": { - "message": "마스터 비밀번호 힌트 얻기" - }, - "emailRequired": { - "message": "이메일은 반드시 입력해야 합니다." - }, - "invalidEmail": { - "message": "잘못된 이메일 주소입니다." - }, - "masterPassRequired": { - "message": "마스터 비밀번호는 반드시 입력해야 합니다." - }, - "masterPassLength": { - "message": "마스터 비밀번호는 최소 8자 이상이어야 합니다." - }, - "masterPassDoesntMatch": { - "message": "마스터 비밀번호 확인과 마스터 비밀번호가 일치하지 않습니다." - }, - "newAccountCreated": { - "message": "계정 생성이 완료되었습니다! 이제 로그인하실 수 있습니다." - }, - "masterPassSent": { - "message": "마스터 비밀번호 힌트가 담긴 이메일을 보냈습니다." - }, - "unexpectedError": { - "message": "예기치 못한 오류가 발생했습니다." - }, - "emailAddress": { - "message": "이메일 주소" - }, - "yourVaultIsLocked": { - "message": "보관함이 잠겨 있습니다. 마스터 비밀번호를 입력하여 계속하세요." - }, - "unlock": { - "message": "잠금 해제" - }, - "loggedInAsEmailOn": { - "message": "$HOSTNAME$ 에 $EMAIL$ 로 로그인했습니다.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "잘못된 마스터 비밀번호" - }, - "lockNow": { - "message": "지금 잠그기" - }, - "noItemsInList": { - "message": "항목이 없습니다." - }, - "noCollectionsInList": { - "message": "콜렉션이 없습니다." - }, - "noGroupsInList": { - "message": "그룹이 없습니다." - }, - "noUsersInList": { - "message": "유저가 없습니다." - }, - "noEventsInList": { - "message": "이벤트가 없습니다." - }, - "newOrganization": { - "message": "새 조직" - }, - "noOrganizationsList": { - "message": "당신은 어떤 조직에도 속해있지 않습니다. 조직은 다른 사용자들과 안전하게 항목을 공유할 수 있게 해줍니다." - }, - "versionNumber": { - "message": "버전 $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "인증 앱에서 6자리 인증 코드를 입력하세요." - }, - "enterVerificationCodeEmail": { - "message": "$EMAIL$ 주소로 전송된 6자리 인증 코드를 입력하세요.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "$EMAIL$ 주소로 인증 이메일을 보냈습니다.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "기억하기" - }, - "sendVerificationCodeEmailAgain": { - "message": "인증 코드 이메일 다시 보내기" - }, - "useAnotherTwoStepMethod": { - "message": "다른 2단계 인증 사용" - }, - "insertYubiKey": { - "message": "YubiKey를 컴퓨터의 USB 포트에 삽입하고 버튼을 누르세요." - }, - "insertU2f": { - "message": "보안 키를 컴퓨터의 USB 포트에 삽입하고 버튼이 있는 경우 누르세요." - }, - "loginUnavailable": { - "message": "로그인 불가능" - }, - "noTwoStepProviders": { - "message": "이 계정은 2단계 인증을 사용합니다. 그러나 설정된 2단계 인증 중 이 웹 브라우저에서 지원하는 방식이 없습니다." - }, - "noTwoStepProviders2": { - "message": "지원하는 웹 브라우저(Chrome 등)를 사용하거나 더 많은 브라우저를 지원하는 2단계 인증 방식(인증 앱 등)을 추가하세요." - }, - "twoStepOptions": { - "message": "2단계 인증 옵션" - }, - "recoveryCodeDesc": { - "message": "모든 2단계 인증을 사용할 수 없는 상황인가요? 복구 코드를 사용하여 계정의 모든 2단계 인증을 비활성화할 수 있습니다." - }, - "recoveryCodeTitle": { - "message": "복구 코드" - }, - "authenticatorAppTitle": { - "message": "인증 앱" - }, - "authenticatorAppDesc": { - "message": "인증 앱(Authy, Google OTP 등)을 통하여 일회용 인증 코드를 생성합니다.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "YubiKey OTP 보안 키" - }, - "yubiKeyDesc": { - "message": "YubiKey를 사용하여 사용자의 계정에 접근합니다. YubiKey 4, 4 Nano, 4C 및 NEO 기기를 사용할 수 있습니다." - }, - "duoDesc": { - "message": "Duo Mobile 앱, SMS, 전화 통화를 사용한 Duo Security 또는 U2F 보안 키를 사용하여 인증하세요.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Duo Mobile 앱, SMS, 전화 통화를 사용한 조직용 Duo Security 또는 U2F 보안 키를 사용하여 인증하세요.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "FIDO U2F가 활성화된 보안 키를 사용하여 계정에 접근하세요." - }, - "u2fTitle": { - "message": "FIDO U2F 보안 키" - }, - "emailTitle": { - "message": "이메일" - }, - "emailDesc": { - "message": "인증 코드가 담긴 이메일을 다시 보냅니다." - }, - "continue": { - "message": "계속" - }, - "organization": { - "message": "조직" - }, - "organizations": { - "message": "조직" - }, - "shareDesc": { - "message": "이 항목을 공유할 조직을 선택하십시오. 항목이 공유되면 소유권이 조직으로 이전됩니다. 일단 공유가 되면, 더는 항목의 직접적인 소유자가 아니게 됩니다." - }, - "shareManyDesc": { - "message": "이 항목들을 공유할 조직을 선택하십시오. 항목들이 공유되면 소유권이 조직으로 이전됩니다. 일단 공유가 되면, 더는 항목들의 직접적인 소유자가 아니게 됩니다." - }, - "collectionsDesc": { - "message": "이 항목이 공유될 콜렉션을 수정하십시오. 이 콜렉션에 접근할 수 있는 조직 사용자만 이 항목을 볼 수 있습니다." - }, - "deleteSelectedItemsDesc": { - "message": "삭제를 위해 $COUNT$ 개의 항목이 선택됨. 정말로 이 항목들을 삭제하시겠습니까?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "선택된 $COUNT$ 개의 항목을 옮길 폴더를 선택하십시오.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "$COUNT$ 개의 항목 선택됨. $SHAREABLE_COUNT$ 개의 항목은 공유 가능하지만, $NONSHAREABLE_COUNT$ 개의 항목은 공유 불가능합니다.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "인증 코드 (TOTP)" - }, - "copyVerificationCode": { - "message": "인증 코드 복사" - }, - "warning": { - "message": "경고" - }, - "confirmVaultExport": { - "message": "Confirm Vault Export" - }, - "exportWarningDesc": { - "message": "내보내기는 보관함 데이터가 암호화되지 않은 형식으로 포함됩니다. 내보낸 파일을 안전하지 않은 채널(예: 이메일)을 통해 저장하거나 보내지 마십시오. 사용이 끝난 후에는 즉시 삭제하십시오." - }, - "encExportWarningDesc": { - "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." - }, - "exportMasterPassword": { - "message": "보관함 데이터를 내보내려면 마스터 비밀번호를 입력하세요." - }, - "exportVault": { - "message": "보관함 내보내기" - }, - "fileFormat": { - "message": "파일 형식" - }, - "exportSuccess": { - "message": "보관함 데이터를 내보냈습니다." - }, - "passwordGenerator": { - "message": "비밀번호 생성기" - }, - "minComplexityScore": { - "message": "최소 복잡도 점수" - }, - "minNumbers": { - "message": "숫자 최소 개수" - }, - "minSpecial": { - "message": "특수 문자 최소 개수", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "모호한 문자 사용 안 함" - }, - "regeneratePassword": { - "message": "비밀번호 재생성" - }, - "length": { - "message": "길이" - }, - "numWords": { - "message": "단어 수" - }, - "wordSeparator": { - "message": "구분 기호" - }, - "capitalize": { - "message": "첫 글자를 대문자로", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "숫자 추가" - }, - "passwordHistory": { - "message": "비밀번호 변경 기록" - }, - "noPasswordsInList": { - "message": "비밀번호가 없습니다." - }, - "clear": { - "message": "삭제", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "계정 업데이트됨" - }, - "changeEmail": { - "message": "이메일 변경" - }, - "newEmail": { - "message": "새 이메일" - }, - "code": { - "message": "코드" - }, - "changeEmailDesc": { - "message": "$EMAIL$으로 인증 코드를 발송했습니다. 이메일에서 이 코드를 확인하고 아래에 입력하여 이메일 주소 변경을 완료하십시오.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "계속 진행하면, 현재 세션 또한 로그아웃 되므로 다시 로그인하여야 합니다. 2단계 로그인이 활성화 된 경우 다시 요구하는 메세지가 표시됩니다. 다른 기기의 활성화 된 세션은 최대 1시간 동안 유지 될 수 있습니다." - }, - "emailChanged": { - "message": "이메일 변경됨" - }, - "logBackIn": { - "message": "다시 로그인해 주세요." - }, - "logBackInOthersToo": { - "message": "다시 로그인해 주세요. 다른 Bitwarden 앱을 사용 중인 경우 해당 앱에서도 다시 로그인해야 합니다." - }, - "changeMasterPassword": { - "message": "마스터 비밀번호 변경" - }, - "masterPasswordChanged": { - "message": "마스터 비밀번호 변경됨" - }, - "currentMasterPass": { - "message": "현재 마스터 비밀번호" - }, - "newMasterPass": { - "message": "새 마스터 비밀번호" - }, - "confirmNewMasterPass": { - "message": "새 마스터 비밀번호 확인" - }, - "encKeySettings": { - "message": "암호화 키 설정" - }, - "kdfAlgorithm": { - "message": "KDF 알고리즘" - }, - "kdfIterations": { - "message": "KDF 이터레이션" - }, - "kdfIterationsDesc": { - "message": "높은 KDF 반복자는 공격자의 무차별 공격으로부터 마스터 비밀번호를 보호해줍니다. $VALUE$ 이상의 값을 추천합니다.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "KDF 반복자를 너무 높게 설정하면 CPU가 느린 장치에서 Bitwarden에 로그인(및 잠금 해제)할 때 성능이 저하될 수 있습니다. $INCREMENT$ 단위로 값을 올려가며 모든 장치를 테스트하는 것이 좋습니다.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "KDF 변경" - }, - "encKeySettingsChanged": { - "message": "암호화 키 설정 변경됨" - }, - "dangerZone": { - "message": "위험 구역" - }, - "dangerZoneDesc": { - "message": "주의, 이 행동들은 되돌릴 수 없음!" - }, - "deauthorizeSessions": { - "message": "세션 해제" - }, - "deauthorizeSessionsDesc": { - "message": "계정이 다른 장치에 로그인되어 있습니까? 이전에 사용된 모든 컴퓨터 또는 장치 인증을 취소하려면 다음 단계로 나아가십시오. 이 보안 단계는 이전에 공용 PC를 사용했거나 실수로 타인의 장치에 비밀번호를 저장한 경우 권장됩니다. 이 단계에서는 이전에 기억된 2단계 로그인 세션도 모두 삭제됩니다." - }, - "deauthorizeSessionsWarning": { - "message": "계속 진행하면, 현재 세션 또한 로그아웃 되므로 다시 로그인하여야 합니다. 2단계 로그인이 활성화 된 경우 다시 요구하는 메세지가 표시됩니다. 다른 기기의 활성화 된 세션은 최대 1시간 동안 유지 될 수 있습니다." - }, - "sessionsDeauthorized": { - "message": "모든 세션 해제 됨" - }, - "purgeVault": { - "message": "보관함 삭제" - }, - "purgedOrganizationVault": { - "message": "삭제 된 조직 보관함" - }, - "purgeVaultDesc": { - "message": "보관함 내의 모든 항목과 폴더를 삭제하려면 다음 단계로 나아가십시오. 조직에 속한 공유 항목들은 삭제되지 않습니다." - }, - "purgeOrgVaultDesc": { - "message": "조직의 보관함 내 모든 항목을 삭제하려면 다음 단계로 나아가십시오." - }, - "purgeVaultWarning": { - "message": "계정 삭제는 영구적이며 되돌릴 수 없습니다." - }, - "vaultPurged": { - "message": "보관함이 삭제되었습니다." - }, - "deleteAccount": { - "message": "계정 삭제" - }, - "deleteAccountDesc": { - "message": "귀하의 계정과 저장된 데이터들을 삭제하려면 아래를 계속 진행하십시오." - }, - "deleteAccountWarning": { - "message": "계정 삭제는 영구적이며 되돌릴 수 없습니다." - }, - "accountDeleted": { - "message": "계정 삭제됨" - }, - "accountDeletedDesc": { - "message": "당신의 계정과 연관된 모든 데이터들이 삭제되었습니다." - }, - "myAccount": { - "message": "내 계정" - }, - "tools": { - "message": "도구" - }, - "importData": { - "message": "데이터 가져오기" - }, - "importSuccess": { - "message": "데이터를 보관함으로 성공적으로 불러왔습니다." - }, - "importFormatError": { - "message": "데이터의 포맷이 올바르지 않습니다. 불러올 파일을 확인하고 다시 시도해 주십시오." - }, - "importNothingError": { - "message": "아무것도 가져오지 못했습니다." - }, - "selectFormat": { - "message": "불러올 파일의 포맷" - }, - "selectImportFile": { - "message": "불러올 파일" - }, - "orCopyPasteFileContents": { - "message": "또는 가져온 파일 내용 복사/붙여넣기" - }, - "instructionsFor": { - "message": "$NAME$ 안내사항", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "옵션" - }, - "optionsDesc": { - "message": "웹 보관함 환경 사용자 지정" - }, - "optionsUpdated": { - "message": "옵션 업데이트됨" - }, - "language": { - "message": "언어(Language)" - }, - "languageDesc": { - "message": "웹 보관함에서 사용할 언어를 변경합니다." - }, - "disableIcons": { - "message": "웹 사이트 아이콘 사용 안 함" - }, - "disableIconsDesc": { - "message": "웹 사이트 아이콘을 사용하면 보관함 각 항목 옆에 이미지를 보여줍니다." - }, - "enableGravatars": { - "message": "Gravatar 사용", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "gravatar.com의 아바타 이미지를 사용." - }, - "enableFullWidth": { - "message": "전체 너비 레이아웃 활성화", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "웹 보관함이 브라우저 창의 전체 너비를 사용하도록 확장합니다." - }, - "default": { - "message": "기본값" - }, - "domainRules": { - "message": "도메인 규칙" - }, - "domainRulesDesc": { - "message": "여러 웹 사이트 도메인에 대해 동일한 로그인이 있는 경우, 웹 사이트가 \"유사\"하다고 표시할 수 있습니다. \"전역\" 도메인은 Bitwarden에서 당신을 위해 이미 생성했습니다." - }, - "globalEqDomains": { - "message": "전역 유사 도메인" - }, - "customEqDomains": { - "message": "사용자 지정 유사 도메인" - }, - "exclude": { - "message": "제외" - }, - "include": { - "message": "포함" - }, - "customize": { - "message": "사용자 지정" - }, - "newCustomDomain": { - "message": "새 사용자 지정 도메인" - }, - "newCustomDomainDesc": { - "message": "도메인 목록을 쉼표(,)로 구분하여 입력하십시오. \"기본\" 도메인만 사용할 수 있습니다. 하위 도메인을 입력하지 마십시오. 예를 들면, \"www.google.com\" 대신 \"google.com\"을 입력합니다. Android 앱을 다른 웹 사이트 도메인과 연결하려면 \"androidapp://package.name\"을 입력하십시오." - }, - "customDomainX": { - "message": "사용자 정의 도메인 $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "도메인 업데이트됨" - }, - "twoStepLogin": { - "message": "2단계 인증" - }, - "twoStepLoginDesc": { - "message": "로그인할 때 추가 단계를 요구하여 계정을 보호하십시오." - }, - "twoStepLoginOrganizationDesc": { - "message": "조직 수준에서 제공자를 구성하여 조직 내 사용자에게 2단계 로그인을 요구합니다." - }, - "twoStepLoginRecoveryWarning": { - "message": "2단계 로그인을 활성화하면 Bitwarden 계정을 영원히 잠글 수 있습니다. 복구 코드를 사용하면 정상적인 2단계 로그인 제공자를 더 이상 사용할 수 없는 경우(예. 장치를 잃어버렸을 때) 계정에 액세스할 수 있습니다. 계정에 접근하지 못한다면 Bitwarden 지원팀은 어떤 도움도 줄 수 없습니다. 복구 코드를 기록하거나 출력하여 안전한 장소에 보관할 것을 권장합니다." - }, - "viewRecoveryCode": { - "message": "복구 코드" - }, - "providers": { - "message": "공급자", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "활성화" - }, - "enabled": { - "message": "활성화됨" - }, - "premium": { - "message": "프리미엄", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "프리미엄 멤버십" - }, - "premiumRequired": { - "message": "프리미엄 멤버십 필요" - }, - "premiumRequiredDesc": { - "message": "이 기능을 사용하려면 프리미엄 멤버십이 필요합니다." - }, - "youHavePremiumAccess": { - "message": "프리미엄 멤버십 사용 중" - }, - "alreadyPremiumFromOrg": { - "message": "소속된 조직으로 이미 프리미엄 기능에 액세스할 수 있습니다." - }, - "manage": { - "message": "관리" - }, - "disable": { - "message": "비활성화" - }, - "twoStepLoginProviderEnabled": { - "message": "이 2단계 로그인 제공자는 귀하의 계정에 사용 가능합니다." - }, - "twoStepLoginAuthDesc": { - "message": "2단계 로그인 설정을 수정하려면 마스터 암호를 입력하십시오." - }, - "twoStepAuthenticatorDesc": { - "message": "다음 단계에 따라 인증자 앱으로 2단계 로그인 설정:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "2단계 인증자 앱 다운로드" - }, - "twoStepAuthenticatorNeedApp": { - "message": "2단계 인증자 앱이 필요하십니까? 다음 중 하나를 다운로드하세요" - }, - "iosDevices": { - "message": "iOS 기기" - }, - "androidDevices": { - "message": "Android 기기" - }, - "windowsDevices": { - "message": "Windows 기기" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "These apps are recommended, however, other authenticator apps will also work." - }, - "twoStepAuthenticatorScanCode": { - "message": "이 QR 코드를 인증 앱으로 스캔" - }, - "key": { - "message": "키" - }, - "twoStepAuthenticatorEnterCode": { - "message": "앱에서 결과로 나온 6자리 인증코드를 입력하십시오" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "다른 장치에 추가해야 하는 경우, 아래의 QR코드(혹은 키) 가 인증자 앱에 필요합니다." - }, - "twoStepDisableDesc": { - "message": "이 2단계 로그인 제공자를 사용하지 않도록 설정하시겠습니까?" - }, - "twoStepDisabled": { - "message": "2단계 로그인 제공자 비활성화됨." - }, - "twoFactorYubikeyAdd": { - "message": "계정에 새로운 YubiKey를 추가합니다." - }, - "twoFactorYubikeyPlugIn": { - "message": "YubiKey(NEO 혹은 4 시리즈)를 컴퓨터 USB 포트에 삽입하십시오." - }, - "twoFactorYubikeySelectKey": { - "message": "첫번째 비어있는 YubiKey 입력 필드를 선택하십시오." - }, - "twoFactorYubikeyTouchButton": { - "message": "YubiKey의 버튼을 터치하십시오" - }, - "twoFactorYubikeySaveForm": { - "message": "폼 저장하기" - }, - "twoFactorYubikeyWarning": { - "message": "플랫폼 제한으로 인해, 모든 Bitwawrden 애플리케이션에서 YubiKey를 사용할 수 없습니다. YubiKey를 사용할 수 없을 때 계정에 액세스할 수 있도록 다른 2단계 로그인 제공자를 활성화하십시오. 지원하는 플랫폼:" - }, - "twoFactorYubikeySupportUsb": { - "message": "웹 보관함, 데스크톱 응용프로그램, 명령 줄 인터페이스, USB 포트가 있는 장치의 브라우저 확장 기능은 YubiKey를 사용할 수 있습니다." - }, - "twoFactorYubikeySupportMobile": { - "message": "NFC 또는 USB 포트가 있는 장치의 모바일 앱은 YubiKey를 사용할 수 있습니다." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "U2F Key $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "NFC 지원" - }, - "twoFactorYubikeySupportsNfc": { - "message": "내 키 중의 하나가 NFC를 지원합니다." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "YubiKey중 하나가 NFC(예: YubiKey NEO)를 지원할 경우, NFC 사용가능 여부가 감지될 때마다 모바일 장치에서 메시지가 표시됩니다." - }, - "yubikeysUpdated": { - "message": "YubiKey 업데이트됨" - }, - "disableAllKeys": { - "message": "Disable All Keys" - }, - "twoFactorDuoDesc": { - "message": "Duo 관리자 패널에서 Bitwarden 애플리케이션 정보를 입력하십시오." - }, - "twoFactorDuoIntegrationKey": { - "message": "Integration Key" - }, - "twoFactorDuoSecretKey": { - "message": "비밀 키" - }, - "twoFactorDuoApiHostname": { - "message": "API 호스트 이름" - }, - "twoFactorEmailDesc": { - "message": "다음 단계에 따라 이메일로 2단계 로그인 설정:" - }, - "twoFactorEmailEnterEmail": { - "message": "확인 코드를 수신할 이메일을 입력하십시오." - }, - "twoFactorEmailEnterCode": { - "message": "이메일에서 결과로 나온 6자리 인증코드를 입력하십시오" - }, - "sendEmail": { - "message": "Send Email" - }, - "twoFactorU2fAdd": { - "message": "계정에 FIDO U2F 보안 키 추가" - }, - "removeU2fConfirmation": { - "message": "정말로 이 보안 키를 제거하시겠습니까?" - }, - "readKey": { - "message": "키 읽기" - }, - "keyCompromised": { - "message": "키가 손상되었습니다." - }, - "twoFactorU2fGiveName": { - "message": "보안 키를 식별할 수 있는 친근한 이름을 지정하십시오." - }, - "twoFactorU2fPlugInReadKey": { - "message": "컴퓨터의 USB 포트에 보안 키를 삽입하고 \"키 읽기\" 버튼을 클릭하십시오." - }, - "twoFactorU2fTouchButton": { - "message": "보안 키에 버튼이 있다면, 터치하십시오" - }, - "twoFactorU2fSaveForm": { - "message": "폼 저장하기" - }, - "twoFactorU2fWarning": { - "message": "플랫폼 제한으로 인해, 모든 Bitwawrden 애플리케이션에서 FIDO U2F를 사용할 수 없습니다. FIDO U2F를 사용할 수 없을 때 계정에 액세스할 수 있도록 다른 2단계 로그인 제공자를 활성화하십시오. 지원하는 플랫폼:" - }, - "twoFactorU2fSupportWeb": { - "message": "U2F 지원 브라우저가 있는 데스크탑/랩탑의 웹 보관함 및 브라우저 확장 (FIDO U2F가 활성화된 Chrome, Opera, Vivaldi 또는 Firefox 사용)" - }, - "twoFactorU2fWaiting": { - "message": "보안 키 버튼 터치를 기다리는 중" - }, - "twoFactorU2fClickSave": { - "message": "2단계 로그인에 이 보안 키를 사용하려면 아래의 \"저장\" 버튼을 클릭하십시오" - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "보안 키를 읽어오는데 문제가 발생했습니다. 다시 시도해보십시오." - }, - "twoFactorRecoveryYourCode": { - "message": "Bitwarden 2단계 로그인 복구 코드" - }, - "twoFactorRecoveryNoCode": { - "message": "아직 2단계 로그인 제공자를 사용하도록 설정하지 않았습니다. 2단계 로그인 제공자를 사용하도록 설정한 후 여기에서 복구 코드를 확인하십시오." - }, - "printCode": { - "message": "코드 출력", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "보고서" - }, - "unsecuredWebsitesReport": { - "message": "안전하지 않은 웹사이트들 보고서" - }, - "unsecuredWebsitesReportDesc": { - "message": "http:// 스키마처럼 안전하지 않은 웹 사이트를 사용하는 것은 위험할 수 있습니다. 웹 사이트가 허용하는 경우 항상 https:// 스키마를 통해 액세스하여 연결이 암호화되도록 하십시오." - }, - "unsecuredWebsitesFound": { - "message": "안전하지 않은 웹사이트가 발견됨" - }, - "unsecuredWebsitesFoundDesc": { - "message": "보관함에 안전하지 않은 URI를 가진 항목 $COUNT$개를 발견했습니다. 웹 사이트에서 허용하는 경우 URI 스키마를 https://로 변경하십시오.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "보관함에 안전하지 않은 URI를 가진 항목이 없습니다." - }, - "inactive2faReport": { - "message": "비활성 2단계 인증 보고서" - }, - "inactive2faReportDesc": { - "message": "2단계 인증은 계정을 보호하는데 중요한 보안 설정입니다. 웹 사이트에서 제공하는 경우 항상 2단계 인증을 사용해야 합니다." - }, - "inactive2faFound": { - "message": "2단계 인증이 없는 로그인이 발견됨" - }, - "inactive2faFoundDesc": { - "message": "보관함에 (2fa.directory에 따른) 2단계 인증이 설정되지 않은 웹 사이트를 $COUNT$개 발견했습니다. 이러한 계정을 더욱 보호하려면 2단계 인증을 사용하십시오.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "보관함에서 2단계 인증 구성이 누락된 웹 사이트를 찾을 수 없습니다." - }, - "instructions": { - "message": "안내사항" - }, - "exposedPasswordsReport": { - "message": "노출된 비밀번호 보고서" - }, - "exposedPasswordsReportDesc": { - "message": "노출된 비밀번호는 해커들이 공개적으로 배포하거나 다크 웹에 판매되어 알려진 데이터 유출에서 발견된 비밀번호입니다." - }, - "exposedPasswordsFound": { - "message": "노출된 비밀번호가 발견됨" - }, - "exposedPasswordsFoundDesc": { - "message": "보관함에 알려진 데이터 유출로 노출된 비밀번호가 있는 $COUNT$개의 항목을 발견했습니다. 새 암호를 사용하도록 암호를 변경해야합니다.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "보관함 내 알려진 데이터 유출로 노출된 비밀번호를 사용하는 항목이 없습니다." - }, - "checkExposedPasswords": { - "message": "노출된 비밀번호 확인하기" - }, - "exposedXTimes": { - "message": "$COUNT$회 노출됨", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "취약한 비밀번호 보고서" - }, - "weakPasswordsReportDesc": { - "message": "취약한 비밀번호는 해커와 암호 해독에 사용되는 자동화 도구로 쉽게 짐작할 수 있습니다. Bitwarden 암호 생성기는 강력한 암호를 만드는데 도움을 줄 것입니다." - }, - "weakPasswordsFound": { - "message": "취약한 비밀번호가 발견됨" - }, - "weakPasswordsFoundDesc": { - "message": "강력한 비밀번호가 아닌 $COUNT$개의 항목을 보관함에서 찾았습니다. 더 강력한 암호를 사용하도록 업데이트해야 합니다.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "보관함에 취약한 비밀번호를 가진 항목이 없습니다." - }, - "reusedPasswordsReport": { - "message": "재사용된 비밀번호 보고서" - }, - "reusedPasswordsReportDesc": { - "message": "사용하는 서비스가 손상된 경우 다른 곳에서 동일한 암호를 다시 사용하면 해커가 더 많은 온라인 계정에 쉽게 액세스할 수 있습니다. 모든 계정 또는 서비스에 대해 고유한 암호를 사용하십시오." - }, - "reusedPasswordsFound": { - "message": "재사용된 비밀번호가 발견됨" - }, - "reusedPasswordsFoundDesc": { - "message": "보관함에서 재사용중인 $COUNT$개의 비밀번호를 찾았습니다. 고유한 값으로 변경해야 합니다.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "보관함에 재사용된 비밀번호를 가진 로그인이 없습니다." - }, - "reusedXTimes": { - "message": "$COUNT$회 재사용됨", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "데이터 유출 보고서" - }, - "breachDesc": { - "message": "\"유출(breach)\"이란, 사이트의 데이터가 불법적으로 해커에 의해 접근되고 공개되는 사건을 뜻합니다. 손상된 데이터 유형(이메일 주소, 비밀번호, 신용카드 등)을 검토하고 비밀번호 변경 등 적절한 조치를 취하십시오." - }, - "breachCheckUsernameEmail": { - "message": "사용하는 사용자 이름 혹은 이메일 주소를 확인해보세요." - }, - "checkBreaches": { - "message": "유출 확인하기" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$을 알려진 데이터 유출에서 발견하지 못했습니다.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "좋은 소식이에요", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$을 $COUNT$개의 온라인 상의 데이터 유출에서 발견되었습니다.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "유출된 계정이 발견됨" - }, - "compromisedData": { - "message": "손상된 데이터" - }, - "website": { - "message": "웹 사이트" - }, - "affectedUsers": { - "message": "영향을 받는 사용자" - }, - "breachOccurred": { - "message": "유출 발생함" - }, - "breachReported": { - "message": "유출 보고됨" - }, - "reportError": { - "message": "보고서를 불러오는 도중 오류가 발생했습니다. 다시 시도해주세요." - }, - "billing": { - "message": "결제" - }, - "accountCredit": { - "message": "계정 크레딧", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "계정 잔액", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "크레딧 추가", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "금액", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "추가된 크레딧은 결제가 완전히 처리된 후 계정에 표시됩니다. 일부 결제 방식은 지연되거나 처리하는 데 시간이 오래 걸릴 수 있습니다." - }, - "makeSureEnoughCredit": { - "message": "이 구매에 사용할 수 있는 크레딧이 충분한지 확인하십시오. 만약 계정에 충분한 크레딧이 없다면, 그 차액만큼 기본 결제 방식에서 지불될 것입니다. 청구 페이지를 통해 계정에 크레딧을 추가할 수 있습니다." - }, - "creditAppliedDesc": { - "message": "계정의 크레딧을 구매에 사용할 수 있습니다. 사용 가능한 모든 크레딧이 이 계정에 대해 생성된 청구서에 자동으로 적용됩니다." - }, - "goPremium": { - "message": "프리미엄 가입", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "프리미엄으로 업그레이드했습니다." - }, - "premiumUpgradeUnlockFeatures": { - "message": "프리미엄 회원으로 계정을 업그레이드하고 몇 가지 훌륭한 추가 기능을 잠금 해제하세요." - }, - "premiumSignUpStorage": { - "message": "1GB의 암호화된 파일 저장소." - }, - "premiumSignUpTwoStep": { - "message": "YubiKey나 FIDO U2F, Duo 등의 추가적인 2단계 인증 옵션." - }, - "premiumSignUpReports": { - "message": "보관함을 안전하게 유지하기 위한 암호 위생, 계정 상태, 데이터 유출 보고서" - }, - "premiumSignUpTotp": { - "message": "보관함에 등록된 로그인 항목을 위한 TOTP 인증 코드(2FA) 생성기." - }, - "premiumSignUpSupport": { - "message": "고객 지원 우선 순위 제공." - }, - "premiumSignUpFuture": { - "message": "앞으로 추가될 모든 프리미엄 기능을 사용할 수 있습니다. 기대하세요!" - }, - "premiumPrice": { - "message": "이 모든 기능을 연 $PRICE$에 이용하실 수 있습니다!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "부가 기능" - }, - "premiumAccess": { - "message": "프리미엄 이용권" - }, - "premiumAccessDesc": { - "message": "$INTERVAL$간 $PRICE$로 조직의 모든 구성원에게 프리미엄 액세스를 추가할 수 있습니다.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "추가 저장소 용량 (GB)" - }, - "additionalStorageGbDesc": { - "message": "# 의 추가 GB" - }, - "additionalStorageIntervalDesc": { - "message": "귀하의 플랜은 $SIZE$의 암호화된 파일 저장소가 제공됩니다. GB / $INTERVAL$당 $PRICE$로 저장소용량을 추가할 수 있습니다.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "요약" - }, - "total": { - "message": "총합" - }, - "year": { - "message": "년" - }, - "month": { - "message": "월" - }, - "monthAbbr": { - "message": "월", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "귀하의 결제방식으로 즉시 요금이 부과되고 정기적으로 매 년 부과됩니다. 언제든지 취소할 수 있습니다." - }, - "paymentCharged": { - "message": "귀하의 결제방식으로 즉시 요금이 부과되고 정기적으로 매 $INTERVAL$ 부과됩니다. 언제든지 취소할 수 있습니다.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "귀하의 플랜은 7일 무료 평가판입니다. 평가 기간이 만료될 때까지 카드에서 대금이 지불되지 않습니다. 이후 정기적으로 매 $INTERVAL$ 청구됩니다. 언제든지 취소할 수 있습니다.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "결제 정보" - }, - "billingInformation": { - "message": "Billing Information" - }, - "creditCard": { - "message": "신용카드" - }, - "paypalClickSubmit": { - "message": "PayPal 버튼을 클릭하여 PayPal 계정에 로그인한 후 아래의 제출 버튼을 클릭하여 계속 진행하십시오." - }, - "cancelSubscription": { - "message": "구독 취소" - }, - "subscriptionCanceled": { - "message": "구독을 취소했습니다." - }, - "pendingCancellation": { - "message": "보류 취소" - }, - "subscriptionPendingCanceled": { - "message": "구독은 현재 결제 기간이 끝날 때 취소로 표시됩니다." - }, - "reinstateSubscription": { - "message": "구독 복원" - }, - "reinstateConfirmation": { - "message": "보류중인 취소 요청을 제거하고 구독을 복원하시겠습니까?" - }, - "reinstated": { - "message": "구독을 복원했습니다." - }, - "cancelConfirmation": { - "message": "정말로 취소하시겠습니까? 청구 주기 후에 이 구독의 모든 기능에 대한 접근을 잃게 됩니다." - }, - "canceledSubscription": { - "message": "구독을 취소했습니다." - }, - "neverExpires": { - "message": "만료 없음" - }, - "status": { - "message": "상태" - }, - "nextCharge": { - "message": "다음 지불" - }, - "details": { - "message": "세부사항" - }, - "downloadLicense": { - "message": "라이선스 다운로드" - }, - "updateLicense": { - "message": "라이선스 업데이트" - }, - "updatedLicense": { - "message": "라이선스 업데이트됨" - }, - "manageSubscription": { - "message": "구독 관리" - }, - "storage": { - "message": "저장소" - }, - "addStorage": { - "message": "저장소 용량 추가" - }, - "removeStorage": { - "message": "저장소 용량 제거" - }, - "subscriptionStorage": { - "message": "귀하의 구독은 총 $MAX_STORAGE$ GB의 암호화된 파일 저장소 용량을 갖고 있습니다. 현재 $USED_STORAGE$만큼 사용했습니다.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "결제 수단" - }, - "noPaymentMethod": { - "message": "파일에 결제방식이 없습니다." - }, - "addPaymentMethod": { - "message": "결제 수단 추가" - }, - "changePaymentMethod": { - "message": "결제 수단 변경" - }, - "invoices": { - "message": "청구서" - }, - "noInvoices": { - "message": "청구서 없음" - }, - "paid": { - "message": "결제됨", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "미결제", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "거래내역", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "거래내역 없음." - }, - "chargeNoun": { - "message": "결제", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "환불", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "모든 요금은 $STATEMENT_NAME$으로 내역서에 표시됩니다.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "추가되는 저장소 용량 (GB)" - }, - "gbStorageRemove": { - "message": "삭제되는 저장소 용량 (GB)" - }, - "storageAddNote": { - "message": "저장소 용량을 추가하면 청구 총계가 조정되고 파일에 즉시 지불 방법이 청구됩니다. 첫 번째 요금은 현재 청구 주기의 나머지 기간 동안 적립될 것입니다." - }, - "storageRemoveNote": { - "message": "저장소 용량을 제거하면 다음 청구 비용에 대한 크레딧으로 할당된 청구 총계가 조정될 것입니다." - }, - "adjustedStorage": { - "message": "$AMOUNT$GB 저장소로 조정됨", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "고객 지원 서비스에 문의" - }, - "updatedPaymentMethod": { - "message": "결제방식 업데이트됨." - }, - "purchasePremium": { - "message": "프리미엄 구매" - }, - "licenseFile": { - "message": "라이선스 파일" - }, - "licenseFileDesc": { - "message": "라이선스 파일의 파일명은 $FILE_NAME$과 같을 것입니다.", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "프리미엄 멤버십으로 계정을 업그레이드하려면 유효한 라이선스 파일을 업로드해야 합니다." - }, - "uploadLicenseFileOrg": { - "message": "온-프레미스 호스트 조직을 생성하려면 유효한 라이선스 파일을 업로드하십시오." - }, - "accountEmailMustBeVerified": { - "message": "계정의 이메일 주소를 확인 해야 합니다." - }, - "newOrganizationDesc": { - "message": "조직에서는 다른 사람과 저장소 일부를 공유할 수 있을 뿐 아니라 가족, 소규모 팀 또는 대기업과 같은 특정 엔터티에 대한 관련 사용자를 관리할 수 있습니다." - }, - "generalInformation": { - "message": "일반 정보" - }, - "organizationName": { - "message": "조직 이름" - }, - "accountOwnedBusiness": { - "message": "이 계정은 기업이 소유하고 있습니다." - }, - "billingEmail": { - "message": "결제 이메일" - }, - "businessName": { - "message": "기업 이름" - }, - "chooseYourPlan": { - "message": "플랜을 선택하십시오" - }, - "users": { - "message": "사용자" - }, - "userSeats": { - "message": "사용자 수" - }, - "additionalUserSeats": { - "message": "추가 사용자 수" - }, - "userSeatsDesc": { - "message": "# 의 사용자 수" - }, - "userSeatsAdditionalDesc": { - "message": "귀하의 플랜은 $BASE_SEATS$개의 사용자 수가 제공됩니다. 사용자 당 월 $SEAT_PRICE$로 사용자를 추가할 수 있습니다.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "사용자 수가 얼마나 필요하십니까? 필요한 경우 나중에 사용자를 추가할 수 있습니다." - }, - "planNameFree": { - "message": "무료", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "테스트 용도나 개인 사용자는 다른 사용자에게 $COUNT$회 공유할 수 있습니다.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "가정" - }, - "planDescFamilies": { - "message": "개인적인 사용을 위해 가족과 친구들에게 공유하세요." - }, - "planNameTeams": { - "message": "팀" - }, - "planDescTeams": { - "message": "기업 및 기타 팀 조직용." - }, - "planNameEnterprise": { - "message": "기업" - }, - "planDescEnterprise": { - "message": "기업 및 기타 대규모 조직용." - }, - "freeForever": { - "message": "영구 무료" - }, - "includesXUsers": { - "message": "$COUNT$명의 사용자 포함", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "추가 사용자" - }, - "costPerUser": { - "message": "사용자 당 $COST$", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "$COUNT$명의 사용자(자신 포함) 로 제한됨", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "$COUNT$개의 컬렉션으로 제한됨", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "$COUNT$명까지 사용자 추가 및 공유", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "사용자 무제한 추가 및 공유" - }, - "createUnlimitedCollections": { - "message": "무제한 컬렉션 만들기" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$의 암호화된 파일 저장소", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "온-프레미스 호스팅 (선택 사항)" - }, - "usersGetPremium": { - "message": "사용자가 프리미엄 멤버십 기능에 액세스 가능" - }, - "controlAccessWithGroups": { - "message": "그룹을 통한 사용자 액세스 제어" - }, - "syncUsersFromDirectory": { - "message": "디렉토리로부터 사용자 및 그룹 동기화" - }, - "trackAuditLogs": { - "message": "감사 로그로 사용자 동작 추적" - }, - "enforce2faDuo": { - "message": "Duo 2FA를 적용" - }, - "priorityCustomerSupport": { - "message": "우선 고객 지원" - }, - "xDayFreeTrial": { - "message": "$COUNT$일간 무료 평가, 언제든지 취소", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "월간" - }, - "annually": { - "message": "연간" - }, - "basePrice": { - "message": "기준 단가" - }, - "organizationCreated": { - "message": "조직 생성됨" - }, - "organizationReadyToGo": { - "message": "새 조직이 준비 완료되었습니다!" - }, - "organizationUpgraded": { - "message": "조직이 업그레이드되었습니다." - }, - "leave": { - "message": "나가기" - }, - "leaveOrganizationConfirmation": { - "message": "정말 이 조직을 떠나시겠습니까?" - }, - "leftOrganization": { - "message": "조직을 떠났습니다." - }, - "defaultCollection": { - "message": "기본 컬렉션" - }, - "getHelp": { - "message": "문의하기" - }, - "getApps": { - "message": "앱 다운로드" - }, - "loggedInAs": { - "message": "로그인됨" - }, - "eventLogs": { - "message": "이벤트 로그" - }, - "people": { - "message": "인물" - }, - "policies": { - "message": "정책" - }, - "editPolicy": { - "message": "정책 수정" - }, - "groups": { - "message": "그룹" - }, - "newGroup": { - "message": "새 그룹" - }, - "addGroup": { - "message": "그룹 추가" - }, - "editGroup": { - "message": "그룹 편집" - }, - "deleteGroupConfirmation": { - "message": "정말 이 그룹을 삭제하시겠습니까?" - }, - "removeUserConfirmation": { - "message": "정말 이 사용자를 제거하시겠습니까?" - }, - "externalId": { - "message": "외부 ID" - }, - "externalIdDesc": { - "message": "외부 Id는 참조로 사용되거나 사용자 디렉토리같은 외부 시스템에 리소스를 링크할 수 있습니다." - }, - "accessControl": { - "message": "접근 제어" - }, - "groupAccessAllItems": { - "message": "이 그룹은 모든 항목에 액세스하고 수정할 수 있습니다." - }, - "groupAccessSelectedCollections": { - "message": "이 그룹은 선택된 컬렉션에만 액세스할 수 있습니다." - }, - "readOnly": { - "message": "읽기 전용" - }, - "newCollection": { - "message": "새 컬렉션" - }, - "addCollection": { - "message": "컬렉션 추가" - }, - "editCollection": { - "message": "컬렉션 편집" - }, - "deleteCollectionConfirmation": { - "message": "정말 이 컬렉션을 삭제하시겠습니까?" - }, - "editUser": { - "message": "사용자 편집" - }, - "inviteUser": { - "message": "사용자 초대" - }, - "inviteUserDesc": { - "message": "아래에 Bitwarden 계정 이메일 주소를 입력하여 조직에 새 사용자를 초대하십시오. Bitwarden 계정을 가지고 있지 않다면, 새로운 계정을 만들라는 메시지가 표시됩니다." - }, - "inviteMultipleEmailDesc": { - "message": "이메일 주소 목록을 쉼표(,)로 구분하여 한 번에 최대 $COUNT$명의 사용자를 초대할 수 있습니다.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "이 사용자는 계정을 보호하기 위해 2단계 로그인을 사용하고 있습니다." - }, - "userAccessAllItems": { - "message": "이 사용자는 모든 항목에 액세스하고 수정할 수 있습니다." - }, - "userAccessSelectedCollections": { - "message": "이 사용자는 선택된 컬렉션에만 액세스할 수 있습니다." - }, - "search": { - "message": "검색" - }, - "invited": { - "message": "초대함" - }, - "accepted": { - "message": "수락함" - }, - "confirmed": { - "message": "확인됨" - }, - "owner": { - "message": "소유자" - }, - "ownerDesc": { - "message": "조직의 모든 측면을 관리할 수있는 최고 액세스 사용자." - }, - "admin": { - "message": "관리자" - }, - "adminDesc": { - "message": "관리자는 모든 항목, 컬렉션 및 조직 내 속한 사용자에 대해 액세스하고 관리할 수 있습니다." - }, - "user": { - "message": "사용자" - }, - "userDesc": { - "message": "조직 내 할당된 컬렉션에 액세스할 수 있는 일반 사용자." - }, - "manager": { - "message": "관리자" - }, - "managerDesc": { - "message": "관리자는 조직 내 할당된 컬렉션에 액세스하고 관리할 수 있습니다." - }, - "all": { - "message": "모두" - }, - "refresh": { - "message": "새로 고침" - }, - "timestamp": { - "message": "타임스탬프" - }, - "event": { - "message": "이벤트" - }, - "unknown": { - "message": "알 수 없음" - }, - "loadMore": { - "message": "더 불러오기" - }, - "mobile": { - "message": "모바일", - "description": "Mobile app" - }, - "extension": { - "message": "확장", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "데스크탑", - "description": "Desktop app" - }, - "webVault": { - "message": "웹 보관함" - }, - "loggedIn": { - "message": "로그인됨." - }, - "changedPassword": { - "message": "계정 비밀번호가 변경됨." - }, - "enabledUpdated2fa": { - "message": "2단계 로그인 활성화/갱신됨." - }, - "disabled2fa": { - "message": "2단계 로그인 비활성화됨." - }, - "recovered2fa": { - "message": "2단계 로그인으로 복구된 계정." - }, - "failedLogin": { - "message": "잘못된 암호로 로그인 시도가 실패했습니다." - }, - "failedLogin2fa": { - "message": "잘못된 2단계 로그인으로 로그인 시도가 실패했습니다." - }, - "exportedVault": { - "message": "보관함을 내보냈습니다." - }, - "exportedOrganizationVault": { - "message": "조직 보관함을 내보냈습니다." - }, - "editedOrgSettings": { - "message": "조직 설정이 수정되었습니다." - }, - "createdItemId": { - "message": "$ID$ 항목이 생성되었습니다.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "$ID$ 항목이 수정되었습니다.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "$ID$ 항목이 삭제되었습니다.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "$ID$ 항목이 공유되었습니다.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "$ID$ 항목을 확인했습니다.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "$ID$ 항목의 비밀번호를 확인했습니다.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "$ID$ 항목의 숨겨진 필드를 확인했습니다.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "$ID$ 항목의 보안 코드를 확인했습니다.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "$ID$ 항목의 비밀번호를 복사했습니다.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "$ID$ 항목의 숨겨진 필드를 복사했습니다.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "$ID$ 항목의 보안 코드를 복사했습니다.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "$ID$ 항목을 자동으로 채웠습니다.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "$ID$ 컬렉션이 생성되었습니다.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "$ID$ 컬렉션이 수정되었습니다.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "$ID$ 컬렉션이 삭제되었습니다.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "정책 $ID$을/를 수정했습니다.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "$ID$ 그룹을 만들었습니다.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "$ID$ 그룹을 편집했습니다.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "$ID$ 그룹을 삭제했습니다.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "$ID$ 사용자를 제거했습니다.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "$ID$ 항목에 첨부 파일을 만들었습니다.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "$ID$ 항목에서 첨부 파일을 삭제했습니다.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "$ID$ 항목에 대한 컬렉션이 수정되었습니다.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "$ID$ 사용자를 초대했습니다.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "$ID$ 사용자가 확인되었습니다.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "$ID$ 사용자를 편집했습니다.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "$ID$ 사용자에 대한 그룹이 편집되었습니다.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "기기" - }, - "view": { - "message": "보기" - }, - "invalidDateRange": { - "message": "날짜 범위가 잘못되었습니다." - }, - "errorOccurred": { - "message": "오류가 발생했습니다." - }, - "userAccess": { - "message": "사용자 접근" - }, - "userType": { - "message": "사용자 유형" - }, - "groupAccess": { - "message": "그룹 접근" - }, - "groupAccessUserDesc": { - "message": "이 사용자가 속한 그룹을 편집합니다." - }, - "invitedUsers": { - "message": "사용자를 초대했습니다." - }, - "resendInvitation": { - "message": "초대장 다시 보내기" - }, - "hasBeenReinvited": { - "message": "$USER$가 다시 초대되었습니다.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "확인" - }, - "confirmUser": { - "message": "사용자 확인" - }, - "hasBeenConfirmed": { - "message": "$USER$가 확인되었습니다.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "사용자 확인" - }, - "usersNeedConfirmed": { - "message": "초대에 수락한 사용자가 있지만 여전히 확인이 필요합니다. 사용자는 확인될 때까지 조직에 액세스할 수 없습니다." - }, - "startDate": { - "message": "시작 날짜" - }, - "endDate": { - "message": "종료 날짜" - }, - "verifyEmail": { - "message": "이메일 인증하기" - }, - "verifyEmailDesc": { - "message": "모든 기능에 대한 액세스 잠금을 해제하려면 계정의 이메일을 인증하십시오." - }, - "verifyEmailFirst": { - "message": "계정의 이메일 주소를 먼저 확인해야 합니다." - }, - "checkInboxForVerification": { - "message": "이메일 편지함에서 인증 링크를 확인하십시오." - }, - "emailVerified": { - "message": "이메일이 확인되었습니다." - }, - "emailVerifiedFailed": { - "message": "이메일을 인증할 수 없습니다. 새로운 인증을 이메일로 전송하십시오." - }, - "updateBrowser": { - "message": "브라우저 업데이트" - }, - "updateBrowserDesc": { - "message": "지원하지 않는 웹 브라우저를 사용하고 있습니다. 웹 보관함 기능이 제대로 동작하지 않을 수 있습니다." - }, - "joinOrganization": { - "message": "조직 참가" - }, - "joinOrganizationDesc": { - "message": "이 조직에서 귀하에게 가입 초대를 보냈습니다. 초대를 수락하려면 로그인하거나 Bitwarden 계정을 생성해야 합니다." - }, - "inviteAccepted": { - "message": "초대 수락됨" - }, - "inviteAcceptedDesc": { - "message": "관리자의 확인을 받으면 조직에 액세스할 수 있습니다. 승인이 이뤄지면 이메일을 보내드리겠습니다." - }, - "inviteAcceptFailed": { - "message": "초대를 수락할 수 없습니다. 조직 관리자에게 새 초대장을 보내도록 요청하십시오." - }, - "inviteAcceptFailedShort": { - "message": "초대를 수락할 수 없습니다. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "이메일 기억하기" - }, - "recoverAccountTwoStepDesc": { - "message": "일반적인 2단계 로그인 방법을 통해 계정에 액세스할 수 없는 경우, 2단계 로그인 복구 코드를 사용하여 계정의 모든 2단계 제공자를 비활성화할 수 있습니다." - }, - "recoverAccountTwoStep": { - "message": "계정 2단계 로그인 복구하기" - }, - "twoStepRecoverDisabled": { - "message": "계정에 2단계 로그인이 비활성화되어 있습니다." - }, - "learnMore": { - "message": "더 알아보기" - }, - "deleteRecoverDesc": { - "message": "계정을 복구하거나 삭제하려면 아래에 이메일 주소를 입력하십시오." - }, - "deleteRecoverEmailSent": { - "message": "계정이 존재한다면 추가적인 안내사항이 있는 이메일을 보냈습니다." - }, - "deleteRecoverConfirmDesc": { - "message": "Biitiwarden 계정을 삭제하도록 요청했습니다. 아래 버튼을 클릭하여 확인하십시오." - }, - "myOrganization": { - "message": "내 조직" - }, - "deleteOrganization": { - "message": "조직 삭제" - }, - "deleteOrganizationDesc": { - "message": "조직과 연관된 모든 데이터를 삭제하려면 다음 단계로 나아가십시오. 개인 사용자 계정은 유지되지만 더 이상 조직에 연결되지 않습니다. " - }, - "deleteOrganizationWarning": { - "message": "조직 삭제는 영구적이며 되돌릴 수 없습니다." - }, - "organizationDeleted": { - "message": "조직 삭제됨" - }, - "organizationDeletedDesc": { - "message": "조직과 연관된 모든 데이터가 삭제되었습니다." - }, - "organizationUpdated": { - "message": "조직 갱신됨" - }, - "taxInformation": { - "message": "세금 정보" - }, - "taxInformationDesc": { - "message": "청구서에 대한 세금 정보를 제공(또는 업데이트) 하려면 지원팀에 문의하십시오." - }, - "billingPlan": { - "message": "플랜", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Change Plan", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "아래 정보를 제공하여 계정을 다른 플랜으로 업그레이드하십시오. 계정에 활성화된 결제 방식이 추가되어 있는지 확인하십시오.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "플랜을 변경하려면 고객 지원팀에 문의하십시오. 계정에 활성화된 결제 방식이 추가되어 있는지 확인하십시오.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "청구서 #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "청구서 보기" - }, - "downloadInvoice": { - "message": "청구서 다운로드" - }, - "verifyBankAccount": { - "message": "은행 계좌 인증하기" - }, - "verifyBankAccountDesc": { - "message": "우리는 귀하의 은행 계좌에 2건의 소액 결제정보를 생성했습니다(보여지기까지 1~2영업일 소요됨). 은행 계좌를 인증하려면 해당 금액을 입력하십시오." - }, - "verifyBankAccountInitialDesc": { - "message": "은행 계좌를 통한 결제는 미국 내 고객만 이용할 수 있습니다. 은행 계좌는 확인이 필요합니다. 1-2영업일 이내에 2건의 소액 결제정보를 생성할 것입니다. 은행 계좌를 인증하려면 조직 내 청구 페이지에서 해당 금액을 입력하십시오." - }, - "verifyBankAccountFailureWarning": { - "message": "은행 계좌를 확인하지 않으면 결제가 누락되어 구독이 비활성화됩니다." - }, - "verifiedBankAccount": { - "message": "계좌 번호가 확인되었습니다." - }, - "bankAccount": { - "message": "은행 계좌" - }, - "amountX": { - "message": "금액 $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "라우팅 번호", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "계좌 번호" - }, - "accountHolderName": { - "message": "계좌 소유자 이름" - }, - "bankAccountType": { - "message": "계좌 유형" - }, - "bankAccountTypeCompany": { - "message": "회사 (기업)" - }, - "bankAccountTypeIndividual": { - "message": "개인 (개인)" - }, - "enterInstallationId": { - "message": "설치 ID를 입력하십시오" - }, - "addSeats": { - "message": "사용자 수 추가", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "사용자 수 제거", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "귀하의 구독은 총 $COUNT$명의 사용자를 허용합니다.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "추가할 사용자 수" - }, - "seatsToRemove": { - "message": "제거할 사용자 수" - }, - "seatsAddNote": { - "message": "사용자 수를 추가하면 청구 총계가 조정되고 파일에 즉시 지불 방법이 청구됩니다. 첫 번째 요금은 현재 청구 주기의 나머지 기간 동안 적립될 것입니다." - }, - "seatsRemoveNote": { - "message": "사용자 수를 제거하면 다음 청구 비용에 대한 크레딧으로 할당된 청구 총계가 조정될 것입니다." - }, - "adjustedSeats": { - "message": "사용자 수가 $AMOUNT$명으로 조정됨", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "키 업데이트됨" - }, - "updateKeyTitle": { - "message": "키 업데이트" - }, - "updateEncryptionKey": { - "message": "암호화 키 업데이트" - }, - "updateEncryptionKeyShortDesc": { - "message": "현재 오래된 암호화 체계를 사용하고 있습니다." - }, - "updateEncryptionKeyDesc": { - "message": "우리는 더 나은 보안 및 새로운 기능에 대한 액세스를 제공하는 더 큰 암호화 키로 이동했습니다. 암호화 키를 업데이트하는 것은 빠르고 쉽습니다. 그저 마스터 비밀번호를 입력하면 됩니다. 이 업데이트는 결국 필수사항이 될 것입니다." - }, - "updateEncryptionKeyWarning": { - "message": "암호화 키를 업데이트하고난 후 현재 사용 중인 모든 Bitwarden 애플리케이션(예. 모바일 앱 혹은 브라우저 확장 기능)에서 로그아웃 후 다시 로그인해야 합니다. 재로그인하지 않으면 (새 암호화 키를 다운로드받는 경우) 데이터 손실이 발생할 수 있습니다. 자동으로 로그아웃을 시도하지만 지연될 수 있습니다." - }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." - }, - "subscription": { - "message": "구독" - }, - "loading": { - "message": "불러오는 중" - }, - "upgrade": { - "message": "업그레이드" - }, - "upgradeOrganization": { - "message": "조직 업그레이드" - }, - "upgradeOrganizationDesc": { - "message": "이 기능은 무료 조직에서는 사용할 수 없습니다. 더 많은 기능을 이용하려면 유료 플랜으로 전환하십시오." - }, - "createOrganizationStep1": { - "message": "조직 만들기: 1단계" - }, - "createOrganizationCreatePersonalAccount": { - "message": "조직을 생성하기 전에 먼저 무료 개인 계정을 생성해야 합니다." - }, - "refunded": { - "message": "환불됨" - }, - "nothingSelected": { - "message": "아무것도 선택하지 않았습니다." - }, - "acceptPolicies": { - "message": "이 박스를 체크하면 다음에 동의하는 것으로 간주됩니다:" - }, - "acceptPoliciesError": { - "message": "서비스 약관 및 개인 정보 보호 정책을 확인하지 않았습니다." - }, - "termsOfService": { - "message": "서비스 약관" - }, - "privacyPolicy": { - "message": "개인 정보 보호 정책" - }, - "filters": { - "message": "필터" - }, - "vaultTimeout": { - "message": "보관함 시간 제한" - }, - "vaultTimeoutDesc": { - "message": "보관함이 언제까지 시간을 제한하고 선택된 행동을 수행하지 선택해주세요." - }, - "oneMinute": { - "message": "1분" - }, - "fiveMinutes": { - "message": "5분" - }, - "fifteenMinutes": { - "message": "15분" - }, - "thirtyMinutes": { - "message": "30분" - }, - "oneHour": { - "message": "1시간" - }, - "fourHours": { - "message": "4시간" - }, - "onRefresh": { - "message": "브라우저 새로 고침 시" - }, - "dateUpdated": { - "message": "업데이트됨", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "비밀번호 업데이트됨", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "조직이 비활성화됨" - }, - "licenseIsExpired": { - "message": "라이선스가 만료되었습니다." - }, - "updatedUsers": { - "message": "업데이트된 사용자" - }, - "selected": { - "message": "선택됨" - }, - "ownership": { - "message": "소유자" - }, - "whoOwnsThisItem": { - "message": "이 항목의 소유자는 누구입니까?" - }, - "strong": { - "message": "강함", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "괜찮음", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "약함", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "매우 약함", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "취약한 마스터 비밀번호" - }, - "weakMasterPasswordDesc": { - "message": "선택한 마스터 비밀번호는 취약합니다. Bitwarden 계정을 확실히 보호하려면 강력한 마스터 비밀번호(혹은 패스프레이즈)를 사용해야 합니다. 정말 이 마스터 비밀번호를 사용하시겠습니까?" - }, - "rotateAccountEncKey": { - "message": "내 계정의 암호화 키 회전" - }, - "rotateEncKeyTitle": { - "message": "암호화 키 교체하기" - }, - "rotateEncKeyConfirmation": { - "message": "정말 계정의 암호화 키를 교체하시겠습니까?" - }, - "attachmentsNeedFix": { - "message": "이 항목은 수정이 필요한 오래된 파일을 갖고 있습니다." - }, - "attachmentFixDesc": { - "message": "이것은 수정이 필요한 오래된 파일입니다. 자세한 내용을 보려면 클릭하십시오." - }, - "fix": { - "message": "수정", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "계정의 암호화 키를 교체하기 전에 보관함 내 오래된 파일 수정이 필요합니다." - }, - "yourAccountsFingerprint": { - "message": "계정 지문 구절", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "암호화 키의 무결성을 확인하려면 계속하기 전에 사용자의 지문 구문을 확인하십시오.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "지문 구절을 다시 확인하지 않음", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "무료", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "API 키" - }, - "apiKeyDesc": { - "message": "API 키를 사용하여 Bitwarden 공용 API에 인증할 수 있습니다." - }, - "apiKeyRotateDesc": { - "message": "API 키를 교체하면 이전 키는 무효화됩니다. 현재 키가 더 이상 안전하지 않다고 판단되면 API 키를 교체할 수 있습니다." - }, - "apiKeyWarning": { - "message": "귀하의 API 키는 조직에 대한 전체 액세스 권한을 가집니다. 이것은 비밀로 해야 합니다." - }, - "userApiKeyDesc": { - "message": "API 키를 사용하여 Bitwarden CLI에 인증할 수 있습니다." - }, - "userApiKeyWarning": { - "message": "당신의 API 키는 대체 인증 수단입니다. 안전하게 보관해주세요." - }, - "oauth2ClientCredentials": { - "message": "OAuth 2.0 클라이언트 자격 증명", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "API 키 보기" - }, - "rotateApiKey": { - "message": "API 키 교체" - }, - "selectOneCollection": { - "message": "반드시 하나 이상의 모음을 선택해야 합니다." - }, - "couldNotChargeCardPayInvoice": { - "message": "카드에 청구할 수 없습니다. 아래 목록에서 결제되지 않은 인보이스를 확인하고 결제해주세요." - }, - "inAppPurchase": { - "message": "애플리케이션 내 구매" - }, - "cannotPerformInAppPurchase": { - "message": "인 앱 결제 수단을 사용하고 있을 때에는 이 행동을 수행할 수 없습니다." - }, - "manageSubscriptionFromStore": { - "message": "인 앱 결제가 이루어진 스토어에서 구독을 관리해야 합니다." - }, - "minLength": { - "message": "최소 길이" - }, - "clone": { - "message": "복제" - }, - "masterPassPolicyDesc": { - "message": "마스터 비밀번호 강도에 대한 최소 요구 사항을 설정해주세요." - }, - "twoStepLoginPolicyDesc": { - "message": "개인 계정에서 2단계 로그인을 요구합니다." - }, - "twoStepLoginPolicyWarning": { - "message": "2단계 로그인을 활성화하지 않은 단체 맴버는 단체에서 제거되며 변경 사항에 대한 이메일 알림을 받습니다." - }, - "twoStepLoginPolicyUserWarning": { - "message": "사용자 계정에 대해서 2단계 로그인을 요구하는 단체의 멤버입니다. 모든 2단계 로그인 수단을 비활성화한다면 단체에서 자동으로 제거됩니다." - }, - "passwordGeneratorPolicyDesc": { - "message": "비밀번호 생성기 설정에 최소 요구 사항을 설정해주세요." - }, - "passwordGeneratorPolicyInEffect": { - "message": "하나 이상의 단체 정책이 생성기 설정에 영항을 미치고 있습니다." - }, - "masterPasswordPolicyInEffect": { - "message": "하나 이상의 단체 정책이 마스터 비밀번호가 다음 사항을 따르도록 요구합니다:" - }, - "policyInEffectMinComplexity": { - "message": "최소 복잡도 점수 $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "최소 길이 $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "하나 이상의 대문자 포함" - }, - "policyInEffectLowercase": { - "message": "하나 이상의 소문자 포함" - }, - "policyInEffectNumbers": { - "message": "하나 이상의 숫자 포함" - }, - "policyInEffectSpecial": { - "message": "하나 이상의 특수문자 포함 $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "새 마스터 비밀번호가 정책 요구 사항을 따르지 않습니다." - }, - "minimumNumberOfWords": { - "message": "단어 최소 개수" - }, - "defaultType": { - "message": "기본 유형" - }, - "userPreference": { - "message": "사용자 설정" - }, - "vaultTimeoutAction": { - "message": "보관함 시간 제한 초과시 동작" - }, - "vaultTimeoutActionLockDesc": { - "message": "잠긴 보관함에 다시 접근하려면 마스터 비밀번호를 입력해야 합니다." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "로그아웃한 보관함에 다시 접근하려면 다시 인증해야 합니다." - }, - "lock": { - "message": "잠금", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "휴지통", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "휴지통 검색" - }, - "permanentlyDelete": { - "message": "영구적으로 삭제" - }, - "permanentlyDeleteSelected": { - "message": "선택한 항목을 영구적으로 삭제" - }, - "permanentlyDeleteItem": { - "message": "영구적으로 항목 삭제" - }, - "permanentlyDeleteItemConfirmation": { - "message": "정말로 이 항목을 영구적으로 삭제하시겠습니까?" - }, - "permanentlyDeletedItem": { - "message": "영구적으로 삭제된 항목" - }, - "permanentlyDeletedItems": { - "message": "영구적으로 삭제된 항목" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "영구 삭제를 위해 $COUNT$ 개의 항목이 선택되었습니다. 정말로 이 항목들을 모두 영구적으로 삭제하시겠습니까?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "영구적으로 삭제된 항목 $ID$ 을(를) 삭제했습니다.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "복원" - }, - "restoreSelected": { - "message": "선택 항목 복원" - }, - "restoreItem": { - "message": "항목 복구" - }, - "restoredItem": { - "message": "복구된 항목" - }, - "restoredItems": { - "message": "복구된 항목" - }, - "restoreItemConfirmation": { - "message": "정말로 이 항목을 복구하시겠습니까?" - }, - "restoreItems": { - "message": "항목 복구" - }, - "restoreSelectedItemsDesc": { - "message": "복구를 위해 $COUNT$ 개의 항목이 선택되었습니다. 정말로 이 항목들을 모두 복구하시겠습니까?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "$ID$ 항목이 복구되었습니다.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "로그아웃하면 보관함에 대한 모든 접근이 제거되며 시간 제한을 초과하면 온라인 인증을 요구합니다. 정말로 이 설정을 사용하시겠습니까?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "시간 제한 초과시 동작 확인" - }, - "hidePasswords": { - "message": "비밀번호 숨기기" - }, - "countryPostalCodeRequiredDesc": { - "message": "세금 계산 및 금융 보고만을 위해서 해당 정보가 필요합니다." - }, - "includeVAT": { - "message": "VAT/GST 정보 포함 (선택)" - }, - "taxIdNumber": { - "message": "VAT/GST 세금 ID" - }, - "taxInfoUpdated": { - "message": "세금 정보가 업데이트되었습니다." - }, - "setMasterPassword": { - "message": "마스터 비밀번호 설정" - }, - "ssoCompleteRegistration": { - "message": "SSO 로그인을 하기 위해서 보관함에 접근하고 보호할 수 있도록 마스터 비밀번호를 설정해주세요." - }, - "identifier": { - "message": "식별자" - }, - "organizationIdentifier": { - "message": "조직 식별자" - }, - "ssoLogInWithOrgIdentifier": { - "message": "조직의 통합 인증(SSO) 포탈을 통해서 로그인하세요. 시작하려면 조직 식별자를 입력해주세요." - }, - "enterpriseSingleSignOn": { - "message": "엔터프라이즈 통합 인증 (SSO)" - }, - "ssoHandOff": { - "message": "이제 이 탭을 닫고 확장 프로그램에서 계속 진행하셔도 됩니다." - }, - "businessPortal": { - "message": "비즈니스 포탈", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "모든 팀 기능, 추가로:" - }, - "includeSsoAuthentication": { - "message": "SAML2.0과 OpenID Connect를 통한 SSO 인증" - }, - "includeEnterprisePolicies": { - "message": "엔터프라이즈 정책" - }, - "ssoValidationFailed": { - "message": "SSO 검증 실패" - }, - "ssoIdentifierRequired": { - "message": "조직 식별자가 필요합니다." - }, - "unlinkSso": { - "message": "SSO 연결 해제" - }, - "linkSso": { - "message": "SSO 연결" - }, - "webPoliciesDeprecationWarning": { - "message": "정책 설정이 이동되었으며 이 페이지는 곧 지원이 종료될 예정입니다. 아래를 클릭해서 Business Portal 정책 페이지를 사용해주세요." - }, - "singleOrg": { - "message": "통합 조직" - }, - "singleOrgDesc": { - "message": "사용자들이 다른 조직에 가입하지 못하도록 제한합니다." - }, - "singleOrgBlockCreateMessage": { - "message": "현재 조직에 하나 이상의 조직에 참가할 수 없도록 정책이 지정되어 있습니다. 조직 관리자에게 문의하거나 다른 Bitwarden 계정으로 로그앤해주세요." - }, - "singleOrgPolicyWarning": { - "message": "소유자 또는 관리자가 아닌 조직 구성원 및 이미 다른 조직의 구성원인 경우 이 조직에서 제거됩니다." - }, - "requireSso": { - "message": "통합 (SSO) 인증" - }, - "requireSsoPolicyDesc": { - "message": "엔터프라이즈 통합 로그인 (SSO) 수단을 사용해서 로그인해야 합니다." - }, - "prerequisite": { - "message": "필요 조건" - }, - "requireSsoPolicyReq": { - "message": "이 정책을 활성화하기 전에 통합 조직 엔터프라이즈 정책이 활성화되어 있어야합니다." - }, - "requireSsoPolicyReqError": { - "message": "통합 조직 정책이 활성화되지 않았습니다." - }, - "requireSsoExemption": { - "message": "조직 소유자와 관리자는 이 정책을 적용받지 않습니다." - }, - "sendTypeFile": { - "message": "파일" - }, - "sendTypeText": { - "message": "텍스트" - }, - "createSend": { - "message": "새 Send 생성", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Send 편집", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Send 생성함", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Send 수정함", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Send 삭제함", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Send 삭제", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "정말 이 Send를 삭제하시겠습니까?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "어떤 유형의 Send인가요?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "삭제일" - }, - "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "만료일" - }, - "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "최대 접근 횟수" - }, - "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "현재 접근 횟수" - }, - "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Private notes about this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "비활성화됨" - }, - "sendLink": { - "message": "Send 링크", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Send 링크 복사", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "비밀번호 제거" - }, - "removedPassword": { - "message": "비밀번호 제거함" - }, - "removePasswordConfirmation": { - "message": "비밀번호를 제거하시겠습니까?" - }, - "disableThisSend": { - "message": "Disable this Send so that no one can access it.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "모든 Send" - }, - "maxAccessCountReached": { - "message": "Max access count reached" - }, - "pendingDeletion": { - "message": "Pending deletion" - }, - "expired": { - "message": "Expired" - }, - "searchSends": { - "message": "Send 검색", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "이 Send는 비밀번호로 보호되어 있습니다. 계속하려면 비밀번호를 입력해주세요.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "비밀번호를 모르시나요? 보낸 사람에게 Send에 접근할 수 있는 비밀번호를 요청하세요.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "이 Send는 기본적으로 숨겨져 있습니다. 아래의 버튼을 눌러 공개 여부를 전환할 수 있습니다.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "파일 다운로드" - }, - "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "Send가 없습니다.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Emergency Access" - }, - "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." - }, - "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" - }, - "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." - }, - "addEmergencyContact": { - "message": "Add emergency contact" - }, - "designatedEmergencyContacts": { - "message": "Designated as emergency contact" - }, - "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." - }, - "inviteEmergencyContact": { - "message": "Invite emergency contact" - }, - "editEmergencyContact": { - "message": "Edit emergency contact" - }, - "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" - }, - "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" - }, - "viewDesc": { - "message": "Can view all items in your own vault." - }, - "takeover": { - "message": "Takeover" - }, - "takeoverDesc": { - "message": "Can reset your account with a new master password." - }, - "waitTime": { - "message": "Wait Time" - }, - "waitTimeDesc": { - "message": "Time required before automatically granting access." - }, - "oneDay": { - "message": "1 day" - }, - "days": { - "message": "$DAYS$ days", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Invited user." - }, - "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." - }, - "requestAccess": { - "message": "Request Access" - }, - "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Approve" - }, - "reject": { - "message": "Reject" - }, - "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Emergency access approved." - }, - "emergencyRejected": { - "message": "Emergency access rejected" - }, - "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Personal Ownership" - }, - "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." - }, - "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." - }, - "modifiedPolicyId": { - "message": "Modified policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Plan price" - }, - "estimatedTax": { - "message": "Estimated tax" - }, - "custom": { - "message": "Custom" - }, - "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." - }, - "permissions": { - "message": "Permissions" - }, - "accessBusinessPortal": { - "message": "Access Business Portal" - }, - "accessEventLogs": { - "message": "Access Event Logs" - }, - "accessImportExport": { - "message": "Access Import/Export" - }, - "accessReports": { - "message": "Access Reports" - }, - "manageAllCollections": { - "message": "Manage All Collections" - }, - "manageAssignedCollections": { - "message": "Manage Assigned Collections" - }, - "manageGroups": { - "message": "Manage Groups" - }, - "managePolicies": { - "message": "Manage Policies" - }, - "manageSso": { - "message": "Manage SSO" - }, - "manageUsers": { - "message": "Manage Users" - }, - "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." - }, - "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." - }, - "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" - }, - "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/lv/messages.json b/locales/lv/messages.json deleted file mode 100644 index 86d470af..00000000 --- a/locales/lv/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$ Tīmekļa Seifs", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "Kāda veida vienums ir šis?" - }, - "name": { - "message": "Nosaukums" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "Jauns URI" - }, - "username": { - "message": "Lietotājvārds" - }, - "password": { - "message": "Parole" - }, - "newPassword": { - "message": "Jauna parole" - }, - "passphrase": { - "message": "Paroles frāze" - }, - "notes": { - "message": "Piezīmes" - }, - "customFields": { - "message": "Pielāgotie Lauki" - }, - "cardholderName": { - "message": "Kartes Īpašnieka Vārds" - }, - "number": { - "message": "Numurs" - }, - "brand": { - "message": "Zīmols" - }, - "expiration": { - "message": "Derīgums" - }, - "securityCode": { - "message": "Drošības Kods (CVV)" - }, - "identityName": { - "message": "Identitātes Nosaukums" - }, - "company": { - "message": "Uzņēmums" - }, - "ssn": { - "message": "Personas Kods" - }, - "passportNumber": { - "message": "Pases Numurs" - }, - "licenseNumber": { - "message": "Vadītāja Apliecības Numurs" - }, - "email": { - "message": "E-pasts" - }, - "phone": { - "message": "Tālrunis" - }, - "january": { - "message": "Janvāris" - }, - "february": { - "message": "Februāris" - }, - "march": { - "message": "Marts" - }, - "april": { - "message": "Aprīlis" - }, - "may": { - "message": "Maijs" - }, - "june": { - "message": "Jūnijs" - }, - "july": { - "message": "Jūlijs" - }, - "august": { - "message": "Augusts" - }, - "september": { - "message": "Septembris" - }, - "october": { - "message": "Oktobris" - }, - "november": { - "message": "Novembris" - }, - "december": { - "message": "Decembris" - }, - "title": { - "message": "Tituls" - }, - "mr": { - "message": "K-gs" - }, - "mrs": { - "message": "K-dze" - }, - "ms": { - "message": "Jk-dze" - }, - "dr": { - "message": "Dr" - }, - "expirationMonth": { - "message": "Derīguma Mēnesis" - }, - "expirationYear": { - "message": "Derīguma Gads" - }, - "authenticatorKeyTotp": { - "message": "Autentifikatora Kods (TOTP)" - }, - "folder": { - "message": "Mape" - }, - "newCustomField": { - "message": "Jauns Pielāgotais Lauks" - }, - "value": { - "message": "Vērtība" - }, - "dragToSort": { - "message": "Velc lai kārtotu" - }, - "cfTypeText": { - "message": "Teksts" - }, - "cfTypeHidden": { - "message": "Paslēpts" - }, - "cfTypeBoolean": { - "message": "Būla" - }, - "remove": { - "message": "Noņemt" - }, - "unassigned": { - "message": "Nav Piešķirts" - }, - "noneFolder": { - "message": "Nav Mapes", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Pievienot Mapi" - }, - "editFolder": { - "message": "Rediģēt Mapi" - }, - "baseDomain": { - "message": "Galvenais domēns" - }, - "host": { - "message": "Serveris", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Precīzs" - }, - "startsWith": { - "message": "Sākas ar" - }, - "regEx": { - "message": "Regulāra izteiksme", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Atbilstības Noteikšana", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Noklusētā atbilstības noteikšana", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Nekad" - }, - "toggleVisibility": { - "message": "Pārslēgt Redzamību" - }, - "toggleCollapse": { - "message": "Pārslēgt Sakļaušanu", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Ģenerēt Paroli" - }, - "checkPassword": { - "message": "Pārbaudi vai parole ir tikusi nopludināta." - }, - "passwordExposed": { - "message": "Šī paroli ir bijusi nopludināta $VALUE$ reizi(-es) datu noplūdēs. To vajadzētu nomainīt.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "Šī parole netika atrasta zināmās datu noplūdēs. Tai vajadzētu būt drošai priekš lietošanas." - }, - "save": { - "message": "Saglabāt" - }, - "cancel": { - "message": "Atcelt" - }, - "canceled": { - "message": "Atcelts" - }, - "close": { - "message": "Aizvērt" - }, - "delete": { - "message": "Dzēst" - }, - "favorite": { - "message": "Favorīts" - }, - "unfavorite": { - "message": "Noņemt Favorītu" - }, - "edit": { - "message": "Rediģēt" - }, - "searchCollection": { - "message": "Meklēt Kolekcijā" - }, - "searchFolder": { - "message": "Meklēt Mapē" - }, - "searchFavorites": { - "message": "Meklēt Favorītos" - }, - "searchType": { - "message": "Meklēšanas Veids", - "description": "Search item type" - }, - "searchVault": { - "message": "Meklēt Seifā" - }, - "allItems": { - "message": "Visi Vienumi" - }, - "favorites": { - "message": "Favorīti" - }, - "types": { - "message": "Veidi" - }, - "typeLogin": { - "message": "Pieteikties" - }, - "typeCard": { - "message": "Kartes" - }, - "typeIdentity": { - "message": "Identitātes" - }, - "typeSecureNote": { - "message": "Droša Piezīme" - }, - "folders": { - "message": "Mapes" - }, - "collections": { - "message": "Kolekcijas" - }, - "firstName": { - "message": "Vārds" - }, - "middleName": { - "message": "Otrais Vārds" - }, - "lastName": { - "message": "Uzvārds" - }, - "address1": { - "message": "Adrese 1" - }, - "address2": { - "message": "Adrese 2" - }, - "address3": { - "message": "Adrese 3" - }, - "cityTown": { - "message": "Pilsēta / Ciems" - }, - "stateProvince": { - "message": "Reģions / Pagasts" - }, - "zipPostalCode": { - "message": "Pasta / Zip Indekss" - }, - "country": { - "message": "Valsts" - }, - "shared": { - "message": "Koplietoti" - }, - "attachments": { - "message": "Pielikumi" - }, - "select": { - "message": "Atlasīt" - }, - "addItem": { - "message": "Pievienot Vienumu" - }, - "editItem": { - "message": "Rediģēt Vienumu" - }, - "viewItem": { - "message": "View Item" - }, - "ex": { - "message": "piem.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Cits" - }, - "share": { - "message": "Koplietot" - }, - "valueCopied": { - "message": "$VALUE$ nokopēta", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Kopēt Vērtību", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Kopēt Paroli", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Kopēt Lietotājvārdu", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Kopēt Numuru", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Kopēt Drošības Kodu", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Kopēt Vietrādi", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "Mans Seifs" - }, - "vault": { - "message": "Seifs" - }, - "shareSelected": { - "message": "Koplietot Atlasītos" - }, - "deleteSelected": { - "message": "Dzēst Atlasītos" - }, - "moveSelected": { - "message": "Pārvietot Atlasītos" - }, - "selectAll": { - "message": "Atlasīt Visu" - }, - "unselectAll": { - "message": "Noņemt Atlasi" - }, - "launch": { - "message": "Palaist" - }, - "newAttachment": { - "message": "Pievienot Jaunu Pielikumu" - }, - "deletedAttachment": { - "message": "Izdzēsa pielikumu" - }, - "deleteAttachmentConfirmation": { - "message": "Vai tiešām vēlaties izdzēst šo pielikumu?" - }, - "attachmentSaved": { - "message": "Pielikums tika saglabāts." - }, - "file": { - "message": "Fails" - }, - "selectFile": { - "message": "Izvēlieties failu." - }, - "maxFileSize": { - "message": "Maksimālais faila lielums ir 100 MB." - }, - "updateKey": { - "message": "Jūs nevarat izmantot šo funkciju līdz jūs atjaunojat savu šifrēšanas atslēgu." - }, - "addedItem": { - "message": "Pievienoja vienumu" - }, - "editedItem": { - "message": "Rediģēja vienumu" - }, - "sharedItem": { - "message": "Koplietoja vienumu" - }, - "sharedItems": { - "message": "Koplietoja vienumus" - }, - "deleteItem": { - "message": "Dzēst Vienumu" - }, - "deleteFolder": { - "message": "Dzēst Mapi" - }, - "deleteAttachment": { - "message": "Dzēst Pielikumu" - }, - "deleteItemConfirmation": { - "message": "Vai tiešām vēlaties dzēst šo vienumu?" - }, - "deletedItem": { - "message": "Vienums pārvietots uz miskasti" - }, - "deletedItems": { - "message": "Vienumi pārvietoti uz miskasti" - }, - "movedItems": { - "message": "Pārvietoja vienumus" - }, - "overwritePasswordConfirmation": { - "message": "Vai tiešām vēlies pārrakstīt esošo paroli?" - }, - "editedFolder": { - "message": "Rediģēja mapi" - }, - "addedFolder": { - "message": "Pievienoja mapi" - }, - "deleteFolderConfirmation": { - "message": "Vai tiešām vēlaties izdzēst šo mapi?" - }, - "deletedFolder": { - "message": "Izdzēsa mapi" - }, - "loggedOut": { - "message": "Izgāja" - }, - "loginExpired": { - "message": "Jūsu piekļuves sesija ir beigusies." - }, - "logOutConfirmation": { - "message": "Vai tiešām vēlies izrakstīties?" - }, - "logOut": { - "message": "Iziet" - }, - "ok": { - "message": "Labi" - }, - "yes": { - "message": "Jā" - }, - "no": { - "message": "Nē" - }, - "loginOrCreateNewAccount": { - "message": "Ieej vai izveido jaunu kontu lai piekļūtu savam drošajam seifam." - }, - "createAccount": { - "message": "Izveidot Kontu" - }, - "logIn": { - "message": "Ieiet" - }, - "submit": { - "message": "Iesniegt" - }, - "emailAddressDesc": { - "message": "Jūs izmantosiet savu e-pasta adresi lai ieietu." - }, - "yourName": { - "message": "Jūsu Vārds" - }, - "yourNameDesc": { - "message": "Kā mums tevi saukt?" - }, - "masterPass": { - "message": "Galvenā Parole" - }, - "masterPassDesc": { - "message": "Galvenā parole ir parole, ko jūs izmantosiet lai piekļūtu savam seifam. Ir ļoti svarīgi lai Jūs savu galveno paroli neaizmirstu, jo to nav iespējams atgūt aizmiršanas gadījumā." - }, - "masterPassHintDesc": { - "message": "Galvenās paroles atgādinājums var palīdzēt jums atcerēties savu paroli ja jūs to aizmirstiet." - }, - "reTypeMasterPass": { - "message": "Atkārtoti Ievadiet Galveno Paroli" - }, - "masterPassHint": { - "message": "Galvenās Paroles Atgādinājums (neobligāts)" - }, - "masterPassHintLabel": { - "message": "Galvenās Paroles Atgādinājums" - }, - "settings": { - "message": "Iestatījumi" - }, - "passwordHint": { - "message": "Paroles Atgādinājums" - }, - "enterEmailToGetHint": { - "message": "Ievadi sava konta e-pasta adresi lai saņemtu savas galvenās paroles atgādinājumu." - }, - "getMasterPasswordHint": { - "message": "Saņemt galvenās paroles atgādinājumu" - }, - "emailRequired": { - "message": "E-pasta adrese ir nepieciešama." - }, - "invalidEmail": { - "message": "Nederīga e-pasta adrese." - }, - "masterPassRequired": { - "message": "Galvenā parole ir nepieciešama." - }, - "masterPassLength": { - "message": "Galvenai parolei ir jābūt vismaz 8 rakstzīmju garai." - }, - "masterPassDoesntMatch": { - "message": "Galvenās paroles apstiprinājums nesakrīt." - }, - "newAccountCreated": { - "message": "Jūsu jaunais konts ir izveidots! Jūs varat tagad ieiet." - }, - "masterPassSent": { - "message": "Mēs esam nosūtījuši jums E-pastu ar galvenās paroles atgādinājumu." - }, - "unexpectedError": { - "message": "Ir radusies neparedzēta kļūda." - }, - "emailAddress": { - "message": "E-pasta Adrese" - }, - "yourVaultIsLocked": { - "message": "Jūsu seifs ir slēgts. Ievadiet savu galveno paroli lai turpinātu." - }, - "unlock": { - "message": "Atslēgt" - }, - "loggedInAsEmailOn": { - "message": "Iegāja kā $EMAIL$ iekš $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Nederīga galvenā parole" - }, - "lockNow": { - "message": "Aizslēgt Tagad" - }, - "noItemsInList": { - "message": "Nav vienumu ko parādīt." - }, - "noCollectionsInList": { - "message": "Nav kolekciju ko parādīt." - }, - "noGroupsInList": { - "message": "Nav grupu ko parādīt." - }, - "noUsersInList": { - "message": "Nav lietotāju ko parādīt." - }, - "noEventsInList": { - "message": "Nav notikumu ko parādīt." - }, - "newOrganization": { - "message": "Jauna Organizācija" - }, - "noOrganizationsList": { - "message": "Jūs nepiederat pie nevienas organizācijas. Organizācijas ļauj droši koplietot vienumus ar citiem lietotājiem." - }, - "versionNumber": { - "message": "Versija $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Ievadiet 6 skaitļu verifikācijas kodu no savas autentifikātora lietotnes." - }, - "enterVerificationCodeEmail": { - "message": "Ievadiet 6 skaitļu verifikācijas kodu, kas tika nosūtīts $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "Verifikācijas e-pasts nosūtīts uz $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Atcerēties mani" - }, - "sendVerificationCodeEmailAgain": { - "message": "Nosūtīt verifikācijas kodu atkārtoti" - }, - "useAnotherTwoStepMethod": { - "message": "Izmantot citu divpakāpju ieejas metodi" - }, - "insertYubiKey": { - "message": "Ievieto savu YubiKey datora USB ligzdā un pieskaries tā pogai." - }, - "insertU2f": { - "message": "Ievieto savu drošības atslēgu datora USB ligzdā. Ja tai ir poga, pieskaries tai." - }, - "loginUnavailable": { - "message": "Ieeja Nepieejama" - }, - "noTwoStepProviders": { - "message": "Šim kontam ir iespējota divpakāpju piekļuve, bet šis pārlūks neatbalsta nevienu no uzstādītajiem divpakāpju verifikācijas nodrošinātājiem." - }, - "noTwoStepProviders2": { - "message": "Lūdzu izmantojiet atbalstītu tīmekļa pārlūku (piemēram Chrome) un/vai pievienojiet papildus nodrošinātājus kas ir labāk atbalstīti visos pārlūkos (piemēram autentifikatora lietotni)." - }, - "twoStepOptions": { - "message": "Divpakāpju Piekļuves Iestatījumi" - }, - "recoveryCodeDesc": { - "message": "Zaudēji piekļuvi visiem divpakāpju nodrošinātājiem? Izmanto atjaunošanas kodus lai atspējotu visus divpakāpju nodrošinātājus no sava konta." - }, - "recoveryCodeTitle": { - "message": "Atjaunošanas Kods" - }, - "authenticatorAppTitle": { - "message": "Autentifikātora Lietotne" - }, - "authenticatorAppDesc": { - "message": "Izmanto autentifikātora lietotni (kā Authy vai Google Autentifikators) lai izveidotu laika-bāzētus verifikācijas kodus.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "YubiKey OTP Drošības Atslēga" - }, - "yubiKeyDesc": { - "message": "Izmanto YubiKey lai piekļūtu savam kontam. Strādā ar YubiKey 4. sērijas, 5. sērijas un NEO ierīcēm." - }, - "duoDesc": { - "message": "Verificē izmantojot Duo Sercurity izmantojot Duo Mobile lietotni, SMS, telefona zvanu vai U2F drošības atslēgu.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Verificē izmantojot Duo Security priekš savas organizācijas izmantojot Duo Mobile lietotni, SMS, telefona zvanu vai U2F drošības atslēgu.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Izmanto jebkuru FIDO U2F atbalstošu drošības atslēgu lai piekļūtu savam kontam." - }, - "u2fTitle": { - "message": "FIDO U2F Drošības Atslēga" - }, - "emailTitle": { - "message": "E-pasts" - }, - "emailDesc": { - "message": "Verifikācijas kodi tiks nosūtīti uz jūsu E-pastu." - }, - "continue": { - "message": "Turpināt" - }, - "organization": { - "message": "Organizācija" - }, - "organizations": { - "message": "Organizācijas" - }, - "shareDesc": { - "message": "Izvēlies organizāciju ar kuru koplietot šo vienumu. Koplietošana pārvieto šī vienuma piederību organizācijai. Jūs vairs nebūsiet šī vienuma tiešais īpašnieks kad tas tiks koplietots." - }, - "shareManyDesc": { - "message": "Izvēlies organizāciju ar kuru koplietot šos vienumus. Koplietošana pārvieto šo vienumu piederību organizācijai. Jūs vairs nebūsiet šo vienumu tiešais īpašnieks kad tie tiks koplietoti." - }, - "collectionsDesc": { - "message": "Rediģējiet kolekcijas ar kurām šis vienums tiek koplietots. Tikai organizāciju lietotāji ar piekļuvi šīm kolekcijām varēs redzēt šo vienumu." - }, - "deleteSelectedItemsDesc": { - "message": "Jūs esat atlasījis $COUNT$ vienumu(s) dzēšanai. Vai jūs tiešām vēlaties šos vienumus izdzēst?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Izvēlieties mapi uz kuru pārvietot $COUNT$ izvēlēto(s) vienumu(s).", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "Jūs esiet atlasījis $COUNT$ vienumu(s), $SHAREABLE_COUNT$ vienumi ir koplietojami, $NONSHAREABLE_COUNT$ nav.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Verifikācijas Kods (TOTP)" - }, - "copyVerificationCode": { - "message": "Kopēt Verifikācijas Kodu" - }, - "warning": { - "message": "Brīdinājums" - }, - "confirmVaultExport": { - "message": "Confirm Vault Export" - }, - "exportWarningDesc": { - "message": "Šis eksports satur jūsu datus nešifrētā formātā. Eksportēto failu nevajadzētu saglabāt vai sūtīt izmantojot nedrošus kanālus (piemēram E-pastu). Izdzēsiet to līdzko esiet beidzis to izmantot." - }, - "encExportWarningDesc": { - "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." - }, - "exportMasterPassword": { - "message": "Ievadiet savu galveno paroli lai eksportētu sava seifa datus." - }, - "exportVault": { - "message": "Eksportēt Seifu" - }, - "fileFormat": { - "message": "Faila Formāts" - }, - "exportSuccess": { - "message": "Jūsu seifa dati ir tikuši eksportēti." - }, - "passwordGenerator": { - "message": "Paroles Ģenerātors" - }, - "minComplexityScore": { - "message": "Minimālās Sarežģītības Vērtība" - }, - "minNumbers": { - "message": "Minimālie Skaitļi" - }, - "minSpecial": { - "message": "Minimālās Speciālās Rakstzīmes", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Izvairīties no viegli jaucamām rakstzīmēm" - }, - "regeneratePassword": { - "message": "Pārģenerēt Paroli" - }, - "length": { - "message": "Garums" - }, - "numWords": { - "message": "Vārdu Skaits" - }, - "wordSeparator": { - "message": "Vārdu Atdalītājs" - }, - "capitalize": { - "message": "Kapitalizēt", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Ievietot Skaitli" - }, - "passwordHistory": { - "message": "Paroļu Vēsture" - }, - "noPasswordsInList": { - "message": "Nav paroļu ko parādīt." - }, - "clear": { - "message": "Notīrīt", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Konts Atjaunots" - }, - "changeEmail": { - "message": "Mainīt E-pastu" - }, - "newEmail": { - "message": "Jauns E-pasts" - }, - "code": { - "message": "Kods" - }, - "changeEmailDesc": { - "message": "Mēs esam nosūtījuši verifikācijas kodu uz $EMAIL$. Lūdzu pārbaudi savu e-pastu un ievadi šo kodu zemāk lai pabeigtu e-pasta adreses maiņu.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Turpināšana tevi izrakstīs no esošās sesijas, liekot tev atkārtoti ieiet. Aktīvās sesijas citās ierīcēs var palikt aktīvas līdz vienai stundai." - }, - "emailChanged": { - "message": "E-pasts Nomainīts" - }, - "logBackIn": { - "message": "Lūdzu ieej atkārtoti." - }, - "logBackInOthersToo": { - "message": "Lūdzu ieej atkārtoti. Ja tu izmanto citas Bitwarden lietotnes, izej un ieej atkārtoti arī tajās." - }, - "changeMasterPassword": { - "message": "Nomainīt Galveno Paroli" - }, - "masterPasswordChanged": { - "message": "Galvenā Parole Nomainīta" - }, - "currentMasterPass": { - "message": "Pašreizējā Galvenā Parole" - }, - "newMasterPass": { - "message": "Jaunā Galvenā Parole" - }, - "confirmNewMasterPass": { - "message": "Apstiprini Jauno Galveno Paroli" - }, - "encKeySettings": { - "message": "Šifrēšanas Atslēgu Iestatījumi" - }, - "kdfAlgorithm": { - "message": "KDF Algoritms" - }, - "kdfIterations": { - "message": "KDF Iterācijas" - }, - "kdfIterationsDesc": { - "message": "Vairāk KDF Iterāciju var palīdzēt pasargāt tavu galveno paroli no pārlases uzbrukumiem. Mēs iesakām vērtību $VALUE$ vai vairāk.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Iestatot KDF Iterāciju vērtību pārāk augstu var izraisīt sliktu veiktspēju piekļūstot (un atslēdzot) Bitwarden izmantojot ierīces ar lēnākiem procesoriem. Mēs iesakām šo vērtību paaugstināt pieaugumos par $INCREMENT$ un pārbaudīt visās savās ierīcēs.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Mainīt KDF" - }, - "encKeySettingsChanged": { - "message": "Šifrēšanas Atslēgu Iestatījumi Mainīti" - }, - "dangerZone": { - "message": "Bīstamā Zona" - }, - "dangerZoneDesc": { - "message": "Uzmanību, šīs darbības nav atdarāmas!" - }, - "deauthorizeSessions": { - "message": "Deautorizēt Sesijas" - }, - "deauthorizeSessionsDesc": { - "message": "Uztraucies ka tavs konts ir palicis ieiets citā ierīcē? Turpini zemāk lai deautorizētu visus datorus un ierīces, kas iepriekš tikušas lietotas. Šis solis ir ieteicams ja iepriekš esiet izmantojis publisku datoru vai saglabājis savu paroli ierīcē, kas nav jūsu. Šis solis arī notīrīs visas iepriekšēji saglabātās divpakāpju piekļuves sesijas." - }, - "deauthorizeSessionsWarning": { - "message": "Turpināšana jūs izrakstīs arī no esošās sesijas, liekot jums ieiet atkārtoti. Jums arī tiks atkārtoti pieprasīta divpakāpju verifikācija, ja tā ir iespējota. Aktīvās sesijas citās ierīcēs var palikt aktīvas līdz vienai stundai." - }, - "sessionsDeauthorized": { - "message": "Visas Sesijas Deautorizētas" - }, - "purgeVault": { - "message": "Notīrīt Seifu" - }, - "purgedOrganizationVault": { - "message": "Notīrija organizācijas seifu." - }, - "purgeVaultDesc": { - "message": "Turpini zemāk lai izdzēstu visus vienumus un mapes no sava seifa. Vienumi kas pieder organizācijai, ko jūs koplietojat netiks izdzēsti." - }, - "purgeOrgVaultDesc": { - "message": "Turpiniet zemāk lai izdzēstu visus vienumus organizācijas seifā." - }, - "purgeVaultWarning": { - "message": "Seifa tīrīšana ir paliekoša. To nevar atdarīt." - }, - "vaultPurged": { - "message": "Tavs seifs ir ticis iztīrīts." - }, - "deleteAccount": { - "message": "Dzēst Kontu" - }, - "deleteAccountDesc": { - "message": "Turpini zemāk lai izdzēstu savu kontu un visus saistītos datus." - }, - "deleteAccountWarning": { - "message": "Konta dzēšana ir paliekoša. To nevar atdarīt." - }, - "accountDeleted": { - "message": "Konts Izdzēsts" - }, - "accountDeletedDesc": { - "message": "Jūsu konts ir aiztaisīts un visi ar to saistītie dati ir izdzēsti." - }, - "myAccount": { - "message": "Mans Konts" - }, - "tools": { - "message": "Rīki" - }, - "importData": { - "message": "Importēt Datus" - }, - "importSuccess": { - "message": "Dati ir veiksmīgi importēti tavā seifā." - }, - "importFormatError": { - "message": "Dati nav pareizi formatēti. Lūdzu pārbaudi savu importa failu un mēģini vēlreiz." - }, - "importNothingError": { - "message": "Nekas netika importēts." - }, - "selectFormat": { - "message": "Izvēlies importa faila formātu" - }, - "selectImportFile": { - "message": "Izvēlies importa failu" - }, - "orCopyPasteFileContents": { - "message": "vai kopē/ielīmē importējamā faila saturu" - }, - "instructionsFor": { - "message": "$NAME$ Instrukcijas", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Iespējas" - }, - "optionsDesc": { - "message": "Pielāgo savu tīmekļa seifa pieredzi." - }, - "optionsUpdated": { - "message": "Iespējas atjaunotas" - }, - "language": { - "message": "Valoda" - }, - "languageDesc": { - "message": "Nomaini valodu, ko izmanto tīmekļa seifs." - }, - "disableIcons": { - "message": "Atspējot Vietņu Ikonas" - }, - "disableIconsDesc": { - "message": "Vietņu Ikonas nodrošina atpazīstamu attēlu pie katra piekļuves vienuma jūsu seifā." - }, - "enableGravatars": { - "message": "Iespējot Gravatar", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Izmantot profilu attēlus ielādētus no gravatar.com." - }, - "enableFullWidth": { - "message": "Iespējot pilna platuma izkārtojumu", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Ļaut tīmekļa seifam aizpildīt pārlūka loga pilno platumu." - }, - "default": { - "message": "Noklusējums" - }, - "domainRules": { - "message": "Domēnu Noteikumi" - }, - "domainRulesDesc": { - "message": "Ja jums ir tas pats konts vairākos vietnes domēnos, jūs varat atzīmēt vietni kā \"līdzvērtīgu\". \"Globālus\" domēnus jau ir jūsu vietā izveidojis Bitwarden." - }, - "globalEqDomains": { - "message": "Globāli Vienlīdzīgi Domēni" - }, - "customEqDomains": { - "message": "Pielāgoti Vienlīdzīgi Domēni" - }, - "exclude": { - "message": "Izņemt" - }, - "include": { - "message": "Iekļaut" - }, - "customize": { - "message": "Pielāgot" - }, - "newCustomDomain": { - "message": "Jauns Pielāgots Domēns" - }, - "newCustomDomainDesc": { - "message": "Ievadiet domēnu sarakstu, atdalītu ar komatiem. Tikai 'bāzes' domēni ir atļauti. Nevadiet apakšdomēnus. Piemēram, ievadiet \"google.com\" nevis \"www.google.com\". Jūs arī varat ievadīt \"androidapp://pakotnes.nosaukums\" lai asociētu android lietotni ar citiem vietņu domēniem." - }, - "customDomainX": { - "message": "Pielāgots Domēns $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Domēni atjaunoti" - }, - "twoStepLogin": { - "message": "Divpakāpju Ieeja" - }, - "twoStepLoginDesc": { - "message": "Nodrošini savu kontu pieprasot papildus soli ieejot." - }, - "twoStepLoginOrganizationDesc": { - "message": "Pieprasi divpakāpju ieeju savas organizācijas lietotājiem konfigurējot nodrošinātājus organizācijas līmenī." - }, - "twoStepLoginRecoveryWarning": { - "message": "Divpakāpju piekļuves iespējošana var neatgriezeniski zaudēt piekļuvi jūsu Bitwarden kontam. Atjaunošanas kods ļauj jums piekļūt savam kontam gadījumā ja jūs vairs nevarat izmantot savu parasto divpakāpju nodrošinātāju (piem. zaudējat savu mobilo ierīci). Bitwarden atbalsts nevarēs jums palīdzēt ja zaudēsiet piekļuvi savam kontam. Mēs iesakām pierakstīt vai izdrukāt savu atjaunošanas kodu un noglabāt to drošā vietā." - }, - "viewRecoveryCode": { - "message": "Skatīt Atjaunošanas Kodu" - }, - "providers": { - "message": "Nodrošinātāji", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Iespējot" - }, - "enabled": { - "message": "Iespējots" - }, - "premium": { - "message": "Premium", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Premium Dalība" - }, - "premiumRequired": { - "message": "Vajadzīgs Premium" - }, - "premiumRequiredDesc": { - "message": "Lai izmantotu šo funkciju ir vajadzīga premium dalība." - }, - "youHavePremiumAccess": { - "message": "Tev ir premium piekļuve" - }, - "alreadyPremiumFromOrg": { - "message": "Tev jau ir premium funkciju piekļuve dēļ organizācijas, kuras sastāvā tu esi." - }, - "manage": { - "message": "Pārvaldīt" - }, - "disable": { - "message": "Atspējot" - }, - "twoStepLoginProviderEnabled": { - "message": "Šis divpakāpju nodrošinātājs ir iespējots tavam kontam." - }, - "twoStepLoginAuthDesc": { - "message": "Ievadi savu galveno paroli lai rediģētu divpakāpju piekļuves iestatījumus." - }, - "twoStepAuthenticatorDesc": { - "message": "Seko šiem soļiem lai iespējotu divpakāpju piekļuvi ar autentifikatora lietotni:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Lejupielādē divpakāpju autentifikatora lietotni" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Vajag divpakāpju autentifikātora lietotni? Lejupielādē vienu no sekojošām" - }, - "iosDevices": { - "message": "iOS ierīces" - }, - "androidDevices": { - "message": "Android ierīces" - }, - "windowsDevices": { - "message": "Windows ierīces" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "Šīs lietotnes ir ieteicamas, bet arī citas lietotnes strādās." - }, - "twoStepAuthenticatorScanCode": { - "message": "Noskanē šo QR kodu ar savu autentifikācijas lietotni" - }, - "key": { - "message": "Atslēga" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Ievadi rezultējušo 6 ciparu verifikācijas kodu no lietotnes" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "Ja vēlies pievienot to citām ierīcēm, zemāk ir QR kods (vai atslēga), kas ir vajadzīga autentifikācijas lietotnei." - }, - "twoStepDisableDesc": { - "message": "Vai tiešām vēlies atspējot šo divpakāpju verifikācijas nodrošinātāju?" - }, - "twoStepDisabled": { - "message": "Divpakāpju verifikācijas nodrošinātājs atspējots." - }, - "twoFactorYubikeyAdd": { - "message": "Pievienot jaunu YubiKey savam kontam" - }, - "twoFactorYubikeyPlugIn": { - "message": "Ievieto YubiKey sava datora USB ligzdā." - }, - "twoFactorYubikeySelectKey": { - "message": "Izvēlies pirmo tukšo YubiKey ievades lauku zemāk." - }, - "twoFactorYubikeyTouchButton": { - "message": "Pieskaries YubiKey pogai." - }, - "twoFactorYubikeySaveForm": { - "message": "Saglabāt formu." - }, - "twoFactorYubikeyWarning": { - "message": "Dēļ platformu ierobežojumiem, YubiKey nevar izmantot visās Bitwarden lietotnēs. Ieteicams iespējot papildus divpakāpju nodrošinātāju lai jūs varētu piekļūt savam kontam kad YubiKey nevar izmantot. Atbalstītās platformas:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Tīmekļa seifs, darbvirsmas lietotne, CLI, un visi pārlūka paplašinājumi ierīcēs ar USB portu, kurā var ievietot jūsu YubiKey." - }, - "twoFactorYubikeySupportMobile": { - "message": "Mobilās lietotnes ierīcē ar NFC funkcionalitāti vai datu portu, kurā var ievietot jūsu YubiKey." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "U2F Atslēga $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "NFC Atbalsts" - }, - "twoFactorYubikeySupportsNfc": { - "message": "Viena no manām atslēgām atbalsta NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "Ja viena no jūsu YubiKey atbalsta NFC (kā piemēram YubiKey NEO), jums tā tiks pieprasīta mobilās ierīcēs, kas atbalsta NFC funkcionalitāti." - }, - "yubikeysUpdated": { - "message": "YubiKey atjaunots" - }, - "disableAllKeys": { - "message": "Atspējot Visas Atslēgas" - }, - "twoFactorDuoDesc": { - "message": "Ievadiet Bitwarden lietotnes informāciju no jūsu Duo Administrātora paneļa." - }, - "twoFactorDuoIntegrationKey": { - "message": "Integrācijas Atslēga" - }, - "twoFactorDuoSecretKey": { - "message": "Slepenā Atslēga" - }, - "twoFactorDuoApiHostname": { - "message": "Api Resursdators" - }, - "twoFactorEmailDesc": { - "message": "Seko šiem soļiem lai iespējotu divpakāpju piekļuvi ar e-pastu:" - }, - "twoFactorEmailEnterEmail": { - "message": "Ievadiet E-pastu uz kuru vēlaties saņemt verifikācijas kodus" - }, - "twoFactorEmailEnterCode": { - "message": "Ievadiet saņemto 6 ciparu verifikācijas kodu no epasta" - }, - "sendEmail": { - "message": "Sūtīt E-pastu" - }, - "twoFactorU2fAdd": { - "message": "Pievienot FIDO U2F drošības atslēgu savam kontam" - }, - "removeU2fConfirmation": { - "message": "Vai tiešām vēlaties noņemt šo drošības atslēgu?" - }, - "readKey": { - "message": "Lasīt Atslēgu" - }, - "keyCompromised": { - "message": "Atslēga ir kompromitēta." - }, - "twoFactorU2fGiveName": { - "message": "Iedodiet drošības atslēgai draudzīgu nosaukumu lai palīdzētu to identificēt." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Ievietojiet drošības atslēgu sava datora USB ligzdā un nospiediet pogu \"Lasīt Atslēgu\"." - }, - "twoFactorU2fTouchButton": { - "message": "Ja drošības atslēgai ir poga, pieskarieties tai." - }, - "twoFactorU2fSaveForm": { - "message": "Saglabājiet formu." - }, - "twoFactorU2fWarning": { - "message": "Dēļ platformu ierobežojumiem, FIDO U2F nevar izmantot visās Bitwarden lietotnēs. Ieteicams iespējot papildus divpakāpju nodrošinātāju lai jūs varētu piekļūt savam kontam kad FIDO U2F nevar izmantot. Atbalstītās platformas:" - }, - "twoFactorU2fSupportWeb": { - "message": "Tīmekļa seifs un pārlūka paplašinājumi stacionārā datorā/portatīvajā datorā ar U2F atbalstošu pārlūku (Chrome, Opera, Vivaldi vai Firefox ar FIDO U2F iespējotu)." - }, - "twoFactorU2fWaiting": { - "message": "Gaidām līdz jūs pieskarsieties uz jūsu drošības atslēgas esošai pogai" - }, - "twoFactorU2fClickSave": { - "message": "Nospiediet zemāk esošo \"Saglabāt\" pogu lai iespējotu šo drošības atslēgu priekš divpakāpju ieejas." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "Notika problēma nolasot drošības atslēgu. Lūdzu mēģiniet vēlreiz." - }, - "twoFactorRecoveryYourCode": { - "message": "Jūsu Bitwarden divpakāpju ieejas atjaunošanas kods" - }, - "twoFactorRecoveryNoCode": { - "message": "Jūs vēl neesat iespējojis nevienu divpakāpju piekļuves nodrošinātāju. Pēc divpakāpju piekļuves nodrošinātāja iespējošanas jūs varēsiet šeit redzēt savu atjaunošanas kodu." - }, - "printCode": { - "message": "Drukāt Kodu", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Pārskati" - }, - "unsecuredWebsitesReport": { - "message": "Nedrošu Tīmekļa Lapu Pārskats" - }, - "unsecuredWebsitesReportDesc": { - "message": "Nedrošu lapu izmantošana ar http:// shēmu var būt bīstama. Ja vietne to atbalsta, tai vienmēr piekļūstiet izmantojot https:// shēmu lai jūsu savienojums tiktu šifrēts." - }, - "unsecuredWebsitesFound": { - "message": "Nedrošas Tīmekļa Vietnes Atrastas" - }, - "unsecuredWebsitesFoundDesc": { - "message": "Mēs atradām $COUNT$ vienumus jūsu seifā ar nedrošiem URL. Jums vajadzētu nomainīt to URL shēma uz https://, ja vietne to atbalsta.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "Nevienam vienumam jūsu seifā nav nedrošs URL." - }, - "inactive2faReport": { - "message": "Neaktīvu 2FA Pārskats" - }, - "inactive2faReportDesc": { - "message": "Divfaktoru autentifikācija (2FA) ir svarīgs drošības iestatījums kas palīdz nodrošināt jūsu kontus. Ja tīmekļa vietne to atbalsta, jums vajadzētu vienmēr iespējot divfaktoru autentifikāciju." - }, - "inactive2faFound": { - "message": "Atrasti konti bez 2FA" - }, - "inactive2faFoundDesc": { - "message": "Mēs atradām $COUNT$ vietni(-es) jūsu seifā kurām iespējams nav uzstādīta divpakāpju autentifikācija (atbilstoši 2fa.directory). Lai labāk aizsargātu šos kontus jums vajadzētu iespējot divfaktoru autentifikāciju.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "Mēs neatradām nevienu vietni jūsu seifā ar trūkstošām divfaktoru autentifikācijas konfigurācijām." - }, - "instructions": { - "message": "Instrukcijas" - }, - "exposedPasswordsReport": { - "message": "Noplūdušo Paroļu Pārskats" - }, - "exposedPasswordsReportDesc": { - "message": "Nopludinātas paroles ir paroles kas ir tikušas atrastas labi zināmās datu noplūdēs publiski vai tikušas pārdotas tumšajā tīmeklī no hakeriem." - }, - "exposedPasswordsFound": { - "message": "Noplūdušas Paroles Atrastas" - }, - "exposedPasswordsFoundDesc": { - "message": "Mēs atradām $COUNT$ vienumus jūsu seifā, kas satur datu noplūdēs nopludinātas paroles. Jums tās vajadzētu nomainīt, izmantojot jaunu paroli.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "Nevienam vienumam jūsu seifā nav parole, kas ir tikusi nopludināta zināmās datu noplūdēs." - }, - "checkExposedPasswords": { - "message": "Pārbaudīt Noplūdušas Paroles" - }, - "exposedXTimes": { - "message": "Noplūdušas $COUNT$ reizi(-es)", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Vāju Paroļu Pārskats" - }, - "weakPasswordsReportDesc": { - "message": "Vājas paroles var viegli uzminēt hakeri un automātiski paroļu laušanas rīki. Bitwarden paroļu ģenerātors var palīdzēt tev izveidot drošas paroles." - }, - "weakPasswordsFound": { - "message": "Vāju Paroles Atrastas" - }, - "weakPasswordsFoundDesc": { - "message": "Mēs atradām $COUNT$ vienumus jūsu seifā ar parolēm kas nav stipras. Jums tās vajadzētu atjaunot lai izmantotu stiprākas paroles.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "Nevienam vienumam jūsu seifā nav vājas paroles." - }, - "reusedPasswordsReport": { - "message": "Atkārtotu Paroļu Pārskats" - }, - "reusedPasswordsReportDesc": { - "message": "Ja serviss ko izmantojat tiek uzlausts, vienas un tās pašas paroles izmantošana vairākās vietās var ļaut hakeriem vienkāršu piekļuvi vairākiem jūsu kontiem. Jums vajadzētu izmantot unikālu paroli katram kontam vai servisam." - }, - "reusedPasswordsFound": { - "message": "Atkārtotas Paroles Atrastas" - }, - "reusedPasswordsFoundDesc": { - "message": "Mēs atradām $COUNT$ paroles kas tiek lietotas atkārtoti jūsu seifā. Jums tās vajadzētu nomainīt uz unikālām.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "Nevienam kontam jūsu seifā nav paroles, kas tiek izmantotas atkārtoti." - }, - "reusedXTimes": { - "message": "Atkārtojas $COUNT$ reizes", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Datu Noplūdes Pārskats" - }, - "breachDesc": { - "message": "Datu \"noplūde\" ir incidents kur vietnes datiem ir nelegāli piekļuvuši hakeri un tos izlaiduši publiski. Pārskatiet noplūdušo datu veidus (E-pasta adreses, paroles, kredītkaršu dati, utt.) un veiciet vajadzīgās darbības kā piemēram paroļu nomaiņu." - }, - "breachCheckUsernameEmail": { - "message": "Pārbaudiet jebkādus lietotājvārdus vai e-pasta adreses kuras jūs izmantojat." - }, - "checkBreaches": { - "message": "Pārbaudīt Noplūdes" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ netika atrasts nevienā zināmā datu noplūdē.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Labas Ziņas", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ tika atrasts $COUNT$ dažādās datu noplūdēs tīmeklī.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Noplūduši Konti Atrasti" - }, - "compromisedData": { - "message": "Noplūdušie dati" - }, - "website": { - "message": "Tīmekļa vietne" - }, - "affectedUsers": { - "message": "Ietekmētie Lietotāji" - }, - "breachOccurred": { - "message": "Noplūde Notika" - }, - "breachReported": { - "message": "Noplūde Paziņota" - }, - "reportError": { - "message": "Notika kļūda mēģinot ielādēt pārskatu. Lūdzu mēģini vēlreiz" - }, - "billing": { - "message": "Norēķini" - }, - "accountCredit": { - "message": "Konta Kredīts", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Konta Bilance", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Pievienot Kredītu", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Daudzums", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Pievienotais kredīts parādīsies jūsu kontā pēc tam, kad norēķins būs pilnībā apstrādāts. Daži apmaksas veidi var tikt aizkavēti un aizņemt vairāk laika nekā citi." - }, - "makeSureEnoughCredit": { - "message": "Lūdzu pārliecinieties ka jūsu kontam ir pietiekams kredīts priekš šī pirkuma. Ja jūsu kontam nav pietiekami daudz kredīta pieejama, jūsu noklusētais apmaksas veids tiks izmantots lai nosegtu starpību. Jūs varat pievienot kredītu savam kontam Norēķinu lapā." - }, - "creditAppliedDesc": { - "message": "Jūsu konta kredīts var tikt izmantots lai veiktu pirkumus. Viss pieejamais kredīts tiek automātiski piemērots šī konta veidotajiem rēķiniem." - }, - "goPremium": { - "message": "Iegūt Premium", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "Jūs esat pārgājis uz premium." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Paaugstiniet savu kontu uz premium un atslēdziet dažas foršas papildus opcijas." - }, - "premiumSignUpStorage": { - "message": "1 GB šifrētas glabātuves priekš failu pielikumiem." - }, - "premiumSignUpTwoStep": { - "message": "Papildus divpakāpju ieejas iespējas kā YubiKey, FIDO U2F un Duo." - }, - "premiumSignUpReports": { - "message": "Paroļu higiēnas, kontu veselības un datu noplūžu pārskatus lai uzturētu tavu seifu drošībā." - }, - "premiumSignUpTotp": { - "message": "TOTP verifikācijas kodu (2FA) ģenerātors priekš kontiem jūsu seifā." - }, - "premiumSignUpSupport": { - "message": "Prioritārs klientu atbalsts." - }, - "premiumSignUpFuture": { - "message": "Visas nākotnes premium funkcijas. Vairāk drīzumā!" - }, - "premiumPrice": { - "message": "Viss par tikai $PRICE$ gadā!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Papildinājumi" - }, - "premiumAccess": { - "message": "Premium Piekļuve" - }, - "premiumAccessDesc": { - "message": "Jūs varat pievienot premium piekļuvi visiem organizācijas biedriem par $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Papildus Krātuve (GB)" - }, - "additionalStorageGbDesc": { - "message": "# papildus GB" - }, - "additionalStorageIntervalDesc": { - "message": "Jūsu plāns nāk ar $SIZE$ šifrētas failu krātuves. Jūs varat palielināt krātuvi par $PRICE$ uz GB / $INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Kopsavilkums" - }, - "total": { - "message": "Kopā" - }, - "year": { - "message": "gadā" - }, - "month": { - "message": "mēnesī" - }, - "monthAbbr": { - "message": "mēn.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "No jūsu apmaksas veida summa tiks iekasēta nekavējoties un atkārtoti ik gadu. To var atcelt jebkurā laikā." - }, - "paymentCharged": { - "message": "No jūsu apmaksas veida summa tiks iekasēta nekavējoties un atkārtoti katru $INTERVAL$. To var atcelt jebkurā laikā.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Jūsu plāns nāk ar bezmaksas 7 dienu izmēģinājuma periodu. Jūsu apmaksas veids netiks iekasēts līdz izmēģinājuma perioda beigām. Iekasēšana notiks regulāri katru $INTERVAL$. To var atcelt jebkurā brīdī.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Maksājuma Informācija" - }, - "billingInformation": { - "message": "Billing Information" - }, - "creditCard": { - "message": "Kredītkarte" - }, - "paypalClickSubmit": { - "message": "Nospied PayPal pogu lai ieietu savā PayPal kontā, tad nospied Apstiprināt pogu zemāk lai turpinātu." - }, - "cancelSubscription": { - "message": "Atcelt Abonomentu" - }, - "subscriptionCanceled": { - "message": "Abonēšana ir atcelta." - }, - "pendingCancellation": { - "message": "Gaida Atcelšanu" - }, - "subscriptionPendingCanceled": { - "message": "Abonements ir atzīmēts atcelšanai pašreizējā norēķinu perioda beigās." - }, - "reinstateSubscription": { - "message": "Atjaunot Abonementu" - }, - "reinstateConfirmation": { - "message": "Vai tiešām vēlaties noņemt abonementa atcelšanas pieprasījumu un atjaunot abonementu?" - }, - "reinstated": { - "message": "Jūsu abonements ir atjaunots." - }, - "cancelConfirmation": { - "message": "Vai tiešām vēlaties atcelt? Jūs zaudēsiet piekļuvi visām šī abonementa iespējām šī norēķinu perioda beigās." - }, - "canceledSubscription": { - "message": "Šis abonements ir atcelts." - }, - "neverExpires": { - "message": "Nekad Nebeidzas" - }, - "status": { - "message": "Statuss" - }, - "nextCharge": { - "message": "Nākamais Maksājums" - }, - "details": { - "message": "Informācija" - }, - "downloadLicense": { - "message": "Lejupielādēt Licenci" - }, - "updateLicense": { - "message": "Atjaunināt Licenci" - }, - "updatedLicense": { - "message": "Atjauninātā licence" - }, - "manageSubscription": { - "message": "Pārvaldīt Abonējumu" - }, - "storage": { - "message": "Krātuve" - }, - "addStorage": { - "message": "Pievienot Krātuvi" - }, - "removeStorage": { - "message": "Noņemt Krātuvi" - }, - "subscriptionStorage": { - "message": "Jūsu abonementam ir $MAX_STORAGE$ GB šifrētas failu krātuves. Jūs pašlaik izmantojat $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Apmaksas Veids" - }, - "noPaymentMethod": { - "message": "Nav norādīts apmaksas veids." - }, - "addPaymentMethod": { - "message": "Pievienot apmaksas veidu" - }, - "changePaymentMethod": { - "message": "Mainīt Apmaksas Veidu" - }, - "invoices": { - "message": "Rēķini" - }, - "noInvoices": { - "message": "Nav rēķinu." - }, - "paid": { - "message": "Apmaksāts", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Neapmaksāts", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Darījumi", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "Nav darījumu." - }, - "chargeNoun": { - "message": "Maksāts", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Atmaksāts", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Visi maksājumi parādīsies jūsu izrakstā kā $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "GB ko Pievienot Krātuvei" - }, - "gbStorageRemove": { - "message": "GB ko Noņemt no Krātuves" - }, - "storageAddNote": { - "message": "Krātuves palielināšana mainīs jūsu kopsummu un iekasēs starpību no noklusētā apmaksas veida. Maksājums iekasēs vajadzīgo summu līdz pašreizējā norēķinu cikla beigām." - }, - "storageRemoveNote": { - "message": "Krātuves mazināšana mainīs jūsu kopsummu, kas tiks atgriezta kā kredīti nākamai norēķinu apmaksai." - }, - "adjustedStorage": { - "message": "Pārmainīja $AMOUNT$ GB krātuves.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Sazināties ar Klientu Atbalstu" - }, - "updatedPaymentMethod": { - "message": "Atjaunoja apmaksas veidu." - }, - "purchasePremium": { - "message": "Nopirkt Premium" - }, - "licenseFile": { - "message": "Licences Fails" - }, - "licenseFileDesc": { - "message": "Jūsu licences fails būs nosaukts līdzīgi $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "Lai atjaunotu savu kontu uz premium jums ir nepieciešams augšupielādēt derīgu licences failu." - }, - "uploadLicenseFileOrg": { - "message": "Lai izveidotu lokāli uzturētu organizāciju jums vajag augšupielādēt derīgu licences failu." - }, - "accountEmailMustBeVerified": { - "message": "Tava konta e-pasta adrese ir jāverificē." - }, - "newOrganizationDesc": { - "message": "Organizācijas ļauj jums koplietot daļas no sava seifa ar citiem, kā arī pārvaldīt lietotājus, kas ir saistīti ar konkrētu ģimeni, mazu komandu vai lielu kompāniju." - }, - "generalInformation": { - "message": "Vispārīga Informācija" - }, - "organizationName": { - "message": "Organizācijas Nosaukums" - }, - "accountOwnedBusiness": { - "message": "Šis konts pieder uzņēmumam." - }, - "billingEmail": { - "message": "Norēķinu E-pasts" - }, - "businessName": { - "message": "Uzņēmuma Nosaukums" - }, - "chooseYourPlan": { - "message": "Izvēlies Savu Plānu" - }, - "users": { - "message": "Lietotāji" - }, - "userSeats": { - "message": "Lietotāju Vietas" - }, - "additionalUserSeats": { - "message": "Papildus Lietotāju Vietas" - }, - "userSeatsDesc": { - "message": "# lietotāju vietas" - }, - "userSeatsAdditionalDesc": { - "message": "Jūsu plānam ir $BASE_SEATS$ lietotāju vietas. Jūs varat pievienot papildus lietotāju vietas par $SEAT_PRICE$ par lietotāju /mēnesī.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "Cik daudz lietotāju vietas jums ir vajadzīgas? Jūs varat pievienot papildus vietas vēlāk, ja vajadzīgs." - }, - "planNameFree": { - "message": "Bezmaksas", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "Priekš testēšanas vai personīgiem lietotājiem lai koplietotu ar $COUNT$ citiem lietotājiem.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Ģimenes" - }, - "planDescFamilies": { - "message": "Priekš personīgas lietošanas, lai koplietotu ar ģimeni un draugiem." - }, - "planNameTeams": { - "message": "Komandas" - }, - "planDescTeams": { - "message": "Priekš biznesiem un citām komandu organizācijām." - }, - "planNameEnterprise": { - "message": "Uzņēmuma" - }, - "planDescEnterprise": { - "message": "Priekš biznesiem un citām lielām organizācijām." - }, - "freeForever": { - "message": "Bezmaksas Vienmēŗ" - }, - "includesXUsers": { - "message": "ietver $COUNT$ lietotājus", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Papildus Lietotāji" - }, - "costPerUser": { - "message": "$COST$ par lietotāju", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Ierobežots līdz $COUNT$ lietotājiem (ieskaitot tevi)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Ierobežots līdz $COUNT$ kolekcijām", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Pievieno un koplieto ar līdz $COUNT$ lietotājiem", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Pievieno un koplieto ar bezlimita daudz lietotājiem" - }, - "createUnlimitedCollections": { - "message": "Izveido bezlimita daudz kolekciju" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ šifrēta failu krātuve", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "Lokāla uzturēšana (neobligāts)" - }, - "usersGetPremium": { - "message": "Lietotāji saņem piekļuvi premium dalībnieku funkcijām" - }, - "controlAccessWithGroups": { - "message": "Pārvaldi lietotāju piekļuvi ar grupām" - }, - "syncUsersFromDirectory": { - "message": "Sinhronizē savus lietotājus un grupas no direktorijas servisa" - }, - "trackAuditLogs": { - "message": "Seko lietotāju darbībām ar auditu žurnāliem" - }, - "enforce2faDuo": { - "message": "Ieviesiet 2FA ar Duo" - }, - "priorityCustomerSupport": { - "message": "Prioritārs klientu atbalsts" - }, - "xDayFreeTrial": { - "message": "$COUNT$ dienu bezmaksas izmēģinājums, atcel jebkurā brīdī", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Katru mēnesi" - }, - "annually": { - "message": "Katru gadu" - }, - "basePrice": { - "message": "Pamata Cena" - }, - "organizationCreated": { - "message": "Organizācija Izveidota" - }, - "organizationReadyToGo": { - "message": "Jūsu jaunā organizācija ir gatava darbam!" - }, - "organizationUpgraded": { - "message": "Jūsu organizācija tika paaugstināta." - }, - "leave": { - "message": "Iziet" - }, - "leaveOrganizationConfirmation": { - "message": "Vai tiešām vēlaties pamest šo organizāciju?" - }, - "leftOrganization": { - "message": "Jūs pametāt organizāciju." - }, - "defaultCollection": { - "message": "Noklusējuma Kolekcija" - }, - "getHelp": { - "message": "Saņemt Palīdzību" - }, - "getApps": { - "message": "Iegūsti Lietotnes" - }, - "loggedInAs": { - "message": "Iegājis kā" - }, - "eventLogs": { - "message": "Notikumu Žurnāls" - }, - "people": { - "message": "Cilvēki" - }, - "policies": { - "message": "Politikas" - }, - "editPolicy": { - "message": "Rediģēt Politiku" - }, - "groups": { - "message": "Grupas" - }, - "newGroup": { - "message": "Jauna Grupa" - }, - "addGroup": { - "message": "Pievienot Grupu" - }, - "editGroup": { - "message": "Rediģēt Grupu" - }, - "deleteGroupConfirmation": { - "message": "Vai tiešām vēlaties dzēst šo grupu?" - }, - "removeUserConfirmation": { - "message": "Vai tiešām vēlaties noņemt šo lietotāju?" - }, - "externalId": { - "message": "Ārējais Id" - }, - "externalIdDesc": { - "message": "Ārējo Id var izmantot lai saistītu šo resursu ar ārēju sistēmu, kā piemēram lietotāju direktoriju." - }, - "accessControl": { - "message": "Piekļuves Kontrole" - }, - "groupAccessAllItems": { - "message": "Šī grupa var piekļūt pie un rediģēt visus vienumus." - }, - "groupAccessSelectedCollections": { - "message": "Šī grupa var piekļūt tikai izvēlētajām kolekcijām." - }, - "readOnly": { - "message": "Tikai Lasīt" - }, - "newCollection": { - "message": "Jauna Kolekcija" - }, - "addCollection": { - "message": "Pievienot Kolekciju" - }, - "editCollection": { - "message": "Rediģēt Kolekciju" - }, - "deleteCollectionConfirmation": { - "message": "Vai tiešām vēlaties dzēst šo kolekciju?" - }, - "editUser": { - "message": "Rediģēt Lietotāju" - }, - "inviteUser": { - "message": "Uzaicināt Lietotāju" - }, - "inviteUserDesc": { - "message": "Uzaicini jaunu lietotāju savā organizācijā ievadot viņu Bitwarden konta e-pasta adresi zemāk. Ja viņiem vēl nav Bitwarden konta, viņiem tiks piedāvāts izveidot jaunu kontu." - }, - "inviteMultipleEmailDesc": { - "message": "Jūs varat uzaicināt līdz $COUNT$ lietotājiem vienlaicīgi, atdalot viņu e-pasta adreses ar komatiem.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "Šis lietotājs izmanto divpakāpju piekļuvi lai aizsargātu savu kontu." - }, - "userAccessAllItems": { - "message": "Šis lietotājs var piekļūt pie un rediģēt visus vienumus." - }, - "userAccessSelectedCollections": { - "message": "Šis lietotājs var piekļūt tikai pie izvēlētajām kolekcijām." - }, - "search": { - "message": "Meklēt" - }, - "invited": { - "message": "Uzaicināts" - }, - "accepted": { - "message": "Pieņemts" - }, - "confirmed": { - "message": "Apstiprināts" - }, - "owner": { - "message": "Īpašnieks" - }, - "ownerDesc": { - "message": "Augstākās piekļuves lietotājs, kas var pārvaldīt visus aspektus jūsu organizācijā." - }, - "admin": { - "message": "Administrators" - }, - "adminDesc": { - "message": "Administratori var piekļūt un pārvaldīt visus vienumus, kolekcijas un lietotājus jūsu organizācijā." - }, - "user": { - "message": "Lietotājs" - }, - "userDesc": { - "message": "Parasts lietotājs ar piekļuvi piešķirtām kolekcijām jūsu organizācijā." - }, - "manager": { - "message": "Pārvaldnieks" - }, - "managerDesc": { - "message": "Pārvaldnieks var piekļūt un pārvaldīt piešķirtām kolekcijām jūsu organizācijā." - }, - "all": { - "message": "Visi" - }, - "refresh": { - "message": "Atjaunot" - }, - "timestamp": { - "message": "Laikspiedols" - }, - "event": { - "message": "Notikums" - }, - "unknown": { - "message": "Nezināms" - }, - "loadMore": { - "message": "Ielādēt Vairāk" - }, - "mobile": { - "message": "Mobilais", - "description": "Mobile app" - }, - "extension": { - "message": "Paplašinājums", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Darbvirsma", - "description": "Desktop app" - }, - "webVault": { - "message": "Tīmekļa Seifs" - }, - "loggedIn": { - "message": "Iegāja." - }, - "changedPassword": { - "message": "Nomainīja konta paroli." - }, - "enabledUpdated2fa": { - "message": "Iespējoja/atjaunoja divpakāpju piekļuvi." - }, - "disabled2fa": { - "message": "Atspējoja divpakāpju piekļuvi." - }, - "recovered2fa": { - "message": "Atjaunoja kontu no divpakāpju piekļuves." - }, - "failedLogin": { - "message": "Ieejas mēģinājums neizdevās ar nepareizu paroli." - }, - "failedLogin2fa": { - "message": "Ieejas mēģinājums neizdevās ar nepareizu divpakāpju ieeju." - }, - "exportedVault": { - "message": "Eksportēja seifu." - }, - "exportedOrganizationVault": { - "message": "Eksportēja organizācijas seifu." - }, - "editedOrgSettings": { - "message": "Rediģēja organizācijas iestatījumus." - }, - "createdItemId": { - "message": "Izveidoja vienumu $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Rediģēja vienumu $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Pārvietoja vienumu $ID$ uz miskasti.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Koplietoja vienumu $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Skatīja vienumu $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Skatīja paroli vienumam $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Skatīja paslēptu lauku vienumam $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Skatīja drošības kodu vienumam $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Nokopēja paroli vienumam $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Nopkopēja paslēptu lauku vienumam $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Nokopēja drošības kodu vienumam $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Auto-aizpildīja vienumu $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Izveidoja kolekciju $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Rediģēja kolekciju $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Izdzēsa kolekciju $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Rediģēja politiku $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Izveidoja grupu $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Rediģēja grupu $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Izdzēsa grupu $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Noņēma lietotāju $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Izveidoja pielikumu vienumam $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Izdzēsa pielikumu vienumam $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Rediģēja kolekcijas vienumam $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Uzaicināja lietotāju $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Apstiprināja lietotāju $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Rediģēja lietotāju $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Rediģēja grupas lietotājam $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Ierīce" - }, - "view": { - "message": "Skats" - }, - "invalidDateRange": { - "message": "Nederīgs datumu diapazons." - }, - "errorOccurred": { - "message": "Radusies kļūda." - }, - "userAccess": { - "message": "Lietotāja Piekļuve" - }, - "userType": { - "message": "Lietotāja Veids" - }, - "groupAccess": { - "message": "Grupu Piekļuve" - }, - "groupAccessUserDesc": { - "message": "Rediģēt grupas kurām šis lietotājs pieder." - }, - "invitedUsers": { - "message": "Uzaicināja lietotāju(s)." - }, - "resendInvitation": { - "message": "Atkārtoti nosūtīt uzaicinājumu" - }, - "hasBeenReinvited": { - "message": "$USER$ tika atkārtoti uzaicināts.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Apstiprināt" - }, - "confirmUser": { - "message": "Apstiprināt Lietotāju" - }, - "hasBeenConfirmed": { - "message": "$USER$ tika apstiprināts.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Apstiprināt Lietotājus" - }, - "usersNeedConfirmed": { - "message": "Jums ir lietotāji, kas ir pieņēmuši savu uzaicinājumu, bet vēl nav apstiprināti. Lietotājiem nebūs piekļuves jūsu organizācijai līdz viņi ir tiek apstiprināti." - }, - "startDate": { - "message": "Sākuma Datums" - }, - "endDate": { - "message": "Beigu Datums" - }, - "verifyEmail": { - "message": "Apstiprināt E-pastu" - }, - "verifyEmailDesc": { - "message": "Apstiprini sava konta e-pastu lai atslēgtu visas funkcijas." - }, - "verifyEmailFirst": { - "message": "Tava konta e-pasta adrese vispirms ir jāapstiprina." - }, - "checkInboxForVerification": { - "message": "Pārbaudiet savu e-pastu priekš apstiprinājuma saites." - }, - "emailVerified": { - "message": "Jūsu e-pasts ir apstiprināts." - }, - "emailVerifiedFailed": { - "message": "Nevarēja aptsiprināt e-pastu. Mēģiniet sūtīt atkārtotu apstiprinājuma e-pastu." - }, - "updateBrowser": { - "message": "Atjauniniet Pārlūkprogrammu" - }, - "updateBrowserDesc": { - "message": "Jūs izmantojat neatbalstītu tīmekļa pārlūku. Tīmekļa seifs var nefunkcionēt pareizi." - }, - "joinOrganization": { - "message": "Pievienoties Organizācijai" - }, - "joinOrganizationDesc": { - "message": "Jūs esat uzaicināti pievienoties augstāk redzamai organizācijai. Lai pieņemtu uzaicinājumu, jums būs jāieiet vai jāizveido jauns Bitwarden konts." - }, - "inviteAccepted": { - "message": "Uzaicinājums Pieņemts" - }, - "inviteAcceptedDesc": { - "message": "Jūs varēsiet piekļūt šai organizācijai kad administrators apstiprinās jūsu dalību. Mēs jums nosūtīsim e-pastu kad tas notiks." - }, - "inviteAcceptFailed": { - "message": "Neizdevās pieņemt uzaicinājumu. Pajautājiet lai organizācijas administrators jums nosūta jaunu uzaicinājumu." - }, - "inviteAcceptFailedShort": { - "message": "Neizdevās pieņemt uzaicinājumu. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Atcerēties e-pastu" - }, - "recoverAccountTwoStepDesc": { - "message": "Ja jūs nevarat piekļūt jūsu kontam caur parastām divpakāpju ieejas metodēm, jūs varat izmantot jūsu divpakāpju piekļuves atjaunošanas kodu lai atspējotu visus divpakāpju nodrošinātājus savam kontam." - }, - "recoverAccountTwoStep": { - "message": "Atjaunot Konta Divpakāpju Piekļuvi" - }, - "twoStepRecoverDisabled": { - "message": "Divpakāpju ieeja ir atspējota jūsu kontā." - }, - "learnMore": { - "message": "Uzzināt vairāk" - }, - "deleteRecoverDesc": { - "message": "Ievadiet savu e-pasta adresi zemāk lai izdzēstu savu kontu." - }, - "deleteRecoverEmailSent": { - "message": "Ja jūsu konts eksistē, mēs jums nosūtījām e-pastu ar tālākām instrukcijām." - }, - "deleteRecoverConfirmDesc": { - "message": "Jūs pieprasījāt sava Bitwarden konta izdzēšanu. Nospiediet zemāk esošo pogu lai aptiprinātu." - }, - "myOrganization": { - "message": "Mana Organizācija" - }, - "deleteOrganization": { - "message": "Dzēst Organizāciju" - }, - "deleteOrganizationDesc": { - "message": "Turpiniet zemāk lai izdzēstu organizāciju un visus ar to saistītos datus. Individuāli lietotāju konti paliks, bet tie vairs nebūs saistīti ar šo organizāciju. " - }, - "deleteOrganizationWarning": { - "message": "Organizācijas dzēšana ir paliekoša. To nevar atdarīt." - }, - "organizationDeleted": { - "message": "Organizācija Izdzēsta" - }, - "organizationDeletedDesc": { - "message": "Organizācija un visi saistītie dati ir izdzēsti." - }, - "organizationUpdated": { - "message": "Organizācija atjaunota" - }, - "taxInformation": { - "message": "Nodokļu Informācija" - }, - "taxInformationDesc": { - "message": "Klientiem, kas atrodas ASV, ZIP kods / Pasta indekss ir nepieciešams lai izpildītu nodokļu prasības. Citām valstīm var norādīt nodokļu identifikācijas numuru (VAT/GST) un/vai adresi kas parādīsies jūsu rēķinos." - }, - "billingPlan": { - "message": "Plāns", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Mainīt Plānu", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Paaugstiniet savu kontu uz citu plānu ievadot informāciju zemāk. Lūdzu pārliecinieties ka jūsu kontam ir pievienots aktīvs apmaksas veids.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Sazinieties ar klientu atbalstu ja vēlaties mainīt plānu. Lūdzu pārliecinieties ka jūsu kontam ir pievienots aktīvs apmaksas veids.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Rēķins #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "Skatīt Rēķinu" - }, - "downloadInvoice": { - "message": "Lejupielādēt Rēķinu" - }, - "verifyBankAccount": { - "message": "Verificēt Bankas Kontu" - }, - "verifyBankAccountDesc": { - "message": "Mēs veicām divus mikro-depozītus jūsu bankas kontā (var paiet 1-2 darba dienas līdz tie parādās). Ievadiet šos daudzumus lai verificētu bankas kontu." - }, - "verifyBankAccountInitialDesc": { - "message": "Maksājumi ar bankas kontu ir pieejami tikai klientiem ASV. Jums tiks pieprasīts verificēt jūsu bankas kontu. Mēs veiksim divus mikro-depozītus nākamo 1-2 darba dienu laikā. Ievadiet šos daudzumus organizācijas Norēķinu lapā lai verificētu bankas kontu." - }, - "verifyBankAccountFailureWarning": { - "message": "Ja bankas kontu verificēt neizdosies, tiks nokavēts maksājums un jūsu abonements tiks atspējots." - }, - "verifiedBankAccount": { - "message": "Bankas konts verificēts." - }, - "bankAccount": { - "message": "Bankas Konts" - }, - "amountX": { - "message": "Summa $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Bankas Identifikācijas Numurs", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Konta Numurs" - }, - "accountHolderName": { - "message": "Konta Turētāja Vārds" - }, - "bankAccountType": { - "message": "Konta Veids" - }, - "bankAccountTypeCompany": { - "message": "Uzņēmuma (Bizness)" - }, - "bankAccountTypeIndividual": { - "message": "Induviduāls (Personīgs)" - }, - "enterInstallationId": { - "message": "Ievadi savu instalācijas id" - }, - "addSeats": { - "message": "Pievieno Lietotāju Vietas", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Noņemt Lietotāju Vietas", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Jūsu abonements ļauj maksimāli $COUNT$ lietotājus.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Vietas Ko Pievienot" - }, - "seatsToRemove": { - "message": "Vietas Ko Noņemt" - }, - "seatsAddNote": { - "message": "Lietotāju vietu palielināšana mainīs jūsu kopsummu un iekasēs starpību no noklusētā maksājuma veida. Maksājums iekasēs vajadzīgo summu līdz pašreizējā norēķinu cikla beigām." - }, - "seatsRemoveNote": { - "message": "Lietotāju vietu mazināšana mainīs jūsu kopsummu, kas tiks atgriezta kā kredīti nākamai norēķinu apmaksai." - }, - "adjustedSeats": { - "message": "Pārmainīja $AMOUNT$ lietotāju vietu.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Atslēga Atjaunota" - }, - "updateKeyTitle": { - "message": "Atjaunot Atslēgu" - }, - "updateEncryptionKey": { - "message": "Atjaunot Šifrēšanas Atslēgu" - }, - "updateEncryptionKeyShortDesc": { - "message": "Jūs pašlaik izmantojiet novecojušu šifrēšanas metodi." - }, - "updateEncryptionKeyDesc": { - "message": "Mēs pārgājām uz garākām šifrēšanas atslēgām, kas nodrošina labāku drošību un ļauj piekļūt jaunām funkcijām. Atjaunot savu šifrēšanas atslēgu ir ātri un vienkārši. Vienkārši ievadiet savu galveno paroli zemāk. Šis atjauninājums drīz paliks obligāts." - }, - "updateEncryptionKeyWarning": { - "message": "Pēc šifrēšanas atslēgas atjaunošanas, jums būs jāiziet un atkārtoti jāieiet visās Bitwarden lietotnēs, kuras jūs pašlaik izmantojiet (piemēram mobilā lietotnē vai pārlūku paplašinājumos). Atkārtotas ieiešanas neveikšana (kas lejupielādēs jūsu jauno šifrēšanas atslēgu) var radīt datu korupciju. Mēs mēģināsim jūs automātiski iziet, bet tas var būt aizkavēts." - }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." - }, - "subscription": { - "message": "Abonējums" - }, - "loading": { - "message": "Notiek ielāde" - }, - "upgrade": { - "message": "Paaugstināt" - }, - "upgradeOrganization": { - "message": "Paaugstināt Organizāciju" - }, - "upgradeOrganizationDesc": { - "message": "Šī opcija nav pieejama bezmaksas organizācijām. Pārslēdzieties uz maksas plānu lai atslēgtu vairāk opciju." - }, - "createOrganizationStep1": { - "message": "Izveidot Organizāciju: Solis 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Pirms izveidojiet organizāciju jums ir jāizveido bezmaksas personīgais konts." - }, - "refunded": { - "message": "Atgriezts" - }, - "nothingSelected": { - "message": "Jūs neesat neko atlasījis." - }, - "acceptPolicies": { - "message": "By checking this box you agree to the following:" - }, - "acceptPoliciesError": { - "message": "Terms of Service and Privacy Policy have not been acknowledged." - }, - "termsOfService": { - "message": "Lietošanas Nosacījumi" - }, - "privacyPolicy": { - "message": "Konfidencialitātes politika" - }, - "filters": { - "message": "Filtri" - }, - "vaultTimeout": { - "message": "Seifa Taimouts" - }, - "vaultTimeoutDesc": { - "message": "Izvēlies kad tavs seifs taimouties un veiks izvēlēto darbību." - }, - "oneMinute": { - "message": "1 minūte" - }, - "fiveMinutes": { - "message": "5 minūtes" - }, - "fifteenMinutes": { - "message": "15 minūtes" - }, - "thirtyMinutes": { - "message": "30 minūtes" - }, - "oneHour": { - "message": "1 stunda" - }, - "fourHours": { - "message": "4 stundas" - }, - "onRefresh": { - "message": "Pēc Pārlūka Pārlādes" - }, - "dateUpdated": { - "message": "Atjaunots", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Parole Atjaunota", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "Organizācija ir atspējota." - }, - "licenseIsExpired": { - "message": "Licences derīguma termiņš ir beidzies." - }, - "updatedUsers": { - "message": "Atjaunoja lietotājus" - }, - "selected": { - "message": "Atlasīja" - }, - "ownership": { - "message": "Piederība" - }, - "whoOwnsThisItem": { - "message": "Kam pieder šis vienums?" - }, - "strong": { - "message": "Stipra", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Laba", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Vāja", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Ļoti Vāja", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Vāja Galvenā Parole" - }, - "weakMasterPasswordDesc": { - "message": "Jūsu izvēlētā galvenā parole ir vāja. Jums vajadzētu izvēlēties drošu galveno paroli (vai paroles frāzi) lai pienācīgi aizsargātu savu Bitwarden kontu. Vai tiešām vēlaties izmantot šo galveno paroli?" - }, - "rotateAccountEncKey": { - "message": "Arī rotēt mana konta šifrēšanas atslēgu" - }, - "rotateEncKeyTitle": { - "message": "Rotēt Šifrēšanas Atslēgu" - }, - "rotateEncKeyConfirmation": { - "message": "Vai tiešām vēlaties rotēt sava konta šifrēšanas atslēgu?" - }, - "attachmentsNeedFix": { - "message": "Šim vienumam ir novecojis faila pielikums, kas ir jāsalabo." - }, - "attachmentFixDesc": { - "message": "Šis novecojis faila pielikums kas ir jāsalabo. Nospied lai uzzinātu vairāk." - }, - "fix": { - "message": "Salabot", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "Jūsu seifā atrodas novecojuši failu pielikumi, kas ir jāsalabo pirms jūs varat rotēt konta šifrēšanas atslēgu." - }, - "yourAccountsFingerprint": { - "message": "Jūsu konta pirkstu nospieduma frāze", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "Lai pārliecinātos par lietotāja šifrēšanas atslēgu integritāti, lūdzu salīdziniet un verificējiet lietotāja pirkstu nospieduma frāzi pirms turpināšanas.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Nejautāt par pirkstu nospiedumu frāzes salīdzināšanu atkal", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Bezmaksas", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "API Atslēga" - }, - "apiKeyDesc": { - "message": "Jūsu API atslēgu var izmantot lai autentificētos ar Bitwarden publisko API." - }, - "apiKeyRotateDesc": { - "message": "API atslēgas rotācija anulēs iepriekšējo atslēgu. Jūs varat rotēt API atslēgu ja uzskatāt ka esošā atslēga vairs nav droša lietošanai." - }, - "apiKeyWarning": { - "message": "Jūsu API atslēgai ir pilna piekļuve šai organizācijai. Tā ir jātur slepenībā." - }, - "userApiKeyDesc": { - "message": "Your API key can be used to authenticate in the Bitwarden CLI." - }, - "userApiKeyWarning": { - "message": "Your API key is an alternative authentication mechanism. It should be kept secret." - }, - "oauth2ClientCredentials": { - "message": "OAuth 2.0 Klientu Akreditācijas Dati", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "Skatīt API Atslēgu" - }, - "rotateApiKey": { - "message": "Rotēt API Atslēgu" - }, - "selectOneCollection": { - "message": "Jums ir jāizvēlas vismaz viena kolekcija." - }, - "couldNotChargeCardPayInvoice": { - "message": "Mēs nevarējām veikt maksājumu uz jūsu karti. Lūdzu pārskatiet un samaksājiet neapmaksāto rēķinu zemāk." - }, - "inAppPurchase": { - "message": "Iekš-Lietotnes Pirkums" - }, - "cannotPerformInAppPurchase": { - "message": "Jūs nevarat veikt šo darbību kamēr tiek izmantots iekš-lietotņu apmaksas veids." - }, - "manageSubscriptionFromStore": { - "message": "Jums ir jāpārvalda jūsu abonements veikalā kur jūs veicāt iekš-lietotnes pirkumu." - }, - "minLength": { - "message": "Minimālais Garums" - }, - "clone": { - "message": "Klonēt" - }, - "masterPassPolicyDesc": { - "message": "Uzstādīt minimālās prasības priekš galvenās paroles stipruma." - }, - "twoStepLoginPolicyDesc": { - "message": "Pieprasīt lietotājiem uzstādīt divpakāpju verifikāciju saviem personīgajiem kontiem." - }, - "twoStepLoginPolicyWarning": { - "message": "Organizācijas dalībnieki, kuriem nav iespējota divpakāpju piekļuve saviem personīgajiem kontiem tiks noņemti no organizācijas un saņems e-pastu brīdinot par izmaiņu." - }, - "twoStepLoginPolicyUserWarning": { - "message": "Jūs esat biedrs organizācijai, kas pieprasa jūsu kontam iespējot divpakāpju piekļuvi. Ja jūs atspējojiet visus divpakāpju piekļuves nodrošinātājus jūs tiksiet automātiski noņemti no šīm organizācijām." - }, - "passwordGeneratorPolicyDesc": { - "message": "Uzstādi minimālās prasības priekš paroļu ģenerātora konfigurācijas." - }, - "passwordGeneratorPolicyInEffect": { - "message": "Viena vai vairākas organizācijas politikas ietekmē tavus ģenerātora iestatījumus." - }, - "masterPasswordPolicyInEffect": { - "message": "Viena vai vairākas organizācijas politikas pieprasa lai jūsu galvenā parole atbilst sekojošām prasībām:" - }, - "policyInEffectMinComplexity": { - "message": "Minimālās sarežģītības vērtība $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Minimālais garums $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Satur vienu vai vairāk lielos burtus" - }, - "policyInEffectLowercase": { - "message": "Satur vienu vai vairāk mazos burtus" - }, - "policyInEffectNumbers": { - "message": "Satur vienu vai vairāk skaitļus" - }, - "policyInEffectSpecial": { - "message": "Satur vienu vai vairākas sekojošās speciālās rakstzīmes $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Jūsu jaunā galvenā parole neatbilst politikas prasībām." - }, - "minimumNumberOfWords": { - "message": "Minimālais Vārdu Skaits" - }, - "defaultType": { - "message": "Noklusējuma Veids" - }, - "userPreference": { - "message": "Lietotāja Iestatījumi" - }, - "vaultTimeoutAction": { - "message": "Seifa Taimouta Darbība" - }, - "vaultTimeoutActionLockDesc": { - "message": "Slēgts seifs pieprasa jums atkārtoti ievadīt galveno paroli lai tam piekļūtu." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "Iziets seifs pieprasa jums atkārtoti ieiet lai tam piekļūtu." - }, - "lock": { - "message": "Slēgt", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Miskaste", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Meklēt Miskastē" - }, - "permanentlyDelete": { - "message": "Neatgriezeniski Izdzēst" - }, - "permanentlyDeleteSelected": { - "message": "Neatgriezeniski Izdzēst Atlasītos" - }, - "permanentlyDeleteItem": { - "message": "Neatgriezeniski Izdzēst Vienumu" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Vai tiešām vēlaties neatgriezeniski izdzēst šo vienumu?" - }, - "permanentlyDeletedItem": { - "message": "Neatgriezeniski Izdzēsa vienumu" - }, - "permanentlyDeletedItems": { - "message": "Neatgriezeniski Izdzēsa vienumus" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "Jūs esat atlasījis $COUNT$ vienumu(s) neatgriezeniskai dzēšanai. Vai jūs tiešām vēlaties šos vienumus neatgriezeniski izdzēst?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Neatgriezeniski Izdzēsa vienumu $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Atjaunot" - }, - "restoreSelected": { - "message": "Atjaunot Atlasīto" - }, - "restoreItem": { - "message": "Atjaunot Vienumu" - }, - "restoredItem": { - "message": "Atjaunoja Vienumu" - }, - "restoredItems": { - "message": "Atjaunoja Vienumus" - }, - "restoreItemConfirmation": { - "message": "Jūs tiešām vēlaties atjaunot šo vienumu?" - }, - "restoreItems": { - "message": "Atjaunot vienumus" - }, - "restoreSelectedItemsDesc": { - "message": "Jūs esat atlasījis $COUNT$ vienumu(s) atjaunošanai. Vai jūs tiešām vēlaties visus šos vienumus atjaunot?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Atjaunoja vienumu $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Iziešana noņems visu piekļuvi jūsu seifam un pieprasīs tīmekļa ieiešanu pēc taimouta perioda. Vai tiešām vēlies izmantot šo iestatījumu?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Taimouta Darbības Apstiprinājums" - }, - "hidePasswords": { - "message": "Slēpt Paroles" - }, - "countryPostalCodeRequiredDesc": { - "message": "Mēs pieprasām šo informāciju tikai lai aprēķinātu PVN un veiktu finansiālas atskaites." - }, - "includeVAT": { - "message": "Iekļaut VAT/GST Informāciju (neobligāts)" - }, - "taxIdNumber": { - "message": "VAT/GST Nodokļu ID" - }, - "taxInfoUpdated": { - "message": "Nodokļu informācija atjaunota." - }, - "setMasterPassword": { - "message": "Uzstādīt Galveno Paroli" - }, - "ssoCompleteRegistration": { - "message": "Lai pabeigtu ieeju ar SSO, lūdzu uzstādi galveno paroli lai piekļūtu un aizsargātu savu seifu." - }, - "identifier": { - "message": "Identifikators" - }, - "organizationIdentifier": { - "message": "Organizācijas Identifikators" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Ieej izmantojot savas organizācijas vienotās pieteikšanās portālu. Lūdzu ievadi savas organizācijas identifikatoru lai sāktu." - }, - "enterpriseSingleSignOn": { - "message": "Uzņēmuma Vienotā Pierakstīšanās" - }, - "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." - }, - "businessPortal": { - "message": "Biznesa Portāls", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "Visas Komandu iespējas, plus:" - }, - "includeSsoAuthentication": { - "message": "SSO Autentifikācija ar SAML 2.0 un OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Uzņēmuma Politikas" - }, - "ssoValidationFailed": { - "message": "SSO Validācija Neizdevās" - }, - "ssoIdentifierRequired": { - "message": "Organizācijas Identifikators ir nepieciešams." - }, - "unlinkSso": { - "message": "Atvienot SSO" - }, - "linkSso": { - "message": "Pievienot SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "Policy configuration has been moved, and this page will soon be deprecated. Please click below to use the Business Portal policies page instead." - }, - "singleOrg": { - "message": "Single Organization" - }, - "singleOrgDesc": { - "message": "Restrict users from being able to join any other organizations." - }, - "singleOrgBlockCreateMessage": { - "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." - }, - "singleOrgPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and are already a member of another organization will be removed from your organization." - }, - "requireSso": { - "message": "Single Sign-On Authentication" - }, - "requireSsoPolicyDesc": { - "message": "Require users to log in with the Enterprise Single Sign-On method." - }, - "prerequisite": { - "message": "Priekšnosacījumi" - }, - "requireSsoPolicyReq": { - "message": "The Single Organization enterprise policy must be enabled before activating this policy." - }, - "requireSsoPolicyReqError": { - "message": "Single Organization policy not enabled." - }, - "requireSsoExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "sendTypeFile": { - "message": "Fails" - }, - "sendTypeText": { - "message": "Teksts" - }, - "createSend": { - "message": "Izveidot Jaunu Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Rediģēt Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Izveidoja Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Rediģēja Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Izdzēsa Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Dzēst Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Vai tiešām vēlies dzēst šo Send?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "Kāda veida Send ir šis?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Dzēšanas Datums" - }, - "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Beigu Datums" - }, - "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Maksimālais Piekļuvju Skaits" - }, - "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Pašreizējais Piekļuvju Skaits" - }, - "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Private notes about this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Atspējots" - }, - "sendLink": { - "message": "Nosūtīt Linku", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Kopēt Send Linku", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Noņemt paroli" - }, - "removedPassword": { - "message": "Noņēma Paroli" - }, - "removePasswordConfirmation": { - "message": "Vai tiešām vēlaties noņemt paroli?" - }, - "disableThisSend": { - "message": "Disable this Send so that no one can access it.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "Visi Send" - }, - "maxAccessCountReached": { - "message": "Max access count reached" - }, - "pendingDeletion": { - "message": "Pending deletion" - }, - "expired": { - "message": "Expired" - }, - "searchSends": { - "message": "Meklēt Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "This Send is protected with a password. Please type the password below to continue.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Don't know the password? Ask the Sender for the password needed to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "This send is hidden by default. You can toggle its visibility using the button below.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Lejupielādēt Failu" - }, - "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "There are no Sends to list.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Emergency Access" - }, - "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." - }, - "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" - }, - "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." - }, - "addEmergencyContact": { - "message": "Add emergency contact" - }, - "designatedEmergencyContacts": { - "message": "Designated as emergency contact" - }, - "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." - }, - "inviteEmergencyContact": { - "message": "Invite emergency contact" - }, - "editEmergencyContact": { - "message": "Edit emergency contact" - }, - "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" - }, - "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" - }, - "viewDesc": { - "message": "Can view all items in your own vault." - }, - "takeover": { - "message": "Takeover" - }, - "takeoverDesc": { - "message": "Can reset your account with a new master password." - }, - "waitTime": { - "message": "Wait Time" - }, - "waitTimeDesc": { - "message": "Time required before automatically granting access." - }, - "oneDay": { - "message": "1 day" - }, - "days": { - "message": "$DAYS$ days", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Invited user." - }, - "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." - }, - "requestAccess": { - "message": "Request Access" - }, - "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Approve" - }, - "reject": { - "message": "Reject" - }, - "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Emergency access approved." - }, - "emergencyRejected": { - "message": "Emergency access rejected" - }, - "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Personal Ownership" - }, - "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." - }, - "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." - }, - "modifiedPolicyId": { - "message": "Modified policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Plan price" - }, - "estimatedTax": { - "message": "Estimated tax" - }, - "custom": { - "message": "Custom" - }, - "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." - }, - "permissions": { - "message": "Permissions" - }, - "accessBusinessPortal": { - "message": "Access Business Portal" - }, - "accessEventLogs": { - "message": "Access Event Logs" - }, - "accessImportExport": { - "message": "Access Import/Export" - }, - "accessReports": { - "message": "Access Reports" - }, - "manageAllCollections": { - "message": "Manage All Collections" - }, - "manageAssignedCollections": { - "message": "Manage Assigned Collections" - }, - "manageGroups": { - "message": "Manage Groups" - }, - "managePolicies": { - "message": "Manage Policies" - }, - "manageSso": { - "message": "Manage SSO" - }, - "manageUsers": { - "message": "Manage Users" - }, - "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." - }, - "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." - }, - "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" - }, - "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/ml/messages.json b/locales/ml/messages.json deleted file mode 100644 index eae74722..00000000 --- a/locales/ml/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$ വെബ് വാൾട്", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "ഇത് ഏതു തരം ഇനം ആണ്?" - }, - "name": { - "message": "പേര്" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "പുതിയ URI" - }, - "username": { - "message": "ഉപയോക്തൃനാമം" - }, - "password": { - "message": "പാസ്‌വേഡ്" - }, - "newPassword": { - "message": "പുതിയ പാസ്വേഡ്" - }, - "passphrase": { - "message": "രഹസ്യ വാചകം" - }, - "notes": { - "message": "കുറിപ്പുകൾ" - }, - "customFields": { - "message": "ഇഷ്‌ടാനുസൃത ഫീൽഡുകൾ" - }, - "cardholderName": { - "message": "കാർഡ് ഉടമയുടെ പേര്" - }, - "number": { - "message": "നമ്പർ" - }, - "brand": { - "message": "ബ്രാൻഡ്" - }, - "expiration": { - "message": "കാലഹരണപ്പെടൽ" - }, - "securityCode": { - "message": "സുരക്ഷാ കോഡ് സിവി‌വി" - }, - "identityName": { - "message": "തിരിച്ചറിയലിൻ്റെ പേര്" - }, - "company": { - "message": "കമ്പനി" - }, - "ssn": { - "message": "സാമൂഹിക സുരക്ഷാ നമ്പർ" - }, - "passportNumber": { - "message": "പാസ്പോർട്ട് നമ്പർ" - }, - "licenseNumber": { - "message": "ലൈസൻസ് നമ്പർ" - }, - "email": { - "message": "ഇമെയിൽ" - }, - "phone": { - "message": "ഫോൺ" - }, - "january": { - "message": "ജനുവരി" - }, - "february": { - "message": "ഫെബ്രുവരി" - }, - "march": { - "message": "മാർച്ച്‌" - }, - "april": { - "message": "ഏപ്രിൽ" - }, - "may": { - "message": "മെയ്‌" - }, - "june": { - "message": "ജൂണ്‍" - }, - "july": { - "message": "ജൂലൈ" - }, - "august": { - "message": "ഓഗസ്റ്റ്" - }, - "september": { - "message": "സെപ്റ്റംബർ" - }, - "october": { - "message": "ഒക്ടോബര്‍" - }, - "november": { - "message": "നവംബർ" - }, - "december": { - "message": "ഡിസംബർ" - }, - "title": { - "message": "ശീർഷകം" - }, - "mr": { - "message": "ശ്രീ" - }, - "mrs": { - "message": "ശ്രിമതി" - }, - "ms": { - "message": "കുമാരി" - }, - "dr": { - "message": "ഡോ" - }, - "expirationMonth": { - "message": "കാലാവതി കഴിയുന്ന മാസം" - }, - "expirationYear": { - "message": "കാലാവതി കഴിയുന്ന വർഷം" - }, - "authenticatorKeyTotp": { - "message": "ഓതന്റിക്കേറ്റർ കീ (TOTP)" - }, - "folder": { - "message": "ഫോൾഡർ" - }, - "newCustomField": { - "message": "പുതിയ ഇഷ്‌ടാനുസൃത ഫീൽഡ്" - }, - "value": { - "message": "മൂല്യം" - }, - "dragToSort": { - "message": "അടുക്കാൻ വലിച്ചിടുക" - }, - "cfTypeText": { - "message": "വാചകം" - }, - "cfTypeHidden": { - "message": "മറച്ചത്" - }, - "cfTypeBoolean": { - "message": "ബൂളിയൻ" - }, - "remove": { - "message": "നീക്കംചെയ്യുക" - }, - "unassigned": { - "message": "നിയുക്തമാക്കിയിട്ടില്ല" - }, - "noneFolder": { - "message": "ഫോൾഡർ ഇല്ല", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "ഫോൾഡർ ചേർക്കുക" - }, - "editFolder": { - "message": "ഫോൾഡർ തിരുത്തുക" - }, - "baseDomain": { - "message": "അടിസ്ഥാന ഡൊമെയ്ൻ" - }, - "host": { - "message": "ഹോസ്റ്റ്", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "കൃത്യമായ" - }, - "startsWith": { - "message": "ഇതും വെച്ച് ആരംഭിക്കുന്ന" - }, - "regEx": { - "message": "പതിവ് പദപ്രയോഗം", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "പൊരുത്തം കണ്ടെത്തൽ", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "സാധാരണ കണ്ടെത്തൽ", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "അത് ചെയ്യരുത്" - }, - "toggleVisibility": { - "message": "ദൃശ്യപരത ടോഗിൾ ചെയ്യുക" - }, - "toggleCollapse": { - "message": "ചുരുക്കുക", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "പാസ്‌വേഡ് സൃഷ്ടിക്കുക" - }, - "checkPassword": { - "message": "പാസ്സ്‌വേർഡ് ചോർന്നോ എന്ന് നോക്കുക." - }, - "passwordExposed": { - "message": "ഈ പാസ്‌വേഡ് ഡാറ്റാ $VALUE$ ലംഘനങ്ങളിൽ ചോർന്നു. തങ്ങൾ ഇത് മാറ്റണം.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "അറിയപ്പെടുന്ന ഡാറ്റാ ലംഘനങ്ങളിൽ ഒന്നും ഈ പാസ്‌വേഡ് കണ്ടെത്തിയില്ല. ഇത് ഉപയോഗിക്കുന്നത് സുരക്ഷിതമായിരിക്കും." - }, - "save": { - "message": "സംരക്ഷിക്കുക " - }, - "cancel": { - "message": "റദ്ദാക്കുക" - }, - "canceled": { - "message": "റദ്ദാക്കി" - }, - "close": { - "message": "അടയ്ക്കുക" - }, - "delete": { - "message": "നീക്കംചെയ്യുക" - }, - "favorite": { - "message": "പ്രിയങ്കരം" - }, - "unfavorite": { - "message": "പ്രിയങ്കരമല്ല" - }, - "edit": { - "message": "തിരുത്തുക" - }, - "searchCollection": { - "message": "കളക്ഷനുകൾ തിരയുക" - }, - "searchFolder": { - "message": "ഫോൾഡറുകൾ തിരയുക" - }, - "searchFavorites": { - "message": "പ്രിയങ്കരങ്ങൾ തിരയുക" - }, - "searchType": { - "message": "തരം തിരയുക", - "description": "Search item type" - }, - "searchVault": { - "message": "വാൾട് തിരയുക" - }, - "allItems": { - "message": "എല്ലാ ഇനങ്ങൾ" - }, - "favorites": { - "message": "പ്രിയങ്കരങ്ങള്‍" - }, - "types": { - "message": "തരങ്ങൾ" - }, - "typeLogin": { - "message": "പ്രവേശനം" - }, - "typeCard": { - "message": "കാർഡ്" - }, - "typeIdentity": { - "message": "തിരിച്ചറിയൽ" - }, - "typeSecureNote": { - "message": "സുരക്ഷിത കുറിപ്പ്" - }, - "folders": { - "message": "ഫോൾഡറുകൾ" - }, - "collections": { - "message": "കളക്ഷനുകൾ " - }, - "firstName": { - "message": "പേരിന്റെ ആദ്യഭാഗം" - }, - "middleName": { - "message": "മധ്യ നാമം" - }, - "lastName": { - "message": "പേരിന്റെ അവസാന ഭാഗം" - }, - "address1": { - "message": "മേൽവിലാസം 1" - }, - "address2": { - "message": "മേൽവിലാസം 2" - }, - "address3": { - "message": "മേൽവിലാസം 3" - }, - "cityTown": { - "message": "നഗരം / പട്ടണം" - }, - "stateProvince": { - "message": "സംസ്ഥാനം/ ദേശം" - }, - "zipPostalCode": { - "message": "പിൻകോഡ്" - }, - "country": { - "message": "രാജ്യം" - }, - "shared": { - "message": "പങ്കിട്ടവ" - }, - "attachments": { - "message": "അറ്റാച്ചുമെന്റുകൾ" - }, - "select": { - "message": "തിരഞ്ഞെടുക്കുക" - }, - "addItem": { - "message": "ഇനം ചേർക്കുക" - }, - "editItem": { - "message": "ഇനം എഡിറ്റുചെയ്യുക" - }, - "viewItem": { - "message": "ഇനം കാണുക" - }, - "ex": { - "message": "ഉദാഹരണം.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "മറ്റുള്ളവ" - }, - "share": { - "message": "പങ്കിടുക" - }, - "valueCopied": { - "message": "$VALUE$ പകർത്തി", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "മൂല്യം പകർത്തുക", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "പാസ്‌വേഡ് ക്ലിപ്പ്ബോർഡിലേക്ക് പകർത്തുക", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "ഉപയോക്തൃനാമം പകർത്തുക", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "നമ്പർ പകർത്തുക ", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "സുരക്ഷാ കോഡ് പകർത്തുക", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "URL പകർത്തുക", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "എൻ്റെ വാൾട്" - }, - "vault": { - "message": "വാൾട്" - }, - "shareSelected": { - "message": "തിരഞ്ഞെടുത്തത് പങ്കിടുക" - }, - "deleteSelected": { - "message": "തിരഞ്ഞെടുത്തത് ഇല്ലാതാക്കുക" - }, - "moveSelected": { - "message": "തിരഞ്ഞെടുത്തത് നീക്കുക " - }, - "selectAll": { - "message": "എല്ലാം തിരഞ്ഞെടുക്കുക" - }, - "unselectAll": { - "message": "എല്ലാം തിരഞ്ഞെടുത്തത് മാറ്റുക" - }, - "launch": { - "message": "തുറക്കുക" - }, - "newAttachment": { - "message": "പുതിയ അറ്റാച്ചുമെന്റ് ചേർക്കുക" - }, - "deletedAttachment": { - "message": "മായ്ച്ച അറ്റാച്ചുമെന്റ്" - }, - "deleteAttachmentConfirmation": { - "message": "ഈ അറ്റാച്ചുമെന്റ് ഇല്ലാതാക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുണ്ടോ?" - }, - "attachmentSaved": { - "message": "ഈ അറ്റാച്ചുമെന്റ് സംരക്ഷിച്ചു." - }, - "file": { - "message": "ഫയൽ" - }, - "selectFile": { - "message": "ഫയൽ തിരഞ്ഞെടുക്കുക." - }, - "maxFileSize": { - "message": "പരമാവധി ഫയൽ വലുപ്പം 100 MB ആണ്." - }, - "updateKey": { - "message": "നിങ്ങളുടെ എൻ‌ക്രിപ്ഷൻ കീ അപ്‌ഡേറ്റ് ചെയ്യുന്നതുവരെ നിങ്ങൾക്ക് ഈ സവിശേഷത ഉപയോഗിക്കാൻ കഴിയില്ല." - }, - "addedItem": { - "message": "ചേർക്കപ്പെട്ട ഇനം" - }, - "editedItem": { - "message": "തിരുത്തപ്പെട്ട ഇനം" - }, - "sharedItem": { - "message": "പങ്കിട്ട ഇനം " - }, - "sharedItems": { - "message": "പങ്കിട്ട ഇനങ്ങൾ " - }, - "deleteItem": { - "message": "ഇനം ഇല്ലാതാക്കുക " - }, - "deleteFolder": { - "message": "ഫോൾഡർ ഇല്ലാതാക്കുക" - }, - "deleteAttachment": { - "message": "അറ്റാച്ചുമെന്റ് ഇല്ലാതാക്കുക" - }, - "deleteItemConfirmation": { - "message": "ഈ ഇനം ഇല്ലാതാക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുണ്ടോ?" - }, - "deletedItem": { - "message": "ഇനം ട്രാഷിലേക്ക് അയച്ചു" - }, - "deletedItems": { - "message": "ഇനങ്ങൾ ട്രാഷിലേക്ക് അയച്ചു" - }, - "movedItems": { - "message": "നീക്കിയ ഇനങ്ങൾ" - }, - "overwritePasswordConfirmation": { - "message": "നിലവിലെ പാസ്‌വേഡ് പുനരാലേഖനം ചെയ്യണമെന്ന് നിങ്ങൾക്ക് ഉറപ്പാണോ?" - }, - "editedFolder": { - "message": "തിരുത്തിയ ഫോൾഡറുകൾ" - }, - "addedFolder": { - "message": "ചേർക്കപ്പെട്ട ഫോൾഡർ" - }, - "deleteFolderConfirmation": { - "message": "ഈ ഫോൾഡർ ഇല്ലാതാക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുണ്ടോ?" - }, - "deletedFolder": { - "message": "ഇല്ലാതാക്കിയ ഫോൾഡർ" - }, - "loggedOut": { - "message": "ലോഗ് ഔട്ട് ചെയ്തിരിക്കുന്നു" - }, - "loginExpired": { - "message": "നിങ്ങളുടെ പ്രവർത്തന സമയം കഴിഞ്ഞിരിക്കുന്നു." - }, - "logOutConfirmation": { - "message": "നിങ്ങൾക്ക് ലോഗ് ഔട്ട് ചെയ്യണമെന്ന് ഉറപ്പാണോ?" - }, - "logOut": { - "message": "ലോഗ് ഔട്ട്" - }, - "ok": { - "message": "ശരി" - }, - "yes": { - "message": "അതെ" - }, - "no": { - "message": "അല്ല" - }, - "loginOrCreateNewAccount": { - "message": "നിങ്ങളുടെ സുരക്ഷിത വാൾട്ടിലേക്ക് പ്രവേശിക്കാൻ ലോഗിൻ ചെയ്യുക അല്ലെങ്കിൽ ഒരു പുതിയ അക്കൗണ്ട് സൃഷ്ടിക്കുക." - }, - "createAccount": { - "message": "അക്കൗണ്ട് സൃഷ്ടിക്കുക" - }, - "logIn": { - "message": "പ്രവേശിക്കുക" - }, - "submit": { - "message": "സമർപ്പിക്കുക" - }, - "emailAddressDesc": { - "message": "ലോഗിൻ ചെയ്യുന്നതിന് നിങ്ങളുടെ ഇമെയിൽ വിലാസം ഉപയോഗിക്കും." - }, - "yourName": { - "message": "നിങ്ങളുടെ പേര്" - }, - "yourNameDesc": { - "message": "ഞങ്ങൾ തങ്ങളെ എന്ത് വിളിക്കണം?" - }, - "masterPass": { - "message": "പ്രാഥമിക പാസ്‌വേഡ്" - }, - "masterPassDesc": { - "message": "നിങ്ങളുടെ വാൾട്ടിലേക്ക് പ്രവേശിക്കാൻ ഉപയോഗിക്കുന്ന പാസ്‌വേഡാണ് പ്രാഥമിക പാസ്‌വേഡ്. പ്രാഥമിക പാസ്‌വേഡ് നിങ്ങൾ ഒരു കാരണവശാലും മറക്കരുത്. നിങ്ങൾ പാസ്‌വേഡ് മറന്നാൽ, വീണ്ടെടുക്കാൻ വേറെ ഒരു മാർഗ്ഗവുമില്ല." - }, - "masterPassHintDesc": { - "message": "നിങ്ങളുടെ പാസ്‌വേഡ് മറന്നാൽ അത് ഓർമ്മിക്കാൻ ഒരു പ്രാഥമിക പാസ്‌വേഡ് സൂചന സഹായിക്കും." - }, - "reTypeMasterPass": { - "message": "പ്രാഥമിക പാസ്‌വേഡ് വീണ്ടും ടൈപ്പ്‌ ചെയ്യുക" - }, - "masterPassHint": { - "message": "പ്രാഥമിക പാസ്‌വേഡ് സൂചന (ഇഷ്ടാനുസൃതമായ)" - }, - "masterPassHintLabel": { - "message": "പ്രാഥമിക പാസ്‌വേഡ് സൂചന" - }, - "settings": { - "message": "ക്രമീകരണങ്ങള്‍" - }, - "passwordHint": { - "message": "പാസ്‌വേഡ് സൂചനാ" - }, - "enterEmailToGetHint": { - "message": "നിങ്ങളുടെ പ്രാഥമിക പാസ്‌വേഡ് സൂചന ലഭിക്കുന്നതിന് നിങ്ങളുടെ അക്കൗണ്ട് ഇമെയിൽ വിലാസം നൽകുക." - }, - "getMasterPasswordHint": { - "message": "പ്രാഥമിക പാസ്‌വേഡ് സൂചന നേടുക" - }, - "emailRequired": { - "message": "ഇമെയിൽ അഡ്രസ്സ് നിർബന്ധമാണ്‌." - }, - "invalidEmail": { - "message": "അസാധുവായ ഇമെയിൽ." - }, - "masterPassRequired": { - "message": "പ്രാഥമിക പാസ്‌വേഡ് നിർബന്ധമാണ്‌." - }, - "masterPassLength": { - "message": "പ്രാഥമിക പാസ്‌വേഡിന് കുറഞ്ഞത് 8 പ്രതീകങ്ങളെങ്കിലും ദൈർഘ്യമുണ്ടായിരിക്കണം." - }, - "masterPassDoesntMatch": { - "message": "പ്രാഥമിക പാസ്‌വേഡ് സ്ഥിരീകരണം പൊരുത്തപ്പെടുന്നില്ല." - }, - "newAccountCreated": { - "message": "നിങ്ങളുടെ അക്കൗണ്ട് സൃഷ്ടിക്കപ്പെട്ടു. ഇനി നിങ്ങൾക്ക് ലോഗിൻ ചെയ്യാം." - }, - "masterPassSent": { - "message": "നിങ്ങളുടെ പ്രാഥമിക പാസ്‌വേഡ് സൂചനയുള്ള ഒരു ഇമെയിൽ ഞങ്ങൾ നിങ്ങൾക്ക് അയച്ചു." - }, - "unexpectedError": { - "message": "ഒരു അപ്രതീക്ഷിത പിശക് സംഭവിച്ചു." - }, - "emailAddress": { - "message": "ഇ-മെയിൽ വിലാസം" - }, - "yourVaultIsLocked": { - "message": "നിങ്ങളുടെ വാൾട് പൂട്ടിയിരിക്കുന്നു. തുടരുന്നതിന് നിങ്ങളുടെ പ്രാഥമിക പാസ്‌വേഡ് സ്ഥിരീകരിക്കുക." - }, - "unlock": { - "message": "അൺലോക്ക്" - }, - "loggedInAsEmailOn": { - "message": "$HOSTNAME$-ൽ $EMAIL$ ലോഗിൻ ചെയ്തിരിക്കുന്നു.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "അസാധുവായ പ്രാഥമിക പാസ്‌വേഡ്" - }, - "lockNow": { - "message": "ഇപ്പോൾ പൂട്ടുക" - }, - "noItemsInList": { - "message": "പ്രദർശിപ്പിക്കാൻ ഇനങ്ങളൊന്നുമില്ല." - }, - "noCollectionsInList": { - "message": "പ്രദർശിപ്പിക്കാൻ കളക്ഷൻസ് ഒന്നും ഇല്ല." - }, - "noGroupsInList": { - "message": "പട്ടികപ്പെടുത്താൻ ഗ്രൂപ്പുകളൊന്നുമില്ല." - }, - "noUsersInList": { - "message": "പ്രദർശിപ്പിക്കാൻ ഉപയോക്താക്കളൊന്നുമില്ല." - }, - "noEventsInList": { - "message": "പ്രദർശിപ്പിക്കാൻ ഇവന്റുകളൊന്നുമില്ല." - }, - "newOrganization": { - "message": "പുതിയ സംഘടന" - }, - "noOrganizationsList": { - "message": "നിങ്ങൾ ഒരു സംഘടനയുടെയും അംഗമല്ല. മറ്റ് ഉപയോക്താക്കളുമായി ഇനങ്ങൾ സുരക്ഷിതമായി പങ്കിടാൻ ഓർഗനൈസേഷനുകൾ നിങ്ങളെ അനുവദിക്കുന്നു." - }, - "versionNumber": { - "message": "വേർഷൻ $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "നിങ്ങളുടെ ഓതന്റിക്കേറ്റർ അപ്ലിക്കേഷനിൽ നിന്ന് 6 അക്ക സ്ഥിരീകരണ കോഡ് നൽകുക." - }, - "enterVerificationCodeEmail": { - "message": "$EMAIL$-ൽ ഇമെയിൽ ചെയ്ത 6 അക്ക സ്ഥിരീകരണ കോഡ് നൽകുക.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "സ്ഥിരീകരണ ഇമെയിൽ $EMAIL$-ലേക്ക് അയച്ചു.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "എന്നെ ഓർക്കണം" - }, - "sendVerificationCodeEmailAgain": { - "message": "സ്ഥിരീകരണ കോഡ് ഇമെയിൽ വഴി വീണ്ടും അയയ്ക്കുക" - }, - "useAnotherTwoStepMethod": { - "message": "മറ്റൊരു രണ്ട് ഘട്ട പ്രവേശന രീതി ഉപയോഗിക്കുക" - }, - "insertYubiKey": { - "message": "നിങ്ങളുടെ കമ്പ്യൂട്ടറിന്റെ യു‌എസ്‌ബി പോർട്ടിലേക്ക് YubiKey ഇടുക, തുടർന്ന് അതിന്റെ ബട്ടൺ അമർത്തുക." - }, - "insertU2f": { - "message": "നിങ്ങളുടെ കമ്പ്യൂട്ടറിന്റെ യുഎസ്ബി പോർട്ടിൽ സുരക്ഷാ കീ ഇടുക. അതിന് ഒരു ബട്ടൺ ഉണ്ടെങ്കിൽ അത് അമർത്തുക." - }, - "loginUnavailable": { - "message": "പ്രവേശനം ലഭ്യമല്ല" - }, - "noTwoStepProviders": { - "message": "ഈ അക്കൗണ്ടിന് രണ്ട്-ഘട്ട പ്രവേശനം പ്രാപ്തമാക്കിയിട്ടുണ്ട്, എന്നിരുന്നാലും, ക്രമീകരിച്ച രണ്ട്-ഘട്ട ദാതാക്കളെയൊന്നും ഈ ഉപകരണം പിന്തുണയ്ക്കുന്നില്ല." - }, - "noTwoStepProviders2": { - "message": "മികച്ച പിന്തുണയുള്ള, കൂടുതൽ ദാതാക്കളെ ദയവായി ചേർക്കുക (ഒരു ഓതന്റിക്കേറ്റർ അപ്ലിക്കേഷൻ പോലുള്ളവ)." - }, - "twoStepOptions": { - "message": "രണ്ട്-ഘട്ട പ്രവേശനം ഓപ്ഷനുകൾ" - }, - "recoveryCodeDesc": { - "message": "നിങ്ങളുടെ രണ്ട്-ഘടക ദാതാക്കളിലേക്കുള്ള ആക്‌സസ്സ് നഷ്‌ടപ്പെട്ടോ? നിങ്ങളുടെ അക്കൗണ്ടിൽ നിന്ന് രണ്ട്-ഘടക ദാതാക്കളെ പ്രവർത്തനരഹിതമാക്കാൻ നിങ്ങളുടെ റിക്കവറി കോഡ് ഉപയോഗിക്കുക." - }, - "recoveryCodeTitle": { - "message": "റിക്കവറി കോഡ്" - }, - "authenticatorAppTitle": { - "message": "ഓതന്റിക്കേറ്റർ ആപ്പ്" - }, - "authenticatorAppDesc": { - "message": "സമയ-അടിസ്ഥാന പരിശോധന കോഡുകൾ സൃഷ്ടിക്കുന്നതിന് ഒരു ഓതന്റിക്കേറ്റർ അപ്ലിക്കേഷൻ (ഓത്തി അല്ലെങ്കിൽ Google ഓതന്റിക്കേറ്റർ പോലുള്ളവ) ഉപയോഗിക്കുക.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "YubiKey OTP സുരക്ഷാ കീ" - }, - "yubiKeyDesc": { - "message": "നിങ്ങളുടെ അക്കൗണ്ട് ആക്സസ് ചെയ്യുന്നതിന് ഒരു യൂബിക്കി ഉപയോഗിക്കുക. YubiKey 4, 4 Nano, 4C, NEO ഉപകരണങ്ങളിൽ പ്രവർത്തിക്കുന്നു." - }, - "duoDesc": { - "message": "Duo Mobile അപ്ലിക്കേഷൻ, എസ്എംഎസ്, ഫോൺ കോൾ അല്ലെങ്കിൽ യു 2 എഫ് സുരക്ഷാ കീ ഉപയോഗിച്ച് Duoസെക്യൂരിറ്റി ഉപയോഗിച്ച് പരിശോധിക്കുക.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Duo Mobile, എസ്എംഎസ്, ഫോൺ കോൾ അല്ലെങ്കിൽ യു 2 എഫ് സുരക്ഷാ കീ ഉപയോഗിച്ച് നിങ്ങളുടെ ഓർഗനൈസേഷനെ ഡ്യുവോ സെക്യൂരിറ്റി ഉപയോഗിച്ച് പരിശോധിക്കുക.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "നിങ്ങളുടെ അക്കൗണ്ട് ആക്സസ് ചെയ്യുന്നതിന് ഏതെങ്കിലും FIDO U2F പ്രാപ്തമാക്കിയ സുരക്ഷാ കീ ഉപയോഗിക്കുക." - }, - "u2fTitle": { - "message": "FIDO U2F സുരക്ഷാ കീ" - }, - "emailTitle": { - "message": "ഇമെയിൽ" - }, - "emailDesc": { - "message": "സ്ഥിരീകരണ കോഡുകൾ നിങ്ങൾക്ക് ഇമെയിൽ ചെയ്യും." - }, - "continue": { - "message": "തുടരുക" - }, - "organization": { - "message": "ഓർഗനൈസേഷൻ" - }, - "organizations": { - "message": "സംഘടനകൾ" - }, - "shareDesc": { - "message": "ഈ ഇനം പങ്കിടാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്ന ഒരു സംഘടന തിരഞ്ഞെടുക്കുക. പങ്കിട്ട ഇനത്തിന്റെ ഉടമസ്ഥാവകാശം ആ സംഘടനക്ക് കൈമാറുന്നു. ഈ ഇനം പങ്കിട്ടുകഴിഞ്ഞാൽ നിങ്ങൾ അതിന്റെ നേരിട്ടുള്ള ഉടമയാകില്ല." - }, - "shareManyDesc": { - "message": "Choose an organization that you wish to share these items with. Sharing transfers ownership of the items to the organization. You will no longer be the direct owner of these items once they have been shared." - }, - "collectionsDesc": { - "message": "Edit the collections that this item is being shared with. Only organization users with access to these collections will be able to see this item." - }, - "deleteSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to delete. Are you sure you want to delete all of these items?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "$COUNT$ തിരഞ്ഞെടുത്ത ഇനങ്ങൾ നീക്കാൻ ആഗ്രഹിക്കുന്ന ഒരു ഫോൾഡർ തിരഞ്ഞെടുക്കുക).", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "You have selected $COUNT$ item(s). $SHAREABLE_COUNT$ items are sharable, $NONSHAREABLE_COUNT$ are not.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "സ്ഥിരീകരണ കോഡ് (TOTP)" - }, - "copyVerificationCode": { - "message": "സ്ഥിരീകരണ കോഡ് പകർത്തുക " - }, - "warning": { - "message": "മുന്നറിയിപ്പ്" - }, - "confirmVaultExport": { - "message": "വാൾട് എക്‌സ്‌പോർട്ട് ഉറപ്പാക്കു" - }, - "exportWarningDesc": { - "message": "ഈ എക്‌സ്‌പോർട്ടിൽ എൻക്രിപ്റ്റ് ചെയ്യാത്ത ഫോർമാറ്റിൽ നിങ്ങളുടെ വാൾട് ഡാറ്റ അടങ്ങിയിരിക്കുന്നു. എക്‌സ്‌പോർട് ചെയ്ത ഫയൽ സുരക്ഷിതമല്ലാത്ത ചാനലുകളിൽ (ഇമെയിൽ പോലുള്ളവ) നിങ്ങൾ സംഭരിക്കുകയോ അയയ്ക്കുകയോ ചെയ്യരുത്. നിങ്ങൾ ഇത് ഉപയോഗിച്ചുകഴിഞ്ഞാലുടൻ അത് മായ്ച്ചുകളയണം." - }, - "encExportWarningDesc": { - "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." - }, - "exportMasterPassword": { - "message": "നിങ്ങളുടെവാൾട് ഡാറ്റ എക്‌സ്‌പോർട്ടുചെയ്യാൻ പ്രാഥമിക പാസ്‌വേഡ് നൽകുക." - }, - "exportVault": { - "message": "വാൾട് എക്സ്പോർട്" - }, - "fileFormat": { - "message": "ഫയൽ ഫോർമാറ്റ്" - }, - "exportSuccess": { - "message": "നിങ്ങളുടെ വാൾട് ഡാറ്റ എക്‌സ്‌പോർട്ടുചെയ്‌തു." - }, - "passwordGenerator": { - "message": "പാസ്സ്‌വേഡ് സൃഷ്ടാവ്" - }, - "minComplexityScore": { - "message": "Minimum Complexity Score" - }, - "minNumbers": { - "message": "കുറഞ്ഞ സംഖ്യകൾ" - }, - "minSpecial": { - "message": "കുറഞ്ഞ പ്രത്യേക പ്രതീകങ്ങൾ", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "അവ്യക്തമായ പ്രതീകങ്ങൾ ഒഴിവാക്കുക" - }, - "regeneratePassword": { - "message": "പാസ്സ്‌വേഡ് വീണ്ടും സൃഷ്ടിക്കുക" - }, - "length": { - "message": "ദൈര്‍ഘ്യം" - }, - "numWords": { - "message": "വാക്കുകളുടെ എണ്ണം" - }, - "wordSeparator": { - "message": "വേര്‍പെടുത്തുക" - }, - "capitalize": { - "message": "വലിയഅക്ഷരമാകുക", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "നമ്പർ ഉൾപ്പെടുത്തുക" - }, - "passwordHistory": { - "message": "പാസ്സ്‌വേഡ് ചരിത്രം" - }, - "noPasswordsInList": { - "message": "പ്രദർശിപ്പിക്കാൻ പാസ്സ്‌വേഡുകൾ ഒന്നും ഇല്ല." - }, - "clear": { - "message": "മായ്ക്കുക", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "അക്കൗണ്ട് അപ്‌ഡേറ്റുചെയ്‌തു" - }, - "changeEmail": { - "message": "ഇമെയില്‍ മാറ്റുക" - }, - "newEmail": { - "message": "പുതിയ ഇമെയിൽ" - }, - "code": { - "message": "കോഡ്" - }, - "changeEmailDesc": { - "message": "We have emailed a verification code to $EMAIL$. Please check your email for this code and enter it below to finalize the email address change.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour." - }, - "emailChanged": { - "message": "ഇമെയിൽ മാറ്റി" - }, - "logBackIn": { - "message": "ദയവായി തിരികെ പ്രവേശിക്കുക." - }, - "logBackInOthersToo": { - "message": "Please log back in. If you are using other Bitwarden applications log out and back in to those as well." - }, - "changeMasterPassword": { - "message": "പ്രാഥമിക പാസ്‌വേഡ് മാറ്റുക" - }, - "masterPasswordChanged": { - "message": "മാസ്റ്റർ പാസ്‌വേഡ് മാറ്റി" - }, - "currentMasterPass": { - "message": "നിലവിലെ മാസ്റ്റർ പാസ്‌വേഡ്" - }, - "newMasterPass": { - "message": "പുതിയ പ്രാഥമിക പാസ്‌വേഡ് " - }, - "confirmNewMasterPass": { - "message": "പുതിയ പ്രാഥമിക പാസ്‌വേഡ് സ്ഥിരീകരിക്കുക" - }, - "encKeySettings": { - "message": "എൻക്രിപ്ഷൻ കീയുടെ ക്രമീകരണങ്ങൾ" - }, - "kdfAlgorithm": { - "message": "KDF അൽഗോരിതം" - }, - "kdfIterations": { - "message": "KDF Iterations" - }, - "kdfIterationsDesc": { - "message": "Higher KDF iterations can help protect your master password from being brute forced by an attacker. We recommend a value of $VALUE$ or more.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Setting your KDF iterations too high could result in poor performance when logging into (and unlocking) Bitwarden on devices with slower CPUs. We recommend that you increase the value in increments of $INCREMENT$ and then test all of your devices.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "KDF മാറ്റുക" - }, - "encKeySettingsChanged": { - "message": "എൻക്രിപ്ഷൻ കീയുടെ ക്രമീകരണങ്ങൾ മാറ്റി" - }, - "dangerZone": { - "message": "അപകട മേഖല" - }, - "dangerZoneDesc": { - "message": "ശ്രദ്ധിക്കുക, ഈ പ്രവർത്തനങ്ങൾ മാറ്റാനാവില്ല!" - }, - "deauthorizeSessions": { - "message": "Deauthorize Sessions" - }, - "deauthorizeSessionsDesc": { - "message": "Concerned your account is logged in on another device? Proceed below to deauthorize all computers or devices that you have previously used. This security step is recommended if you previously used a public computer or accidentally saved your password on a device that isn't yours. This step will also clear all previously remembered two-step login sessions." - }, - "deauthorizeSessionsWarning": { - "message": "Proceeding will also log you out of your current session, requiring you to log back in. You will also be prompted for two-step login again, if enabled. Active sessions on other devices may continue to remain active for up to one hour." - }, - "sessionsDeauthorized": { - "message": "എല്ലാ സെഷനും നിരസിച്ചു." - }, - "purgeVault": { - "message": "വാൾട് നശിപ്പിക്കുക" - }, - "purgedOrganizationVault": { - "message": "Purged organization vault." - }, - "purgeVaultDesc": { - "message": "Proceed below to delete all items and folders in your vault. Items that belong to an organization that you share with will not be deleted." - }, - "purgeOrgVaultDesc": { - "message": "Proceed below to delete all items in the organization's vault." - }, - "purgeVaultWarning": { - "message": "Purging your vault is permanent. It cannot be undone." - }, - "vaultPurged": { - "message": "Your vault has been purged." - }, - "deleteAccount": { - "message": "അക്കൗണ്ട് ഇല്ലാതാക്കുക" - }, - "deleteAccountDesc": { - "message": "Proceed below to delete your account and all associated data." - }, - "deleteAccountWarning": { - "message": "Deleting your account is permanent. It cannot be undone." - }, - "accountDeleted": { - "message": "അക്കൗണ്ട് നീക്കംചെയ്തു" - }, - "accountDeletedDesc": { - "message": "Your account has been closed and all associated data has been deleted." - }, - "myAccount": { - "message": "എന്റെ അക്കൗണ്ട്" - }, - "tools": { - "message": "ഉപകരണങ്ങൾ" - }, - "importData": { - "message": "Import Data" - }, - "importSuccess": { - "message": "Data has been successfully imported into your vault." - }, - "importFormatError": { - "message": "Data is not formatted correctly. Please check your import file and try again." - }, - "importNothingError": { - "message": "Nothing was imported." - }, - "selectFormat": { - "message": "Select the format of the import file" - }, - "selectImportFile": { - "message": "Select the import file" - }, - "orCopyPasteFileContents": { - "message": "or copy/paste the import file contents" - }, - "instructionsFor": { - "message": "$NAME$ Instructions", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "ഓപ്ഷനുകൾ" - }, - "optionsDesc": { - "message": "Customize your web vault experience." - }, - "optionsUpdated": { - "message": "Options updated" - }, - "language": { - "message": "ഭാഷ" - }, - "languageDesc": { - "message": "അപ്ലിക്കേഷൻ ഉപയോഗിക്കുന്ന ഭാഷ മാറ്റുക. പുനരാരംഭിക്കൽ ആവശ്യമാണ്." - }, - "disableIcons": { - "message": "Disable Website Icons" - }, - "disableIconsDesc": { - "message": "Website Icons provide a recognizable image next to each login item in your vault." - }, - "enableGravatars": { - "message": "Enable Gravatars", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Use avatar images loaded from gravatar.com." - }, - "enableFullWidth": { - "message": "Enable Full Width Layout", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Allow the web vault to expand the full width of the browser window." - }, - "default": { - "message": "സാധാരണ പോലെ" - }, - "domainRules": { - "message": "ഡൊമെയ്ൻ നിയമങ്ങൾ" - }, - "domainRulesDesc": { - "message": "If you have the same login across multiple different website domains, you can mark the website as \"equivalent\". \"Global\" domains are ones already created for you by Bitwarden." - }, - "globalEqDomains": { - "message": "Global Equivalent Domains" - }, - "customEqDomains": { - "message": "Custom Equivalent Domains" - }, - "exclude": { - "message": "ഒഴിവാക്കുക" - }, - "include": { - "message": "ഉൾപെടുത്തുക " - }, - "customize": { - "message": "Customize" - }, - "newCustomDomain": { - "message": "New Custom Domain" - }, - "newCustomDomainDesc": { - "message": "Enter a list of domains separated by commas. Only \"base\" domains are allowed. Do not enter subdomains. For example, enter \"google.com\" instead of \"www.google.com\". You can also enter \"androidapp://package.name\" to associate an android app with other website domains." - }, - "customDomainX": { - "message": "Custom Domain $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "ഡൊമെയ്‌നുകൾ അപ്‌ഡേറ്റുചെയ്‌തു" - }, - "twoStepLogin": { - "message": "രണ്ട്-ഘട്ട പ്രവേശനം" - }, - "twoStepLoginDesc": { - "message": "Secure your account by requiring an additional step when logging in." - }, - "twoStepLoginOrganizationDesc": { - "message": "Require two-step login for your organization's users by configuring providers at the organization level." - }, - "twoStepLoginRecoveryWarning": { - "message": "Enabling two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (ex. you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." - }, - "viewRecoveryCode": { - "message": "View Recovery Code" - }, - "providers": { - "message": "ദാതാക്കൾ", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Enable" - }, - "enabled": { - "message": "പ്രവർത്തനക്ഷമമാക്കി" - }, - "premium": { - "message": "പ്രീമിയം", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "പ്രീമിയം അംഗത്വം" - }, - "premiumRequired": { - "message": "പ്രീമിയം അംഗത്വം ആവശ്യമാണ്" - }, - "premiumRequiredDesc": { - "message": "ഈ സവിശേഷത ഉപയോഗിക്കുന്നതിന് പ്രീമിയം അംഗത്വം ആവശ്യമാണ്." - }, - "youHavePremiumAccess": { - "message": "You have premium access" - }, - "alreadyPremiumFromOrg": { - "message": "You already have access to premium features because of an organization you are a member of." - }, - "manage": { - "message": "നിയന്ത്രിക്കുക" - }, - "disable": { - "message": "പ്രവര്‍ത്തന രഹിതമാക്കുക" - }, - "twoStepLoginProviderEnabled": { - "message": "This two-step login provider is enabled on your account." - }, - "twoStepLoginAuthDesc": { - "message": "Enter your master password to modify two-step login settings." - }, - "twoStepAuthenticatorDesc": { - "message": "Follow these steps to set up two-step login with an authenticator app:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "രണ്ട്-ഘട്ട ഓതന്റിക്കേറ്റർ അപ്ലിക്കേഷൻ ഡൗൺലോഡുചെയ്യുക" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Need a two-step authenticator app? Download one of the following" - }, - "iosDevices": { - "message": "iOS ഉപകരണങ്ങൾ" - }, - "androidDevices": { - "message": "Android ഉപകരണങ്ങൾ" - }, - "windowsDevices": { - "message": "Windows ഉപകരണങ്ങൾ" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "These apps are recommended, however, other authenticator apps will also work." - }, - "twoStepAuthenticatorScanCode": { - "message": "Scan this QR code with your authenticator app" - }, - "key": { - "message": "Key" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Enter the resulting 6 digit verification code from the app" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "In case you need to add it to another device, below is the QR code (or key) required by your authenticator app." - }, - "twoStepDisableDesc": { - "message": "Are you sure you want to disable this two-step login provider?" - }, - "twoStepDisabled": { - "message": "Two-step login provider disabled." - }, - "twoFactorYubikeyAdd": { - "message": "Add a new YubiKey to your account" - }, - "twoFactorYubikeyPlugIn": { - "message": "Plug the YubiKey into your computer's USB port." - }, - "twoFactorYubikeySelectKey": { - "message": "Select the first empty YubiKey input field below." - }, - "twoFactorYubikeyTouchButton": { - "message": "Touch the YubiKey's button." - }, - "twoFactorYubikeySaveForm": { - "message": "Save the form." - }, - "twoFactorYubikeyWarning": { - "message": "Due to platform limitations, YubiKeys cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when YubiKeys cannot be used. Supported platforms:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Web vault, desktop application, CLI, and all browser extensions on a device with a USB port that can accept your YubiKey." - }, - "twoFactorYubikeySupportMobile": { - "message": "Mobile apps on a device with NFC capabilities or a data port that can accept your YubiKey." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "U2F Key $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "NFC Support" - }, - "twoFactorYubikeySupportsNfc": { - "message": "One of my keys supports NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "If one of your YubiKeys supports NFC (such as a YubiKey NEO), you will be prompted on mobile devices whenever NFC availability is detected." - }, - "yubikeysUpdated": { - "message": "YubiKeys updated" - }, - "disableAllKeys": { - "message": "Disable All Keys" - }, - "twoFactorDuoDesc": { - "message": "Enter the Bitwarden application information from your Duo Admin panel." - }, - "twoFactorDuoIntegrationKey": { - "message": "Integration Key" - }, - "twoFactorDuoSecretKey": { - "message": "Secret Key" - }, - "twoFactorDuoApiHostname": { - "message": "API Hostname" - }, - "twoFactorEmailDesc": { - "message": "Follow these steps to set up two-step login with email:" - }, - "twoFactorEmailEnterEmail": { - "message": "Enter the email that you wish to receive verification codes" - }, - "twoFactorEmailEnterCode": { - "message": "Enter the resulting 6 digit verification code from the email" - }, - "sendEmail": { - "message": "ഇമെയിൽ അയയ്ക്കുക" - }, - "twoFactorU2fAdd": { - "message": "Add a FIDO U2F security key to your account" - }, - "removeU2fConfirmation": { - "message": "Are you sure you want to remove this security key?" - }, - "readKey": { - "message": "Read Key" - }, - "keyCompromised": { - "message": "Key is compromised." - }, - "twoFactorU2fGiveName": { - "message": "Give the security key a friendly name to identify it." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Plug the security key into your computer's USB port and click the \"Read Key\" button." - }, - "twoFactorU2fTouchButton": { - "message": "If the security key has a button, touch it." - }, - "twoFactorU2fSaveForm": { - "message": "Save the form." - }, - "twoFactorU2fWarning": { - "message": "Due to platform limitations, FIDO U2F cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when FIDO U2F cannot be used. Supported platforms:" - }, - "twoFactorU2fSupportWeb": { - "message": "Web vault and browser extensions on a desktop/laptop with a U2F enabled browser (Chrome, Opera, Vivaldi, or Firefox with FIDO U2F enabled)." - }, - "twoFactorU2fWaiting": { - "message": "Waiting for you to touch the button on your security key" - }, - "twoFactorU2fClickSave": { - "message": "Click the \"Save\" button below to enable this security key for two-step login." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "There was a problem reading the security key. Try again." - }, - "twoFactorRecoveryYourCode": { - "message": "Your Bitwarden two-step login recovery code" - }, - "twoFactorRecoveryNoCode": { - "message": "You have not enabled any two-step login providers yet. After you have enabled a two-step login provider you can check back here for your recovery code." - }, - "printCode": { - "message": "Print Code", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "റിപ്പോർട്ടുകൾ" - }, - "unsecuredWebsitesReport": { - "message": "Unsecured Websites Report" - }, - "unsecuredWebsitesReportDesc": { - "message": "Using unsecured websites with the http:// scheme can be dangerous. If the website allows, you should always access it using the https:// scheme so that your connection is encrypted." - }, - "unsecuredWebsitesFound": { - "message": "Unsecured Websites Found" - }, - "unsecuredWebsitesFoundDesc": { - "message": "We found $COUNT$ items in your vault with unsecured URIs. You should change their URI scheme to https:// if the website allows it.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "No items in your vault have unsecured URIs." - }, - "inactive2faReport": { - "message": "Inactive 2FA Report" - }, - "inactive2faReportDesc": { - "message": "Two-factor authentication (2FA) is an important security setting that helps secure your accounts. If the website offers it, you should always enable two-factor authentication." - }, - "inactive2faFound": { - "message": "Logins Without 2FA Found" - }, - "inactive2faFoundDesc": { - "message": "We found $COUNT$ website(s) in your vault that may not be configured with two-factor authentication (according to 2fa.directory). To further protect these accounts, you should enable two-factor authentication.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "No websites were found in your vault with a missing two-factor authentication configuration." - }, - "instructions": { - "message": "Instructions" - }, - "exposedPasswordsReport": { - "message": "Exposed Passwords Report" - }, - "exposedPasswordsReportDesc": { - "message": "Exposed passwords are passwords that have been uncovered in known data breaches that were released publicly or sold on the dark web by hackers." - }, - "exposedPasswordsFound": { - "message": "Exposed Passwords Found" - }, - "exposedPasswordsFoundDesc": { - "message": "We found $COUNT$ items in your vault that have passwords that were exposed in known data breaches. You should change them to use a new password.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "No items in your vault have passwords that have been exposed in known data breaches." - }, - "checkExposedPasswords": { - "message": "Check Exposed Passwords" - }, - "exposedXTimes": { - "message": "Exposed $COUNT$ time(s)", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Weak Passwords Report" - }, - "weakPasswordsReportDesc": { - "message": "Weak passwords can easily be guessed by hackers and automated tools that are used to crack passwords. The Bitwarden password generator can help you create strong passwords." - }, - "weakPasswordsFound": { - "message": "ദുർബലമായ പാസ്‌വേഡുകൾ കണ്ടെത്തി" - }, - "weakPasswordsFoundDesc": { - "message": "We found $COUNT$ items in your vault with passwords that are not strong. You should update them to use stronger passwords.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "നിങ്ങളുടെ വാൾട്ടിലെ ഒരു ഇനത്തിനും ദുർബലമായ പാസ്‌വേഡുകൾ ഇല്ല." - }, - "reusedPasswordsReport": { - "message": "Reused Passwords Report" - }, - "reusedPasswordsReportDesc": { - "message": "If a service that you use is compromised, reusing the same password elsewhere can allow hackers to easily gain access to more of your online accounts. You should use a unique password for every account or service." - }, - "reusedPasswordsFound": { - "message": "Reused Passwords Found" - }, - "reusedPasswordsFoundDesc": { - "message": "We found $COUNT$ passwords that are being reused in your vault. You should change them to a unique value.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "No logins in your vault have passwords that are being reused." - }, - "reusedXTimes": { - "message": "Reused $COUNT$ times", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Data Breach Report" - }, - "breachDesc": { - "message": "A \"breach\" is an incident where a site's data has been illegally accessed by hackers and then released publicly. Review the types of data that were compromised (email addresses, passwords, credit cards etc.) and take appropriate action, such as changing passwords." - }, - "breachCheckUsernameEmail": { - "message": "Check any usernames or email addresses that you use." - }, - "checkBreaches": { - "message": "Check Breaches" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ was not found in any known data breaches.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "നല്ല വാർത്ത", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ was found in $COUNT$ different data breaches online.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Breached Accounts Found" - }, - "compromisedData": { - "message": "Compromised data" - }, - "website": { - "message": "വെബ്സൈറ്റ്" - }, - "affectedUsers": { - "message": "ബാധിത ഉപയോക്താക്കൾ" - }, - "breachOccurred": { - "message": "ലംഘനം സംഭവിച്ചു" - }, - "breachReported": { - "message": "ലംഘനം റിപ്പോർട്ടുചെയ്‌തു" - }, - "reportError": { - "message": "റിപ്പോർട്ട് ലഭ്യമാക്കുന്നതിൽ ഒരു പിശക് സംഭവിച്ചു. വീണ്ടും ശ്രമിക്ക്." - }, - "billing": { - "message": "ബില്ലിംഗ്" - }, - "accountCredit": { - "message": "Account Credit", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "അക്കൗണ്ട് ബാലൻസ്", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "ക്രെഡിറ്റ് ചേർക്കുക", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "തുക", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Added credit will appear on your account after the payment has been fully processed. Some payment methods are delayed and can take longer to process than others." - }, - "makeSureEnoughCredit": { - "message": "Please make sure that your account has enough credit available for this purchase. If your account does not have enough credit available, your default payment method on file will be used for the difference. You can add credit to your account from the Billing page." - }, - "creditAppliedDesc": { - "message": "Your account's credit can be used to make purchases. Any available credit will be automatically applied towards invoices generated for this account." - }, - "goPremium": { - "message": "പ്രീമിയത്തിലേക്ക് പോകുക", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "നിങ്ങൾ പ്രീമിയത്തിലേക്ക് അപ്‌ഗ്രേഡുചെയ്‌തു." - }, - "premiumUpgradeUnlockFeatures": { - "message": "മികച്ച സവിശേഷതകൾ അൺലോക്ക് ചെയ്യാൻ നിങ്ങളുടെ അക്കൗണ്ട് പ്രീമിയംത്തിലേക്കു അപ്ഗ്രേഡ് ചെയ്യുക." - }, - "premiumSignUpStorage": { - "message": "ഫയൽ അറ്റാച്ചുമെന്റുകൾക്കായി 1 GB എൻക്രിപ്റ്റുചെയ്‌ത സ്റ്റോറേജ്." - }, - "premiumSignUpTwoStep": { - "message": "രണ്ട്-ഘട്ട പ്രവേശന ഓപ്ഷനുകളായ Yubikey, FIDO U2F, Duo." - }, - "premiumSignUpReports": { - "message": "നിങ്ങളുടെ വാൾട് സൂക്ഷിക്കുന്നതിന്. പാസ്‌വേഡ് ശുചിത്വം, അക്കൗണ്ട് ആരോഗ്യം, ഡാറ്റ ലംഘന റിപ്പോർട്ടുകൾ." - }, - "premiumSignUpTotp": { - "message": "നിങ്ങളുടെ വാൾട്ടിലെ പ്രവേശനങ്ങൾക്കായി TOTP പരിശോധന കോഡ് (2FA) സൃഷ്ടാവ്." - }, - "premiumSignUpSupport": { - "message": "മുൻ‌ഗണന ഉപഭോക്തൃ പിന്തുണ." - }, - "premiumSignUpFuture": { - "message": "ഭാവിയിലെ എല്ലാ പ്രീമിയം സവിശേഷതകളും. കൂടുതൽ ഉടനെ വരുന്നു !" - }, - "premiumPrice": { - "message": "എല്ലാം വെറും $PRICE$/ വർഷത്തേക്ക്!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Addons" - }, - "premiumAccess": { - "message": "പ്രീമിയം ആക്സസ്" - }, - "premiumAccessDesc": { - "message": "You can add premium access to all members of your organization for $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Additional Storage (GB)" - }, - "additionalStorageGbDesc": { - "message": "# of additional GB" - }, - "additionalStorageIntervalDesc": { - "message": "Your plan comes with $SIZE$ of encrypted file storage. You can add additional storage for $PRICE$ per GB /$INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Summary" - }, - "total": { - "message": "ആകെ" - }, - "year": { - "message": "വർഷം" - }, - "month": { - "message": "മാസം" - }, - "monthAbbr": { - "message": "mo.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Your payment method will be charged immediately and then on a recurring basis each year. You may cancel at any time." - }, - "paymentCharged": { - "message": "Your payment method will be charged immediately and then on a recurring basis each $INTERVAL$. You may cancel at any time.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Your plan comes with a free 7 day trial. Your payment method will not be charged until the trial has ended. Billing will occur on a recurring basis each $INTERVAL$. You may cancel at any time.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "പേയ്‌മെന്റ് വിവരങ്ങൾ" - }, - "billingInformation": { - "message": "Billing Information" - }, - "creditCard": { - "message": "ക്രെഡിറ്റ് കാർഡ്" - }, - "paypalClickSubmit": { - "message": "Click the PayPal button to log into your PayPal account, then click the Submit button below to continue." - }, - "cancelSubscription": { - "message": "സബ്‌സ്‌ക്രിപ്‌ഷൻ റദ്ദാക്കുക" - }, - "subscriptionCanceled": { - "message": "The subscription has been canceled." - }, - "pendingCancellation": { - "message": "Pending Cancellation" - }, - "subscriptionPendingCanceled": { - "message": "The subscription has been marked for cancellation at the end of the current billing period." - }, - "reinstateSubscription": { - "message": "Reinstate Subscription" - }, - "reinstateConfirmation": { - "message": "Are you sure you want to remove the pending cancellation request and reinstate your subscription?" - }, - "reinstated": { - "message": "The subscription has been reinstated." - }, - "cancelConfirmation": { - "message": "Are you sure you want to cancel? You will lose access to all of this subscription's features at the end of this billing cycle." - }, - "canceledSubscription": { - "message": "The subscription has been canceled." - }, - "neverExpires": { - "message": "Never Expires" - }, - "status": { - "message": "Status" - }, - "nextCharge": { - "message": "Next Charge" - }, - "details": { - "message": "Details" - }, - "downloadLicense": { - "message": "ലൈസൻസ് ഡൌൺലോഡ് ചെയ്യുക" - }, - "updateLicense": { - "message": "ലൈസൻസ് അപ്ഡേറ്റ് ചെയ്യുക" - }, - "updatedLicense": { - "message": "ലൈസൻസ് അപ്ഡേറ്റ് ചെയ്തു" - }, - "manageSubscription": { - "message": "സബ്സ്‌ക്രിപ്ഷനുകൾ മാനേജുചെയ്യുക" - }, - "storage": { - "message": "സ്റ്റോറേജ്" - }, - "addStorage": { - "message": "സ്റ്റോറേജ് ചേർക്കുക" - }, - "removeStorage": { - "message": "സ്റ്റോറേജ് നീക്കംചെയ്യുക" - }, - "subscriptionStorage": { - "message": "നിങ്ങളുടെ സബ്‌സ്‌ക്രിപ്‌ഷനിൽ മൊത്തം $MAX_STORAGE$ GB എൻ‌ക്രിപ്റ്റ് ചെയ്ത ഫയൽ സംഭരണമുണ്ട്. നിങ്ങൾ നിലവിൽ $USED_STORAGE$ ഉപയോഗിക്കുന്നു.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "പണംകൊടുക്കൽ രീതി" - }, - "noPaymentMethod": { - "message": "ഫയലിൽ പേയ്‌മെന്റ് രീതികളൊന്നുമില്ല." - }, - "addPaymentMethod": { - "message": "പണംകൊടുക്കൽ രീതി ചേർക്കുക" - }, - "changePaymentMethod": { - "message": "പണംകൊടുക്കൽരീതി മാറ്റുക" - }, - "invoices": { - "message": "ഇൻവോയ്സുകൾ" - }, - "noInvoices": { - "message": "ഇൻവോയ്സുകൾ ഇല്ല." - }, - "paid": { - "message": "പണമടച്ചു", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "പണമടച്ചില്ല", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "ഇടപാടുകൾ", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "ഇടപാടുകളൊന്നുമില്ല." - }, - "chargeNoun": { - "message": "ചാർജ്ജ്", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "റീഫണ്ട്", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "ചാർജുകൾ നിങ്ങളുടെ പ്രസ്താവനയിൽ $STATEMENT_NAME$ ആയി ദൃശ്യമാകും.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "ചേർക്കുന്നതിനുള്ള സംഭരണത്തിന്റെ ജിബി" - }, - "gbStorageRemove": { - "message": "നീക്കംചെയ്യുന്നതിന് സംഭരണത്തിന്റെ ജിബി" - }, - "storageAddNote": { - "message": "സംഭരണം ചേർക്കുന്നത് നിങ്ങളുടെ ബില്ലിംഗ് ആകെത്തുകകളിലേക്ക് ക്രമീകരിക്കുകയും ഫയലിൽ നിങ്ങളുടെ പേയ്‌മെന്റ് രീതി ഉടൻ ചാർജ് ചെയ്യുകയും ചെയ്യും. നിലവിലെ ബില്ലിംഗ് സൈക്കിളിന്റെ ബാക്കി ഭാഗത്തിനായി ആദ്യ ചാർജ് പ്രോറേറ്റ് ചെയ്യും." - }, - "storageRemoveNote": { - "message": "സംഭരണം നീക്കംചെയ്യുന്നത് നിങ്ങളുടെ ബില്ലിംഗ് ടോട്ടലുകളിലേക്കുള്ള ക്രമീകരണങ്ങളിൽ കലാശിക്കും, അത് നിങ്ങളുടെ അടുത്ത ബില്ലിംഗ് ചാർജിലേക്കുള്ള ക്രെഡിറ്റായി കണക്കാക്കപ്പെടും." - }, - "adjustedStorage": { - "message": "$AMOUNT$ GB സംഭരണം ക്രമീകരിച്ചു.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "ഉപഭോക്തൃ പിന്തുണയുമായി ബന്ധപ്പെടുക" - }, - "updatedPaymentMethod": { - "message": "പേയ്‌മെന്റ് രീതി പുതുക്കുക. " - }, - "purchasePremium": { - "message": "പ്രീമിയം വാങ്ങുക" - }, - "licenseFile": { - "message": "ലൈസൻസ് ഫയൽ" - }, - "licenseFileDesc": { - "message": "നിങ്ങളുടെ ലൈസൻസ് ഫയലിന് $FILE_NAME$ എന്ന് പേരുനൽകും", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "നിങ്ങളുടെ അക്കൗണ്ട് പ്രീമിയം അംഗത്വത്തിലേക്ക് അപ്ഗ്രേഡ് ചെയ്യുന്നതിന്, നിങ്ങൾ ശെരിയായ ഒരു ലൈസൻസ് ഫയൽ അപ്‌ലോഡ് ചെയ്യണം." - }, - "uploadLicenseFileOrg": { - "message": "ഒരു പരിസരത്ത് ഹോസ്റ്റുചെയ്ത ഓർഗനൈസേഷൻ സൃഷ്ടിക്കുന്നതിന് നിങ്ങൾ സാധുവായ ഒരു ലൈസൻസ് ഫയൽ അപ്‌ലോഡ് ചെയ്യേണ്ടതുണ്ട്." - }, - "accountEmailMustBeVerified": { - "message": "നിങ്ങളുടെ അക്കൗണ്ടിന്റെ ഇമെയിൽ വിലാസം സ്ഥിരീകരിക്കേണ്ടതാണ്." - }, - "newOrganizationDesc": { - "message": "നിങ്ങളുടെ നിലവറയുടെ ഭാഗങ്ങൾ മറ്റുള്ളവരുമായി പങ്കിടാനും ഒരു കുടുംബം, ചെറിയ ടീം അല്ലെങ്കിൽ വലിയ കമ്പനി പോലുള്ള ഒരു നിർദ്ദിഷ്ട എന്റിറ്റിക്കായി ബന്ധപ്പെട്ട ഉപയോക്താക്കളെ മാനേജുചെയ്യാനും ഓർഗനൈസേഷനുകൾ നിങ്ങളെ അനുവദിക്കുന്നു." - }, - "generalInformation": { - "message": "പൊതുവിവരം" - }, - "organizationName": { - "message": "സംഘടനയുടെ പേര്" - }, - "accountOwnedBusiness": { - "message": "ഈ അക്കൗണ്ട് ഒരു ബിസിനസ്സിന്റെ ഉടമസ്ഥതയിലാണ്." - }, - "billingEmail": { - "message": "ബില്ലിംഗ് ഇമെയിൽ" - }, - "businessName": { - "message": "ബിസിനസ്സ് പേര്" - }, - "chooseYourPlan": { - "message": "നിങ്ങളുടെ പ്ലാൻ തിരഞ്ഞെടുക്കുക" - }, - "users": { - "message": "ഉപയോക്താക്കൾ" - }, - "userSeats": { - "message": "ഉപയോക്തൃ സീറ്റുകൾ" - }, - "additionalUserSeats": { - "message": "അധിക ഉപയോക്തൃ സീറ്റുകൾ" - }, - "userSeatsDesc": { - "message": "# ഉപയോക്തൃ സീറ്റുകൾ" - }, - "userSeatsAdditionalDesc": { - "message": "Your plan comes with $BASE_SEATS$ user seats. You can add additional users for $SEAT_PRICE$ per user /month.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "How many user seats do you need? You can also add additional seats later if needed." - }, - "planNameFree": { - "message": "സൗജന്യം", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "For testing or personal users to share with $COUNT$ other user.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "കുടുംബങ്ങൾ" - }, - "planDescFamilies": { - "message": "വ്യക്തിഗത ഉപയോഗത്തിനായി, കുടുംബവുമായും സുഹൃത്തുക്കളുമായും പങ്കിടാൻ." - }, - "planNameTeams": { - "message": "ടീമുകൾ" - }, - "planDescTeams": { - "message": "ബിസിനസുകൾക്കും മറ്റ് ടീം ഓർഗനൈസേഷനുകൾക്കുമായി." - }, - "planNameEnterprise": { - "message": "എന്റർപ്രൈസ്" - }, - "planDescEnterprise": { - "message": "ബിസിനസുകൾക്കും മറ്റ് വലിയ ഓർഗനൈസേഷനുകൾക്കുമായി." - }, - "freeForever": { - "message": "എന്നേക്കും സൗജന്യം" - }, - "includesXUsers": { - "message": "includes $COUNT$ users", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Additional Users" - }, - "costPerUser": { - "message": "$COST$ per user", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Limited to $COUNT$ users (including you)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Limited to $COUNT$ collections", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Add and share with up to $COUNT$ users", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Add and share with unlimited users" - }, - "createUnlimitedCollections": { - "message": "Create unlimited Collections" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ encrypted file storage", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "On-premise hosting (optional)" - }, - "usersGetPremium": { - "message": "Users get access to Premium Features" - }, - "controlAccessWithGroups": { - "message": "ഉപയോക്തൃ ആക്സസ് ഗ്രൂപ്പുകൾ ഉപയോഗിച്ച് നിയന്ത്രിക്കുക" - }, - "syncUsersFromDirectory": { - "message": "ഒരു ഡയറക്‌ടറിയിൽ‌ നിന്നും നിങ്ങളുടെ ഉപയോക്താക്കളെയും ഗ്രൂപ്പുകളെയും സമന്വയിപ്പിക്കുക" - }, - "trackAuditLogs": { - "message": "ഓഡിറ്റ് ലോഗുകൾ ഉപയോഗിച്ച് ഉപയോക്തൃ പ്രവർത്തനങ്ങൾ ട്രാക്കുചെയ്യുക" - }, - "enforce2faDuo": { - "message": "ഡ്യുവോ ഉപയോഗിച്ച് 2 എഫ്എ നടപ്പിലാക്കുക" - }, - "priorityCustomerSupport": { - "message": "Priority customer support" - }, - "xDayFreeTrial": { - "message": "$COUNT$ ദിവസത്തെ സ trial ജന്യ ട്രയൽ, എപ്പോൾ വേണമെങ്കിലും റദ്ദാക്കുക", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "പ്രതിമാസം" - }, - "annually": { - "message": "വർഷം തോറും" - }, - "basePrice": { - "message": "അടിസ്ഥാന വില" - }, - "organizationCreated": { - "message": "സംഘടനാ സൃഷ്ടിച്ചു" - }, - "organizationReadyToGo": { - "message": "Your new organization is ready to go!" - }, - "organizationUpgraded": { - "message": "Your organization has been upgraded." - }, - "leave": { - "message": "Leave" - }, - "leaveOrganizationConfirmation": { - "message": "Are you sure you want to leave this organization?" - }, - "leftOrganization": { - "message": "You have left the organization." - }, - "defaultCollection": { - "message": "Default Collection" - }, - "getHelp": { - "message": "Get Help" - }, - "getApps": { - "message": "Get the Apps" - }, - "loggedInAs": { - "message": "Logged in as" - }, - "eventLogs": { - "message": "Event Logs" - }, - "people": { - "message": "People" - }, - "policies": { - "message": "നയങ്ങൾ" - }, - "editPolicy": { - "message": "നയം എഡിറ്റുചെയ്യുക" - }, - "groups": { - "message": "ഗ്രൂപ്പുകൾ" - }, - "newGroup": { - "message": "പുതിയ ഗ്രൂപ്പ്" - }, - "addGroup": { - "message": "ഗ്രൂപ്പ് ചേർക്കുക" - }, - "editGroup": { - "message": "ഗ്രൂപ്പ് തിരുത്തുക" - }, - "deleteGroupConfirmation": { - "message": "ഈ ഗ്രൂപ്പ് ഇല്ലാതാക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുണ്ടോ?" - }, - "removeUserConfirmation": { - "message": "ഈ ഉപയോക്താവിനെ നീക്കംചെയ്യണമെന്ന് നിങ്ങൾക്ക് ഉറപ്പാണോ?" - }, - "externalId": { - "message": "ബാഹ്യ Id" - }, - "externalIdDesc": { - "message": "ബാഹ്യ ഐഡി ഒരു റഫറൻസായി ഉപയോഗിക്കാം അല്ലെങ്കിൽ ഈ ഉറവിടം ഒരു ഉപയോക്തൃ ഡയറക്ടറി പോലുള്ള ഒരു ബാഹ്യ സിസ്റ്റത്തിലേക്ക് ലിങ്കുചെയ്യാൻ കഴിയും." - }, - "accessControl": { - "message": "പ്രവേശന നിയന്ത്രണം" - }, - "groupAccessAllItems": { - "message": "ഈ ഗ്രൂപ്പിന്എല്ലാ ഇനങ്ങളും ആക്‌സസ് ചെയ്യാനും പരിഷ്‌ക്കരിക്കാനും കഴിയും." - }, - "groupAccessSelectedCollections": { - "message": "തിരഞ്ഞെടുത്ത കളക്ഷനുകൾ മാത്രമേ ഈ ഗ്രൂപ്പിന് ആക്‌സസ് ചെയ്യാൻ കഴിയൂ." - }, - "readOnly": { - "message": "വായിക്കാൻ മാത്രം" - }, - "newCollection": { - "message": "പുതിയ കളക്ഷൻ" - }, - "addCollection": { - "message": "കളക്ഷൻ ചേർക്കുക " - }, - "editCollection": { - "message": "കളക്ഷൻ എഡിറ്റുചെയ്യുക" - }, - "deleteCollectionConfirmation": { - "message": "ഈ കളക്ഷൻ ഇല്ലാതാക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുണ്ടോ?" - }, - "editUser": { - "message": "ഉപയോക്താവിനെ എഡിറ്റുചെയ്യുക" - }, - "inviteUser": { - "message": "ഉപയോക്താവിനെ ക്ഷണിക്കുക" - }, - "inviteUserDesc": { - "message": "നിങ്ങളുടെ ഓർ‌ഗനൈസേഷനിലേക്ക് ഒരു പുതിയ ഉപയോക്താവിനെ അവരുടെ ബിറ്റ്‌വർ‌ഡൻ‌ അക്ക email ണ്ട് ഇമെയിൽ‌ വിലാസം നൽ‌കിക്കൊണ്ട് ക്ഷണിക്കുക. അവർക്ക് ഇതിനകം ഒരു ബിറ്റ്വാർഡൻ അക്ക have ണ്ട് ഇല്ലെങ്കിൽ, ഒരു പുതിയ അക്ക create ണ്ട് സൃഷ്ടിക്കാൻ അവരോട് ആവശ്യപ്പെടും." - }, - "inviteMultipleEmailDesc": { - "message": "ഇമെയിൽ വിലാസങ്ങളുടെ ഒരു ലിസ്റ്റ് കോമയാൽ വേർതിരിക്കുന്നതിലൂടെ നിങ്ങൾക്ക് ഒരു സമയം $COUNT$ വരെ ഉപയോക്താക്കളെ ക്ഷണിക്കാൻ കഴിയും.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "ഈ ഉപയോക്താവ് അവരുടെ അക്കൗണ്ട് രണ്ട്-പ്രവേശനം ഉപയോഗിച്ച് സുരക്ഷിതമാക്കിയിരിക്കുന്നു." - }, - "userAccessAllItems": { - "message": "ഈ ഉപയോക്താവിന് എല്ലാ ഇനങ്ങളും ആക്‌സസ് ചെയ്യാനും പരിഷ്‌ക്കരിക്കാനും കഴിയും." - }, - "userAccessSelectedCollections": { - "message": "This user can access only the selected collections." - }, - "search": { - "message": "തിരയുക" - }, - "invited": { - "message": "ക്ഷണിച്ചു" - }, - "accepted": { - "message": "അംഗീകരിച്ചു" - }, - "confirmed": { - "message": "സ്ഥിരീകരിച്ചു" - }, - "owner": { - "message": "ഉടമ" - }, - "ownerDesc": { - "message": "നിങ്ങളുടെ ഓർഗനൈസേഷന്റെ എല്ലാ വശങ്ങളും നിയന്ത്രിക്കാൻ കഴിയുന്ന ഏറ്റവും ഉയർന്ന ആക്‌സസ്സുള്ള ഉപയോക്താവ്." - }, - "admin": { - "message": "അഡ്മിൻ" - }, - "adminDesc": { - "message": "നിങ്ങളുടെ ഓർ‌ഗനൈസേഷനിലെ എല്ലാ ഇനങ്ങൾ‌, ശേഖരണങ്ങൾ‌, ഉപയോക്താക്കൾ‌ എന്നിവയിലേക്ക് അഡ്മിൻ‌മാർ‌ക്ക് പ്രവേശിക്കാനും മാനേജുചെയ്യാനും കഴിയും." - }, - "user": { - "message": "ഉപയോക്താവ്" - }, - "userDesc": { - "message": "നിങ്ങളുടെ ഓർഗനൈസേഷനിൽ നിയുക്ത ശേഖരങ്ങളിലേക്ക് ആക്‌സസ് ഉള്ള ഒരു സാധാരണ ഉപയോക്താവ്." - }, - "manager": { - "message": "മാനേജർ" - }, - "managerDesc": { - "message": "മാനേജർമാർക്ക് നിങ്ങളുടെ ഓർഗനൈസേഷനിൽ നിയുക്ത ശേഖരങ്ങൾ ആക്‌സസ് ചെയ്യാനും നിയന്ത്രിക്കാനും കഴിയും." - }, - "all": { - "message": "എല്ലാം" - }, - "refresh": { - "message": "റിഫ്രഷ് ചെയ്യുക" - }, - "timestamp": { - "message": "ടൈംസ്റ്റാമ്പ്" - }, - "event": { - "message": "ഇവന്റ്" - }, - "unknown": { - "message": "അറിയപ്പെടാത്ത" - }, - "loadMore": { - "message": "കൂടുതൽ ലഭ്യമാക്കുക" - }, - "mobile": { - "message": "മൊബൈൽ", - "description": "Mobile app" - }, - "extension": { - "message": "എക്സ്റ്റൻഷൻ", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "ഡെസ്‌ക്ടോപ്പ്", - "description": "Desktop app" - }, - "webVault": { - "message": "Web Vault" - }, - "loggedIn": { - "message": "പ്രവേശിച്ചിരിക്കുന്നു." - }, - "changedPassword": { - "message": "അക്കൗണ്ടിന്റെ പാസ്സ്‌വേർഡ് മാറ്റി." - }, - "enabledUpdated2fa": { - "message": "രണ്ട്-ഘട്ട ലോഗിൻ പ്രവർത്തനക്ഷമമാക്കി / അപ്‌ഡേറ്റുചെയ്‌തു." - }, - "disabled2fa": { - "message": "രണ്ട് ഘട്ട പ്രവേശനം അപ്രാപ്‌തമാക്കുക." - }, - "recovered2fa": { - "message": "രണ്ട്-ഘട്ട ലോഗിനിൽ നിന്ന് അക്കൗണ്ട് വീണ്ടെടുത്തു." - }, - "failedLogin": { - "message": "തെറ്റായ പാസ്‌വേഡ് ഉപയോഗിച്ച് ലോഗിൻ ശ്രമം പരാജയപ്പെട്ടു." - }, - "failedLogin2fa": { - "message": "തെറ്റായ രണ്ട്-ഘട്ട ലോഗിൻ ഉപയോഗിച്ച് ലോഗിൻ ശ്രമം പരാജയപ്പെട്ടു." - }, - "exportedVault": { - "message": "Exported vault." - }, - "exportedOrganizationVault": { - "message": "Exported organization vault." - }, - "editedOrgSettings": { - "message": "Edited organization settings." - }, - "createdItemId": { - "message": "Created item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Edited item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Sent item $ID$ to trash.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Shared item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Viewed item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Viewed password for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Viewed hidden field for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Viewed security code for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Copied password for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Copied hidden field for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Copied security code for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Auto-filled item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Created collection $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Edited collection $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Deleted collection $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Edited policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Created group $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Edited group $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Deleted group $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Removed user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Created attachment for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Deleted attachment for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Edited collections for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Invited user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Confirmed user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Edited user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Edited groups for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "ഉപകരണം" - }, - "view": { - "message": "പ്രദർശനം" - }, - "invalidDateRange": { - "message": "Invalid date range." - }, - "errorOccurred": { - "message": "ഒരു പിഴവ് സംഭവിച്ചിരിക്കുന്നു." - }, - "userAccess": { - "message": "User Access" - }, - "userType": { - "message": "User Type" - }, - "groupAccess": { - "message": "Group Access" - }, - "groupAccessUserDesc": { - "message": "Edit the groups that this user belongs to." - }, - "invitedUsers": { - "message": "Invited user(s)." - }, - "resendInvitation": { - "message": "ക്ഷണം വീണ്ടും അയയ്‌ക്കുക" - }, - "hasBeenReinvited": { - "message": "$USER$-നെ വീണ്ടും ക്ഷണിച്ചു.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "സ്ഥിരീകരിക്കുക" - }, - "confirmUser": { - "message": "ഉപയോക്താവിനെ സ്ഥിരീകരിക്കുക" - }, - "hasBeenConfirmed": { - "message": "$USER$-നെ സ്ഥിരീകരിച്ചു.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "ഉപയോക്താക്കളെ സ്ഥിരീകരിക്കുക" - }, - "usersNeedConfirmed": { - "message": "You have users that have accepted their invitation, but still need to be confirmed. Users will not have access to the organization until they are confirmed." - }, - "startDate": { - "message": "തുടങ്ങുന്ന ദിവസം" - }, - "endDate": { - "message": "അവസാന ദിവസം" - }, - "verifyEmail": { - "message": "ഇമെയില് ശരിയാണെന്ന് ഉറപ്പുവരുത്തക" - }, - "verifyEmailDesc": { - "message": "എല്ലാ സവിശേഷതകളിലേക്കും ആക്സസ് അൺലോക്കുചെയ്യുന്നതിന് നിങ്ങളുടെ അക്കൗണ്ടിന്റെ ഇമെയിൽ വിലാസം സ്ഥിരീകരിക്കുക." - }, - "verifyEmailFirst": { - "message": "നിങ്ങളുടെ അക്കൗണ്ടിന്റെ ഇമെയിൽ വിലാസം ആദ്യം സ്ഥിരീകരിക്കേണ്ടതാണ്. " - }, - "checkInboxForVerification": { - "message": "ഒരു സ്ഥിരീകരണ ലിങ്കിനായി നിങ്ങളുടെ ഇമെയിൽ ഇൻ‌ബോക്സ് പരിശോധിക്കുക." - }, - "emailVerified": { - "message": "നിങ്ങളുടെ ഇമെയിൽ സ്ഥിരീകരിച്ചു." - }, - "emailVerifiedFailed": { - "message": "നിങ്ങളുടെ ഇമെയിൽ പരിശോധിച്ചുറപ്പിക്കാനായില്ല. ഒരു പുതിയ സ്ഥിരീകരണ ഇമെയിൽ അയയ്‌ക്കാൻ ശ്രമിക്കുക." - }, - "updateBrowser": { - "message": "ബ്രൌസർ അപ്‌ഡേറ്റുചെയ്യുക" - }, - "updateBrowserDesc": { - "message": "You are using an unsupported web browser. The web vault may not function properly." - }, - "joinOrganization": { - "message": "ഓർഗനൈസേഷനിൽ ചേരുക" - }, - "joinOrganizationDesc": { - "message": "You've been invited to join the organization listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "inviteAccepted": { - "message": "ക്ഷണം സ്വീകരിച്ചു" - }, - "inviteAcceptedDesc": { - "message": "You can access this organization once an administrator confirms your membership. We'll send you an email when that happens." - }, - "inviteAcceptFailed": { - "message": "Unable to accept invitation. Ask an organization admin to send a new invitation." - }, - "inviteAcceptFailedShort": { - "message": "ക്ഷണം സ്വീകരിക്കാൻ കഴിയില്ല. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "ഇമെയിൽ ഓർക്കണം" - }, - "recoverAccountTwoStepDesc": { - "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to disable all two-step providers on your account." - }, - "recoverAccountTwoStep": { - "message": "അക്കൗണ്ടിന്റെ രണ്ട്-ഘട്ട പ്രവേശനം വീണ്ടെടുക്കുക" - }, - "twoStepRecoverDisabled": { - "message": "നിങ്ങളുടെ അക്കൗണ്ടിൽ രണ്ട്-ഘട്ട പ്രവേശനം പ്രവർത്തനരഹിതമാക്കി." - }, - "learnMore": { - "message": "കൂടുതൽ അറിയുക" - }, - "deleteRecoverDesc": { - "message": "നിങ്ങളുടെ അക്കൗണ്ട് വീണ്ടെടുക്കുന്നതിനും ഇല്ലാതാക്കുന്നതിനും ചുവടെ നിങ്ങളുടെ ഇമെയിൽ വിലാസം നൽകുക." - }, - "deleteRecoverEmailSent": { - "message": "നിങ്ങളുടെ അക്കൗണ്ട് നിലവിലുണ്ടെങ്കിൽ, കൂടുതൽ നിർദ്ദേശങ്ങളുള്ള ഒരു ഇമെയിൽ ഞങ്ങൾ നിങ്ങൾക്ക് അയച്ചു." - }, - "deleteRecoverConfirmDesc": { - "message": "നിങ്ങളുടെ Bitwarden അക്കൗണ്ട് ഇല്ലാതാക്കാൻ നിങ്ങൾ അഭ്യർത്ഥിച്ചു. സ്ഥിരീകരിക്കുന്നതിന് ചുവടെയുള്ള ബട്ടൺ ക്ലിക്കുചെയ്യുക." - }, - "myOrganization": { - "message": "എന്റെ സംഘടന" - }, - "deleteOrganization": { - "message": "സംഘടന ഇല്ലാതാക്കുക" - }, - "deleteOrganizationDesc": { - "message": "Proceed below to delete this organization and all associated data. Individual user accounts will remain, though they will not be associated to this organization anymore. " - }, - "deleteOrganizationWarning": { - "message": "Deleting the organization is permanent. It cannot be undone." - }, - "organizationDeleted": { - "message": "സംഘടന ഇല്ലാതാക്കി" - }, - "organizationDeletedDesc": { - "message": "സംഘടനയും ബന്ധപ്പെട്ട എല്ലാ ഡാറ്റയും ഇല്ലാതാക്കി." - }, - "organizationUpdated": { - "message": "സംഘടന അപ്‌ഡേറ്റുചെയ്‌തു" - }, - "taxInformation": { - "message": "നികുതി വിവരങ്ങൾ" - }, - "taxInformationDesc": { - "message": "യു‌എസിനുള്ളിലെ ഉപഭോക്താക്കൾ‌ക്കായി, വിൽ‌പന നികുതി ആവശ്യകതകൾ‌ നിറവേറ്റുന്നതിന് പിൻ‌ കോഡ് ആവശ്യമാണ്, മറ്റ് രാജ്യങ്ങൾ‌ക്കായി നിങ്ങളുടെ ഇൻ‌വോയിസുകളിൽ‌ പ്രത്യക്ഷപ്പെടുന്നതിന് ഒരു ടാക്സ് ഐഡൻറിഫിക്കേഷൻ നമ്പറും (വാറ്റ് / ജിഎസ്ടി) കൂടാതെ / അല്ലെങ്കിൽ വിലാസവും നൽകാം." - }, - "billingPlan": { - "message": "പ്ലാൻ", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "പ്ലാൻ മാറ്റുക", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "ചുവടെയുള്ള വിവരങ്ങൾ നൽകി നിങ്ങളുടെ പ്ലാൻ മറ്റൊരു പ്ലാനിലേക്ക് അപ്‌ഗ്രേഡുചെയ്യുക. നിങ്ങൾക്ക് അക്കൗണ്ടിലേക്ക് ഒരു സജീവ പേയ്‌മെന്റ് രീതി ചേർത്തിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "നിങ്ങളുടെ പ്ലാൻ‌ മാറ്റാൻ‌ താൽ‌പ്പര്യപ്പെടുന്നെങ്കിൽ‌ ഉപഭോക്തൃ പിന്തുണയുമായി ബന്ധപ്പെടുക. നിങ്ങൾക്ക് അക്കൗണ്ടിലേക്ക് ഒരു സജീവ പേയ്‌മെന്റ് രീതി ചേർത്തിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "ഇൻവോയ്സ് #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "ഇൻവോയ്സ് കാണിക്കുക" - }, - "downloadInvoice": { - "message": "ഇൻവോയ്സ് ഡൗൺലോഡുചെയ്യുക" - }, - "verifyBankAccount": { - "message": "ബാങ്ക് അക്കൗണ്ട് സ്ഥിരീകരിക്കുക" - }, - "verifyBankAccountDesc": { - "message": "ഞങ്ങൾ നിങ്ങളുടെ ബാങ്ക് അക്കൗണ്ടിലേക്ക് രണ്ട് മൈക്രോ ഡെപ്പോസിറ്റുകൾ നടത്തി (ഇത് കാണിക്കാൻ 1-2 പ്രവൃത്തി ദിവസമെടുത്തേക്കാം). ബാങ്ക് അക്കൗണ്ട് സ്ഥിരീകരിക്കുന്നതിന് ഈ തുകകൾ നൽകുക." - }, - "verifyBankAccountInitialDesc": { - "message": "ഒരു ബാങ്ക് അക്ക with ണ്ട് ഉപയോഗിച്ചുള്ള പേയ്‌മെന്റ് യുണൈറ്റഡ് സ്റ്റേറ്റ്സിലെ ഉപയോക്താക്കൾക്ക് മാത്രമേ ലഭ്യമാകൂ. നിങ്ങളുടെ ബാങ്ക് അക്കൗണ്ട് പരിശോധിക്കേണ്ടതുണ്ട്. അടുത്ത 1-2 പ്രവൃത്തി ദിവസത്തിനുള്ളിൽ ഞങ്ങൾ രണ്ട് മൈക്രോ നിക്ഷേപങ്ങൾ നടത്തും. ബാങ്ക് അക്കൗണ്ട് സ്ഥിരീകരിക്കുന്നതിന് ഓർഗനൈസേഷന്റെ ബില്ലിംഗ് പേജിൽ ഈ തുകകൾ നൽകുക." - }, - "verifyBankAccountFailureWarning": { - "message": "ബാങ്ക് അക്കൗണ്ട് സ്ഥിരീകരിക്കുന്നതിൽ പരാജയപ്പെടുന്നത് പേയ്‌മെന്റ് നഷ്‌ടപ്പെടുന്നതിനും നിങ്ങളുടെ സബ്‌സ്‌ക്രിപ്‌ഷൻ പ്രവർത്തനരഹിതമാക്കുന്നതിനും ഇടയാക്കും." - }, - "verifiedBankAccount": { - "message": "ബാങ്ക് അക്കൗണ്ട് സ്ഥിരീകരിച്ചു." - }, - "bankAccount": { - "message": "ബാങ്ക് അക്കൗണ്ട്" - }, - "amountX": { - "message": "തുക $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Routing Number", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "അക്കൗണ്ട് നമ്പർ" - }, - "accountHolderName": { - "message": "അക്കൗണ്ട് ഉടമയുടെ പേര്" - }, - "bankAccountType": { - "message": "അക്കൗണ്ട് തരം" - }, - "bankAccountTypeCompany": { - "message": "കമ്പനി (ബിസിനസ്)" - }, - "bankAccountTypeIndividual": { - "message": "വ്യക്തിഗത (വ്യക്തിഗത)" - }, - "enterInstallationId": { - "message": "നിങ്ങളുടെ ഇൻസ്റ്റാളേഷൻ ഐഡി നൽകുക" - }, - "addSeats": { - "message": "സീറ്റുകൾ ചേർക്കുക ", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "സീറ്റുകൾ നീക്കംചെയ്യുക", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "നിങ്ങളുടെ സബ്സ്ക്രിപ്ഷൻ മൊത്തം $COUNT$ ഉപയോക്താക്കളെ അനുവദിക്കുന്നു.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Seats To Add" - }, - "seatsToRemove": { - "message": "നീക്കംചെയ്യാനുള്ള സീറ്റുകൾ" - }, - "seatsAddNote": { - "message": "Adding user seats will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." - }, - "seatsRemoveNote": { - "message": "Removing user seats will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." - }, - "adjustedSeats": { - "message": "Adjusted $AMOUNT$ user seats.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "കീ അപ്‌ഡേറ്റുചെയ്‌തു" - }, - "updateKeyTitle": { - "message": "കീ അപ്‌ഡേറ്റുചെയ്യുക" - }, - "updateEncryptionKey": { - "message": "എൻക്രിപ്ഷൻ കീ അപ്‌ഡേറ്റുചെയ്യുക" - }, - "updateEncryptionKeyShortDesc": { - "message": "You are currently using an outdated encryption scheme." - }, - "updateEncryptionKeyDesc": { - "message": "We've moved to larger encryption keys that provide better security and access to newer features. Updating your encryption key is quick and easy. Just type your master password below. This update will eventually become mandatory." - }, - "updateEncryptionKeyWarning": { - "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." - }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." - }, - "subscription": { - "message": "സബ്സ്ക്രിപ്ഷൻ" - }, - "loading": { - "message": "ലഭ്യമാക്കുന്നു" - }, - "upgrade": { - "message": "അപ്ഗ്രേഡ് ചെയ്യുക" - }, - "upgradeOrganization": { - "message": "സംഘടന അപ്ഗ്രേഡ് ചെയ്യുക" - }, - "upgradeOrganizationDesc": { - "message": "സൗജന്യ സംഘടനകൾക്കു ഈ സവിശേഷത ലഭ്യമല്ല. കൂടുതൽ സവിശേഷതകൾ അൺലോക്കുചെയ്യുന്നതിന് പ്രീമിയം പ്ലാനിലേക്ക് മാറുക." - }, - "createOrganizationStep1": { - "message": "സംഘടനാ സൃഷ്‌ടിക്കുക: ഘട്ടം 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "നിങ്ങളുടെ സംഘടനാ സൃഷ്‌ടിക്കുന്നതിന് മുമ്പ്, നിങ്ങൾ ആദ്യം ഒരു വ്യതസ്തമായ അക്കൗണ്ട് സൃഷ്ടിക്കണം." - }, - "refunded": { - "message": "റീഫണ്ട് ചെയ്തു" - }, - "nothingSelected": { - "message": "നിങ്ങൾ ഒന്നും തിരഞ്ഞെടുത്തിട്ടില്ല." - }, - "acceptPolicies": { - "message": "ഈ ബോക്സ് ചെക്കുചെയ്യുന്നതിലൂടെ നിങ്ങൾ ഇനിപ്പറയുന്നവ അംഗീകരിക്കുന്നു:" - }, - "acceptPoliciesError": { - "message": "സേവന നിബന്ധനകളും സ്വകാര്യതാ നയവും അംഗീകരിച്ചിട്ടില്ല." - }, - "termsOfService": { - "message": "സേവന വ്യവസ്ഥകൾ" - }, - "privacyPolicy": { - "message": "സ്വകാര്യതാനയം" - }, - "filters": { - "message": "ഫിൽറ്ററുകൾ" - }, - "vaultTimeout": { - "message": "വാൾട് ടൈംഔട്ട്" - }, - "vaultTimeoutDesc": { - "message": "തങ്ങളുടെ വാൾട് എപ്പോൾ ടൈംഔട്ട് ആകും എന്ന് നിശ്ചയിക്കുക. തിരഞ്ഞെടുത്ത പ്രവർത്തനം നടത്തുക." - }, - "oneMinute": { - "message": "1 മിനിറ്റ്" - }, - "fiveMinutes": { - "message": "5 മിനിറ്റ്" - }, - "fifteenMinutes": { - "message": "15 മിനിറ്റ്" - }, - "thirtyMinutes": { - "message": "30 മിനിറ്റ്" - }, - "oneHour": { - "message": "1 മണിക്കൂർ" - }, - "fourHours": { - "message": "4 മണിക്കൂർ" - }, - "onRefresh": { - "message": "ബ്രൗസർ റിഫ്രഷ് ചെയ്യുമ്പോൾ" - }, - "dateUpdated": { - "message": "പുതുക്കിയത്", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "പാസ്‍വേഡ് പുതുക്കി", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "സംഘടന അപ്രാപ്‌തമാക്കി." - }, - "licenseIsExpired": { - "message": "ലൈസൻസ് കാലഹരണപ്പെട്ടു." - }, - "updatedUsers": { - "message": "അപ്‌ഡേറ്റുചെയ്‌ത ഉപയോക്താക്കൾ" - }, - "selected": { - "message": "തിരഞ്ഞെടുത്തത്" - }, - "ownership": { - "message": "ഉടമസ്ഥാവകാശം" - }, - "whoOwnsThisItem": { - "message": "ഈ ഇനം ആരുടേതാണ്?" - }, - "strong": { - "message": "ശക്തമായ", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "നല്ലത്", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "ദുർബലമാണ്", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "വളരെ ദുർബലമാണ്", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "ദുര്ബലമായ പ്രാഥമിക പാസ്‌വേഡ്" - }, - "weakMasterPasswordDesc": { - "message": "നിങ്ങൾ തിരഞ്ഞെടുത്ത പ്രാഥമിക പാസ്‌വേഡ് ദുർബലമാണ്. നിങ്ങളുടെ Bitwarden അക്കൗണ്ട് ശരിയായി സുരക്ഷിതമാക്കാൻ നിങ്ങൾ ഒരു ശക്തമായ മാസ്റ്റർ പാസ്‌വേഡ് (അല്ലെങ്കിൽ ഒരു പാസ്‌ഫ്രേസ്) ഉപയോഗിക്കണം. ഈ മാസ്റ്റർ പാസ്‌വേഡ് ഉപയോഗിക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുണ്ടോ?" - }, - "rotateAccountEncKey": { - "message": "എന്റെ അക്കൗണ്ടിന്റെ എൻക്രിപ്ഷൻ കീയും rotate ചെയ്യുക" - }, - "rotateEncKeyTitle": { - "message": "എൻക്രിപ്ഷൻ കീ തിരിക്കുക" - }, - "rotateEncKeyConfirmation": { - "message": "Are you sure you want to rotate your account's encryption key?" - }, - "attachmentsNeedFix": { - "message": "പരിഹരിക്കേണ്ട അറ്റാച്മെന്റുകൾ ഈ ഇനത്തിൽ ഉണ്ട്." - }, - "attachmentFixDesc": { - "message": "പരിഹരിക്കേണ്ട അറ്റാച്മെന്റുകൾ ഈ ഇനത്തിൽ ഉണ്ട്. കൂടുതലറിയാൻ ക്ലിക്കുചെയ്യുക." - }, - "fix": { - "message": "പരിഹരിക്കുക", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "നിങ്ങളുടെ അക്കൗണ്ടിന്റെ എൻ‌ക്രിപ്ഷൻ കീ തിരിക്കുന്നതിന് മുമ്പ് ശരിയാക്കേണ്ട പഴയ ഫയൽ അറ്റാച്ചുമെന്റുകൾ നിങ്ങളുടെ നിലവറയിൽ ഉണ്ട്." - }, - "yourAccountsFingerprint": { - "message": "നിങ്ങളുടെ അക്കൗണ്ടിൻ്റെ ഫിംഗർപ്രിന്റ് ഫ്രേസ്‌", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "നിങ്ങളുടെ എൻ‌ക്രിപ്ഷൻ കീകളുടെ സമഗ്രത ഉറപ്പാക്കുന്നതിന്, തുടരുന്നതിന് മുമ്പ് ഉപയോക്താവിന്റെ വിരലടയാളം പരിശോധിക്കുക.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "ഫിംഗർപ്രിന്റ് വാചകം പരിശോധിക്കാൻ ആവശ്യപ്പെടരുത്", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "സൗജന്യം ", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "API കീ" - }, - "apiKeyDesc": { - "message": "Bitwarden പബ്ലിക് API-ലേക്ക് പ്രാമാണീകരിക്കാൻ നിങ്ങളുടെ API കീ ഉപയോഗിക്കാം." - }, - "apiKeyRotateDesc": { - "message": "API കീ തിരിക്കുന്നത് മുമ്പത്തെ കീ അസാധുവാക്കും. നിലവിലെ കീ ഉപയോഗിക്കാൻ സുരക്ഷിതമല്ലെന്ന് നിങ്ങൾ വിശ്വസിക്കുന്നുവെങ്കിൽ നിങ്ങളുടെ API കീ തിരിക്കാൻ കഴിയും." - }, - "apiKeyWarning": { - "message": "നിങ്ങളുടെ API കീയ്ക്ക് സംഘടനയിലേക്ക് പൂർണ്ണ ആക്‌സസ് ഉണ്ട്. അതുകൊണ്ടു ഇത് രഹസ്യമായി സൂക്ഷിക്കണം." - }, - "userApiKeyDesc": { - "message": "ബിറ്റ്വാർഡൻ CLI- യിൽ പ്രാമാണീകരിക്കാൻ നിങ്ങളുടെ API കീ ഉപയോഗിക്കാം." - }, - "userApiKeyWarning": { - "message": "നിങ്ങളുടെ API കീ ഒരു ഇതര പ്രാമാണീകരണ സംവിധാനമാണ്. അത് രഹസ്യമായി സൂക്ഷിക്കണം." - }, - "oauth2ClientCredentials": { - "message": "OAuth 2.0 ക്ലയൻറ് ക്രെഡൻഷ്യലുകൾ", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "API കീ കാണുക " - }, - "rotateApiKey": { - "message": "API കീ തിരിക്കുക" - }, - "selectOneCollection": { - "message": "നിങ്ങൾ ഒരു കളക്ഷനെങ്കിലും തിരഞ്ഞെടുക്കണം." - }, - "couldNotChargeCardPayInvoice": { - "message": "ഞങ്ങൾക്ക് നിങ്ങളുടെ കാർഡ് ഈടാക്കാൻ കഴിഞ്ഞില്ല. ചുവടെ ലിസ്റ്റുചെയ്തിട്ടുള്ള പണമടയ്ക്കാത്ത ഇൻവോയ്സ് കാണുകയും അടയ്ക്കുകയും ചെയ്യുക." - }, - "inAppPurchase": { - "message": "In-app Purchase" - }, - "cannotPerformInAppPurchase": { - "message": "You cannot perform this action while using an in-app purchase payment method." - }, - "manageSubscriptionFromStore": { - "message": "You must manage your subscription from the store where your in-app purchase was made." - }, - "minLength": { - "message": "കുറഞ്ഞ നീളം" - }, - "clone": { - "message": "ക്ലോൺ" - }, - "masterPassPolicyDesc": { - "message": "Set minimum requirements for master password strength." - }, - "twoStepLoginPolicyDesc": { - "message": "ഉപയോക്താക്കൾക്ക് അവരുടെ സ്വകാര്യ അക്കൗണ്ടുകളിൽ രണ്ട്-ഘട്ട പ്രവേശനം സജ്ജമാക്കാൻ ആവശ്യപ്പെടുക." - }, - "twoStepLoginPolicyWarning": { - "message": "വ്യക്തിഗത അക്ക for ണ്ടിനായി രണ്ട്-ഘട്ട ലോഗിൻ പ്രാപ്തമാക്കിയിട്ടില്ലാത്ത ഓർഗനൈസേഷൻ അംഗങ്ങളെ ഓർഗനൈസേഷനിൽ നിന്ന് നീക്കംചെയ്യുകയും മാറ്റത്തെക്കുറിച്ച് അറിയിക്കുന്ന ഒരു ഇമെയിൽ ലഭിക്കുകയും ചെയ്യും." - }, - "twoStepLoginPolicyUserWarning": { - "message": "നിങ്ങളുടെ ഉപയോക്തൃ അക്കൗണ്ടിൽ രണ്ട്-ഘട്ട പ്രവേശനം പ്രവർത്തനക്ഷമമാക്കേണ്ട ഒരു സംഘടനയിലെ അംഗമാണ് നിങ്ങൾ. രണ്ട്-ഘട്ട പ്രവേശന ദാതാക്കളെ നിങ്ങൾ അപ്രാപ്തമാക്കിയാൽ, ഈ സംഘടനകളിൽ നിന്ന് നിങ്ങളെ സ്വപ്രേരിതമായി നീക്കംചെയ്യും." - }, - "passwordGeneratorPolicyDesc": { - "message": "പാസ്‌വേഡ് ജനറേറ്റർ കോൺഫിഗറേഷനായി മിനിമം ആവശ്യകതകൾ സജ്ജമാക്കുക." - }, - "passwordGeneratorPolicyInEffect": { - "message": "ഒന്നോ അതിലധികമോ സംഘടന നയങ്ങൾ നിങ്ങളുടെ പാസ്സ്‌വേഡ് സൃഷ്ടാവിൻ്റെ ക്രമീകരണങ്ങളെ ബാധിക്കുന്നു." - }, - "masterPasswordPolicyInEffect": { - "message": "ഒന്നോ അതിലധികമോ ഓർഗനൈസേഷൻ നയങ്ങൾക്ക് ഇനിപ്പറയുന്ന ആവശ്യകതകൾ നിറവേറ്റുന്നതിന് നിങ്ങളുടെ മാസ്റ്റർ പാസ്‌വേഡ് ആവശ്യമാണ്:" - }, - "policyInEffectMinComplexity": { - "message": "സങ്കീർണ്ണതയുടെ കുറഞ്ഞ സ്കോർ$SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "കുറഞ്ഞ ദൈർഘ്യം $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "ഒന്നോ അതിലധികമോ വലിയക്ഷരങ്ങൾ അടങ്ങിയിരിക്കുന്ന" - }, - "policyInEffectLowercase": { - "message": "ഒന്നോ അതിലധികമോ ചെറിയക്ഷരങ്ങൾ അടങ്ങിയിരിക്കുന്ന" - }, - "policyInEffectNumbers": { - "message": "ഒന്നോ അതിലധികമോ അക്കങ്ങൾ അടങ്ങിയിരിക്കുന്ന" - }, - "policyInEffectSpecial": { - "message": "ഇനിപ്പറയുന്ന ഒന്നോ അതിലധികമോ പ്രത്യേക പ്രതീകങ്ങൾ അടങ്ങിയിരിക്കണം:$CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "നിങ്ങളുടെ പുതിയ മാസ്റ്റർ പാസ്‌വേഡ് നയ ആവശ്യകതകൾ നിറവേറ്റുന്നില്ല." - }, - "minimumNumberOfWords": { - "message": "വാക്കുകളുടെ ഏറ്റവും കുറഞ്ഞ എണ്ണം" - }, - "defaultType": { - "message": "സ്ഥിരസ്ഥിതി തരം" - }, - "userPreference": { - "message": "ഉപയോക്തൃ മുൻഗണന" - }, - "vaultTimeoutAction": { - "message": "വാൾട് ടൈം ഔട്ട് പ്രവർത്തനം" - }, - "vaultTimeoutActionLockDesc": { - "message": "ലോക്കുചെയ്‌ത വാൾട് വീണ്ടും ആക്‌സസ് ചെയ്യുന്നതിന് തങ്ങളുടെ പ്രാഥമിക പാസ്‌വേഡ് വീണ്ടും നൽകേണ്ടതാണ്." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "ലോഗ് ഔട്ട് ചെയ്ത വാൾട് വീണ്ടും അക്സസ്സ് ചെയ്യാൻ ഓതെന്റിക്കേഷൻ ആവശ്യം വേരും." - }, - "lock": { - "message": "പൂട്ടുക", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "ട്രാഷ്", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "ട്രാഷ് തിരയുക" - }, - "permanentlyDelete": { - "message": "എന്നെന്നേക്കുമായി നീക്കം ചെയ്യുക" - }, - "permanentlyDeleteSelected": { - "message": "തിരഞ്ഞെടുത്തത് എന്നെന്നേക്കുമായി നീക്കം ചെയ്യുക" - }, - "permanentlyDeleteItem": { - "message": "ഇനം എന്നെന്നേക്കുമായി നീക്കം ചെയ്യുക" - }, - "permanentlyDeleteItemConfirmation": { - "message": "ഈ എന്നെന്നേക്കുമായി നീക്കം ചെയ്യാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുണ്ടോ?" - }, - "permanentlyDeletedItem": { - "message": "എന്നെന്നേക്കുമായി നീക്കം ചെയ്ത ഇനം" - }, - "permanentlyDeletedItems": { - "message": "എന്നെന്നേക്കുമായി നീക്കം ചെയ്ത ഇനങ്ങൾ" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "ശാശ്വതമായി ഇല്ലാതാക്കാൻ നിങ്ങൾ $COUNT$ ഇനം (കൾ) തിരഞ്ഞെടുത്തു. ഈ ഇനങ്ങളെല്ലാം ശാശ്വതമായി ഇല്ലാതാക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുണ്ടോ?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "$ID$ എന്നെന്നേക്കുമായി നീക്കം ചെയ്തു.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "വീണ്ടെടുക്കുക " - }, - "restoreSelected": { - "message": "തിരഞ്ഞെടുത്തത് വീണ്ടെടുക്കുക " - }, - "restoreItem": { - "message": "ഇനം വീണ്ടെടുക്കുക " - }, - "restoredItem": { - "message": "വീണ്ടെടുത്ത ഇനങ്ങൾ" - }, - "restoredItems": { - "message": "വീണ്ടെടുത്ത ഇനങ്ങൾ" - }, - "restoreItemConfirmation": { - "message": "ഈ ഇനം വീണ്ടെടുക്കണമെന്ന് ഉറപ്പാണോ?" - }, - "restoreItems": { - "message": "ഇനങ്ങൾ വീണ്ടെടുക്കുക" - }, - "restoreSelectedItemsDesc": { - "message": "വീണ്ടെടുക്കാൻ നിങ്ങൾ $COUNT$ ഇനം(ങ്ങൾ) തിരഞ്ഞെടുത്തു. ഈ ഇനങ്ങളെല്ലാം വീണ്ടെടുക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുണ്ടോ?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "$ID$ എന്ന ഇനം വീണ്ടെടുത്തു.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "ലോഗ് ഔട്ട് ചെയ്യുന്നത് തങ്ങളുടെ വാൾട്ടിലേക്കുള്ള എല്ലാ ആക്സസും നീക്കംചെയ്യുകയും. കാലയളവിനുശേഷം ഓൺലൈൻ ഓതന്റിക്കേറ്റർ ആവശ്യമാണ്. ഈ ക്രമീകരണം ഉപയോഗിക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുണ്ടോ?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "ടൈംഔട് ആക്ഷൻ സ്ഥിരീകരണം" - }, - "hidePasswords": { - "message": "പാസ്‌വേഡുകൾ മറയ്‌ക്കുക" - }, - "countryPostalCodeRequiredDesc": { - "message": "വിൽപ്പന നികുതിയും സാമ്പത്തിക റിപ്പോർട്ടിംഗും മാത്രം കണക്കാക്കാൻ ഞങ്ങൾക്ക് ഈ വിവരങ്ങൾ ആവശ്യമാണ്." - }, - "includeVAT": { - "message": "VAT/GST വിവരങ്ങൾ ഉൾപ്പെടുത്തുക (ഓപ്ഷണൽ)" - }, - "taxIdNumber": { - "message": "VAT/GST ടാക്സ് ഐഡി" - }, - "taxInfoUpdated": { - "message": "നികുതി വിവരങ്ങൾ പുതുക്കിയിരിക്കുന്നു." - }, - "setMasterPassword": { - "message": "പ്രാഥമിക പാസ്‌വേഡ് സജ്ജമാക്കു" - }, - "ssoCompleteRegistration": { - "message": "SSO ഉപയോഗിച്ച് പ്രവേശനം പൂർത്തിയാക്കാനും, നിങ്ങളുടെ വാൾട് ആക്സസ് ചെയ്യാനും സുരക്ഷിതമാക്കാനും ഒരു പ്രാഥമിക പാസ്‌വേഡ് സജ്ജമാക്കുക." - }, - "identifier": { - "message": "ഐഡന്റിഫയർ" - }, - "organizationIdentifier": { - "message": "സംഘടനയുടെ ഐഡന്റിഫയർ" - }, - "ssoLogInWithOrgIdentifier": { - "message": "നിങ്ങളുടെ സംഘടനയുടെ സിംഗിൾ സൈൻ-ഓൺ പോർട്ടൽ ഉപയോഗിച്ച് വേഗത്തിൽ ലോഗിൻ ചെയ്യുക. ആരംഭിക്കുന്നതിന് ദയവായി നിങ്ങളുടെ സംഘടനയുടെ ഐഡന്റിഫയർ നൽകുക." - }, - "enterpriseSingleSignOn": { - "message": "എന്റർപ്രൈസ് SSO" - }, - "ssoHandOff": { - "message": "നിങ്ങൾക്ക് ഇപ്പോൾ ഈ ടാബ് അടച്ച് വിപുലീകരണത്തിൽ തുടരാം." - }, - "businessPortal": { - "message": "ബിസിനസ് പോർട്ടൽ", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "എല്ലാ ടീമുകളുടെ സവിശേഷതകളും, കൂടാതെ:" - }, - "includeSsoAuthentication": { - "message": "SSO Authentication via SAML2.0 and OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "എന്റർപ്രൈസ് പോളിസികൾ" - }, - "ssoValidationFailed": { - "message": "SSO മൂല്യനിർണ്ണയം പരാജയപ്പെട്ടു" - }, - "ssoIdentifierRequired": { - "message": "സംഘടനയുടെ ഐഡന്റിഫയർ ആവശ്യമാണ്." - }, - "unlinkSso": { - "message": "Unlink SSO" - }, - "linkSso": { - "message": "SSO ബന്ധിപ്പിക്കുക" - }, - "webPoliciesDeprecationWarning": { - "message": "നയ കോൺഫിഗറേഷൻ നീക്കി, ഈ പേജ് ഉടൻ തന്നെ ഒഴിവാക്കപ്പെടും. പകരം ബിസിനസ് പോർട്ടൽ നയങ്ങളുടെ പേജ് ഉപയോഗിക്കുന്നതിന് ചുവടെ ക്ലിക്കുചെയ്യുക." - }, - "singleOrg": { - "message": "ഒറ്റ ഓർഗനൈസേഷൻ" - }, - "singleOrgDesc": { - "message": "മറ്റേതെങ്കിലും ഓർഗനൈസേഷനിൽ ചേരുന്നതിൽ നിന്ന് ഉപയോക്താക്കളെ നിയന്ത്രിക്കുക." - }, - "singleOrgBlockCreateMessage": { - "message": "ഒന്നിൽ കൂടുതൽ ഓർഗനൈസേഷനിൽ ചേരാൻ നിങ്ങളെ അനുവദിക്കാത്ത ഒരു നയമാണ് നിങ്ങളുടെ നിലവിലെ ഓർഗനൈസേഷന് ഉള്ളത്. നിങ്ങളുടെ ഓർഗനൈസേഷൻ അഡ്‌മിനുകളുമായി ബന്ധപ്പെടുക അല്ലെങ്കിൽ മറ്റൊരു ബിറ്റ്‌വാർഡൻ അക്കൗണ്ടിൽ നിന്ന് സൈൻ അപ്പ് ചെയ്യുക." - }, - "singleOrgPolicyWarning": { - "message": "ഉടമകളോ അഡ്മിനിസ്ട്രേറ്റർമാരോ അല്ലാത്തവരും ഇതിനകം മറ്റൊരു ഓർഗനൈസേഷനിൽ അംഗവുമായ ഓർഗനൈസേഷൻ അംഗങ്ങളെ നിങ്ങളുടെ ഓർഗനൈസേഷനിൽ നിന്ന് നീക്കംചെയ്യും." - }, - "requireSso": { - "message": "സിംഗിൾ സൈൻ-ഓൺ പ്രാമാണീകരണം" - }, - "requireSsoPolicyDesc": { - "message": "എന്റർപ്രൈസ് സിംഗിൾ സൈൻ-ഓൺ രീതി ഉപയോഗിച്ച് ഉപയോക്താക്കൾ ലോഗിൻ ചെയ്യാൻ ആവശ്യപ്പെടുന്നു." - }, - "prerequisite": { - "message": "മുൻവ്യവസ്ഥ" - }, - "requireSsoPolicyReq": { - "message": "ഈ നയം സജീവമാക്കുന്നതിന് മുമ്പ് സിംഗിൾ ഓർഗനൈസേഷൻ എന്റർപ്രൈസ് നയം പ്രവർത്തനക്ഷമമാക്കിയിരിക്കണം." - }, - "requireSsoPolicyReqError": { - "message": "സിംഗിൾ ഓർഗനൈസേഷൻ നയം പ്രവർത്തനക്ഷമമാക്കിയിട്ടില്ല." - }, - "requireSsoExemption": { - "message": "ഓർ‌ഗനൈസേഷൻ‌ ഉടമകളെയും രക്ഷാധികാരികളെയും ഈ നയം നടപ്പിലാക്കുന്നതിൽ‌ നിന്നും ഒഴിവാക്കിയിരിക്കുന്നു." - }, - "sendTypeFile": { - "message": "ഫയൽ" - }, - "sendTypeText": { - "message": "വാചകം" - }, - "createSend": { - "message": "പുതിയ Send സൃഷ്‌ടിക്കുക", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Send തിരുത്തുക", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Send സൃഷ്‌ടിച്ചു", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Send തിരുത്തി", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Send ഇല്ലാതാക്കി", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Send ഇല്ലാതാക്കുക", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "ഈ Send ഇല്ലാതാക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുണ്ടോ?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "ഇത് ഏത് തരം അയയ്ക്കലാണ്?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "ഇല്ലാതാക്കൽ തീയതി" - }, - "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "കാലഹരണപ്പെടുന്ന തീയതി" - }, - "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "പരമാവധി ആക്സസ് എണ്ണം" - }, - "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "നിലവിലെ ആക്‌സസ്സ് എണ്ണം" - }, - "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Private notes about this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "അപ്രാപ്‌തമാക്കി" - }, - "sendLink": { - "message": "ലിങ്ക് അയയ്‌ക്കുക", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Send ലിങ്ക് പകർത്തുക", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "പാസ്‌വേഡ് നീക്കംചെയ്യുക" - }, - "removedPassword": { - "message": "പാസ്‌വേഡ് നീക്കംചെയ്‌തു" - }, - "removePasswordConfirmation": { - "message": "പാസ്‌വേഡ് നീക്കംചെയ്യണമെന്ന് നിങ്ങൾക്ക് ഉറപ്പാണോ?" - }, - "disableThisSend": { - "message": "Disable this Send so that no one can access it.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "എല്ലാം Send-കൾ" - }, - "maxAccessCountReached": { - "message": "Max access count reached" - }, - "pendingDeletion": { - "message": "Pending deletion" - }, - "expired": { - "message": "Expired" - }, - "searchSends": { - "message": "Send-കൾ തിരയുക", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "ഈ Send പാസ്‌വേഡ് ഉപയോഗിച്ച് സുരക്ഷിതമാക്കിയിരിക്കുന്നു. തുടരുന്നതിന് ദയവായി ചുവടെ പാസ്‌വേഡ് ടൈപ്പുചെയ്യുക.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "പാസ്‌വേഡ് അറിയില്ലേ? ഈ അയയ്‌ക്കൽ ആക്‌സസ് ചെയ്യുന്നതിന് ആവശ്യമായ പാസ്‌വേഡിനായി അയച്ചയാളോട് ചോദിക്കുക.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "ഈ Send സ്ഥിരസ്ഥിതിയായി മറച്ചിരിക്കുന്നു. ചുവടെയുള്ള ബട്ടൺ ഉപയോഗിച്ചാൽ നിങ്ങൾക്ക് അതിന്റെ ദൃശ്യപരത ടോഗിൾ ചെയ്യാൻ കഴിയും.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "ഫയൽ ഡൗൺലോഡുചെയ്യുക" - }, - "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "പ്രദർശിപ്പിക്കാൻ Send-കളൊന്നുമില്ല.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Emergency Access" - }, - "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." - }, - "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" - }, - "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." - }, - "addEmergencyContact": { - "message": "Add emergency contact" - }, - "designatedEmergencyContacts": { - "message": "Designated as emergency contact" - }, - "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." - }, - "inviteEmergencyContact": { - "message": "Invite emergency contact" - }, - "editEmergencyContact": { - "message": "Edit emergency contact" - }, - "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" - }, - "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" - }, - "viewDesc": { - "message": "Can view all items in your own vault." - }, - "takeover": { - "message": "Takeover" - }, - "takeoverDesc": { - "message": "Can reset your account with a new master password." - }, - "waitTime": { - "message": "Wait Time" - }, - "waitTimeDesc": { - "message": "Time required before automatically granting access." - }, - "oneDay": { - "message": "1 day" - }, - "days": { - "message": "$DAYS$ days", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Invited user." - }, - "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." - }, - "requestAccess": { - "message": "അക്സസ്സ് അഭ്യർത്ഥിക്കുക" - }, - "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Approve" - }, - "reject": { - "message": "നിരസിക്കുക" - }, - "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Emergency access approved." - }, - "emergencyRejected": { - "message": "Emergency access rejected" - }, - "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "വ്യക്തിഗത ഉടമസ്ഥാവകാശം" - }, - "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." - }, - "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." - }, - "modifiedPolicyId": { - "message": "Modified policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Plan price" - }, - "estimatedTax": { - "message": "കണക്കാക്കിയ നികുതി" - }, - "custom": { - "message": "Custom" - }, - "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." - }, - "permissions": { - "message": "അനുമതികൾ" - }, - "accessBusinessPortal": { - "message": "ബിസിനസ്സ് പോർട്ടൽ ആക്സസ് ചെയ്യുക" - }, - "accessEventLogs": { - "message": "Access Event Logs" - }, - "accessImportExport": { - "message": "Access Import/Export" - }, - "accessReports": { - "message": "റിപ്പോർട്ടുകൾ അക്സസ്സ് ചെയ്യുക" - }, - "manageAllCollections": { - "message": "എല്ലാ കളക്ഷനുകളും നിയത്രിക്കുക" - }, - "manageAssignedCollections": { - "message": "Manage Assigned Collections" - }, - "manageGroups": { - "message": "ഗ്രൂപ്പുകൾ നിയന്ത്രിക്കുക" - }, - "managePolicies": { - "message": "നയങ്ങൾ നിയന്ത്രിക്കുക" - }, - "manageSso": { - "message": "SSO നിയന്ത്രിക്കുക" - }, - "manageUsers": { - "message": "ഉപയോക്താക്കളെ നിയന്ത്രിക്കുക" - }, - "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." - }, - "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." - }, - "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" - }, - "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/nb/messages.json b/locales/nb/messages.json deleted file mode 100644 index f8307073..00000000 --- a/locales/nb/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$ netthvelv", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "Hvilken type gjenstand er dette?" - }, - "name": { - "message": "Navn" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "Ny URI" - }, - "username": { - "message": "Brukernavn" - }, - "password": { - "message": "Passord" - }, - "newPassword": { - "message": "Nytt passord" - }, - "passphrase": { - "message": "Passfrase" - }, - "notes": { - "message": "Notater" - }, - "customFields": { - "message": "Tilpassede felter" - }, - "cardholderName": { - "message": "Kortholderens navn" - }, - "number": { - "message": "Nummer" - }, - "brand": { - "message": "Merke" - }, - "expiration": { - "message": "Utløp" - }, - "securityCode": { - "message": "Sikkerhetskode (CVV)" - }, - "identityName": { - "message": "Identitetsnavn" - }, - "company": { - "message": "Firma" - }, - "ssn": { - "message": "Nummer for sosial stønad" - }, - "passportNumber": { - "message": "Pass-nummer" - }, - "licenseNumber": { - "message": "Lisens-/førerkort-nummer" - }, - "email": { - "message": "E-post" - }, - "phone": { - "message": "Telefon" - }, - "january": { - "message": "Januar" - }, - "february": { - "message": "Februar" - }, - "march": { - "message": "Mars" - }, - "april": { - "message": "April" - }, - "may": { - "message": "Mai" - }, - "june": { - "message": "Juni" - }, - "july": { - "message": "Juli" - }, - "august": { - "message": "August" - }, - "september": { - "message": "September" - }, - "october": { - "message": "Oktober" - }, - "november": { - "message": "November" - }, - "december": { - "message": "Desember" - }, - "title": { - "message": "Tittel" - }, - "mr": { - "message": "Herr" - }, - "mrs": { - "message": "Fru" - }, - "ms": { - "message": "Frøken" - }, - "dr": { - "message": "Dr․" - }, - "expirationMonth": { - "message": "Utløpsmåned" - }, - "expirationYear": { - "message": "Utløpsår" - }, - "authenticatorKeyTotp": { - "message": "Autentiseringsnøkkel (TOTP)" - }, - "folder": { - "message": "Mappe" - }, - "newCustomField": { - "message": "Nytt egendefinert felt" - }, - "value": { - "message": "Verdi" - }, - "dragToSort": { - "message": "Dra for å sortere" - }, - "cfTypeText": { - "message": "Tekst" - }, - "cfTypeHidden": { - "message": "Skjult" - }, - "cfTypeBoolean": { - "message": "Boolsk verdi" - }, - "remove": { - "message": "Fjern" - }, - "unassigned": { - "message": "Utilegnet" - }, - "noneFolder": { - "message": "Ingen mappe", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Legg til en mappe" - }, - "editFolder": { - "message": "Rediger mappen" - }, - "baseDomain": { - "message": "Grunndomene" - }, - "host": { - "message": "Vert", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Nøyaktig" - }, - "startsWith": { - "message": "Starter med" - }, - "regEx": { - "message": "Regulært uttrykk", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Samsvar-gjenkjenning", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Standard match-gjenkjenning", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Aldri" - }, - "toggleVisibility": { - "message": "Juster synlighet" - }, - "toggleCollapse": { - "message": "Bytt mellom skjul/utvid", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Generer et passord" - }, - "checkPassword": { - "message": "Sjekk om passordet har blitt utsatt." - }, - "passwordExposed": { - "message": "Dette passordet har blitt utsatt $VALUE$ gang(er) i et databrudd. Du burde endre det.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "Dette passordet ble ikke funnet i noen kjente databrudd. Det burde være trygt å bruke." - }, - "save": { - "message": "Lagre" - }, - "cancel": { - "message": "Avbryt" - }, - "canceled": { - "message": "Avbrutt" - }, - "close": { - "message": "Lukk" - }, - "delete": { - "message": "Slett" - }, - "favorite": { - "message": "Gi favorittstempel" - }, - "unfavorite": { - "message": "Fjern favorittstempel" - }, - "edit": { - "message": "Rediger" - }, - "searchCollection": { - "message": "Søk i samling" - }, - "searchFolder": { - "message": "Søk i mappe" - }, - "searchFavorites": { - "message": "Søk i favoritter" - }, - "searchType": { - "message": "Søk i type", - "description": "Search item type" - }, - "searchVault": { - "message": "Søk i hvelvet" - }, - "allItems": { - "message": "Alle gjenstander" - }, - "favorites": { - "message": "Favoritter" - }, - "types": { - "message": "Typer" - }, - "typeLogin": { - "message": "Innlogging" - }, - "typeCard": { - "message": "Kort" - }, - "typeIdentity": { - "message": "Identitet" - }, - "typeSecureNote": { - "message": "Sikker notis" - }, - "folders": { - "message": "Mapper" - }, - "collections": { - "message": "Samlinger" - }, - "firstName": { - "message": "Fornavn" - }, - "middleName": { - "message": "Mellomnavn" - }, - "lastName": { - "message": "Etternavn" - }, - "address1": { - "message": "Adresse 1" - }, - "address2": { - "message": "Adresse 2" - }, - "address3": { - "message": "Adresse 3" - }, - "cityTown": { - "message": "By / Tettsted" - }, - "stateProvince": { - "message": "Fylke / Region" - }, - "zipPostalCode": { - "message": "Postnummer" - }, - "country": { - "message": "Land" - }, - "shared": { - "message": "Delt" - }, - "attachments": { - "message": "Vedlegg" - }, - "select": { - "message": "Velg" - }, - "addItem": { - "message": "Legg til en gjenstand" - }, - "editItem": { - "message": "Rediger gjenstanden" - }, - "viewItem": { - "message": "View Item" - }, - "ex": { - "message": "f.eks.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Annet" - }, - "share": { - "message": "Del" - }, - "valueCopied": { - "message": "$VALUE$ har blitt kopiert", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Kopier verdien", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Kopier passordet", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Kopier brukernavnet", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Kopier nummeret", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Kopier sikkerhetskoden", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Kopier URIen", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "Mitt hvelv" - }, - "vault": { - "message": "Hvelv" - }, - "shareSelected": { - "message": "Del de valgte" - }, - "deleteSelected": { - "message": "Slett de valgte" - }, - "moveSelected": { - "message": "Flytt de valgte" - }, - "selectAll": { - "message": "Velg alt" - }, - "unselectAll": { - "message": "Avvelg alt" - }, - "launch": { - "message": "Åpne" - }, - "newAttachment": { - "message": "Legg til et nytt vedlegg" - }, - "deletedAttachment": { - "message": "Slettet vedlegget" - }, - "deleteAttachmentConfirmation": { - "message": "Er du sikker på at du vil slette dette vedlegget?" - }, - "attachmentSaved": { - "message": "Vedlegget har blitt lagret." - }, - "file": { - "message": "Fil" - }, - "selectFile": { - "message": "Velg en fil." - }, - "maxFileSize": { - "message": "Den maksimale filstørrelsen er 100 MB." - }, - "updateKey": { - "message": "Du kan ikke bruke denne funksjonen før du oppdaterer krypteringsnøkkelen din." - }, - "addedItem": { - "message": "La til gjenstanden" - }, - "editedItem": { - "message": "Redigerte gjenstanden" - }, - "sharedItem": { - "message": "Delte gjenstanden" - }, - "sharedItems": { - "message": "Delte gjenstander" - }, - "deleteItem": { - "message": "Slett objektet" - }, - "deleteFolder": { - "message": "Slett mappen" - }, - "deleteAttachment": { - "message": "Slett vedlegget" - }, - "deleteItemConfirmation": { - "message": "Er du sikker på at du vil slette denne gjenstanden?" - }, - "deletedItem": { - "message": "Slettet objektet" - }, - "deletedItems": { - "message": "Slettet objektene" - }, - "movedItems": { - "message": "Flyttede gjenstander" - }, - "overwritePasswordConfirmation": { - "message": "Er du sikker på at du vil overskrive det nåværende passordet?" - }, - "editedFolder": { - "message": "Redigerte mappen" - }, - "addedFolder": { - "message": "La til en mappe" - }, - "deleteFolderConfirmation": { - "message": "Er du sikker på at du vil slette denne mappen?" - }, - "deletedFolder": { - "message": "Slettet mappen" - }, - "loggedOut": { - "message": "Logget av" - }, - "loginExpired": { - "message": "Din innloggingsøkt har utløpt." - }, - "logOutConfirmation": { - "message": "Er du sikker på at du vil logge av?" - }, - "logOut": { - "message": "Logg av" - }, - "ok": { - "message": "OK" - }, - "yes": { - "message": "Ja" - }, - "no": { - "message": "Nei" - }, - "loginOrCreateNewAccount": { - "message": "Logg på eller opprett en ny konto for å få tilgang til ditt sikre hvelv." - }, - "createAccount": { - "message": "Opprett en konto" - }, - "logIn": { - "message": "Logg på" - }, - "submit": { - "message": "Send inn" - }, - "emailAddressDesc": { - "message": "Du skal bruke E-postadressen din til å logge på." - }, - "yourName": { - "message": "Ditt navn" - }, - "yourNameDesc": { - "message": "Hva burde vi kalle deg?" - }, - "masterPass": { - "message": "Superpassord" - }, - "masterPassDesc": { - "message": "Superpassordet er passordet du bruker for å få tilgang til hvelvet ditt. Det er veldig viktig at du aldri glemmer ditt superpassord. Det er ingen måter å få tilbake passordet på dersom du noensinne skulle klare å glemme det." - }, - "masterPassHintDesc": { - "message": "Et hint for superpassordet kan hjelpe deg med å huske på passordet dersom du skulle glemme det." - }, - "reTypeMasterPass": { - "message": "Skriv inn superpassordet på nytt" - }, - "masterPassHint": { - "message": "Et hint for superpassordet (valgfritt)" - }, - "masterPassHintLabel": { - "message": "Hint til superpassord" - }, - "settings": { - "message": "Innstillinger" - }, - "passwordHint": { - "message": "Passordhint" - }, - "enterEmailToGetHint": { - "message": "Skriv inn din kontos E-postadresse for å motta hintet til ditt superpassord." - }, - "getMasterPasswordHint": { - "message": "Få et hint om superpassordet" - }, - "emailRequired": { - "message": "E-postadressen er påkrevd." - }, - "invalidEmail": { - "message": "Ugyldig E-postadresse." - }, - "masterPassRequired": { - "message": "Superpassordet er påkrevd." - }, - "masterPassLength": { - "message": "Superpassordet må være ≥8 tegn langt." - }, - "masterPassDoesntMatch": { - "message": "Superpassord-bekreftelsen er ikke samsvarende." - }, - "newAccountCreated": { - "message": "Din nye konto har blitt opprettet! Du kan nå logge på." - }, - "masterPassSent": { - "message": "Vi har sendt deg en E-post med hintet til superpassordet." - }, - "unexpectedError": { - "message": "En uventet feil har oppstått." - }, - "emailAddress": { - "message": "E-postadresse" - }, - "yourVaultIsLocked": { - "message": "Hvelvet ditt er låst. Kontroller superpassordet ditt for å fortsette." - }, - "unlock": { - "message": "Lås opp" - }, - "loggedInAsEmailOn": { - "message": "Logget inn som $EMAIL$ på $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Ugyldig superpassord" - }, - "lockNow": { - "message": "Lås nå" - }, - "noItemsInList": { - "message": "Det er ingen gjenstander å liste opp." - }, - "noCollectionsInList": { - "message": "Det er ingen samlinger å liste opp." - }, - "noGroupsInList": { - "message": "Det er ingen grupper å liste opp." - }, - "noUsersInList": { - "message": "Det er ingen brukere å liste opp." - }, - "noEventsInList": { - "message": "Det er ingen hendelser å liste opp." - }, - "newOrganization": { - "message": "Ny organisasjon" - }, - "noOrganizationsList": { - "message": "Du tilhører ikke noen organisasjoner. Organisasjoner gjør det mulig for deg å sikkert dele objekter med andre brukere." - }, - "versionNumber": { - "message": "Versjon $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Skriv inn den 6-sifrede verifiseringskoden som står på din autentiseringsapp." - }, - "enterVerificationCodeEmail": { - "message": "Skriv inn den 6-sifrede verifiseringskoden som ble sendt til $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "En verifiserings-E-post har blitt sendt til $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Husk på meg" - }, - "sendVerificationCodeEmailAgain": { - "message": "Send E-posten med verifiseringskoden på nytt" - }, - "useAnotherTwoStepMethod": { - "message": "Bruk en annen 2-trinnsinnloggingsmetode" - }, - "insertYubiKey": { - "message": "Sett inn din YubiKey i din datamaskins USB-uttak, og så trykk på dens knapp." - }, - "insertU2f": { - "message": "Sett din sikkerhetsnøkkel inn i din datamaskins USB-uttak. Dersom den har en knapp, trykk på den." - }, - "loginUnavailable": { - "message": "Innloggingen er utilgjengelig" - }, - "noTwoStepProviders": { - "message": "Denne kontoen har 2-trinnsinnlogging aktivert, men ingen av de oppsatte 2-trinnsleverandørene er støttet av denne nettleseren." - }, - "noTwoStepProviders2": { - "message": "Vennligst bruk en støttet nettleser (f.eks. Chrome) og/eller legg til flere leverandører som er bedre støttet mellom flere nettlesere (slik som en autentiseringsapp)." - }, - "twoStepOptions": { - "message": "2-trinnsinnloggingsalternativer" - }, - "recoveryCodeDesc": { - "message": "Har du mistet tilgang til alle dine 2-trinnsleverandører? Bruk din gjenopprettingskode til å fjerne alle 2-trinnsleverandører fra din konto." - }, - "recoveryCodeTitle": { - "message": "Gjenopprettingskode" - }, - "authenticatorAppTitle": { - "message": "Autentiseringsapp" - }, - "authenticatorAppDesc": { - "message": "Bruk en autentiseringsapp (f․eks․ Authy eller Google Authenticator) for å generere tidsbegrensede verifiseringskoder.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "YubiKey OTP-sikkerhetsnøkkel" - }, - "yubiKeyDesc": { - "message": "Bruk en YubiKey for å få tilgang til kontoen din. Virker med enheter av typene YubiKey 4, 4 Nano, 4C, og NEO." - }, - "duoDesc": { - "message": "Verifiser med Duo Security gjennom Duo Mobile-appen, SMS, telefonsamtale, eller en U2F-sikkerhetsnøkkel.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Verifiser med Duo Security for din organisasjon gjennom Duo Mobile-appen, SMS, telefonsamtale, eller en U2F-sikkerhetsnøkkel.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Bruk enhver FIDO U2F-aktivert sikkerhetsnøkkel til å få tilgang til kontoen din." - }, - "u2fTitle": { - "message": "FIDO U2F-sikkerhetsnøkkel" - }, - "emailTitle": { - "message": "E-post" - }, - "emailDesc": { - "message": "Verifiseringskoder vil bli sendt til deg med E-post." - }, - "continue": { - "message": "Fortsett" - }, - "organization": { - "message": "Organisasjon" - }, - "organizations": { - "message": "Organisasjoner" - }, - "shareDesc": { - "message": "Velg en organisasjon som du ønsker å dele dette objektet med. Deling overfører objektets eierskap til organisasjonen. Du vil ikke lenger være den direkte eieren av dette objektet når det først har blitt delt." - }, - "shareManyDesc": { - "message": "Velg en organisasjon som du ønsker å dele disse objektene med. Deling overfører objektenes eierskap til organisasjonen. Du vil ikke lenger være den direkte eieren av disse objektene når de først har blitt delt." - }, - "collectionsDesc": { - "message": "Rediger samlingene som dette objektet blir delt med. Kun organisasjonsbrukere med tilgang til disse samlingene vil kunne se dette objektet." - }, - "deleteSelectedItemsDesc": { - "message": "Du har valgt $COUNT$ gjenstand(er) som skal slettes. Er du sikker på du vil slette alle disse gjenstandene?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Velg en mappe som du ønsker å flytte $COUNT$ valgt(e) gjenstand(er) til.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "Du har valgt $COUNT$ gjenstand(er). $SHAREABLE_COUNT$ gjenstander kan deles, $NONSHAREABLE_COUNT$ kan ikke deles.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Verifiseringskode (TOTP)" - }, - "copyVerificationCode": { - "message": "Kopier verifiseringskoden" - }, - "warning": { - "message": "Advarsel" - }, - "confirmVaultExport": { - "message": "Confirm Vault Export" - }, - "exportWarningDesc": { - "message": "Eksporten inneholder dine hvelvdataer i et ukryptert format. Du burde ikke lagre eller sende den eksporterte filen over usikre tjenester (f.eks. E-post). Slett det umiddelbart etter at du er ferdig med å bruke dem." - }, - "encExportWarningDesc": { - "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." - }, - "exportMasterPassword": { - "message": "Skriv inn ditt superpassord for å eksportere dine hvelvdataer." - }, - "exportVault": { - "message": "Eksporter hvelvet" - }, - "fileFormat": { - "message": "Filformat" - }, - "exportSuccess": { - "message": "Ditt hvelvs data har blitt eksportert." - }, - "passwordGenerator": { - "message": "Passordgenerator" - }, - "minComplexityScore": { - "message": "Minimumspoengsum for kompleksistet" - }, - "minNumbers": { - "message": "Minst antall numre" - }, - "minSpecial": { - "message": "Minst antall spesialtegn", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Unngå tegn som kan forveksles" - }, - "regeneratePassword": { - "message": "Omgenerer et passord" - }, - "length": { - "message": "Lengde" - }, - "numWords": { - "message": "Antall ord" - }, - "wordSeparator": { - "message": "Ordadskiller" - }, - "capitalize": { - "message": "Stor forbokstav", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Inkluder nummer" - }, - "passwordHistory": { - "message": "Passordhistorikk" - }, - "noPasswordsInList": { - "message": "Det er ingen passord å liste opp." - }, - "clear": { - "message": "Tøm", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Kontoen er oppdatert" - }, - "changeEmail": { - "message": "Endre e-postadresse" - }, - "newEmail": { - "message": "Ny E-postadresse" - }, - "code": { - "message": "Kode" - }, - "changeEmailDesc": { - "message": "Vi har sendt en E-post med en verifiseringskode til $EMAIL$. Vennligst se etter koden i E-postinnboksen din, og skriv den inn nedenfor for å endeliggjøre din E-postadresseendring.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Å fortsette vil logge deg ut av din nåværende økt, og krever at du logger deg på igjen. Aktive økter på andre enheter kan forbli aktive i opptil en time." - }, - "emailChanged": { - "message": "E-postadressen er endret" - }, - "logBackIn": { - "message": "Vennligst logg på igjen." - }, - "logBackInOthersToo": { - "message": "Vennligst logg inn på nytt. Dersom du bruker andre Bitwarden-apper og -programmer, logg av og på på dem også." - }, - "changeMasterPassword": { - "message": "Endre superpassordet" - }, - "masterPasswordChanged": { - "message": "Superpassordet er endret" - }, - "currentMasterPass": { - "message": "Det nåværende superpassordet" - }, - "newMasterPass": { - "message": "Nytt superpassord" - }, - "confirmNewMasterPass": { - "message": "Bekreft det nye superpassordet" - }, - "encKeySettings": { - "message": "Innstillinger for krypteringsnøkkel" - }, - "kdfAlgorithm": { - "message": "KDF-algoritme" - }, - "kdfIterations": { - "message": "KDF-gjentakelser" - }, - "kdfIterationsDesc": { - "message": "Flere KDF-gjentakelser kan hjelpe til med å beskytte superpassordet fra å bli tvunget inn i av en angriper. Vi anbefaler en verdi på $VALUE$ eller mer.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Å velge for mange KDF-gjentakelser kan føre til dårlig ytelse når du logger inn på (og låser opp) Bitwarden på enheter med tregere CPUer. Vi anbefaler at du øker verdien trinnvis, $INCREMENT$ om gangen, og å så teste det på alle dine enheter.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Endre KDF" - }, - "encKeySettingsChanged": { - "message": "Krypteringsnøkkelinnstillingene har blitt endret" - }, - "dangerZone": { - "message": "Faresone" - }, - "dangerZoneDesc": { - "message": "Vær forsiktig, disse handlingene kan ikke reverseres!" - }, - "deauthorizeSessions": { - "message": "Fjern autorisering av økter" - }, - "deauthorizeSessionsDesc": { - "message": "Er du bekymret for at kontoen din er pålogget på en annen enhet? Fortsett nedenfor for å fjerne autoriseringen til alle datamaskiner eller enheter som du tidligere har brukt. Dette sikkerhetstrinnet er anbefalt dersom du tidligere har brukt en offentlig PC eller lagret passordet ditt ved et uhell på en enhet som ikke er din. Dette trinnet vil også fjerne alle tidligere huskede 2-trinnsinnloggingsøkter." - }, - "deauthorizeSessionsWarning": { - "message": "Å fortsette vil også logge deg av din nåværende økt, og gjør at du vil måtte logge på igjen. Du vil også bli bedt om 2-trinnsinnlogging igjen, dersom det er aktivert. Aktive økter på andre enheter kan kanskje forbli aktive i opptil en time." - }, - "sessionsDeauthorized": { - "message": "Alle økter har mistet autoriseringen" - }, - "purgeVault": { - "message": "Tøm hvelvet" - }, - "purgedOrganizationVault": { - "message": "Tømte organisasjonens hvelv." - }, - "purgeVaultDesc": { - "message": "Fortsett nedenfor for å slette alle objektet og mapper i ditt hvelv. Objekter som tilhører en organisasjon som du deler med, vil ikke bli slettet." - }, - "purgeOrgVaultDesc": { - "message": "Fortsett nedenfor for å slette alle objektene i organisasjonens hvelv." - }, - "purgeVaultWarning": { - "message": "Å tømme hvelvet ditt er permanent. Det kan ikke bli angret på." - }, - "vaultPurged": { - "message": "Hvelvet ditt har blitt tømt." - }, - "deleteAccount": { - "message": "Slett kontoen din" - }, - "deleteAccountDesc": { - "message": "Fortsett nedenfor for å slette din konto og alle dens tilknyttede data." - }, - "deleteAccountWarning": { - "message": "Å slette kontoen din er permanent. Det kan ikke bli angret på." - }, - "accountDeleted": { - "message": "Kontoen er slettet" - }, - "accountDeletedDesc": { - "message": "Kontoen din har blitt avsluttet, og alle dens tilkoblede data har blitt slettet." - }, - "myAccount": { - "message": "Min konto" - }, - "tools": { - "message": "Verktøy" - }, - "importData": { - "message": "Importer data" - }, - "importSuccess": { - "message": "Dataene har blitt vellykket importert inn i hvelvet ditt." - }, - "importFormatError": { - "message": "Dataene er ikke formattert riktig. Vennligst sjekk importfilen din og prøv igjen." - }, - "importNothingError": { - "message": "Ingenting ble importert." - }, - "selectFormat": { - "message": "Velg formatet til importfilen" - }, - "selectImportFile": { - "message": "Velg importfilen" - }, - "orCopyPasteFileContents": { - "message": "eller kopier og lim inn importfilens innhold" - }, - "instructionsFor": { - "message": "$NAME$-instrukser", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Alternativer" - }, - "optionsDesc": { - "message": "Tilpass din netthvelvopplevelse." - }, - "optionsUpdated": { - "message": "Innstillingene er oppdatert" - }, - "language": { - "message": "Språk" - }, - "languageDesc": { - "message": "Endre språket som brukes av netthvelvet." - }, - "disableIcons": { - "message": "Skru av nettstedsikoner" - }, - "disableIconsDesc": { - "message": "Nettstedsikoner sørger for et gjenkjennelig bilde ved siden av hvert innloggingsobjekt i hvelvet ditt." - }, - "enableGravatars": { - "message": "Skru på Gravatarer", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Bruk avatarbilder som har blitt lastet inn fra gravatar.com." - }, - "enableFullWidth": { - "message": "Enable Full Width Layout", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Allow the web vault to expand the full width of the browser window." - }, - "default": { - "message": "Standard" - }, - "domainRules": { - "message": "Domeneregler" - }, - "domainRulesDesc": { - "message": "Hvis du har den samme innloggingen på flere forskjellige nettstedsdomene, kan du merke nettstedet som \"tilsvarende\". \"Forvalgte\" domener er de som har blitt forhåndsvalgt for deg av Bitwarden." - }, - "globalEqDomains": { - "message": "Standard samsvaringsdomener" - }, - "customEqDomains": { - "message": "Selvvalgte samsvaringsdomener" - }, - "exclude": { - "message": "Ekskluder" - }, - "include": { - "message": "Inkluder" - }, - "customize": { - "message": "Tilpass" - }, - "newCustomDomain": { - "message": "Nytt tilpasset domene" - }, - "newCustomDomainDesc": { - "message": "Skriv inn en liste over domener som er adskilt med kommaer. Bare grunndomener er tillatt. Ikke skriv inn underdomener. For eksempel, skriv inn \"google.no\" i stedet for \"www.google.no\". Du kan også skrive inn \"androidapp://pakkens.navn\" for å knytte en Android-app sammen med andre nettstedsdomener." - }, - "customDomainX": { - "message": "Tilpasset domene nr. $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Domenene er oppdatert" - }, - "twoStepLogin": { - "message": "2-trinnsinnlogging" - }, - "twoStepLoginDesc": { - "message": "Sikre kontoen din ved å kreve et ekstra trinn når du logger på." - }, - "twoStepLoginOrganizationDesc": { - "message": "Krev 2-trinnsinnlogging for din organisasjons brukere, ved å sette opp leverandører på organisasjonsnivået." - }, - "twoStepLoginRecoveryWarning": { - "message": "Å skru på 2-trinnsinnlogging kan låse deg permanent ut av din Bitwarden-konto. En gjenopprettingskode gir deg tilgang til kontoen din i det tilfellet at du ikke lenger kan bruke din vanlige 2-trinnsinnloggingsleverandør (f.eks. at du mister enheten din). Bitwarden-kundestøtten vil ikke kunne hjelpe deg dersom du mister tilgang til kontoen din. Vi anbefaler at du skriver ned eller skriver ut gjenopprettingskoden og legger den på en trygg plass." - }, - "viewRecoveryCode": { - "message": "Vis gjenopprettingskode" - }, - "providers": { - "message": "Leverandører", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Aktiver" - }, - "enabled": { - "message": "Aktivert" - }, - "premium": { - "message": "Premium", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Premium-medlemskap" - }, - "premiumRequired": { - "message": "Premium er påkrevd" - }, - "premiumRequiredDesc": { - "message": "Et Premium-medlemskap er påkrevd for å bruke denne funksjonen." - }, - "youHavePremiumAccess": { - "message": "Du har Premium-tilgang" - }, - "alreadyPremiumFromOrg": { - "message": "Du har allerede tilgang til Premium-funksjoner takket være en organisasjon som du er medlem av." - }, - "manage": { - "message": "Behandle" - }, - "disable": { - "message": "Deaktiver" - }, - "twoStepLoginProviderEnabled": { - "message": "Denne 2-trinnsleverandøren er aktivert på din konto." - }, - "twoStepLoginAuthDesc": { - "message": "Skriv inn ditt superpassord for å endre på 2-trinnsinnloggingsinnstillingene." - }, - "twoStepAuthenticatorDesc": { - "message": "Følg disse trinnene for å sette opp 2-trinnsinnlogging med en autentiseringsapp:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Last ned en 2-trinnsinnloggingsapp" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Trenger du en 2-trinnsinnloggingsapp? Last ned en av de følgende" - }, - "iosDevices": { - "message": "iOS-enheter" - }, - "androidDevices": { - "message": "Android-enheter" - }, - "windowsDevices": { - "message": "Windows-enheter" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "Disse appene er anbefalt, men andre autentiseringsapper vil også fungere." - }, - "twoStepAuthenticatorScanCode": { - "message": "Skann denne QR-koden med din autentiseringsapp" - }, - "key": { - "message": "Nøkkel" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Skriv inn den påfølgende 6-sifrede verifiseringskoden fra appen" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "Dersom du trenger å legge den til til en annen enhet, er QR-koden (eller -nøkkelen) som kreves av din autentiseringsapp nedenfor." - }, - "twoStepDisableDesc": { - "message": "Er du sikker på at du vil skru av denne 2-trinnsinnloggingsleverandøren?" - }, - "twoStepDisabled": { - "message": "2-trinnsinnloggingsleverandøren har blitt skrudd av." - }, - "twoFactorYubikeyAdd": { - "message": "Legg til en ny YubiKey til din konto" - }, - "twoFactorYubikeyPlugIn": { - "message": "Sett YubiKey-en (fra NEO- eller 4-seriene) inn i din datamaskins USB-port." - }, - "twoFactorYubikeySelectKey": { - "message": "Velg det første tomme YubiKey-inndatafeltet nedenfor." - }, - "twoFactorYubikeyTouchButton": { - "message": "Trykk på YubiKey-ens knapp." - }, - "twoFactorYubikeySaveForm": { - "message": "Lagre skjemaet." - }, - "twoFactorYubikeyWarning": { - "message": "På grunn av plattformbegrensninger, kan YubiKey-er ikke bli brukt på alle Bitwarden-apper. Du burde skru på en annen 2-trinnsinnloggingsleverandør, sånn at du kan få tilgang til din konto når YubiKeys ikke kan bli brukt. Støttede plattformer:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Netthvelvet, datamaskinprogrammet, CLI, og alle nettleserutvidelser, på en enhet med en USB-port som støtter din YubiKey." - }, - "twoFactorYubikeySupportMobile": { - "message": "Mobilapper på en enhet med NFC-funksjoner, eller som har en USB-port som støtter din YubiKey." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "U2F-nøkkel $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "NFC-støtte" - }, - "twoFactorYubikeySupportsNfc": { - "message": "En av mine YubiKey-er støtter NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "Dersom en av dine YubiKey-er støtter NFC (f.eks. en YubiKey NEO), vil du på mobilenheter bli bedt om det når enn NFC-støtte blir oppdaget." - }, - "yubikeysUpdated": { - "message": "YubiKey-ene har blitt oppdatert" - }, - "disableAllKeys": { - "message": "Deaktiver alle YubiKey-ene" - }, - "twoFactorDuoDesc": { - "message": "Skriv inn Bitwarden-appinformasjonen i ditt Duo Admin-panel." - }, - "twoFactorDuoIntegrationKey": { - "message": "Integreringsnøkkel" - }, - "twoFactorDuoSecretKey": { - "message": "Hemmelig nøkkel" - }, - "twoFactorDuoApiHostname": { - "message": "API-vertsnavn" - }, - "twoFactorEmailDesc": { - "message": "Følg disse trinnene for å sette opp 2-trinnsinnlogging med E-post:" - }, - "twoFactorEmailEnterEmail": { - "message": "Skriv inn E-posten som du vil bruke til å motta verifiseringskoder" - }, - "twoFactorEmailEnterCode": { - "message": "Skriv inn den påfølgende 6-sifrede verifiseringskoden fra E-posten" - }, - "sendEmail": { - "message": "Send en E-post" - }, - "twoFactorU2fAdd": { - "message": "Legg til en FIDO U2F-sikkerhetsnøkkel til din konto" - }, - "removeU2fConfirmation": { - "message": "Er du sikker på at du vil fjerne denne sikkerhetsnøkkelen?" - }, - "readKey": { - "message": "Les nøkkel" - }, - "keyCompromised": { - "message": "Nøkkelen er kompromittert." - }, - "twoFactorU2fGiveName": { - "message": "Gi sikkerhetsnøkkelen et vennlig navn for å identifisere den." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Sett sikkerhetsnøkkelen inn i din datamaskins USB-port, og klikk på «Les nøkkel»-knappen." - }, - "twoFactorU2fTouchButton": { - "message": "Dersom sikkerhetsnøkkelen har en knapp, trykk på den." - }, - "twoFactorU2fSaveForm": { - "message": "Lagre skjemaet." - }, - "twoFactorU2fWarning": { - "message": "På grunn av plattformbegrensninger, kan FIDO U2F ikke bli brukt på alle Bitwarden-apper. Du burde skru på en annen 2-trinnsinnloggingsleverandør, sånn at du kan få tilgang til din konto når FIDO U2F ikke kan bli brukt. Støttede plattformer:" - }, - "twoFactorU2fSupportWeb": { - "message": "Netthvelv og nettleserutvidelser, på en datamaskin med en U2F-støttende nettleser (Chrome, Opera, Vivaldi, eller Firefox med FIDO U2F aktivert)." - }, - "twoFactorU2fWaiting": { - "message": "Venter på at du skal trykke på knappen på din sikkerhetsnøkkel" - }, - "twoFactorU2fClickSave": { - "message": "Klikk på «Lagre»-knappen nedenfor for å aktivere denne sikkerhetsnøkkelen for 2-trinnsinnlogging." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "Det oppsto et problem med å lese sikkerhetsnøkkelen. Prøv igjen." - }, - "twoFactorRecoveryYourCode": { - "message": "Din 2-trinnsinnloggingsgjenopprettingskode for Bitwarden" - }, - "twoFactorRecoveryNoCode": { - "message": "Du har ikke aktivert noen 2-trinnsinnloggingsleverandører ennå. Etter at du har aktivert en 2-trinnsinnloggingsleverandør, kan du komme tilbake hit for å se din gjenopprettingskode." - }, - "printCode": { - "message": "Skriv ut koden", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Rapporter" - }, - "unsecuredWebsitesReport": { - "message": "Rapport om usikrede nettsteder" - }, - "unsecuredWebsitesReportDesc": { - "message": "Å bruke usikrede nettsteder som benytter http://, kan være farlig. Dersom nettstedet tillater det, burde du alltid besøke det gjennom https://, slik at tilkoblingen din er kryptert." - }, - "unsecuredWebsitesFound": { - "message": "Usikrede nettsteder ble funnet" - }, - "unsecuredWebsitesFoundDesc": { - "message": "Vi fant $COUNT$ elementer i hvelvet ditt som benytter usikrede URIer. Du burde endre deres URI til å benytte https://, dersom det nettstedet tillater det.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "Ingen gjenstander i hvelvet ditt har usikrede URI-er." - }, - "inactive2faReport": { - "message": "Rapport om 2FA-nettsteder" - }, - "inactive2faReportDesc": { - "message": "2-trinnsinnlogging (2FA) er en viktig sikkerhetsinnstilling som hjelper til med å sikre kontoene dine. Dersom det nettstedet tillater det, burde du alltid skru på 2-trinnsinnlogging." - }, - "inactive2faFound": { - "message": "Pålogginger som støtter 2FA ble funnet" - }, - "inactive2faFoundDesc": { - "message": "Vi fant $COUNT$ nettsted(er) i hvelvet ditt som kanskje eller kanskje ikke er satt opp for 2-trinnsinnlogging (i følge 2fa.directory). For å beskytte disse kontoene ytterligere, burde du skru på 2-trinnsinnlogging.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "Ingen nettsteder som støtter 2-trinnsinnlogging i følge 2fa.directory ble funnet i hvelvet ditt." - }, - "instructions": { - "message": "Instruksjoner" - }, - "exposedPasswordsReport": { - "message": "Rapport om eksponerte passord" - }, - "exposedPasswordsReportDesc": { - "message": "Eksponerte passord er passord som har blitt oppdaget i kjente databrudd som har blitt offentliggjort eller solgt på det mørke nettet av hackere." - }, - "exposedPasswordsFound": { - "message": "Eksponerte passord ble funnet" - }, - "exposedPasswordsFoundDesc": { - "message": "Vi fant $COUNT$ gjenstander i hvelvet ditt som har passord som er eksponert i kjente databrudd. Du burde endre passordene deres til noe nytt.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "Ingen elementer i hvelvet ditt har passord som har vært eksponert i kjente databrudd." - }, - "checkExposedPasswords": { - "message": "Sjekk eksponerte passord" - }, - "exposedXTimes": { - "message": "Eksponert $COUNT$ gang(er)", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Rapport om svake passord" - }, - "weakPasswordsReportDesc": { - "message": "Svake passord kan lett bli gjettet på av hackere og automatiserte verktøy som brukes til å knekke passord. Bitwarden sin passordgenerator kan hjelpe deg med å opprette sterke passord." - }, - "weakPasswordsFound": { - "message": "Svake passord ble funnet" - }, - "weakPasswordsFoundDesc": { - "message": "Vi fant $COUNT$ elementer i hvelvet ditt som har passord som ikke er sterke. Du burde endre dem slik at de har sterkere passord.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "Ingen elementer i hvelvet ditt har svake passord." - }, - "reusedPasswordsReport": { - "message": "Rapport om gjenbrukte passord" - }, - "reusedPasswordsReportDesc": { - "message": "Dersom en tjeneste du bruker er kompromittert, kan det å benytte samme passord flere steder gjøre at hackere lett får tilgang til flere av nettkontoene dine. Du burde bruke et unikt passord for hver konto eller tjeneste." - }, - "reusedPasswordsFound": { - "message": "Gjenbrukte passord ble funnet" - }, - "reusedPasswordsFoundDesc": { - "message": "Vi fant $COUNT$ passord som blir gjenbrukt i hvelvet ditt. Du burde endre dem slik at de er unike.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "Ingen innlogginger i hvelvet ditt har passord som blir gjenbrukt." - }, - "reusedXTimes": { - "message": "Gjenbrukt $COUNT$ ganger", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Databruddrapporter" - }, - "breachDesc": { - "message": "Et \"databrudd\" er en hendelse hvor hackere har fått tilgang til et nettsteds dataer på ulovlig vis og så sluppet dem ut i offentlighet. Gå gjennom datatypene som ble kompromittert (E-postadresser, passord, bankkort, osv.) og ta handling deretter, slik som å endre passord." - }, - "breachCheckUsernameEmail": { - "message": "Sjekk noen av brukernavnene eller E-postadressene som du bruker." - }, - "checkBreaches": { - "message": "Sjekk databrudd" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ ble ikke funnet i noen kjente databrudd.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Gode nyheter", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ ble funnet i $COUNT$ forskjellige databrudd på nettet.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Inntrengte kontoer ble funnet" - }, - "compromisedData": { - "message": "Kompromitterte data" - }, - "website": { - "message": "Nettsted" - }, - "affectedUsers": { - "message": "Påvirkede brukere" - }, - "breachOccurred": { - "message": "Databruddet hendte den" - }, - "breachReported": { - "message": "Databruddet ble meldt ifra om den" - }, - "reportError": { - "message": "En feil oppstod under forsøk på å laste inn rapporten. Prøv igjen." - }, - "billing": { - "message": "Fakturering" - }, - "accountCredit": { - "message": "Kontokreditt", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Saldo", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Legg til kreditt", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Beløp", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Lagt til kreditt vil vises på kontoen din etter at betalingen er fullstendig behandlet. Noen betalingsmetoder er forsinket og kan ta lengre tid å behandle enn andre." - }, - "makeSureEnoughCredit": { - "message": "Vær sikker på at kontoen din har nok kreditt tilgjengelig for dette kjøpet. Hvis kontoen din ikke har nok kreditt tilgjengelig, vil standard betalingsmåten din bli brukt til forskjellen. Du kan legge til kreditt på kontoen din på Faktureringssiden." - }, - "creditAppliedDesc": { - "message": "Kontoens kreditt kan brukes til kjøp. Eventuell tilgjengelig kreditt vil automatisk bli brukt mot fakturaer generert for denne kontoen." - }, - "goPremium": { - "message": "Oppgrader til Premium", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "Du har oppgradert til Premium." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Oppgrader kontoen din til et Premium-medlemsskap og lås opp noen strålende ekstra egenskaper." - }, - "premiumSignUpStorage": { - "message": "1 GB med kryptert fillagring." - }, - "premiumSignUpTwoStep": { - "message": "Ytterligere 2-trinnsinnloggingsmuligheter, slik som YubiKey, FIDO U2F, og Duo." - }, - "premiumSignUpReports": { - "message": "Passordhygiene, kontohelse, og databruddsrapporter som holder hvelvet ditt trygt." - }, - "premiumSignUpTotp": { - "message": "TOTP-verifiseringskodegenerator (2FA) for innlogginger i ditt hvelv." - }, - "premiumSignUpSupport": { - "message": "Prioritert kundestøtte." - }, - "premiumSignUpFuture": { - "message": "Alle fremtidige Premium-egenskaper. Mere er planlagt snart!" - }, - "premiumPrice": { - "message": "Alt dette for bare $PRICE$/år!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Utvidelser" - }, - "premiumAccess": { - "message": "Premium tilgang" - }, - "premiumAccessDesc": { - "message": "Du kan gi Premium-tilgang til alle brukere i din organisasjon for $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Ytterligere lagringsplass (GB)" - }, - "additionalStorageGbDesc": { - "message": "Antall ekstra GB" - }, - "additionalStorageIntervalDesc": { - "message": "Din funksjonsplan kommer med $SIZE$ kryptert fillagring. Du kan legge til ytterligere lagring for $PRICE$ per GB per $INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Sammendrag" - }, - "total": { - "message": "Totalt" - }, - "year": { - "message": "år" - }, - "month": { - "message": "måned" - }, - "monthAbbr": { - "message": "må.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Din betalingsmetode vil bli trekt umiddelbart og deretter på en gjentakende basis hvert år. Du kan avbryte det til enhver tid." - }, - "paymentCharged": { - "message": "Betalingsmåten din belastes umiddelbart og deretter hver gang $INTERVAL$. Du kan kansellere når som helst.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Funksjonsplanen din kommer med en gratis 7-dagersprøveperiode. Din betalingsmetode vil ikke bli trekt før prøveperiode har utløpt. Regningstrekk vil skje på en gjentakende basis hver(t) $INTERVAL$. Du kan avbryte når som helst.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Betalingsinformasjon" - }, - "billingInformation": { - "message": "Billing Information" - }, - "creditCard": { - "message": "Bankkort" - }, - "paypalClickSubmit": { - "message": "Klikk på PayPal-knappen for å logge på din PayPal-konto, og så klikk på «Send inn»-knappen nedenfor for å fortsette." - }, - "cancelSubscription": { - "message": "Avbryt abonnementet" - }, - "subscriptionCanceled": { - "message": "Abonnementet har blitt avbrutt." - }, - "pendingCancellation": { - "message": "Avventer planlagt avbrytelse" - }, - "subscriptionPendingCanceled": { - "message": "Abonnementet har blitt øremerket for avbrytelse etter den nåværende regningsperioden." - }, - "reinstateSubscription": { - "message": "Gjeninnfør abonnementet" - }, - "reinstateConfirmation": { - "message": "Er du sikker på at du vil fjerne den avventende avbrytelsesforespørselen og i stedet gjeninnføre abonnementet ditt?" - }, - "reinstated": { - "message": "Abonnementet har blitt gjeninnført." - }, - "cancelConfirmation": { - "message": "Er du sikker på at du vil avbryte? Du vil miste tilgang til alle funksjonene til dette abonnementet etter den inneværende regningsperioden." - }, - "canceledSubscription": { - "message": "Abonnementet har blitt avbrutt." - }, - "neverExpires": { - "message": "Utløper aldri" - }, - "status": { - "message": "Status" - }, - "nextCharge": { - "message": "Neste trekk" - }, - "details": { - "message": "Detaljer" - }, - "downloadLicense": { - "message": "Last ned lisens" - }, - "updateLicense": { - "message": "Oppdater lisens" - }, - "updatedLicense": { - "message": "Oppdaterte lisensen" - }, - "manageSubscription": { - "message": "Behandle abonnementet" - }, - "storage": { - "message": "Lagring" - }, - "addStorage": { - "message": "Legg til lagring" - }, - "removeStorage": { - "message": "Fjern lagring" - }, - "subscriptionStorage": { - "message": "Ditt abonnement har totalt $MAX_STORAGE$GB med kryptert fillagring til rådighet. Du bruker for øyeblikket $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Betalingsmetode" - }, - "noPaymentMethod": { - "message": "Ingen lagrede betalingsmetoder." - }, - "addPaymentMethod": { - "message": "Legg til betalingsmetode" - }, - "changePaymentMethod": { - "message": "Endre betalingsmetoden" - }, - "invoices": { - "message": "Fakturaer" - }, - "noInvoices": { - "message": "Ingen fakturaer." - }, - "paid": { - "message": "Betalt", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Ikke betalt", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Transaksjoner", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "Ingen transaksjoner." - }, - "chargeNoun": { - "message": "Trekk", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Refusjon", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Ethvert trekk vil dukke opp i bankkontooppsummeringen din som $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "Antall GB lagring som skal legges til" - }, - "gbStorageRemove": { - "message": "Antall GB lagring som skal fjernes" - }, - "storageAddNote": { - "message": "Å legge til lagring vil føre til justeringer i dine regningssummer og vil umiddelbart trekke fra den lagrede betalingsmetoden din. Det første trekket vil bli fordelt utover resten av den nåværende regningsperioden." - }, - "storageRemoveNote": { - "message": "Å fjerne lagring vil føre til justeringer i dine regningssummer som vil bli fordelt som kreditt opp mot ditt neste regningstrekk." - }, - "adjustedStorage": { - "message": "Justerte $AMOUNT$GB med lagring.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Ta kontakt med kundestøtte" - }, - "updatedPaymentMethod": { - "message": "Oppdaterte betalingsmetoden." - }, - "purchasePremium": { - "message": "Kjøp Premium" - }, - "licenseFile": { - "message": "Lisensfil" - }, - "licenseFileDesc": { - "message": "Lisensfilen din vil være navngitt noe i retning $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "For å oppgradere kontoen din til et Premium-medlemsskap, vil du måtte laste opp en gyldig lisensfil." - }, - "uploadLicenseFileOrg": { - "message": "For å opprette en lokalt betjent organisasjon, vil måtte laste opp en gyldig lisensfil." - }, - "accountEmailMustBeVerified": { - "message": "Din kontos E-postadresse må bli verifisert." - }, - "newOrganizationDesc": { - "message": "Organisasjoner gjør at du kan dele deler av hvelvet ditt med andre, i tillegg til å behandle relaterte brukere for en spesifikk enhet, f.eks. en familie, et lite lag, eller et stort firma." - }, - "generalInformation": { - "message": "Generell informasjon" - }, - "organizationName": { - "message": "Organisasjonens navn" - }, - "accountOwnedBusiness": { - "message": "Denne kontoen er eid av et firma." - }, - "billingEmail": { - "message": "E-post for fakturering" - }, - "businessName": { - "message": "Firmaets navn" - }, - "chooseYourPlan": { - "message": "Velg din funksjonsplan" - }, - "users": { - "message": "Brukere" - }, - "userSeats": { - "message": "Brukerseter" - }, - "additionalUserSeats": { - "message": "Ekstra brukerseter" - }, - "userSeatsDesc": { - "message": "Antall brukerseter" - }, - "userSeatsAdditionalDesc": { - "message": "Planen din kommer $BASE_SEATS$ brukerseter. Du kan legge til ekstra brukere for $SEAT_PRICE$ per bruker per måned.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "Hvor mange brukerseter behøver du? Du kan også legge til ekstra seter senere dersom det skulle bli nødvendig." - }, - "planNameFree": { - "message": "Gratis", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "For testing eller personlige brukere til å dele med $COUNT$ annen bruker(e).", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Familier" - }, - "planDescFamilies": { - "message": "For personlig bruk, til å dele med familie og venner." - }, - "planNameTeams": { - "message": "Lag (Teams)" - }, - "planDescTeams": { - "message": "For firmaer og andre lagorganisasjoner." - }, - "planNameEnterprise": { - "message": "Bedrift" - }, - "planDescEnterprise": { - "message": "For firmaer og andre store organisjoner." - }, - "freeForever": { - "message": "Gratis for evig og alltid" - }, - "includesXUsers": { - "message": "inkluderer $COUNT$ brukere", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Ekstra brukere" - }, - "costPerUser": { - "message": "$COST$ per bruker", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Begrenset til $COUNT$ brukere (inkludert deg)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Begrenset til $COUNT$ samlinger", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Legg til og del med opptil $COUNT$ brukere", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Legg til og del med et ubegrenset antall brukere" - }, - "createUnlimitedCollections": { - "message": "Lag ubegrenset med samlinger" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ kryptert fillagring", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "Lokal betjening (valgfritt)" - }, - "usersGetPremium": { - "message": "Brukerne får tilgang til Premium-medlemskapsfunksjoner" - }, - "controlAccessWithGroups": { - "message": "Kontroller brukertilgang med grupper" - }, - "syncUsersFromDirectory": { - "message": "Synkroniser dine brukere og grupper fra en mappe" - }, - "trackAuditLogs": { - "message": "Spor brukerhandlinger med undersøkingslogger" - }, - "enforce2faDuo": { - "message": "Krev 2FA med Duo" - }, - "priorityCustomerSupport": { - "message": "Prioritert kundestøtte" - }, - "xDayFreeTrial": { - "message": "$COUNT$-dagers gratis prøveperiode, avbryt når som helst", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Månedlig" - }, - "annually": { - "message": "Årlig" - }, - "basePrice": { - "message": "Grunnpris" - }, - "organizationCreated": { - "message": "Organisasjonen ble opprettet" - }, - "organizationReadyToGo": { - "message": "Din nye organisasjon er klar til å begynne!" - }, - "organizationUpgraded": { - "message": "Din organisasjon har blitt oppgradert." - }, - "leave": { - "message": "Forlat" - }, - "leaveOrganizationConfirmation": { - "message": "Er du sikker på at du vil forlate denne organisasjonen?" - }, - "leftOrganization": { - "message": "Du har forlatt organisasjonen." - }, - "defaultCollection": { - "message": "Standardsamling" - }, - "getHelp": { - "message": "Få hjelp" - }, - "getApps": { - "message": "Hent appene" - }, - "loggedInAs": { - "message": "Pålogget som" - }, - "eventLogs": { - "message": "Hendelsesloggbøker" - }, - "people": { - "message": "Personer" - }, - "policies": { - "message": "Vilkår" - }, - "editPolicy": { - "message": "Endre vilkår" - }, - "groups": { - "message": "Grupper" - }, - "newGroup": { - "message": "Ny gruppe" - }, - "addGroup": { - "message": "Legg til gruppe" - }, - "editGroup": { - "message": "Rediger gruppe" - }, - "deleteGroupConfirmation": { - "message": "Er du sikker på at du vil slette denne gruppen?" - }, - "removeUserConfirmation": { - "message": "Er du sikker på at du vil slette denne brukeren?" - }, - "externalId": { - "message": "Ekstern ID" - }, - "externalIdDesc": { - "message": "Den eksterne Id-en kan brukes som referanse eller for å koble denne ressursen til et eksternt system, for eksempel en brukerkatalog." - }, - "accessControl": { - "message": "Tilgangsstyring" - }, - "groupAccessAllItems": { - "message": "Denne gruppen kan få tilgang til og modifisere alle gjenstander." - }, - "groupAccessSelectedCollections": { - "message": "Denne gruppen har bare tilgang til de valgte samlingene." - }, - "readOnly": { - "message": "Skrivebeskyttet" - }, - "newCollection": { - "message": "Ny samling" - }, - "addCollection": { - "message": "Legg til samling" - }, - "editCollection": { - "message": "Rediger samling" - }, - "deleteCollectionConfirmation": { - "message": "Er du sikker på at du vil slette denne samlingen?" - }, - "editUser": { - "message": "Rediger bruker" - }, - "inviteUser": { - "message": "Inviter bruker" - }, - "inviteUserDesc": { - "message": "Inviter en ny bruker til din organisasjon ved å skrive inn E-postadressen til Bitwarden-kontoen deres nedenfor. Hvis de ikke allerede har en Bitwarden-konto, vil de bli forespurt om å lage en ny konto." - }, - "inviteMultipleEmailDesc": { - "message": "Du kan invitere opptil $COUNT$ brukere om gangen ved å komma-adskille en liste over E-postadresser.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "Denne brukeren bruker 2-trinnsinnlogging til å beskytte kontoen sin." - }, - "userAccessAllItems": { - "message": "Denne brukeren kan få tilgang til og modifisere alle gjenstander." - }, - "userAccessSelectedCollections": { - "message": "Denne brukeren har bare tilgang til de valgte samlingene." - }, - "search": { - "message": "Søk" - }, - "invited": { - "message": "Invitert" - }, - "accepted": { - "message": "Godtatt" - }, - "confirmed": { - "message": "Bekreftet" - }, - "owner": { - "message": "Eier" - }, - "ownerDesc": { - "message": "Høyestetilgangsbrukeren som kan behandle alle aspekter av din organisasjon." - }, - "admin": { - "message": "Admin" - }, - "adminDesc": { - "message": "Administratorer kan få tilgang til og behandle alle objekter, samlinger og brukere i din organisasjon." - }, - "user": { - "message": "Bruker" - }, - "userDesc": { - "message": "En vanlig bruker med tilgang til tilegnede samlinger i din organisasjon." - }, - "manager": { - "message": "Behandler" - }, - "managerDesc": { - "message": "Behandlere har tilgang til og kan behandle tilegnede samlinger i din organisasjon." - }, - "all": { - "message": "Alle" - }, - "refresh": { - "message": "Oppfrisk" - }, - "timestamp": { - "message": "Tidsstempel" - }, - "event": { - "message": "Hendelse" - }, - "unknown": { - "message": "Ukjent" - }, - "loadMore": { - "message": "Last inn mer" - }, - "mobile": { - "message": "Mobil", - "description": "Mobile app" - }, - "extension": { - "message": "Utvidelse", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Skrivebord", - "description": "Desktop app" - }, - "webVault": { - "message": "Netthvelv" - }, - "loggedIn": { - "message": "Pålogget." - }, - "changedPassword": { - "message": "Endret kontopassordet." - }, - "enabledUpdated2fa": { - "message": "Aktiverte/oppdaterte 2-trinnsinnloggingen." - }, - "disabled2fa": { - "message": "Skrudde av 2-trinnsinnlogging." - }, - "recovered2fa": { - "message": "Fikk tilgang til kontoen igjen med 2-trinnsinnlogging." - }, - "failedLogin": { - "message": "Innloggingsforsøket mislyktes grunnet feil passord." - }, - "failedLogin2fa": { - "message": "Innloggingsforsøket mislyktes grunnet feil 2-trinnsinnlogging." - }, - "exportedVault": { - "message": "Eksportert hvelv." - }, - "exportedOrganizationVault": { - "message": "Eksportert organisasjonshvelv." - }, - "editedOrgSettings": { - "message": "Redigerte organisasjonens innstillinger." - }, - "createdItemId": { - "message": "Lagde $ID$-gjenstanden.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Redigerte $ID$-gjenstanden.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Slettet $ID$-objektet.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Delte $ID$-gjenstanden.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Vist $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Vist passordet for elementet $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Vist skjult felt for elementet $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Vist sikkerhetskoden for elementet $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Kopiert passordet for elementet $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Kopiert skjult felt for elementet $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Kopiert sikkerhetskoden for elementet $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Automatisk utfylt element $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Lagde $ID$-samlingen.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Redigerte $ID$-samlingen.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Slettet $ID$-samlingen.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Endret vilkår $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Lagde $ID$-gruppen.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Redigerte $ID$-gruppen.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Slettet $ID$-gruppen.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Fjernet brukeren $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Lagde et vedlegg for $ID$-gjenstanden.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Slettet et vedlegg for $ID$-gjenstanden.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Redigerte samlingene til $ID$-gjenstanden.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Inviterte brukeren $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Bekreftet brukeren $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Redigerte brukeren $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Redigerte gruppene til brukeren $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Enhet" - }, - "view": { - "message": "Vis" - }, - "invalidDateRange": { - "message": "Ugyldig datoområde." - }, - "errorOccurred": { - "message": "En feil har oppstått." - }, - "userAccess": { - "message": "Brukertilgang" - }, - "userType": { - "message": "Brukertype" - }, - "groupAccess": { - "message": "Gruppetilgang" - }, - "groupAccessUserDesc": { - "message": "Rediger gruppene som denne brukeren tilhører." - }, - "invitedUsers": { - "message": "Inviterte bruker(e)." - }, - "resendInvitation": { - "message": "Send invitasjonen på nytt" - }, - "hasBeenReinvited": { - "message": "$USER$ har blitt invitert på nytt.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Bekreft" - }, - "confirmUser": { - "message": "Bekreft bruker" - }, - "hasBeenConfirmed": { - "message": "$USER$ har blitt bekreftet.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Bekreft brukere" - }, - "usersNeedConfirmed": { - "message": "Du har brukere som har akseptert sin invitasjon, men som fortsatt må bekreftes. Brukere vil ikke ha tilgang til organisasjonen før de er bekreftet." - }, - "startDate": { - "message": "Startdato" - }, - "endDate": { - "message": "Sluttdato" - }, - "verifyEmail": { - "message": "Bekreft E-postadresse" - }, - "verifyEmailDesc": { - "message": "Bekreft din kontos E-postadresse for å få tilgang til alle egenskapene." - }, - "verifyEmailFirst": { - "message": "Din kontos E-postadresse må først bli verifisert." - }, - "checkInboxForVerification": { - "message": "Se etter i din E-postkontos innboks for en verifiseringslenke." - }, - "emailVerified": { - "message": "Din E-postadresse har blitt bekreftet." - }, - "emailVerifiedFailed": { - "message": "Klarte ikke å bekrefte E-postadressen din. Prøv å sende en ny bekreftelses-E-post." - }, - "updateBrowser": { - "message": "Oppdater nettleseren" - }, - "updateBrowserDesc": { - "message": "Du bruker en ustøttet nettleser. Netthvelvet vil kanskje ikke fungere ordentlig." - }, - "joinOrganization": { - "message": "Bli med i organisasjon" - }, - "joinOrganizationDesc": { - "message": "Du har blitt invitert til å bli med i organisasjonen som er listet opp ovenfor. For å godkjenne invitasjonen, må du enten logge på eller lage en ny Bitwarden-konto." - }, - "inviteAccepted": { - "message": "Invitasjonen ble godkjent" - }, - "inviteAcceptedDesc": { - "message": "Du kan få tilgang til denne organisasjonen så fort en administrator godkjenner ditt medlemskap. Vi vil sende deg E-post når det skjer." - }, - "inviteAcceptFailed": { - "message": "Klarte ikke å godkjenne invitasjonen. Spør en organisasjonsadmin om å sende en ny invitasjon." - }, - "inviteAcceptFailedShort": { - "message": "Ikke i stand til å godta invitasjon. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Husk på E-postadressen" - }, - "recoverAccountTwoStepDesc": { - "message": "Hvis du ikke klarer å få tilgang til kontoen din gjennom dine vanlige 2-trinnsinnloggingsmetoder, kan du bruke din 2-trinnsinnloggingsgjenopprettingskode til å deaktivere alle 2-trinnsinnloggingsleverandører på din konto." - }, - "recoverAccountTwoStep": { - "message": "Få tilbake tilgangen til din kontos 2-trinnsinnlogging" - }, - "twoStepRecoverDisabled": { - "message": "2-trinnsinnlogging har blitt skrudd av på din konto." - }, - "learnMore": { - "message": "Lær mer" - }, - "deleteRecoverDesc": { - "message": "Skriv inn din E-postadresse nedenfor for å få tilbake tilgangen til og å slette din konto." - }, - "deleteRecoverEmailSent": { - "message": "Dersom kontoen din eksisterer, har vi sendt deg en E-post med ytterligere instrukser." - }, - "deleteRecoverConfirmDesc": { - "message": "Du har bedt om å slette Bitwarden-kontoen din. Klikk knappen nedenfor for å bekrefte." - }, - "myOrganization": { - "message": "Min organisasjon" - }, - "deleteOrganization": { - "message": "Slett organisasjonen" - }, - "deleteOrganizationDesc": { - "message": "Fortsett nedenfor for å slette denne organisasjonen og alle dens tilknyttede data. Individuelle brukerkontoer vil forbli igjen, skjønt de vil ikke være tilknyttet denne organisasjonen lenger. " - }, - "deleteOrganizationWarning": { - "message": "Å slette organisasjonen er permanent. Det kan ikke bli angret på." - }, - "organizationDeleted": { - "message": "Organisasjonen ble slettet" - }, - "organizationDeletedDesc": { - "message": "Organisasjonen og alle dens tilknyttede data ble slettet." - }, - "organizationUpdated": { - "message": "Organisasjonen ble oppdatert" - }, - "taxInformation": { - "message": "Skatteinformasjon" - }, - "taxInformationDesc": { - "message": "Vennligst kontakt kundestøtte for å sende inn (eller oppdatere) skatteinformasjonen til dine fakturaer." - }, - "billingPlan": { - "message": "Funksjonsplan", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Endre abonnement", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Oppgrader kontoen din til et annet abonnement ved å fylle inn informasjonen nedenfor. Sørg for at du har en aktiv betalingsmetode lagt til kontoen.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Kontakt kundestøtte dersom du vil endre funksjonsplanen din. Vennligst sørg for at du har en aktiv betalingsmetode lagt til i kontoen din.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Faktura #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "Se faktura" - }, - "downloadInvoice": { - "message": "Last ned faktura" - }, - "verifyBankAccount": { - "message": "Bekreft bankkontoen din" - }, - "verifyBankAccountDesc": { - "message": "Vi har gjort 2 mikroinnskudd i bankkontoen din (Det kan 1-2 virkedager før de dukker opp). Skriv inn disse summene for å bekrefte bankkontoen." - }, - "verifyBankAccountInitialDesc": { - "message": "Betaling med en bankkonto er selvfølgelig bare tilgjengelig til kunder i USA. Du vi bli påkrevd å bekrefte din bankkonto. Vi vil sende deg 2 mikroinnskudd innen 1-2 virkedager. Skriv inn disse summene på din organisasjons regningsside for å bekrefte bankkontoen." - }, - "verifyBankAccountFailureWarning": { - "message": "Å mislykkes i å bekrefte bankkontoen vil føre til en uteblivende betaling og at abonnementet ditt blir skrudd av." - }, - "verifiedBankAccount": { - "message": "Bankkontoen har blitt bekreftet." - }, - "bankAccount": { - "message": "Bankkonto" - }, - "amountX": { - "message": "Sum $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Rutingsnummer", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Kontonummer" - }, - "accountHolderName": { - "message": "Kontoholderens navn" - }, - "bankAccountType": { - "message": "Kontotype" - }, - "bankAccountTypeCompany": { - "message": "Firma" - }, - "bankAccountTypeIndividual": { - "message": "Individuelt (Personlig)" - }, - "enterInstallationId": { - "message": "Skriv inn din installasjons-ID" - }, - "addSeats": { - "message": "Legg til seter", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Fjern seter", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Ditt abonnement tillater opptil $COUNT$ brukere.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Seter som skal legges til" - }, - "seatsToRemove": { - "message": "Seter som skal fjernes" - }, - "seatsAddNote": { - "message": "Å legge til brukerseter vil føre til justeringer i dine regningssummer og vil umiddelbart trekke på den lagrede betalingsmetoden din. Det første trekket vil bli fordelt utover resten av den nåværende regningsperioden." - }, - "seatsRemoveNote": { - "message": "Å fjerne brukerseter vil føre til justeringer i dine regningssummer som vil bli fordelt som kreditt opp mot ditt neste regningstrekk." - }, - "adjustedSeats": { - "message": "Justerte $AMOUNT$ brukerseter.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Nøkkelen ble oppdatert" - }, - "updateKeyTitle": { - "message": "Oppdater nøkkelen" - }, - "updateEncryptionKey": { - "message": "Oppdater krypteringsnøkkelen" - }, - "updateEncryptionKeyShortDesc": { - "message": "Du bruker for øyeblikket et utdatert krypteringsoppsett." - }, - "updateEncryptionKeyDesc": { - "message": "Vi har byttet over til lengre krypteringsnøkler som sørger for bedre sikkerhet og tilgang til nyere funksjoner. Å oppdatere krypteringsnøkkelen din er raskt og enkelt. Bare skriv inn superpassordet ditt nedenfor. Denne oppdateringen vil etter hvert bli påbudt." - }, - "updateEncryptionKeyWarning": { - "message": "Etter å ha oppdatert krypteringsnøkkelen din, er du påkrevd å logge av og på på alle Bitwarden-appene og -programmene som du bruker for øyeblikket (deriblant mobilappen og nettleserutvidelsene). Å ikke logge av og på igjen (noe som vil laste ned din nye krypteringsnøkkel) kan føre til datakorrumpering. Vi vil forsøke å logge deg av automatisk, men det kan kanskje bli forsinket." - }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." - }, - "subscription": { - "message": "Abonnement" - }, - "loading": { - "message": "Laster inn" - }, - "upgrade": { - "message": "Oppgrader" - }, - "upgradeOrganization": { - "message": "Oppgrader organisasjonen" - }, - "upgradeOrganizationDesc": { - "message": "Denne egenskapen er ikke tilgjengelig for gratisorganisasjoner. Bytt over til en betalt funksjonsplan for å låse opp flere egenskaper." - }, - "createOrganizationStep1": { - "message": "Lag en organisasjon: Trinn 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Før du lager organisasjonen din, må du først lage en gratis personlig konto." - }, - "refunded": { - "message": "Tilbakebetalt" - }, - "nothingSelected": { - "message": "Du har ikke valgt noe." - }, - "acceptPolicies": { - "message": "By checking this box you agree to the following:" - }, - "acceptPoliciesError": { - "message": "Terms of Service and Privacy Policy have not been acknowledged." - }, - "termsOfService": { - "message": "Tjenestevilkår" - }, - "privacyPolicy": { - "message": "Personvern" - }, - "filters": { - "message": "Filtre" - }, - "vaultTimeout": { - "message": "Pause for hvelvet" - }, - "vaultTimeoutDesc": { - "message": "Velg når hvelvet ditt skal ta pause og utføre den valgte handlingen." - }, - "oneMinute": { - "message": "1 minutt" - }, - "fiveMinutes": { - "message": "5 minutter" - }, - "fifteenMinutes": { - "message": "15 minutter" - }, - "thirtyMinutes": { - "message": "30 minutter" - }, - "oneHour": { - "message": "1 time" - }, - "fourHours": { - "message": "4 timer" - }, - "onRefresh": { - "message": "Ved nettlesergjeninnlasting" - }, - "dateUpdated": { - "message": "Oppdatert den", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Passordet ble oppdatert den", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "Organisasjonen er skrudd av." - }, - "licenseIsExpired": { - "message": "Lisensen har utløpt." - }, - "updatedUsers": { - "message": "Oppdaterte brukere" - }, - "selected": { - "message": "Valgt" - }, - "ownership": { - "message": "Eierskap" - }, - "whoOwnsThisItem": { - "message": "Hvem eier dette elementet?" - }, - "strong": { - "message": "Sterkt", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Bra", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Svakt", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Veldig svakt", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Svakt superpassord" - }, - "weakMasterPasswordDesc": { - "message": "Superpassordet du har valgt er svakt. Du bør bruke et sterkt superpassord (eller en passordfrase) for å sikre Bitwarden-kontoen din på en forsvarlig måte. Er du sikker på at du vil bruke dette superpassordet?" - }, - "rotateAccountEncKey": { - "message": "Oppdater også krypteringsnøkkelen til kontoen min" - }, - "rotateEncKeyTitle": { - "message": "Oppdater krypteringsnøkkelen" - }, - "rotateEncKeyConfirmation": { - "message": "Er du sikker på at du vil oppdatere krypteringsnøkkelen til kontoen din?" - }, - "attachmentsNeedFix": { - "message": "Denne oppføringen har gamle fil-vedlegg som må repareres." - }, - "attachmentFixDesc": { - "message": "Dette er et gammelt fil-vedlegg som må repareres. Klikk for å se mer." - }, - "fix": { - "message": "Reparer", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "Hvelvet ditt har gamle fil-vedlegg som må repareres før du kan oppdatere krypteringsnøkkelen til kontoen din." - }, - "yourAccountsFingerprint": { - "message": "Din kontos fingeravtrykksfrase", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "For å sikre integriteten til krypteringsnøkene dine, vær vennlig å bekrefte brukerens fingeravtrykksfrase før du fortsetter.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Ikke be om bekreftelse av fingeravtrykksfrase flere ganger", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Gratis", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "API-nøkkel" - }, - "apiKeyDesc": { - "message": "API-nøkkelen din kan brukes til å godkjenne til den offentlige API-en for Bitwarden." - }, - "apiKeyRotateDesc": { - "message": "Hvis du roterer API-nøkkel, blir den forrige nøkkelen ugyldig. Du kan rotere API-nøkkelen din hvis du mener at den nåværende nøkkelen ikke lenger er trygt å bruke." - }, - "apiKeyWarning": { - "message": "Din API-nøkkel har full tilgang til organisasjonen. Det bør holdes hemmelig." - }, - "userApiKeyDesc": { - "message": "Your API key can be used to authenticate in the Bitwarden CLI." - }, - "userApiKeyWarning": { - "message": "Your API key is an alternative authentication mechanism. It should be kept secret." - }, - "oauth2ClientCredentials": { - "message": "OAuth 2.0-klientinformasjon", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "Se API-nøkkel" - }, - "rotateApiKey": { - "message": "Roter API-nøkkel" - }, - "selectOneCollection": { - "message": "Du må velge minst én samling." - }, - "couldNotChargeCardPayInvoice": { - "message": "Vi kunne ikke belaste kortet ditt. Vennligst se og betal den ubetalte fakturaen nedenfor." - }, - "inAppPurchase": { - "message": "Kjøp i appen" - }, - "cannotPerformInAppPurchase": { - "message": "Du kan ikke utføre denne handlingen mens du bruker en betalingsmetode for kjøp i appen." - }, - "manageSubscriptionFromStore": { - "message": "Du kan bare styre abonnementet ditt fra nettbutikken du kjøpte i appen." - }, - "minLength": { - "message": "Minimumslengde" - }, - "clone": { - "message": "Klon" - }, - "masterPassPolicyDesc": { - "message": "Sett minimumskrav til hovedpassordets styrke." - }, - "twoStepLoginPolicyDesc": { - "message": "Krev at brukere konfigurere totrinns pålogging på sine personlige kontoer." - }, - "twoStepLoginPolicyWarning": { - "message": "Organisasjonsmedlemmer som ikke har to-trinns pålogging aktivert for sin personlige konto, vil bli fjernet fra organisasjonen og vil motta en e-post som melder dem om endringen." - }, - "twoStepLoginPolicyUserWarning": { - "message": "Du er medlem av minst én organisasjon, som krever to-trinns pålogging for å være aktivert på kontoen din. Hvis du deaktiverer alle leverandører av totrinns pålogging, blir du automatisk fjernet fra disse organisasjonene." - }, - "passwordGeneratorPolicyDesc": { - "message": "Sett minimumskrav for konfigurasjon av passordgenerator." - }, - "passwordGeneratorPolicyInEffect": { - "message": "En eller flere av organisasjonens vilkår påvirker generatorinnstillingene dine." - }, - "masterPasswordPolicyInEffect": { - "message": "En eller flere av organisasjonens vilkår krever hovedpassordet ditt for å oppfylle følgende krav:" - }, - "policyInEffectMinComplexity": { - "message": "Minimumspoengsum for kompleksistet er $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Minimumslengde er $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Inneholder ett eller flere store tegn" - }, - "policyInEffectLowercase": { - "message": "Inneholder ett eller flere små tegn" - }, - "policyInEffectNumbers": { - "message": "Inneholde ett eller flere tall" - }, - "policyInEffectSpecial": { - "message": "Inneholder ett eller flere av følgende spesialtegn $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Det nye hovedpassordet ditt oppfyller ikke vilkårene." - }, - "minimumNumberOfWords": { - "message": "Minimum antall ord" - }, - "defaultType": { - "message": "Standardtype" - }, - "userPreference": { - "message": "Brukerinnstillinger" - }, - "vaultTimeoutAction": { - "message": "Handling ved pause i hvelvet" - }, - "vaultTimeoutActionLockDesc": { - "message": "Et låst hvelv krever at du skriver inn superpassordet ditt på nytt for å få tilgang til hvelvet igjen." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "Et utlogget hvelv krever at du autentiserer deg selv på nytt for å få tilgang til det igjen." - }, - "lock": { - "message": "Lås", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Papirkurv", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Søk i papirkurven" - }, - "permanentlyDelete": { - "message": "Slett permanent" - }, - "permanentlyDeleteSelected": { - "message": "Slett valgte permanent" - }, - "permanentlyDeleteItem": { - "message": "Slett elementet permanent" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Er du sikker på at du vil slette dette elementet permanent?" - }, - "permanentlyDeletedItem": { - "message": "Slett elementet permanent" - }, - "permanentlyDeletedItems": { - "message": "Slett elementetene permanent" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "Du har valgt $COUNT$ element(er) som skal slettes permanent. Er du sikker på du vil slette alle disse elementene?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Permanent slettet element $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Gjenopprett" - }, - "restoreSelected": { - "message": "Gjenopprett valgte" - }, - "restoreItem": { - "message": "Gjenopprett element" - }, - "restoredItem": { - "message": "Gjenopprettet element" - }, - "restoredItems": { - "message": "Gjenopprettete elementer" - }, - "restoreItemConfirmation": { - "message": "Er du sikker på at du vil gjenopprette dette elementet?" - }, - "restoreItems": { - "message": "Gjenopprett elementer" - }, - "restoreSelectedItemsDesc": { - "message": "Du har valgt $COUNT$ element(er) som skal gjenopprettes. Er du sikker på at du vil gjenopprette alle disse elementene?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Gjenopprettet element $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Hvis du logger ut, fjerner du all tilgang til hvelvet ditt og krever online godkjenning etter tidsavbrudd. Er du sikker på at du vil bruke denne innstillingen?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Bekreftelse av handling ved pause" - }, - "hidePasswords": { - "message": "Hide Passwords" - }, - "countryPostalCodeRequiredDesc": { - "message": "Vi krever denne informasjonen for beregning av merverdiavgift og finansiell rapportering." - }, - "includeVAT": { - "message": "Inkluder MVA-informasjon (valgfritt)" - }, - "taxIdNumber": { - "message": "VAT/GST Tax ID" - }, - "taxInfoUpdated": { - "message": "Tax information updated." - }, - "setMasterPassword": { - "message": "Angi hovedpassord" - }, - "ssoCompleteRegistration": { - "message": "In order to complete logging in with SSO, please set a master password to access and protect your vault." - }, - "identifier": { - "message": "Identifikator" - }, - "organizationIdentifier": { - "message": "Organisasjons identifikator" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Log in using your organization's single sign-on portal. Please enter your organization's identifier to begin." - }, - "enterpriseSingleSignOn": { - "message": "Enterprise Single Sign-On" - }, - "ssoHandOff": { - "message": "Du kan nå lukke denne fanen og fortsette i utvidelsen." - }, - "businessPortal": { - "message": "Business Portal", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "All Teams features, plus:" - }, - "includeSsoAuthentication": { - "message": "SSO Authentication via SAML2.0 and OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Enterprise Policies" - }, - "ssoValidationFailed": { - "message": "SSO Validation Failed" - }, - "ssoIdentifierRequired": { - "message": "Organization Identifier is required." - }, - "unlinkSso": { - "message": "Unlink SSO" - }, - "linkSso": { - "message": "Link SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "Policy configuration has been moved, and this page will soon be deprecated. Please click below to use the Business Portal policies page instead." - }, - "singleOrg": { - "message": "Single Organization" - }, - "singleOrgDesc": { - "message": "Restrict users from being able to join any other organizations." - }, - "singleOrgBlockCreateMessage": { - "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." - }, - "singleOrgPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and are already a member of another organization will be removed from your organization." - }, - "requireSso": { - "message": "Single Sign-On Authentication" - }, - "requireSsoPolicyDesc": { - "message": "Require users to log in with the Enterprise Single Sign-On method." - }, - "prerequisite": { - "message": "Prerequisite" - }, - "requireSsoPolicyReq": { - "message": "The Single Organization enterprise policy must be enabled before activating this policy." - }, - "requireSsoPolicyReqError": { - "message": "Single Organization policy not enabled." - }, - "requireSsoExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "sendTypeFile": { - "message": "Fil" - }, - "sendTypeText": { - "message": "Tekst" - }, - "createSend": { - "message": "Create New Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Edit Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Created Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Edited Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Deleted Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Delete Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Are you sure you want to delete this Send?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "What type of Send is this?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Deletion Date" - }, - "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Expiration Date" - }, - "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Maximum Access Count" - }, - "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Current Access Count" - }, - "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Private notes about this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Disabled" - }, - "sendLink": { - "message": "Send Link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Copy Send Link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Remove Password" - }, - "removedPassword": { - "message": "Removed Password" - }, - "removePasswordConfirmation": { - "message": "Are you sure you want to remove the password?" - }, - "disableThisSend": { - "message": "Disable this Send so that no one can access it.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "All Sends" - }, - "maxAccessCountReached": { - "message": "Max access count reached" - }, - "pendingDeletion": { - "message": "Pending deletion" - }, - "expired": { - "message": "Expired" - }, - "searchSends": { - "message": "Search Sends", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "This Send is protected with a password. Please type the password below to continue.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Don't know the password? Ask the Sender for the password needed to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "This send is hidden by default. You can toggle its visibility using the button below.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Download File" - }, - "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "There are no Sends to list.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Emergency Access" - }, - "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." - }, - "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" - }, - "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." - }, - "addEmergencyContact": { - "message": "Add emergency contact" - }, - "designatedEmergencyContacts": { - "message": "Designated as emergency contact" - }, - "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." - }, - "inviteEmergencyContact": { - "message": "Invite emergency contact" - }, - "editEmergencyContact": { - "message": "Edit emergency contact" - }, - "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" - }, - "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" - }, - "viewDesc": { - "message": "Can view all items in your own vault." - }, - "takeover": { - "message": "Takeover" - }, - "takeoverDesc": { - "message": "Can reset your account with a new master password." - }, - "waitTime": { - "message": "Wait Time" - }, - "waitTimeDesc": { - "message": "Time required before automatically granting access." - }, - "oneDay": { - "message": "1 day" - }, - "days": { - "message": "$DAYS$ days", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Invited user." - }, - "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." - }, - "requestAccess": { - "message": "Request Access" - }, - "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Approve" - }, - "reject": { - "message": "Reject" - }, - "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Emergency access approved." - }, - "emergencyRejected": { - "message": "Emergency access rejected" - }, - "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Personal Ownership" - }, - "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." - }, - "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." - }, - "modifiedPolicyId": { - "message": "Modified policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Plan price" - }, - "estimatedTax": { - "message": "Estimated tax" - }, - "custom": { - "message": "Custom" - }, - "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." - }, - "permissions": { - "message": "Permissions" - }, - "accessBusinessPortal": { - "message": "Access Business Portal" - }, - "accessEventLogs": { - "message": "Access Event Logs" - }, - "accessImportExport": { - "message": "Access Import/Export" - }, - "accessReports": { - "message": "Access Reports" - }, - "manageAllCollections": { - "message": "Manage All Collections" - }, - "manageAssignedCollections": { - "message": "Manage Assigned Collections" - }, - "manageGroups": { - "message": "Manage Groups" - }, - "managePolicies": { - "message": "Manage Policies" - }, - "manageSso": { - "message": "Manage SSO" - }, - "manageUsers": { - "message": "Manage Users" - }, - "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." - }, - "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." - }, - "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" - }, - "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/nl/messages.json b/locales/nl/messages.json deleted file mode 100644 index a0db73e0..00000000 --- a/locales/nl/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$ Webkluis", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "Van welke categorie is dit item?" - }, - "name": { - "message": "Naam" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "Nieuwe URI" - }, - "username": { - "message": "Gebruikersnaam" - }, - "password": { - "message": "Wachtwoord" - }, - "newPassword": { - "message": "Nieuw wachtwoord" - }, - "passphrase": { - "message": "Wachtwoordzin" - }, - "notes": { - "message": "Notities" - }, - "customFields": { - "message": "Aangepaste velden" - }, - "cardholderName": { - "message": "Naam kaarthouder" - }, - "number": { - "message": "Kaartnummer" - }, - "brand": { - "message": "Merk" - }, - "expiration": { - "message": "Vervaldatum" - }, - "securityCode": { - "message": "Beveiligingscode (CVV)" - }, - "identityName": { - "message": "Identiteitsnaam" - }, - "company": { - "message": "Bedrijf" - }, - "ssn": { - "message": "Burgerservicenummer" - }, - "passportNumber": { - "message": "Paspoortnummer" - }, - "licenseNumber": { - "message": "Rijbewijsnummer" - }, - "email": { - "message": "E-mailadres" - }, - "phone": { - "message": "Telefoonnummer" - }, - "january": { - "message": "januari" - }, - "february": { - "message": "februari" - }, - "march": { - "message": "maart" - }, - "april": { - "message": "april" - }, - "may": { - "message": "mei" - }, - "june": { - "message": "juni" - }, - "july": { - "message": "juli" - }, - "august": { - "message": "augustus" - }, - "september": { - "message": "september" - }, - "october": { - "message": "oktober" - }, - "november": { - "message": "november" - }, - "december": { - "message": "december" - }, - "title": { - "message": "Aanhef" - }, - "mr": { - "message": "Dhr." - }, - "mrs": { - "message": "Mevr." - }, - "ms": { - "message": "Mej." - }, - "dr": { - "message": "Dr." - }, - "expirationMonth": { - "message": "Vervalmaand" - }, - "expirationYear": { - "message": "Vervaljaar" - }, - "authenticatorKeyTotp": { - "message": "Authenticatiecode (TOTP)" - }, - "folder": { - "message": "Map" - }, - "newCustomField": { - "message": "Nieuw aangepast veld" - }, - "value": { - "message": "Waarde" - }, - "dragToSort": { - "message": "Slepen om te sorteren" - }, - "cfTypeText": { - "message": "Tekst" - }, - "cfTypeHidden": { - "message": "Verborgen" - }, - "cfTypeBoolean": { - "message": "Boolean" - }, - "remove": { - "message": "Verwijderen" - }, - "unassigned": { - "message": "Niet toegewezen" - }, - "noneFolder": { - "message": "Geen map", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Map toevoegen" - }, - "editFolder": { - "message": "Map bewerken" - }, - "baseDomain": { - "message": "Basisdomein" - }, - "host": { - "message": "Hostnaam", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Exact" - }, - "startsWith": { - "message": "Begint met" - }, - "regEx": { - "message": "Reguliere expressie", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Overeenkomstdetectie", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Standaard overeenkomstdetectie", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Nooit" - }, - "toggleVisibility": { - "message": "Zichtbaarheid wisselen" - }, - "toggleCollapse": { - "message": "Inklappen/uitklappen", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Wachtwoord genereren" - }, - "checkPassword": { - "message": "Controleer of wachtwoord is gelekt." - }, - "passwordExposed": { - "message": "Dit wachtwoord is $VALUE$ keer gelekt. Je zou het moeten veranderen.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "Dit wachtwoord is niet gevonden in de bekende datalekken. Het kan veilig gebruikt worden." - }, - "save": { - "message": "Opslaan" - }, - "cancel": { - "message": "Annuleren" - }, - "canceled": { - "message": "Geannuleerd" - }, - "close": { - "message": "Sluiten" - }, - "delete": { - "message": "Verwijderen" - }, - "favorite": { - "message": "Favoriet" - }, - "unfavorite": { - "message": "Verwijderen uit favorieten" - }, - "edit": { - "message": "Bewerken" - }, - "searchCollection": { - "message": "Verzameling doorzoeken" - }, - "searchFolder": { - "message": "Map doorzoeken" - }, - "searchFavorites": { - "message": "Favorieten doorzoeken" - }, - "searchType": { - "message": "Categorie doorzoeken", - "description": "Search item type" - }, - "searchVault": { - "message": "Kluis doorzoeken" - }, - "allItems": { - "message": "Alle Items" - }, - "favorites": { - "message": "Favorieten" - }, - "types": { - "message": "Categorieën" - }, - "typeLogin": { - "message": "Login" - }, - "typeCard": { - "message": "Kaart" - }, - "typeIdentity": { - "message": "Identiteit" - }, - "typeSecureNote": { - "message": "Veilige notitie" - }, - "folders": { - "message": "Mappen" - }, - "collections": { - "message": "Verzamelingen" - }, - "firstName": { - "message": "Voornaam" - }, - "middleName": { - "message": "Tweede naam" - }, - "lastName": { - "message": "Achternaam" - }, - "address1": { - "message": "Adres 1" - }, - "address2": { - "message": "Adres 2" - }, - "address3": { - "message": "Adres 3" - }, - "cityTown": { - "message": "Stad / gemeente" - }, - "stateProvince": { - "message": "Staat / provincie" - }, - "zipPostalCode": { - "message": "Postcode" - }, - "country": { - "message": "Land" - }, - "shared": { - "message": "Gedeeld" - }, - "attachments": { - "message": "Bijlagen" - }, - "select": { - "message": "Selecteren" - }, - "addItem": { - "message": "Item toevoegen" - }, - "editItem": { - "message": "Item bewerken" - }, - "viewItem": { - "message": "Item weergeven" - }, - "ex": { - "message": "bijv.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Overig" - }, - "share": { - "message": "Delen" - }, - "valueCopied": { - "message": "$VALUE$ gekopieerd", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Waarde kopiëren", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Wachtwoord kopiëren", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Gebruikersnaam kopiëren", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Nummer Kopiëren", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Beveiligingscode kopiëren", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "URI kopiëren", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "Mijn kluis" - }, - "vault": { - "message": "Kluis" - }, - "shareSelected": { - "message": "Selectie delen" - }, - "deleteSelected": { - "message": "Selectie verwijderen" - }, - "moveSelected": { - "message": "Selectie verplaatsen" - }, - "selectAll": { - "message": "Alles selecteren" - }, - "unselectAll": { - "message": "Alles deselecteren" - }, - "launch": { - "message": "Starten" - }, - "newAttachment": { - "message": "Nieuwe bijlage toevoegen" - }, - "deletedAttachment": { - "message": "Bijlage is verwijderd" - }, - "deleteAttachmentConfirmation": { - "message": "Weet je zeker dat je deze bijlage wilt verwijderen?" - }, - "attachmentSaved": { - "message": "De bijlage is opgeslagen." - }, - "file": { - "message": "Bestand" - }, - "selectFile": { - "message": "Selecteer een bestand." - }, - "maxFileSize": { - "message": "Maximale bestandsgrootte is 100 MB." - }, - "updateKey": { - "message": "Je kunt deze functie pas gebruiken als je je encryptiesleutel bijwerkt." - }, - "addedItem": { - "message": "Item is toegevoegd" - }, - "editedItem": { - "message": "Item is bewerkt" - }, - "sharedItem": { - "message": "Item is gedeeld" - }, - "sharedItems": { - "message": "Items zijn gedeeld" - }, - "deleteItem": { - "message": "Item verwijderen" - }, - "deleteFolder": { - "message": "Map verwijderen" - }, - "deleteAttachment": { - "message": "Bijlage verwijderen" - }, - "deleteItemConfirmation": { - "message": "Weet je zeker dat je dit item wilt verwijderen?" - }, - "deletedItem": { - "message": "Item is verwijderd" - }, - "deletedItems": { - "message": "Items zijn verwijderd" - }, - "movedItems": { - "message": "Item is verplaatst" - }, - "overwritePasswordConfirmation": { - "message": "Weet je zeker dat je het huidige wachtwoord wilt overschrijven?" - }, - "editedFolder": { - "message": "Map is bewerkt" - }, - "addedFolder": { - "message": "Map is toegevoegd" - }, - "deleteFolderConfirmation": { - "message": "Weet je zeker dat je deze map wilt verwijderen?" - }, - "deletedFolder": { - "message": "Map is verwijderd" - }, - "loggedOut": { - "message": "Uitgelogd" - }, - "loginExpired": { - "message": "Je inlogsessie is verlopen." - }, - "logOutConfirmation": { - "message": "Weet je zeker dat je wilt uitloggen?" - }, - "logOut": { - "message": "Uitloggen" - }, - "ok": { - "message": "Ok" - }, - "yes": { - "message": "Ja" - }, - "no": { - "message": "Nee" - }, - "loginOrCreateNewAccount": { - "message": "Log in of maak een nieuw account aan om toegang te krijgen tot je beveiligde kluis." - }, - "createAccount": { - "message": "Account aanmaken" - }, - "logIn": { - "message": "Inloggen" - }, - "submit": { - "message": "Versturen" - }, - "emailAddressDesc": { - "message": "Je gebruikt je e-mailadres om in te loggen." - }, - "yourName": { - "message": "Jouw naam" - }, - "yourNameDesc": { - "message": "Hoe moeten we je noemen?" - }, - "masterPass": { - "message": "Hoofdwachtwoord" - }, - "masterPassDesc": { - "message": "Het hoofdwachtwoord is het wachtwoord waarmee je toegang krijgt tot je beveiligde kluis. Het is belangrijk dat je het hoofdwachtwoord niet vergeet, want er is geen manier om het te herstellen." - }, - "masterPassHintDesc": { - "message": "Een hoofdwachtwoordhint kan je helpen je wachtwoord te herinneren als je het vergeten bent." - }, - "reTypeMasterPass": { - "message": "Hoofdwachtwoord opnieuw invoeren" - }, - "masterPassHint": { - "message": "Hoofdwachtwoordhint (optioneel)" - }, - "masterPassHintLabel": { - "message": "Hoofdwachtwoordhint" - }, - "settings": { - "message": "Instellingen" - }, - "passwordHint": { - "message": "Wachtwoordhint" - }, - "enterEmailToGetHint": { - "message": "Voer het e-mailadres van je account in om je hoofdwachtwoordhint te ontvangen." - }, - "getMasterPasswordHint": { - "message": "Hoofdwachtwoordhint opvragen" - }, - "emailRequired": { - "message": "E-mailadres is vereist." - }, - "invalidEmail": { - "message": "Ongeldig e-mailadres." - }, - "masterPassRequired": { - "message": "Hoofdwachtwoord is vereist." - }, - "masterPassLength": { - "message": "Het hoofdwachtwoord moet minimaal 8 tekens lang zijn." - }, - "masterPassDoesntMatch": { - "message": "De hoofdwachtwoorden komen niet overeen." - }, - "newAccountCreated": { - "message": "Je nieuwe account is aangemaakt! Je kunt nu inloggen." - }, - "masterPassSent": { - "message": "We hebben je een e-mail gestuurd met je hoofdwachtwoordhint." - }, - "unexpectedError": { - "message": "Er is een onverwachte fout opgetreden." - }, - "emailAddress": { - "message": "E-mailadres" - }, - "yourVaultIsLocked": { - "message": "Je kluis is vergrendeld. Voer je hoofdwachtwoord in om door te gaan." - }, - "unlock": { - "message": "Ontgrendelen" - }, - "loggedInAsEmailOn": { - "message": "Aangemeld als $EMAIL$ op $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Ongeldig hoofdwachtwoord" - }, - "lockNow": { - "message": "Nu vergrendelen" - }, - "noItemsInList": { - "message": "Er zijn geen items om weer te geven." - }, - "noCollectionsInList": { - "message": "Er zijn geen verzamelingen om weer te geven." - }, - "noGroupsInList": { - "message": "Er zijn geen groepen om weer te geven." - }, - "noUsersInList": { - "message": "Er zijn geen gebruikers om weer te geven." - }, - "noEventsInList": { - "message": "Er zijn geen gebeurtenissen om weer te geven." - }, - "newOrganization": { - "message": "Nieuwe organisatie" - }, - "noOrganizationsList": { - "message": "Je behoort niet tot een organisatie. Via organisaties deel je je items veilig met andere gebruikers." - }, - "versionNumber": { - "message": "Versie $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Voer de 6-cijferige verificatiecode uit je authenticatie-app in." - }, - "enterVerificationCodeEmail": { - "message": "Voer de 6-cijferige verificatiecode in die via e-mail is verstuurd naar $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "E-mail met verificatiecode verzonden naar $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Mijn gegevens onthouden" - }, - "sendVerificationCodeEmailAgain": { - "message": "E-mail met verificatiecode opnieuw versturen" - }, - "useAnotherTwoStepMethod": { - "message": "Gebruik een andere methode voor tweestapsaanmelding" - }, - "insertYubiKey": { - "message": "Plaats je YubiKey in de USB-poort van je computer en druk op de knop." - }, - "insertU2f": { - "message": "Steek je beveilingssleutel in de USB-poort van je computer. Als het een knop heeft, druk deze dan in." - }, - "loginUnavailable": { - "message": "Login niet beschikbaar" - }, - "noTwoStepProviders": { - "message": "Dit account heeft tweestapsaanmelding ingeschakeld, maar deze webbrowser ondersteunt geen van de geconfigureerde aanbieders." - }, - "noTwoStepProviders2": { - "message": "Gebruik een ondersteunde webbrowser (zoals Chrome) en/of voeg extra aanbieders toe die beter worden ondersteund in webbrowsers (zoals een authenticator-app)." - }, - "twoStepOptions": { - "message": "Opties voor tweestapsaanmelding" - }, - "recoveryCodeDesc": { - "message": "Ben je de toegang tot al je tweestapsaanbieders verloren? Gebruik dan je herstelcode om alle tweestapsaanbieders op je account uit te schakelen." - }, - "recoveryCodeTitle": { - "message": "Herstelcode" - }, - "authenticatorAppTitle": { - "message": "Authenticatie-app" - }, - "authenticatorAppDesc": { - "message": "Gebruik een authenticatie-app (zoals Authy of Google Authenticator) om tijdgebaseerde authenticatiecodes te genereren.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "YubiKey OTP-beveiligingssleutel" - }, - "yubiKeyDesc": { - "message": "Gebruik een YubiKey om toegang te krijgen tot je account. Werkt met YubiKey 4, 4 Nano, 4C en Neo-apparaten." - }, - "duoDesc": { - "message": "Verifieer met Duo Security middels de Duo Mobile-app, sms, spraakoproep of een U2F-beveiligingssleutel.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Verifieer met Duo Security voor jouw organisatie middels de Duo Mobile-app, sms, spraakoproep of een U2F-beveiligingssleutel.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Gebruik een FIDO U2F-beveiligingssleutel om toegang te krijgen tot je account." - }, - "u2fTitle": { - "message": "FIDO U2F-beveiligingssleutel" - }, - "emailTitle": { - "message": "E-mailadres" - }, - "emailDesc": { - "message": "Je ontvangt verificatiecodes via e-mail." - }, - "continue": { - "message": "Doorgaan" - }, - "organization": { - "message": "Organisatie" - }, - "organizations": { - "message": "Organisaties" - }, - "shareDesc": { - "message": "Kies een organisatie waarmee je dit item wilt delen. Door het delen draag je het eigendom van dit item over aan de organisatie. Je bent niet langer de directe eigenaar van het item wanneer deze is gedeeld." - }, - "shareManyDesc": { - "message": "Kies een organisatie waarmee je deze items wilt delen. Door het delen draag je het eigendom van deze item over aan de organisatie. Je bent niet langer de directe eigenaar van de items wanneer deze zijn gedeeld." - }, - "collectionsDesc": { - "message": "Wijzig de verzamelingen waarmee dit item gedeeld is. Alleen organisatiegebruikers met toegang tot deze verzamelingen kunnen dit item inzien." - }, - "deleteSelectedItemsDesc": { - "message": "Je hebt $COUNT$ item(s) geselecteerd om te verwijderen. Weet je zeker dat je al deze items wilt verwijderen?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Kies een map waar je de $COUNT$ geselecteerde item(s) heen wilt verplaatsen.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "Je hebt $COUNT$ item(s) geselecteerd. $SHAREABLE_COUNT$ items kunnen worden gedeeld, $NONSHAREABLE_COUNT$ niet.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Verificatiecode (TOTP)" - }, - "copyVerificationCode": { - "message": "Verificatiecode kopiëren" - }, - "warning": { - "message": "Waarschuwing" - }, - "confirmVaultExport": { - "message": "Kluisexport bevestigen" - }, - "exportWarningDesc": { - "message": "Deze export bevat jouw kluisgegevens in een niet-versleutelde opmaak. Je moet het geëxporteerde bestand niet opslaan of verzenden over onbeveiligde kanalen (zoals e-mail). Verwijder het exportbestand direct na gebruik." - }, - "encExportWarningDesc": { - "message": "Deze export versleutelt je gegevens met de encryptiesleutel van je account. Als je je encryptiesleutel verandert moet je opnieuw exporteren, omdat je deze export dan niet meer kunt ontcijferen." - }, - "exportMasterPassword": { - "message": "Voer je hoofdwachtwoord in om de kluisgegevens te exporteren." - }, - "exportVault": { - "message": "Kluis exporteren" - }, - "fileFormat": { - "message": "Bestandsindeling" - }, - "exportSuccess": { - "message": "Je kluisgegevens zijn geëxporteerd." - }, - "passwordGenerator": { - "message": "Wachtwoordgenerator" - }, - "minComplexityScore": { - "message": "Minimale complexiteitsscore" - }, - "minNumbers": { - "message": "Minimum aantal cijfers" - }, - "minSpecial": { - "message": "Minimum aantal speciale tekens", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Dubbelzinnige tekens vermijden" - }, - "regeneratePassword": { - "message": "Opnieuw genereren" - }, - "length": { - "message": "Lengte" - }, - "numWords": { - "message": "Aantal woorden" - }, - "wordSeparator": { - "message": "Scheidingsteken" - }, - "capitalize": { - "message": "Beginhoofdletters", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Cijfer toevoegen" - }, - "passwordHistory": { - "message": "Geschiedenis" - }, - "noPasswordsInList": { - "message": "Er zijn geen wachtwoorden om weer te geven." - }, - "clear": { - "message": "Wissen", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Account is bijgewerkt" - }, - "changeEmail": { - "message": "E-mailadres wijzigen" - }, - "newEmail": { - "message": "Nieuw e-mailadres" - }, - "code": { - "message": "Code" - }, - "changeEmailDesc": { - "message": "We hebben een verificatiecode naar $EMAIL$ gestuurd. Controleer je mail voor de code en vul deze hieronder in om je e-mailadres daadwerkelijk te wijzigen.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Doorgaan zal je huidige sessie uitloggen, waarna je opnieuw moet inloggen. Actieve sessies op andere apparaten blijven mogelijk nog een uur actief." - }, - "emailChanged": { - "message": "E-mailadres gewijzigd" - }, - "logBackIn": { - "message": "Log opnieuw in." - }, - "logBackInOthersToo": { - "message": "Svp opnieuw inloggen. Als je andere Bitwarden-applicaties gebruikt, dan moet je daar ook uit- en inloggen." - }, - "changeMasterPassword": { - "message": "Hoofdwachtwoord wijzigen" - }, - "masterPasswordChanged": { - "message": "Hoofdwachtwoord gewijzigd" - }, - "currentMasterPass": { - "message": "Huidig hoofdwachtwoord" - }, - "newMasterPass": { - "message": "Nieuw hoofdwachtwoord" - }, - "confirmNewMasterPass": { - "message": "Nieuw hoofdwachtwoord bevestigen" - }, - "encKeySettings": { - "message": "Instellingen encryptiesleutel" - }, - "kdfAlgorithm": { - "message": "KDF-algortime" - }, - "kdfIterations": { - "message": "KDF-iteraties" - }, - "kdfIterationsDesc": { - "message": "Hogere KDF-iteraties beschermen je hoofdwachtwoord tegen brute-force aanvallen. Kies minimaal voor $VALUE$.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Je KDF-iteraties te hoog instellen leidt tot een vertraging bij het inloggen (en ontgrendelen) van Bitwarden op apparaten met langzamere processoren. We raden aan de waarde in stappen van $INCREMENT$ te verhogen en steeds al je apparaten te testen.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "KDF wijzigen" - }, - "encKeySettingsChanged": { - "message": "Instellingen encryptiesleutel zijn gewijzigd" - }, - "dangerZone": { - "message": "Gevarenzone" - }, - "dangerZoneDesc": { - "message": "Waarschuwing - deze acties zijn niet terug te draaien!" - }, - "deauthorizeSessions": { - "message": "Sessie-autorisaties intrekken" - }, - "deauthorizeSessionsDesc": { - "message": "Bezorgd dat je account op een ander apparaat is ingelogd? Hieronder kun je de autorisatie van alle computers of apparaten die je eerder hebt gebruikt verwijderen. Deze beveiligingsstap is aanbevolen als een openbare computer hebt gebruikt of je wachtwoord per ongeluk hebt opgeslagen op een apparaat dat niet van jou is. Deze stap wist ook alle eerder onthouden tweestapsaanmeldsessies." - }, - "deauthorizeSessionsWarning": { - "message": "Doorgaan zal je huidige sessie uitloggen, waarna je opnieuw moet inloggen. Je moet ook je tweestapsaanmelding opnieuw doorlopen, als die is ingeschakeld. Actieve sessies op andere apparaten blijven mogelijk nog een uur actief." - }, - "sessionsDeauthorized": { - "message": "Autorisatie van alle sessies ingetrokken" - }, - "purgeVault": { - "message": "Kluis verwijderen" - }, - "purgedOrganizationVault": { - "message": "Organisatiekluis verwijderd." - }, - "purgeVaultDesc": { - "message": "Ga hieronder verder om alle items en mappen in je kluis te verwijderen. Items die behoren tot een organisatie waarmee je deelt, worden niet verwijderd." - }, - "purgeOrgVaultDesc": { - "message": "Ga hieronder verder om alle items in de organisatiekluis te verwijderen." - }, - "purgeVaultWarning": { - "message": "Het verwijderen van je webkluis is definitief. Je kunt het niet ongedaan maken." - }, - "vaultPurged": { - "message": "Je kluisgegevens zijn verwijderd." - }, - "deleteAccount": { - "message": "Account verwijderen" - }, - "deleteAccountDesc": { - "message": "Ga hieronder verder om je account en alle bijbehorende gegevens te verwijderen." - }, - "deleteAccountWarning": { - "message": "Het verwijderen van je account is definitief. Je kunt dit niet ongedaan maken." - }, - "accountDeleted": { - "message": "Account verwijderd" - }, - "accountDeletedDesc": { - "message": "Je account is afgesloten en alle bijbehorende gegevens zijn verwijderd." - }, - "myAccount": { - "message": "Mijn account" - }, - "tools": { - "message": "Hulpmiddelen" - }, - "importData": { - "message": "Gegevens importeren" - }, - "importSuccess": { - "message": "De gegevens zijn in je kluis geïmporteerd." - }, - "importFormatError": { - "message": "De gegevens zijn niet correct opgemaakt. Controleer je importbestand en probeer het opnieuw." - }, - "importNothingError": { - "message": "Er is niets geïmporteerd." - }, - "selectFormat": { - "message": "Selecteer het formaat van het importbestand" - }, - "selectImportFile": { - "message": "Kies het importbestand" - }, - "orCopyPasteFileContents": { - "message": "of kopieer en plak de inhoud van het importbestand" - }, - "instructionsFor": { - "message": "Instructies voor $NAME$", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Opties" - }, - "optionsDesc": { - "message": "Pas je ervaring met de webkluis aan." - }, - "optionsUpdated": { - "message": "Opties bijgewerkt" - }, - "language": { - "message": "Taal" - }, - "languageDesc": { - "message": "De taal van de webkluis aanpassen." - }, - "disableIcons": { - "message": "Websitepictogrammen uitschakelen" - }, - "disableIconsDesc": { - "message": "Websitepictogrammen geven een herkenbare afbeelding naast elk item in je kluis." - }, - "enableGravatars": { - "message": "Gravatars activeren", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Gebruik avatar-afbeeldingen van gravatar.com." - }, - "enableFullWidth": { - "message": "Weergave op volle breedte inschakelen", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Laat de webkluis de volledige breedte van het browservenster gebruiken." - }, - "default": { - "message": "Standaard" - }, - "domainRules": { - "message": "Domeinregels" - }, - "domainRulesDesc": { - "message": "Als je dezelfde inloggegevens over verschillende websitedomeinen gebruikt, kun je de website als \"equivalent\" kenmerken. \"Globale\" domeinen zijn al voor je aangemaakt door Bitwarden." - }, - "globalEqDomains": { - "message": "Globale equivalente domeinen" - }, - "customEqDomains": { - "message": "Persoonlijke equivalente domeinen" - }, - "exclude": { - "message": "Uitsluiten" - }, - "include": { - "message": "Insluiten" - }, - "customize": { - "message": "Personaliseren" - }, - "newCustomDomain": { - "message": "Nieuw gepersonaliseerd domein" - }, - "newCustomDomainDesc": { - "message": "Voer een lijst in met domeinen door komma's. Alleen basisdomeinen zijn toegestaan. Voer geen subdomeinen in. Gebruik bijvoorbeeld \"google.com\" in plaats van \"www.google.com\". Je kunt ook \"androidapp://package.name\" invoeren om een Android-app aan andere websitedomeinen te koppelen." - }, - "customDomainX": { - "message": "Gepersonaliseerd domein $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Domeinen bijgewerkt" - }, - "twoStepLogin": { - "message": "Tweestapsaanmelding" - }, - "twoStepLoginDesc": { - "message": "Beveilig je account door een extra stap te vereisen bij het inloggen." - }, - "twoStepLoginOrganizationDesc": { - "message": "Vereis tweestapsaanmelding voor de gebruikers van je organisatie door aanbieders op organisatieniveau in te stellen." - }, - "twoStepLoginRecoveryWarning": { - "message": "Door aanmelden in twee stappen in te schakelen, kun je jezelf definitief buitensluiten van je Bitwarden-account. Een herstelcode geeft je toegang tot je account in het geval dat je je normale tweestapsaanmelding niet meer kunt gebruiken (bijv. als je je apparaat verliest). De Bitwarden-klantondersteuning kan je niet helpen als je de toegang tot je account verliest. We raden je met klem aan de herstelcode op te schrijven of af te drukken en op een veilige plaats te bewaren." - }, - "viewRecoveryCode": { - "message": "Herstelcode weergeven" - }, - "providers": { - "message": "Aanbieders", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Inschakelen" - }, - "enabled": { - "message": "Ingeschakeld" - }, - "premium": { - "message": "Premium", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Premium-abonnement" - }, - "premiumRequired": { - "message": "Premium is vereist" - }, - "premiumRequiredDesc": { - "message": "Je hebt een Premium-abonnement nodig om deze functie te gebruiken." - }, - "youHavePremiumAccess": { - "message": "Je hebt Premium-toegang" - }, - "alreadyPremiumFromOrg": { - "message": "Je hebt al toegang tot Premium-functionaliteit, via een organisatie waar je lid van bent." - }, - "manage": { - "message": "Beheren" - }, - "disable": { - "message": "Uitschakelen" - }, - "twoStepLoginProviderEnabled": { - "message": "Deze tweestapsaanmeldingsaanbieder is geactiveerd voor je account." - }, - "twoStepLoginAuthDesc": { - "message": "Vul je hoofdwachtwoord in om je tweestapsaanmeldingsinstellingen te wijzigen." - }, - "twoStepAuthenticatorDesc": { - "message": "Volg deze stappen om tweestapsaanmelding in te stellen met een authenticatie-app:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Download een tweestapsauthenticatie-app" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Een tweestapsauthenticatie app nodig? Download een van de volgende" - }, - "iosDevices": { - "message": "iOS-apparaten" - }, - "androidDevices": { - "message": "Android-apparaten" - }, - "windowsDevices": { - "message": "Windows-apparaten" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "Deze apps zijn aanbevolen, maar andere authenticatie-apps werken ook." - }, - "twoStepAuthenticatorScanCode": { - "message": "Scan deze QR-code met je authenticatie-app" - }, - "key": { - "message": "Sleutel" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Voer de 6-cijferige verificatiecode uit je authenticatie-app in" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "In het geval dat je het aan een ander apparaat moet toevoegen, is hieronder de QR-code (of sleutel) die je authenticatie-app nodig heeft." - }, - "twoStepDisableDesc": { - "message": "Weet je zeker dat je deze aanbieder van tweestapsaanmeldig wilt uitschakelen?" - }, - "twoStepDisabled": { - "message": "Tweestapsaanmeldingsaanbieder is uitgeschakeld." - }, - "twoFactorYubikeyAdd": { - "message": "Nieuwe YubiKey aan je account toevoegen" - }, - "twoFactorYubikeyPlugIn": { - "message": "Plaats de YubiKey in de USB-poort van je computer." - }, - "twoFactorYubikeySelectKey": { - "message": "Selecteer hieronder het eerste lege YubiKey-invoerveld." - }, - "twoFactorYubikeyTouchButton": { - "message": "Druk op de knop van de YubiKey." - }, - "twoFactorYubikeySaveForm": { - "message": "Formulier opslaan." - }, - "twoFactorYubikeyWarning": { - "message": "Vanwege platformbeperkingen kun je YubiKeys niet in alle Bitwarden-applicaties gebruiken. Stel een andere tweestapsaanmeldingsaanbieder in voor situaties waar YubiKeys niet gebruikt kunnen worden. De volgende platformen worden ondersteund:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Webkluis, desktop-applicatie, CLI en alle browser-extensies op een apparaat met een USB-poort welke YubiKey accepteert." - }, - "twoFactorYubikeySupportMobile": { - "message": "Mobiele apps op een apparaat met NFC of een USB-poort welke YubiKey accepteert." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "U2F-sleutel $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "NFC-ondersteuning" - }, - "twoFactorYubikeySupportsNfc": { - "message": "Een van mijn sleutels ondersteunt NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "Als een van je YubiKeys NFC ondersteunt (zoals een YubiKey NEO) dan word je op een mobiel apparaat met NFC gevraagd om deze te gebruiken." - }, - "yubikeysUpdated": { - "message": "YubiKeys bijgewerkt" - }, - "disableAllKeys": { - "message": "Alle sleutels uitschakelen" - }, - "twoFactorDuoDesc": { - "message": "Vul de informatie van de Bitwarden-applicatie van uw Duo Admin-scherm in." - }, - "twoFactorDuoIntegrationKey": { - "message": "Integratiesleutel" - }, - "twoFactorDuoSecretKey": { - "message": "Geheime sleutel" - }, - "twoFactorDuoApiHostname": { - "message": "API-hostnaam" - }, - "twoFactorEmailDesc": { - "message": "Volg deze stappen voor het instellen van tweestapsaanmelding met e-mail:" - }, - "twoFactorEmailEnterEmail": { - "message": "Voer de e-mailadres in waar je de verificatiecodes wilt ontvangen" - }, - "twoFactorEmailEnterCode": { - "message": "Voer de 6-cijferige verificatiecode uit de e-mail in" - }, - "sendEmail": { - "message": "E-mail versturen" - }, - "twoFactorU2fAdd": { - "message": "FIDO U2F-beveiligingssleutel aan je account toevoegen" - }, - "removeU2fConfirmation": { - "message": "Weet je zeker dat je deze beveiligingssleutel wilt verwijderen?" - }, - "readKey": { - "message": "Sleutel lezen" - }, - "keyCompromised": { - "message": "Sleutel is uitgelekt." - }, - "twoFactorU2fGiveName": { - "message": "Geef de beveiligingssleutel een beschrijvende naam om deze te identificeren." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Plaats de beveiligingssleutel in een USB-poort van je computer en klik \"Lees sleutel\"." - }, - "twoFactorU2fTouchButton": { - "message": "Als de beveiligingssleutel een knop heeft, druk deze dan in." - }, - "twoFactorU2fSaveForm": { - "message": "Formulier opslaan." - }, - "twoFactorU2fWarning": { - "message": "Vanwege platformbeperkingen kun je FIDO U2F niet in alle Bitwarden-applicaties gebruiken. Stel een andere tweestapsaanmeldingsaanbieder in voor situaties waar FIDO U2F niet gebruikt kan worden. De volgende platformen worden ondersteund:" - }, - "twoFactorU2fSupportWeb": { - "message": "Webkluis en browser-extensies op een desktop/laptop met browserondersteuning voor U2F (Chrome, Opera, Vivaldi of Firefox met FIDO U2F ingeschakeld)." - }, - "twoFactorU2fWaiting": { - "message": "Wachten tot je op de knop van de beveiligingssleutel hebt gedrukt" - }, - "twoFactorU2fClickSave": { - "message": "Klik hieronder op \"Opslaan\" voor het instellen van deze beveiligingssleutel als tweestapsaanmeldingsmethode." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "Er was een probleem met het lezen van de beveiligingssleutel. Probeer het nogmaals." - }, - "twoFactorRecoveryYourCode": { - "message": "Je herstelcode voor Bitwarden-tweestapsaanmelding" - }, - "twoFactorRecoveryNoCode": { - "message": "Je hebt nog geen tweestapsaanmeldingsaanbieders ingeschakeld. Nadat je een tweestapsaanmeldingsaanbieder hebt ingeschakeld kun je hier je herstelcode vinden." - }, - "printCode": { - "message": "Code afdrukken", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Rapportages" - }, - "unsecuredWebsitesReport": { - "message": "Niet-beveiligde websites" - }, - "unsecuredWebsitesReportDesc": { - "message": "Onbeveiligde websites met http:// gebruiken kan gevaarlijk zijn. Als de website het ondersteunt, moet je deze altijd benaderen met behulp van https:// zodat je verbinding versleuteld is." - }, - "unsecuredWebsitesFound": { - "message": "Onveilige websites gevonden" - }, - "unsecuredWebsitesFoundDesc": { - "message": "We hebben $COUNT$ items met onbeveiligde URIs in je kluis gevonden. Als de website het ondersteunt, moet je de URI naar https:// wijzigen.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "Geen items in je kluis met onbeveiligde URIs." - }, - "inactive2faReport": { - "message": "Niet-geactiveerde 2FA" - }, - "inactive2faReportDesc": { - "message": "Tweestapsaanmelding (2FA) is een belangrijke instelling die bijdraagt aan de beveiliging van je accounts. Als de website het ondersteunt, zou je altijd tweestapsaanmelding moeten gebruiken." - }, - "inactive2faFound": { - "message": "Logins zonder 2FA gevonden" - }, - "inactive2faFoundDesc": { - "message": "We hebben $COUNT$ website(s) in je kluis gevonden waar je tweestapsaanmelding nog kunt configureren (volgens 2fa.directory). Om deze accounts verder te beschermen, zou je tweestapsaanmelding moeten inschakelen.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "Er zijn geen websites in je kluis gevonden waarin tweestapsaanmelding ontbreekt." - }, - "instructions": { - "message": "Instructies" - }, - "exposedPasswordsReport": { - "message": "Gelekte wachtwoorden" - }, - "exposedPasswordsReportDesc": { - "message": "Gelekte wachtwoorden zijn wachtwoorden die zijn ontdekt in bekende datalekken die publiekelijk zijn vrijgegeven of door hackers op het dark web worden verkocht." - }, - "exposedPasswordsFound": { - "message": "Gelekte wachtwoorden gevonden" - }, - "exposedPasswordsFoundDesc": { - "message": "We hebben in je kluis $COUNT$ wachtwoorden gevonden die zijn gelekt. Je zou voor deze accounts een nieuw wachtwoord moeten instellen.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "Er zijn geen items in je kluis die gelekte wachtwoorden gebruiken." - }, - "checkExposedPasswords": { - "message": "Controleer gelekte wachtwoorden" - }, - "exposedXTimes": { - "message": "$COUNT$ keer gelekt", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Zwakke wachtwoorden" - }, - "weakPasswordsReportDesc": { - "message": "Hackers en geautomatiseerde gereedschappen die wachtwoorden kraken kunnen zwakke wachtwoorden eenvoudig raden. De wachtwoordgenerator van Bitwarden helpt je bij het maken van sterke wachtwoorden." - }, - "weakPasswordsFound": { - "message": "Zwakke wachtwoorden gevonden" - }, - "weakPasswordsFoundDesc": { - "message": "We hebben $COUNT$ zwakke wachtwoorden in je kluis gevonden. Je zou ze moeten veranderen in sterke wachtwoorden.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "Er zijn geen items met zwakke wachtwoorden in je kluis gevonden." - }, - "reusedPasswordsReport": { - "message": "Dubbele wachtwoorden" - }, - "reusedPasswordsReportDesc": { - "message": "Als hackers wachtwoorden stelen bij een dienst die je gebruikt, kunnen zij met hetzelfde wachtwoord eenvoudig toegang krijgen tot meer van je online accounts. Je zou voor iedere dienst een uniek wachtwoord moeten gebruiken." - }, - "reusedPasswordsFound": { - "message": "Dubbele wachtwoorden gevonden" - }, - "reusedPasswordsFoundDesc": { - "message": "We hebben $COUNT$ dubbele wachtwoorden in je kluis gevonden. Je zou deze moeten veranderen in unieke wachtwoorden.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "Er zijn in je kluis geen dubbele wachtwoorden gevonden." - }, - "reusedXTimes": { - "message": "$COUNT$ keer dubbel gebruikt", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Datalekken" - }, - "breachDesc": { - "message": "Een \"datalek\" is een incident waarbij de gegevens van een website zijn gestolen door hackers en vervolgens openbaar zijn gemaakt. Controleer de soorten gegevens die zijn gelekt (e-mailadressen, wachtwoorden, creditcards, enz.) en neem passende maatregelen, zoals het wijzigen van wachtwoorden." - }, - "breachCheckUsernameEmail": { - "message": "Controleer elke gebruikersnaam of e-mailadres die je gebruikt." - }, - "checkBreaches": { - "message": "Controleer datalekken" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ is niet gevonden in bekende datalekken.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Goed nieuws", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ is in $COUNT$ verschillende datalekken gevonden.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Gelekte accounts gevonden" - }, - "compromisedData": { - "message": "Gelekte gegevens" - }, - "website": { - "message": "Website" - }, - "affectedUsers": { - "message": "Betrokken gebruikers" - }, - "breachOccurred": { - "message": "Gelekt op" - }, - "breachReported": { - "message": "Gerapporteerd op" - }, - "reportError": { - "message": "Er is een fout opgetreden bij het laden van het overzicht. Probeer het nog eens" - }, - "billing": { - "message": "Facturering" - }, - "accountCredit": { - "message": "Rekeningtegoed", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Rekeningbalans", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Krediet toevoegen", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Bedrag", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Toegevoegd krediet verschijnt in je account nadat de betaling volledig is verwerkt. Sommige betaalmethoden zijn vertraagd en kunnen langer duren om te verwerken dan andere." - }, - "makeSureEnoughCredit": { - "message": "Verzeker jezelf ervan dat je account voldoende krediet voor deze aankoop beschikbaar heeft. Als je account niet genoeg krediet heeft, zal je standaard betaalmethode worden gebruikt voor het verschil. Je kunt krediet aan je account toevoegen vanaf de factuurpagina." - }, - "creditAppliedDesc": { - "message": "Je kunt het krediet van je account voor aankopen gebruiken. Elk beschikbaar krediet zal automatisch worden toegepast op facturen die gegenereerd zijn voor dit account." - }, - "goPremium": { - "message": "Neem Premium", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "Je bent opgewaardeerd naar Premium." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Upgrade je account naar een Premium-abonnement en ontgrendel enkele geweldige extra functionaliteiten." - }, - "premiumSignUpStorage": { - "message": "1 GB versleutelde opslag voor bijlagen." - }, - "premiumSignUpTwoStep": { - "message": "Extra tweestapsaanmeldingsopties zoals YubiKey, FIDO U2F en Duo." - }, - "premiumSignUpReports": { - "message": "Rapportages op wachtwoordhygiëne, gezondheid van je account en datalekken om je kluis veilig te houden." - }, - "premiumSignUpTotp": { - "message": "TOTP-verificatiecodegenerator (tweestapsaanmelding) voor aanmeldingsgegevens in je kluis." - }, - "premiumSignUpSupport": { - "message": "Klantondersteuning met hoge prioriteit." - }, - "premiumSignUpFuture": { - "message": "Alle toekomstige Premium-functionaliteiten. Binnenkort meer!" - }, - "premiumPrice": { - "message": "Dit alles voor slechts $PRICE$ per jaar!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Add-ons" - }, - "premiumAccess": { - "message": "Premium-toegang" - }, - "premiumAccessDesc": { - "message": "Je kunt alle leden van je organisatie Premium-toegang verlenen voor $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Extra opslagruimte (GB)" - }, - "additionalStorageGbDesc": { - "message": "# extra GB" - }, - "additionalStorageIntervalDesc": { - "message": "Je lidmaatschap omvat $SIZE$ beveiligde bestandsopslag. Je kunt extra opslagruimte toevoegen voor $PRICE$ per GB /$INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Samenvatting" - }, - "total": { - "message": "Totaal" - }, - "year": { - "message": "jaar" - }, - "month": { - "message": "maand" - }, - "monthAbbr": { - "message": "mnd", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Het bedrag wordt direct in rekening gebracht en vervolgens jaarlijks op terugkerende basis. Je kunt op ieder moment opzeggen." - }, - "paymentCharged": { - "message": "Het bedrag wordt direct op je betaalmethode in rekening gebracht en vervolgens iedere $INTERVAL$ op terugkerende basis. Je kunt op ieder moment opzeggen.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Je lidmaatschap omvat een gratis proefperiode van 7 dagen. Kosten worden pas in rekening gebracht als de proefperiode voorbij is. De betaling vindt ieder(e) $INTERVAL$ op terugkerende basis plaats. Je kunt op ieder moment opzeggen.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Betaalgegevens" - }, - "billingInformation": { - "message": "Factureringsgegevens" - }, - "creditCard": { - "message": "Creditcard" - }, - "paypalClickSubmit": { - "message": "Klik op de PayPal-knop om je aan te melden op je PayPal-account. Klik vervolgens hieronder op de knop Verzenden om verder te gaan." - }, - "cancelSubscription": { - "message": "Abonnement opzeggen" - }, - "subscriptionCanceled": { - "message": "Het abonnement is opgezegd." - }, - "pendingCancellation": { - "message": "In afwachting van opzegging" - }, - "subscriptionPendingCanceled": { - "message": "Het abonnement is gemarkeerd voor opzegging aan het einde van de huidige betalingsperiode." - }, - "reinstateSubscription": { - "message": "Abonnement opnieuw activeren" - }, - "reinstateConfirmation": { - "message": "Weet je zeker dat je de lopende opzegging wilt verwijderen en je abonnement opnieuw wilt activeren?" - }, - "reinstated": { - "message": "Het abonnement is opnieuw geactiveerd." - }, - "cancelConfirmation": { - "message": "Weet je zeker dat je wilt opzeggen? Je verliest toegang tot alle functionaliteiten van dit abonnement aan het einde van deze betalingscyclus." - }, - "canceledSubscription": { - "message": "Het abonnement is opgezegd." - }, - "neverExpires": { - "message": "Vervalt nooit" - }, - "status": { - "message": "Status" - }, - "nextCharge": { - "message": "Volgende betaling" - }, - "details": { - "message": "Details" - }, - "downloadLicense": { - "message": "Licentie downloaden" - }, - "updateLicense": { - "message": "Licentie bijwerken" - }, - "updatedLicense": { - "message": "Licentie bijgewerkt" - }, - "manageSubscription": { - "message": "Abonnement beheren" - }, - "storage": { - "message": "Opslagruimte" - }, - "addStorage": { - "message": "Opslagruimte toevoegen" - }, - "removeStorage": { - "message": "Opslagruimte verwijderen" - }, - "subscriptionStorage": { - "message": "Je abonnement biedt in totaal $MAX_STORAGE$ GB versleutelde bestandsopslag. Je gebruikt momenteel $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Betaalwijze" - }, - "noPaymentMethod": { - "message": "Geen betaalwijze gekozen." - }, - "addPaymentMethod": { - "message": "Betaalwijze toevoegen" - }, - "changePaymentMethod": { - "message": "Betaalwijze aanpassen" - }, - "invoices": { - "message": "Facturen" - }, - "noInvoices": { - "message": "Geen facturen." - }, - "paid": { - "message": "Betaald", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Openstaand", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Transacties", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "Geen transacties." - }, - "chargeNoun": { - "message": "Kosten", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Terugbetaling", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Kosten verschijnen op je afschrift als $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "GB aan opslagruimte toevoegen" - }, - "gbStorageRemove": { - "message": "GB aan opslagruimte verwijderen" - }, - "storageAddNote": { - "message": "Opslag toevoegen heeft gevolgen voor je factuurbedrag en wordt onmiddellijk in rekening gebracht op je geregistreerde betaalmethode. De eerste rekening wordt pro-rata berekend voor de resterende factureringscyclus." - }, - "storageRemoveNote": { - "message": "Opslag verwijderen heeft gevolgen voor je factuurbedrag en wordt pro-rata gecrediteerd op je volgende betaling." - }, - "adjustedStorage": { - "message": "Opslagruimte aangepast naar $AMOUNT$ GB.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Neem contact op met de klantondersteuning" - }, - "updatedPaymentMethod": { - "message": "Betaalmethode bijgewerkt." - }, - "purchasePremium": { - "message": "Premium aanschaffen" - }, - "licenseFile": { - "message": "Licentiebestand" - }, - "licenseFileDesc": { - "message": "Je licentiebestand heeft een naam als $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "Om je account te upgraden naar een Premium-abonnement, moet je een geldig licentiebestand uploaden." - }, - "uploadLicenseFileOrg": { - "message": "Voor het aanmaken van een zelfgehoste organisatie moet je een geldig licentiebestand uploaden." - }, - "accountEmailMustBeVerified": { - "message": "Het e-mailadres van je account moet geverifieerd zijn." - }, - "newOrganizationDesc": { - "message": "Met organisaties kun je delen van je kluis met anderen delen en gebruikers in een bepaalde samenstelling beheren, zoals een familie, klein team of groot bedrijf." - }, - "generalInformation": { - "message": "Algemene informatie" - }, - "organizationName": { - "message": "Organisatienaam" - }, - "accountOwnedBusiness": { - "message": "Dit account is eigendom van een bedrijf." - }, - "billingEmail": { - "message": "E-mailadres voor facturering" - }, - "businessName": { - "message": "Bedrijfsnaam" - }, - "chooseYourPlan": { - "message": "Kies je abonnement" - }, - "users": { - "message": "Gebruikers" - }, - "userSeats": { - "message": "Gebruikersplaatsen" - }, - "additionalUserSeats": { - "message": "Extra gebruikersplaatsen" - }, - "userSeatsDesc": { - "message": "# gebruikersplaatsen" - }, - "userSeatsAdditionalDesc": { - "message": "Bij je abonnement horen $BASE_SEATS$ gebruikersplaatsen. Je kunt extra gebruikersplaatsen aankopen voor $SEAT_PRICE$ per gebruiker/maand.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "Hoeveel gebruikersplaatsen heb je nodig? Je kunt later altijd nog extra plaatsen toevoegen." - }, - "planNameFree": { - "message": "Gratis", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "Voor het testen of een persoonlijk gebruiker die deelt met $COUNT$ andere gebruiker(s).", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Families" - }, - "planDescFamilies": { - "message": "Voor persoonlijke gebruik, om met familie en vrienden te delen." - }, - "planNameTeams": { - "message": "Teams" - }, - "planDescTeams": { - "message": "Voor bedrijven en andere team-organisaties." - }, - "planNameEnterprise": { - "message": "Enterprise" - }, - "planDescEnterprise": { - "message": "Voor bedrijven en andere grote organisaties." - }, - "freeForever": { - "message": "Altijd gratis" - }, - "includesXUsers": { - "message": "inclusief $COUNT$ gebruikers", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Extra gebruikers" - }, - "costPerUser": { - "message": "$COST$ per gebruiker", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Beperkt tot $COUNT$ gebruikers (inclusief jijzelf)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Beperkt tot $COUNT$ verzamelingen", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Toevoegen en delen met maximaal $COUNT$ gebruikers", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Toevoegen en delen met een onbeperkt aantal gebruikers" - }, - "createUnlimitedCollections": { - "message": "Oneindig veel verzamelingen aanmaken" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ versleutelde bestandsopslag", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "Zelfhosting (optioneel)" - }, - "usersGetPremium": { - "message": "Gebruikers krijgen toegang tot Premium-functies" - }, - "controlAccessWithGroups": { - "message": "Gebruikerstoegang beheren met groepen" - }, - "syncUsersFromDirectory": { - "message": "Gebruikers en groepen vanuit een directory synchroniseren" - }, - "trackAuditLogs": { - "message": "Gebruikersacties vastleggen in auditlogboeken" - }, - "enforce2faDuo": { - "message": "Tweestapsaanmelding afdwingen met Duo" - }, - "priorityCustomerSupport": { - "message": "Klantondersteuning met hoge prioriteit" - }, - "xDayFreeTrial": { - "message": "$COUNT$ dagen gratis proefperiode, op ieder moment opzegbaar", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Maandelijks" - }, - "annually": { - "message": "Jaarlijks" - }, - "basePrice": { - "message": "Basisprijs" - }, - "organizationCreated": { - "message": "Organisatie aangemaakt" - }, - "organizationReadyToGo": { - "message": "Je nieuwe organisatie is klaar voor gebruik!" - }, - "organizationUpgraded": { - "message": "Je organisatie is bijgewerkt." - }, - "leave": { - "message": "Verlaten" - }, - "leaveOrganizationConfirmation": { - "message": "Weet je zeker dat je deze organisatie wilt verlaten?" - }, - "leftOrganization": { - "message": "Je hebt de organisatie verlaten." - }, - "defaultCollection": { - "message": "Standaardverzameling" - }, - "getHelp": { - "message": "Hulp vragen" - }, - "getApps": { - "message": "De apps downloaden" - }, - "loggedInAs": { - "message": "Ingelogd als" - }, - "eventLogs": { - "message": "Gebeurtenislog" - }, - "people": { - "message": "Personen" - }, - "policies": { - "message": "Beleidseisen" - }, - "editPolicy": { - "message": "Beleid bewerken" - }, - "groups": { - "message": "Groepen" - }, - "newGroup": { - "message": "Nieuwe groep" - }, - "addGroup": { - "message": "Groep toevoegen" - }, - "editGroup": { - "message": "Groep bewerken" - }, - "deleteGroupConfirmation": { - "message": "Weet je zeker dat je deze groep wilt verwijderen?" - }, - "removeUserConfirmation": { - "message": "Weet je zeker dat je deze gebruiker wilt verwijderen?" - }, - "externalId": { - "message": "Externe ID" - }, - "externalIdDesc": { - "message": "Je kunt het externe ID gebruiken als referentie of om een koppeling te leggen tussen deze bron en een extern systeem zoals een directory met gebruikers." - }, - "accessControl": { - "message": "Toegangsbeheer" - }, - "groupAccessAllItems": { - "message": "Deze groep kan alle items inzien en bewerken." - }, - "groupAccessSelectedCollections": { - "message": "Deze groep heeft alleen toegang tot de geselecteerde verzamelingen." - }, - "readOnly": { - "message": "Alleen-lezen" - }, - "newCollection": { - "message": "Nieuwe verzameling" - }, - "addCollection": { - "message": "Verzameling toevoegen" - }, - "editCollection": { - "message": "Verzameling bewerken" - }, - "deleteCollectionConfirmation": { - "message": "Weet je zeker dat je deze verzameling wilt verwijderen?" - }, - "editUser": { - "message": "Gebruiker bewerken" - }, - "inviteUser": { - "message": "Gebruiker uitnodigen" - }, - "inviteUserDesc": { - "message": "Nodig een nieuwe gebruiker uit voor je organisatie door het e-mailadres van hun Bitwarden-account hieronder in te vullen. Als ze nog geen Bitwarden-account hebben, kunnen ze een nieuw account aanmaken." - }, - "inviteMultipleEmailDesc": { - "message": "Je kunt tot $COUNT$ gebruikers per keer uitnodigen door middel van een lijst met komma's gescheiden e-mailadressen.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "Het account van deze gebruiker is beschermd met tweestapsaanmelding." - }, - "userAccessAllItems": { - "message": "Deze gebruiker kan alle items inzien en bewerken." - }, - "userAccessSelectedCollections": { - "message": "Deze gebruiker heeft alleen toegang tot de geselecteerde verzamelingen." - }, - "search": { - "message": "Zoeken" - }, - "invited": { - "message": "Uitgenodigd" - }, - "accepted": { - "message": "Geaccepteerd" - }, - "confirmed": { - "message": "Bevestigd" - }, - "owner": { - "message": "Eigenaar" - }, - "ownerDesc": { - "message": "De gebruiker met de hoogste toegangsrechten. Deze gebruiker kan alle aspecten van je organisatie beheren." - }, - "admin": { - "message": "Beheerder" - }, - "adminDesc": { - "message": "Beheerders hebben toegang tot alle items, verzamelingen en gebruikers binnen je organisatie en kunnen deze ook beheren." - }, - "user": { - "message": "Gebruiker" - }, - "userDesc": { - "message": "Een standaardgebruiker met toegang tot de verzamelingen van je organisatie." - }, - "manager": { - "message": "Manager" - }, - "managerDesc": { - "message": "Managers hebben toegang tot toegewezen verzamelingen binnen je organisatie en kunnen deze ook beheren." - }, - "all": { - "message": "Alle" - }, - "refresh": { - "message": "Verversen" - }, - "timestamp": { - "message": "Tijdstempel" - }, - "event": { - "message": "Gebeurtenis" - }, - "unknown": { - "message": "Onbekend" - }, - "loadMore": { - "message": "Meer ophalen" - }, - "mobile": { - "message": "Mobiel", - "description": "Mobile app" - }, - "extension": { - "message": "Extensie", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Desktop", - "description": "Desktop app" - }, - "webVault": { - "message": "Webkluis" - }, - "loggedIn": { - "message": "Ingelogd." - }, - "changedPassword": { - "message": "Accountwachtwoord veranderd." - }, - "enabledUpdated2fa": { - "message": "Tweestapsaanmelding geactiveerd/bijgewerkt." - }, - "disabled2fa": { - "message": "Tweestapsaanmelding uitgeschakeld." - }, - "recovered2fa": { - "message": "Account hersteld van tweestapsaanmelding." - }, - "failedLogin": { - "message": "Inlogpoging met onjuist wachtwoord mislukt." - }, - "failedLogin2fa": { - "message": "Inlogpoging met onjuiste tweestapsaanmelding mislukt." - }, - "exportedVault": { - "message": "Kluis geëxporteerd." - }, - "exportedOrganizationVault": { - "message": "Organisatiekluis geëxporteerd." - }, - "editedOrgSettings": { - "message": "Organisatie-instellingen gewijzigd." - }, - "createdItemId": { - "message": "Aangemaakt item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Gewijzigd item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Verwijderd item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Gedeeld item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Bekeken item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Wachtwoord bekeken voor item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Verborgen veld bekeken voor item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Beveiligingscode bekeken voor item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Wachtwoord gekopieerd voor item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Verborgen veld gekopieerd voor item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Beveiligingscode gekopieerd voor item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Automatisch-invullen voor item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Verzameling aangemaakt $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Verzameling gewijzigd $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Verzameling verwijderd $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Bewerkt beleid $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Groep aangemaakt $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Groep gewijzigd $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Groep verwijderd $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Gebruiker verwijderd $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Bijlage aangemaakt voor item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Bijlage verwijderd voor item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Verzamelingen gewijzigd voor item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Gebruiker uitgenodigd $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Gebruiker bevestigd $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Gebruiker gewijzigd $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Groepen gewijzigd van gebruiker $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "SSO ontkoppeld voor gebruiker $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Apparaat" - }, - "view": { - "message": "Weergeven" - }, - "invalidDateRange": { - "message": "Ongeldig datumbereik." - }, - "errorOccurred": { - "message": "Er is een fout opgetreden." - }, - "userAccess": { - "message": "Gebruikerstoegang" - }, - "userType": { - "message": "Soort gebruiker" - }, - "groupAccess": { - "message": "Groepstoegang" - }, - "groupAccessUserDesc": { - "message": "Wijzig de groep waar deze gebruiker bij hoort." - }, - "invitedUsers": { - "message": "Gebruiker(s) uitgenodigd." - }, - "resendInvitation": { - "message": "Uitnodiging opnieuw versturen" - }, - "hasBeenReinvited": { - "message": "$USER$ is opnieuw uitgenodigd.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Bevestigen" - }, - "confirmUser": { - "message": "Gebruiker bevestigen" - }, - "hasBeenConfirmed": { - "message": "$USER$ is bevestigd.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Gebruikers bevestigen" - }, - "usersNeedConfirmed": { - "message": "Je hebt gebruikers die hun uitnodiging hebben geaccepteerd, maar nog moeten worden bevestigd. Gebruikers hebben pas toegang tot de organisatie nadat ze zijn bevestigd." - }, - "startDate": { - "message": "Begindatum" - }, - "endDate": { - "message": "Einddatum" - }, - "verifyEmail": { - "message": "E-mailadres verifiëren" - }, - "verifyEmailDesc": { - "message": "Verifieer het e-mailadres van je account om toegang te krijgen tot alle functionaliteiten." - }, - "verifyEmailFirst": { - "message": "Je moet eerst het e-mailadres van je account verifiëren." - }, - "checkInboxForVerification": { - "message": "Kijk in het postvak IN van je e-mail voor een verificatielink." - }, - "emailVerified": { - "message": "Je e-mailadres is geverifieerd." - }, - "emailVerifiedFailed": { - "message": "Je e-mailadres kon niet worden geverifieerd. Probeer een nieuwe e-mail met verificatielink te versturen." - }, - "updateBrowser": { - "message": "Webbrowser bijwerken" - }, - "updateBrowserDesc": { - "message": "Je maakt gebruik van webbrowser die we niet ondersteunen. De webkluis werkt mogelijk niet goed." - }, - "joinOrganization": { - "message": "Lid worden van organisatie" - }, - "joinOrganizationDesc": { - "message": "Je bent uitgenodigd om lid te worden van bovenstaande organisatie. Om de uitnodiging te accepteren, moet je inloggen of een nieuw Bitwarden-account aanmaken." - }, - "inviteAccepted": { - "message": "Uitnodiging geaccepteerd" - }, - "inviteAcceptedDesc": { - "message": "Je krijgt toegang tot deze organisatie zodra een beheerder je lidmaatschap bevestigt. We sturen je een e-mail zodra dat gebeurt." - }, - "inviteAcceptFailed": { - "message": "De uitnodiging is niet geaccepteerd. Vraag een beheerder van de organisatie om een nieuwe uitnodiging te versturen." - }, - "inviteAcceptFailedShort": { - "message": "Uitnodiging kan niet worden geaccepteerd. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Mijn e-mailadres onthouden" - }, - "recoverAccountTwoStepDesc": { - "message": "Als je geen toegang tot je account kunt krijgen via je normale tweestapsaanmeldingsmethodes, kun je met je herstelcode alle aanbieders van tweestapsaanmelding in je account uitschakelen." - }, - "recoverAccountTwoStep": { - "message": "Tweestapsaanmelding herstellen" - }, - "twoStepRecoverDisabled": { - "message": "Tweestapsaanmeldig is uitgeschakeld voor je account." - }, - "learnMore": { - "message": "Meer informatie" - }, - "deleteRecoverDesc": { - "message": "Voer hieronder je e-mailadres in om je account te herstellen en te verwijderen." - }, - "deleteRecoverEmailSent": { - "message": "Als je account bestaat, hebben we je een e-mailbericht met nadere instructies gestuurd." - }, - "deleteRecoverConfirmDesc": { - "message": "Je hebt een aanvraag gedaan om je Bitwarden-account te verwijderen. Klik op onderstaande knop om dit te bevestigen." - }, - "myOrganization": { - "message": "Mijn organisatie" - }, - "deleteOrganization": { - "message": "Organisatie verwijderen" - }, - "deleteOrganizationDesc": { - "message": "Ga hieronder verder om deze organisatie en alle bijbehorende gegevens te verwijderen. De individuele gebruikersaccounts blijven bestaan maar ze zullen niet meer gekoppeld zijn aan deze organisatie." - }, - "deleteOrganizationWarning": { - "message": "Verwijdering van de organisatie is definitief. Je kunt dit niet ongedaan maken." - }, - "organizationDeleted": { - "message": "Organisatie verwijderd" - }, - "organizationDeletedDesc": { - "message": "De organisatie en alle bijhorende gegevens zijn verwijderd." - }, - "organizationUpdated": { - "message": "Organisatie bijgewerkt" - }, - "taxInformation": { - "message": "Belastinginformatie" - }, - "taxInformationDesc": { - "message": "Voor klanten in de VS is een postcode nodig om te voldoen aan belastingvoorschriften. Klanten uit andere landen kunnen desgewenst een belastingnummer (BTW/VAT/GST) en/of adres opgeven voor vermelding op de facturen." - }, - "billingPlan": { - "message": "Abonnement", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Abonnement wijzigen", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Upgrade je account naar een ander abonnement door onderstaande informatie door te geven. Verzeker jezelf ervan dat er een actieve betaalmethode aan het account is gekoppeld.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Neem contact op met de klantondersteuning als je je abonnement wilt aanpassen. Zorg ervoor dat je een actieve betaalmethode aan het account hebt toegevoegd.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Factuur #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "Factuur bekijken" - }, - "downloadInvoice": { - "message": "Factuur downloaden" - }, - "verifyBankAccount": { - "message": "Bankrekening verifiëren" - }, - "verifyBankAccountDesc": { - "message": "We hebben twee microbetalingen naar je bankrekening uitgevoerd (het kan 1-2 werkdagen duren voordat deze zichtbaar zijn). Voer deze bedragen in om de bankrekening te verifiëren." - }, - "verifyBankAccountInitialDesc": { - "message": "Betaling met een bankrekening is alleen beschikbaar voor klanten in de Verenigde Staten. Je moet eerst je bankrekening verifiëren. We zullen de komende 1-2 werkdagen twee microbetalingen uitvoeren. Voer deze bedragen in op de factureringspagina van de organisatie om de bankrekening te verifiëren." - }, - "verifyBankAccountFailureWarning": { - "message": "Als je de bankrekening niet verifieert mis je een betaling waardoor je abonnement wordt uitgeschakeld." - }, - "verifiedBankAccount": { - "message": "Bankrekening geverifieerd." - }, - "bankAccount": { - "message": "Bankrekening" - }, - "amountX": { - "message": "Bedrag $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Routeringsnummer", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Rekeningnummer" - }, - "accountHolderName": { - "message": "Naam rekeninghouder" - }, - "bankAccountType": { - "message": "Soort rekening" - }, - "bankAccountTypeCompany": { - "message": "Bedrijf (zakelijk)" - }, - "bankAccountTypeIndividual": { - "message": "Individu (persoonlijk)" - }, - "enterInstallationId": { - "message": "Installatie-id invoeren" - }, - "addSeats": { - "message": "Plaatsen toevoegen", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Plaatsen verwijderen", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Je abonnement omvat $COUNT$ gebruikers.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Toe te voegen plaatsen" - }, - "seatsToRemove": { - "message": "Te verwijderen plaatsen" - }, - "seatsAddNote": { - "message": "Gebruikersplaatsen toevoegen heeft gevolgen voor je factuurbedrag en wordt onmiddellijk in rekening gebracht op je geregistreerde betaalmethode. De eerste aanrekening wordt pro-rata berekend voor de resterende factureringscyclus." - }, - "seatsRemoveNote": { - "message": "Gebruikersplaatsen verwijderen heeft gevolgen voor je factuurbedrag en wordt pro-rata gecrediteerd op je volgende betaling." - }, - "adjustedSeats": { - "message": "Aantal plaatsen aangepast naar $AMOUNT$.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Sleutel bijgewerkt" - }, - "updateKeyTitle": { - "message": "Sleutel bijwerken" - }, - "updateEncryptionKey": { - "message": "Encryptiesleutel bijwerken" - }, - "updateEncryptionKeyShortDesc": { - "message": "Je gebruikt een oud versleutelingsschema." - }, - "updateEncryptionKeyDesc": { - "message": "We zijn overgeschakeld naar langere encryptiesleutels die beter beveiligen en nieuwe functionaliteiten mogelijk maken. Het bijwerken van je encryptiesleutel gaat snel en eenvoudig. Typ gewoon je hoofdwachtwoord hieronder in. Deze wijziging zal uiteindelijk verplicht worden." - }, - "updateEncryptionKeyWarning": { - "message": "Na het bijwerken van je encryptiesleutel moet je je afmelden en weer aanmelden bij alle Bitwarden-applicaties die je gebruikt (zoals de mobiele app of browserextensies). Als je niet opnieuw inlogt (wat je nieuwe encryptiesleutel downloadt), kan dit gegevensbeschadiging tot gevolg hebben. We proberen je automatisch uit te loggen, maar het kan zijn dat dit met enige vertraging gebeurt." - }, - "updateEncryptionKeyExportWarning": { - "message": "Elke versleutelde export die je hebt bewaard wordt onbruikbaar." - }, - "subscription": { - "message": "Abonnement" - }, - "loading": { - "message": "Laden" - }, - "upgrade": { - "message": "Upgrade" - }, - "upgradeOrganization": { - "message": "Organisatie upgraden" - }, - "upgradeOrganizationDesc": { - "message": "Deze mogelijkheid is niet beschikbaar voor gratis organisaties. Schakel over naar een betaald abonnement om meer mogelijkheden te ontgrendelen." - }, - "createOrganizationStep1": { - "message": "Organisatie aanmaken: Stap 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Voordat je een organisatie kunt aanmaken moet je eerst een gratis persoonlijk account aanmaken." - }, - "refunded": { - "message": "Terugbetaald" - }, - "nothingSelected": { - "message": "Je hebt niets geselecteerd." - }, - "acceptPolicies": { - "message": "Door dit vakje aan te vinken ga je akkoord met het volgende:" - }, - "acceptPoliciesError": { - "message": "Algemene voorwaarden en privacybeleid zijn nog niet erkend." - }, - "termsOfService": { - "message": "Algemene gebruiksvoorwaarden" - }, - "privacyPolicy": { - "message": "Privacybeleid" - }, - "filters": { - "message": "Filters" - }, - "vaultTimeout": { - "message": "Time-out van de kluis" - }, - "vaultTimeoutDesc": { - "message": "Stel de time-out van de kluis en de bijbehorende actie in." - }, - "oneMinute": { - "message": "1 minuut" - }, - "fiveMinutes": { - "message": "5 minuten" - }, - "fifteenMinutes": { - "message": "15 minuten" - }, - "thirtyMinutes": { - "message": "30 minuten" - }, - "oneHour": { - "message": "1 uur" - }, - "fourHours": { - "message": "4 uur" - }, - "onRefresh": { - "message": "Bij het verversen van de webbrowser" - }, - "dateUpdated": { - "message": "Bijgewerkt", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Wachtwoord bijgewerkt", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "Organisatie uitgeschakeld." - }, - "licenseIsExpired": { - "message": "Licentie verlopen." - }, - "updatedUsers": { - "message": "Gebruikers bijgewerkt" - }, - "selected": { - "message": "Geselecteerd" - }, - "ownership": { - "message": "Eigendom" - }, - "whoOwnsThisItem": { - "message": "Wie is eigenaar van dit object?" - }, - "strong": { - "message": "Sterk", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Goed", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Zwak", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Zeer zwak", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Zwak hoofdwachtwoord" - }, - "weakMasterPasswordDesc": { - "message": "Je hebt een zwak hoofdwachtwoord gekozen. Gebruik een sterk hoofdwachtwoord (of wachtwoordzin) om jouw Bitwarden-account goed te beschermen. Weet je zeker dat je dit hoofdwachtwoord wilt gebruiken?" - }, - "rotateAccountEncKey": { - "message": "De encryptiesleutel van mijn account ook roteren" - }, - "rotateEncKeyTitle": { - "message": "Encryptiesleutel roteren" - }, - "rotateEncKeyConfirmation": { - "message": "Weet je zeker dat je de encryptiesleutel van je account wilt roteren?" - }, - "attachmentsNeedFix": { - "message": "Dit item heeft oude bestandsbijlagen die aangepast moeten worden." - }, - "attachmentFixDesc": { - "message": "Dit is een oude bestandsbijlage die moet worden aangepast. Klik voor meer informatie." - }, - "fix": { - "message": "Oplossen", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "Er zijn oude bestandsbijlagen in je kluis die aangepast moeten worden voordat je je encryptiesleutels kunt roteren." - }, - "yourAccountsFingerprint": { - "message": "Vingerafdrukzin van je account", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "Verzeker jezelf van de integriteit van je encryptiesleutels, controleer de vingerafdrukzin van de gebruiker voor je verder gaat.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Niet meer vragen om de vingerafdrukzin te controleren", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Gratis", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "API-sleutel" - }, - "apiKeyDesc": { - "message": "Je kunt je API-sleutel gebruiken om in te loggen op de openbare API van Bitwarden." - }, - "apiKeyRotateDesc": { - "message": "Het roteren van de API-sleutel maakt de vorige sleutel ongeldig. Je kunt je API-sleutel roteren als je denkt dat de huidige sleutel niet langer veilig is om te gebruiken." - }, - "apiKeyWarning": { - "message": "Je API-sleutel heeft volledige toegang tot de organisatie. Houd het geheim." - }, - "userApiKeyDesc": { - "message": "Met je API-sleutel kun je inloggen in de Bitwarden CLI." - }, - "userApiKeyWarning": { - "message": "Je API-sleutel is een alternatieve manier van inloggen. Het moet geheim blijven." - }, - "oauth2ClientCredentials": { - "message": "OAuth 2.0 clientreferenties", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "API-sleutel bekijken" - }, - "rotateApiKey": { - "message": "API-sleutel roteren" - }, - "selectOneCollection": { - "message": "Je moet ten minste één collectie selecteren." - }, - "couldNotChargeCardPayInvoice": { - "message": "We konden geen kosten op je kaart in rekening brengen. Bekijk en betaal onderstaande openstaande factuur." - }, - "inAppPurchase": { - "message": "In-app aankoop" - }, - "cannotPerformInAppPurchase": { - "message": "Je kunt deze actie niet uitvoeren tijdens de uitvoering van een in-app aankoop." - }, - "manageSubscriptionFromStore": { - "message": "Je moet je abonnement beheren vanuit de winkel waar je in-app aankoop is gemaakt." - }, - "minLength": { - "message": "Minimale lengte" - }, - "clone": { - "message": "Dupliceren" - }, - "masterPassPolicyDesc": { - "message": "Minimale eisen voor de sterkte van het hoofdwachtwoord instellen." - }, - "twoStepLoginPolicyDesc": { - "message": "Vereis tweestapsaanmelding op het persoonlijke account van gebruikers." - }, - "twoStepLoginPolicyWarning": { - "message": "Organisatieleden die geen eigenaren of beheerders zijn en geen tweestapsaanmelding hebben ingeschakeld voor hun persoonlijke account worden verwijderd uit de organisatie en ontvangen een e-mail waarin ze worden geïnformeerd over de wijziging." - }, - "twoStepLoginPolicyUserWarning": { - "message": "Je bent lid van een organisatie die tweestapsaanmelding vereist op je persoonlijke account. Als je tweestapsaanmelding uitschakelt wordt je automatisch uit deze organisaties verwijderd." - }, - "passwordGeneratorPolicyDesc": { - "message": "Stel minimale vereisten in voor de configuratie van de wachtwoordgenerator." - }, - "passwordGeneratorPolicyInEffect": { - "message": "Een of meer organisatiebeleidseisen heeft invloed op de instellingen van je generator." - }, - "masterPasswordPolicyInEffect": { - "message": "Een of meer organisatiebeleidseisen stelt de volgende eisen aan je hoofdwachtwoord:" - }, - "policyInEffectMinComplexity": { - "message": "Minimale complexiteitsscore van $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Minimale lengte van $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Bevat een of meer hoofdletters" - }, - "policyInEffectLowercase": { - "message": "Bevat een of meer kleine letters" - }, - "policyInEffectNumbers": { - "message": "Bevat een of meer cijfers" - }, - "policyInEffectSpecial": { - "message": "Bevat een of meer van de volgende speciale tekens $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Je nieuwe hoofdwachtwoord voldoet niet aan de beleidseisen." - }, - "minimumNumberOfWords": { - "message": "Minimum aantal woorden" - }, - "defaultType": { - "message": "Standaardtype" - }, - "userPreference": { - "message": "Persoonlijke voorkeur" - }, - "vaultTimeoutAction": { - "message": "Actie bij time-out" - }, - "vaultTimeoutActionLockDesc": { - "message": "Om toegang te krijgen tot een vergrendelde kluis moet het hoofdwachtwoord opnieuw worden ingevoerd." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "Om toegang te krijgen tot een uitgelogde kluis te krijgen moet je opnieuw inloggen." - }, - "lock": { - "message": "Vergrendelen", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Prullenbak", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Prullenbak doorzoeken" - }, - "permanentlyDelete": { - "message": "Definitief verwijderen" - }, - "permanentlyDeleteSelected": { - "message": "Selectie definitief verwijderen" - }, - "permanentlyDeleteItem": { - "message": "Item definitief verwijderen" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Weet je zeker dat je dit item definitief wilt verwijderen?" - }, - "permanentlyDeletedItem": { - "message": "Definitief verwijderd item" - }, - "permanentlyDeletedItems": { - "message": "Definitief verwijderde items" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "Je hebt $COUNT$ item(s) geselecteerd voor verwijdering. Weet je zeker dat je al deze items definitief wilt verwijderen?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Definitief verwijderd item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Herstellen" - }, - "restoreSelected": { - "message": "Selectie herstellen" - }, - "restoreItem": { - "message": "Item herstellen" - }, - "restoredItem": { - "message": "Hersteld item" - }, - "restoredItems": { - "message": "Herstelde items" - }, - "restoreItemConfirmation": { - "message": "Weet je zeker dat je dit item wilt herstellen?" - }, - "restoreItems": { - "message": "Items herstellen" - }, - "restoreSelectedItemsDesc": { - "message": "Je hebt $COUNT$ item(s) geselecteerd voor herstel. Weet je zeker dat je al deze items wilt herstellen?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Hersteld item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Uitloggen ontneemt je de toegang tot je kluis en vereist online authenticatie na een periode van time-out. Weet je zeker dat je deze instelling wilt gebruiken?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Bevestiging actie bij time-out" - }, - "hidePasswords": { - "message": "Wachtwoorden verbergen" - }, - "countryPostalCodeRequiredDesc": { - "message": "We gebruiken deze informatie alleen voor het berekenen van belasting en financiële rapportages." - }, - "includeVAT": { - "message": "Inclusief btw-informatie (optioneel)" - }, - "taxIdNumber": { - "message": "Btw-nummer" - }, - "taxInfoUpdated": { - "message": "Belastinginformatie bijgewerkt." - }, - "setMasterPassword": { - "message": "Hoofdwachtwoord instellen" - }, - "ssoCompleteRegistration": { - "message": "Voor het inloggen met SSO moet je een hoofdwachtwoord instellen voor toegang tot en bescherming van je kluis." - }, - "identifier": { - "message": "Identificatie" - }, - "organizationIdentifier": { - "message": "Organisatie-identificatie" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Inloggen met het single sign-on portaal van je organisatie. Voer de identificatie van je organisatie in om te beginnen." - }, - "enterpriseSingleSignOn": { - "message": "Enterprise Single Sign-On" - }, - "ssoHandOff": { - "message": "Je kunt dit tabblad nu sluiten en doorgaan in de extensie." - }, - "businessPortal": { - "message": "Zakelijk portaal", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "Alle functionaliteit van Teams plus:" - }, - "includeSsoAuthentication": { - "message": "SSO-authenticatie via SAML2.0 en OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Enterprisebeleid" - }, - "ssoValidationFailed": { - "message": "SSO-validatie mislukt" - }, - "ssoIdentifierRequired": { - "message": "Organisatie-identificatie vereist." - }, - "unlinkSso": { - "message": "SSO ontkoppelen" - }, - "linkSso": { - "message": "SSO koppelen" - }, - "webPoliciesDeprecationWarning": { - "message": "Beleidsconfiguratie is verplaatst en deze pagina wordt binnenkort niet meer ondersteund. Klik hieronder om het bedrijfsbeleidsportaal te gebruiken." - }, - "singleOrg": { - "message": "Enkele organisatie" - }, - "singleOrgDesc": { - "message": "Beperk de mogelijkheid voor gebruikers om deel te nemen aan andere organisaties." - }, - "singleOrgBlockCreateMessage": { - "message": "Jouw huidige organisatie heeft een beleid dat je niet toestaat om deel te nemen aan meer dan één organisatie. Neem contact op met de beheerders van jouw organisatie of meld je aan met een ander Bitwarden-account." - }, - "singleOrgPolicyWarning": { - "message": "Leden van de organisatie die geen eigenaar of beheerder zijn en die al lid zijn van een andere organisatie, worden verwijderd uit jouw organisatie." - }, - "requireSso": { - "message": "Single Sign-On Authenticatie" - }, - "requireSsoPolicyDesc": { - "message": "Verplicht gebruikers om in te loggen met de Enterprise Single Sign-On methode." - }, - "prerequisite": { - "message": "Vereisten" - }, - "requireSsoPolicyReq": { - "message": "Voordat je dit beleid kunt activeren moet je eerst het Enkele organisatie-bedrijfsbeleid inschakelen." - }, - "requireSsoPolicyReqError": { - "message": "Enkele Organisatie-beleid is niet ingeschakeld." - }, - "requireSsoExemption": { - "message": "Eigenaren en beheerders van de organisatie zijn vrijgesteld van de handhaving van dit beleid." - }, - "sendTypeFile": { - "message": "Bestand" - }, - "sendTypeText": { - "message": "Tekst" - }, - "createSend": { - "message": "Nieuwe Send aanmaken", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Send bewerken", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Send aangemaakt", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Send bewerkt", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Send verwijderd", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Send verwijderen", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Weet je zeker dat je deze Send wilt verwijderen?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "Wat voor soort Send is dit?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Verwijderingsdatum" - }, - "deletionDateDesc": { - "message": "Deze Send wordt definitief verwijderd op de aangegeven datum en tijd.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Vervaldatum" - }, - "expirationDateDesc": { - "message": "Als dit is ingesteld verloopt deze Send op een specifieke datum en tijd.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Maximum toegangsaantal" - }, - "maxAccessCountDesc": { - "message": "Als dit is ingesteld kunnen gebruikers deze Send niet meer benaderen zodra het maximale aantal toegang is bereikt.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Huidige toegangsaantal" - }, - "sendPasswordDesc": { - "message": "Vereis een wachtwoord voor gebruikers om deze Send te benaderen (optioneel).", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Privénotities over deze Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Uitgeschakeld" - }, - "sendLink": { - "message": "Send-koppeling", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Send-koppeling kopiëren", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Wachtwoord verwijderen" - }, - "removedPassword": { - "message": "Wachtwoord verwijderd" - }, - "removePasswordConfirmation": { - "message": "Weet je zeker dat je dit wachtwoord wilt verwijderen?" - }, - "disableThisSend": { - "message": "Schakel deze Send uit zodat niemand 'm kan benaderen.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "Alle Sends" - }, - "maxAccessCountReached": { - "message": "Maximum aantal keren benaderd" - }, - "pendingDeletion": { - "message": "Wordt verwijderd" - }, - "expired": { - "message": "Verlopen" - }, - "searchSends": { - "message": "Sends zoeken", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "Deze Send is beveiligd met een wachtwoord. Voer het wachtwoord hieronder in om door te gaan.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Weet je het wachtwoord niet? Vraag de afzender om het wachtwoord om toegang te krijgen tot deze Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "Deze Send is standaard verborgen. Je kunt de zichtbaarheid ervan in- en uitschakelen met de knop hieronder.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Bestand downloaden" - }, - "sendAccessUnavailable": { - "message": "De Send die je probeert te benaderen bestaat niet of is niet langer beschikbaar.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "Er zijn geen Sends beschikbaar.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Noodtoegang" - }, - "emergencyAccessDesc": { - "message": "Verleen en beheer noodtoegang voor vertrouwde contacten. Vertrouwde contacten kunnen toegang vragen tot het bekijken of overnemen van je account in noodgevallen. Bezoek onze helppagina voor meer informatie en details over de werking van \"zero knowledge sharing\"." - }, - "trustedEmergencyContacts": { - "message": "Vertrouwde noodcontacten" - }, - "noTrustedContacts": { - "message": "Je hebt nog geen noodcontacten, nodig een vertrouwde contactpersoon uit om te beginnen." - }, - "addEmergencyContact": { - "message": "Noodcontact toevoegen" - }, - "designatedEmergencyContacts": { - "message": "Aangewezen als noodcontact" - }, - "noGrantedAccess": { - "message": "Je bent nog door niemand aangewezen als noodcontact." - }, - "inviteEmergencyContact": { - "message": "Noodcontact uitnodigen" - }, - "editEmergencyContact": { - "message": "Noodcontact bewerken" - }, - "inviteEmergencyContactDesc": { - "message": "Nodig een nieuw noodcontact uit door hieronder het e-mailadres van hun Bitwarden-e-mailadres in te vullen. Als ze nog geen Bitwarden-account hebben, krijgen ze de mogelijkheid direct een account aan te maken." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Noodtoegang geïnitieerd" - }, - "emergencyAccessRecoveryApproved": { - "message": "Noodtoegang goedgekeurd" - }, - "viewDesc": { - "message": "Kan alle items in je eigen kluis bekijken." - }, - "takeover": { - "message": "Overnemen" - }, - "takeoverDesc": { - "message": "Kan je een nieuw hoofdwachtwoord instellen op je account." - }, - "waitTime": { - "message": "Wachttijd" - }, - "waitTimeDesc": { - "message": "Verstreken tijd voor het automatisch verlenen van toegang." - }, - "oneDay": { - "message": "1 dag" - }, - "days": { - "message": "$DAYS$ dagen", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Uitgenodigde gebruiker." - }, - "acceptEmergencyAccess": { - "message": "Je bent uitgenodigd als noodcontact voor bovenstaande gebruiker. Om de uitnodiging te accepteren, moet je inloggen of een nieuw Bitwarden-account aanmaken." - }, - "emergencyInviteAcceptFailed": { - "message": "Kon de uitnodiging niet accepteren. Vraag de gebruiker om een nieuwe uitnodiging te versturen." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Kon de uitnodiging niet accepteren. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "Je kunt de instellingen voor noodtoegang van deze gebruiker benaderen zodraje identiteit is bevestigd. We sturen je een e-mail wanneer dat is gebeurd." - }, - "requestAccess": { - "message": "Toegang vragen" - }, - "requestAccessConfirmation": { - "message": "Weet je zeker dat je noodtoegang wilt vragen? Je krijgt toegang na $WAITTIME$ dag(en) of zodra de gebruiker de aanvraag handmatig goedkeurt.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Noodtoegang aangevraagd voor $USER$. We brengen je per e-mail op de hoogte wanneer je verder kunt.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Goedkeuren" - }, - "reject": { - "message": "Afwijzen" - }, - "approveAccessConfirmation": { - "message": "Weet u zeker dat u toegang tot noodgevallen wilt goedkeuren? Hiermee kan $USER$ op je account $ACTION$.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Noodtoegang goedgekeurd." - }, - "emergencyRejected": { - "message": "Noodtoegang afgewezen" - }, - "passwordResetFor": { - "message": "Wachtwoord opnieuw ingesteld voor $USER$. Je kunt nu inloggen met het nieuwe wachtwoord.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Persoonlijk eigendom" - }, - "personalOwnershipPolicyDesc": { - "message": "Verplicht gebruikers kluisitems op te slaan in een organisatie door de persoonlijke eigendomsoptie te verwijderen." - }, - "personalOwnershipExemption": { - "message": "Eigenaren en beheerders van de organisatie zijn vrijgesteld van de handhaving van dit beleid." - }, - "personalOwnershipSubmitError": { - "message": "Wegens bedrijfsbeleid mag je geen wachtwoorden opslaan in je persoonlijke kluis. Verander het eigenaarschap naar een organisatie en kies uit een van de beschikbare collecties." - }, - "modifiedPolicyId": { - "message": "Bewerkt beleid $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Prijs" - }, - "estimatedTax": { - "message": "Geschatte belasting" - }, - "custom": { - "message": "Aangepast" - }, - "customDesc": { - "message": "Maakt een fijnmazige controle van gebruikersrechten voor geavanceerde configuraties mogelijk." - }, - "permissions": { - "message": "Rechten" - }, - "accessBusinessPortal": { - "message": "Business Portaal" - }, - "accessEventLogs": { - "message": "Eventlogs" - }, - "accessImportExport": { - "message": "Importeren/exporteren" - }, - "accessReports": { - "message": "Rapporten" - }, - "manageAllCollections": { - "message": "Alle verbindingen beheren" - }, - "manageAssignedCollections": { - "message": "Toegewezen collecties beheren" - }, - "manageGroups": { - "message": "Groepen beheren" - }, - "managePolicies": { - "message": "Beleid beheren" - }, - "manageSso": { - "message": "SSO beheren" - }, - "manageUsers": { - "message": "Gebruikers beheren" - }, - "disableRequireSsoError": { - "message": "Je moet handmatig het Single Sign-On-verificatiebeleid uitschakelen voordat je dit beleid kunt uitgeschakeld." - }, - "personalOwnershipPolicyInEffect": { - "message": "Een organisatiebeleid heeft invloed op je eigendomsopties." - }, - "personalOwnershipCheckboxDesc": { - "message": "Schakel persoonlijke eigendom uit voor organisatiegebruikers" - }, - "textHiddenByDefault": { - "message": "Verberg de tekst standaard bij het gebruiken van de Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/pl/messages.json b/locales/pl/messages.json deleted file mode 100644 index f8548c62..00000000 --- a/locales/pl/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "Sejf internetowy $APP_NAME$", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "Jakiego rodzaju jest to element?" - }, - "name": { - "message": "Nazwa" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "Nowy URI" - }, - "username": { - "message": "Nazwa użytkownika" - }, - "password": { - "message": "Hasło" - }, - "newPassword": { - "message": "Nowe hasło" - }, - "passphrase": { - "message": "Hasło wyrazowe" - }, - "notes": { - "message": "Notatki" - }, - "customFields": { - "message": "Pola niestandardowe" - }, - "cardholderName": { - "message": "Właściciel karty" - }, - "number": { - "message": "Numer" - }, - "brand": { - "message": "Wydawca" - }, - "expiration": { - "message": "Data wygaśnięcia" - }, - "securityCode": { - "message": "Kod zabezpieczający (CVV)" - }, - "identityName": { - "message": "Nazwa profilu" - }, - "company": { - "message": "Firma" - }, - "ssn": { - "message": "Numer PESEL" - }, - "passportNumber": { - "message": "Numer paszportu" - }, - "licenseNumber": { - "message": "Numer prawa jazdy" - }, - "email": { - "message": "Adres e-mail" - }, - "phone": { - "message": "Telefon" - }, - "january": { - "message": "Styczeń" - }, - "february": { - "message": "Luty" - }, - "march": { - "message": "Marzec" - }, - "april": { - "message": "Kwiecień" - }, - "may": { - "message": "Maj" - }, - "june": { - "message": "Czerwiec" - }, - "july": { - "message": "Lipiec" - }, - "august": { - "message": "Sierpień" - }, - "september": { - "message": "Wrzesień" - }, - "october": { - "message": "Październik" - }, - "november": { - "message": "Listopad" - }, - "december": { - "message": "Grudzień" - }, - "title": { - "message": "Tytuł" - }, - "mr": { - "message": "Pan" - }, - "mrs": { - "message": "Mrs" - }, - "ms": { - "message": "Pani" - }, - "dr": { - "message": "Doktor" - }, - "expirationMonth": { - "message": "Miesiąc wygaśnięcia" - }, - "expirationYear": { - "message": "Rok wygaśnięcia" - }, - "authenticatorKeyTotp": { - "message": "Klucz uwierzytelniający (TOTP)" - }, - "folder": { - "message": "Folder" - }, - "newCustomField": { - "message": "Nowe pole niestandardowe" - }, - "value": { - "message": "Wartość" - }, - "dragToSort": { - "message": "Przeciągnij, aby posortować" - }, - "cfTypeText": { - "message": "Tekst" - }, - "cfTypeHidden": { - "message": "Pole maskowane" - }, - "cfTypeBoolean": { - "message": "Wartość logiczna" - }, - "remove": { - "message": "Usuń" - }, - "unassigned": { - "message": "Nieprzypisany" - }, - "noneFolder": { - "message": "Nieprzypisane", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Dodaj folder" - }, - "editFolder": { - "message": "Edytuj folder" - }, - "baseDomain": { - "message": "Domena podstawowa" - }, - "host": { - "message": "Host", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Dokładnie" - }, - "startsWith": { - "message": "Rozpoczyna się od" - }, - "regEx": { - "message": "Wyrażenie regularne", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Wykrywanie dopasowania", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Domyślne wykrywanie dopasowania", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Nigdy" - }, - "toggleVisibility": { - "message": "Pokaż / Ukryj" - }, - "toggleCollapse": { - "message": "Zwiń/rozwiń", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Generuj hasło" - }, - "checkPassword": { - "message": "Sprawdź, czy hasło zostało ujawnione." - }, - "passwordExposed": { - "message": "To hasło znajduje się w $VALUE$ wykradzionej(ych) bazie(ach) danych. Należy je zmienić.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "To hasło nie znajduje się w żadnej znanej wykradzionej bazie danych. Powinno być bezpieczne." - }, - "save": { - "message": "Zapisz" - }, - "cancel": { - "message": "Anuluj" - }, - "canceled": { - "message": "Anulowane" - }, - "close": { - "message": "Zamknij" - }, - "delete": { - "message": "Usuń" - }, - "favorite": { - "message": "Dodaj do ulubionych" - }, - "unfavorite": { - "message": "Usuń z ulubionych" - }, - "edit": { - "message": "Edytuj" - }, - "searchCollection": { - "message": "Szukaj w kolekcji" - }, - "searchFolder": { - "message": "Szukaj w folderze" - }, - "searchFavorites": { - "message": "Szukaj w ulubionych" - }, - "searchType": { - "message": "Szukaj elementu", - "description": "Search item type" - }, - "searchVault": { - "message": "Szukaj w sejfie" - }, - "allItems": { - "message": "Wszystkie elementy" - }, - "favorites": { - "message": "Ulubione" - }, - "types": { - "message": "Rodzaje" - }, - "typeLogin": { - "message": "Dane logowania" - }, - "typeCard": { - "message": "Karta" - }, - "typeIdentity": { - "message": "Tożsamość" - }, - "typeSecureNote": { - "message": "Bezpieczna notatka" - }, - "folders": { - "message": "Foldery" - }, - "collections": { - "message": "Kolekcje" - }, - "firstName": { - "message": "Imię" - }, - "middleName": { - "message": "Drugie imię" - }, - "lastName": { - "message": "Nazwisko" - }, - "address1": { - "message": "Adres 1" - }, - "address2": { - "message": "Adres 2" - }, - "address3": { - "message": "Adres 3" - }, - "cityTown": { - "message": "Miasto" - }, - "stateProvince": { - "message": "Województwo" - }, - "zipPostalCode": { - "message": "Kod pocztowy" - }, - "country": { - "message": "Kraj" - }, - "shared": { - "message": "Udostępnione" - }, - "attachments": { - "message": "Załączniki" - }, - "select": { - "message": "Wybierz" - }, - "addItem": { - "message": "Dodaj element" - }, - "editItem": { - "message": "Edytuj element" - }, - "viewItem": { - "message": "Zobacz element" - }, - "ex": { - "message": "np.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Inne" - }, - "share": { - "message": "Udostępnij" - }, - "valueCopied": { - "message": "Skopiowano $VALUE$", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Kopiuj wartość", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Kopiuj hasło", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Kopiuj nazwę użytkownika", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Kopiuj numer karty", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Kopiuj kod zabezpieczający", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Kopiuj URI", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "Mój sejf" - }, - "vault": { - "message": "Sejf" - }, - "shareSelected": { - "message": "Udostępnij zaznaczone" - }, - "deleteSelected": { - "message": "Usuń zaznaczone" - }, - "moveSelected": { - "message": "Przenieś zaznaczone" - }, - "selectAll": { - "message": "Zaznacz wszystko" - }, - "unselectAll": { - "message": "Odznacz wszystko" - }, - "launch": { - "message": "Uruchom" - }, - "newAttachment": { - "message": "Dodaj załącznik" - }, - "deletedAttachment": { - "message": "Załącznik został usunięty" - }, - "deleteAttachmentConfirmation": { - "message": "Czy na pewno chcesz usunąć ten załącznik?" - }, - "attachmentSaved": { - "message": "Załącznik został zapisany." - }, - "file": { - "message": "Plik" - }, - "selectFile": { - "message": "Wybierz plik." - }, - "maxFileSize": { - "message": "Maksymalny rozmiar pliku to 100 MB." - }, - "updateKey": { - "message": "Nie możesz używać tej funkcji, dopóki nie zaktualizujesz klucza szyfrowania." - }, - "addedItem": { - "message": "Element został dodany" - }, - "editedItem": { - "message": "Element został zaktualizowany" - }, - "sharedItem": { - "message": "Element został udostępniony" - }, - "sharedItems": { - "message": "Elementy zostały udostępnione" - }, - "deleteItem": { - "message": "Usuń element" - }, - "deleteFolder": { - "message": "Usuń folder" - }, - "deleteAttachment": { - "message": "Usuń załącznik" - }, - "deleteItemConfirmation": { - "message": "Czy na pewno chcesz to usunąć?" - }, - "deletedItem": { - "message": "Element został przeniesiony do kosza" - }, - "deletedItems": { - "message": "Elementy zostały przeniesione do kosza" - }, - "movedItems": { - "message": "Przeniesione elementy" - }, - "overwritePasswordConfirmation": { - "message": "Czy na pewno chcesz zastąpić obecne hasło?" - }, - "editedFolder": { - "message": "Folder został zaktualizowany" - }, - "addedFolder": { - "message": "Folder został dodany" - }, - "deleteFolderConfirmation": { - "message": "Czy na pewno chcesz usunąć ten folder?" - }, - "deletedFolder": { - "message": "Folder został usunięty" - }, - "loggedOut": { - "message": "Wylogowano" - }, - "loginExpired": { - "message": "Twoja sesja wygasła." - }, - "logOutConfirmation": { - "message": "Czy na pewno chcesz się wylogować?" - }, - "logOut": { - "message": "Wyloguj się" - }, - "ok": { - "message": "Ok" - }, - "yes": { - "message": "Tak" - }, - "no": { - "message": "Nie" - }, - "loginOrCreateNewAccount": { - "message": "Zaloguj się lub utwórz nowe konto, aby uzyskać dostęp do Twojego bezpiecznego sejfu." - }, - "createAccount": { - "message": "Utwórz konto" - }, - "logIn": { - "message": "Zaloguj się" - }, - "submit": { - "message": "Wyślij" - }, - "emailAddressDesc": { - "message": "Używaj swojego adresu e-mail do logowania." - }, - "yourName": { - "message": "Twoje imię" - }, - "yourNameDesc": { - "message": "Jak powinniśmy cię nazywać?" - }, - "masterPass": { - "message": "Hasło główne" - }, - "masterPassDesc": { - "message": "Hasło główne zapewnia dostęp do sejfu. To bardzo ważne, abyś je pamiętał. Jeśli je zapomnisz, nie będzie możliwości, aby je przywrócić." - }, - "masterPassHintDesc": { - "message": "Podpowiedź do hasła głównego może pomóc Ci przypomnieć hasło, jeśli je zapomnisz." - }, - "reTypeMasterPass": { - "message": "Wpisz ponownie hasło główne" - }, - "masterPassHint": { - "message": "Podpowiedź do hasła głównego (opcjonalnie)" - }, - "masterPassHintLabel": { - "message": "Podpowiedź do hasła głównego" - }, - "settings": { - "message": "Ustawienia" - }, - "passwordHint": { - "message": "Podpowiedź do hasła" - }, - "enterEmailToGetHint": { - "message": "Wpisz adres e-mail powiązany z kontem, aby otrzymać podpowiedź do hasła głównego." - }, - "getMasterPasswordHint": { - "message": "Uzyskaj podpowiedź do hasła głównego" - }, - "emailRequired": { - "message": "Adres e-mail jest wymagany." - }, - "invalidEmail": { - "message": "Adres e-mail jest nieprawidłowy." - }, - "masterPassRequired": { - "message": "Hasło główne jest wymagane." - }, - "masterPassLength": { - "message": "Hasło główne musi zawierać co najmniej 8 znaków." - }, - "masterPassDoesntMatch": { - "message": "Potwierdzenie hasła głównego nie pasuje." - }, - "newAccountCreated": { - "message": "Konto zostało utworzone! Teraz możesz się zalogować." - }, - "masterPassSent": { - "message": "Wysłaliśmy Tobie wiadomość e-mail z podpowiedzią do hasła głównego." - }, - "unexpectedError": { - "message": "Wystąpił nieoczekiwany błąd." - }, - "emailAddress": { - "message": "Adres e-mail" - }, - "yourVaultIsLocked": { - "message": "Sejf jest zablokowany. Wpisz hasło główne, aby kontynuować." - }, - "unlock": { - "message": "Odblokuj" - }, - "loggedInAsEmailOn": { - "message": "Zalogowano jako $EMAIL$ do $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Hasło główne jest nieprawidłowe" - }, - "lockNow": { - "message": "Zablokuj" - }, - "noItemsInList": { - "message": "Brak elementów." - }, - "noCollectionsInList": { - "message": "Brak kolekcji do wyświetlenia." - }, - "noGroupsInList": { - "message": "Brak grup do wyświetlenia." - }, - "noUsersInList": { - "message": "Brak użytkowników do wyświetlenia." - }, - "noEventsInList": { - "message": "Brak wydarzeń do wyświetlenia." - }, - "newOrganization": { - "message": "Nowa organizacja" - }, - "noOrganizationsList": { - "message": "Nie należysz do żadnej organizacji. Organizacje pozwalają na bezpieczne udostępnianie elementów innym użytkownikom." - }, - "versionNumber": { - "message": "Wersja $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Wpisz 6-cyfrowy kod weryfikacyjny z aplikacji uwierzytelniającej." - }, - "enterVerificationCodeEmail": { - "message": "Wpisz 6-cyfrowy kod weryfikacyjny, który został przesłany na adres $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "Kod weryfikacyjny został wysłany na adres $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Zapamiętaj mnie" - }, - "sendVerificationCodeEmailAgain": { - "message": "Wyślij ponownie wiadomość z kodem weryfikacyjnym" - }, - "useAnotherTwoStepMethod": { - "message": "Użyj innej metody logowania dwustopniowego" - }, - "insertYubiKey": { - "message": "Włóż klucz YubiKey do portu USB komputera, a następnie dotknij jego przycisku." - }, - "insertU2f": { - "message": "Włóż klucz bezpieczeństwa do portu USB komputera. Jeśli klucz posiada przycisk, dotknij go." - }, - "loginUnavailable": { - "message": "Logowanie jest niedostępne" - }, - "noTwoStepProviders": { - "message": "Konto posiada włączoną opcję logowania dwustopniowego, jednak ta przeglądarka nie wspiera żadnego ze skonfigurowanych mechanizmów autoryzacji dwustopniowej." - }, - "noTwoStepProviders2": { - "message": "Skorzystaj z obsługiwanej przeglądarki internetowej (takiej jak Chrome) i/lub dodaj dodatkowych dostawców, którzy są lepiej wspierani przez przeglądarki (np. aplikacja uwierzytelniająca)." - }, - "twoStepOptions": { - "message": "Opcje logowania dwustopniowego" - }, - "recoveryCodeDesc": { - "message": "Utraciłeś dostęp do wszystkich swoich mechanizmów dwustopniowego logowania? Użyj kodów odzyskiwania, aby wyłączyć dwustopniowe logowanie na Twoim koncie." - }, - "recoveryCodeTitle": { - "message": "Kod odzyskiwania" - }, - "authenticatorAppTitle": { - "message": "Aplikacja uwierzytelniająca" - }, - "authenticatorAppDesc": { - "message": "Użyj aplikacji mobilnej (np. Authy lub Google Authenticator) do generowania czasowych kodów weryfikacyjnych.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "Klucz bezpieczeństwa YubiKey OTP" - }, - "yubiKeyDesc": { - "message": "Użyj YubiKey jako metody dostępu do konta. Działa z YubiKey serii 4, serii 5 i urządzeniami NEO." - }, - "duoDesc": { - "message": "Weryfikacja z użyciem Duo Security poprzez aplikację Duo Mobile, SMS, połączenie telefoniczne lub klucz bezpieczeństwa U2F.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Weryfikacja dostępu do Twojej organizacji z użyciem Duo Security poprzez aplikację Duo Mobile, SMS, połączenie telefoniczne lub klucz bezpieczeństwa U2F.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Użyj dowolnego klucza bezpieczeństwa FIDO U2F, aby uzyskać dostęp do Twojego konta." - }, - "u2fTitle": { - "message": "Klucz bezpieczeństwa FIDO U2F" - }, - "emailTitle": { - "message": "Adres e-mail" - }, - "emailDesc": { - "message": "Kody weryfikacyjne zostaną wysłane do Ciebie wiadomością e-mail." - }, - "continue": { - "message": "Kontynuuj" - }, - "organization": { - "message": "Organizacja" - }, - "organizations": { - "message": "Organizacje" - }, - "shareDesc": { - "message": "Wybierz organizację, której chcesz udostępnić ten element. Udostępnianie przenosi własność elementu do wybranej organizacji. Nie będziesz już bezpośrednim właścicielem tego elementu, gdy zostanie on udostępniony." - }, - "shareManyDesc": { - "message": "Wybierz organizację, której chcesz udostępnić te elementy. Udostępnianie przenosi własność elementów do wybranej organizacji. Nie będziesz już bezpośrednim właścicielem tych elementów, gdy zostaną one udostępnione." - }, - "collectionsDesc": { - "message": "Edytuj kolekcje zawierające ten element. Tylko użytkownicy organizacji posiadający dostęp do tych kolekcji będą mogli zobaczyć ten element." - }, - "deleteSelectedItemsDesc": { - "message": "Wybrałeś elementy do usunięcia. Czy na pewno chcesz je wszystkie usunąć?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Wybierz folder do którego chcesz przenieść zaznaczone elementy.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "Zaznaczone elementy: $COUNT$. Możliwe do udostępnienia: $SHAREABLE_COUNT$. Niemożliwe do udostępnienia: $NONSHAREABLE_COUNT$.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Kod weryfikacyjny (TOTP)" - }, - "copyVerificationCode": { - "message": "Kopiuj kod weryfikacyjny" - }, - "warning": { - "message": "Ostrzeżenie" - }, - "confirmVaultExport": { - "message": "Potwierdź eksportowanie sejfu" - }, - "exportWarningDesc": { - "message": "Plik zawiera dane sejfu w niezaszyfrowanym formacie. Nie powinieneś go przechowywać, ani przesyłać poprzez niezabezpieczone kanały (takie jak poczta e-mail). Skasuj go natychmiast po użyciu." - }, - "encExportWarningDesc": { - "message": "Dane eksportu zostaną zaszyfrowane za pomocą klucza szyfrowania konta. Jeśli kiedykolwiek zmienisz ten klucz, wyeksportuj dane ponownie, ponieważ nie będziesz w stanie odszyfrować tego pliku." - }, - "exportMasterPassword": { - "message": "Wpisz hasło główne, aby wyeksportować dane z sejfu." - }, - "exportVault": { - "message": "Eksportuj sejf" - }, - "fileFormat": { - "message": "Format pliku" - }, - "exportSuccess": { - "message": "Dane z sejfu zostały wyeksportowane." - }, - "passwordGenerator": { - "message": "Generator hasła" - }, - "minComplexityScore": { - "message": "Minimalny poziom złożoności" - }, - "minNumbers": { - "message": "Minimalna liczba cyfr" - }, - "minSpecial": { - "message": "Minimalna liczba znaków specjalnych", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Unikaj niejednoznacznych znaków" - }, - "regeneratePassword": { - "message": "Wygeneruj hasło ponownie" - }, - "length": { - "message": "Długość" - }, - "numWords": { - "message": "Liczba słów" - }, - "wordSeparator": { - "message": "Separator słów" - }, - "capitalize": { - "message": "Wielkie litery", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Uwzględnij cyfry" - }, - "passwordHistory": { - "message": "Historia haseł" - }, - "noPasswordsInList": { - "message": "Brak haseł." - }, - "clear": { - "message": "Wyczyść", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Konto zostało zaktualizowane" - }, - "changeEmail": { - "message": "Zmień adres e-mail" - }, - "newEmail": { - "message": "Nowy adres e-mail" - }, - "code": { - "message": "Kod" - }, - "changeEmailDesc": { - "message": "Wysłaliśmy kod weryfikacyjny na adres $EMAIL$. Sprawdź pocztę i wpisz kod, aby ukończyć proces zmiany adresu e-mail.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Kontynuowanie spowoduje wylogowanie Cię z obecnej sesji i będziesz musiał zalogować się ponownie. Aktywne sesje na innych urządzeniach mogą w dalszym ciągu pozostać aktywne przez maksymalnie godzinę." - }, - "emailChanged": { - "message": "Adres e-mail został zmieniony" - }, - "logBackIn": { - "message": "Proszę zalogować się ponownie." - }, - "logBackInOthersToo": { - "message": "Proszę zalogować się ponownie. Jeśli używasz innych aplikacji Bitwarden, wyloguj się i zaloguj ponownie również w nich." - }, - "changeMasterPassword": { - "message": "Zmień hasło główne" - }, - "masterPasswordChanged": { - "message": "Hasło główne zostało zmienione" - }, - "currentMasterPass": { - "message": "Obecne hasło główne" - }, - "newMasterPass": { - "message": "Nowe hasło główne" - }, - "confirmNewMasterPass": { - "message": "Potwierdź nowe hasło główne" - }, - "encKeySettings": { - "message": "Ustawienia klucza szyfrowania" - }, - "kdfAlgorithm": { - "message": "Algorytm KDF" - }, - "kdfIterations": { - "message": "Iteracje KDF" - }, - "kdfIterationsDesc": { - "message": "Wyższa liczba iteracji KDF pomaga chronić hasło główne przed atakami siłowymi. Zalecamy ustawienie wartości $VALUE$ lub wyższej.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Ustawienie zbyt wysokiej liczby iteracji KDF może skutkować obniżeniem wydajności podczas logowania do Bitwarden (oraz odblokowywania sejfu) na urządzeniach z wolniejszym procesorem. Zalecamy stopniowe zwiększanie tej wartości o $INCREMENT$ i przetestowanie jej na wszystkich swoich urządzeniach.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Zmień KDF" - }, - "encKeySettingsChanged": { - "message": "Ustawienia klucza szyfrowania zostały zaktualizowane" - }, - "dangerZone": { - "message": "Niebezpieczna strefa" - }, - "dangerZoneDesc": { - "message": "Uwaga - te operacje są nieodwracalne!" - }, - "deauthorizeSessions": { - "message": "Zakończ sesje" - }, - "deauthorizeSessionsDesc": { - "message": "Martwisz się, że jesteś zalogowany na innym urządzeniu? Przejdź poniżej, aby wylogować się ze wszystkich komputerów, których wcześniej używałeś. Ta czynność jest zalecana, jeśli korzystałeś z publicznego komputera lub przypadkowo zapisałeś swoje hasło na cudzym urządzeniu. Ta czynność wyczyści również wszystkie sesje z zapamiętanym logowaniem dwustopniowym." - }, - "deauthorizeSessionsWarning": { - "message": "Kontynuowanie spowoduje wylogowanie z obecnej sesji i będziesz musiał zalogować się ponownie. Zostaniesz również poproszony o ponowne logowanie dwustopniowe, jeśli masz włączoną tę opcję. Aktywne sesje na innych urządzeniach mogą pozostać aktywne przez maksymalnie godzinę." - }, - "sessionsDeauthorized": { - "message": "Wszystkie sesje zostały zakończone" - }, - "purgeVault": { - "message": "Wyczyść sejf" - }, - "purgedOrganizationVault": { - "message": "Sejf organizacji został wyczyszczony." - }, - "purgeVaultDesc": { - "message": "Kontynuuj poniżej, aby usunąć wszystkie elementy i foldery z sejfu. Elementy udostępnione organizacji nie zostaną usunięte." - }, - "purgeOrgVaultDesc": { - "message": "Przejdź poniżej, aby usunąć wszystkie elementy z sejfu organizacji." - }, - "purgeVaultWarning": { - "message": "Wyczyszczenie sejfu jest nieodwracalne. Ta czynność nie może zostać cofnięta." - }, - "vaultPurged": { - "message": "Sejf został wyczyszczony." - }, - "deleteAccount": { - "message": "Usuń konto" - }, - "deleteAccountDesc": { - "message": "Kontynuuj poniżej, aby usunąć konto i wszystkie związane z nim dane." - }, - "deleteAccountWarning": { - "message": "Usunięcie konta jest nieodwracalne. Ta czynność nie może zostać cofnięta." - }, - "accountDeleted": { - "message": "Konto zostało usunięte" - }, - "accountDeletedDesc": { - "message": "Konto zostało zamknięte i wszystkie powiązane z nim dane zostały usunięte." - }, - "myAccount": { - "message": "Moje konto" - }, - "tools": { - "message": "Narzędzia" - }, - "importData": { - "message": "Importuj dane" - }, - "importSuccess": { - "message": "Dane zostały zaimportowane do sejfu." - }, - "importFormatError": { - "message": "Dane nie są poprawnie sformatowane. Sprawdź importowany plik i spróbuj ponownie." - }, - "importNothingError": { - "message": "Nic nie zostało zaimportowane." - }, - "selectFormat": { - "message": "Wybierz format importowanego pliku" - }, - "selectImportFile": { - "message": "Wybierz plik do zaimportowania" - }, - "orCopyPasteFileContents": { - "message": "lub skopiuj/wklej treść pliku" - }, - "instructionsFor": { - "message": "Instrukcja dla $NAME$", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Opcje" - }, - "optionsDesc": { - "message": "Spersonalizuj swój sejf." - }, - "optionsUpdated": { - "message": "Opcje zostały zaktualizowane" - }, - "language": { - "message": "Język" - }, - "languageDesc": { - "message": "Zmień język używany przez sejf." - }, - "disableIcons": { - "message": "Wyłącz ikony stron" - }, - "disableIconsDesc": { - "message": "Wyświetlaj rozpoznawalną ikonę serwisu obok danych logowania w sejfie." - }, - "enableGravatars": { - "message": "Włącz Gravatary", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Korzystaj ze zdjęć profilowych załadowanych z serwisu gravatar.com." - }, - "enableFullWidth": { - "message": "Włącz układ na całą szerokość", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Rozszerz układ sejfu internetowego na całą szerokość okna przeglądarki." - }, - "default": { - "message": "Domyślny" - }, - "domainRules": { - "message": "Reguły domeny" - }, - "domainRulesDesc": { - "message": "Jeśli używasz tych samych danych logowania na różnych domenach, możesz zaznaczyć tę stronę jako \"ekwiwalent\". \"Globalne\" domeny to domeny utworzone już przez zespół Bitwarden." - }, - "globalEqDomains": { - "message": "Globalne domeny równoważne" - }, - "customEqDomains": { - "message": "Niestandardowe domeny równoważne" - }, - "exclude": { - "message": "Wyklucz" - }, - "include": { - "message": "Dołącz" - }, - "customize": { - "message": "Dostosuj" - }, - "newCustomDomain": { - "message": "Nowa niestandardowa domena" - }, - "newCustomDomainDesc": { - "message": "Wpisz listę domen oddzielonych przecinkami. Dozwolone są tylko \"podstawowe\" domeny. Nie wpisuj subdomen. Przykładowo wpisz \"google.com\", zamiast \"www.google.com\". Możesz również wpisać \"androidapp://nazwa.pakietu\", aby powiązać aplikację Android z innymi domenami." - }, - "customDomainX": { - "message": "Niestandardowa domena $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Domeny zostały zaktualizowane" - }, - "twoStepLogin": { - "message": "Logowanie dwustopniowe" - }, - "twoStepLoginDesc": { - "message": "Zabezpiecz swoje konto poprzez wymóg wykonania dodatkowego kroku podczas logowania." - }, - "twoStepLoginOrganizationDesc": { - "message": "Wymagaj logowania dwustopniowego dla użytkowników w Twojej organizacji, poprzez skonfigurowanie dostawców na poziomie organizacji." - }, - "twoStepLoginRecoveryWarning": { - "message": "Włączenie logowania dwustopniowego można trwale zablokować konto Bitwarden. Kod odzyskiwania pozwala na dostęp do konta w przypadku, gdy nie będziesz mógł skorzystać ze standardowego dostawcy logowania dwustopniowego (np. w przypadku utraty urządzenia). Pomoc techniczna Bitwarden nie będzie w stanie Ci pomóc, jeśli stracisz dostęp do swojego konta. Zalecamy zapisanie lub wydrukowanie kodu odzyskiwania i przechowywanie go w bezpiecznym miejscu." - }, - "viewRecoveryCode": { - "message": "Wyświetl kod odzyskiwania" - }, - "providers": { - "message": "Dostawcy", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Włącz" - }, - "enabled": { - "message": "Włączone" - }, - "premium": { - "message": "Premium", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Konto Premium" - }, - "premiumRequired": { - "message": "Konto Premium jest wymagane" - }, - "premiumRequiredDesc": { - "message": "Konto Premium jest wymagane, aby skorzystać z tej funkcji." - }, - "youHavePremiumAccess": { - "message": "Posiadasz dostęp do funkcji konta Premium" - }, - "alreadyPremiumFromOrg": { - "message": "Posiadasz już dostęp do funkcji konta Premium dzięki organizacji, której jesteś członkiem." - }, - "manage": { - "message": "Zarządzaj" - }, - "disable": { - "message": "Wyłącz" - }, - "twoStepLoginProviderEnabled": { - "message": "Ten dostawca logowania dwustopniowego jest już włączony na koncie." - }, - "twoStepLoginAuthDesc": { - "message": "Wpisz hasło główne, aby zmienić ustawienia logowania dwustopniowego." - }, - "twoStepAuthenticatorDesc": { - "message": "Wykonaj poniższe kroki, aby aktywować logowanie dwustopniowe przez aplikację uwierzytelniającą:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Pobierz aplikację uwierzytelniającą" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Potrzebujesz aplikacji uwierzytelniającej? Pobierz jedną z nich" - }, - "iosDevices": { - "message": "Urządzenia z systemem iOS" - }, - "androidDevices": { - "message": "Urządzenia z systemem Android" - }, - "windowsDevices": { - "message": "Urządzenia z systemem Windows" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "Te aplikacje uwierzytelniające są zalecane, jednak inne również będą działać." - }, - "twoStepAuthenticatorScanCode": { - "message": "Zeskanuj kod QR w aplikacji uwierzytelniającej" - }, - "key": { - "message": "Klucz" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Wpisz 6-cyfrowy kod weryfikacyjny z aplikacji uwierzytelniającej" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "Jeśli chcesz dodać inne urządzenie, poniżej znajdziesz kod QR (lub klucz) wymagany przez aplikację uwierzytelniającą." - }, - "twoStepDisableDesc": { - "message": "Czy na pewno chcesz wyłączyć tego dostawcę logowania dwustopniowego?" - }, - "twoStepDisabled": { - "message": "Dostawca logowania dwustopniowego został wyłączony." - }, - "twoFactorYubikeyAdd": { - "message": "Dodaj nowy klucz YubiKey do swojego konta" - }, - "twoFactorYubikeyPlugIn": { - "message": "Włóż YubiKey do portu USB swojego komputera." - }, - "twoFactorYubikeySelectKey": { - "message": "Wybierz poniżej pierwsze wolne pole YubiKey." - }, - "twoFactorYubikeyTouchButton": { - "message": "Dotknij przycisku YubiKey." - }, - "twoFactorYubikeySaveForm": { - "message": "Zapisz formularz." - }, - "twoFactorYubikeyWarning": { - "message": "Z powodu ograniczeń platformy, klucze YubiKey nie mogą być używane we wszystkich aplikacjach Bitwarden. Musisz włączyć inną metodę logowania dwustopniowego, aby zachować dostęp do konta w pozostałych sytuacjach. Wspierane platformy:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Sejf internetowy, aplikacja desktopowa, wiersz poleceń i rozszerzenia dla wszystkich przeglądarek na urządzeniu posiadającym port USB akceptujący Twój klucz YubiKey." - }, - "twoFactorYubikeySupportMobile": { - "message": "Aplikacje mobilne na urządzeniach obsługujących NFC lub posiadające port USB, który akceptuje klucz YubiKey." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "Klucz U2F $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "Obsługa NFC" - }, - "twoFactorYubikeySupportsNfc": { - "message": "Jeden z moich kluczy obsługuje technologię NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "Jeśli jeden z Twoich kluczy YubiKey obsługuje NFC (np. YubiKey NEO), otrzymasz powiadomienie na urządzeniach mobilnych za każdym razem, gdy zostanie wykryta dostępność NFC." - }, - "yubikeysUpdated": { - "message": "Klucze YubiKey zostały zaktualizowane" - }, - "disableAllKeys": { - "message": "Wyłącz wszystkie klucze" - }, - "twoFactorDuoDesc": { - "message": "Wpisz informacje o aplikacji Bitwarden z panelu administracyjnego Duo." - }, - "twoFactorDuoIntegrationKey": { - "message": "Klucz integracji" - }, - "twoFactorDuoSecretKey": { - "message": "Tajny klucz" - }, - "twoFactorDuoApiHostname": { - "message": "Nazwa domeny interfejsu API" - }, - "twoFactorEmailDesc": { - "message": "Wykonaj poniższe kroki, aby aktywować logowanie dwustopniowe przez adres e-mail:" - }, - "twoFactorEmailEnterEmail": { - "message": "Wpisz adres e-mail, na który chcesz otrzymywać kody weryfikacyjne" - }, - "twoFactorEmailEnterCode": { - "message": "Wpisz 6-cyfrowy kod weryfikacyjny z wiadomości e-mail" - }, - "sendEmail": { - "message": "Wyślij wiadomość" - }, - "twoFactorU2fAdd": { - "message": "Dodaj klucz bezpieczeństwa FIDO U2F do swojego konta" - }, - "removeU2fConfirmation": { - "message": "Czy na pewno chcesz usunąć ten klucz bezpieczeństwa?" - }, - "readKey": { - "message": "Odczytaj klucz" - }, - "keyCompromised": { - "message": "Klucz został wykradziony." - }, - "twoFactorU2fGiveName": { - "message": "Nadaj kluczowi bezpieczeństwa przyjazną nazwę, aby go łatwiej zidentyfikować." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Podłącz klucz bezpieczeństwa do portu USB komputera i kliknij przycisk \"Odczytaj klucz\"." - }, - "twoFactorU2fTouchButton": { - "message": "Jeśli klucz bezpieczeństwa posiada przycisk, dotknij go." - }, - "twoFactorU2fSaveForm": { - "message": "Zapisz formularz." - }, - "twoFactorU2fWarning": { - "message": "Z powodu ograniczeń platformy, klucze FIDO U2F nie mogą być używane we wszystkich aplikacjach Bitwarden. Musisz włączyć inną metodę logowania dwustopniowego, aby zachować dostęp do konta w pozostałych sytuacjach. Wspierane platformy:" - }, - "twoFactorU2fSupportWeb": { - "message": "Sejf internetowy i rozszerzenia przeglądarki na komputerze/laptopie z przeglądarką obsługującą U2F (Chrome, Opera, Vivaldi lub Firefox z włączoną obsługą FIDO U2F)." - }, - "twoFactorU2fWaiting": { - "message": "Oczekiwanie na dotknięcie klucza bezpieczeństwa" - }, - "twoFactorU2fClickSave": { - "message": "Kliknij przycisk \"Zapisz\", aby włączyć ten klucz bezpieczeństwa dla logowania dwustopniowego." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "Wystąpił problem z odczytem klucza bezpieczeństwa. Spróbuj ponownie." - }, - "twoFactorRecoveryYourCode": { - "message": "Kod odzyskiwania konta Bitwarden" - }, - "twoFactorRecoveryNoCode": { - "message": "Nie włączyłeś żadnego dostawcy logowania dwustopniowego. Po włączeniu dostawcy wróć tutaj, aby odczytać swój kod odzyskiwania." - }, - "printCode": { - "message": "Wydrukuj kod", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Raporty" - }, - "unsecuredWebsitesReport": { - "message": "Raport niezabezpieczonych stron" - }, - "unsecuredWebsitesReportDesc": { - "message": "Korzystanie z niezabezpieczonych stron (protokół HTTP) może być niebezpieczne. Jeśli strona na to pozwala, zawsze powinieneś używać protokołu HTTPS, aby Twoje połączenie było szyfrowane." - }, - "unsecuredWebsitesFound": { - "message": "Znaleźliśmy niezabezpieczone strony" - }, - "unsecuredWebsitesFoundDesc": { - "message": "Znaleźliśmy elementy w Twoim sejfie zawierające niezabezpieczone adresy URI. Jeśli witryna to umożliwia, zmień schemat adresu na protokół HTTPS.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "Brak niezabezpieczonych elementów w Twoim sejfie." - }, - "inactive2faReport": { - "message": "Raport stron z nieaktywnym logowaniem dwustopniowym" - }, - "inactive2faReportDesc": { - "message": "Logowanie dwustopniowe (2FA) jest ważnym ustawieniem bezpieczeństwa, które pomaga chronić Twoje konto. Jeśli witryna to umożliwia, zawsze powinieneś aktywować logowanie dwustopniowe." - }, - "inactive2faFound": { - "message": "Znaleźliśmy elementy bez włączonej opcji logowania dwustopniowego" - }, - "inactive2faFoundDesc": { - "message": "Znaleźliśmy witryny w sejfie, które mogą nie korzystać z opcji logowania dwustopniowego (według 2fa.directory). Włącz logowanie dwustopniowe, aby dodatkowo zabezpieczyć te konta.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "Nie znaleźliśmy w sejfie stron z wyłączoną opcją logowania dwustopniowego." - }, - "instructions": { - "message": "Instrukcje" - }, - "exposedPasswordsReport": { - "message": "Raport ujawnionych haseł" - }, - "exposedPasswordsReportDesc": { - "message": "Ujawnione hasła to hasła odkryte w znanych wyciekach danych, które zostały publicznie wydane lub sprzedane w sieci przez hakerów." - }, - "exposedPasswordsFound": { - "message": "Znaleźliśmy ujawnione hasła" - }, - "exposedPasswordsFoundDesc": { - "message": "Znaleźliśmy elementy w sejfie, które zawierają ujawnione hasła w znanych wyciekach danych. Zmień te hasła.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "Brak elementów zawierających ujawnione hasła w znanych wyciekach danych." - }, - "checkExposedPasswords": { - "message": "Sprawdź ujawnione hasła" - }, - "exposedXTimes": { - "message": "Ujawnione $COUNT$ raz(y)", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Raport słabych haseł" - }, - "weakPasswordsReportDesc": { - "message": "Słabe hasła mogą być łatwo odgadnięte przez hakerów i zautomatyzowane narzędzia używane do łamania haseł. Generator haseł Bitwarden tworzy silne hasła." - }, - "weakPasswordsFound": { - "message": "Znaleźliśmy słabe hasła" - }, - "weakPasswordsFoundDesc": { - "message": "Znaleźliśmy elementy w sejfie, które zawierają słabe hasła. Zaktualizuj je na silniejsze hasła.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "Brak elementów zawierających słabe hasła." - }, - "reusedPasswordsReport": { - "message": "Raport identycznych haseł" - }, - "reusedPasswordsReportDesc": { - "message": "Jeśli korzystasz z tego samego hasła w różnych miejscach, to w przypadku jego ujawnienia w jednej usłudze, hakerzy mogą uzyskać dostęp do wielu Twoich kont. Używaj unikalnych haseł dla każdego z kont lub usług." - }, - "reusedPasswordsFound": { - "message": "Znaleźliśmy identyczne hasła" - }, - "reusedPasswordsFoundDesc": { - "message": "Znaleźliśmy hasła, które powtarzają się w sejfie. Zmień je, aby były unikalne.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "Nie znaleźliśmy identycznych haseł w sejfie." - }, - "reusedXTimes": { - "message": "Wykorzystane $COUNT$ razy", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Raport naruszeń danych" - }, - "breachDesc": { - "message": "\"Wyciek\" jest zdarzeniem, w którym hakerzy uzyskali nielegalny dostęp do danych serwisu, a następnie je upublicznili. Przejrzyj rodzaj danych, które zostały naruszone (adresy e-mail, hasła, karty kredytowe itp.) i podejmij odpowiednie działania, takie jak zmiana hasła." - }, - "breachCheckUsernameEmail": { - "message": "Sprawdź nazwy użytkownika lub adresy e-mail, których używasz." - }, - "checkBreaches": { - "message": "Sprawdź naruszenia" - }, - "breachUsernameNotFound": { - "message": "Nazwa użytkownika $USERNAME$ nie została znaleziona w żadnym znanym wycieku danych.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Dobra wiadomość", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "Nazwa użytkownika $USERNAME$ została znaleziona w wyciekach danych.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Znaleźliśmy naruszone konta" - }, - "compromisedData": { - "message": "Wykradzione dane" - }, - "website": { - "message": "Strona" - }, - "affectedUsers": { - "message": "Liczba poszkodowanych użytkowników" - }, - "breachOccurred": { - "message": "Data wystąpienia naruszenia" - }, - "breachReported": { - "message": "Data zgłoszenia naruszenia" - }, - "reportError": { - "message": "Wystąpił błąd podczas próby załadowania raportu. Spróbuj ponownie" - }, - "billing": { - "message": "Płatności" - }, - "accountCredit": { - "message": "Dostępne środki", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Saldo konta", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Dodaj środki", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Kwota", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Dodane środki pojawią się na twoim koncie po przetworzeniu płatności. Niektóre metody płatności mogą być przetwarzane dłużej niż inne." - }, - "makeSureEnoughCredit": { - "message": "Upewnij się, że na koncie posiadasz wystarczająca ilość środków do dokonania tego zakupu. Jeśli na koncie nie ma wystarczających środków, do opłacenia brakującej różnicy zostanie użyta domyślna metoda płatności. Możesz też dodać środki do swojego konta na stronie Płatności." - }, - "creditAppliedDesc": { - "message": "Środki dodane do konta mogą zostać użyte do dokonywania płatności. Dostępne środki będą automatycznie wykorzystane do opłacenia faktur wygenerowanych dla tego konta." - }, - "goPremium": { - "message": "Przejdź na konto Premium", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "Konto Premium zostało zaktualizowane." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Zaktualizuj swoje konto do konta Premium i odblokuj dodatkowe funkcje." - }, - "premiumSignUpStorage": { - "message": "1 GB przestrzeni na zaszyfrowane załączniki." - }, - "premiumSignUpTwoStep": { - "message": "Dodatkowe opcje logowania dwustopniowego, takie jak klucze YubiKey, FIDO U2F oraz Duo." - }, - "premiumSignUpReports": { - "message": "Raporty bezpieczeństwa haseł, stanu konta i raporty wycieków danych, aby Twoje dane były bezpieczne." - }, - "premiumSignUpTotp": { - "message": "Generator kodów weryfikacyjnych TOTP (2FA) dla danych logowania w sejfie." - }, - "premiumSignUpSupport": { - "message": "Priorytetowe wsparcie klienta." - }, - "premiumSignUpFuture": { - "message": "Wszystkie przyszłe funkcje Premium. Więcej już wkrótce!" - }, - "premiumPrice": { - "message": "Wszystko to jedynie za $PRICE$ /rok!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Dodatki" - }, - "premiumAccess": { - "message": "Konto Premium" - }, - "premiumAccessDesc": { - "message": "Możesz przyznać konta Premium wszystkim użytkownikom w Twojej organizacji za $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Dodatkowa przestrzeń (GB)" - }, - "additionalStorageGbDesc": { - "message": "# dodatkowych GB" - }, - "additionalStorageIntervalDesc": { - "message": "Twój plan zawiera $SIZE$ szyfrowanej przestrzeni. Możesz zwiększyć rozmiar dostępnej przestrzeni za $PRICE$ za GB/$INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Podsumowanie" - }, - "total": { - "message": "Łącznie" - }, - "year": { - "message": "rok" - }, - "month": { - "message": "miesiąc" - }, - "monthAbbr": { - "message": "m-c", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Płatność zostanie zrealizowana natychmiast i będzie powtarzana corocznie. Możesz zrezygnować z niej w dowolnej chwili." - }, - "paymentCharged": { - "message": "Płatność zostanie zrealizowana natychmiast i będzie powtarzana co $INTERVAL$. Możesz zrezygnować z niej w dowolnej chwili.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Twój plan zawiera 7-dniowy okres próbny. W tym czasie nie poniesiesz żadnych kosztów. Płatność będzie realizowana co $INTERVAL$. Możesz zrezygnować z niego w każdej chwili.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Informacje o płatności" - }, - "billingInformation": { - "message": "Informacje o płatności" - }, - "creditCard": { - "message": "Karta płatnicza" - }, - "paypalClickSubmit": { - "message": "Kliknij przycisk PayPal, aby zalogować się do konta PayPal, a następnie kliknij przycisk Prześlij poniżej, aby kontynuować." - }, - "cancelSubscription": { - "message": "Anuluj subskrypcję" - }, - "subscriptionCanceled": { - "message": "Subskrypcja została anulowana." - }, - "pendingCancellation": { - "message": "Oczekiwanie na anulowanie" - }, - "subscriptionPendingCanceled": { - "message": "Subskrypcja została oznaczona do anulowania na koniec obecnego okresu rozliczeniowego." - }, - "reinstateSubscription": { - "message": "Przywróć subskrypcję" - }, - "reinstateConfirmation": { - "message": "Czy na pewno chcesz cofnąć anulowanie subskrypcji i przywrócić ją?" - }, - "reinstated": { - "message": "Subskrypcja została przywrócona." - }, - "cancelConfirmation": { - "message": "Czy na pewno chcesz anulować? Dostęp do wszystkich funkcji związanych z tą subskrypcją zostanie wyłączony na koniec tego okresu rozliczeniowego." - }, - "canceledSubscription": { - "message": "Subskrypcja została anulowana." - }, - "neverExpires": { - "message": "Nigdy nie wygasa" - }, - "status": { - "message": "Status" - }, - "nextCharge": { - "message": "Następna opłata" - }, - "details": { - "message": "Szczegóły" - }, - "downloadLicense": { - "message": "Pobierz licencję" - }, - "updateLicense": { - "message": "Zaktualizuj licencję" - }, - "updatedLicense": { - "message": "Licencja została zaktualizowana" - }, - "manageSubscription": { - "message": "Zarządzaj subskrypcją" - }, - "storage": { - "message": "Przestrzeń" - }, - "addStorage": { - "message": "Dodaj przestrzeń" - }, - "removeStorage": { - "message": "Usuń przestrzeń" - }, - "subscriptionStorage": { - "message": "Subskrypcja zawiera łącznie $MAX_STORAGE$ GB na przechowywanie zaszyfrowanych plików. Obecnie używasz $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Metoda płatności" - }, - "noPaymentMethod": { - "message": "Nie zarejestrowano żadnej metody płatności." - }, - "addPaymentMethod": { - "message": "Dodaj metodę płatności" - }, - "changePaymentMethod": { - "message": "Zmień metodę płatności" - }, - "invoices": { - "message": "Faktury" - }, - "noInvoices": { - "message": "Brak faktur." - }, - "paid": { - "message": "Zapłacono", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Niezapłacone", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Transakcje", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "Brak transakcji." - }, - "chargeNoun": { - "message": "Opłata", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Zwrot", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Wszelkie opłaty będą widoczne na wyciągu jako $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "GB przestrzeni do dodania" - }, - "gbStorageRemove": { - "message": "GB przestrzeni do usunięcia" - }, - "storageAddNote": { - "message": "Dodanie przestrzeni dyskowej będzie skutkować korektą sumy należności i natychmiastowym obciążeniem konta. Pierwsza opłata zostanie naliczona proporcjonalnie do końca obecnego okresu rozliczeniowego." - }, - "storageRemoveNote": { - "message": "Usunięcie przestrzeni dyskowej spowoduje korektę należności, która zostanie wykonana w następnym okresie rozliczeniowym." - }, - "adjustedStorage": { - "message": "Zmieniono $AMOUNT$ GB przestrzeni.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Skontaktuj się z działem obsługi klienta" - }, - "updatedPaymentMethod": { - "message": "Metoda płatności została zaktualizowana." - }, - "purchasePremium": { - "message": "Kup konto Premium" - }, - "licenseFile": { - "message": "Plik licencji" - }, - "licenseFileDesc": { - "message": "Plik licencji zostanie nazwany np. $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "Aby aktywować konto Premium, musisz przesłać plik licencyjny." - }, - "uploadLicenseFileOrg": { - "message": "Aby utworzyć organizację na własnym serwerze, musisz przesłać plik licencyjny." - }, - "accountEmailMustBeVerified": { - "message": "Adres e-mail przypisany do Twojego konta musi zostać zweryfikowany." - }, - "newOrganizationDesc": { - "message": "Organizacje pozwalają Ci udostępniać części sejfu, a także zarządzać użytkownikami w jednostkach takich jak rodzina, mały zespół lub duża firma." - }, - "generalInformation": { - "message": "Informacje ogólne" - }, - "organizationName": { - "message": "Nazwa organizacji" - }, - "accountOwnedBusiness": { - "message": "To konto jest własnością firmy." - }, - "billingEmail": { - "message": "Adres rozliczeniowy" - }, - "businessName": { - "message": "Nazwa firmy" - }, - "chooseYourPlan": { - "message": "Wybierz swój plan" - }, - "users": { - "message": "Użytkownicy" - }, - "userSeats": { - "message": "Stanowiska użytkowników" - }, - "additionalUserSeats": { - "message": "Dodatkowe stanowiska użytkowników" - }, - "userSeatsDesc": { - "message": "# stanowisk użytkowników" - }, - "userSeatsAdditionalDesc": { - "message": "Twój plan zawiera $BASE_SEATS$ stanowisk użytkowników. Możesz dodać dodatkowych użytkowników za $SEAT_PRICE$ za użytkownika /miesiąc.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "Ilu stanowisk potrzebujesz? W razie potrzeby będziesz mógł także dodać kolejne stanowiska później." - }, - "planNameFree": { - "message": "Darmowy", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "Dla celów testowych lub użytku osobistego możesz udostępniać elementy $COUNT$ innym użytkownikom.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Rodziny" - }, - "planDescFamilies": { - "message": "Dla użytku osobistego, aby udostępniać rodzinie i przyjaciołom." - }, - "planNameTeams": { - "message": "Zespoły" - }, - "planDescTeams": { - "message": "Dla firm i innych zorganizowanych zespołów." - }, - "planNameEnterprise": { - "message": "Przedsiębiorstwo" - }, - "planDescEnterprise": { - "message": "Dla firm i innych dużych organizacji." - }, - "freeForever": { - "message": "Bezpłatne na zawsze" - }, - "includesXUsers": { - "message": "zawiera $COUNT$ użytkowników", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Dodatkowi użytkownicy" - }, - "costPerUser": { - "message": "$COST$ na użytkownika", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Ograniczony do $COUNT$ użytkowników (łącznie z Tobą)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Ograniczony do $COUNT$ kolekcji", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Dodaj i udostępnij maksymalnie $COUNT$ użytkownikom", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Dodaj i udostępnij nieograniczonej liczbie użytkowników" - }, - "createUnlimitedCollections": { - "message": "Utwórz nieograniczoną liczbę kolekcji" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ szyfrowanej przestrzeni", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "Samodzielnie hostowane środowisko (opcjonalnie)" - }, - "usersGetPremium": { - "message": "Użytkownicy uzyskują dostęp do funkcji Premium" - }, - "controlAccessWithGroups": { - "message": "Kontroluj dostęp z użyciem grup użytkowników" - }, - "syncUsersFromDirectory": { - "message": "Synchronizuj użytkowników i grupy z użyciem katalogu" - }, - "trackAuditLogs": { - "message": "Śledź działania użytkowników dzięki dziennikom audytu" - }, - "enforce2faDuo": { - "message": "Wymagaj logowania dwustopniowego poprzez Duo" - }, - "priorityCustomerSupport": { - "message": "Priorytetowe wsparcie klienta" - }, - "xDayFreeTrial": { - "message": "$COUNT$-dniowy okres próbny z możliwością rezygnacji w każdej chwili", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Miesięcznie" - }, - "annually": { - "message": "Rocznie" - }, - "basePrice": { - "message": "Cena netto" - }, - "organizationCreated": { - "message": "Organizacja została utworzona" - }, - "organizationReadyToGo": { - "message": "Twoja nowa organizacja jest gotowa!" - }, - "organizationUpgraded": { - "message": "Organizacja została zaktualizowana." - }, - "leave": { - "message": "Opuść" - }, - "leaveOrganizationConfirmation": { - "message": "Czy na pewno chcesz opuścić tę organizację?" - }, - "leftOrganization": { - "message": "Opuściłeś organizację." - }, - "defaultCollection": { - "message": "Domyślna kolekcja" - }, - "getHelp": { - "message": "Uzyskaj pomoc" - }, - "getApps": { - "message": "Pobierz aplikacje" - }, - "loggedInAs": { - "message": "Zalogowany jako" - }, - "eventLogs": { - "message": "Dziennik zdarzeń" - }, - "people": { - "message": "Użytkownicy" - }, - "policies": { - "message": "Zasady" - }, - "editPolicy": { - "message": "Edytuj zasady" - }, - "groups": { - "message": "Grupy" - }, - "newGroup": { - "message": "Nowa grupa" - }, - "addGroup": { - "message": "Dodaj grupę" - }, - "editGroup": { - "message": "Edytuj grupę" - }, - "deleteGroupConfirmation": { - "message": "Czy na pewno chcesz usunąć tę grupę?" - }, - "removeUserConfirmation": { - "message": "Czy na pewno chcesz usunąć tego użytkownika?" - }, - "externalId": { - "message": "Identyfikator zewnętrzny" - }, - "externalIdDesc": { - "message": "Zewnętrzny identyfikator może zostać użyty jako odniesienie lub połączenie tego zasobu z zewnętrznym systemem, takim jak katalog użytkowników." - }, - "accessControl": { - "message": "Kontrola dostępu" - }, - "groupAccessAllItems": { - "message": "Ta grupa może otwierać i modyfikować wszystkie elementy." - }, - "groupAccessSelectedCollections": { - "message": "Ta grupa posiada dostęp wyłącznie do wybranych kolekcji." - }, - "readOnly": { - "message": "Tylko do odczytu" - }, - "newCollection": { - "message": "Nowa kolekcja" - }, - "addCollection": { - "message": "Dodaj kolekcję" - }, - "editCollection": { - "message": "Edytuj kolekcję" - }, - "deleteCollectionConfirmation": { - "message": "Czy na pewno chcesz usunąć tę kolekcję?" - }, - "editUser": { - "message": "Edytuj użytkownika" - }, - "inviteUser": { - "message": "Zaproś użytkownika" - }, - "inviteUserDesc": { - "message": "Zaproś nowego użytkownika do Twojej organizacji poprzez wpisanie poniżej jego adresu e-mail. Jeśli nie posiada on jeszcze konta Bitwarden, zostanie poproszony o jego utworzenie." - }, - "inviteMultipleEmailDesc": { - "message": "Możesz zaprosić do $COUNT$ użytkowników jednocześnie, wpisując ich adresy e-mail oddzielone przecinkiem.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "Ten użytkownik korzysta z logowania dwustopniowego, aby chronić swoje konto." - }, - "userAccessAllItems": { - "message": "Ten użytkownik może otwierać i modyfikować wszystkie elementy." - }, - "userAccessSelectedCollections": { - "message": "Ten użytkownik posiada dostęp wyłącznie do wybranych kolekcji." - }, - "search": { - "message": "Szukaj" - }, - "invited": { - "message": "Zaproszony" - }, - "accepted": { - "message": "Zaakceptowany" - }, - "confirmed": { - "message": "Potwierdzone" - }, - "owner": { - "message": "Właściciel" - }, - "ownerDesc": { - "message": "Użytkownik z najwyższym uprawnieniem, który może zarządzać wszystkimi ustawieniami organizacji." - }, - "admin": { - "message": "Administrator" - }, - "adminDesc": { - "message": "Administratorzy posiadają dostęp do wszystkich elementów, kolekcji i użytkowników w Twojej organizacji." - }, - "user": { - "message": "Użytkownik" - }, - "userDesc": { - "message": "Standardowy użytkownik, posiadający dostęp do kolekcji w Twojej organizacji." - }, - "manager": { - "message": "Menedżer" - }, - "managerDesc": { - "message": "Menedżerowie mogą uzyskiwać dostęp do przypisanych kolekcji i zarządzać nimi w organizacji." - }, - "all": { - "message": "Wszyscy" - }, - "refresh": { - "message": "Odśwież" - }, - "timestamp": { - "message": "Sygnatura czasowa" - }, - "event": { - "message": "Zdarzenie" - }, - "unknown": { - "message": "Nieznane" - }, - "loadMore": { - "message": "Załaduj więcej" - }, - "mobile": { - "message": "Komórka", - "description": "Mobile app" - }, - "extension": { - "message": "Rozszerzenie", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Komputer", - "description": "Desktop app" - }, - "webVault": { - "message": "Sejf internetowy" - }, - "loggedIn": { - "message": "Zalogowano." - }, - "changedPassword": { - "message": "Hasło do konta zostało zmienione." - }, - "enabledUpdated2fa": { - "message": "Logowanie dwustopniowe zostało zaktualizowane." - }, - "disabled2fa": { - "message": "Logowanie dwustopniowe zostało wyłączone." - }, - "recovered2fa": { - "message": "Logowanie dwustopniowe zostało wyłączone." - }, - "failedLogin": { - "message": "Logowanie nie powiodło się z powodu błędnego hasła." - }, - "failedLogin2fa": { - "message": "Logowanie nie powiodło się z powodu nieprawidłowego logowania dwustopniowego." - }, - "exportedVault": { - "message": "Sejf został wyeksportowany." - }, - "exportedOrganizationVault": { - "message": "Sejf organizacji został wyeksportowany." - }, - "editedOrgSettings": { - "message": "Ustawienia organizacji zostały zaktualizowane." - }, - "createdItemId": { - "message": "Element $ID$ został utworzony.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Element $ID$ został zaktualizowany.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Element $ID$ został przeniesiony do kosza.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Element $ID$ został udostępniony.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Wyświetlono element $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Hasło dla elementu $ID$ zostało wyświetlone.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Wyświetlono ukryte pole dla elementu $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Wyświetlono kod bezpieczeństwa dla elementu $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Hasło dla elementu $ID$ zostało skopiowane.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Skopiowano ukryte pole dla elementu $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Skopiowano kod bezpieczeństwa dla elementu $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Element $ID$ został automatycznie uzupełniony.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Kolekcja $ID$ została utworzona.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Kolekcja $ID$ została zaktualizowana.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Kolekcja $ID$ została usunięta.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Zasada $ID$ została zaktualizowana.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Grupa $ID$ została utworzona.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Grupa $ID$ została zaktualizowana.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Grupa $ID$ została usunięta.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Usunięto użytkownika $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Załącznik elementu $ID$ został utworzony.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Załącznik elementu $ID$ został usunięty.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Kolekcje elementu $ID$ zostały zaktualizowane.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Użytkownik $ID$ został zaproszony.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Użytkownik $ID$ został potwierdzony.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Użytkownik $ID$ został zaktualizowany.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Grupy dla użytkownika $ID$ zostały zaktualizowane.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Odłącz logowanie jednokrotne SSO dla użytkownika %$ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Urządzenie" - }, - "view": { - "message": "Widok" - }, - "invalidDateRange": { - "message": "Zakres dat jest nieprawidłowy." - }, - "errorOccurred": { - "message": "Wystąpił błąd." - }, - "userAccess": { - "message": "Dostęp użytkownika" - }, - "userType": { - "message": "Typ użytkownika" - }, - "groupAccess": { - "message": "Dostęp grupowy" - }, - "groupAccessUserDesc": { - "message": "Zmień grupy, do których należy użytkownik." - }, - "invitedUsers": { - "message": "Zaproszeni użytkownicy." - }, - "resendInvitation": { - "message": "Wyślij ponownie zaproszenie" - }, - "hasBeenReinvited": { - "message": "Użytkownik $USER$ został ponownie zaproszony.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Potwierdź" - }, - "confirmUser": { - "message": "Potwierdź użytkownika" - }, - "hasBeenConfirmed": { - "message": "Użytkownik $USER$ został potwierdzony.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Potwierdź użytkowników" - }, - "usersNeedConfirmed": { - "message": "Posiadasz użytkowników, którzy zaakceptowali zaproszenie, ale muszą jeszcze zostać potwierdzeni. Użytkownicy nie będą posiadali dostępu do organizacji, dopóki nie zostaną potwierdzeni." - }, - "startDate": { - "message": "Data rozpoczęcia" - }, - "endDate": { - "message": "Data zakończenia" - }, - "verifyEmail": { - "message": "Zweryfikuj adres e-mail" - }, - "verifyEmailDesc": { - "message": "Zweryfikuj swój adres e-mail, aby odblokować dostęp do wszystkich funkcji." - }, - "verifyEmailFirst": { - "message": "Najpierw musimy zweryfikować Twój adres e-mail." - }, - "checkInboxForVerification": { - "message": "Sprawdź swoją skrzynkę e-mail, aby uzyskać kod weryfikacyjny." - }, - "emailVerified": { - "message": "Twój adres e-mail został zweryfikowany." - }, - "emailVerifiedFailed": { - "message": "Nie możemy zweryfikować Twojego adresu e-mail. Spróbuj ponownie wysłać wiadomość weryfikacyjną." - }, - "updateBrowser": { - "message": "Aktualizuj przeglądarkę" - }, - "updateBrowserDesc": { - "message": "Używasz nieobsługiwanej przeglądarki. Sejf internetowy może działać niewłaściwie." - }, - "joinOrganization": { - "message": "Dołącz do organizacji" - }, - "joinOrganizationDesc": { - "message": "Zostałeś zaproszony do dołączenia do poniższej organizacji. Aby zaakceptować zaproszenie, musisz się zalogować lub utworzyć nowe konto Bitwarden." - }, - "inviteAccepted": { - "message": "Zaproszenie zostało zaakceptowane" - }, - "inviteAcceptedDesc": { - "message": "Dostęp do tej organizacji otrzymasz po potwierdzeniu członkostwa przez administratora. Dostaniesz wtedy wiadomość e-mail." - }, - "inviteAcceptFailed": { - "message": "Nie można zaakceptować zaproszenia. Poproś administratora organizacji o wysłanie nowego zaproszenia." - }, - "inviteAcceptFailedShort": { - "message": "Nie można zaakceptować zaproszenia. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Zapamiętaj adres e-mail" - }, - "recoverAccountTwoStepDesc": { - "message": "Jeśli nie możesz uzyskać dostępu do konta poprzez standardowe metody logowania dwustopniowego, skorzystaj z kodu odzyskiwania, aby wyłączyć wszystkich dostawców logowania dwustopniowego na swoim koncie." - }, - "recoverAccountTwoStep": { - "message": "Przywróć logowanie dwustopniowe do konta" - }, - "twoStepRecoverDisabled": { - "message": "Logowanie dwustopniowe zostało wyłączone na koncie." - }, - "learnMore": { - "message": "Dowiedz się więcej" - }, - "deleteRecoverDesc": { - "message": "Wpisz adres e-mail poniżej, aby odzyskać i usunąć konto." - }, - "deleteRecoverEmailSent": { - "message": "Jeśli Twoje konto istnieje, otrzymasz e-mail z dalszymi instrukcjami." - }, - "deleteRecoverConfirmDesc": { - "message": "Poprosiłeś o usunięcie konta Bitwarden. Kliknij poniższy przycisk, aby to potwierdzić." - }, - "myOrganization": { - "message": "Moja organizacja" - }, - "deleteOrganization": { - "message": "Usuń organizację" - }, - "deleteOrganizationDesc": { - "message": "Kontynuuj poniżej, aby usunąć tę organizację i wszystkie powiązane z nią dane. Indywidualne konta użytkowników pozostaną, ale nie będą one już połączone za tą organizacją. " - }, - "deleteOrganizationWarning": { - "message": "Usunięcie organizacji jest nieodwracalne. Ta czynność nie może zostać cofnięta." - }, - "organizationDeleted": { - "message": "Organizacja została usunięta" - }, - "organizationDeletedDesc": { - "message": "Organizacja i wszystkie połączone z nią dane zostały usunięte." - }, - "organizationUpdated": { - "message": "Organizacja została zaktualizowana" - }, - "taxInformation": { - "message": "Informacje podatkowe" - }, - "taxInformationDesc": { - "message": "Dla klientów w USA kod pocztowy jest wymagany, aby spełnić wymagania dotyczące podatku od sprzedaży. W pozostałych krajach możesz opcjonalnie podać numer identyfikacji podatkowej (VAT/GST) i/lub adres, który ma pojawić się na fakturach." - }, - "billingPlan": { - "message": "Plan", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Zmień plan", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Zaktualizuj swoje konto do innego planu, podając poniższe informacje. Upewnij się, że do konta została dodana aktywna metoda płatności.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Jeśli chcesz zmienić swój plan, skontaktuj się z działem obsługi klienta. Upewnij się, że dodałeś do swojego konta aktywną formę płatności.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Faktura nr $NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "Pokaż fakturę" - }, - "downloadInvoice": { - "message": "Pobierz fakturę" - }, - "verifyBankAccount": { - "message": "Weryfikuj konto bankowe" - }, - "verifyBankAccountDesc": { - "message": "Dokonaliśmy dwóch mikro przelewów na konto bankowe (mogą upłynąć 1-2 dni robocze, zanim je zobaczysz). Wpisz te kwoty, aby zweryfikować konto bankowe." - }, - "verifyBankAccountInitialDesc": { - "message": "Płatność z pomocą konta bankowego jest dostępna wyłącznie dla klientów w Stanach Zjednoczonych. Konieczne będzie zweryfikowanie konta bankowego. Wykonamy dwa mikro przelewy w ciągu następnych 1-2 dni roboczych. Wpisz te kwoty na stronie rozliczeń organizacji, aby zweryfikować konto bankowe." - }, - "verifyBankAccountFailureWarning": { - "message": "Brak weryfikacji konta bankowego spowoduje brak dokonania płatności i Twoja subskrypcja zostanie wyłączona." - }, - "verifiedBankAccount": { - "message": "Konto bankowe zostało zweryfikowane." - }, - "bankAccount": { - "message": "Konto bankowe" - }, - "amountX": { - "message": "Kwota $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Numer rozliczeniowy", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Numer konta" - }, - "accountHolderName": { - "message": "Nazwa posiadacza konta" - }, - "bankAccountType": { - "message": "Typ konta" - }, - "bankAccountTypeCompany": { - "message": "Firmowe" - }, - "bankAccountTypeIndividual": { - "message": "Indywidualne (osobiste)" - }, - "enterInstallationId": { - "message": "Wpisz identyfikator instalacji" - }, - "addSeats": { - "message": "Dodaj stanowiska", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Usuń stanowiska", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Twoja subskrypcja pozwala na łączną liczbę $COUNT$ użytkowników.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Stanowiska do dodania" - }, - "seatsToRemove": { - "message": "Stanowiska do usunięcia" - }, - "seatsAddNote": { - "message": "Dodanie stanowisk dla użytkowników będzie skutkować korektą sumy należności i natychmiastowym obciążeniem konta. Pierwsza opłata zostanie naliczona proporcjonalnie do końca obecnego okresu rozliczeniowego." - }, - "seatsRemoveNote": { - "message": "Usunięcie stanowisk dla użytkowników spowoduje korektę należności, która zostanie wykonana w następnym okresie rozliczeniowym." - }, - "adjustedSeats": { - "message": "Stanowiska użytkowników zostały zaktualizowane ($AMOUNT$).", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Klucz został zaktualizowany" - }, - "updateKeyTitle": { - "message": "Zaktualizuj klucz" - }, - "updateEncryptionKey": { - "message": "Zaktualizuj klucz szyfrowania" - }, - "updateEncryptionKeyShortDesc": { - "message": "Używasz przestarzałej metody szyfrowania." - }, - "updateEncryptionKeyDesc": { - "message": "Zdecydowaliśmy się na używanie silniejszych kluczy szyfrowania, które zapewniają lepsze bezpieczeństwo i dostęp do nowych funkcji. Zaktualizowanie klucza szyfrowania jest szybkie i łatwe. Wystarczy wpisać poniżej swoje hasło. Aktualizacja klucza stanie się wkrótce obowiązkowa." - }, - "updateEncryptionKeyWarning": { - "message": "Po zaktualizowaniu klucza szyfrowania, musisz ponownie zalogować się do wszystkich aplikacji Bitwarden, z których obecnie korzystasz (na przykład aplikacje mobilne lub rozszerzenia przeglądarki). Niepowodzenie logowania (podczas którego pobierany jest nowy klucz szyfrowania) może spowodować uszkodzenie danych. Postaramy się wylogować Ciebie automatycznie, jednak może to chwilę potrwać." - }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." - }, - "subscription": { - "message": "Subskrypcja" - }, - "loading": { - "message": "Ładowanie" - }, - "upgrade": { - "message": "Uaktualnienie" - }, - "upgradeOrganization": { - "message": "Uaktualnij organizację" - }, - "upgradeOrganizationDesc": { - "message": "Ta funkcja nie jest dostępna dla darmowych organizacji. Przejdź na płatny plan, aby odblokować więcej funkcji." - }, - "createOrganizationStep1": { - "message": "Utwórz organizację: Krok 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Zanim utworzysz swoją organizację, musisz utworzyć darmowe konto osobiste." - }, - "refunded": { - "message": "Zwrócono" - }, - "nothingSelected": { - "message": "Nie zaznaczyłeś żadnych elementów." - }, - "acceptPolicies": { - "message": "Zaznaczając tę opcję, akceptujesz:" - }, - "acceptPoliciesError": { - "message": "Nie zaakceptowałeś regulaminu i polityki prywatności." - }, - "termsOfService": { - "message": "Regulamin" - }, - "privacyPolicy": { - "message": "Polityka prywatności" - }, - "filters": { - "message": "Filtry" - }, - "vaultTimeout": { - "message": "Blokowanie sejfu" - }, - "vaultTimeoutDesc": { - "message": "Wybierz kiedy sejf zostanie zablokowany i wykonaj następującą akcję." - }, - "oneMinute": { - "message": "1 minuta" - }, - "fiveMinutes": { - "message": "5 minut" - }, - "fifteenMinutes": { - "message": "15 minut" - }, - "thirtyMinutes": { - "message": "30 minut" - }, - "oneHour": { - "message": "1 godzina" - }, - "fourHours": { - "message": "4 godziny" - }, - "onRefresh": { - "message": "Po restarcie przeglądarki" - }, - "dateUpdated": { - "message": "Zaktualizowano", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Aktualizacja hasła", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "Organizacja jest wyłączona." - }, - "licenseIsExpired": { - "message": "Licencja wygasła." - }, - "updatedUsers": { - "message": "Użytkownicy zostali zaktualizowani" - }, - "selected": { - "message": "Zaznaczono" - }, - "ownership": { - "message": "Właściciel" - }, - "whoOwnsThisItem": { - "message": "Kto jest właścicielem tego elementu?" - }, - "strong": { - "message": "Silne", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Dobre", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Słabe", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Bardzo słabe", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Słabe hasło główne" - }, - "weakMasterPasswordDesc": { - "message": "Wpisane przez Ciebie hasło główne jest słabe. Powinieneś użyć silniejszego hasła (lub frazy), aby właściwie chronić swoje konto Bitwarden. Czy na pewno chcesz użyć tego hasła głównego?" - }, - "rotateAccountEncKey": { - "message": "Zmień także mój klucz szyfrowania" - }, - "rotateEncKeyTitle": { - "message": "Zmień klucz szyfrowania" - }, - "rotateEncKeyConfirmation": { - "message": "Czy na pewno chcesz zmienić swój klucz szyfrowania?" - }, - "attachmentsNeedFix": { - "message": "Ten element posiada stare załączniki, które muszą zostać naprawione." - }, - "attachmentFixDesc": { - "message": "To jest stary załącznik, który musi zostać naprawiony. Kliknij, aby dowiedzieć się więcej." - }, - "fix": { - "message": "Napraw", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "W Twoim sejfie istnieją stare załączniki, które muszą zostać naprawione, zanim będziesz mógł zmienić klucz szyfrowania Twojego konta." - }, - "yourAccountsFingerprint": { - "message": "Unikalny identyfikator Twojego konta", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "Aby zapewnić integralność kluczy szyfrowania, zweryfikuj unikalny identyfikator użytkownika, zanim przejdziesz dalej.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Nie pytaj ponownie o weryfikację unikalnego identyfikatora konta", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Darmowy", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "Klucz interfejsu API" - }, - "apiKeyDesc": { - "message": "Twój klucz interfejsu API może zostać użyty do uwierzytelniania dostępu do publicznego interfejsu API Bitwarden." - }, - "apiKeyRotateDesc": { - "message": "Zmiana klucza interfejsu API spowoduje unieważnienie poprzedniego klucza. Możesz zmienić klucz interfejsu, jeśli uważasz, że obecny klucz przestał być bezpieczny." - }, - "apiKeyWarning": { - "message": "Twój klucz interfejsu API umożliwia pełny dostęp do organizacji, dlatego powinien być dobrze strzeżony." - }, - "userApiKeyDesc": { - "message": "Twój klucz interfejsu API może zostać użyty do uwierzytelniania dostępu do wiersza poleceń Bitwarden." - }, - "userApiKeyWarning": { - "message": "Twój klucz interfejsu API jest alternatywną metodą uwierzytelniania. Powinien być dobrze strzeżony." - }, - "oauth2ClientCredentials": { - "message": "Dane uwierzytelniające OAuth 2.0", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "Wyświetl klucz interfejsu API" - }, - "rotateApiKey": { - "message": "Zmień klucz interfejsu API" - }, - "selectOneCollection": { - "message": "Musisz wybrać co najmniej jedną kolekcję." - }, - "couldNotChargeCardPayInvoice": { - "message": "Nie byliśmy w stanie obciążyć karty. Sprawdź i opłać niezapłacone faktury wymienione poniżej." - }, - "inAppPurchase": { - "message": "Zakupy w aplikacji" - }, - "cannotPerformInAppPurchase": { - "message": "Nie możesz tego zrobić, kiedy używasz płatności w aplikacji." - }, - "manageSubscriptionFromStore": { - "message": "Musisz zarządzać swoją subskrypcją ze sklepu, w którym były dokonane zakupy w aplikacji." - }, - "minLength": { - "message": "Minimalna długość" - }, - "clone": { - "message": "Klonuj" - }, - "masterPassPolicyDesc": { - "message": "Ustaw minimalne wymagania dla hasła głównego." - }, - "twoStepLoginPolicyDesc": { - "message": "Wymagaj od użytkowników aktywowania logowania dwustopniowego na swoich kontach osobistych." - }, - "twoStepLoginPolicyWarning": { - "message": "Członkowie organizacji, którzy nie są właścicielami lub administratorami i nie posiadają włączonej opcji logowania dwustopniowego na swoim koncie osobistym, zostaną usunięci z organizacji i otrzymają wiadomość z powiadomieniem o zmianie." - }, - "twoStepLoginPolicyUserWarning": { - "message": "Jesteś członkiem organizacji, która wymaga włączonej opcji logowania dwustopniowego na koncie użytkownika. Jeśli wyłączysz wszystkich dostawców logowania dwustopniowego, zostaniesz automatycznie usunięty z tych organizacji." - }, - "passwordGeneratorPolicyDesc": { - "message": "Ustaw minimalne wymagania dla generatora hasła." - }, - "passwordGeneratorPolicyInEffect": { - "message": "Co najmniej jedna zasada organizacji wpływa na ustawienia generatora." - }, - "masterPasswordPolicyInEffect": { - "message": "Co najmniej jedna zasada organizacji wymaga, aby hasło główne spełniało następujące wymagania:" - }, - "policyInEffectMinComplexity": { - "message": "Minimalny poziom złożoności wynosi $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Minimalna długość wynosi $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Zawiera co najmniej jedną wielką literę" - }, - "policyInEffectLowercase": { - "message": "Zawiera co najmniej jedną małą literę" - }, - "policyInEffectNumbers": { - "message": "Zawiera co najmniej jedną cyfrę" - }, - "policyInEffectSpecial": { - "message": "Zawiera co najmniej jeden następujący znak specjalny $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Nowe hasło główne nie spełnia wymaganych zasad." - }, - "minimumNumberOfWords": { - "message": "Minimalna liczba słów" - }, - "defaultType": { - "message": "Domyślny rodzaj" - }, - "userPreference": { - "message": "Ustawienie użytkownika" - }, - "vaultTimeoutAction": { - "message": "Sposób blokowania sejfu" - }, - "vaultTimeoutActionLockDesc": { - "message": "Po zablokowaniu sejfu, musisz ponownie wpisać hasło główne, aby uzyskać do niego dostęp." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "Po wylogowaniu się z sejfu, musisz ponownie zalogować się, aby uzyskać do niego dostęp." - }, - "lock": { - "message": "Zablokuj", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Kosz", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Szukaj w koszu" - }, - "permanentlyDelete": { - "message": "Usuń trwale" - }, - "permanentlyDeleteSelected": { - "message": "Usuń trwale zaznaczone" - }, - "permanentlyDeleteItem": { - "message": "Usuń trwale element" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Czy na pewno chcesz usunąć trwale ten element?" - }, - "permanentlyDeletedItem": { - "message": "Element został trwale usunięty" - }, - "permanentlyDeletedItems": { - "message": "Elementy zostały trwale usunięte" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "Wybrałeś elementy do trwałego usunięcia. Czy na pewno chcesz je wszystkie usunąć trwale?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Element $ID$ został trwale usunięty.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Przywróć" - }, - "restoreSelected": { - "message": "Przywróć zaznaczone" - }, - "restoreItem": { - "message": "Przywróć element" - }, - "restoredItem": { - "message": "Element został przywrócony" - }, - "restoredItems": { - "message": "Elementy zostały przywrócone" - }, - "restoreItemConfirmation": { - "message": "Czy na pewno chcesz przywrócić ten element?" - }, - "restoreItems": { - "message": "Przywróć elementy" - }, - "restoreSelectedItemsDesc": { - "message": "Wybrałeś elementy do przywrócenia. Czy na pewno chcesz je wszystkie przywrócić?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Element $ID$ został przywrócony.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Po wylogowaniu się z sejfu musisz ponownie zalogować się, aby uzyskać do niego dostęp. Czy na pewno chcesz użyć tego ustawienia?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Potwierdź sposób blokowania sejfu" - }, - "hidePasswords": { - "message": "Ukryj hasła" - }, - "countryPostalCodeRequiredDesc": { - "message": "Potrzebujemy tych informacji tylko do obliczenia podatku od sprzedaży i uzupełnienia deklaracji finansowych." - }, - "includeVAT": { - "message": "Dołącz identyfikator podatkowy VAT/GST (opcjonalnie)" - }, - "taxIdNumber": { - "message": "Identyfikator podatkowy VAT/GST" - }, - "taxInfoUpdated": { - "message": "Informacje podatkowe zostały zaktualizowane." - }, - "setMasterPassword": { - "message": "Ustaw hasło główne" - }, - "ssoCompleteRegistration": { - "message": "Aby zakończyć logowanie jednokrotne SSO, ustaw hasło główne, aby uzyskać dostęp do sejfu." - }, - "identifier": { - "message": "Identyfikator" - }, - "organizationIdentifier": { - "message": "Identyfikator organizacji" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Zaloguj się za pomocą logowania jednokrotnego SSO swojej organizacji. Aby rozpocząć, wpisz swój identyfikator organizacji." - }, - "enterpriseSingleSignOn": { - "message": "Logowanie jednokrotne" - }, - "ssoHandOff": { - "message": "Możesz teraz zamknąć tę kartę i kontynuować w rozszerzeniu." - }, - "businessPortal": { - "message": "Portal biznesowy", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "Wszystkie funkcje zespołów oraz:" - }, - "includeSsoAuthentication": { - "message": "Logowanie jednokrotne SSO za pomocą protokołu SAML2.0 i OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Zasady przedsiębiorstwa" - }, - "ssoValidationFailed": { - "message": "Weryfikacja logowania jednokrotnego SSO nie powiodła się" - }, - "ssoIdentifierRequired": { - "message": "Identyfikator organizacji jest wymagany." - }, - "unlinkSso": { - "message": "Odłącz logowanie jednokrotne SSO" - }, - "linkSso": { - "message": "Połącz logowanie jednokrotne SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "Miejsce konfiguracji zasady zostało przeniesione i ta strona zostanie wkrótce wycofana. Kliknij poniżej, aby przejść do zasad przedsiębiorstwa." - }, - "singleOrg": { - "message": "Pojedyncza organizacja" - }, - "singleOrgDesc": { - "message": "Zablokuj użytkownikom możliwość dołączania do innych organizacji." - }, - "singleOrgBlockCreateMessage": { - "message": "Twoja obecna organizacja posiada zasady, które nie pozwalają na dołączanie do więcej niż jednej organizacji. Skontaktuj się z administratorami swojej organizacji lub zarejestruj się z innego konta Bitwarden." - }, - "singleOrgPolicyWarning": { - "message": "Członkowie organizacji, którzy nie są właścicielami lub administratorami i są już członkami innej organizacji zostaną usunięci z Twojej organizacji." - }, - "requireSso": { - "message": "Uwierzytelnianie logowaniem jednokrotnym" - }, - "requireSsoPolicyDesc": { - "message": "Wymagaj używania przez użytkowników logowania jednokrotnego." - }, - "prerequisite": { - "message": "Wymaganie wstępne" - }, - "requireSsoPolicyReq": { - "message": "Najpierw musisz włączyć zasadę pojedynczej organizacji." - }, - "requireSsoPolicyReqError": { - "message": "Zasady pojedynczej organizacji nie są włączone." - }, - "requireSsoExemption": { - "message": "Właściciele i administratorzy organizacji są zwolnieni z przestrzegania wymagań zasad." - }, - "sendTypeFile": { - "message": "Plik" - }, - "sendTypeText": { - "message": "Tekst" - }, - "createSend": { - "message": "Utwórz nową wysyłkę", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Edytuj wysyłkę", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Wysyłka została utworzona", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Wysyłka została zaktualizowana", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Wysyłka została usunięta", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Usuń wysyłkę", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Czy na pewno chcesz usunąć tę wysyłkę?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "Jakie typu jest to wysyłka?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Data usunięcia" - }, - "deletionDateDesc": { - "message": "Wysyłka zostanie trwale usunięta w określonym czasie.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Data wygaśnięcia" - }, - "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Maksymalna liczba dostępów" - }, - "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Obecna liczba dostępów" - }, - "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Prywatne notatki o tej wysyłce.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Wyłączone" - }, - "sendLink": { - "message": "Link wysyłki", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Kopiuj link wysyłki", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Usuń hasło" - }, - "removedPassword": { - "message": "Hasło zostało usunięte" - }, - "removePasswordConfirmation": { - "message": "Czy na pewno chcesz usunąć hasło?" - }, - "disableThisSend": { - "message": "Wyłącz tę wysyłkę, aby nikt nie miał do niej dostępu.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "Wszystkie wysyłki" - }, - "maxAccessCountReached": { - "message": "Maksymalna liczba dostępów została osiągnięta" - }, - "pendingDeletion": { - "message": "Oczekiwanie na usunięcie" - }, - "expired": { - "message": "Wygasła" - }, - "searchSends": { - "message": "Szukaj w wysyłkach", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "Wysyłka jest chroniona hasłem. Wpisz hasło, aby kontynuować.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Nie znasz hasła? Poproś nadawcę o hasło, aby uzyskać dostęp do wysyłki.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "Ta wysyłka jest domyślnie ukryta. Możesz zmienić jej widoczność za pomocą przycisku.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Pobierz plik" - }, - "sendAccessUnavailable": { - "message": "Wysyłka nie istnieje lub nie jest już dostępna.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "Brak wysyłek do wyświetlenia.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Dostęp awaryjny" - }, - "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." - }, - "trustedEmergencyContacts": { - "message": "Zaufane kontakty awaryjne" - }, - "noTrustedContacts": { - "message": "Nie dodałeś nikogo jako kontakt awaryjny. Aby rozpocząć, zaproś zaufany kontakt." - }, - "addEmergencyContact": { - "message": "Dodaj kontakt awaryjny" - }, - "designatedEmergencyContacts": { - "message": "Wyznaczone kontakty awaryjne" - }, - "noGrantedAccess": { - "message": "Nie zostałeś ustawiony jako kontakt awaryjny dla kogokolwiek." - }, - "inviteEmergencyContact": { - "message": "Zaproś kontakt awaryjny" - }, - "editEmergencyContact": { - "message": "Edytuj kontakt awaryjny" - }, - "inviteEmergencyContactDesc": { - "message": "Zaproś nowy kontakt awaryjny poprzez wprowadzenie jego adresu e-mail poniżej. Jeśli nie posiada on jeszcze konta Bitwarden, zostanie poproszony o jego utworzenie." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Dostęp awaryjny został zainicjowany" - }, - "emergencyAccessRecoveryApproved": { - "message": "Dostęp awaryjny został zatwierdzony" - }, - "viewDesc": { - "message": "Może zobaczyć wszystkie elementy w Twoim sejfie." - }, - "takeover": { - "message": "Przejęte" - }, - "takeoverDesc": { - "message": "Może zresetować Twoje konto za pomocą nowego hasła głównego." - }, - "waitTime": { - "message": "Oczekiwanie" - }, - "waitTimeDesc": { - "message": "Czas wymagany do automatycznego przyznania dostępu." - }, - "oneDay": { - "message": "1 dzień" - }, - "days": { - "message": "$DAYS$ dni", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Użytkownik został zaproszony." - }, - "acceptEmergencyAccess": { - "message": "Zostałeś zaproszony przez poniższego użytkownika do zostania jego kontaktem awaryjnym. Aby zaakceptować zaproszenie, musisz się zalogować lub utworzyć nowe konto Bitwarden." - }, - "emergencyInviteAcceptFailed": { - "message": "Nie można zaakceptować zaproszenia. Poproś użytkownika o wysłanie nowego zaproszenia." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Nie można zaakceptować zaproszenia. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." - }, - "requestAccess": { - "message": "Poproś o dostęp" - }, - "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Poprosiłeś o dostęp awaryjny dla użytkownika $USER$. Po otrzymaniu dostępu, dostaniesz wiadomość e-mail.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Zatwierdź" - }, - "reject": { - "message": "Odrzuć" - }, - "approveAccessConfirmation": { - "message": "Czy na pewno chcesz zatwierdzić dostęp awaryjny? Użytkownik $USER$ uzyska uprawnienie do Twojego konta ($ACTION$).", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Dostęp awaryjny został zatwierdzony." - }, - "emergencyRejected": { - "message": "Dostęp awaryjny został odrzucony" - }, - "passwordResetFor": { - "message": "Zresetowałeś hasło użytkownika $USER$. Możesz zalogować się za pomocą nowego hasła.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Własność osobista" - }, - "personalOwnershipPolicyDesc": { - "message": "Wymagaj od użytkowników zapisywanie elementów do kolekcji organizacji, usuwając opcję własności elementów." - }, - "personalOwnershipExemption": { - "message": "Właściciele i administratorzy organizacji są zwolnieni z przestrzegania wymagań zasad." - }, - "personalOwnershipSubmitError": { - "message": "Ze względu na zasadę przedsiębiorstwa nie możesz zapisywać elementów w osobistym sejfie. Zmień właściciela elementu na organizację i wybierz jedną z dostępnych kolekcji." - }, - "modifiedPolicyId": { - "message": "Zasada $ID$ została zaktualizowana.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Cena planu" - }, - "estimatedTax": { - "message": "Podatek" - }, - "custom": { - "message": "Niestandardowy" - }, - "customDesc": { - "message": "Umożliwia zaawansowaną kontrolę uprawnień użytkownika." - }, - "permissions": { - "message": "Uprawnienia" - }, - "accessBusinessPortal": { - "message": "Dostęp do portalu biznesowego" - }, - "accessEventLogs": { - "message": "Dostęp do dziennika zdarzeń" - }, - "accessImportExport": { - "message": "Dostęp do importu i eksportu" - }, - "accessReports": { - "message": "Dostęp do raportów" - }, - "manageAllCollections": { - "message": "Zarządzaj wszystkimi kolekcjami" - }, - "manageAssignedCollections": { - "message": "Zarządzaj przypisanymi kolekcjami" - }, - "manageGroups": { - "message": "Zarządzaj grupami" - }, - "managePolicies": { - "message": "Zarządzaj zasadami" - }, - "manageSso": { - "message": "Zarządzaj logowaniem jednokrotnym SSO" - }, - "manageUsers": { - "message": "Zarządzaj użytkownikami" - }, - "disableRequireSsoError": { - "message": "Musisz wyłączyć zasadę uwierzytelniania logowaniem jednokrotnym przed wyłączeniem tej zasady." - }, - "personalOwnershipPolicyInEffect": { - "message": "Zasada organizacji ma wpływ na opcję własności elementów." - }, - "personalOwnershipCheckboxDesc": { - "message": "Wyłącz opcję własności osobistej dla użytkowników organizacji" - }, - "textHiddenByDefault": { - "message": "Ukryj tekst podczas dostępu do wysyłki", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/pt_BR/messages.json b/locales/pt_BR/messages.json deleted file mode 100644 index cbc0c88d..00000000 --- a/locales/pt_BR/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "Cofre Web do(a) $APP_NAME$", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "Que tipo de item é este?" - }, - "name": { - "message": "Nome" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "Novo URI" - }, - "username": { - "message": "Nome de Usuário" - }, - "password": { - "message": "Senha" - }, - "newPassword": { - "message": "Nova Senha" - }, - "passphrase": { - "message": "Frase Secreta" - }, - "notes": { - "message": "Notas" - }, - "customFields": { - "message": "Campos Personalizados" - }, - "cardholderName": { - "message": "Titular do Cartão" - }, - "number": { - "message": "Número" - }, - "brand": { - "message": "Bandeira" - }, - "expiration": { - "message": "Vencimento" - }, - "securityCode": { - "message": "Código de Segurança (CVV)" - }, - "identityName": { - "message": "Nome de Identidade" - }, - "company": { - "message": "Empresa" - }, - "ssn": { - "message": "Cadastro de Pessoas Físicas (CPF)" - }, - "passportNumber": { - "message": "Número do Passaporte" - }, - "licenseNumber": { - "message": "Número da Licença" - }, - "email": { - "message": "E-mail" - }, - "phone": { - "message": "Telefone" - }, - "january": { - "message": "Janeiro" - }, - "february": { - "message": "Fevereiro" - }, - "march": { - "message": "Março" - }, - "april": { - "message": "Abril" - }, - "may": { - "message": "Maio" - }, - "june": { - "message": "Junho" - }, - "july": { - "message": "Julho" - }, - "august": { - "message": "Agosto" - }, - "september": { - "message": "Setembro" - }, - "october": { - "message": "Outubro" - }, - "november": { - "message": "Novembro" - }, - "december": { - "message": "Dezembro" - }, - "title": { - "message": "Título" - }, - "mr": { - "message": "Sr" - }, - "mrs": { - "message": "Sra" - }, - "ms": { - "message": "Sra" - }, - "dr": { - "message": "Dr" - }, - "expirationMonth": { - "message": "Mês de Vencimento" - }, - "expirationYear": { - "message": "Ano de Vencimento" - }, - "authenticatorKeyTotp": { - "message": "Chave de Autenticação (TOTP)" - }, - "folder": { - "message": "Pasta" - }, - "newCustomField": { - "message": "Novo Campo Personalizado" - }, - "value": { - "message": "Valor" - }, - "dragToSort": { - "message": "Arrastar para ordenar" - }, - "cfTypeText": { - "message": "Texto" - }, - "cfTypeHidden": { - "message": "Ocultado" - }, - "cfTypeBoolean": { - "message": "Booleano" - }, - "remove": { - "message": "Remover" - }, - "unassigned": { - "message": "Não atribuído" - }, - "noneFolder": { - "message": "Nenhuma Pasta", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Adicionar Pasta" - }, - "editFolder": { - "message": "Editar Pasta" - }, - "baseDomain": { - "message": "Domínio de base" - }, - "host": { - "message": "Servidor", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Exato" - }, - "startsWith": { - "message": "Começa com" - }, - "regEx": { - "message": "Expressão regular", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Detecção de Correspondência", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Detecção de correspondência padrão", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Nunca" - }, - "toggleVisibility": { - "message": "Alternar Visibilidade" - }, - "toggleCollapse": { - "message": "Alternar Colapso", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Gerar Senha" - }, - "checkPassword": { - "message": "Verifique se a senha foi exposta." - }, - "passwordExposed": { - "message": "Esta senha foi exposta $VALUE$ vez(es) em violações de dados. Você deve alterá-la.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "Esta senha não foi encontrada em violações de dados conhecidos. Deve ser seguro de usar." - }, - "save": { - "message": "Salvar" - }, - "cancel": { - "message": "Cancelar" - }, - "canceled": { - "message": "Cancelado" - }, - "close": { - "message": "Fechar" - }, - "delete": { - "message": "Excluir" - }, - "favorite": { - "message": "Favorito" - }, - "unfavorite": { - "message": "Desfavoritar" - }, - "edit": { - "message": "Editar" - }, - "searchCollection": { - "message": "Pesquisar Coleção" - }, - "searchFolder": { - "message": "Pesquisar Pasta" - }, - "searchFavorites": { - "message": "Pesquisar Favoritos" - }, - "searchType": { - "message": "Pesquisar Tipo", - "description": "Search item type" - }, - "searchVault": { - "message": "Pesquisar no Cofre" - }, - "allItems": { - "message": "Todos os Itens" - }, - "favorites": { - "message": "Favoritos" - }, - "types": { - "message": "Tipos" - }, - "typeLogin": { - "message": "Credencial" - }, - "typeCard": { - "message": "Cartão" - }, - "typeIdentity": { - "message": "Identidade" - }, - "typeSecureNote": { - "message": "Nota Segura" - }, - "folders": { - "message": "Pastas" - }, - "collections": { - "message": "Coleções" - }, - "firstName": { - "message": "Primeiro Nome" - }, - "middleName": { - "message": "Nome do Meio" - }, - "lastName": { - "message": "Sobrenome" - }, - "address1": { - "message": "Endereço 1" - }, - "address2": { - "message": "Endereço 2" - }, - "address3": { - "message": "Endereço 3" - }, - "cityTown": { - "message": "Cidade / Localidade" - }, - "stateProvince": { - "message": "Estado" - }, - "zipPostalCode": { - "message": "CEP / Código Postal" - }, - "country": { - "message": "País" - }, - "shared": { - "message": "Compartilhado" - }, - "attachments": { - "message": "Anexos" - }, - "select": { - "message": "Selecionar" - }, - "addItem": { - "message": "Adicionar Item" - }, - "editItem": { - "message": "Editar Item" - }, - "viewItem": { - "message": "Visualizar Item" - }, - "ex": { - "message": "ex.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Outros" - }, - "share": { - "message": "Compartilhar" - }, - "valueCopied": { - "message": "$VALUE$ copiado(a)", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Copiar Valor", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Copiar Senha", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Copiar Nome de Usuário", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Copiar Número", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Copiar Código de Segurança", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Copiar URI", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "Meu Cofre" - }, - "vault": { - "message": "Cofre" - }, - "shareSelected": { - "message": "Compartilhar Selecionados" - }, - "deleteSelected": { - "message": "Excluir Selecionados" - }, - "moveSelected": { - "message": "Mover Selecionados" - }, - "selectAll": { - "message": "Selecionar Todos" - }, - "unselectAll": { - "message": "Desmarcar Todos" - }, - "launch": { - "message": "Abrir" - }, - "newAttachment": { - "message": "Adicionar Novo Anexo" - }, - "deletedAttachment": { - "message": "Anexo excluído" - }, - "deleteAttachmentConfirmation": { - "message": "Tem certeza que deseja excluir esse anexo?" - }, - "attachmentSaved": { - "message": "O anexo foi salvo." - }, - "file": { - "message": "Arquivo" - }, - "selectFile": { - "message": "Selecione um arquivo." - }, - "maxFileSize": { - "message": "O tamanho máximo do arquivo é de 100 MB." - }, - "updateKey": { - "message": "Você não pode usar este recurso, até você atualizar sua chave de criptografia." - }, - "addedItem": { - "message": "Item adicionado" - }, - "editedItem": { - "message": "Item editado" - }, - "sharedItem": { - "message": "Item compartilhado" - }, - "sharedItems": { - "message": "Itens compartilhados" - }, - "deleteItem": { - "message": "Excluir Item" - }, - "deleteFolder": { - "message": "Excluir Pasta" - }, - "deleteAttachment": { - "message": "Excluir Anexo" - }, - "deleteItemConfirmation": { - "message": "Você tem certeza que deseja enviar este item para a lixeira?" - }, - "deletedItem": { - "message": "Item enviado para a lixeira" - }, - "deletedItems": { - "message": "Itens enviados para a lixeira" - }, - "movedItems": { - "message": "Itens movidos" - }, - "overwritePasswordConfirmation": { - "message": "Você tem certeza que deseja substituir a senha atual?" - }, - "editedFolder": { - "message": "Pasta editada" - }, - "addedFolder": { - "message": "Pasta adicionada" - }, - "deleteFolderConfirmation": { - "message": "Você tem certeza que deseja excluir esta pasta?" - }, - "deletedFolder": { - "message": "Pasta excluída" - }, - "loggedOut": { - "message": "Sessão encerrada" - }, - "loginExpired": { - "message": "A sua sessão expirou." - }, - "logOutConfirmation": { - "message": "Você tem certeza que deseja sair?" - }, - "logOut": { - "message": "Encerrar Sessão" - }, - "ok": { - "message": "Ok" - }, - "yes": { - "message": "Sim" - }, - "no": { - "message": "Não" - }, - "loginOrCreateNewAccount": { - "message": "Inicie a sessão ou crie uma nova conta para acessar seu cofre seguro." - }, - "createAccount": { - "message": "Criar Conta" - }, - "logIn": { - "message": "Iniciar Sessão" - }, - "submit": { - "message": "Enviar" - }, - "emailAddressDesc": { - "message": "Você usará o seu endereço de e-mail para a iniciar sessão." - }, - "yourName": { - "message": "Seu Nome" - }, - "yourNameDesc": { - "message": "Como devemos chamá-lo?" - }, - "masterPass": { - "message": "Senha Mestra" - }, - "masterPassDesc": { - "message": "A senha mestra é a senha que você usa para acessar o seu cofre. É muito importante que você não esqueça sua senha mestra. Não há maneira de recuperar a senha caso você se esqueça." - }, - "masterPassHintDesc": { - "message": "Uma dica de senha mestra pode ajudá-lo(a) a lembrar a senha caso você esqueça." - }, - "reTypeMasterPass": { - "message": "Digite Novamente a Senha Mestra" - }, - "masterPassHint": { - "message": "Dica da Senha Mestra (opcional)" - }, - "masterPassHintLabel": { - "message": "Dica da Senha Mestra" - }, - "settings": { - "message": "Configurações" - }, - "passwordHint": { - "message": "Dica da Senha" - }, - "enterEmailToGetHint": { - "message": "Insira o seu endereço de e-mail para receber a dica da sua senha mestra." - }, - "getMasterPasswordHint": { - "message": "Obter dica da senha mestra" - }, - "emailRequired": { - "message": "O endereço de e-mail é obrigatório." - }, - "invalidEmail": { - "message": "Endereço de e-mail inválido." - }, - "masterPassRequired": { - "message": "A senha mestra é obrigatória." - }, - "masterPassLength": { - "message": "A senha mestra deve ter pelo menos 8 caracteres." - }, - "masterPassDoesntMatch": { - "message": "A confirmação da senha mestra não corresponde." - }, - "newAccountCreated": { - "message": "A sua nova conta foi criada! Agora você pode iniciar a sessão." - }, - "masterPassSent": { - "message": "Enviamos um e-mail com a dica da sua senha mestra." - }, - "unexpectedError": { - "message": "Ocorreu um erro inesperado." - }, - "emailAddress": { - "message": "Endereço de E-mail" - }, - "yourVaultIsLocked": { - "message": "O seu cofre está bloqueado. Verifique a sua senha mestra para continuar." - }, - "unlock": { - "message": "Desbloquear" - }, - "loggedInAsEmailOn": { - "message": "Entrou como $EMAIL$ em $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Senha mestra inválida" - }, - "lockNow": { - "message": "Bloquear Agora" - }, - "noItemsInList": { - "message": "Não há itens para listar." - }, - "noCollectionsInList": { - "message": "Não há coleções para listar." - }, - "noGroupsInList": { - "message": "Não há grupos para listar." - }, - "noUsersInList": { - "message": "Não há usuários para listar." - }, - "noEventsInList": { - "message": "Não há eventos para listar." - }, - "newOrganization": { - "message": "Nova Organização" - }, - "noOrganizationsList": { - "message": "Você não pertence a nenhuma organização. Organizações permitem-lhe compartilhar itens em segurança com outros usuários." - }, - "versionNumber": { - "message": "Versão $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Insira o código de verificação de 6 dígitos do seu aplicativo de autenticação." - }, - "enterVerificationCodeEmail": { - "message": "Insira o código de verificação de 6 dígitos que foi enviado por e-mail para $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "E-mail de verificação enviado para $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Lembrar de mim" - }, - "sendVerificationCodeEmailAgain": { - "message": "Enviar código de verificação para o e-mail novamente" - }, - "useAnotherTwoStepMethod": { - "message": "Utilizar outro método de verificação em duas etapas" - }, - "insertYubiKey": { - "message": "Insira a sua YubiKey na porta USB do seu computador, e depois toque no botão da mesma." - }, - "insertU2f": { - "message": "Insira a sua chave de segurança na porta USB do seu computador. Se ele tiver um botão, toque nele." - }, - "loginUnavailable": { - "message": "Sessão Indisponível" - }, - "noTwoStepProviders": { - "message": "Esta conta tem a autenticação em duas etapas ativada. No entanto, nenhum dos provedores de autenticação em duas etapas configurados são suportados por este navegador web." - }, - "noTwoStepProviders2": { - "message": "Por favor utilize um navegador web suportado (tal como o Chrome) e/ou inclua provedores adicionais que são melhor suportados entre navegadores web (tal como um aplicativo de autenticação)." - }, - "twoStepOptions": { - "message": "Opções de Login em Duas Etapas" - }, - "recoveryCodeDesc": { - "message": "Perdeu o acesso a todos os seus provedores de duas etapas? Utilize o seu código de recuperação para desativar todos os provedores de duas etapas da sua conta." - }, - "recoveryCodeTitle": { - "message": "Código de Recuperação" - }, - "authenticatorAppTitle": { - "message": "Aplicativo de Autenticação" - }, - "authenticatorAppDesc": { - "message": "Utilize um aplicativo de autenticação (tal como Authy ou Google Authenticator) para gerar códigos de verificação baseados no tempo.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "Chave de Segurança YubiKey OTP" - }, - "yubiKeyDesc": { - "message": "Utilize uma YubiKey para acessar a sua conta. Funciona com YubiKey 4, 4 Nano, 4C, e dispositivos NEO." - }, - "duoDesc": { - "message": "Verifique com o Duo Security utilizando o aplicativo Duo Mobile, SMS, chamada telefônica, ou chave de segurança U2F.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Verifique com o Duo Security utilizando o aplicativo Duo Mobile, SMS, chamada telefônica, ou chave de segurança U2F.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Utilize qualquer chave de segurança ativada por FIDO U2F para acessar a sua conta." - }, - "u2fTitle": { - "message": "Chave de Segurança FIDO U2F" - }, - "emailTitle": { - "message": "E-mail" - }, - "emailDesc": { - "message": "Os códigos de verificação vão ser enviados por e-mail para você." - }, - "continue": { - "message": "Continuar" - }, - "organization": { - "message": "Organização" - }, - "organizations": { - "message": "Organizações" - }, - "shareDesc": { - "message": "Escolha uma organização com a qual você deseja compartilhar este item. O compartilhamento transfere a propriedade do item para a organização. Você não será mais o proprietário direto deste item depois que ele for compartilhado." - }, - "shareManyDesc": { - "message": "Escolha uma organização com a qual você deseja compartilhar estes itens. O compartilhamento transfere a propriedade dos itens para a organização. Você não será mais o proprietário direto destes itens depois de serem compartilhados." - }, - "collectionsDesc": { - "message": "Edite as coleções com as quais este item está sendo compartilhado. Somente usuários da organização com acesso a estas coleções poderão ver esse item." - }, - "deleteSelectedItemsDesc": { - "message": "Você selecionou $COUNT$ item(ns) para excluir. Tem certeza que deseja excluir todos estes itens?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Escolha uma pasta para a qual você deseja mover os $COUNT$ itens selecionados.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "Você selecionou $COUNT$ item(ns). $SHAREABLE_COUNT$ itens são compartilháveis, $NONSHAREABLE_COUNT$ não são.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Código de verificação (TOTP)" - }, - "copyVerificationCode": { - "message": "Copiar código de verificação" - }, - "warning": { - "message": "Aviso" - }, - "confirmVaultExport": { - "message": "Confirmar Exportação de Cofre" - }, - "exportWarningDesc": { - "message": "Esta exportação contém os dados do seu cofre em um formato não criptografado. Você não deve armazenar ou enviar o arquivo exportado por canais inseguros (como e-mail). Exclua o arquivo imediatamente após terminar de usá-lo." - }, - "encExportWarningDesc": { - "message": "Esta exportação criptografa seus dados usando a chave de criptografia da sua conta. Se você rotacionar a chave de criptografia da sua conta, você deve exportar novamente, já que você não será capaz de descriptografar este arquivo de exportação." - }, - "exportMasterPassword": { - "message": "Insira a sua senha mestra para exportar os dados do seu cofre." - }, - "exportVault": { - "message": "Exportar cofre" - }, - "fileFormat": { - "message": "Formato do arquivo" - }, - "exportSuccess": { - "message": "Os dados do seu cofre foram exportados." - }, - "passwordGenerator": { - "message": "Gerador de senha" - }, - "minComplexityScore": { - "message": "Pontuação Mínima de Complexidade" - }, - "minNumbers": { - "message": "Mínimo de Números" - }, - "minSpecial": { - "message": "Mínimo Especial", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Evitar caracteres ambíguos" - }, - "regeneratePassword": { - "message": "Gerar nova senha" - }, - "length": { - "message": "Comprimento" - }, - "numWords": { - "message": "Número de palavras" - }, - "wordSeparator": { - "message": "Separador de palavra" - }, - "capitalize": { - "message": "Iniciais em Maiúsculas", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Incluir Número" - }, - "passwordHistory": { - "message": "Histórico de senha" - }, - "noPasswordsInList": { - "message": "Não existem senhas para listar." - }, - "clear": { - "message": "Limpar", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Conta atualizada" - }, - "changeEmail": { - "message": "Alterar e-mail" - }, - "newEmail": { - "message": "Novo e-mail" - }, - "code": { - "message": "Código" - }, - "changeEmailDesc": { - "message": "Enviamos um código de verificação por e-mail para $EMAIL$. Por favor, procure no seu e-mail por este código e insira-o abaixo para finalizar sua alteração de endereço de e-mail.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "O processo desconectará você da sessão atual, exigindo que você inicie a sessão novamente. As sessões ativas em outros dispositivos podem continuar ativas por até uma hora." - }, - "emailChanged": { - "message": "E-mail alterado" - }, - "logBackIn": { - "message": "Por favor, reinicie a sessão." - }, - "logBackInOthersToo": { - "message": "Por favor, reinicie a sessão. Se estiver usando outros aplicativos do Bitwarden, encerre a sessão e reinicie também." - }, - "changeMasterPassword": { - "message": "Alterar senha mestra" - }, - "masterPasswordChanged": { - "message": "Senha Mestra Alterada" - }, - "currentMasterPass": { - "message": "Senha Mestra Atual" - }, - "newMasterPass": { - "message": "Nova Senha Mestra" - }, - "confirmNewMasterPass": { - "message": "Confirme a Nova Senha Mestra" - }, - "encKeySettings": { - "message": "Configurações da Chave de Criptografia" - }, - "kdfAlgorithm": { - "message": "Algoritmo KDF" - }, - "kdfIterations": { - "message": "Iterações KDF" - }, - "kdfIterationsDesc": { - "message": "As iterações KDF mais altas podem ajudar a proteger a sua senha mestra de ser descoberta pela força bruta de um invasor. Recomendamos um valor de $VALUE$ ou mais.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Configurar as suas iterações KDF muito alta pode resultar em baixo desempenho ao iniciar sessão (e desbloquear) no Bitwarden em dispositivos com CPUs mais lentas. Recomendamos que você aumente o valor em incrementos de $INCREMENT$ e, em seguida, teste em todos os seus dispositivos.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Alterar KDF" - }, - "encKeySettingsChanged": { - "message": "As Configurações da Chave de Criptografia foram Alteradas" - }, - "dangerZone": { - "message": "Zona de Perigo" - }, - "dangerZoneDesc": { - "message": "Cuidado, essas ações não são reversíveis!" - }, - "deauthorizeSessions": { - "message": "Desautorizar Sessões" - }, - "deauthorizeSessionsDesc": { - "message": "Preocupado por ter iniciado a sessão em outro dispositivo? Prossiga abaixo para desautorizar todos os computadores e dispositivos que tenha usado. Esta medida de segurança é recomendada se usou um computador público ou guardou acidentalmente a sua senha num dispositivo que não lhe pertence. Esta ação também apagará todas as sessões anteriores registadas iniciadas com autenticação em duas etapas." - }, - "deauthorizeSessionsWarning": { - "message": "O processo também desconectará você da sua sessão atual, exigindo que você inicie a sessão novamente. Você também será solicitado a efetuar login em duas etapas novamente, se estiver ativado. Sessões ativas em outros dispositivos podem continuar ativas por até uma hora." - }, - "sessionsDeauthorized": { - "message": "Todas as sessões desautorizadas" - }, - "purgeVault": { - "message": "Limpar o cofre" - }, - "purgedOrganizationVault": { - "message": "Cofre da organização limpado." - }, - "purgeVaultDesc": { - "message": "Continue abaixo para excluir todos os itens e pastas do seu cofre. Itens que pertencem a uma organização com a qual você compartilha não serão excluídos." - }, - "purgeOrgVaultDesc": { - "message": "Continue abaixo para excluir todos os itens no cofre da organização." - }, - "purgeVaultWarning": { - "message": "Limpando o seu cofre permanentemente. Não pode ser desfeito." - }, - "vaultPurged": { - "message": "O seu cofre foi limpo." - }, - "deleteAccount": { - "message": "Excluir a conta" - }, - "deleteAccountDesc": { - "message": "Prossiga abaixo para excluir a sua conta e todos os dados associados." - }, - "deleteAccountWarning": { - "message": "A exclusão de sua conta é permanente. Não pode ser desfeito." - }, - "accountDeleted": { - "message": "Conta excluída" - }, - "accountDeletedDesc": { - "message": "A sua conta foi fechada e todos os dados associados foram excluídos." - }, - "myAccount": { - "message": "Minha conta" - }, - "tools": { - "message": "Ferramentas" - }, - "importData": { - "message": "Importar dados" - }, - "importSuccess": { - "message": "Os dados foram importados com sucesso para o seu cofre." - }, - "importFormatError": { - "message": "Os dados não estão formatados corretamente. Por favor, verifique o seu arquivo de importação e tente novamente." - }, - "importNothingError": { - "message": "Nada foi importado." - }, - "selectFormat": { - "message": "Selecione o formato do arquivo de importação" - }, - "selectImportFile": { - "message": "Selecione o arquivo de importação" - }, - "orCopyPasteFileContents": { - "message": "ou copie/cole o conteúdo do arquivo de importação" - }, - "instructionsFor": { - "message": "$NAME$ instruções", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Opções" - }, - "optionsDesc": { - "message": "Personalize sua experiência no cofre web." - }, - "optionsUpdated": { - "message": "Opções atualizadas" - }, - "language": { - "message": "Idioma" - }, - "languageDesc": { - "message": "Altere o idioma usado pelo cofre web." - }, - "disableIcons": { - "message": "Desabilitar ícones dos sites" - }, - "disableIconsDesc": { - "message": "O ícone do site fornece um ícone reconhecível ao lado de cada credencial no seu cofre." - }, - "enableGravatars": { - "message": "Habilitar Gravatar", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Use imagens de avatar carregadas do gravatar.com." - }, - "enableFullWidth": { - "message": "Habilitar Esquema de Largura Total", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Permitir que o cofre web expanda a largura total da janela do navegador." - }, - "default": { - "message": "Padrão" - }, - "domainRules": { - "message": "Regras de domínio" - }, - "domainRulesDesc": { - "message": "Se você tiver a mesma credencial em vários domínios de sites diferentes, poderá marcar o site como \"equivalente\". Domínios \"globais\" são aqueles já criados para você pelo Bitwarden." - }, - "globalEqDomains": { - "message": "Domínios equivalentes globais" - }, - "customEqDomains": { - "message": "Domínios equivalentes personalizados" - }, - "exclude": { - "message": "Excluir" - }, - "include": { - "message": "Incluir" - }, - "customize": { - "message": "Personalizar" - }, - "newCustomDomain": { - "message": "Novo domínio personalizado" - }, - "newCustomDomainDesc": { - "message": "Digite uma lista de domínios separados por vírgulas. Apenas domínios \"base\" são permitidos. Não insira subdomínios. Por exemplo, digite \"google.com.br\" em vez de \"www.google.com.br\". Você também pode digitar \"androidapp://package.name\" para associar um aplicativo Android a outros domínios de site." - }, - "customDomainX": { - "message": "Domínio Personalizado $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Domínios atualizados" - }, - "twoStepLogin": { - "message": "Login em Duas Etapas" - }, - "twoStepLoginDesc": { - "message": "Proteja a sua conta exigindo uma etapa adicional ao iniciar sessão." - }, - "twoStepLoginOrganizationDesc": { - "message": "Exigir login em duas etapas para os usuários da organização, configurando provedores no nível da organização." - }, - "twoStepLoginRecoveryWarning": { - "message": "Ativar o login em duas etapas pode bloquear você permanentemente da sua conta no Bitwarden. Um código de recuperação permite que você acesse sua conta no caso de não poder mais usar seu provedor de login em duas etapas normalmente (por exemplo, você perde seu dispositivo). O suporte do Bitwarden não poderá ajudá-lo se você perder o acesso à sua conta. Recomendamos que você anote ou imprima o código de recuperação e mantenha-o em um local seguro." - }, - "viewRecoveryCode": { - "message": "Ver Código de Recuperação" - }, - "providers": { - "message": "Provedores", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Habilitar" - }, - "enabled": { - "message": "Habilitado" - }, - "premium": { - "message": "Premium", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Assinatura Premium" - }, - "premiumRequired": { - "message": "Requer Assinatura Premium" - }, - "premiumRequiredDesc": { - "message": "Uma conta premium é necessária para usar esse recurso." - }, - "youHavePremiumAccess": { - "message": "Você tem acesso premium" - }, - "alreadyPremiumFromOrg": { - "message": "Você já tem acesso às funcionalidades premium por causa de uma organização da qual é um membro." - }, - "manage": { - "message": "Gerenciar" - }, - "disable": { - "message": "Desabilitar" - }, - "twoStepLoginProviderEnabled": { - "message": "Este provedor de login em duas etapas está ativado em sua conta." - }, - "twoStepLoginAuthDesc": { - "message": "Insira a sua senha mestra para modificar as configurações de login em duas etapas." - }, - "twoStepAuthenticatorDesc": { - "message": "Siga estas etapas para configurar o login em duas etapas com um aplicativo autenticador:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Baixar um app autenticador de duas etapas" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Precisa de um aplicativo autenticador de duas etapas? Baixe um dos seguintes" - }, - "iosDevices": { - "message": "Dispositivos iOS" - }, - "androidDevices": { - "message": "Dispositivos Android" - }, - "windowsDevices": { - "message": "Dispositivos Windows" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "Esses aplicativos são os recomendados, no entanto, outros aplicativos de autenticação também irão funcionar." - }, - "twoStepAuthenticatorScanCode": { - "message": "Escaneie este código QR com o seu aplicativo de duas etapas" - }, - "key": { - "message": "Chave" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Insira o código de verificação de 6 dígitos resultante do aplicativo" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "Caso você precise adicioná-lo a outro dispositivo, abaixo está o código QR (ou chave) exigido pelo aplicativo autenticador." - }, - "twoStepDisableDesc": { - "message": "Tem certeza que deseja desativar este provedor de login em duas etapas?" - }, - "twoStepDisabled": { - "message": "Provedor de login em duas etapas desativado." - }, - "twoFactorYubikeyAdd": { - "message": "Adicionar um novo Yubikey à sua conta" - }, - "twoFactorYubikeyPlugIn": { - "message": "Conecte o YubiKey na porta USB do seu computador." - }, - "twoFactorYubikeySelectKey": { - "message": "Selecione o YubiKey no primeiro campo vazio abaixo." - }, - "twoFactorYubikeyTouchButton": { - "message": "Toque o botão do Yubikey." - }, - "twoFactorYubikeySaveForm": { - "message": "Salve o formulário." - }, - "twoFactorYubikeyWarning": { - "message": "Devido as limitações da plataforma, YubiKeys não podem ser usados em todos os aplicativos do Bitwarden. Você deve habilitar outro provedor de login em duas etapas, para que você possa acessar a sua conta quando YubiKeys não puderem ser usados. Plataformas suportadas:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Cofre Web, aplicativo de desktop, CLI e todas as extensões do navegador em um dispositivo com uma porta USB que pode aceitar o seu YubiKey." - }, - "twoFactorYubikeySupportMobile": { - "message": "Aplicativos móveis em um dispositivo com capacidades de NFC ou uma porta USB que pode aceitar o seu YubiKey." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "Chave U2F $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "Suporte a NFC" - }, - "twoFactorYubikeySupportsNfc": { - "message": "Uma das minhas chaves suporta NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "Se um dos seus YubiKeys oferece suporte a NFC (como um NEO YubiKey), você será solicitado em dispositivos móveis sempre que for detectada disponibilidade de NFC." - }, - "yubikeysUpdated": { - "message": "YubiKeys atualizado" - }, - "disableAllKeys": { - "message": "Desabilitar Todas as Chaves" - }, - "twoFactorDuoDesc": { - "message": "Insira as informações do aplicativo Bitwarden no painel do administrador do Duo." - }, - "twoFactorDuoIntegrationKey": { - "message": "Chave de Integração" - }, - "twoFactorDuoSecretKey": { - "message": "Chave Secreta" - }, - "twoFactorDuoApiHostname": { - "message": "Servidor API" - }, - "twoFactorEmailDesc": { - "message": "Siga estas etapas para configurar o login em duas etapas com e-mail:" - }, - "twoFactorEmailEnterEmail": { - "message": "Insira o e-mail que você deseja receber o códigos de verificação" - }, - "twoFactorEmailEnterCode": { - "message": "Insira o código de verificação de 6 dígitos que foi enviado pro seu e-mail" - }, - "sendEmail": { - "message": "Enviar E-mail" - }, - "twoFactorU2fAdd": { - "message": "Adicione uma chave de segurança FIDO U2F à sua conta" - }, - "removeU2fConfirmation": { - "message": "Tem certeza que deseja remover esta chave de segurança?" - }, - "readKey": { - "message": "Chave de Leitura" - }, - "keyCompromised": { - "message": "A chave está comprometida." - }, - "twoFactorU2fGiveName": { - "message": "Dê à chave de segurança um nome amigável para identificá-la." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Conecte a chave de segurança na porta USB do seu computador e clique no botão \"Ler Chave\"." - }, - "twoFactorU2fTouchButton": { - "message": "Se a chave de segurança tiver um botão, toque nele." - }, - "twoFactorU2fSaveForm": { - "message": "Salvar o formulário." - }, - "twoFactorU2fWarning": { - "message": "Devido as limitações da plataforma, o FIDO U2F não pode ser usado em todas os aplicativos do Bitwarden. Você deve habilitar outro provedor de login em duas etapas para poder acessar sua conta quando o FIDO U2F não puder ser usado. Plataformas Suportadas:" - }, - "twoFactorU2fSupportWeb": { - "message": "Cofre web e extensões de navegador em um desktop/laptop com um navegador habilitado para U2F (Chrome, Opera, Vivaldi ou Firefox com o FIDO U2F ativado)." - }, - "twoFactorU2fWaiting": { - "message": "Esperando que você toque no botão da sua chave de segurança" - }, - "twoFactorU2fClickSave": { - "message": "Clique no botão \"Salvar\" abaixo para ativar essa chave de segurança para o login em duas etapas." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "Houve um problema ao ler a chave de segurança. Tente novamente." - }, - "twoFactorRecoveryYourCode": { - "message": "Seu código de recuperação de login em duas etapas do Bitwarden" - }, - "twoFactorRecoveryNoCode": { - "message": "Você ainda não habilitou nenhum provedor de login em duas etapas. Depois de ativar um provedor de login em duas etapas, você pode conferir aqui o seu código de recuperação." - }, - "printCode": { - "message": "Imprimir Código", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Relatórios" - }, - "unsecuredWebsitesReport": { - "message": "Relatório de Sites Inseguros" - }, - "unsecuredWebsitesReportDesc": { - "message": "Usar sites inseguros com o esquema http:// pode ser perigoso. Se o site permitir, você deve sempre acessá-lo utilizando o esquema https:// para que a sua conexão seja criptografada." - }, - "unsecuredWebsitesFound": { - "message": "Sites Inseguros Encontrados" - }, - "unsecuredWebsitesFoundDesc": { - "message": "Nós encontramos $COUNT$ item(ns) no seu cofre com URIs não protegido(s). Você deve alterar o esquema de URI para https:// se o site permitir.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "Nenhum item no seu cofre tem URIs inseguros." - }, - "inactive2faReport": { - "message": "Relatório de 2FA Inativo" - }, - "inactive2faReportDesc": { - "message": "A autenticação de duas etapas (2FA) é uma configuração de segurança importante que ajuda a proteger suas contas. Se o site oferecer, você deve sempre ativar a autenticação de duas etapas." - }, - "inactive2faFound": { - "message": "Credenciais Sem 2FA Encontradas" - }, - "inactive2faFoundDesc": { - "message": "Nós encontramos $COUNT$ site(s) no seu cofre que pode não estar configurado com autenticação de duas etapas (de acordo com 2fa.directory). Para proteger ainda mais essas contas, você deve habilitar a autenticação de duas etapas.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "Nenhum site foi encontrado em seu cofre com a configuração de autenticação de duas etapas ausente." - }, - "instructions": { - "message": "Instruções" - }, - "exposedPasswordsReport": { - "message": "Relatório de Senhas Expostas" - }, - "exposedPasswordsReportDesc": { - "message": "Senhas expostas são senhas que foram descobertas em violações de dados conhecidas que foram divulgadas publicamente ou vendidas na \"dark web\" por hackers." - }, - "exposedPasswordsFound": { - "message": "Senhas Expostas Encontradas" - }, - "exposedPasswordsFoundDesc": { - "message": "Encontramos no seu cofre $COUNT$ item(ns) com senha(s) que foi(ram) exposta(s) em violações de dado conhecida. Você deve alterá-las para usar uma nova senha.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "Nenhum item no seu cofre tem senhas que foram expostas em violações de dados conhecidas." - }, - "checkExposedPasswords": { - "message": "Verificar Senhas Expostas" - }, - "exposedXTimes": { - "message": "Exposta $COUNT$ vez(es)", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Relatório de Senhas Fracas" - }, - "weakPasswordsReportDesc": { - "message": "Senhas fracas podem ser facilmente descobertas por hackers e ferramentas automatizadas que são usadas para quebrar senhas. O gerador de senhas do Bitwarden pode ajudá-lo a criar senhas fortes." - }, - "weakPasswordsFound": { - "message": "Senhas Fracas Encontrada" - }, - "weakPasswordsFoundDesc": { - "message": "Encontramos $COUNT$ item(ns) no seu cofre com senha(s) que não é/são fortes. Você deve atualizá-las para usar senhas mais fortes.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "Nenhum item no seu cofre tem senhas fracas." - }, - "reusedPasswordsReport": { - "message": "Relatório de Senhas Reutilizadas" - }, - "reusedPasswordsReportDesc": { - "message": "Se um serviço que você usa for comprometido, a reutilização da mesma senha em outro local pode permitir que hackers acessem facilmente mais de suas contas online. Você deve usar uma senha exclusiva para cada conta ou serviço." - }, - "reusedPasswordsFound": { - "message": "Senhas Reutilizadas Encontradas" - }, - "reusedPasswordsFoundDesc": { - "message": "Nós encontramos $COUNT$ senha(s) que esta(ão) sendo reutilizadas no seu cofre. Você deve alterá-los para um valor único.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "Nenhuma credencial no seu cofre tem senhas que estão sendo reutilizadas." - }, - "reusedXTimes": { - "message": "Reutilizada $COUNT$ vez(es)", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Relatório de Violação de Dados" - }, - "breachDesc": { - "message": "Uma \"violação\" é um incidente em que os dados de um site foram acessados ilegalmente por hackers e liberados publicamente. Revise os tipos de dados que foram comprometidos (endereços de e-mail, senhas, cartões de crédito etc.) e tome as medidas adequadas, como a alteração de senhas." - }, - "breachCheckUsernameEmail": { - "message": "Verifique qualquer nome de usuário ou endereço de e-mail que você usa." - }, - "checkBreaches": { - "message": "Verificar Brechas" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ não foi encontrado em nenhuma violação de dados conhecida.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Boas Notícias", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ foi encontrado em $COUNT$ violações de dados diferentes on-line.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Contas com Brechas Encontradas" - }, - "compromisedData": { - "message": "Dados comprometidos" - }, - "website": { - "message": "Site" - }, - "affectedUsers": { - "message": "Usuários Afetados" - }, - "breachOccurred": { - "message": "Ocorreu uma Brecha" - }, - "breachReported": { - "message": "Brecha Reportada" - }, - "reportError": { - "message": "Ocorreu um erro ao tentar carregar o relatório. Tente novamente" - }, - "billing": { - "message": "Cobrança" - }, - "accountCredit": { - "message": "Crédito da Conta", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Saldo da Conta", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Adicionar Crédito", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Montante", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "O crédito adicionado aparecerá em sua conta após o pagamento ser totalmente processado. Alguns métodos de pagamento são mais lentos e podem levar mais tempo para processar do que outros." - }, - "makeSureEnoughCredit": { - "message": "Por favor, certifique-se de que sua conta tenha crédito suficiente para esta compra. Se sua conta não tiver crédito suficiente disponível, seu método de pagamento padrão será usado para completar a diferença. Você pode adicionar crédito à sua conta na página de Cobrança." - }, - "creditAppliedDesc": { - "message": "O crédito da sua conta pode ser usado para efetuar compras. Qualquer crédito disponível será automaticamente usado em faturas geradas nesta conta." - }, - "goPremium": { - "message": "Torne-se Premium", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "Você atualizou para premium." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Atualize a sua conta para uma conta premium e desbloqueie ótimos recursos adicionais." - }, - "premiumSignUpStorage": { - "message": "1 GB de armazenamento de arquivos encriptados." - }, - "premiumSignUpTwoStep": { - "message": "Opções adicionais de login em duas etapas, como YubiKey, FIDO U2F e Duo." - }, - "premiumSignUpReports": { - "message": "Higiene de senha, saúde da conta, e relatórios sobre violação de dados para manter o seu cofre seguro." - }, - "premiumSignUpTotp": { - "message": "Gerador de código de verificação TOTP (2FA) para logins no seu cofre." - }, - "premiumSignUpSupport": { - "message": "Prioridade no suporte ao cliente." - }, - "premiumSignUpFuture": { - "message": "Todos os recursos premium no futuro. Mais em breve!" - }, - "premiumPrice": { - "message": "Tudo por apenas $PRICE$ /ano!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Complementos" - }, - "premiumAccess": { - "message": "Acesso Premium" - }, - "premiumAccessDesc": { - "message": "Você pode adicionar acesso premium a todos os membros da sua organização por $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Armazenamento Adicional (GB)" - }, - "additionalStorageGbDesc": { - "message": "# de GB adicional" - }, - "additionalStorageIntervalDesc": { - "message": "Seu plano tem $SIZE$ de armazenamento criptografado de arquivos. Você pode adicionar armazenamento adicional por $PRICE$ por GB /$INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Resumo" - }, - "total": { - "message": "Total" - }, - "year": { - "message": "ano" - }, - "month": { - "message": "mês" - }, - "monthAbbr": { - "message": "mês.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "O seu método de pagamento será cobrado imediatamente e de forma recorrente a cada ano. Você pode cancelar a qualquer momento." - }, - "paymentCharged": { - "message": "Seu método de pagamento será cobrado imediatamente e, em seguida, de forma recorrente, a cada $INTERVAL$. Você pode cancelar a qualquer momento.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Seu plano vem com um teste gratuito de 7 dias. Seu cartão não será cobrado até que o período de teste termine e de forma recorrente a cada $INTERVAL$. Você pode cancelar a qualquer momento.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Informação de Pagamento" - }, - "billingInformation": { - "message": "Informações de Pagamento" - }, - "creditCard": { - "message": "Cartão de Crédito" - }, - "paypalClickSubmit": { - "message": "Clique no botão PayPal para entrar na sua conta do PayPal e, em seguida, clique no botão Enviar abaixo para continuar." - }, - "cancelSubscription": { - "message": "Cancelar Assinatura" - }, - "subscriptionCanceled": { - "message": "A assinatura foi cancelada." - }, - "pendingCancellation": { - "message": "Cancelamento Pendente" - }, - "subscriptionPendingCanceled": { - "message": "A assinatura foi marcada para ser cancelada no final do período de faturamento atual." - }, - "reinstateSubscription": { - "message": "Restabelecer Assinatura" - }, - "reinstateConfirmation": { - "message": "Você tem certeza que deseja remover a solicitação de cancelamento pendente e restabelecer sua assinatura?" - }, - "reinstated": { - "message": "A assinatura foi restabelecida." - }, - "cancelConfirmation": { - "message": "Você tem certeza que deseja cancelar? Você perderá o acesso a todos os recursos dessa assinatura no final deste ciclo de faturamento." - }, - "canceledSubscription": { - "message": "A assinatura foi cancelada." - }, - "neverExpires": { - "message": "Nunca Expirar" - }, - "status": { - "message": "Estado" - }, - "nextCharge": { - "message": "Próxima Cobrança" - }, - "details": { - "message": "Detalhes" - }, - "downloadLicense": { - "message": "Baixar Licença" - }, - "updateLicense": { - "message": "Atualizar Licença" - }, - "updatedLicense": { - "message": "Licença atualizada" - }, - "manageSubscription": { - "message": "Gerenciar Assinatura" - }, - "storage": { - "message": "Armazenamento" - }, - "addStorage": { - "message": "Adicionar Armazenamento" - }, - "removeStorage": { - "message": "Remover Armazenamento" - }, - "subscriptionStorage": { - "message": "A sua assinatura tem um total de $MAX_STORAGE$ GB de armazenamento de arquivos criptografados. Você está usando $USED_STORAGE$ no momento.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Forma de Pagamento" - }, - "noPaymentMethod": { - "message": "Nenhum método de pagamento selecionado." - }, - "addPaymentMethod": { - "message": "Adicionar Forma de Pagamento" - }, - "changePaymentMethod": { - "message": "Alterar Forma de Pagamento" - }, - "invoices": { - "message": "Faturas" - }, - "noInvoices": { - "message": "Sem faturas." - }, - "paid": { - "message": "Pago", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Por pagar", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Transações", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "Sem transações." - }, - "chargeNoun": { - "message": "Carregar", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Reembolso", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Quaisquer cobranças aparecerão no seu extrato como $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "GB de Armazenamento Para Adicionar" - }, - "gbStorageRemove": { - "message": "GB de Armazenamento Para Remover" - }, - "storageAddNote": { - "message": "A adição de armazenamento resultará em ajustes no valor total da fatura e será cobrado imediatamente pela forma de pagamento registrada. A primeira cobrança será rateada pelo restante do ciclo de faturamento atual." - }, - "storageRemoveNote": { - "message": "A remoção do armazenamento resultará em ajustes no valor total da fatura que serão divididos em sua próxima cobrança de faturamento." - }, - "adjustedStorage": { - "message": "Ajustado $AMOUNT$ GB de armazenamento.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Contato com o Suporte ao Cliente" - }, - "updatedPaymentMethod": { - "message": "Atualizar forma de pagamento." - }, - "purchasePremium": { - "message": "Comprar Premium" - }, - "licenseFile": { - "message": "Arquivo de Licença" - }, - "licenseFileDesc": { - "message": "Seu arquivo de licença terá o nome de algo como $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "Para atualizar sua conta para uma assinatura premium, você precisa fazer o upload de um arquivo de licença válido." - }, - "uploadLicenseFileOrg": { - "message": "Para criar uma organização hospedada localmente, você precisa fazer o upload de um arquivo de licença válido." - }, - "accountEmailMustBeVerified": { - "message": "O endereço de e-mail da sua conta deve ser verificado." - }, - "newOrganizationDesc": { - "message": "As organizações permitem que você compartilhe partes do seu cofre com outras pessoas, além de gerenciar usuários relacionados para uma entidade específica, como uma família, uma equipe pequena ou uma empresa grande." - }, - "generalInformation": { - "message": "Informação Geral" - }, - "organizationName": { - "message": "Nome da Organização" - }, - "accountOwnedBusiness": { - "message": "Esta conta pertence a uma empresa." - }, - "billingEmail": { - "message": "E-mail de Cobrança" - }, - "businessName": { - "message": "Nome da Empresa" - }, - "chooseYourPlan": { - "message": "Escolha Seu Plano" - }, - "users": { - "message": "Usuários" - }, - "userSeats": { - "message": "Assentos de Usuário" - }, - "additionalUserSeats": { - "message": "Assentos de Usuário Adicionais" - }, - "userSeatsDesc": { - "message": "# de assentos de usuário" - }, - "userSeatsAdditionalDesc": { - "message": "O seu plano vem com assentos de usuário de $BASE_SEATS$. Você pode adicionar mais usuários por $SEAT_PRICE$ por usuário /mês.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "Quanto mais assentos de usuário você precisa? Você também pode adicionar mais assentos depois, se necessário." - }, - "planNameFree": { - "message": "Grátis", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "Para usuários de testes ou pessoais para compartilhar com $COUNT$ outro usuário.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Famílias" - }, - "planDescFamilies": { - "message": "Para uso pessoal, para compartilhar com a família & amigos." - }, - "planNameTeams": { - "message": "Equipes" - }, - "planDescTeams": { - "message": "Para empresas e outras organizações de equipe." - }, - "planNameEnterprise": { - "message": "Empresarial" - }, - "planDescEnterprise": { - "message": "Para empresas e outras organizações de grande porte." - }, - "freeForever": { - "message": "Grátis para Sempre" - }, - "includesXUsers": { - "message": "inclui $COUNT$ usuários", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Usuários Adicionais" - }, - "costPerUser": { - "message": "$COST$ por usuário", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Limitado a $COUNT$ usuários (incluindo você)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Limitado a $COUNT$ coleções", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Adicione e compartilhe com até $COUNT$ usuários", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Adicione e compartilhe com usuários ilimitados" - }, - "createUnlimitedCollections": { - "message": "Crie Coleções ilimitadas" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ de armazenamento encriptado", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "Hospedagem Local (opcional)" - }, - "usersGetPremium": { - "message": "Usuários obtém acesso a Funcionalidades Premium" - }, - "controlAccessWithGroups": { - "message": "Controle o acesso do usuário com Grupos" - }, - "syncUsersFromDirectory": { - "message": "Sincronize seus usuários e Grupos de um diretório" - }, - "trackAuditLogs": { - "message": "Acompanhe as ações do usuário com os registros de auditoria" - }, - "enforce2faDuo": { - "message": "Reforçar o 2FA com o Duo" - }, - "priorityCustomerSupport": { - "message": "Suporte prioritário ao cliente" - }, - "xDayFreeTrial": { - "message": "Avaliação gratuita de $COUNT$ dia(s), cancele a qualquer momento", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Mensal" - }, - "annually": { - "message": "Anual" - }, - "basePrice": { - "message": "Preço Base" - }, - "organizationCreated": { - "message": "Organização Criada" - }, - "organizationReadyToGo": { - "message": "A sua nova organização está pronta!" - }, - "organizationUpgraded": { - "message": "Sua organização foi atualizada." - }, - "leave": { - "message": "Sair" - }, - "leaveOrganizationConfirmation": { - "message": "Você tem certeza que deseja sair desta organização?" - }, - "leftOrganization": { - "message": "Você saiu da organização." - }, - "defaultCollection": { - "message": "Coleção Padrão" - }, - "getHelp": { - "message": "Obter Ajuda" - }, - "getApps": { - "message": "Obtenha os Aplicativos" - }, - "loggedInAs": { - "message": "Sessão iniciada como" - }, - "eventLogs": { - "message": "Registro de Eventos" - }, - "people": { - "message": "Pessoas" - }, - "policies": { - "message": "Políticas" - }, - "editPolicy": { - "message": "Editar Política" - }, - "groups": { - "message": "Grupos" - }, - "newGroup": { - "message": "Novo Grupo" - }, - "addGroup": { - "message": "Adicionar Grupo" - }, - "editGroup": { - "message": "Editar Grupo" - }, - "deleteGroupConfirmation": { - "message": "Você tem certeza que deseja excluir este grupo?" - }, - "removeUserConfirmation": { - "message": "Você tem certeza que deseja remover este(a) usuário(a)?" - }, - "externalId": { - "message": "ID externa" - }, - "externalIdDesc": { - "message": "O ID externo pode ser usado como referência ou vincular esse recurso a um sistema externo, como um diretório de usuários." - }, - "accessControl": { - "message": "Controle de Acesso" - }, - "groupAccessAllItems": { - "message": "Este grupo pode acessar e modificar todos os itens." - }, - "groupAccessSelectedCollections": { - "message": "Este grupo pode acessar apenas as coleções selecionadas." - }, - "readOnly": { - "message": "Somente Leitura" - }, - "newCollection": { - "message": "Nova Coleção" - }, - "addCollection": { - "message": "Adicionar Coleção" - }, - "editCollection": { - "message": "Editar Coleção" - }, - "deleteCollectionConfirmation": { - "message": "Você tem certeza que deseja excluir esta coleção?" - }, - "editUser": { - "message": "Editar Usuário" - }, - "inviteUser": { - "message": "Convidar Usuário" - }, - "inviteUserDesc": { - "message": "Convide um novo usuário para sua organização digitando o endereço de e-mail da conta Bitwarden dele abaixo. Se ele não tiver uma conta no Bitwarden, ele será solicitado a criar uma nova conta." - }, - "inviteMultipleEmailDesc": { - "message": "Você pode convidar até $COUNT$ usuários por vez. Utilize a vírgula para separar uma lista de endereços de e-mail.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "Este usuário está usando o login em duas etapas para proteger a sua conta." - }, - "userAccessAllItems": { - "message": "Este usuário pode acessar e modificar todos os itens." - }, - "userAccessSelectedCollections": { - "message": "Este usuário pode acessar apenas as coleções selecionadas." - }, - "search": { - "message": "Pesquisar" - }, - "invited": { - "message": "Convidado" - }, - "accepted": { - "message": "Aceito" - }, - "confirmed": { - "message": "Confirmado" - }, - "owner": { - "message": "Proprietário" - }, - "ownerDesc": { - "message": "O maior usuário de acesso que pode gerenciar todos os aspectos da sua organização." - }, - "admin": { - "message": "Administrador" - }, - "adminDesc": { - "message": " Os administradores podem acessar e gerenciar todos os itens, coleções e usuários em sua organização." - }, - "user": { - "message": "Usuário" - }, - "userDesc": { - "message": "Um usuário comum com acesso às coleções da sua organização." - }, - "manager": { - "message": "Gerente" - }, - "managerDesc": { - "message": "Os gerentes podem acessar e gerenciar coleções atribuídas em sua organização." - }, - "all": { - "message": "Todos" - }, - "refresh": { - "message": "Atualizar" - }, - "timestamp": { - "message": "Timestamp" - }, - "event": { - "message": "Evento" - }, - "unknown": { - "message": "Desconhecido" - }, - "loadMore": { - "message": "Carregar Mais" - }, - "mobile": { - "message": "Celular", - "description": "Mobile app" - }, - "extension": { - "message": "Extensão", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Área de Trabalho", - "description": "Desktop app" - }, - "webVault": { - "message": "Cofre Web" - }, - "loggedIn": { - "message": "Conectado(a)." - }, - "changedPassword": { - "message": "Senha da conta alterada." - }, - "enabledUpdated2fa": { - "message": "Habilitado/atualizado o login em duas etapas." - }, - "disabled2fa": { - "message": "Desabilitar login em duas etapas." - }, - "recovered2fa": { - "message": "Conta recuperada do login em duas etapas." - }, - "failedLogin": { - "message": "Falha na tentativa de login com senha incorreta." - }, - "failedLogin2fa": { - "message": "A tentativa de login falhou com o login incorreto em duas etapas." - }, - "exportedVault": { - "message": "Cofre exportado." - }, - "exportedOrganizationVault": { - "message": "Cofre da organização exportado." - }, - "editedOrgSettings": { - "message": "Configurações de organização editadas." - }, - "createdItemId": { - "message": "Item criado $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Item editado $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Item $ID$ enviado para lixeira.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Item compatilhado $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Item $ID$ visualizado.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Senha visualizada para o item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Campo oculto visualizado para o item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Código de segurança visualizado para o item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Senha copiada para o item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Campo oculto copiado para o item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Código de segurança copiado para o item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Item $ID$ auto-preenchido.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Coleção criada $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Coleção editada $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Coleção excluída $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Política $ID$ editada.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Grupo criado $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Grupo editado $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Grupo excluído $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Usuário removido $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Anexo criado para o item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Anexo excluído para o item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Coleção editada para o item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Usuário(a) convidado(a) $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Usuário(a) confirmado(a) $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Usuário(a) editado(a) $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Grupo editado para usuário(a) $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "SSO desvinculado para o usuário $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Dispositivo" - }, - "view": { - "message": "Ver" - }, - "invalidDateRange": { - "message": "Intervalo de datas inválido." - }, - "errorOccurred": { - "message": "Ocorreu um erro." - }, - "userAccess": { - "message": "Acesso de Usuário" - }, - "userType": { - "message": "Tipo de Usuário" - }, - "groupAccess": { - "message": "Grupo de Acesso" - }, - "groupAccessUserDesc": { - "message": "Edite os grupos aos quais este usuário pertence." - }, - "invitedUsers": { - "message": "Usuário(a)(s) convidado(a)(s)." - }, - "resendInvitation": { - "message": "Reenviar o Convite" - }, - "hasBeenReinvited": { - "message": "$USER$ foi convidado(a).", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Confirmar" - }, - "confirmUser": { - "message": "Confirmar Usuário" - }, - "hasBeenConfirmed": { - "message": "$USER$ foi confirmado(a).", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Confirmar Usuários" - }, - "usersNeedConfirmed": { - "message": "Você tem usuários que aceitaram o convite, mas ainda precisam ser confirmados. Os usuários não terão acesso à organização até que sejam confirmados." - }, - "startDate": { - "message": "Data de Início" - }, - "endDate": { - "message": "Data do Término" - }, - "verifyEmail": { - "message": "Verificar E-mail" - }, - "verifyEmailDesc": { - "message": "Confirme o endereço de e-mail da sua conta para desbloquear o acesso a todos os recursos." - }, - "verifyEmailFirst": { - "message": "Primeiro, o endereço de e-mail da sua conta precisa ser confirmado." - }, - "checkInboxForVerification": { - "message": "Verifique sua caixa de entrada do e-mail para obter o código de verificação." - }, - "emailVerified": { - "message": "O seu e-mail foi verificado." - }, - "emailVerifiedFailed": { - "message": "Não é possível confirmar o seu e-mail. Tente enviar um novo e-mail de verificação." - }, - "updateBrowser": { - "message": "Atualizar Navegador" - }, - "updateBrowserDesc": { - "message": "Você está usando um navegador da Web não suportado. O cofre web pode não funcionar corretamente." - }, - "joinOrganization": { - "message": "Junte-se a Organização" - }, - "joinOrganizationDesc": { - "message": "Você foi convidado para participar da organização listada acima. Para aceitar o convite, você precisa iniciar sessão ou criar uma nova conta no Bitwarden." - }, - "inviteAccepted": { - "message": "Convite Aceito" - }, - "inviteAcceptedDesc": { - "message": "Você pode acessar essa organização quando um administrador confirmar sua associação. Enviaremos um e-mail quando isso acontecer." - }, - "inviteAcceptFailed": { - "message": "Não é possível aceitar o convite. Peça a um administrador da organização para enviar um novo convite." - }, - "inviteAcceptFailedShort": { - "message": "Não foi possível aceitar o convite. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Lembrar e-mail" - }, - "recoverAccountTwoStepDesc": { - "message": "Se você não puder acessar sua conta por meio de seus métodos normais de login em duas etapas, poderá usar seu código de recuperação de login em duas etapas para desativar a funcionalidade de duas etapas da sua conta." - }, - "recoverAccountTwoStep": { - "message": "Recuperar login em duas etapas da conta" - }, - "twoStepRecoverDisabled": { - "message": "O login em duas etapas foi desativado em sua conta." - }, - "learnMore": { - "message": "Saiba mais" - }, - "deleteRecoverDesc": { - "message": "Insira seu endereço de e-mail abaixo para recuperar e excluir sua conta." - }, - "deleteRecoverEmailSent": { - "message": "Se a sua conta existir, enviamos um e-mail para você com mais instruções." - }, - "deleteRecoverConfirmDesc": { - "message": "Você pediu para excluir a sua conta no Bitwarden. Clique no botão abaixo para confirmar." - }, - "myOrganization": { - "message": "Minha Organização" - }, - "deleteOrganization": { - "message": "Excluir Organização" - }, - "deleteOrganizationDesc": { - "message": "Continue abaixo para excluir esta organização e todos os dados associados. As contas de usuários individuais permanecerão, embora elas não serão mais associadas a essa organização. " - }, - "deleteOrganizationWarning": { - "message": "A exclusão da organização é permanente. Não pode ser desfeita." - }, - "organizationDeleted": { - "message": "Organização Excluida" - }, - "organizationDeletedDesc": { - "message": "A organização e todos os dados associados foram excluídos." - }, - "organizationUpdated": { - "message": "Organização atualizada" - }, - "taxInformation": { - "message": "Informações de Impostos" - }, - "taxInformationDesc": { - "message": "Para clientes dentro dos EUA, o código postal (ZIP code) é necessário para satisfazer os requisitos fiscais das vendas. para outros países você pode opcionalmente fornecer um número de identificação fiscal (VAT/GST) e/ou um endereço para aparecer nas suas faturas." - }, - "billingPlan": { - "message": "Plano", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Alterar Plano", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Atualize sua conta para outro plano fornecendo as informações abaixo. Por favor, verifique se você tem um método de pagamento ativo adicionado à conta.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Entre em contato com o suporte ao cliente se deseja alterar o seu plano. Por favor, verifique se você tem um método de pagamento ativo adicionado à conta.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Fatura #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "Ver Fatura" - }, - "downloadInvoice": { - "message": "Baixar Fatura" - }, - "verifyBankAccount": { - "message": "Verificar Conta Bancária" - }, - "verifyBankAccountDesc": { - "message": "Fizemos dois micro-depósitos em sua conta bancária (pode demorar de 1 a 2 dias úteis para aparecer). Insira esses valores para confirmar a conta bancária." - }, - "verifyBankAccountInitialDesc": { - "message": "O pagamento com uma conta bancária só está disponível para clientes nos Estados Unidos. Você será solicitado a confirmar sua conta bancária. Vamos fazer dois micro-depósitos nos próximos 1-2 dias úteis. Insira esses valores na página de faturamento da organização para confirmar a conta bancária." - }, - "verifyBankAccountFailureWarning": { - "message": "A não verificação da conta bancária resultará em um pagamento não atendido e sua assinatura será desativada." - }, - "verifiedBankAccount": { - "message": "A conta bancária foi verificada." - }, - "bankAccount": { - "message": "Conta Bancária" - }, - "amountX": { - "message": "Montante $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Routing Number", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Numero da Conta" - }, - "accountHolderName": { - "message": "Nome do Titular da Conta" - }, - "bankAccountType": { - "message": "Tipo de Conta" - }, - "bankAccountTypeCompany": { - "message": "Empresa (Profissional)" - }, - "bankAccountTypeIndividual": { - "message": "Individual (Pessoal)" - }, - "enterInstallationId": { - "message": "Insira o seu ID de instalação" - }, - "addSeats": { - "message": "Adicionar Assentos", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Remover Assentos", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Sua assinatura permite um total de $COUNT$ usuários.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Assentos Para Adicionar" - }, - "seatsToRemove": { - "message": "Assentos Para Remover" - }, - "seatsAddNote": { - "message": "A adição de assentos de usuário resultará em ajustes no total da cobrança, e será cobrada imediatamente pela sua forma de pagamento registrada. A primeira cobrança será rateada pelo restante do ciclo do faturamento atual." - }, - "seatsRemoveNote": { - "message": "A remoção dos assentos de usuário resultará em ajustes no total do faturamento, que será rateado como crédito para sua próxima cobrança." - }, - "adjustedSeats": { - "message": "Ajustado $AMOUNT$ assentos de usuário.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Chave Atualizada" - }, - "updateKeyTitle": { - "message": "Atualizar Chave" - }, - "updateEncryptionKey": { - "message": "Atualizar Chave de Criptografia" - }, - "updateEncryptionKeyShortDesc": { - "message": "Você está usando atualmente um esquema de criptografia desatualizado." - }, - "updateEncryptionKeyDesc": { - "message": "Passamos para chaves de criptografia maiores, que oferecem melhor segurança e acesso a recursos mais recentes. Atualizar sua chave de criptografia é rápido e fácil. Basta inserir sua senha mestra abaixo. Esta atualização eventualmente se tornará obrigatória." - }, - "updateEncryptionKeyWarning": { - "message": "Depois de atualizar sua chave de criptografia, é necessário encerrar e iniciar a sessão em todos os aplicativos do Bitwarden que você está usando atualmente (como o aplicativo móvel ou as extensões do navegador). Não encerrar e iniciar sessão (que baixa sua nova chave de criptografia) pode resultar em corrupção de dados. Nós tentaremos desconectá-lo automaticamente, mas isso pode demorar um pouco." - }, - "updateEncryptionKeyExportWarning": { - "message": "Quaisquer exportações criptografadas que você tenha salvo também se tornarão inválidas." - }, - "subscription": { - "message": "Assinatura" - }, - "loading": { - "message": "Carregando" - }, - "upgrade": { - "message": "Atualizar" - }, - "upgradeOrganization": { - "message": "Atualizar Organização" - }, - "upgradeOrganizationDesc": { - "message": "Este recurso não está disponível para organizações gratuitas. Mude para um plano pago para desbloquear mais recursos." - }, - "createOrganizationStep1": { - "message": "Criar Organização: Passo 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Antes de criar sua organização, primeiro você precisa criar uma conta pessoal gratuita." - }, - "refunded": { - "message": "Reembolsado" - }, - "nothingSelected": { - "message": "Você selecionou nada." - }, - "acceptPolicies": { - "message": "Ao marcar esta caixa, você concorda com o seguinte:" - }, - "acceptPoliciesError": { - "message": "Os Termos de Serviço e a Política de Privacidade não foram reconhecidos." - }, - "termsOfService": { - "message": "Termos de Serviço" - }, - "privacyPolicy": { - "message": "Política de Privacidade" - }, - "filters": { - "message": "Filtros" - }, - "vaultTimeout": { - "message": "Tempo Limite do Cofre" - }, - "vaultTimeoutDesc": { - "message": "Escolha quando o tempo limite do seu cofre irá se esgotar e execute a ação selecionada." - }, - "oneMinute": { - "message": "1 minuto" - }, - "fiveMinutes": { - "message": "5 minutos" - }, - "fifteenMinutes": { - "message": "15 minutos" - }, - "thirtyMinutes": { - "message": "30 minutos" - }, - "oneHour": { - "message": "1 hora" - }, - "fourHours": { - "message": "4 horas" - }, - "onRefresh": { - "message": "Quando Reiniciar o Navegador" - }, - "dateUpdated": { - "message": "Atualizado", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Senha Atualizada", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "Organização está desabilitada." - }, - "licenseIsExpired": { - "message": "A licença está expirada." - }, - "updatedUsers": { - "message": "Usuários atualizados" - }, - "selected": { - "message": "Selecionado" - }, - "ownership": { - "message": "Propriedade" - }, - "whoOwnsThisItem": { - "message": "Quem possui este item?" - }, - "strong": { - "message": "Forte", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Boa", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Fraca", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Muito Fraca", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Senha Mestra Fraca" - }, - "weakMasterPasswordDesc": { - "message": "A senha mestra que você selecionou está fraca. Você deve usar uma senha mestra forte (ou uma frase-passe) para proteger a sua conta Bitwarden adequadamente. Tem certeza que deseja usar esta senha mestra?" - }, - "rotateAccountEncKey": { - "message": "Também rodar a chave de encriptação da minha conta" - }, - "rotateEncKeyTitle": { - "message": "Rodar Chave de Encriptação" - }, - "rotateEncKeyConfirmation": { - "message": "Você tem certeza que quer rodar a chave de encriptação da sua conta?" - }, - "attachmentsNeedFix": { - "message": "Este item tem anexos de arquivos antigos que precisam ser corrigidos." - }, - "attachmentFixDesc": { - "message": "Este é um anexo de arquivo antigo que precisa ser corrigido. Clique para saber mais." - }, - "fix": { - "message": "Corrigir", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "Há anexos de arquivos antigos no seu cofre que precisam ser corrigidos antes que você possa girar a chave de criptografia da sua conta." - }, - "yourAccountsFingerprint": { - "message": "A sua frase biométrica", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "Para garantir a integridade de suas chaves de criptografia, verifique a frase biométrica do usuário antes de continuar.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Não peça para verificar a frase biométrica novamente", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Gratuito", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "Chave API" - }, - "apiKeyDesc": { - "message": "Sua chave API pode ser usada para autenticar na API pública do Bitwarden." - }, - "apiKeyRotateDesc": { - "message": "Girar a chave da API invalidará a chave anterior. Você pode girar sua chave de API se acreditar que a chave atual não é mais segura de usar." - }, - "apiKeyWarning": { - "message": "Sua chave de API tem acesso total à organização. Deve ser mantido em segredo." - }, - "userApiKeyDesc": { - "message": "Sua chave API pode ser usada para autenticar no Bitwarden CLI." - }, - "userApiKeyWarning": { - "message": "Sua chave de API é um mecanismo de autenticação alternativo. Deve ser mantido em segredo." - }, - "oauth2ClientCredentials": { - "message": "Credenciais do cliente OAuth 2.0", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "Ver chave API" - }, - "rotateApiKey": { - "message": "Girar chave API" - }, - "selectOneCollection": { - "message": "Você deve selecionar pelo menos uma coleção." - }, - "couldNotChargeCardPayInvoice": { - "message": "Não foi possível cobrar no seu cartão. Por favor, veja e pague a fatura pendente listada abaixo." - }, - "inAppPurchase": { - "message": "Compra no Aplicativo" - }, - "cannotPerformInAppPurchase": { - "message": "Você não pode executar esta ação enquanto usa um método de pagamento de compra dentro do aplicativo." - }, - "manageSubscriptionFromStore": { - "message": "Você deve gerenciar sua assinatura na loja onde sua compra pelo aplicativo foi feita." - }, - "minLength": { - "message": "Comprimento Mínimo" - }, - "clone": { - "message": "Clonar" - }, - "masterPassPolicyDesc": { - "message": "Defina os requisitos mínimos para a força da senha mestra." - }, - "twoStepLoginPolicyDesc": { - "message": "Exigir que os usuários definam a autenticação de dois passos nas suas contas pessoais." - }, - "twoStepLoginPolicyWarning": { - "message": "Os membros da organização que não possuam a autenticação de dois passos ativa para sua conta pessoal serão removidos da organização e receberão um e-mail notificando-os da mudança." - }, - "twoStepLoginPolicyUserWarning": { - "message": "Você é um membro de uma organização que exige que a autenticação de dois passos seja ativada na sua conta de usuário. Se desativar todos os serviços de autenticação de dois passos, você será automaticamente removido dessas organizações." - }, - "passwordGeneratorPolicyDesc": { - "message": "Defina os requisitos mínimos para configuração do gerador de senhas." - }, - "passwordGeneratorPolicyInEffect": { - "message": "Uma ou mais políticas da organização estão afetando as suas configurações do gerador." - }, - "masterPasswordPolicyInEffect": { - "message": "Uma ou mais políticas da organização exigem que a sua senha mestra cumpra aos seguintes requisitos:" - }, - "policyInEffectMinComplexity": { - "message": "Pontuação mínima de complexidade de $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Comprimento mínimo de $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Contém um ou mais caracteres em maiúsculo" - }, - "policyInEffectLowercase": { - "message": "Contém um ou mais caracteres em minúsculo" - }, - "policyInEffectNumbers": { - "message": "Contém um ou mais números" - }, - "policyInEffectSpecial": { - "message": "Contém um ou mais dos seguintes caracteres especiais $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "A sua nova senha mestra não cumpre aos requisitos da política." - }, - "minimumNumberOfWords": { - "message": "Número Mínimo de Palavras" - }, - "defaultType": { - "message": "Tipo Padrão" - }, - "userPreference": { - "message": "Preferência do Usuário" - }, - "vaultTimeoutAction": { - "message": "Ação de Tempo Limite do Cofre" - }, - "vaultTimeoutActionLockDesc": { - "message": "Um cofre bloqueado requer que você reinsira a sua senha mestra para entrar novamente." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "Uma sessão encerrada com o cofre requer que você autentique-se novamente para acessá-lo de novo." - }, - "lock": { - "message": "Bloquear", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Lixeira", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Pesquisar na Lixeira" - }, - "permanentlyDelete": { - "message": "Excluir Permanentemente" - }, - "permanentlyDeleteSelected": { - "message": "Excluir Permanentemente Selecionados" - }, - "permanentlyDeleteItem": { - "message": "Excluir o Item Permanentemente" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Você tem certeza que deseja excluir permanentemente esse item?" - }, - "permanentlyDeletedItem": { - "message": "Item Permanentemente Excluído" - }, - "permanentlyDeletedItems": { - "message": "Itens Permanentemente Excluídos" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "Você selecionou $COUNT$ item(ns) para excluir permanentemente. Tem certeza que deseja excluir permanentemente todos estes itens?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Item $ID$ Excluído Permanentemente.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Restaurar" - }, - "restoreSelected": { - "message": "Restaurar Selecionados" - }, - "restoreItem": { - "message": "Restaurar Item" - }, - "restoredItem": { - "message": "Item Restaurado" - }, - "restoredItems": { - "message": "Itens Restaurados" - }, - "restoreItemConfirmation": { - "message": "Você tem certeza que deseja restaurar esse item?" - }, - "restoreItems": { - "message": "Restaurar itens" - }, - "restoreSelectedItemsDesc": { - "message": "Você selecionou $COUNT$ item(ns) para restaurar. Tem certeza que deseja restaurar todos esses itens?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Item $ID$ restaurado.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Sair irá remover todo o acesso ao seu cofre e requer autenticação online após o período de tempo limite. Tem certeza de que deseja usar esta configuração?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Confirmação de Ação de Tempo Limite" - }, - "hidePasswords": { - "message": "Esconder Senhas" - }, - "countryPostalCodeRequiredDesc": { - "message": "Exigimos essa informação apenas para o cálculo do imposto sobre as vendas e informação financeira." - }, - "includeVAT": { - "message": "Incluir informações sobre IVA/GST (opcional)" - }, - "taxIdNumber": { - "message": "ID de Imposto VAT/GST" - }, - "taxInfoUpdated": { - "message": "Informações de impostos atualizadas." - }, - "setMasterPassword": { - "message": "Definir Senha Mestra" - }, - "ssoCompleteRegistration": { - "message": "Para concluir o login com o SSO, defina uma senha mestra para acessar e proteger o seu cofre." - }, - "identifier": { - "message": "Identificador" - }, - "organizationIdentifier": { - "message": "Identificador da Organização" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Faça o login usando o portal de login único da sua organização. Por favor, insira o identificador da sua organização para começar." - }, - "enterpriseSingleSignOn": { - "message": "Iniciar Sessão Empresarial Única" - }, - "ssoHandOff": { - "message": "Agora você pode fechar esta aba e continuar na extensão." - }, - "businessPortal": { - "message": "Portal para Empresas", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "Recursos para Todas as Equipes, além de:" - }, - "includeSsoAuthentication": { - "message": "Autenticação SSO via SAML2.0 e OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Políticas Empresariais" - }, - "ssoValidationFailed": { - "message": "Falha na Validação SSO" - }, - "ssoIdentifierRequired": { - "message": "O Identificador da Organização é obrigatório." - }, - "unlinkSso": { - "message": "Desvincular SSO" - }, - "linkSso": { - "message": "Vincular SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "A configuração de políticas foi movida, e esta página será descontinuada em breve. Por favor, clique abaixo para usar a página de políticas do Portal de Negócios." - }, - "singleOrg": { - "message": "Organização Única" - }, - "singleOrgDesc": { - "message": "Restringir os usuários de poderem entrar em outras organizações." - }, - "singleOrgBlockCreateMessage": { - "message": "Sua organização atual tem uma política que não permite que você entre em mais de uma organização. Por favor, entre em contato com os administradores da sua organização ou cadastre-se a partir de uma conta do Bitwarden diferente." - }, - "singleOrgPolicyWarning": { - "message": "Os membros da organização que não são Donos ou Administradores, e já são membros de outra organização serão removidos da sua organização." - }, - "requireSso": { - "message": "Autenticação de Acesso Único" - }, - "requireSsoPolicyDesc": { - "message": "Exige que os usuários façam login com o método de Login Único da Empresa." - }, - "prerequisite": { - "message": "Pré-requisito" - }, - "requireSsoPolicyReq": { - "message": "A política das empresas da Organização Única tem de ser viabilizada antes da ativação desta política." - }, - "requireSsoPolicyReqError": { - "message": "Política da Organização Única não ativada." - }, - "requireSsoExemption": { - "message": "Os Proprietários e Administradores da Organização estão isentos da aplicação desta política." - }, - "sendTypeFile": { - "message": "Arquivo" - }, - "sendTypeText": { - "message": "Texto" - }, - "createSend": { - "message": "Criar Novo Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Editar Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Send Criado", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Send Editado", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Send Excluído", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Excluir Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Você tem certeza que deseja excluir este Send?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "Que tipo de Send é este?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Data de Exclusão" - }, - "deletionDateDesc": { - "message": "O Send será eliminado permanentemente na data e hora especificadas.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Data de Validade" - }, - "expirationDateDesc": { - "message": "Se definido, o acesso a este Send expirará na data e hora especificadas.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Contagem Máxima de Acessos" - }, - "maxAccessCountDesc": { - "message": "Se atribuído, usuários não poderão mais acessar este Send assim que o número máximo de acessos for atingido.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Contagem Atual de Acesso" - }, - "sendPasswordDesc": { - "message": "Opcionalmente exigir uma senha para os usuários acessarem este Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Notas privadas sobre esse Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Desativado" - }, - "sendLink": { - "message": "Link do Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Copiar Link do Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Remover Senha" - }, - "removedPassword": { - "message": "Senha Removida" - }, - "removePasswordConfirmation": { - "message": "Você tem certeza que deseja remover a senha?" - }, - "disableThisSend": { - "message": "Desabilite este Send para que ninguém possa acessá-lo.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "Todos os Sends" - }, - "maxAccessCountReached": { - "message": "Número máximo de acessos atingido" - }, - "pendingDeletion": { - "message": "Exclusão pendente" - }, - "expired": { - "message": "Expirado" - }, - "searchSends": { - "message": "Pesquisar Sends", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "Este Send está protegido com uma senha. Por favor, digite a senha abaixo para continuar.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Não sabe a senha? Peça ao Remetente a senha necessária para acessar esse Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "Este Send é oculto por padrão. Você pode alternar a visibilidade usando o botão abaixo.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Baixar Arquivo" - }, - "sendAccessUnavailable": { - "message": "O Send que você está tentando acessar não existe ou não está mais disponível.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "Não há Sends para listar.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Acesso de Emergência" - }, - "emergencyAccessDesc": { - "message": "Conceda e gerencie o acesso de emergência para contatos confiáveis. Contatos confiáveis podem solicitar acesso a Visualizar ou Assumir o Controle da sua conta em caso de emergência. Visite a nossa página de ajuda para obter mais informações e detalhes sobre como o compartilhamento de conhecimento zero funciona." - }, - "trustedEmergencyContacts": { - "message": "Contatos de emergência confiáveis" - }, - "noTrustedContacts": { - "message": "Você ainda não adicionou nenhum contato de emergência, convide um contato confiável para começar." - }, - "addEmergencyContact": { - "message": "Adicionar contato de emergência" - }, - "designatedEmergencyContacts": { - "message": "Designado como contato de emergência" - }, - "noGrantedAccess": { - "message": "Você ainda não foi designado como um contato de emergência para ninguém." - }, - "inviteEmergencyContact": { - "message": "Convidar contato de emergência" - }, - "editEmergencyContact": { - "message": "Editar contato de emergência" - }, - "inviteEmergencyContactDesc": { - "message": "Convide um novo contato de emergência digitando o endereço de e-mail da conta Bitwarden abaixo. Se eles não tiverem uma conta no Bitwarden, eles serão solicitados a criar uma nova conta." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Acesso de Emergência Iniciado" - }, - "emergencyAccessRecoveryApproved": { - "message": "Acesso de Emergência Aprovado" - }, - "viewDesc": { - "message": "Você pode ver todos os itens no seu próprio cofre." - }, - "takeover": { - "message": "Assumir o Controle" - }, - "takeoverDesc": { - "message": "Pode redefinir a sua conta com uma nova senha mestra." - }, - "waitTime": { - "message": "Tempo de Espera" - }, - "waitTimeDesc": { - "message": "Tempo necessário antes de conceder acesso automaticamente." - }, - "oneDay": { - "message": "1 dia" - }, - "days": { - "message": "$DAYS$ dias", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Usuário convidado." - }, - "acceptEmergencyAccess": { - "message": "Você foi convidado para se tornar um contato de emergência para o usuário listado acima. Para aceitar o convite, você precisa iniciar sessão ou criar uma nova conta no Bitwarden." - }, - "emergencyInviteAcceptFailed": { - "message": "Não foi possível aceitar o convite. Peça ao usuário para enviar um novo convite." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Não foi possível aceitar o convite. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "Você pode acessar as opções de emergência para esse usuário após a confirmação da sua identidade. Enviaremos um e-mail a você quando isso acontecer." - }, - "requestAccess": { - "message": "Solicitar Acesso" - }, - "requestAccessConfirmation": { - "message": "Tem certeza que deseja solicitar acesso de emergência? Você receberá acesso após $WAITTIME$ dia(s) ou sempre que o usuário aprovar manualmente a solicitação.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Acesso de emergência solicitado para $USER$. Nós o notificaremos por e-mail quando for possível continuar.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Aprovar" - }, - "reject": { - "message": "Rejeitar" - }, - "approveAccessConfirmation": { - "message": "Tem certeza de que deseja aprovar o acesso de emergência? Isto permitirá que $USER$ possa $ACTION$ da sua conta.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Acesso de emergência aprovado." - }, - "emergencyRejected": { - "message": "Acesso de emergência rejeitado" - }, - "passwordResetFor": { - "message": "Redefinição de senha para $USER$. Agora você pode acessar usando a nova senha.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Propriedade Pessoal" - }, - "personalOwnershipPolicyDesc": { - "message": "Exigir que os usuários salvem itens de cofre em uma organização removendo a opção de propriedade pessoal." - }, - "personalOwnershipExemption": { - "message": "Os proprietários e administradores da organização estão isentos da aplicação desta política." - }, - "personalOwnershipSubmitError": { - "message": "Devido a uma Política Empresarial, você está restrito de salvar itens para seu cofre pessoal. Altere a opção de propriedade para uma organização e escolha entre as Coleções disponíveis." - }, - "modifiedPolicyId": { - "message": "Política modificada $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Valor do plano" - }, - "estimatedTax": { - "message": "Impostos estimados" - }, - "custom": { - "message": "Personalizado" - }, - "customDesc": { - "message": "Permite controle mais granular das permissões de usuário para configurações avançadas." - }, - "permissions": { - "message": "Permissões" - }, - "accessBusinessPortal": { - "message": "Acessar Portal do Negócio" - }, - "accessEventLogs": { - "message": "Acessar Registro de Eventos" - }, - "accessImportExport": { - "message": "Acessar Importar/Exportar" - }, - "accessReports": { - "message": "Acessar Relatórios" - }, - "manageAllCollections": { - "message": "Gerenciar Todas as Coleções" - }, - "manageAssignedCollections": { - "message": "Gerenciar Coleções Atribuídas" - }, - "manageGroups": { - "message": "Gerenciar Grupos" - }, - "managePolicies": { - "message": "Gerenciar Políticas" - }, - "manageSso": { - "message": "Gerenciar SSO" - }, - "manageUsers": { - "message": "Gerenciar Usuários" - }, - "disableRequireSsoError": { - "message": "Você deve desativar manualmente a política de autenticação de logon único antes que esta política possa ser desativada." - }, - "personalOwnershipPolicyInEffect": { - "message": "Uma política de organização está afetando suas opções de propriedade." - }, - "personalOwnershipCheckboxDesc": { - "message": "Desativar propriedade pessoal para usuários da organização" - }, - "textHiddenByDefault": { - "message": "Ao acessar o Send, ocultar o texto por padrão", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/pt_PT/messages.json b/locales/pt_PT/messages.json deleted file mode 100644 index 8329b894..00000000 --- a/locales/pt_PT/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "Cofre Web $APP_NAME$", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "Que tipo de item é este?" - }, - "name": { - "message": "Nome" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "Novo URI" - }, - "username": { - "message": "Nome de utilizador" - }, - "password": { - "message": "Palavra-passe" - }, - "newPassword": { - "message": "Nova palavra-passe" - }, - "passphrase": { - "message": "Frase-passe" - }, - "notes": { - "message": "Notas" - }, - "customFields": { - "message": "Campos personalizados" - }, - "cardholderName": { - "message": "Titular do cartão" - }, - "number": { - "message": "Número" - }, - "brand": { - "message": "Marca" - }, - "expiration": { - "message": "Expiração" - }, - "securityCode": { - "message": "Código de segurança (CVV)" - }, - "identityName": { - "message": "Nome de identidade" - }, - "company": { - "message": "Empresa" - }, - "ssn": { - "message": "Número de segurança social" - }, - "passportNumber": { - "message": "Número do passaporte" - }, - "licenseNumber": { - "message": "Número da licença" - }, - "email": { - "message": "Email" - }, - "phone": { - "message": "Telefone" - }, - "january": { - "message": "Janeiro" - }, - "february": { - "message": "Fevereiro" - }, - "march": { - "message": "Março" - }, - "april": { - "message": "Abril" - }, - "may": { - "message": "Maio" - }, - "june": { - "message": "Junho" - }, - "july": { - "message": "Julho" - }, - "august": { - "message": "Agosto" - }, - "september": { - "message": "Setembro" - }, - "october": { - "message": "Outubro" - }, - "november": { - "message": "Novembro" - }, - "december": { - "message": "Dezembro" - }, - "title": { - "message": "Título" - }, - "mr": { - "message": "Sr" - }, - "mrs": { - "message": "Sra" - }, - "ms": { - "message": "Sra" - }, - "dr": { - "message": "Dr" - }, - "expirationMonth": { - "message": "Mês de expiração" - }, - "expirationYear": { - "message": "Ano de expiração" - }, - "authenticatorKeyTotp": { - "message": "Chave do autenticador (TOTP)" - }, - "folder": { - "message": "Pasta" - }, - "newCustomField": { - "message": "Novo campo personalizado" - }, - "value": { - "message": "Valor" - }, - "dragToSort": { - "message": "Arraste para ordenar" - }, - "cfTypeText": { - "message": "Texto" - }, - "cfTypeHidden": { - "message": "Ocultado" - }, - "cfTypeBoolean": { - "message": "Booleano" - }, - "remove": { - "message": "Remover" - }, - "unassigned": { - "message": "Não atribuido" - }, - "noneFolder": { - "message": "Nenhuma pasta", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Adicionar pasta" - }, - "editFolder": { - "message": "Editar pasta" - }, - "baseDomain": { - "message": "Domínio base" - }, - "host": { - "message": "Servidor", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Exato" - }, - "startsWith": { - "message": "Começa por" - }, - "regEx": { - "message": "Expressão regular", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Deteção de correspondência", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Deteção de correspondência predefinida", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Nunca" - }, - "toggleVisibility": { - "message": "Alternar visibilidade" - }, - "toggleCollapse": { - "message": "Alternar colapso", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Gerar palavra-passe" - }, - "checkPassword": { - "message": "Verifica se a palavra-passe foi exposta." - }, - "passwordExposed": { - "message": "Esta palavra-passe foi exposta $VALUE$ vez(es) em brechas de dados. Deve alterá-la.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "Esta palavra-passe não foi encontrada em nenhuma brecha de dados conhecida. Esta deve ser segura de utilizar." - }, - "save": { - "message": "Guardar" - }, - "cancel": { - "message": "Cancelar" - }, - "canceled": { - "message": "Cancelado" - }, - "close": { - "message": "Fechar" - }, - "delete": { - "message": "Eliminar" - }, - "favorite": { - "message": "Favorito" - }, - "unfavorite": { - "message": "Remover dos favoritos" - }, - "edit": { - "message": "Editar" - }, - "searchCollection": { - "message": "Pesquisar coleção" - }, - "searchFolder": { - "message": "Pesquisar pasta" - }, - "searchFavorites": { - "message": "Pesquisar favoritos" - }, - "searchType": { - "message": "Pesquisar tipo", - "description": "Search item type" - }, - "searchVault": { - "message": "Pesquisar cofre" - }, - "allItems": { - "message": "Todos os itens" - }, - "favorites": { - "message": "Favoritos" - }, - "types": { - "message": "Tipos" - }, - "typeLogin": { - "message": "Credencial" - }, - "typeCard": { - "message": "Cartão" - }, - "typeIdentity": { - "message": "Identidade" - }, - "typeSecureNote": { - "message": "Nota segura" - }, - "folders": { - "message": "Pastas" - }, - "collections": { - "message": "Coleções" - }, - "firstName": { - "message": "Primeiro nome" - }, - "middleName": { - "message": "Nome do meio" - }, - "lastName": { - "message": "Último nome" - }, - "address1": { - "message": "Endereço 1" - }, - "address2": { - "message": "Endereço 2" - }, - "address3": { - "message": "Endereço 3" - }, - "cityTown": { - "message": "Cidade / localidade" - }, - "stateProvince": { - "message": "Estado / província" - }, - "zipPostalCode": { - "message": "Código postal" - }, - "country": { - "message": "País" - }, - "shared": { - "message": "Partilhado" - }, - "attachments": { - "message": "Anexos" - }, - "select": { - "message": "Selecionar" - }, - "addItem": { - "message": "Adicionar item" - }, - "editItem": { - "message": "Editar item" - }, - "viewItem": { - "message": "View Item" - }, - "ex": { - "message": "ex.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Outros" - }, - "share": { - "message": "Partilhar" - }, - "valueCopied": { - "message": "$VALUE$ copiado(a)", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Copiar valor", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Copiar palavra-passe", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Copiar nome de utilizador", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Copiar número", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Copiar código de segurança", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Copiar URI", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "Meu cofre" - }, - "vault": { - "message": "Cofre" - }, - "shareSelected": { - "message": "Partilhar seleção" - }, - "deleteSelected": { - "message": "Eliminar seleção" - }, - "moveSelected": { - "message": "Mover seleção" - }, - "selectAll": { - "message": "Selecionar tudo" - }, - "unselectAll": { - "message": "Desfazer seleção" - }, - "launch": { - "message": "Iniciar" - }, - "newAttachment": { - "message": "Adicionar novo anexo" - }, - "deletedAttachment": { - "message": "Anexo eliminado" - }, - "deleteAttachmentConfirmation": { - "message": "Tem a certeza de que pretende eliminar este anexo?" - }, - "attachmentSaved": { - "message": "O anexo foi guardado." - }, - "file": { - "message": "Ficheiro" - }, - "selectFile": { - "message": "Selecione um ficheiro." - }, - "maxFileSize": { - "message": "O tamanho máximo do ficheiro é de 100 MB." - }, - "updateKey": { - "message": "Não pode utilizar esta funcionalidade até atualizar a sua chave de encriptação." - }, - "addedItem": { - "message": "Item adicionado" - }, - "editedItem": { - "message": "Item alterado" - }, - "sharedItem": { - "message": "Item partilhado" - }, - "sharedItems": { - "message": "Itens partilhados" - }, - "deleteItem": { - "message": "Eliminar item" - }, - "deleteFolder": { - "message": "Eliminar pasta" - }, - "deleteAttachment": { - "message": "Eliminar anexo" - }, - "deleteItemConfirmation": { - "message": "Tem a certeza de que pretende eliminar este item?" - }, - "deletedItem": { - "message": "Item enviado para o lixo" - }, - "deletedItems": { - "message": "Itens enviado para o lixo" - }, - "movedItems": { - "message": "Itens movidos" - }, - "overwritePasswordConfirmation": { - "message": "Tem a certeza de que pretende sobrescrever a palavra-passe atual?" - }, - "editedFolder": { - "message": "Pasta alterada" - }, - "addedFolder": { - "message": "Pasta adicionada" - }, - "deleteFolderConfirmation": { - "message": "Tem a certeza de que pretende eliminar esta pasta?" - }, - "deletedFolder": { - "message": "Pasta eliminada" - }, - "loggedOut": { - "message": "Sessão terminada" - }, - "loginExpired": { - "message": "A sua sessão expirou." - }, - "logOutConfirmation": { - "message": "Tem a certeza de que pretende terminar a sessão?" - }, - "logOut": { - "message": "Terminar sessão" - }, - "ok": { - "message": "Ok" - }, - "yes": { - "message": "Sim" - }, - "no": { - "message": "Não" - }, - "loginOrCreateNewAccount": { - "message": "Inicie sessão ou crie uma nova conta para aceder ao seu cofre seguro." - }, - "createAccount": { - "message": "Criar conta" - }, - "logIn": { - "message": "Iniciar sessão" - }, - "submit": { - "message": "Submeter" - }, - "emailAddressDesc": { - "message": "Vai utilizar o seu endereço de email para iniciar sessão." - }, - "yourName": { - "message": "O seu nome" - }, - "yourNameDesc": { - "message": "Como deveremos chamá-lo?" - }, - "masterPass": { - "message": "Palavra-passe mestra" - }, - "masterPassDesc": { - "message": "A palavra-passe mestra é a palavra-passe que utiliza para aceder ao seu cofre. É muito importante que não se esqueça da sua palavra-passe mestra. Não existe maneira de recuperar a palavra-passe no caso de a esquecer." - }, - "masterPassHintDesc": { - "message": "Uma dica da palavra-passe mestra pode ajudar a lembrar-se da sua palavra-passe se a esquecer." - }, - "reTypeMasterPass": { - "message": "Reescreva a palavra-passe mestra" - }, - "masterPassHint": { - "message": "Dica da palavra-passe mestra (opcional)" - }, - "masterPassHintLabel": { - "message": "Dica da palavra-passe mestra" - }, - "settings": { - "message": "Definições" - }, - "passwordHint": { - "message": "Dica da palavra-passe" - }, - "enterEmailToGetHint": { - "message": "Introduza o endereço de email da sua conta para receber a dica da sua palavra-passe mestra." - }, - "getMasterPasswordHint": { - "message": "Obter dica da palavra-passe mestra" - }, - "emailRequired": { - "message": "O endereço de email é requerido." - }, - "invalidEmail": { - "message": "Endereço de email inválido." - }, - "masterPassRequired": { - "message": "A palavra-passe mestra é requerida." - }, - "masterPassLength": { - "message": "A palavra-passe mestra tem de ter pelo menos 8 caracteres." - }, - "masterPassDoesntMatch": { - "message": "A confirmação da palavra-passe mestra não corresponde." - }, - "newAccountCreated": { - "message": "A sua nova conta foi criada! Agora pode iniciar sessão." - }, - "masterPassSent": { - "message": "Enviámos-lhe um email com a dica da sua palavra-passe mestra." - }, - "unexpectedError": { - "message": "Ocorreu um erro inesperado." - }, - "emailAddress": { - "message": "Endereço de email" - }, - "yourVaultIsLocked": { - "message": "O seu cofre está bloqueado. Verifique a sua palavra-passe mestra para continuar." - }, - "unlock": { - "message": "Desbloquear" - }, - "loggedInAsEmailOn": { - "message": "Sessão iniciada como $EMAIL$ em $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Palavra-passe mestra inválida" - }, - "lockNow": { - "message": "Bloquear agora" - }, - "noItemsInList": { - "message": "Não existem itens para listar." - }, - "noCollectionsInList": { - "message": "Não existem coleções para listar." - }, - "noGroupsInList": { - "message": "Não existem grupos para listar." - }, - "noUsersInList": { - "message": "Não existem utilizadores para listar." - }, - "noEventsInList": { - "message": "Não existem eventos para listar." - }, - "newOrganization": { - "message": "Nova organização" - }, - "noOrganizationsList": { - "message": "Você não pertence a nenhuma organização. Organizações permitem-lhe partilhar itens em segurança com outros utilizadores." - }, - "versionNumber": { - "message": "Versão $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Introduza o código de verificação de 6 dígitos da sua aplicação de autenticador." - }, - "enterVerificationCodeEmail": { - "message": "Introduza o código de verificação de 6 dígitos que foi enviado por email para $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "Email de verificação enviado para $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Memorizar-me" - }, - "sendVerificationCodeEmailAgain": { - "message": "Enviar email com o código de confirmação novamente" - }, - "useAnotherTwoStepMethod": { - "message": "Utilizar outro método de início de sessão de dois passos" - }, - "insertYubiKey": { - "message": "Introduza a sua YubiKey na porta USB do seu computador, depois toque no botão da mesma." - }, - "insertU2f": { - "message": "Introduza a sua chave de segurança na porta USB do seu computador. Se tiver um botão, toque no mesmo." - }, - "loginUnavailable": { - "message": "Início de sessão indisponível" - }, - "noTwoStepProviders": { - "message": "Esta conta tem o início de sessão de dois passos ativado, no entanto, nenhum dos provedores de início de sessão de dois passos configurados são suportados por este navegador web." - }, - "noTwoStepProviders2": { - "message": "Por favor utilize um navegador web suportado (tal como o Chrome) e/ou adicione provedores adicionais que são melhor suportados entre navegadores web (tal como uma aplicação de autenticador)." - }, - "twoStepOptions": { - "message": "Opções de início de sessão de dois passos" - }, - "recoveryCodeDesc": { - "message": "Perdeu o acesso a todos os seus provedores de dois passos? Utilize o seu código de recuperação para desativar todos os provedores de dois passos da sua conta." - }, - "recoveryCodeTitle": { - "message": "Código de recuperação" - }, - "authenticatorAppTitle": { - "message": "Aplicação de autenticador" - }, - "authenticatorAppDesc": { - "message": "Utilize uma aplicação de autenticador (tal como Authy ou Google Authenticator) para gerar códigos de verificação baseados na hora.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "Chave de segurança YubiKey OTP" - }, - "yubiKeyDesc": { - "message": "Utilize uma YubiKey para aceder à sua conta. Funciona com YubiKey série 4, série 5, e dispositivos NEO." - }, - "duoDesc": { - "message": "Verifique com Duo Security utilizando a aplicação Duo Mobile, SMS, chamada telefónica, ou chave de segurança U2F.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Verifique com Duo Security para a sua organização utilizando a aplicação Duo Mobile, SMS, chamada telefónica, ou chave de segurança U2F.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Utilize qualquer chave de segurança ativada por FIDO U2F para aceder à sua conta." - }, - "u2fTitle": { - "message": "Chave de segurança FIDO U2F" - }, - "emailTitle": { - "message": "Email" - }, - "emailDesc": { - "message": "Os códigos de verificação vão ser enviados por email para si." - }, - "continue": { - "message": "Continuar" - }, - "organization": { - "message": "Organização" - }, - "organizations": { - "message": "Organizações" - }, - "shareDesc": { - "message": "Escolha uma organização com que queira partilhar este item. Partilhar transfere a propriedade do item para a organização. Uma vez transferido já não será o proprietário direto deste item." - }, - "shareManyDesc": { - "message": "Escolha uma organização com que queira partilhar estes itens. Partilhar transfere a propriedade dos itens para a organização. Uma vez transferidos já não será o proprietário direto destes itens." - }, - "collectionsDesc": { - "message": "Edite as coleções em que este item está a ser partilhado. Apenas utilizadores da organização com acesso a estas coleções podem ver este item." - }, - "deleteSelectedItemsDesc": { - "message": "Selecionou $COUNT$ item(s) para eliminar. Tem a certeza de que pretende eliminar todos estes itens?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Escolha a pasta para onde que mover o(s) $COUNT$ item(s) selecionado(s).", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "Selecionou $COUNT$ item(s). $SHAREABLE_COUNT$ itens são partilháveis, $NONSHAREABLE_COUNT$ não são.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Código de verificação (TOTP)" - }, - "copyVerificationCode": { - "message": "Copiar código de confirmação" - }, - "warning": { - "message": "Aviso" - }, - "confirmVaultExport": { - "message": "Confirm Vault Export" - }, - "exportWarningDesc": { - "message": "Esta exportação contém os seus dados do cofre num formato desencriptado. Não deve armazenar ou enviar o ficheiro exportado através de canais inseguros (como email). Elimine-o imediatamente após o utilizar." - }, - "encExportWarningDesc": { - "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." - }, - "exportMasterPassword": { - "message": "Introduza a sua palavra-passe mestra para exportar os dados do seu cofre." - }, - "exportVault": { - "message": "Exportar cofre" - }, - "fileFormat": { - "message": "Formato do ficheiro" - }, - "exportSuccess": { - "message": "Os dados do seu cofre foram exportados." - }, - "passwordGenerator": { - "message": "Gerador de palavras-passe" - }, - "minComplexityScore": { - "message": "Pontuação mínima de complexidade" - }, - "minNumbers": { - "message": "Números mínimos" - }, - "minSpecial": { - "message": "Especiais mínimos", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Evitar caracteres ambíguos" - }, - "regeneratePassword": { - "message": "Regenerar palavra-passe" - }, - "length": { - "message": "Comprimento" - }, - "numWords": { - "message": "Número de palavras" - }, - "wordSeparator": { - "message": "Separador de palavras" - }, - "capitalize": { - "message": "Capitalizar", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Incluir número" - }, - "passwordHistory": { - "message": "Histórico de palavras-passe" - }, - "noPasswordsInList": { - "message": "Não existem palavras-passe para listar." - }, - "clear": { - "message": "Limpar", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Conta atualizada" - }, - "changeEmail": { - "message": "Alterar email" - }, - "newEmail": { - "message": "Novo email" - }, - "code": { - "message": "Código" - }, - "changeEmailDesc": { - "message": "Enviámos um código de verificação para $EMAIL$. Por favor verifique este código no seu email e introduza-o abaixo para finalizar a alteração de endereço de email.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Proceder irá terminar a sua sessão atual, requerendo-lhe voltar a iniciar sessão. Sessões ativas noutros dispositivos podem continuar ativas por até uma hora." - }, - "emailChanged": { - "message": "Email alterado" - }, - "logBackIn": { - "message": "Por favor volte a iniciar sessão." - }, - "logBackInOthersToo": { - "message": "Por favor volte a iniciar sessão. Se estiver a usar outras aplicações Bitwarden termine sessão e volte a iniciar sessão nessas também." - }, - "changeMasterPassword": { - "message": "Alterar palavra-passe mestra" - }, - "masterPasswordChanged": { - "message": "Palavra-passe mestra alterada" - }, - "currentMasterPass": { - "message": "Palavra-passe mestra atual" - }, - "newMasterPass": { - "message": "Nova palavra-passe mestra" - }, - "confirmNewMasterPass": { - "message": "Confirmar nova palavra-passe" - }, - "encKeySettings": { - "message": "Definições da chave de encriptação" - }, - "kdfAlgorithm": { - "message": "Algoritmo KDF" - }, - "kdfIterations": { - "message": "Iterações KDF" - }, - "kdfIterationsDesc": { - "message": "Iterações KDF mais altas podem ajudar a proteger a sua palavra-passe mestra de ser forçada por um atacante. Nós recomendamos um valor de $VALUE$ ou mais.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Definir as suas iterações KDF muito altas pode resultar em desempenho fraco ao iniciar sessão (e desbloquear) o Bitwarden em dispositivos com CPUs mais lentos. Nós recomendamos que aumente o valor em incrementos de $INCREMENT$ e depois testar todos os seus dispositivos.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Alterar KDF" - }, - "encKeySettingsChanged": { - "message": "Definições da chave de encriptação alteradas" - }, - "dangerZone": { - "message": "Zona perigosa" - }, - "dangerZoneDesc": { - "message": "Cuidado, estas ações não são reversíveis!" - }, - "deauthorizeSessions": { - "message": "Desautorizar sessões" - }, - "deauthorizeSessionsDesc": { - "message": "Preocupado pela sua conta ter sessão iniciada noutro dispositivo? Proceda abaixo para desautorizar todos os computadores ou dispositivos que tenha utilizado previamente. Este passo de segurança é recomendado se utilizou um computador público previamente ou guardou acidentalmente a sua palavra-passe num dispositivo que não lhe pertence. Este passo também irá limpar todas as sessões de dois passos previamente memorizadas." - }, - "deauthorizeSessionsWarning": { - "message": "Proceder também irá terminar a sua sessão atual, requerendo-lhe voltara a iniciar sessão. Irá ser-lhe solicitado o código de início de sessão de dois passos, se ativado. Sessões ativas noutros dispositivos podem continuar ativas por até uma hora." - }, - "sessionsDeauthorized": { - "message": "Todas as sessões desautorizadas" - }, - "purgeVault": { - "message": "Purgar cofre" - }, - "purgedOrganizationVault": { - "message": "Cofre da organização purgado." - }, - "purgeVaultDesc": { - "message": "Proceda abaixo para eliminar todos os itens e pastas do seu cofre. Itens que pertençam a uma organização que partilhe não serão eliminados." - }, - "purgeOrgVaultDesc": { - "message": "Proceda abaixo para eliminar todos os itens no cofre da organização." - }, - "purgeVaultWarning": { - "message": "Purgar o seu cofre é permanente. Não pode ser desfeito." - }, - "vaultPurged": { - "message": "O seu cofre foi purgado." - }, - "deleteAccount": { - "message": "Eliminar conta" - }, - "deleteAccountDesc": { - "message": "Proceda abaixo para eliminar a sua conta e todos os seus dados associados." - }, - "deleteAccountWarning": { - "message": "A eliminação da sua conta é permanente. Não pode ser desfeita." - }, - "accountDeleted": { - "message": "Conta eliminada" - }, - "accountDeletedDesc": { - "message": "A sua conta foi encerrada e todos os dados associados foram eliminados." - }, - "myAccount": { - "message": "Minha conta" - }, - "tools": { - "message": "Ferramentas" - }, - "importData": { - "message": "Importar dados" - }, - "importSuccess": { - "message": "Os dados foram importados com sucesso para o seu cofre." - }, - "importFormatError": { - "message": "Os dados não estão formatados corretamente. Por favor verifique o ficheiro de importação e tente novamente." - }, - "importNothingError": { - "message": "Nada foi importado." - }, - "selectFormat": { - "message": "Selecione o formato do ficheiro a importar" - }, - "selectImportFile": { - "message": "Selecione o ficheiro a importar" - }, - "orCopyPasteFileContents": { - "message": "ou copie/cole o seu conteúdo" - }, - "instructionsFor": { - "message": "Instruções para $NAME$", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Opções" - }, - "optionsDesc": { - "message": "Personalize a sua experiência do cofre web." - }, - "optionsUpdated": { - "message": "Opções atualizadas" - }, - "language": { - "message": "Idioma" - }, - "languageDesc": { - "message": "Alterar o idioma utilizado pelo cofre web." - }, - "disableIcons": { - "message": "Desativar ícones de websites" - }, - "disableIconsDesc": { - "message": "Os ícones de websites providenciam uma imagem reconhecível ao lado de cada item de credencial no seu cofre." - }, - "enableGravatars": { - "message": "Ativar Gravatars", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Utilizar imagens de avatar carregadas a partir de gravatar.com." - }, - "enableFullWidth": { - "message": "Ativar layout de largura total", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Permitir que o cofre web expanda a largura total da janela do navegador." - }, - "default": { - "message": "Predefinido" - }, - "domainRules": { - "message": "Regras de domínios" - }, - "domainRulesDesc": { - "message": "Se tiver o mesmo início de sessão em múltiplos websites de domínios diferentes, pode marcar o website como \"equivalente\". Domínios \"globais\" são aqueles já criados para si pelo Bitwarden." - }, - "globalEqDomains": { - "message": "Domínios equivalentes globais" - }, - "customEqDomains": { - "message": "Domínios equivalentes personalizados" - }, - "exclude": { - "message": "Excluir" - }, - "include": { - "message": "Incluir" - }, - "customize": { - "message": "Personalizar" - }, - "newCustomDomain": { - "message": "Novo domínio personalizado" - }, - "newCustomDomainDesc": { - "message": "Introduza uma lista de domínios separados por vírgulas. Apenas são permitidos domínios \"base\". Por exemplo, introduza \"google.com\" em vez de \"www.google.com\". Pode também introduzir \"androidapp://package.name\" para associar uma aplicação android a outros domínios." - }, - "customDomainX": { - "message": "Domínio personalizado $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Domínios atualizados" - }, - "twoStepLogin": { - "message": "Início de sessão de dois passos" - }, - "twoStepLoginDesc": { - "message": "Reforce a segurança da sua conta ao requerer um passo adicional para iniciar sessão." - }, - "twoStepLoginOrganizationDesc": { - "message": "Requeira início de sessão de dois passos para os utilizadores da sua organização ao configurar os provedores ao nível da organização." - }, - "twoStepLoginRecoveryWarning": { - "message": "Ativar o início de sessão de dois passos pode bloquear-lhe permanentemente o acesso à sua conta Bitwarden. Um código de recuperação permite-lhe aceder à sua conta caso já não possa utilizar o seu provedor normal de início de sessão de dois passos (ex. perde o seu dispositivo). O apoio do Bitwarden não irá poder assistir-lhe se perder acesso à sua conta. Recomendamos que anote ou imprima o código de recuperação e o mantenha num local seguro." - }, - "viewRecoveryCode": { - "message": "Ver código de recuperação" - }, - "providers": { - "message": "Provedores", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Ativar" - }, - "enabled": { - "message": "Ativado" - }, - "premium": { - "message": "Premium", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Adesão Premium" - }, - "premiumRequired": { - "message": "Premium requerido" - }, - "premiumRequiredDesc": { - "message": "É requerida uma adesão premium para utilizar esta funcionalidade." - }, - "youHavePremiumAccess": { - "message": "Você tem acesso premium" - }, - "alreadyPremiumFromOrg": { - "message": "Você já tem acesso às funcionalidades premium por causa de uma organização da qual é um membro." - }, - "manage": { - "message": "Gerir" - }, - "disable": { - "message": "Desativar" - }, - "twoStepLoginProviderEnabled": { - "message": "Este provedor de início de sessão de dois passos está ativado na sua conta." - }, - "twoStepLoginAuthDesc": { - "message": "Introduza a sua palavra-passe mestra para modificar as definições do início de sessão de dois passos." - }, - "twoStepAuthenticatorDesc": { - "message": "Siga estes passos para ativar o início de sessão de dois passos com uma aplicação de autenticador:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Transfira uma aplicação de autenticador de dois passos" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Precisa de uma aplicação de autenticador de dois passos? Transfira uma das seguintes" - }, - "iosDevices": { - "message": "Dispositivos iOS" - }, - "androidDevices": { - "message": "Dispositivos Android" - }, - "windowsDevices": { - "message": "Dispositivos Windows" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "Estas aplicações são recomendadas, todavia outras aplicações de autenticador também funcionarão." - }, - "twoStepAuthenticatorScanCode": { - "message": "Digitalize este código QR com a sua aplicação de autenticador" - }, - "key": { - "message": "Chave" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Introduza o código de confirmação de 6 dígitos indicado pela aplicação" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "No caso de precisar de adicioná-lo a outro dispositivo, abaixo está o código QR (ou chave) requerido pela sua aplicação de autenticador." - }, - "twoStepDisableDesc": { - "message": "Tem certeza de que pretende desativar este provedor de início de sessão de dois passos?" - }, - "twoStepDisabled": { - "message": "Provedor de início de sessão de dois passos desativado." - }, - "twoFactorYubikeyAdd": { - "message": "Adicionar uma nova YubiKey à sua conta" - }, - "twoFactorYubikeyPlugIn": { - "message": "Ligue a YubiKey (NEO ou série 4) numa porta USB do seu computador." - }, - "twoFactorYubikeySelectKey": { - "message": "Selecione o primeiro campo de entrada YubiKey vazio abaixo." - }, - "twoFactorYubikeyTouchButton": { - "message": "Toque no botão da YubiKey." - }, - "twoFactorYubikeySaveForm": { - "message": "Guarde o formulário." - }, - "twoFactorYubikeyWarning": { - "message": "Devido a limitações da plataforma, as YubiKeys não podem ser utilizadas em todas as aplicações Bitwarden. Deve ativar outro provedor de início de sessão de dois passos para que possa aceder à sua conta quando as YubiKeys não puderem ser utilizadas. Plataformas suportadas:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Cofre web, aplicação para computador, CLI e todas as extensões de navegador num dispositivo com porta USB que pode aceitar a sua YubiKey." - }, - "twoFactorYubikeySupportMobile": { - "message": "Aplicações móveis num dispositivo com capacidades NFC ou porta de dados que possam aceitar a sua YubiKey." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "Chave $INDEX$ U2F", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "Suporte NFC" - }, - "twoFactorYubikeySupportsNfc": { - "message": "Uma das minhas chaves suporta NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "Se uma das suas YubiKeys suporta NFC (como a YubiKey NEO), irá ser-lhe solicitado num dispositivo móvel sempre que a disponibilidade NFC seja detetada." - }, - "yubikeysUpdated": { - "message": "YubiKeys atualizadas" - }, - "disableAllKeys": { - "message": "Desativar todas as chaves" - }, - "twoFactorDuoDesc": { - "message": "Introduza a informação da aplicação Bitwarden do painel de administrador do seu Duo." - }, - "twoFactorDuoIntegrationKey": { - "message": "Chave de integração" - }, - "twoFactorDuoSecretKey": { - "message": "Chave secreta" - }, - "twoFactorDuoApiHostname": { - "message": "Servidor API" - }, - "twoFactorEmailDesc": { - "message": "Siga estes passos para ativar o início de sessão de dois passos com o email:" - }, - "twoFactorEmailEnterEmail": { - "message": "Introduza o email onde quer receber códigos de confirmação" - }, - "twoFactorEmailEnterCode": { - "message": "Introduza o código de confirmação de 6 dígitos indicado no email" - }, - "sendEmail": { - "message": "Enviar email" - }, - "twoFactorU2fAdd": { - "message": "Adicione uma chave de segurança FIDO U2F à sua conta" - }, - "removeU2fConfirmation": { - "message": "Tem a certeza de que pretende remover esta chave de segurança?" - }, - "readKey": { - "message": "Ler chave" - }, - "keyCompromised": { - "message": "A chave foi comprometida." - }, - "twoFactorU2fGiveName": { - "message": "Dê à chave de segurança um nome amigável para a identificar." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Coloque a chave de segurança na porta USB do seu computador e clique no botão \"Ler chave\"." - }, - "twoFactorU2fTouchButton": { - "message": "Se a chave de segurança tiver um botão, toque-lhe." - }, - "twoFactorU2fSaveForm": { - "message": "Guarde o formulário." - }, - "twoFactorU2fWarning": { - "message": "Devido a limitações da plataforma, as FIDO U2F não podem ser utilizadas em todas as aplicações Bitwarden. Deve ativar outro provedor de início de sessão de dois passos para que possa aceder à sua conta quando as FIDO U2F não puderem ser utilizadas. Plataformas suportadas:" - }, - "twoFactorU2fSupportWeb": { - "message": "Cofre web e extensões de navegador num computador/portátil com um navegador com U2F ativado (Chrome, Opera, Vivaldi ou Firefox com FIDO U2F ativado)." - }, - "twoFactorU2fWaiting": { - "message": "A aguardar que toque no botão da sua chave de segurança" - }, - "twoFactorU2fClickSave": { - "message": "Clique no botão \"Guardar\" abaixo para ativar esta chave de segurança para o início de sessão em dois passos." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "Ocorreu um problema ao ler a chave de segurança. Tente novamente." - }, - "twoFactorRecoveryYourCode": { - "message": "O seu código Bitwarden de recuperação de início de sessão de dois passos" - }, - "twoFactorRecoveryNoCode": { - "message": "Ainda não ativou qualquer provedor de início de sessão de dois passos. Depois de ativar um provedor de início de sessão de dois passos pode voltar aqui para obter o seu código de recuperação." - }, - "printCode": { - "message": "Imprimir código", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Relatórios" - }, - "unsecuredWebsitesReport": { - "message": "Relatório de websites inseguros" - }, - "unsecuredWebsitesReportDesc": { - "message": "Utilizar websites inseguros com o esquema http:// pode ser perigoso. Se o website permitir, deve sempre aceder-lo utilizando o esquema https:// para que a sua ligação seja encriptada." - }, - "unsecuredWebsitesFound": { - "message": "Websites inseguros encontrados" - }, - "unsecuredWebsitesFoundDesc": { - "message": "Encontrámos $COUNT$ itens no seu cofre com URIs inseguros. Deve alterar os seus esquemas de URI para https:// se o website permitir.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "Nenhum item no seu cofre tem URIs inseguros." - }, - "inactive2faReport": { - "message": "Relatório de 2FA inativo" - }, - "inactive2faReportDesc": { - "message": "Autenticação de dois fatores (2FA) é uma definição de segurança importante que ajuda a tornar a as suas contas seguras. Se o website a oferece, deve sempre ativar a autenticação de dois fatores." - }, - "inactive2faFound": { - "message": "Credenciais sem 2FA encontradas" - }, - "inactive2faFoundDesc": { - "message": "Encontrámos $COUNT$ website(s) no seu cofre que podem não estar configurados com autenticação de dois fatores (de acordo com 2fa.directory). Para melhor proteger estas contas, deve ativar a autenticação de dois fatores.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "Nenhum website foi encontrado no seu cofre com uma configuração de autenticação de dois fatores em falta." - }, - "instructions": { - "message": "Instruções" - }, - "exposedPasswordsReport": { - "message": "Relatório de palavras-passe expostas" - }, - "exposedPasswordsReportDesc": { - "message": "As palavras-passe expostas são palavras-passe que foram descobertas em brechas de dados conhecidas que foram lançadas publicamente ou vendidas na dark web por hackers." - }, - "exposedPasswordsFound": { - "message": "Palavras-passe expostas encontradas" - }, - "exposedPasswordsFoundDesc": { - "message": "Encontrámos $COUNT$ itens no seu cofre que têm palavras-passe que foram expostas em brechas de dados conhecidas. Deve alterá-las para utilizar uma nova palavra-passe.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "Nenhum item no seu cofre tem palavras-passe que foram expostas em brechas de dados conhecidas." - }, - "checkExposedPasswords": { - "message": "Verificar palavras-passe expostas" - }, - "exposedXTimes": { - "message": "Exposta $COUNT$ vez(es)", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Relatório de palavras-passe fracas" - }, - "weakPasswordsReportDesc": { - "message": "As palavras-passe fracas podem ser facilmente adivinhadas por hackers e ferramentas automáticas que são utilizadas para decifrar palavras-passe. O gerador de palavras-passe do Bitwarden pode ajudar-lhe a criar palavras-passe fortes." - }, - "weakPasswordsFound": { - "message": "Palavras-passe fracas encontradas" - }, - "weakPasswordsFoundDesc": { - "message": "Encontrámos $COUNT$ itens no seu cofre com palavras-passe que não são fortes. Deve atualizá-los para utilizar palavras-passe mais fortes.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "Nenhum item no seu cofre tem palavras-passe fracas." - }, - "reusedPasswordsReport": { - "message": "Relatório de palavras-passe reutilizadas" - }, - "reusedPasswordsReportDesc": { - "message": "Se um serviço foi comprometido, reutilizar a mesma palavras-passe noutro lugar pode permitir ao hackers ganhar acesso facilmente a mais das suas contas online. Deve utilizar uma palavra-passe única para cada conta ou serviço." - }, - "reusedPasswordsFound": { - "message": "Palavras-passe reutilizadas encontradas" - }, - "reusedPasswordsFoundDesc": { - "message": "Encontrámos $COUNT$ palavras-passe que estão a ser reutilizadas no seu cofre. Deve alterá-las para um valor único.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "Nenhuma credencial no seu cofre tem palavras-passe que estão a ser reutilizadas." - }, - "reusedXTimes": { - "message": "Reutilizada $COUNT$ vezes", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Relatório de brecha de dados" - }, - "breachDesc": { - "message": "Uma \"brecha\" é um incidente em que os dados de um site foram ilegalmente acedidos e tornados públicos. Verifique o tipo de dados comprometidos (endereços de email, palavras-passe, cartões de crédito etc.) e tome as medidas apropriadas, como mudar as palavras-passe." - }, - "breachCheckUsernameEmail": { - "message": "Verifique quaisquer nomes de utilizador ou endereços de email que utilize." - }, - "checkBreaches": { - "message": "Verificar brechas" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ não encontrado em nenhuma brecha de dados conhecida.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Boas notícias", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ foi encontrado em $COUNT$ diferentes brechas de dados online.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Encontradas contas alvo de brecha" - }, - "compromisedData": { - "message": "Dados comprometidos" - }, - "website": { - "message": "Website" - }, - "affectedUsers": { - "message": "Utilizadores afetados" - }, - "breachOccurred": { - "message": "Brecha ocorreu" - }, - "breachReported": { - "message": "Brecha relatada" - }, - "reportError": { - "message": "Ocorreu um erro ao tentar carregar o relatório. Tente novamente" - }, - "billing": { - "message": "Faturação" - }, - "accountCredit": { - "message": "Crédito da conta", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Saldo da conta", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Adicionar crédito", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Montante", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "O crédito adicionado irá aparecer na sua conta após o pagamento ser totalmente processado. Alguns métodos de pagamento são mais atrasados e podem levar mais tempo a processar do que outros." - }, - "makeSureEnoughCredit": { - "message": "Por favor certifique-se de que sua conta tem crédito suficiente disponível para esta compra. Se a sua conta não tem crédito suficiente disponível, o seu método de pagamento predefinido guardado irá ser utilizado para a diferença. Pode adicionar crédito à sua conta a partir da página de faturação." - }, - "creditAppliedDesc": { - "message": "O crédito da sua conta pode ser utilizado para fazer compras. Qualquer crédito disponível irá ser automaticamente aplicado em faturas geradas para esta conta." - }, - "goPremium": { - "message": "Tornar-se Premium", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "Atualizou para premium." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Atualize a sua conta para uma adesão premium e desbloqueie funcionalidades adicionais fantásticas." - }, - "premiumSignUpStorage": { - "message": "1 GB de armazenamento encriptado para anexos de ficheiros." - }, - "premiumSignUpTwoStep": { - "message": "Opções adicionais de início de sessão de dois passos, como YubiKey, FIDO U2F, e Duo." - }, - "premiumSignUpReports": { - "message": "Higiene de palavras-passe, saúde das contas, e relatórios de brechas de dados para manter o seu cofre seguro." - }, - "premiumSignUpTotp": { - "message": "Gerador de códigos de verificação TOTP (2FA) para aceder ao seu cofre." - }, - "premiumSignUpSupport": { - "message": "Prioridade no apoio ao cliente." - }, - "premiumSignUpFuture": { - "message": "Todas as funcionalidades premium futuras. Mais a chegar brevemente!" - }, - "premiumPrice": { - "message": "Tudo por apenas $PRICE$ /ano!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Extras" - }, - "premiumAccess": { - "message": "Acesso Premium" - }, - "premiumAccessDesc": { - "message": "Pode adicionar acesso premium a todos os membros da sua organização por $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Armazenamento adicional (GB)" - }, - "additionalStorageGbDesc": { - "message": "# de GB adicionais" - }, - "additionalStorageIntervalDesc": { - "message": "O seu plano vem com $SIZE$ de armazenamento encriptado de ficheiros. Pode adicionar armazenamento adicional por $PRICE$ por GB /$INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Resumo" - }, - "total": { - "message": "Total" - }, - "year": { - "message": "ano" - }, - "month": { - "message": "mês" - }, - "monthAbbr": { - "message": "m.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "O seu método de pagamento será imediatamente cobrado e, de forma regular, anualmente. Pode cancelar a qualquer momento." - }, - "paymentCharged": { - "message": "O seu método de pagamento será imediatamente cobrado e, de forma regular, a cada $INTERVAL$. Pode cancelar a qualquer momento.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "O seu plano inclui um teste gratuito de 7 dias. O seu método de pagamento não irá ser cobrado até o período de teste acabar. A faturação irá ocorreu de forma recorrente a cada $INTERVAL$. Pode cancelar a qualquer momento.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Informação de pagamento" - }, - "billingInformation": { - "message": "Billing Information" - }, - "creditCard": { - "message": "Cartão de crédito" - }, - "paypalClickSubmit": { - "message": "Clique no botão PayPal para aceder à sua conta PayPal, depois clique no botão Submeter abaixo para continuar." - }, - "cancelSubscription": { - "message": "Cancelar subscrição" - }, - "subscriptionCanceled": { - "message": "A subscrição foi cancelada." - }, - "pendingCancellation": { - "message": "Cancelamento pendente" - }, - "subscriptionPendingCanceled": { - "message": "A subscrição foi marcada para cancelamento no fim do atual período de faturação." - }, - "reinstateSubscription": { - "message": "Restabelecer subscrição" - }, - "reinstateConfirmation": { - "message": "Tem a certeza de que pretende eliminar o pedido de cancelamento pendente e restabelecer a sua subscrição?" - }, - "reinstated": { - "message": "A subscrição foi restabelecida." - }, - "cancelConfirmation": { - "message": "Tem a certeza de que pretende cancelar? Irá perder acesso a todas as funcionalidades desta subscrição no fim deste ciclo de faturação." - }, - "canceledSubscription": { - "message": "A subscrição foi cancelada." - }, - "neverExpires": { - "message": "Nunca expira" - }, - "status": { - "message": "Estado" - }, - "nextCharge": { - "message": "Próxima cobrança" - }, - "details": { - "message": "Detalhes" - }, - "downloadLicense": { - "message": "Transferir licença" - }, - "updateLicense": { - "message": "Atualizar licença" - }, - "updatedLicense": { - "message": "Licença atualizada" - }, - "manageSubscription": { - "message": "Gerir subscrição" - }, - "storage": { - "message": "Armazenamento" - }, - "addStorage": { - "message": "Adicionar armazenamento" - }, - "removeStorage": { - "message": "Remover armazenamento" - }, - "subscriptionStorage": { - "message": "A sua subscrição tem um total de $MAX_STORAGE$ GB de armazenamento de ficheiros encriptado. Está a utilizar atualmente $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Método de pagamento" - }, - "noPaymentMethod": { - "message": "Nenhum método de pagamento registado." - }, - "addPaymentMethod": { - "message": "Adicionar método de pagamento" - }, - "changePaymentMethod": { - "message": "Alterar método de pagamento" - }, - "invoices": { - "message": "Faturas" - }, - "noInvoices": { - "message": "Sem faturas." - }, - "paid": { - "message": "Paga", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Por pagar", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Transações", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "Sem transações." - }, - "chargeNoun": { - "message": "Cobrança", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Reembolsado", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Quaisquer cobranças aparecerão no seu extrato como $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "GB de armazenamento a adicionar" - }, - "gbStorageRemove": { - "message": "GB de armazenamento a remover" - }, - "storageAddNote": { - "message": "Adicionar armazenamento irá resultar em ajustamentos aos seus totais a faturar e imediatamente cobrados no seu método de pagamento registado. A primeira cobrança será alocada pelo remanescente do atual ciclo de faturação." - }, - "storageRemoveNote": { - "message": "Eliminar armazenamento irá resultar em ajustamentos nos totais a faturar que irão ser alocados como créditos na próxima cobrança de faturação." - }, - "adjustedStorage": { - "message": "Ajustado $AMOUNT$ GB de armazenamento.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Contacte o apoio ao cliente" - }, - "updatedPaymentMethod": { - "message": "Método de pagamento atualizado." - }, - "purchasePremium": { - "message": "Comprar Premium" - }, - "licenseFile": { - "message": "Ficheiro de licença" - }, - "licenseFileDesc": { - "message": "O seu ficheiro de licença irá ser chamado algo como $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "Para atualizar a sua conta para uma adesão premium precisa de carregar um ficheiro de licença válido." - }, - "uploadLicenseFileOrg": { - "message": "Para criar uma organização alojada nas suas premissas precisa de carregar um ficheiro de licença válido." - }, - "accountEmailMustBeVerified": { - "message": "O endereço de email da sua conta precisa de ser verificado." - }, - "newOrganizationDesc": { - "message": "Organizações permitem-lhe partilhar partes do seu cofre com outros, bem como gerir utilizadores relacionados com uma entidade específica, como uma família, pequena equipa ou grande empresa." - }, - "generalInformation": { - "message": "Informação geral" - }, - "organizationName": { - "message": "Nome da organização" - }, - "accountOwnedBusiness": { - "message": "Esta conta é propriedade de uma empresa." - }, - "billingEmail": { - "message": "Email de faturação" - }, - "businessName": { - "message": "Nome da empresa" - }, - "chooseYourPlan": { - "message": "Escolha o seu plano" - }, - "users": { - "message": "Utilizadores" - }, - "userSeats": { - "message": "Lugares de utilizador" - }, - "additionalUserSeats": { - "message": "Lugares de utilizador adicionais" - }, - "userSeatsDesc": { - "message": "# de lugares de utilizador" - }, - "userSeatsAdditionalDesc": { - "message": "O seu plano vem com $BASE_SEATS$ lugares de utilizador. Pode adicionar utilizadores adicionais por $SEAT_PRICE$ por utilizador /mês.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "De quantos lugares de utilizador precisa? Pode também adicionar lugares adicionais mais tarde se necessário." - }, - "planNameFree": { - "message": "Gratuito", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "Para teste ou utilizadores pessoais partilharem com $COUNT$ outro utilizador.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Famílias" - }, - "planDescFamilies": { - "message": "Para uso pessoal, para partilhar com a família e amigos." - }, - "planNameTeams": { - "message": "Equipas" - }, - "planDescTeams": { - "message": "Para empresas e outras equipas e organizações." - }, - "planNameEnterprise": { - "message": "Empresarial" - }, - "planDescEnterprise": { - "message": "Para empresas e outras grandes organizações." - }, - "freeForever": { - "message": "Gratuito para sempre" - }, - "includesXUsers": { - "message": "inclui $COUNT$ utilizadores", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Utilizadores adicionais" - }, - "costPerUser": { - "message": "$COST$ por utilizador", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Limitado a $COUNT$ utilizadores (incluindo você)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Limitado a $COUNT$ coleções", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Adicione e partilhe com até $COUNT$ utilizadores", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Adicione e partilhe com utilizadores ilimitados" - }, - "createUnlimitedCollections": { - "message": "Crie coleções ilimitadas" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ de armazenamento de ficheiros encriptado", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "Alojamento próprio (opcional)" - }, - "usersGetPremium": { - "message": "Os utilizadores obtêm acesso a funcionalidades de adesão premium" - }, - "controlAccessWithGroups": { - "message": "Controle o acesso de utilizadores com grupos" - }, - "syncUsersFromDirectory": { - "message": "Sincronize os seus utilizadores e grupos de um diretório" - }, - "trackAuditLogs": { - "message": "Siga as ações dos utilizadores com registos de auditoria" - }, - "enforce2faDuo": { - "message": "Impor 2FA com Duo" - }, - "priorityCustomerSupport": { - "message": "Prioridade no apoio ao cliente" - }, - "xDayFreeTrial": { - "message": "$COUNT$ dia(s) de teste gratuito, cancele quando quiser", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Mensalmente" - }, - "annually": { - "message": "Anualmente" - }, - "basePrice": { - "message": "Preço base" - }, - "organizationCreated": { - "message": "Organização criada" - }, - "organizationReadyToGo": { - "message": "A sua nova organização está pronta!" - }, - "organizationUpgraded": { - "message": "A sua organização foi atualizada." - }, - "leave": { - "message": "Sair" - }, - "leaveOrganizationConfirmation": { - "message": "Tem a certeza de que pretende sair desta organização?" - }, - "leftOrganization": { - "message": "Saiu da organização." - }, - "defaultCollection": { - "message": "Coleção predefinida" - }, - "getHelp": { - "message": "Obter ajuda" - }, - "getApps": { - "message": "Obter as aplicações" - }, - "loggedInAs": { - "message": "Sessão iniciada como" - }, - "eventLogs": { - "message": "Registos de eventos" - }, - "people": { - "message": "Pessoas" - }, - "policies": { - "message": "Políticas" - }, - "editPolicy": { - "message": "Editar política" - }, - "groups": { - "message": "Grupos" - }, - "newGroup": { - "message": "Novo grupo" - }, - "addGroup": { - "message": "Adicionar grupo" - }, - "editGroup": { - "message": "Editar grupo" - }, - "deleteGroupConfirmation": { - "message": "Tem certeza que pretende eliminar este grupo?" - }, - "removeUserConfirmation": { - "message": "Tem a certeza de que pretende remover este utilizador?" - }, - "externalId": { - "message": "Id externo" - }, - "externalIdDesc": { - "message": "O id externo pode ser utilizado como uma referência ou para ligar este recurso a um sistema externo como um diretório de utilizadores." - }, - "accessControl": { - "message": "Controlo de acesso" - }, - "groupAccessAllItems": { - "message": "Este grupo pode aceder e modificar todos os itens." - }, - "groupAccessSelectedCollections": { - "message": "Este grupo pode aceder apenas a coleções selecionadas." - }, - "readOnly": { - "message": "Apenas leitura" - }, - "newCollection": { - "message": "Nova coleção" - }, - "addCollection": { - "message": "Adicionar coleção" - }, - "editCollection": { - "message": "Editar coleção" - }, - "deleteCollectionConfirmation": { - "message": "Tem a certeza de que pretende eliminar esta coleção?" - }, - "editUser": { - "message": "Editar utilizador" - }, - "inviteUser": { - "message": "Convidar utilizador" - }, - "inviteUserDesc": { - "message": "Convide um novo utilizador para a sua organização ao introduzir abaixo o endereço de email da sua conta Bitwarden. Se ainda não tiver uma conta Bitwarden, irá ser-lhe solicitado criar uma nova conta." - }, - "inviteMultipleEmailDesc": { - "message": "Pode convidar até $COUNT$ utilizadores de cada vez ao separando por virgula uma lista de endereços de email.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "Este utilizador está a utilizar início de sessão de dois passos para proteger a sua conta." - }, - "userAccessAllItems": { - "message": "Este utilizador pode aceder e modificar todos os itens." - }, - "userAccessSelectedCollections": { - "message": "Este utilizador pode aceder apenas a coleções selecionadas." - }, - "search": { - "message": "Pesquisar" - }, - "invited": { - "message": "Convidado" - }, - "accepted": { - "message": "Aceite" - }, - "confirmed": { - "message": "Confirmado" - }, - "owner": { - "message": "Proprietário" - }, - "ownerDesc": { - "message": "O utilizador com acesso mais elevado que pode gerir todos os aspetos da sua organização." - }, - "admin": { - "message": "Administrador" - }, - "adminDesc": { - "message": "Os administradores podem aceder e gerir todos os itens, coleções e utilizadores na sua organização." - }, - "user": { - "message": "Utilizador" - }, - "userDesc": { - "message": "Um utilizador normal com acesso às coleções atribuídas da sua organização." - }, - "manager": { - "message": "Gestor" - }, - "managerDesc": { - "message": "Os gestores podem aceder e gerir coleções atribuídas na sua organização." - }, - "all": { - "message": "Todos" - }, - "refresh": { - "message": "Atualizar" - }, - "timestamp": { - "message": "Data e hora" - }, - "event": { - "message": "Evento" - }, - "unknown": { - "message": "Desconhecido" - }, - "loadMore": { - "message": "Carregar mais" - }, - "mobile": { - "message": "Telemóvel", - "description": "Mobile app" - }, - "extension": { - "message": "Extensão", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Computador", - "description": "Desktop app" - }, - "webVault": { - "message": "Cofre Web" - }, - "loggedIn": { - "message": "Sessão iniciada." - }, - "changedPassword": { - "message": "Palavra-passe da conta alterada." - }, - "enabledUpdated2fa": { - "message": "Início de sessão de dois passos ativado/atualizado." - }, - "disabled2fa": { - "message": "Início de sessão de dois passos desativado." - }, - "recovered2fa": { - "message": "Conta recuperada de início de sessão de dois passos." - }, - "failedLogin": { - "message": "Tentativa de início de sessão falhado com palavra-passe incorreta." - }, - "failedLogin2fa": { - "message": "Tentativa de início de sessão falhada com inicio de sessão de dois passos incorreto." - }, - "exportedVault": { - "message": "Cofre exportado." - }, - "exportedOrganizationVault": { - "message": "Cofre da organização exportado." - }, - "editedOrgSettings": { - "message": "Definições de organização editadas." - }, - "createdItemId": { - "message": "Item $ID$ criado.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Item $ID$ editado.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Item $ID$ enviado para o lixo.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Item $ID$ partilhado.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Item $ID$ visto.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Palavra-passe vista para o item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Campo oculto visto para o item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Código de segurança visto para o item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Palavra-passe copiada para o item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Campo oculto copiado para o item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Código de segurança copiado para o item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Item $ID$ auto-preenchido.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Coleção $ID$ criada.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Coleção $ID$ editada.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Coleção $ID$ eliminada.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Editou a política $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Grupo $ID$ criado.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Grupo $ID$ editado.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Grupo $ID$ eliminado.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Utilizador $ID$ removido.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Anexo para o item $ID$ criado.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Anexo para o item $ID$ eliminado.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Coleções para o item $ID$ editadas.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Utilizador $ID$ convidado.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Utilizador $ID$ confirmado.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Utilizador $ID$ editado.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Grupos para o utilizador $ID$ editados.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Dispositivo" - }, - "view": { - "message": "Ver" - }, - "invalidDateRange": { - "message": "Período de data inválido." - }, - "errorOccurred": { - "message": "Ocorreu um erro." - }, - "userAccess": { - "message": "Acesso de utilizador" - }, - "userType": { - "message": "Tipo de utilizador" - }, - "groupAccess": { - "message": "Acesso de grupo" - }, - "groupAccessUserDesc": { - "message": "Edite os grupos a que este utilizador pertence." - }, - "invitedUsers": { - "message": "Utilizador(es) convidado(s)." - }, - "resendInvitation": { - "message": "Reenviar convite" - }, - "hasBeenReinvited": { - "message": "$USER$ foi novamente convidado.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Confirmar" - }, - "confirmUser": { - "message": "Confirmar utilizador" - }, - "hasBeenConfirmed": { - "message": "$USER$ foi confirmado.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Confirmar utilizadores" - }, - "usersNeedConfirmed": { - "message": "Tem utilizadores que aceitaram os seus convites, mas ainda precisam de ser confirmados. Os utilizadores não irão ter acesso à organização até serem confirmados." - }, - "startDate": { - "message": "Data de início" - }, - "endDate": { - "message": "Data de fim" - }, - "verifyEmail": { - "message": "Verificar email" - }, - "verifyEmailDesc": { - "message": "Verifique o endereço de email da sua conta para desbloquear o acesso a todas as funcionalidades." - }, - "verifyEmailFirst": { - "message": "O endereço de email da sua conta deve ser verificado primeiro." - }, - "checkInboxForVerification": { - "message": "Verifique a caixa de entrada do seu email pela ligação de verificação." - }, - "emailVerified": { - "message": "O seu email foi verificado." - }, - "emailVerifiedFailed": { - "message": "Não foi possível verificar o seu email. Tente enviar um novo email de verificação." - }, - "updateBrowser": { - "message": "Atualizar navegador" - }, - "updateBrowserDesc": { - "message": "Está a utilizar um navegador web não suportado. O cofre web pode não funcionar corretamente." - }, - "joinOrganization": { - "message": "Aderir a organização" - }, - "joinOrganizationDesc": { - "message": "Foi convidado para se juntar à organização listada acima. Para aceitar o convite, precisa de iniciar sessão ou criar uma nova conta Bitwarden." - }, - "inviteAccepted": { - "message": "Convite aceite" - }, - "inviteAcceptedDesc": { - "message": "Pode aceder a esta organização quanto um administrador confirmar a sua adesão. Enviaremos um email quando tal acontecer." - }, - "inviteAcceptFailed": { - "message": "Não foi possível aceitar o convite. Peça a um administrador da organização para enviar novo convite." - }, - "inviteAcceptFailedShort": { - "message": "Não foi possível aceitar o convite. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Memorizar email" - }, - "recoverAccountTwoStepDesc": { - "message": "Se não conseguir aceder à sua conta através dos seus métodos normais de início de sessão de dois passos, pode utilizar o seu código de recuperação de dois passos para desativar todos os provedores de início de sessão de dois passos da sua conta." - }, - "recoverAccountTwoStep": { - "message": "Recuperar início de sessão de dois passos da conta" - }, - "twoStepRecoverDisabled": { - "message": "O início de sessão de dois passos foi desativado na sua conta." - }, - "learnMore": { - "message": "Saber mais" - }, - "deleteRecoverDesc": { - "message": "Introduza o seu endereço de email abaixo para recuperar ou eliminar a sua conta." - }, - "deleteRecoverEmailSent": { - "message": "Se a sua conta existe, enviámos-lhe um email com mais instruções." - }, - "deleteRecoverConfirmDesc": { - "message": "Pediu para eliminar a sua conta Bitwarden. Clique no botão abaixo para confirmar." - }, - "myOrganization": { - "message": "Minha organização" - }, - "deleteOrganization": { - "message": "Eliminar organização" - }, - "deleteOrganizationDesc": { - "message": "Proceda abaixo para eliminar esta organização e todos os dados associados. Contas de utilizadores individuais serão mantidas, embora já não estarão associadas a esta organização. " - }, - "deleteOrganizationWarning": { - "message": "A eliminação da organização é permanente. Não pode ser desfeita." - }, - "organizationDeleted": { - "message": "Organização eliminada" - }, - "organizationDeletedDesc": { - "message": "A organização e todos os dados associados foram eliminados." - }, - "organizationUpdated": { - "message": "Organização atualizada" - }, - "taxInformation": { - "message": "Informação fiscal" - }, - "taxInformationDesc": { - "message": "Para clientes dentro dos EUA, o código postal é requerido para satisfazer os requisitos fiscais das vendas, para outros países pode, opcionalmente, providenciar um número de identificação fiscal (IVA/GST) e/ou um endereço para aparecer nas suas faturas." - }, - "billingPlan": { - "message": "Plano", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Alterar plano", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Atualize a sua conta para outro plano fornecendo as informações abaixo. Por favor certifique-se de que tem um método de pagamento ativo adicionado na conta.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Contacte o apoio ao cliente se gostaria de alterar o seu plano. Por favor certifique-se de que tem um método de pagamento ativo adicionado à conta.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Fatura #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "Ver fatura" - }, - "downloadInvoice": { - "message": "Transferir fatura" - }, - "verifyBankAccount": { - "message": "Verificar conta nancária" - }, - "verifyBankAccountDesc": { - "message": "Fizemos dois micro-depósitos na sua conta bancária (pode demorar 1-2 dias úteis a aparecer). Introduza estas quantias para verificar a conta bancária." - }, - "verifyBankAccountInitialDesc": { - "message": "O pagamento via conta bancária apenas está disponível para clientes nos Estados Unidos. Irá ser-lhe requerido verificar a sua conta bancária. Iremos fazer dois micro-depósitos nos próximos 1-2 dias úteis. Introduza estas quantias na página de faturação da organização para verificar a conta bancária." - }, - "verifyBankAccountFailureWarning": { - "message": "Falha ao verificar a conta bancária irá resultar na falta de um pagamento e a sua subscrição ser desativada." - }, - "verifiedBankAccount": { - "message": "A conta bancária foi confirmada." - }, - "bankAccount": { - "message": "Conta bancária" - }, - "amountX": { - "message": "Quantia $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Número de roteamento", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Número da conta" - }, - "accountHolderName": { - "message": "Titular da conta" - }, - "bankAccountType": { - "message": "Tipo de conta" - }, - "bankAccountTypeCompany": { - "message": "Empresa (Empresarial)" - }, - "bankAccountTypeIndividual": { - "message": "Individual (Pessoal)" - }, - "enterInstallationId": { - "message": "Introduza o id da sua instalação" - }, - "addSeats": { - "message": "Adicionar lugares", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Remover lugares", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "A sua subscrição permite um total de $COUNT$ utilizadores.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Lugares a adicionar" - }, - "seatsToRemove": { - "message": "Lugares a remover" - }, - "seatsAddNote": { - "message": "Adicionar lugares de utilizador irá resultar em ajustamentos aos seus totais a faturar e imediatamente cobrados no seu método de pagamento registado. A primeira cobrança será alocada pelo remanescente do atual ciclo de faturação." - }, - "seatsRemoveNote": { - "message": "Remover lugares de utilizador irá resultar em ajustamentos nos totais a faturar que irão ser alocados como créditos na próxima cobrança de faturação." - }, - "adjustedSeats": { - "message": "Ajustado $AMOUNT$ lugares de utilizador.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Chave atualizada" - }, - "updateKeyTitle": { - "message": "Atualizar chave" - }, - "updateEncryptionKey": { - "message": "Atualizar chave de encriptação" - }, - "updateEncryptionKeyShortDesc": { - "message": "Está atualmente a utilizar um esquema de encriptação desatualizado." - }, - "updateEncryptionKeyDesc": { - "message": "Mudámos para chaves de encriptação maiores que providenciam maior segurança e acesso a funcionalidades mais recentes. Atualizar a sua chave de encriptação é rápido e fácil. Apenas escreva abaixo a sua palavra-passe mestra. Esta atualização eventualmente irá tornar-se obrigatória." - }, - "updateEncryptionKeyWarning": { - "message": "Depois de atualizar a sua chave de encriptação, é-lhe requerido terminar sessão e voltar a iniciá-la em todas as aplicações Bitwarden que esteja a utilizar (tais como a aplicação móvel ou extensões de navegador). Falha ao terminar sessão e voltar a iniciar (que transfere a sua nova chave de encriptação) pode resultar em corrupção de dados. Tentaremos terminar-lhe a sessão automaticamente, todavia, pode demorar." - }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." - }, - "subscription": { - "message": "Subscrição" - }, - "loading": { - "message": "A carregar" - }, - "upgrade": { - "message": "Atualizar" - }, - "upgradeOrganization": { - "message": "Atualizar organização" - }, - "upgradeOrganizationDesc": { - "message": "Esta funcionalidade não está disponível para organizações gratuitas. Mude para um plano pago para desbloquear mais funcionalidades." - }, - "createOrganizationStep1": { - "message": "Criar organização: Passo 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Antes de criar a sua organização, primeiro tem de criar uma conta pessoal gratuita." - }, - "refunded": { - "message": "Reembolsado" - }, - "nothingSelected": { - "message": "Não selecionou nada." - }, - "acceptPolicies": { - "message": "By checking this box you agree to the following:" - }, - "acceptPoliciesError": { - "message": "Terms of Service and Privacy Policy have not been acknowledged." - }, - "termsOfService": { - "message": "Termos de serviço" - }, - "privacyPolicy": { - "message": "Política de privacidade" - }, - "filters": { - "message": "Filtros" - }, - "vaultTimeout": { - "message": "Expiração do cofre" - }, - "vaultTimeoutDesc": { - "message": "Escolha quando o seu cofre irá expirar e realizar a ação selecionada." - }, - "oneMinute": { - "message": "1 minuto" - }, - "fiveMinutes": { - "message": "5 minutos" - }, - "fifteenMinutes": { - "message": "15 minutos" - }, - "thirtyMinutes": { - "message": "30 minutos" - }, - "oneHour": { - "message": "1 hora" - }, - "fourHours": { - "message": "4 horas" - }, - "onRefresh": { - "message": "Quando reiniciar o navegador" - }, - "dateUpdated": { - "message": "Atualizado", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Palavra-passe atualizada", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "A organização está desativada." - }, - "licenseIsExpired": { - "message": "A licença está expirada." - }, - "updatedUsers": { - "message": "Utilizadores atualizados" - }, - "selected": { - "message": "Selecionado(s)" - }, - "ownership": { - "message": "Propriedade" - }, - "whoOwnsThisItem": { - "message": "Quem é o proprietário deste item?" - }, - "strong": { - "message": "Forte", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Boa", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Fraca", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Muito fraca", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Palavra-passe mestra fraca" - }, - "weakMasterPasswordDesc": { - "message": "A palavra-passe mestra que escolheu é fraca. Deve utilizar uma palavra-passe mestra forte (ou uma frase-passe) para proteger adequadamente a sua conta Bitwarden. Tem a certeza de que pretende utilizar esta palavra-passe mestra?" - }, - "rotateAccountEncKey": { - "message": "Também rodar a chave de encriptação da minha conta" - }, - "rotateEncKeyTitle": { - "message": "Rodar chave de encriptação" - }, - "rotateEncKeyConfirmation": { - "message": "Tem a certeza de que pretende rodar a chave de encriptação da sua conta?" - }, - "attachmentsNeedFix": { - "message": "Este item tem anexos de ficheiros antigos que precisam de ser corrigidos." - }, - "attachmentFixDesc": { - "message": "Este é um anexo de ficheiro que precisa de ser corrigido. Clique para saber mais." - }, - "fix": { - "message": "Corrigir", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "Existem anexos de ficheiros antigos no seu cofre que precisam de ser corrigidos antes de poder rodar a chave de encriptação da sua conta." - }, - "yourAccountsFingerprint": { - "message": "A frase de impressão digital da sua conta", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "Para assegurar a integridade das suas chaves de encriptação, por favor verifique a frase de impressão digital do utilizador antes de continuar.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Não perguntar para verificar frase de impressão digital novamente", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Gratuito", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "Chave da API" - }, - "apiKeyDesc": { - "message": "A sua chave da API pode ser utilizada para autenticar na API pública Bitwarden." - }, - "apiKeyRotateDesc": { - "message": "Rodar a chave da API irá invalidar a chave anterior. Pode rodar a sua chave da API se achar que a chave atual já não é segura para uso." - }, - "apiKeyWarning": { - "message": "A sua chave da API tem acesso total à organização. Esta deve ser mantida secreta." - }, - "userApiKeyDesc": { - "message": "Your API key can be used to authenticate in the Bitwarden CLI." - }, - "userApiKeyWarning": { - "message": "Your API key is an alternative authentication mechanism. It should be kept secret." - }, - "oauth2ClientCredentials": { - "message": "Credenciais de cliente OAuth 2.0", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "Ver chave da API" - }, - "rotateApiKey": { - "message": "Rodar chave da API" - }, - "selectOneCollection": { - "message": "Tem de selecionar pelo menos uma coleção." - }, - "couldNotChargeCardPayInvoice": { - "message": "Não foi possível cobrar o seu cartão. Por favor verifique e efetue o pagamento da fatura por pagar listada abaixo." - }, - "inAppPurchase": { - "message": "Compra na aplicação" - }, - "cannotPerformInAppPurchase": { - "message": "Não pode realizar esta ação utilizando um método de pagamento dentro da aplicação." - }, - "manageSubscriptionFromStore": { - "message": "Terá de gerir a sua subscrição a partir da loja onde a sua compra na aplicação foi efetuada." - }, - "minLength": { - "message": "Comprimento mínimo" - }, - "clone": { - "message": "Clonar" - }, - "masterPassPolicyDesc": { - "message": "Defina os requisitos mínimos para a força da palavra-passe mestra." - }, - "twoStepLoginPolicyDesc": { - "message": "Requer que os utilizadores definam a autenticação de dois passos nas suas contas pessoais." - }, - "twoStepLoginPolicyWarning": { - "message": "Os membros da organização que não tenham a autenticação de dois passos ativada para sua conta pessoal, serão removidos da organização e receberão um email notificando-os acerca da alteração." - }, - "twoStepLoginPolicyUserWarning": { - "message": "É membro de uma organização que requer que a autenticação de dois passos esteja ativada na sua conta de utilizador. Se desativar todos os serviços de autenticação de dois passos, será automaticamente removido(a) dessas organizações." - }, - "passwordGeneratorPolicyDesc": { - "message": "Defina os requisitos mínimos para configuração do gerador de palavras-passe." - }, - "passwordGeneratorPolicyInEffect": { - "message": "Uma ou mais políticas da organização estão a afetar as suas definições do gerador." - }, - "masterPasswordPolicyInEffect": { - "message": "Uma ou mais políticas da organização requerem que a sua palavra-passe mestra cumpra aos seguintes requisitos:" - }, - "policyInEffectMinComplexity": { - "message": "Pontuação mínima de complexidade de $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Comprimento mínimo de $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Contém um ou mais caracteres em maiúsculas" - }, - "policyInEffectLowercase": { - "message": "Contém um ou mais caracteres em minúsculas" - }, - "policyInEffectNumbers": { - "message": "Contém um ou mais números" - }, - "policyInEffectSpecial": { - "message": "Contém um ou mais dos seguintes caracteres especiais $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "A sua nova palavra-passe mestra não cumpre os requisitos da política." - }, - "minimumNumberOfWords": { - "message": "Número mínimo de palavras" - }, - "defaultType": { - "message": "Tipo predefinido" - }, - "userPreference": { - "message": "Preferência do utilizador" - }, - "vaultTimeoutAction": { - "message": "Ação de expiração do cofre" - }, - "vaultTimeoutActionLockDesc": { - "message": "Um cofre bloqueado requer que reintroduza a sua palavra-passe mestra para aceder novamente." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "Um cofre com sessão terminada requer que se volte a autenticar para o poder aceder novamente." - }, - "lock": { - "message": "Bloquear", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Lixo", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Pesquisar lixo" - }, - "permanentlyDelete": { - "message": "Eliminar permanentemente" - }, - "permanentlyDeleteSelected": { - "message": "Eliminar selecionados permanentemente" - }, - "permanentlyDeleteItem": { - "message": "Eliminar item permanentemente" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Tem a certeza de que pretende eliminar este item permanentemente?" - }, - "permanentlyDeletedItem": { - "message": "Item eliminado permanentemente" - }, - "permanentlyDeletedItems": { - "message": "Itens eliminados permanentemente" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "Selecionou $COUNT$ item(s) para eliminar permanentemente. Tem a certeza de que pretende eliminar permanentemente todos estes itens?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Item $ID$ eliminado permanentemente.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Restaurar" - }, - "restoreSelected": { - "message": "Restaurar selecionados" - }, - "restoreItem": { - "message": "Restaurar item" - }, - "restoredItem": { - "message": "Item restaurado" - }, - "restoredItems": { - "message": "Itens restaurados" - }, - "restoreItemConfirmation": { - "message": "Tem a certeza de que pretende restaurar este item?" - }, - "restoreItems": { - "message": "Restaurar itens" - }, - "restoreSelectedItemsDesc": { - "message": "Selecionou $COUNT$ item(s) para restaurar. Tem a certeza de que pretende restaurar todos estes itens?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Item $ID$ restaurado.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Terminar sessão irá remover todos os acessos ao seu cofre e requer autenticação online após o período de expiração. Tem a certeza de que pretende utilizar esta definição?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Confirmação de expiração do cofre" - }, - "hidePasswords": { - "message": "Ocultar palavras-passe" - }, - "countryPostalCodeRequiredDesc": { - "message": "Requeremos esta informação para calcular imposto sobre vendas e relatórios financeiros apenas." - }, - "includeVAT": { - "message": "Incluir informações de IVA/GST (opcional)" - }, - "taxIdNumber": { - "message": "ID de imposto IVA/GST" - }, - "taxInfoUpdated": { - "message": "Informação fiscal atualizada." - }, - "setMasterPassword": { - "message": "Definir palavra-passe mestra" - }, - "ssoCompleteRegistration": { - "message": "Para concluir o início de sessão com SSO, por favor defina uma palavra-passe mestra para aceder e proteger o seu cofre." - }, - "identifier": { - "message": "Identificador" - }, - "organizationIdentifier": { - "message": "Identificador da organização" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Inicie sessão utilizando o portal de início de sessão único da sua organização. Por favor introduza o identificador da sua organização para começar." - }, - "enterpriseSingleSignOn": { - "message": "Início de Sessão Único da Empresa" - }, - "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." - }, - "businessPortal": { - "message": "Portal de Empresas", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "Todas as funcionalidades de Equipas, mais:" - }, - "includeSsoAuthentication": { - "message": "Autenticação SSO via SAML2.0 e OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Políticas empresariais" - }, - "ssoValidationFailed": { - "message": "Validação SSO falhou" - }, - "ssoIdentifierRequired": { - "message": "Identificador da organização é requerido." - }, - "unlinkSso": { - "message": "Desligar SSO" - }, - "linkSso": { - "message": "Ligar SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "Policy configuration has been moved, and this page will soon be deprecated. Please click below to use the Business Portal policies page instead." - }, - "singleOrg": { - "message": "Single Organization" - }, - "singleOrgDesc": { - "message": "Restrict users from being able to join any other organizations." - }, - "singleOrgBlockCreateMessage": { - "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." - }, - "singleOrgPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and are already a member of another organization will be removed from your organization." - }, - "requireSso": { - "message": "Single Sign-On Authentication" - }, - "requireSsoPolicyDesc": { - "message": "Require users to log in with the Enterprise Single Sign-On method." - }, - "prerequisite": { - "message": "Prerequisite" - }, - "requireSsoPolicyReq": { - "message": "The Single Organization enterprise policy must be enabled before activating this policy." - }, - "requireSsoPolicyReqError": { - "message": "Single Organization policy not enabled." - }, - "requireSsoExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "sendTypeFile": { - "message": "Ficheiro" - }, - "sendTypeText": { - "message": "Texto" - }, - "createSend": { - "message": "Create New Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Edit Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Created Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Edited Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Deleted Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Delete Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Are you sure you want to delete this Send?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "What type of Send is this?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Deletion Date" - }, - "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Expiration Date" - }, - "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Maximum Access Count" - }, - "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Current Access Count" - }, - "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Private notes about this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Disabled" - }, - "sendLink": { - "message": "Send Link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Copy Send Link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Remove Password" - }, - "removedPassword": { - "message": "Removed Password" - }, - "removePasswordConfirmation": { - "message": "Are you sure you want to remove the password?" - }, - "disableThisSend": { - "message": "Disable this Send so that no one can access it.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "All Sends" - }, - "maxAccessCountReached": { - "message": "Max access count reached" - }, - "pendingDeletion": { - "message": "Pending deletion" - }, - "expired": { - "message": "Expired" - }, - "searchSends": { - "message": "Search Sends", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "This Send is protected with a password. Please type the password below to continue.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Don't know the password? Ask the Sender for the password needed to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "This send is hidden by default. You can toggle its visibility using the button below.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Descarregar Ficheiro" - }, - "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "There are no Sends to list.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Emergency Access" - }, - "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." - }, - "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" - }, - "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." - }, - "addEmergencyContact": { - "message": "Add emergency contact" - }, - "designatedEmergencyContacts": { - "message": "Designated as emergency contact" - }, - "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." - }, - "inviteEmergencyContact": { - "message": "Invite emergency contact" - }, - "editEmergencyContact": { - "message": "Edit emergency contact" - }, - "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" - }, - "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" - }, - "viewDesc": { - "message": "Can view all items in your own vault." - }, - "takeover": { - "message": "Takeover" - }, - "takeoverDesc": { - "message": "Can reset your account with a new master password." - }, - "waitTime": { - "message": "Wait Time" - }, - "waitTimeDesc": { - "message": "Time required before automatically granting access." - }, - "oneDay": { - "message": "1 day" - }, - "days": { - "message": "$DAYS$ days", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Invited user." - }, - "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." - }, - "requestAccess": { - "message": "Request Access" - }, - "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Approve" - }, - "reject": { - "message": "Reject" - }, - "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Emergency access approved." - }, - "emergencyRejected": { - "message": "Emergency access rejected" - }, - "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Personal Ownership" - }, - "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." - }, - "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." - }, - "modifiedPolicyId": { - "message": "Modified policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Plan price" - }, - "estimatedTax": { - "message": "Estimated tax" - }, - "custom": { - "message": "Custom" - }, - "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." - }, - "permissions": { - "message": "Permissions" - }, - "accessBusinessPortal": { - "message": "Access Business Portal" - }, - "accessEventLogs": { - "message": "Access Event Logs" - }, - "accessImportExport": { - "message": "Access Import/Export" - }, - "accessReports": { - "message": "Access Reports" - }, - "manageAllCollections": { - "message": "Manage All Collections" - }, - "manageAssignedCollections": { - "message": "Manage Assigned Collections" - }, - "manageGroups": { - "message": "Manage Groups" - }, - "managePolicies": { - "message": "Manage Policies" - }, - "manageSso": { - "message": "Manage SSO" - }, - "manageUsers": { - "message": "Manage Users" - }, - "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." - }, - "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." - }, - "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" - }, - "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/ro/messages.json b/locales/ro/messages.json deleted file mode 100644 index 1a9e5985..00000000 --- a/locales/ro/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "Seif web $APP_NAME$", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "Ce fel de articol este acesta?" - }, - "name": { - "message": "Denumire" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "URI nou" - }, - "username": { - "message": "Nume utilizator" - }, - "password": { - "message": "Parolă" - }, - "newPassword": { - "message": "Parolă nouă" - }, - "passphrase": { - "message": "Frază de acces" - }, - "notes": { - "message": "Note" - }, - "customFields": { - "message": "Câmpuri particularizate" - }, - "cardholderName": { - "message": "Deținător card" - }, - "number": { - "message": "Număr card" - }, - "brand": { - "message": "Tip card" - }, - "expiration": { - "message": "Expirare" - }, - "securityCode": { - "message": "Cod de securitate (CVV/CVC)" - }, - "identityName": { - "message": "Nume identitate" - }, - "company": { - "message": "Companie" - }, - "ssn": { - "message": "Cod Numeric Personal" - }, - "passportNumber": { - "message": "Număr CI / Pașaport" - }, - "licenseNumber": { - "message": "Număr licență" - }, - "email": { - "message": "E-mail" - }, - "phone": { - "message": "Telefon" - }, - "january": { - "message": "ianuarie" - }, - "february": { - "message": "februarie" - }, - "march": { - "message": "martie" - }, - "april": { - "message": "aprilie" - }, - "may": { - "message": "mai" - }, - "june": { - "message": "iunie" - }, - "july": { - "message": "iulie" - }, - "august": { - "message": "august" - }, - "september": { - "message": "septembrie" - }, - "october": { - "message": "octombrie" - }, - "november": { - "message": "noiembrie" - }, - "december": { - "message": "decembrie" - }, - "title": { - "message": "Titlu" - }, - "mr": { - "message": "Dl" - }, - "mrs": { - "message": "Dna" - }, - "ms": { - "message": "Dra" - }, - "dr": { - "message": "Dr." - }, - "expirationMonth": { - "message": "Luna expirării" - }, - "expirationYear": { - "message": "Anul expirării" - }, - "authenticatorKeyTotp": { - "message": "Cheie autentificare (TOTP)" - }, - "folder": { - "message": "Dosar" - }, - "newCustomField": { - "message": "Câmp nou particularizat" - }, - "value": { - "message": "Valoare" - }, - "dragToSort": { - "message": "Tragere pentru sortare" - }, - "cfTypeText": { - "message": "Text" - }, - "cfTypeHidden": { - "message": "Ascuns" - }, - "cfTypeBoolean": { - "message": "Valoare logică" - }, - "remove": { - "message": "Ștergere" - }, - "unassigned": { - "message": "Nealocat" - }, - "noneFolder": { - "message": "Fără dosar", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Adăugare dosar" - }, - "editFolder": { - "message": "Editare dosar" - }, - "baseDomain": { - "message": "Domeniu de bază" - }, - "host": { - "message": "Gazdă", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Exact" - }, - "startsWith": { - "message": "Începe cu" - }, - "regEx": { - "message": "Expresie regulată", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Detectare de potrivire", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Detectare de potrivire implicită", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Niciodată" - }, - "toggleVisibility": { - "message": "Comutare vizibilitate" - }, - "toggleCollapse": { - "message": "Restrângere / Extindere", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Generare parolă" - }, - "checkPassword": { - "message": "Verificați dacă parola a fost dezvăluită." - }, - "passwordExposed": { - "message": "Această parolă a fost dezvăluită de $VALUE$ ori în breșe de date. Ar trebui să o schimbați.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "Această parolă nu a fost găsită în nicio breșă de date cunoscută. Ar trebui să fie sigură de utilizat." - }, - "save": { - "message": "Salvare" - }, - "cancel": { - "message": "Anulare" - }, - "canceled": { - "message": "Anulat" - }, - "close": { - "message": "Închidere" - }, - "delete": { - "message": "Ștergere" - }, - "favorite": { - "message": "Favorit" - }, - "unfavorite": { - "message": "Scoatere din favorite" - }, - "edit": { - "message": "Editare" - }, - "searchCollection": { - "message": "Căutare în colecție" - }, - "searchFolder": { - "message": "Căutare în dosar" - }, - "searchFavorites": { - "message": "Căutare în favorite" - }, - "searchType": { - "message": "Căutare în tipuri", - "description": "Search item type" - }, - "searchVault": { - "message": "Căutare în seif" - }, - "allItems": { - "message": "Toate elementele" - }, - "favorites": { - "message": "Favorite" - }, - "types": { - "message": "Tipuri" - }, - "typeLogin": { - "message": "Conectare" - }, - "typeCard": { - "message": "Card" - }, - "typeIdentity": { - "message": "Identitate" - }, - "typeSecureNote": { - "message": "Notă protejată" - }, - "folders": { - "message": "Dosare" - }, - "collections": { - "message": "Colecții" - }, - "firstName": { - "message": "Prenume" - }, - "middleName": { - "message": "Al doilea prenume" - }, - "lastName": { - "message": "Nume" - }, - "address1": { - "message": "Adresă 1" - }, - "address2": { - "message": "Adresă 2" - }, - "address3": { - "message": "Adresă 3" - }, - "cityTown": { - "message": "Localitate" - }, - "stateProvince": { - "message": "Județ" - }, - "zipPostalCode": { - "message": "Cod poștal" - }, - "country": { - "message": "Țară" - }, - "shared": { - "message": "Partajat" - }, - "attachments": { - "message": "Atașamente" - }, - "select": { - "message": "Selectare" - }, - "addItem": { - "message": "Adăugare articol" - }, - "editItem": { - "message": "Editare articol" - }, - "viewItem": { - "message": "Afișare articol" - }, - "ex": { - "message": "ex.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Altele" - }, - "share": { - "message": "Partajare" - }, - "valueCopied": { - "message": "$VALUE$ s-a copiat", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Copiere valoare", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Copiere parolă", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Copiere nume utilizator", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Copiere număr", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Copiere cod de securitate", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Copiere URI", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "Seiful meu" - }, - "vault": { - "message": "Seif" - }, - "shareSelected": { - "message": "Partajare selecție" - }, - "deleteSelected": { - "message": "Ștergere selecție" - }, - "moveSelected": { - "message": "Mutare selecție" - }, - "selectAll": { - "message": "Selectare totală" - }, - "unselectAll": { - "message": "Deselectare totală" - }, - "launch": { - "message": "Lansare" - }, - "newAttachment": { - "message": "Adăugare atașament nou" - }, - "deletedAttachment": { - "message": "Atașamentul s-a șters" - }, - "deleteAttachmentConfirmation": { - "message": "Sigur doriți să ștergeți acest atașament?" - }, - "attachmentSaved": { - "message": "Atașamentul a fost salvat." - }, - "file": { - "message": "Fișier" - }, - "selectFile": { - "message": "Selectare fișier." - }, - "maxFileSize": { - "message": "Mărimea maximă a fișierului este de 100 MB." - }, - "updateKey": { - "message": "Veți putea utiliza această caracteristică după ce veți actualiza cheia de criptare." - }, - "addedItem": { - "message": "Articol adăugat" - }, - "editedItem": { - "message": "Articol editat" - }, - "sharedItem": { - "message": "Articol partajat" - }, - "sharedItems": { - "message": "Articole partajate" - }, - "deleteItem": { - "message": "Ștergere articol" - }, - "deleteFolder": { - "message": "Ștergere dosar" - }, - "deleteAttachment": { - "message": "Ștergere atașament" - }, - "deleteItemConfirmation": { - "message": "Sigur doriți să trimiteți în coșul de reciclare?" - }, - "deletedItem": { - "message": "Articolul a fost trimis în coșul de reciclare" - }, - "deletedItems": { - "message": "Articolele au fost trimise în coșul de reciclare" - }, - "movedItems": { - "message": "Articole mutate" - }, - "overwritePasswordConfirmation": { - "message": "Sigur doriți să suprascrieți parola curentă?" - }, - "editedFolder": { - "message": "Dosar editat" - }, - "addedFolder": { - "message": "Dosar adăugat" - }, - "deleteFolderConfirmation": { - "message": "Sigur doriți să ștergeți acest folder?" - }, - "deletedFolder": { - "message": "Dosar șters" - }, - "loggedOut": { - "message": "Deconectat" - }, - "loginExpired": { - "message": "Sesiunea de autentificare a expirat." - }, - "logOutConfirmation": { - "message": "Sigur doriți să vă deconectați?" - }, - "logOut": { - "message": "Deconectare" - }, - "ok": { - "message": "Ok" - }, - "yes": { - "message": "Da" - }, - "no": { - "message": "Nu" - }, - "loginOrCreateNewAccount": { - "message": "Autentificați-vă sau creați un cont nou pentru a accesa seiful dvs. securizat." - }, - "createAccount": { - "message": "Creare cont" - }, - "logIn": { - "message": "Conectare" - }, - "submit": { - "message": "Trimitere" - }, - "emailAddressDesc": { - "message": "Vă veți folosi adresa de e-mail pentru a vă conecta." - }, - "yourName": { - "message": "Numele dvs." - }, - "yourNameDesc": { - "message": "Cum ar trebui să vă numim?" - }, - "masterPass": { - "message": "Parolă principală" - }, - "masterPassDesc": { - "message": "Parola principală este parola pe care o utilizați pentru a vă accesa seiful. Este foarte important să nu uitați această parolă. Nu există nicio modalitate de a recupera parola în cazul în care ați uitat-o." - }, - "masterPassHintDesc": { - "message": "Un indiciu pentru parola principală vă poate ajuta să v-o reamintiți dacă o uitați." - }, - "reTypeMasterPass": { - "message": "Reintroducere parolă principală" - }, - "masterPassHint": { - "message": "Indiciu pentru parola principală (opțional)" - }, - "masterPassHintLabel": { - "message": "Indiciu pentru parola principală" - }, - "settings": { - "message": "Setări" - }, - "passwordHint": { - "message": "Indiciu parolă" - }, - "enterEmailToGetHint": { - "message": "Adresa de e-mail a contului pentru primirea indiciului parolei principale." - }, - "getMasterPasswordHint": { - "message": "Obținere indiciu parolă principală" - }, - "emailRequired": { - "message": "Adresa de e-mail este necesară." - }, - "invalidEmail": { - "message": "Adresă de e-mail greșită." - }, - "masterPassRequired": { - "message": "Este necesară parola principală." - }, - "masterPassLength": { - "message": "Parola principală trebuie să conțină minimum 8 caractere." - }, - "masterPassDoesntMatch": { - "message": "Parola principală și confirmarea ei nu coincid!" - }, - "newAccountCreated": { - "message": "Noul dvs. cont a fost creat! Acum vă puteți autentifica." - }, - "masterPassSent": { - "message": "V-am trimis un e-mail cu indiciul parolei principale." - }, - "unexpectedError": { - "message": "A survenit o eroare neașteptată." - }, - "emailAddress": { - "message": "Adresă de e-mail" - }, - "yourVaultIsLocked": { - "message": "Seiful dvs. este blocat. Verificați parola principală pentru a continua." - }, - "unlock": { - "message": "Deblocare" - }, - "loggedInAsEmailOn": { - "message": "Autentificat ca $EMAIL$ pe $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Parolă principală incorectă" - }, - "lockNow": { - "message": "Blocare acum" - }, - "noItemsInList": { - "message": "Niciun articol de afișat." - }, - "noCollectionsInList": { - "message": "Nicio colecție de afișat." - }, - "noGroupsInList": { - "message": "Niciun grup de afișat." - }, - "noUsersInList": { - "message": "Niciun utilizator de afișat." - }, - "noEventsInList": { - "message": "Niciun eveniment de afișat." - }, - "newOrganization": { - "message": "Organizație nouă" - }, - "noOrganizationsList": { - "message": "Nu aparțineți niciunei organizații. Organizațiile vă permit să partajați în siguranță articole cu alți utilizatori." - }, - "versionNumber": { - "message": "Versiunea $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Introducere cod de verificare din 6 cifre din aplicația de autentificare." - }, - "enterVerificationCodeEmail": { - "message": "Introducere cod de verificare din 6 cifre care a fost trimis prin e-mail la $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "E-mailul de verificare a fost trimis la $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Memorare autentificare" - }, - "sendVerificationCodeEmailAgain": { - "message": "Retrimitere e-mail cu codul de verificare" - }, - "useAnotherTwoStepMethod": { - "message": "Utilizare de metodă diferită de autentificare în două etape" - }, - "insertYubiKey": { - "message": "Introduceți YubiKey în portul USB al calculatorului apoi apăsați butonul acestuia." - }, - "insertU2f": { - "message": "Introduceți cheia de securitate în portul USB al computerului. Dacă are un buton, apăsați-l." - }, - "loginUnavailable": { - "message": "Conectare indisponibilă" - }, - "noTwoStepProviders": { - "message": "Acest cont are activată autentificarea în două etape, dar niciunul dintre furnizorii configurați pentru aceasta nu este acceptat de acest browser web." - }, - "noTwoStepProviders2": { - "message": "Utilizați un browser acceptat (cum ar fi Chrome) și/sau adăugați furnizori suplimentari mai bine susținuți de browserele web (cum ar fi o aplicație de autentificare)." - }, - "twoStepOptions": { - "message": "Opțiuni de autentificare în două etape" - }, - "recoveryCodeDesc": { - "message": "Ați pierdut accesul la toți furnizorii de autentificare în două etape? Utilizați codul de recuperare pentru a dezactiva toți acești furnizori din contul dvs." - }, - "recoveryCodeTitle": { - "message": "Cod de recuperare" - }, - "authenticatorAppTitle": { - "message": "Aplicație de autentificare" - }, - "authenticatorAppDesc": { - "message": "Utilizați o aplicație de autentificare (cum ar fi Authy sau Google Authenticator) pentru a genera codurile de verificare bazate pe timp.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "Cheie de securitate YubiKey OTP" - }, - "yubiKeyDesc": { - "message": "Utilizați un YubiKey pentru a vă accesa contul. Funcționează cu dispozitivele YubiKey serie 4, 5 și NEO." - }, - "duoDesc": { - "message": "Verificați cu Duo Security utilizând aplicația Duo Mobile, SMS, apel telefonic sau cheia de securitate U2F.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Verificați cu Duo Security pentru organizația dvs. utilizând aplicația Duo Mobile, SMS, apel telefonic sau cheia de securitate U2F.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Utilizați orice cheie de securitate activată FIDO U2F pentru a vă accesa contul." - }, - "u2fTitle": { - "message": "Cheie de securitate FIDO U2F" - }, - "emailTitle": { - "message": "E-mail" - }, - "emailDesc": { - "message": "Codurile de verificare vor fi trimise prin e-mail." - }, - "continue": { - "message": "Continuare" - }, - "organization": { - "message": "Organizație" - }, - "organizations": { - "message": "Organizații" - }, - "shareDesc": { - "message": "Alegeți o organizație cu care doriți să partajați acest articol. Partajarea transferă proprietatea asupra articolului către organizație. Nu veți mai fi proprietarul direct al acestuia după ce a fost partajat." - }, - "shareManyDesc": { - "message": "Alegeți o organizație cu care doriți să partajați aceste articole. Partajarea transferă proprietatea asupra articolelor către organizație. Nu veți mai fi proprietarul direct al acestora după ce au fost partajate." - }, - "collectionsDesc": { - "message": "Editați colecțiile cu care este partajat acest articol. Numai utilizatorii organizației cu acces la aceste colecții vor putea vedea acest articol." - }, - "deleteSelectedItemsDesc": { - "message": "Ați selectat $COUNT$ articole pentru ștergere. Sigur doriți să ștergeți toate aceste articole?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Alegeți un dosar în care doriți să mutați $COUNT$ articole selectate.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "Ați selectat $COUNT$ articole. $SHAREABLE_COUNT$ articole sunt partajabile, $NONSHAREABLE_COUNT$ nu sunt.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Cod de verificare (TOTP)" - }, - "copyVerificationCode": { - "message": "Copiere cod de verificare" - }, - "warning": { - "message": "Avertisment" - }, - "confirmVaultExport": { - "message": "Confirmare export seif" - }, - "exportWarningDesc": { - "message": "Acest export conține datele dvs. din seif în format necriptat. Nu ar trebui să stocați sau să trimiteți fișierul pe canale nesecurizate (cum ar fi e-mail). Ștergeți-l imediat după ce nu îl mai folosiți." - }, - "encExportWarningDesc": { - "message": "Acest export criptează datele folosind cheia de criptare a contului. Dacă schimbați vreodată cheia de criptare a contului, ar trebui să o exportați din nou, deoarece nu veți putea decripta acest fișier exportat." - }, - "exportMasterPassword": { - "message": "Introducere parolă principală pentru exportarea datelor seifului." - }, - "exportVault": { - "message": "Export seif" - }, - "fileFormat": { - "message": "Format fișier" - }, - "exportSuccess": { - "message": "Datele seifului dvs. au fost exportate." - }, - "passwordGenerator": { - "message": "Generator de parole" - }, - "minComplexityScore": { - "message": "Scor minim de complexitate" - }, - "minNumbers": { - "message": "Minimum de cifre" - }, - "minSpecial": { - "message": "Minimum de caractere speciale", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Se evită caracterele ambigue" - }, - "regeneratePassword": { - "message": "Regenerare parolă" - }, - "length": { - "message": "Lungime" - }, - "numWords": { - "message": "Număr de cuvinte" - }, - "wordSeparator": { - "message": "Separator de cuvinte" - }, - "capitalize": { - "message": "Se folosesc majuscule inițiale", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Se includ cifre" - }, - "passwordHistory": { - "message": "Istoric parole" - }, - "noPasswordsInList": { - "message": "Nicio parolă de afișat." - }, - "clear": { - "message": "Ștergere", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Contul s-a actualizat" - }, - "changeEmail": { - "message": "Schimbare adresă e-mail" - }, - "newEmail": { - "message": "E-mail nou" - }, - "code": { - "message": "Cod" - }, - "changeEmailDesc": { - "message": "Am trimis prin e-mail un cod de verificare la $EMAIL$. Verificați e-mailul pentru acest cod și introduceți-l mai jos pentru a finaliza schimbarea adresei de e-mail.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Continuând, veți fi deconectat de la sesiunea curentă, solicitându-vă să vă conectați din nou. Sesiunile active pe alte dispozitive pot continua să rămână active timp de până la o oră." - }, - "emailChanged": { - "message": "E-mailul a fost modificat" - }, - "logBackIn": { - "message": "Vă rugăm să vă conectați din nou." - }, - "logBackInOthersToo": { - "message": "Vă rugăm să vă reconectați. Dacă utilizați și alte aplicații Bitwarden, reconectați-vă la ele de asemenea." - }, - "changeMasterPassword": { - "message": "Schimbare parolă principală" - }, - "masterPasswordChanged": { - "message": "Parolă principală schimbată" - }, - "currentMasterPass": { - "message": "Parola principală curentă" - }, - "newMasterPass": { - "message": "Parolă principală nouă" - }, - "confirmNewMasterPass": { - "message": "Confirmare parolă principală nouă" - }, - "encKeySettings": { - "message": "Setări cheie de criptare" - }, - "kdfAlgorithm": { - "message": "Algoritm KDF" - }, - "kdfIterations": { - "message": "Iterații KDF" - }, - "kdfIterationsDesc": { - "message": "Un număr de iterații KDF mai mare vă poate ajuta la protejarea parolei principale de un atac prin forța brută de către un atacator. Vă recomandăm o valoare de $VALUE$ sau mai mare.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Setarea iterațiilor KDF prea sus poate duce la performanțe slabe la conectarea (și deblocarea) Bitwarden pe dispozitive cu procesoare mai lente. Vă recomandăm să măriți valoarea în trepte de $INCREMENT$ și apoi să testați toate dispozitivele.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Modificare KDF" - }, - "encKeySettingsChanged": { - "message": "Setările cheii de criptare s-au modificat" - }, - "dangerZone": { - "message": "Zonă periculoasă" - }, - "dangerZoneDesc": { - "message": "Atenție, aceste acțiuni nu sunt reversibile!" - }, - "deauthorizeSessions": { - "message": "Revocare sesiuni" - }, - "deauthorizeSessionsDesc": { - "message": "Sunteți preocupat de faptul că v-ați conectat pe alt dispozitiv cu contul dvs.? Continuați în modul indicat mai jos pentru a revoca autorizarea computerelor sau dispozitivelor folosite anterior. Această măsură de securitate se recomandă dacă ați folosit anterior un computer public sau ați salvat neintenționat parola pe un dispozitiv care nu vă aparține. Aceasta va elimina, de asemenea, toate sesiunile de conectare în două etape stocate anterior." - }, - "deauthorizeSessionsWarning": { - "message": "Continuând, veți fi deconectat de asemenea de la sesiunea curentă, solicitându-vă să vă reconectați. De asemenea, vi se va solicita din nou autentificarea în două etape, dacă este activată. Sesiunile active pe alte dispozitive pot continua să rămână active timp de până la o oră." - }, - "sessionsDeauthorized": { - "message": "Toate sesiunile au fost revocate" - }, - "purgeVault": { - "message": "Curățare seif" - }, - "purgedOrganizationVault": { - "message": "Seiful organizației a fost curățat." - }, - "purgeVaultDesc": { - "message": "Continuați în modul indicat mai jos pentru a șterge toate articolele și dosarele din seiful dvs. Articolele care aparțin unei organizații din care sunteți membru nu vor fi șterse." - }, - "purgeOrgVaultDesc": { - "message": "Continuați în modul indicat mai jos pentru a șterge toate articolele din seiful organizației." - }, - "purgeVaultWarning": { - "message": "Curățarea seifului dvs. este definitivă. Nu poate fi anulată." - }, - "vaultPurged": { - "message": "Seiful dvs. a fost curățat." - }, - "deleteAccount": { - "message": "Ștergere cont" - }, - "deleteAccountDesc": { - "message": "Continuați în modul indicat mai jos pentru a vă șterge contul și toate datele asociate." - }, - "deleteAccountWarning": { - "message": "Ștergerea contului dvs. este definitivă. Nu poate fi anulată." - }, - "accountDeleted": { - "message": "Contul a fost șters" - }, - "accountDeletedDesc": { - "message": "Contul dvs. a fost închis și toate datele asociate au fost șterse." - }, - "myAccount": { - "message": "Contul meu" - }, - "tools": { - "message": "Unelte" - }, - "importData": { - "message": "Import de date" - }, - "importSuccess": { - "message": "Datele au fost importate cu succes în seiful dvs." - }, - "importFormatError": { - "message": "Datele nu au formatul corect. Vă rugăm să verificați fișierul de import și încercați din nou." - }, - "importNothingError": { - "message": "Nu s-a importat nimic." - }, - "selectFormat": { - "message": "Alegeți din listă formatul fișierului de import" - }, - "selectImportFile": { - "message": "Alegeți fișierul de import" - }, - "orCopyPasteFileContents": { - "message": " sau copiați/lipiți conținutul fișierului de import" - }, - "instructionsFor": { - "message": "Instrucțiuni $NAME$", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Opțiuni" - }, - "optionsDesc": { - "message": "Personalizați-vă experiența în seiful web." - }, - "optionsUpdated": { - "message": "Opțiunile s-au actualizat" - }, - "language": { - "message": "Limbă" - }, - "languageDesc": { - "message": "Alegeți limba în care folosiți seiful web." - }, - "disableIcons": { - "message": "Dezactivare iconuri sait" - }, - "disableIconsDesc": { - "message": "Iconurile saiturilor oferă o imagine identificabilă lângă fiecare element de conectare din seiful dvs." - }, - "enableGravatars": { - "message": "Activare Gravatars", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Folosește imagini avatar încărcate de pe gravatar.com." - }, - "enableFullWidth": { - "message": "Activare aspect seif cu lățimea completă", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Permite seifului web să se extindă pe toată lățimea ferestrei browserului." - }, - "default": { - "message": "Implicit" - }, - "domainRules": { - "message": "Reguli de domeniu" - }, - "domainRulesDesc": { - "message": "Dacă aveți aceleași date de autentificare pe mai multe domenii web diferite, puteți marca saitul web ca \"echivalent\". Domeniile \"globale\" sunt cele create deja de Bitwarden pentru dvs." - }, - "globalEqDomains": { - "message": "Domenii globale echivalente" - }, - "customEqDomains": { - "message": "Domenii personalizate echivalente" - }, - "exclude": { - "message": "Excludere" - }, - "include": { - "message": "Includere" - }, - "customize": { - "message": "Personalizare" - }, - "newCustomDomain": { - "message": "Domeniu nou personalizat" - }, - "newCustomDomainDesc": { - "message": "Introduceți o listă de domenii separate prin virgulă. Sunt permise doar domeniile de \"bază\". Nu introduceți subdomenii. De exemplu, introduceți \"google.com\" în loc de \"www.google.com\". Puteți introduce și \"androidapp://package.name\" pentru a asocia o aplicație Android cu alte domenii de site-uri web." - }, - "customDomainX": { - "message": "Domeniu personalizat $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Domenii s-au actualizat" - }, - "twoStepLogin": { - "message": "Autentificare în două etape" - }, - "twoStepLoginDesc": { - "message": "Vă securizează contul solicitând un pas suplimentar la conectare." - }, - "twoStepLoginOrganizationDesc": { - "message": "Necesită autentificarea în două etape pentru utilizatorii organizației dvs. prin configurarea furnizorilor la nivel de organizație." - }, - "twoStepLoginRecoveryWarning": { - "message": "Activarea autentificării în două etape vă poate bloca definitiv din contul Bitwarden. Un cod de recuperare vă permite să vă accesați contul când nu mai puteți utiliza furnizorul dvs. normal de autentificare în două etape (ex. vă pierdeți dispozitivul). Asistența Bitwarden nu vă va putea ajuta dacă pierdeți accesul la contul dvs. Vă recomandăm să notați sau să imprimați codul de recuperare și să îl păstrați într-un loc sigur." - }, - "viewRecoveryCode": { - "message": "Afișare cod de recuperare" - }, - "providers": { - "message": "Furnizori", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Activare" - }, - "enabled": { - "message": "Activat" - }, - "premium": { - "message": "Premium", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Membru Premium" - }, - "premiumRequired": { - "message": "Este necesară versiunea Premium" - }, - "premiumRequiredDesc": { - "message": "Este necesar statutul de membru Premium pentru a utiliza această caracteristică." - }, - "youHavePremiumAccess": { - "message": "Aveți acces premium" - }, - "alreadyPremiumFromOrg": { - "message": "Aveți deja acces la funcții premium datorită organizației la care sunteți membru." - }, - "manage": { - "message": "Gestionare" - }, - "disable": { - "message": "Dezactivare" - }, - "twoStepLoginProviderEnabled": { - "message": "Acest furnizor de autentificare în două etape este activat în contul dvs." - }, - "twoStepLoginAuthDesc": { - "message": "Introduceți parola principală pentru a modifica setările de autentificare în două etape." - }, - "twoStepAuthenticatorDesc": { - "message": "Urmați acești pași pentru a configura autentificarea în două etape cu o aplicație de autentificare:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Descărcați o aplicație de autentificare în două etape" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Aveți nevoie de o aplicație de autentificare în două etape? Descărcați una dintre următoarele" - }, - "iosDevices": { - "message": "Dispozitive iOS" - }, - "androidDevices": { - "message": "Dispozitive Android" - }, - "windowsDevices": { - "message": "Dispozitive Windows" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "Aceste aplicații sunt recomandate, cu toate acestea, vor funcționa și alte aplicații de autentificare." - }, - "twoStepAuthenticatorScanCode": { - "message": "Scanați acest cod QR cu aplicația dvs. de autentificare" - }, - "key": { - "message": "Cheie" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Introduceți codul de verificare din 6 cifre din aplicație" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "Dacă trebuie să-l adăugați la un alt dispozitiv, mai jos este codul QR (sau cheia) cerut de aplicația dvs. de autentificare." - }, - "twoStepDisableDesc": { - "message": "Sigur doriți să dezactivați acest furnizor de autentificare în două etape?" - }, - "twoStepDisabled": { - "message": "Furnizorul de autentificare în două etape a fost dezactivat." - }, - "twoFactorYubikeyAdd": { - "message": "Etape de urmat pentru a vă adăuga o nouă cheie in cont." - }, - "twoFactorYubikeyPlugIn": { - "message": "Conectați YubiKey la portul USB al computerului." - }, - "twoFactorYubikeySelectKey": { - "message": "Alegeți primul câmp de intrare YubiKey gol de mai jos." - }, - "twoFactorYubikeyTouchButton": { - "message": "Atingeți butonul YubiKey." - }, - "twoFactorYubikeySaveForm": { - "message": "Salvați formularul." - }, - "twoFactorYubikeyWarning": { - "message": "Drept consecință a limitărilor platformei, YubiKey-urile nu se pot utiliza pe toate aplicațiile Bitwarden. Ar trebui să activați un alt furnizor de conectare în două etape pentru a vă accesa contul atunci când YubiKey-urile nu se pot utiliza. Platforme acceptate:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Seiful web, aplicația desktop, CLI (Command-Line Interface), și toate extensiile de browser de pe un dispozitiv cu un port USB care poate accepta YubiKey." - }, - "twoFactorYubikeySupportMobile": { - "message": "Aplicații mobile pe un dispozitiv cu tehnologia NFC integrată sau un port de date care poate accepta YubiKey." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "Cheie U2F $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "Suport NFC" - }, - "twoFactorYubikeySupportsNfc": { - "message": "Una dintre cheile mele acceptă NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "Dacă unul din YubiKey-urile dvs. suportă NFC (cum ar fi un YubiKey NEO), vi se va solicita pe dispozitivele mobile ori de câte ori este detectată disponibilitatea NFC." - }, - "yubikeysUpdated": { - "message": "YubiKey-urile s-au actualizat" - }, - "disableAllKeys": { - "message": "Dezactivare a tuturor cheilor" - }, - "twoFactorDuoDesc": { - "message": "Introduceți informațiile despre aplicația Bitwarden din panoul dvs. Duo Admin." - }, - "twoFactorDuoIntegrationKey": { - "message": "Cheie de integrare" - }, - "twoFactorDuoSecretKey": { - "message": "Cheie secretă" - }, - "twoFactorDuoApiHostname": { - "message": "Numele gazdei API" - }, - "twoFactorEmailDesc": { - "message": "Urmați acești pași pentru a configura conectarea în două etape cu e-mail:" - }, - "twoFactorEmailEnterEmail": { - "message": "Introducere de adresă de e-mail la care doriți să primiți codurile de verificare" - }, - "twoFactorEmailEnterCode": { - "message": "Introducere cod de verificare din 6 cifre din e-mail" - }, - "sendEmail": { - "message": "Trimitere e-mail" - }, - "twoFactorU2fAdd": { - "message": "Adăugare de cheie de securitate FIDO U2F în contul dvs." - }, - "removeU2fConfirmation": { - "message": "Sigur doriți să eliminați această cheie de securitate?" - }, - "readKey": { - "message": "Citire cheie" - }, - "keyCompromised": { - "message": "Cheia este compromisă." - }, - "twoFactorU2fGiveName": { - "message": "Dați cheii de securitate un nume prietenos pentru a o identifica." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Conectați cheia de securitate la portul USB al computerului și clicați pe butonul \"Citire cheie\"." - }, - "twoFactorU2fTouchButton": { - "message": "Când cheia de securitate are un buton, atingeți-l." - }, - "twoFactorU2fSaveForm": { - "message": "Salvați formularul." - }, - "twoFactorU2fWarning": { - "message": "Drept consecință a limitărilor platformei, FIDO U2F nu poate fi utilizat pe toate aplicațiile Bitwarden. Ar trebui să activați un alt furnizor de conectare în două etape pentru a vă accesa contul atunci când FIDO U2F nu se poate utiliza. Platforme acceptate:" - }, - "twoFactorU2fSupportWeb": { - "message": "Seiful web și extensiile de browser pe un desktop/laptop cu un browser activat U2F (Chrome, Opera, Vivaldi, sau Firefox cu FIDO U2F activat)." - }, - "twoFactorU2fWaiting": { - "message": "Vă așteptăm ca să atingeți butonul de pe cheia de securitate" - }, - "twoFactorU2fClickSave": { - "message": "Clicați pe butonul \"Salvare\" mai jos pentru a activa cheia de securitate de conectarea în două etape." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "A apărut o problemă la citirea cheii de securitate. Încercați din nou." - }, - "twoFactorRecoveryYourCode": { - "message": "Codul dvs. Bitwarden de recuperare a autentificării în două etape" - }, - "twoFactorRecoveryNoCode": { - "message": "Nu ați activat încă niciun furnizor de conectare în două etape. După ce activați un furnizor de conectare în două etape, puteți reveni aici pentru codul de recuperare." - }, - "printCode": { - "message": "Imprimare cod", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Rapoarte" - }, - "unsecuredWebsitesReport": { - "message": "Raport de saituri nesecurizate" - }, - "unsecuredWebsitesReportDesc": { - "message": "Utilizarea saiturilor nesecurizate cu schema http:// poate fi periculoasă. Dacă saitul permite, ar trebui să îl accesați întotdeauna utilizând schema https://, astfel încât conexiunea dvs. să fie criptată." - }, - "unsecuredWebsitesFound": { - "message": "S-au găsit saituri web nesecurizate" - }, - "unsecuredWebsitesFoundDesc": { - "message": "Am găsit $COUNT$ articole în seiful dvs. cu URI-uri nesecurizate. Ar trebui să schimbați schema URl-urilor lor în https:// dacă saitul o permite.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "Niciun articol din seiful dvs. nu are URI-uri nesecurizate." - }, - "inactive2faReport": { - "message": "Raport 2FA inactiv" - }, - "inactive2faReportDesc": { - "message": "Autentificarea cu doi factori (2FA) este o setare importantă de securitate care vă ajută să vă securizați conturile. Dacă saitul îl oferă, ar trebui să activați întotdeauna autentificarea cu doi factori." - }, - "inactive2faFound": { - "message": "S-au găsit conectări fără 2FA" - }, - "inactive2faFoundDesc": { - "message": "Am găsit $COUNT$ sait(uri) în seiful dvs., care probabil nu au fost configurate cu autentificarea cu doi factori (conform 2fa.directory). Pentru a proteja în continuare aceste conturi, ar trebui să activați autentificarea cu doi factori.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "Nu au fost găsite saituri în seiful dvs. cu o configurație de autentificare cu doi factori lipsă." - }, - "instructions": { - "message": "Instrucțiuni" - }, - "exposedPasswordsReport": { - "message": "Raport de parole dezvăluite" - }, - "exposedPasswordsReportDesc": { - "message": "Parolele dezvăluite sunt parole care au fost descoperite în scurgeri cunoscute de date care au fost lansate public sau vândute pe dark web de către hackeri." - }, - "exposedPasswordsFound": { - "message": "S-au găsit parole dezvăluite" - }, - "exposedPasswordsFoundDesc": { - "message": "Am găsit $COUNT$ articole în seiful dvs. care folosesc parole dezvăluite în scurgeri de date cunoscute. Ar trebui să le schimbați pentru a utiliza o parolă nouă.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "Niciun articol din seiful dvs. nu are parole dezvăluite în scurgeri de date cunoscute." - }, - "checkExposedPasswords": { - "message": "Verificați parolele dezvăluite" - }, - "exposedXTimes": { - "message": "Dezvăluită de $COUNT$ ori", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Raport de parole slabe" - }, - "weakPasswordsReportDesc": { - "message": "Parolele slabe pot fi ușor ghicite de hackeri și de instrumente automate folosite la spargerea parolelor. Generatorul de parole Bitwarden vă poate ajuta la crearea unor parole puternice." - }, - "weakPasswordsFound": { - "message": "S-au găsit parole slabe" - }, - "weakPasswordsFoundDesc": { - "message": "Am găsit $COUNT$ articole cu parole slabe articole în seiful dvs. Ar trebui să le actualizați ca să folosească parole puternice.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "Niciun articol din seiful dvs. nu are parole slabe." - }, - "reusedPasswordsReport": { - "message": "Raport de parole refolosite" - }, - "reusedPasswordsReportDesc": { - "message": "Dacă unul din serviciile folosite este compromis, folosind aceeași parolă în altă parte poate permite hackerilor să aibă acces ușor la mai multe conturi online. Trebuie să folosiți parole unice pentru fiecare cont sau servici." - }, - "reusedPasswordsFound": { - "message": "S-au găsit parole refolosite" - }, - "reusedPasswordsFoundDesc": { - "message": "Am găsit $COUNT$ parole reutilizate în seiful dvs. Ar trebui să le schimbați la o valoare unică.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "Nicio dată de conectare din seiful dvs. nu conține parole reutilizate." - }, - "reusedXTimes": { - "message": "Refolosit $COUNT$ ori", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Raport de scurgere de date" - }, - "breachDesc": { - "message": "O \"scurgere\" este un incident unde datele unui sait au fost accesate ilegal de hackeri apoi dezvăluite public. Verificați tipul de date compromise (e-mail, parole, carduri de credit etc.) și luați măsura adecvată, cum ar fi schimbarea parolelor." - }, - "breachCheckUsernameEmail": { - "message": "Verificați orice nume de utilizator sau adresă e-mail pe care o folosiți." - }, - "checkBreaches": { - "message": "Verificare scurgeri" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ nu a fost găsit în nicio scurgere de date cunoscută.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Vești bune", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ a fost găsit în $COUNT$ diferite scurgeri de date online.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "S-au găsit conturi cu scurgeri" - }, - "compromisedData": { - "message": "Date compromise" - }, - "website": { - "message": "Sait web" - }, - "affectedUsers": { - "message": "Utilizatori afectați" - }, - "breachOccurred": { - "message": "Scurgere produsă" - }, - "breachReported": { - "message": "Scurgere raportată" - }, - "reportError": { - "message": "A apărut o eroare la încărcarea raportului. Încercați din nou" - }, - "billing": { - "message": "Facturare" - }, - "accountCredit": { - "message": "Creditul contului", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Balanța contului", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Adăugare credit", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Sumă", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Creditul adăugat va apare în contul dvs. după procesarea completă a plății. Unele metode de plată sunt întârziate și pot lua mai mult timp de procesare decât altele." - }, - "makeSureEnoughCredit": { - "message": "Vă rugăm să vă asigurați că aveți suficient credit disponibil în cont pentru această achiziție. Dacă nu aveți suficient credit în cont, metoda dvs. implicită de plată înregistrată va fi folosită pentru diferență. Puteți adăuga credit în contul dvs. din pagina Facturare." - }, - "creditAppliedDesc": { - "message": "Creditul contului dvs. se poate utiliza pentru a face cumpărături. Orice credit disponibil va fi aplicat automat pentru facturile generate pentru acest cont." - }, - "goPremium": { - "message": "Obțineți Premium", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "Ați actualizat la Premium." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Actualizați-vă contul la un abonament premium și deblocați câteva funcții suplimentare excelente." - }, - "premiumSignUpStorage": { - "message": "1 GB stocare criptată pentru fișiere atașate." - }, - "premiumSignUpTwoStep": { - "message": "Opțiuni suplimentare de conectare în două etape, cum ar fi YubiKey, FIDO U2F și Duo." - }, - "premiumSignUpReports": { - "message": "Rapoarte privind igiena parolelor, sănătatea contului și breșele de date pentru a vă păstra seiful în siguranță." - }, - "premiumSignUpTotp": { - "message": "Generator de cod de verificare TOTP (2FA) pentru autentificări în seiful dvs." - }, - "premiumSignUpSupport": { - "message": "Asistență prioritară pentru clienți." - }, - "premiumSignUpFuture": { - "message": "Toate funcțiile premium viitoare. În curând mai multe!" - }, - "premiumPrice": { - "message": "Totul pentru numai $PRICE$ /an!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Add-on-uri" - }, - "premiumAccess": { - "message": "Acces Premium" - }, - "premiumAccessDesc": { - "message": "Puteți adăuga acces premium tuturor membrilor organizației dvs. pentru $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Stocare adițională (GB)" - }, - "additionalStorageGbDesc": { - "message": "# de GB adiționali" - }, - "additionalStorageIntervalDesc": { - "message": "Planul dvs. vine cu $SIZE$ de stocare criptată de fișiere. Puteți adăuga stocare suplimentară pentru $PRICE$ per GB /$INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Rezumat" - }, - "total": { - "message": "Total" - }, - "year": { - "message": "an" - }, - "month": { - "message": "lună" - }, - "monthAbbr": { - "message": "lună", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Metoda dvs. de plată va fi facturată imediat și apoi în mod recurent în fiecare an. Puteți anula în orice moment." - }, - "paymentCharged": { - "message": "Metoda dvs. de plată va fi facturată imediat și apoi în mod recurent în fiecare $INTERVAL$. Puteți anula în orice moment.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Planul dvs. vine cu o încercare gratuită de 7 zile. Metoda dvs. de plată nu va fi facturată până la sfârșitul perioadei de încercare. Facturarea se va face recurent în fiecare $INTERVAL$. Puteți anula oricând.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Informații de plată" - }, - "billingInformation": { - "message": "Informații de facturare" - }, - "creditCard": { - "message": "Card de credit" - }, - "paypalClickSubmit": { - "message": "Clicați pe butonul PayPal pentru a vă conecta la contul PayPal, apoi clicați pe butonul Trimitere mai jos pentru a continua." - }, - "cancelSubscription": { - "message": "Anulare abonament" - }, - "subscriptionCanceled": { - "message": "Abonamentul a fost anulat." - }, - "pendingCancellation": { - "message": "Anulare în așteptare" - }, - "subscriptionPendingCanceled": { - "message": "Abonamentul a fost marcat pentru anulare la sfârșitul perioadei curente de facturare." - }, - "reinstateSubscription": { - "message": "Restabilire abonament" - }, - "reinstateConfirmation": { - "message": "Sigur doriți să eliminați cererea de anulare în așteptare și să vă restabiliți abonamentul?" - }, - "reinstated": { - "message": "Abonamentul a fost restabilit." - }, - "cancelConfirmation": { - "message": "Sigur doriți să anulați? Veți pierde accesul la toate funcționalitățile acestui abonament la sfârșitul acestui ciclu de facturare." - }, - "canceledSubscription": { - "message": "Abonamentul a fost anulat." - }, - "neverExpires": { - "message": "Nu expiră niciodată" - }, - "status": { - "message": "Stare" - }, - "nextCharge": { - "message": "Plata următoare" - }, - "details": { - "message": "Detalii" - }, - "downloadLicense": { - "message": "Descărcare licență" - }, - "updateLicense": { - "message": "Actualizare licență" - }, - "updatedLicense": { - "message": "Licența s-a actualizat" - }, - "manageSubscription": { - "message": "Gestionare abonament" - }, - "storage": { - "message": "Stocare" - }, - "addStorage": { - "message": "Adăugare stocare" - }, - "removeStorage": { - "message": "Eliminare stocare" - }, - "subscriptionStorage": { - "message": "Abonamentul dvs. are un total de $MAX_STORAGE$ GB de stocare criptată de fișiere. În prezent folosiți $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Metoda de plată" - }, - "noPaymentMethod": { - "message": "Nicio metodă de plată în fișier." - }, - "addPaymentMethod": { - "message": "Adăugare metodă de plată" - }, - "changePaymentMethod": { - "message": "Schimbare metodă de plată" - }, - "invoices": { - "message": "Facturi" - }, - "noInvoices": { - "message": "Nicio factură." - }, - "paid": { - "message": "Plătit", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Neplătit", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Tranzacții", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "Nicio tranzacție." - }, - "chargeNoun": { - "message": "Debit", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Rambursare", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Orice plați în contul dvs. vor apărea ca $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "GB de stocare de adăugat" - }, - "gbStorageRemove": { - "message": "GB de stocare de eliminat" - }, - "storageAddNote": { - "message": "Adăugarea stocării va duce la ajustări ale totalelor de facturare și la facturarea imediată conform metodei dvs. de facturare. Prima facturare va fi aplicată proporțional la restul ciclului curent de facturare." - }, - "storageRemoveNote": { - "message": "Eliminarea stocării va duce la ajustări ale totalelor dvs. de facturare, care vor fi proporționate ca credite pentru următoarea facturare." - }, - "adjustedStorage": { - "message": "$AMOUNT$ GB de spațiu de stocare ajustat.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Contactare asistență pentru clienți" - }, - "updatedPaymentMethod": { - "message": "Metoda de plată s-a actualizat." - }, - "purchasePremium": { - "message": "Achiziționare abonament Premium" - }, - "licenseFile": { - "message": "Fișier de licență" - }, - "licenseFileDesc": { - "message": "Fișierul dvs. de licență va fi numit ceva de genul $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "Pentru a vă actualiza contul la statutul de membru Premium, trebuie să încărcați un fișier de licență valid." - }, - "uploadLicenseFileOrg": { - "message": "Pentru a crea o organizație găzduită local, trebuie să încărcați un fișier de licență valid." - }, - "accountEmailMustBeVerified": { - "message": "Adresa de e-mail a contului dvs. trebuie verificată." - }, - "newOrganizationDesc": { - "message": "Organizațiile vă permit să vă partajați părți din seif cu ceilalți, precum și gestionarea utilizatorilor asociați pentru o anumită entitate, cum ar fi o familie, echipă mică sau companie mare." - }, - "generalInformation": { - "message": "Informații generale" - }, - "organizationName": { - "message": "Numele organizației" - }, - "accountOwnedBusiness": { - "message": "Acest cont este deținut de un business." - }, - "billingEmail": { - "message": "Adresa e-mail de facturare" - }, - "businessName": { - "message": "Numele businessului" - }, - "chooseYourPlan": { - "message": "Alegeți-vă planul" - }, - "users": { - "message": "Utilizatori" - }, - "userSeats": { - "message": "Licențe utilizator" - }, - "additionalUserSeats": { - "message": "Licențe utilizator adiționale" - }, - "userSeatsDesc": { - "message": "# de licențe utilizator" - }, - "userSeatsAdditionalDesc": { - "message": "Planul dvs. vine cu $BASE_SEATS$ licențe de utilizator. Puteți adăuga utilizatori adiționali pentru $SEAT_PRICE$ per utilizator /lună.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "De câte licențe de utilizator aveți nevoie? Dacă este nevoie, licențe suplimentare pot fi adăugate mai târziu." - }, - "planNameFree": { - "message": "Gratuit", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "Pentru testare sau pentru utilizatori privați pentru partajarea cu $COUNT$ alt utilizator.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Familii" - }, - "planDescFamilies": { - "message": "Pentru uz personal, pentru a partaja cu familia și prietenii." - }, - "planNameTeams": { - "message": "Echipe" - }, - "planDescTeams": { - "message": "Pentru businessuri și alte organizații în echipă." - }, - "planNameEnterprise": { - "message": "Organizație" - }, - "planDescEnterprise": { - "message": "Pentru businessuri și alte organizații mari." - }, - "freeForever": { - "message": "Gratuit pentru totdeauna" - }, - "includesXUsers": { - "message": "include $COUNT$ utilizatori", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Utilizatori suplimentari" - }, - "costPerUser": { - "message": "$COST$ per utilizator", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Limitat la $COUNT$ utilizatori (inclusiv dvs.)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Limitat la $COUNT$ colecții", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Adăugare și partajare cu până la $COUNT$ utilizatori", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Adăugare și partajare cu utilizatori nelimitați" - }, - "createUnlimitedCollections": { - "message": "Creați colecții nelimitate" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ de stocare de fișiere criptate", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "Găzduire locală (opțional)" - }, - "usersGetPremium": { - "message": "Utilizatorii au acces la funcțiile Premium" - }, - "controlAccessWithGroups": { - "message": "Controlare a accesului utilizatorilor cu Grupuri" - }, - "syncUsersFromDirectory": { - "message": "Sincronizare a utilizatorilor și Grupurilor dvs dintr-un director" - }, - "trackAuditLogs": { - "message": "Urmăriți acțiunile utilizatorilor cu jurnalele de audit" - }, - "enforce2faDuo": { - "message": "Impunere 2FA cu Duo" - }, - "priorityCustomerSupport": { - "message": "Asistență prioritară pentru clienți" - }, - "xDayFreeTrial": { - "message": "$COUNT$ zile de încercare gratuită, anulați oricând", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Lunar" - }, - "annually": { - "message": "Anual" - }, - "basePrice": { - "message": "Preț de bază" - }, - "organizationCreated": { - "message": "Organizația a fost creată" - }, - "organizationReadyToGo": { - "message": "Noua dvs. organizație este pregătită!" - }, - "organizationUpgraded": { - "message": "Un upgrade al organizației a fost efectuat." - }, - "leave": { - "message": "Părăsește" - }, - "leaveOrganizationConfirmation": { - "message": "Sigur doriți să părăsiți această organizație?" - }, - "leftOrganization": { - "message": "Ați părăsit organizația." - }, - "defaultCollection": { - "message": "Colecție implicită" - }, - "getHelp": { - "message": "Obținere ajutor" - }, - "getApps": { - "message": "Obținere aplicație" - }, - "loggedInAs": { - "message": "Autentificat ca" - }, - "eventLogs": { - "message": "Jurnale evenimente" - }, - "people": { - "message": "Persoane" - }, - "policies": { - "message": "Politici" - }, - "editPolicy": { - "message": "Editare politici" - }, - "groups": { - "message": "Grupuri" - }, - "newGroup": { - "message": "Grup nou" - }, - "addGroup": { - "message": "Adăugare grup" - }, - "editGroup": { - "message": "Editare grup" - }, - "deleteGroupConfirmation": { - "message": "Sigur doriți să ștergeți acest grup?" - }, - "removeUserConfirmation": { - "message": "Sigur doriți să eliminați acest utilizator?" - }, - "externalId": { - "message": "Id Extern" - }, - "externalIdDesc": { - "message": "Id-ul extern poate fi utilizat ca referință sau pentru a lega această resursă de un sistem extern, cum ar fi un folder utilizator." - }, - "accessControl": { - "message": "Controlul accesului" - }, - "groupAccessAllItems": { - "message": "Acest grup poate accesa și modifica toate articolele." - }, - "groupAccessSelectedCollections": { - "message": "Acest grup poate accesa doar colecțiile selectate." - }, - "readOnly": { - "message": "Doar pentru citire" - }, - "newCollection": { - "message": "Colecție nouă" - }, - "addCollection": { - "message": "Adăugare colecție" - }, - "editCollection": { - "message": "Editare colecție" - }, - "deleteCollectionConfirmation": { - "message": "Sigur doriți să ștergeți această colecție?" - }, - "editUser": { - "message": "Editare utilizator" - }, - "inviteUser": { - "message": "Invitare utilizator" - }, - "inviteUserDesc": { - "message": "Invitați un utilizator nou în organizația dvs. introducându-i mai jos adresa de e-mail a contului Bitwarden. Dacă nu au deja un cont Bitwarden, li se va solicita să își creeze un cont nou." - }, - "inviteMultipleEmailDesc": { - "message": "Puteți invita până la $COUNT$ utilizatori odată separând prin virgulă o listă de adrese de e-mail.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "Acest utilizator folosește conectarea în două etape pentru a-și proteja contul." - }, - "userAccessAllItems": { - "message": "Acest utilizator poate accesa și modifica toate articolele." - }, - "userAccessSelectedCollections": { - "message": "Acest utilizator poate accesa doar colecțiile selectate." - }, - "search": { - "message": "Căutare" - }, - "invited": { - "message": "Invitat" - }, - "accepted": { - "message": "Acceptat" - }, - "confirmed": { - "message": "Confirmat" - }, - "owner": { - "message": "Proprietar" - }, - "ownerDesc": { - "message": "Contul cu cele mai mari privilegii care poate gestiona toate aspectele organizației." - }, - "admin": { - "message": "Admin" - }, - "adminDesc": { - "message": "Administratorii pot accesa și gestiona toate articolele, colecțiile și utilizatorii din organizația dvs." - }, - "user": { - "message": "Utilizator" - }, - "userDesc": { - "message": "Un utilizator obișnuit cu acces la colecțiile alocate din organizația dvs." - }, - "manager": { - "message": "Manager" - }, - "managerDesc": { - "message": "Managerii pot accesa și gestiona colecțiile atribuite în organizația dvs." - }, - "all": { - "message": "Tot" - }, - "refresh": { - "message": "Reîmprospătare" - }, - "timestamp": { - "message": "Marcă temporală" - }, - "event": { - "message": "Eveniment" - }, - "unknown": { - "message": "Necunoscut" - }, - "loadMore": { - "message": "Încărcați mai mult" - }, - "mobile": { - "message": "Mobil", - "description": "Mobile app" - }, - "extension": { - "message": "Extensie", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Desktop", - "description": "Desktop app" - }, - "webVault": { - "message": "Seif web" - }, - "loggedIn": { - "message": "Autentificat." - }, - "changedPassword": { - "message": "Parola contului a fost modificată." - }, - "enabledUpdated2fa": { - "message": "Conectarea în două etape s-a activat/actualizat." - }, - "disabled2fa": { - "message": "Conexiune în două etape dezactivată." - }, - "recovered2fa": { - "message": "Cont recuperat de la conectarea în două etape." - }, - "failedLogin": { - "message": "Încercare de conectare eșuată cu o parolă incorectă." - }, - "failedLogin2fa": { - "message": "Încercare de conectare eșuată cu verificarea în două etape incorectă." - }, - "exportedVault": { - "message": "Seiful a fost exportat." - }, - "exportedOrganizationVault": { - "message": "Seiful organizației a fost exportat." - }, - "editedOrgSettings": { - "message": "Setările organizației s-au modificat." - }, - "createdItemId": { - "message": "Element $ID$ creat.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Element $ID$ editat.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Articolul $ID$ a fost trimis în coșul de reciclare.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Element $ID$ partajat.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Element $ID$ vizualizat.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Parola pentru elementul $ID$ a fost vizualizată.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Câmpul ascuns al elementului $ID$ a fost vizualizat.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Codul de securitate al elementului $ID$ a fost vizualizat.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Parola elementului $ID$ s-a copiat.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Câmpul ascuns al elementului $ID$ a fost copiat.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Codul de securitate al elementului $ID$ a fost copiat.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Elementul $ID$ s-a completat automat", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Colecția $ID$ a fost creată.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Colecția $ID$ a fost editată.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Colecția $ID$ a fost ștearsă.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Politica $ID$ a fost editată.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Grupul $ID$ a fost creat.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Grupul $ID$ a fost editat.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Grupul $ID$ a fost șters.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Utilizatorul $ID$ a fost eliminat.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Atașamentul elementului $ID$ a fost creat.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Atașamentul elementului $ID$ a fost șters.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Colecțiile elementului $ID$ au fost editate.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Utilizatorul $ID$ a fost invitat.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Utilizatorul $ID$ a fost confirmat.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Utilizatorul $ID$ a fost editat.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Grupurile utilizatorului $ID$ au fost editate.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "SSO deconectat pentru utilizatorul $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Dispozitiv" - }, - "view": { - "message": "Afișare" - }, - "invalidDateRange": { - "message": "Interval de date incorect." - }, - "errorOccurred": { - "message": "S-a produs o eroare." - }, - "userAccess": { - "message": "Acces utilizator" - }, - "userType": { - "message": "Tip de utilizator" - }, - "groupAccess": { - "message": "Acces grup" - }, - "groupAccessUserDesc": { - "message": "Editați grupurile cu care este asociat acest utilizator." - }, - "invitedUsers": { - "message": "Utilizatori invitați." - }, - "resendInvitation": { - "message": "Retrimitere invitație" - }, - "hasBeenReinvited": { - "message": "$USER$ a fost invitat din nou.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Confirmare" - }, - "confirmUser": { - "message": "Confirmare utilizator" - }, - "hasBeenConfirmed": { - "message": "$USER$ a fost confirmat.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Confirmare utilizatori" - }, - "usersNeedConfirmed": { - "message": "Aveți utilizatori care au acceptat invitația, dar care încă au nevoie să fie confirmați. Utilizatorii nu vor avea acces la organizație până când nu sunt confirmați." - }, - "startDate": { - "message": "Data de început" - }, - "endDate": { - "message": "Data de sfârșit" - }, - "verifyEmail": { - "message": "Verificare e-mail" - }, - "verifyEmailDesc": { - "message": "Verifică adresa de e-mail a contului pentru a debloca accesul la toate funcțiile." - }, - "verifyEmailFirst": { - "message": "Adresa de e-mail a contului dvs. trebuie mai întâi verificată." - }, - "checkInboxForVerification": { - "message": "Verificați dacă ați primit linkul de verificare prin e-mail." - }, - "emailVerified": { - "message": "E-mailul dvs. a fost confirmat." - }, - "emailVerifiedFailed": { - "message": "E-mailul dvs. nu a putut fi verificat. Încercați să trimiteți un nou e-mail de verificare." - }, - "updateBrowser": { - "message": "Actualizare browser" - }, - "updateBrowserDesc": { - "message": "Utilizați un browser nesuportat. Seiful web ar putea să nu funcționeze corect." - }, - "joinOrganization": { - "message": "Alăturare la organizație" - }, - "joinOrganizationDesc": { - "message": "Ați fost invitat să vă alăturați organizației listate mai sus. Pentru a accepta invitația, trebuie să vă conectați sau să creați un cont Bitwarden nou." - }, - "inviteAccepted": { - "message": "Invitație acceptată" - }, - "inviteAcceptedDesc": { - "message": "Puteți accesa această organizație după ce un administrator vă confirmă calitatea de membru. Vă vom trimite un e-mail atunci când se întâmplă acest lucru." - }, - "inviteAcceptFailed": { - "message": "Imposibil de acceptat invitația. Solicitați unui administrator al organizației să trimită o invitație nouă." - }, - "inviteAcceptFailedShort": { - "message": "Imposibil de acceptat invitația. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Memorare e-mail" - }, - "recoverAccountTwoStepDesc": { - "message": "Dacă nu vă puteți accesa contul prin metodele normale de conectare în două etape, puteți utiliza codul de recuperare în două etape pentru a dezactiva toți furnizorii în două etape din contul dvs." - }, - "recoverAccountTwoStep": { - "message": "Recuperare autentificare în două etape a contului" - }, - "twoStepRecoverDisabled": { - "message": "Conectarea în două etape a fost dezactivată în contul dvs." - }, - "learnMore": { - "message": "Aflați mai multe" - }, - "deleteRecoverDesc": { - "message": "Introduceți adresa de e-mail mai jos pentru a vă recupera și șterge contul." - }, - "deleteRecoverEmailSent": { - "message": "În cazul în care contul dvs. există, v-am trimis un e-mail cu instrucțiuni suplimentare." - }, - "deleteRecoverConfirmDesc": { - "message": "Ați solicitat să ștergeți contul Bitwarden. Clicați pe butonul de mai jos pentru a confirma." - }, - "myOrganization": { - "message": "Organizația mea" - }, - "deleteOrganization": { - "message": "Ștergere organizație" - }, - "deleteOrganizationDesc": { - "message": "Continuați în modul indicat mai jos pentru a șterge această organizație și toate datele asociate. Conturile de utilizator individuale vor rămâne, deși nu vor mai fi asociate cu această organizație. " - }, - "deleteOrganizationWarning": { - "message": "Ștergerea organizației este definitivă. Nu poate fi anulată." - }, - "organizationDeleted": { - "message": "Organizația a fost ștearsă" - }, - "organizationDeletedDesc": { - "message": "Organizația și toate datele asociate au fost șterse." - }, - "organizationUpdated": { - "message": "Organizația s-a actualizat" - }, - "taxInformation": { - "message": "Informații fiscale" - }, - "taxInformationDesc": { - "message": "Pentru clienții din SUA, codul ZIP este necesar pentru a satisface cerințele privind taxa de vânzare, pentru alte țări, opțional, puteți să furnizați un număr de identificare fiscală (TVA/GST) și/sau o adresă care să apară pe facturile dvs." - }, - "billingPlan": { - "message": "Plan", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Modificare plan", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Actualizați-vă contului la un alt plan prin furnizarea informațiilor de mai jos. Vă rugăm să vă asigurați că ați adăugat o metodă de plată activă în cont.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Contactați asistența pentru clienți dacă doriți să vă schimbați planul. Vă rugăm să vă asigurați că aveți o metodă de plată activă adăugată în cont.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Factura #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "Afișare factură" - }, - "downloadInvoice": { - "message": "Descărcare factură" - }, - "verifyBankAccount": { - "message": "Verificare contul bancar" - }, - "verifyBankAccountDesc": { - "message": "Am făcut două micro-depozite în contul dvs. bancar (poate dura 1-2 zile lucrătoare pentru a apărea). Introduceți aceste sume pentru a verifica contul bancar." - }, - "verifyBankAccountInitialDesc": { - "message": "Plata cu un cont bancar este disponibilă numai clienților din Statele Unite. Vi se va cere să vă verificați contul bancar. Vom face două micro-depozite în următoarele 1-2 zile lucrătoare. Introduceți aceste sume pe pagina de facturare a organizației pentru a verifica contul bancar." - }, - "verifyBankAccountFailureWarning": { - "message": "O eroare la validarea contului dvs. bancar va duce la o plată pierdută, iar abonamentul dvs. va fi dezactivat." - }, - "verifiedBankAccount": { - "message": "Contul bancar a fost verificat." - }, - "bankAccount": { - "message": "Cont bancar" - }, - "amountX": { - "message": "Suma $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Cod bancar", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Număr de cont" - }, - "accountHolderName": { - "message": "Numele titularului contului" - }, - "bankAccountType": { - "message": "Tip de cont" - }, - "bankAccountTypeCompany": { - "message": "Companie (Business)" - }, - "bankAccountTypeIndividual": { - "message": "Individual (Personal)" - }, - "enterInstallationId": { - "message": "Introducere id de instalare" - }, - "addSeats": { - "message": "Adăugare licențe", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Eliminare licențe", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Abonamentul dvs. permite un total de $COUNT$ utilizatori.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Licențe de adăugat" - }, - "seatsToRemove": { - "message": "Licențe de eliminat" - }, - "seatsAddNote": { - "message": "Adăugarea de licențe utilizator va duce la ajustări ale totalelor de facturare și la facturarea imediată conform metodei dvs. de facturare. Prima facturare va fi aplicată proporțional la restul ciclului curent de facturare." - }, - "seatsRemoveNote": { - "message": "Eliminarea de licențe utilizatori va duce la ajustări ale totalelor dvs. de facturare, care vor fi proporționate ca credite pentru următoarea facturare." - }, - "adjustedSeats": { - "message": "$AMOUNT$ licențe de utilizator actualizate.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Cheia s-a actualizat" - }, - "updateKeyTitle": { - "message": "Actualizare cheie" - }, - "updateEncryptionKey": { - "message": "Actualizare cheie de criptare" - }, - "updateEncryptionKeyShortDesc": { - "message": "În prezent utilizați o schemă de criptare învechită." - }, - "updateEncryptionKeyDesc": { - "message": "Ne-am mutat la chei mai mari de criptare care oferă o mai bună securitate și acces la funcții mai noi. Actualizarea cheii de criptare este rapidă și ușoară. Doar tastați parola principală mai jos. Această actualizare va deveni în cele din urmă obligatorie." - }, - "updateEncryptionKeyWarning": { - "message": "După actualizarea cheii de criptare, trebuie să vă reconectați în toate aplicațiile Bitwarden pe care le utilizați în prezent (cum ar fi aplicația mobilă sau extensiile browserului). Faptul de a nu vă deconecta și reconecta (care descarcă noua cheie de criptare) poate duce la corupția datelor. Vom încerca să vă deconectăm automat, însă ar putea fi întârziat." - }, - "updateEncryptionKeyExportWarning": { - "message": "Orice export criptat pe care l-ați salvat va deveni, de asemenea, nevalid." - }, - "subscription": { - "message": "Abonament" - }, - "loading": { - "message": "Se încarcă" - }, - "upgrade": { - "message": "Faceți upgrade" - }, - "upgradeOrganization": { - "message": "Faceți upgrade organizației" - }, - "upgradeOrganizationDesc": { - "message": "Această funcție nu este disponibilă pentru organizațiile gratuite. Comutați la un plan plătit pentru a debloca mai multe funcții." - }, - "createOrganizationStep1": { - "message": "Crearea unei organizații: Pasul 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Înainte de a vă crea organizația, trebuie mai întâi să creați un cont personal gratuit." - }, - "refunded": { - "message": "Rambursat" - }, - "nothingSelected": { - "message": "Nu ați selectat nimic." - }, - "acceptPolicies": { - "message": "Dacă bifați această casetă sunteți de acord cu următoarele:" - }, - "acceptPoliciesError": { - "message": "Termeni de utilizare și Politica de confidențialitate nu au fost recunoscute." - }, - "termsOfService": { - "message": "Termeni de utilizare" - }, - "privacyPolicy": { - "message": "Politică de confidențialitate" - }, - "filters": { - "message": "Filtre" - }, - "vaultTimeout": { - "message": "Expirare seif" - }, - "vaultTimeoutDesc": { - "message": "Determină când seiful dvs. va expira și va efectua acțiunea selectată." - }, - "oneMinute": { - "message": "1 minut" - }, - "fiveMinutes": { - "message": "5 minute" - }, - "fifteenMinutes": { - "message": "15 minute" - }, - "thirtyMinutes": { - "message": "30 de minute" - }, - "oneHour": { - "message": "1 oră" - }, - "fourHours": { - "message": "4 ore" - }, - "onRefresh": { - "message": "La reîmprospătarea browserului" - }, - "dateUpdated": { - "message": "S-a actualizat", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Parola s-a actualizat", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "Organizația este dezactivată." - }, - "licenseIsExpired": { - "message": "Licența a expirat." - }, - "updatedUsers": { - "message": "Utilizatori actualizați" - }, - "selected": { - "message": "Selectat(e)" - }, - "ownership": { - "message": "Proprietate" - }, - "whoOwnsThisItem": { - "message": "Cine deține acest element?" - }, - "strong": { - "message": "Puternică", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Bună", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Slabă", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Foarte slabă", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Parolă principală slabă" - }, - "weakMasterPasswordDesc": { - "message": "Parola principală aleasă este slabă. Ar trebui folosită o parolă principală (sau o frază de access) puternică pentru a vă proteja corect contul Bitwarden. Sigur doriți să folosiți această parola principală?" - }, - "rotateAccountEncKey": { - "message": "De asemenea, revocați cheia de criptare a contului meu" - }, - "rotateEncKeyTitle": { - "message": "Revocare cheia de criptare" - }, - "rotateEncKeyConfirmation": { - "message": "Sigur doriți să revocați cheia de criptare a contului?" - }, - "attachmentsNeedFix": { - "message": "Acest element are atașamente vechi care trebuie fixate." - }, - "attachmentFixDesc": { - "message": "Acesta este un atașament de fișier vechi care trebuie reparat. Clicați pentru a afla mai multe." - }, - "fix": { - "message": "Repară", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "Există atașamente de fișiere vechi în seiful dvs. care trebuie reparate înainte de a putea revoca cheia de criptare a contului." - }, - "yourAccountsFingerprint": { - "message": "Fraza amprentă a contului dvs.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "Pentru a asigura integritatea cheilor dvs. de criptare, vă rugăm să verificați fraza amprentă a utilizatorului înainte de a continua.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Nu-mi cereți să introduc din nou fraza amprentă", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Gratuit", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "Cheie API" - }, - "apiKeyDesc": { - "message": "Cheia dvs. API poate fi utilizată pentru autentificarea la API-ul public Bitwarden." - }, - "apiKeyRotateDesc": { - "message": "Revocarea cheii API va invalida cheia anterioară. Puteți revoca cheia API dacă vi se pare că actuala cheie nu mai este sigur de folosit." - }, - "apiKeyWarning": { - "message": "Cheia dvs. API are acces complet la organizație. Ar trebui păstrată secret." - }, - "userApiKeyDesc": { - "message": "Cheia dvs. API poate fi utilizată pentru autentificare în Bitwarden CLI." - }, - "userApiKeyWarning": { - "message": "Cheia dvs. API este un mecanism alternativ de autentificare. Ar trebui păstrată secret." - }, - "oauth2ClientCredentials": { - "message": "Acreditări client OAuth 2.0", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "Afișare cheie API" - }, - "rotateApiKey": { - "message": "Revocare cheie API" - }, - "selectOneCollection": { - "message": "Trebuie să selectați cel puțin o colecție." - }, - "couldNotChargeCardPayInvoice": { - "message": "Nu am putut procesa plata cu cardul dvs. Vă rugăm să vizualizați și să plătiți factura neplătită de mai jos." - }, - "inAppPurchase": { - "message": "Achiziție în aplicație" - }, - "cannotPerformInAppPurchase": { - "message": "Nu puteți efectua această acțiune în timp ce utilizați ca metodă de plată achiziția în aplicație." - }, - "manageSubscriptionFromStore": { - "message": "Trebuie să vă gestionați abonamentul din magazinul în care a fost efectuată achiziția în aplicație." - }, - "minLength": { - "message": "Lungimea minimă" - }, - "clone": { - "message": "Clonare" - }, - "masterPassPolicyDesc": { - "message": "Setează cerințele minime pentru puterea parolei principale." - }, - "twoStepLoginPolicyDesc": { - "message": "Solicită utilizatorilor să configureze conectarea în două etape pentru conturile lor personale." - }, - "twoStepLoginPolicyWarning": { - "message": "Membrii organizației care nu sunt Proprietari sau Administratori și nu au activată conectarea în două etape în contul lor personal vor fi eliminați din organizație și vor primi o notificare prin e-mail cu privire la modificare." - }, - "twoStepLoginPolicyUserWarning": { - "message": "Sunteți membrul unei organizații care necesită conectarea în două etape activată în contul dvs. de utilizator. Dacă dezactivați toți furnizorii de conectare în două etape, veți fi eliminat automat din aceste organizații." - }, - "passwordGeneratorPolicyDesc": { - "message": "Setează cerințele minime pentru configurarea generatorului de parole." - }, - "passwordGeneratorPolicyInEffect": { - "message": "Una sau mai multe politici organizaționale vă afectează setările generatorului." - }, - "masterPasswordPolicyInEffect": { - "message": "Una sau mai multe politici organizaționale necesită ca parola principală să îndeplinească următoarele cerințe:" - }, - "policyInEffectMinComplexity": { - "message": "Scor minim de complexitate de $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Lungime minimă de $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Unul sau mai multe caractere majuscule" - }, - "policyInEffectLowercase": { - "message": "Unul sau mai multe caractere minuscule" - }, - "policyInEffectNumbers": { - "message": "Una sau mai multe cifre" - }, - "policyInEffectSpecial": { - "message": "Unul sau mai multe din următoarele caractere: $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Noua dvs. parolă principală nu îndeplinește cerințele politicii." - }, - "minimumNumberOfWords": { - "message": "Număr minim de cuvinte" - }, - "defaultType": { - "message": "Tip implicit" - }, - "userPreference": { - "message": "Preferințe utilizator" - }, - "vaultTimeoutAction": { - "message": "Acțiune la expirarea seifului" - }, - "vaultTimeoutActionLockDesc": { - "message": "Un seif blocat necesită reintroducerea parolei principale pentru a-l accesa din nou." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "Un seif deconectat necesită reautentificarea pentru a-l accesa din nou." - }, - "lock": { - "message": "Blocare", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Coș de reciclare", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Căutare în coșul de reciclare" - }, - "permanentlyDelete": { - "message": "Ștergere definitivă" - }, - "permanentlyDeleteSelected": { - "message": "Ștergere definitivă a selecției" - }, - "permanentlyDeleteItem": { - "message": "Ștergere definitivă a articolului" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Sigur doriți să ștergeți definitiv acest articol?" - }, - "permanentlyDeletedItem": { - "message": "Articolul a fost șters definitiv" - }, - "permanentlyDeletedItems": { - "message": "Articolele au fost șterse definitiv" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "Ați selectat $COUNT$ articol(e) pentru ștergere definitivă. Sigur vreți să ștergeți definitiv toate articolele selectate?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Articolul $ID$ a fost șters definitiv.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Restabilire" - }, - "restoreSelected": { - "message": "Restabilire selecție" - }, - "restoreItem": { - "message": "Restabilire articol" - }, - "restoredItem": { - "message": "Articol restabilit" - }, - "restoredItems": { - "message": "Articole restabilite" - }, - "restoreItemConfirmation": { - "message": "Sigur doriți să restabiliți acest articol?" - }, - "restoreItems": { - "message": "Restabilire articole" - }, - "restoreSelectedItemsDesc": { - "message": "Ați selectat $COUNT$ articol(e) pentru restabilire. Sigur vreți să restabiliți toate aceste articole?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Elementul $ID$ a fost restabilit.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "După expirare, accesul la seiful dvs. va fi restricționat și va fi necesară autentificarea on-line. Sigur doriți să utilizați această setare?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Confirmare acțiune la expirare" - }, - "hidePasswords": { - "message": "Ascundere parole" - }, - "countryPostalCodeRequiredDesc": { - "message": "Solicităm aceste informații doar pentru calcularea taxei de vânzare și a raportării financiare." - }, - "includeVAT": { - "message": "Includere informații despre TVA/GST (opțional)" - }, - "taxIdNumber": { - "message": "Codul fiscal TVA/GST" - }, - "taxInfoUpdated": { - "message": "Informațiile fiscale au fost actualizate." - }, - "setMasterPassword": { - "message": "Setare parolă principală" - }, - "ssoCompleteRegistration": { - "message": "Pentru a finaliza conectarea cu SSO, vă rugăm să setați o parolă principală pentru a vă accesa și proteja seiful." - }, - "identifier": { - "message": "Identificator" - }, - "organizationIdentifier": { - "message": "Identificatorul organizației" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Conectați-vă utilizând portalul de conectare unică al organizației. Pentru a începe, Introduceți vă rog identificatorul organizației dvs." - }, - "enterpriseSingleSignOn": { - "message": "Conectare unică organizație (SSO)" - }, - "ssoHandOff": { - "message": "Acum puteți închide această filă și puteți continua în extensie." - }, - "businessPortal": { - "message": "Portal de afaceri", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "Toate funcțiile planului Echipe, plus:" - }, - "includeSsoAuthentication": { - "message": "Autentificare SSO prin SAML2.0 și OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Politici Organizație" - }, - "ssoValidationFailed": { - "message": "Validarea SSO nu a reușit" - }, - "ssoIdentifierRequired": { - "message": "Identificatorul organizației este necesar." - }, - "unlinkSso": { - "message": "Deconectare SSO" - }, - "linkSso": { - "message": "Conectare SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "Configurarea politicii a fost mutată și această pagină se va deprecia în curând. Vă rugăm să clicați mai jos pentru a utiliza în schimb pagina de politici a portalului de afaceri." - }, - "singleOrg": { - "message": "Organizație Single" - }, - "singleOrgDesc": { - "message": "Restricționează utilizatorii să se alăture oricărei alte organizații." - }, - "singleOrgBlockCreateMessage": { - "message": "Organizația dvs. actuală are o politică care nu vă permite să vă alăturați la mai mult de o organizație. Vă rugăm să contactați administratorii organizației sau să vă înscrieți dintr-un cont Bitwarden diferit." - }, - "singleOrgPolicyWarning": { - "message": "Membrii organizației care nu sunt proprietari sau administratori și sunt deja membri ai unei alte organizații vor fi eliminați din organizația dvs." - }, - "requireSso": { - "message": "Autentificare Single Sign-On" - }, - "requireSsoPolicyDesc": { - "message": "Solicită utilizatorilor să se conecteze cu metoda Conectare unică organizație (SSO)." - }, - "prerequisite": { - "message": "Condiție prealabilă" - }, - "requireSsoPolicyReq": { - "message": "Înainte de activarea acestei politici, trebuie activată metoda de conectare \"Single sign-on\" pentru organizație (SSO)." - }, - "requireSsoPolicyReqError": { - "message": "Politica Organizație Single nu este activată." - }, - "requireSsoExemption": { - "message": "Proprietarii și administratorii organizației sunt exceptați de la aplicarea acestei politici." - }, - "sendTypeFile": { - "message": "Fișier" - }, - "sendTypeText": { - "message": "Text" - }, - "createSend": { - "message": "Creare de nou Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Editare Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "S-a creat un nou Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Send-ul a fost editat", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Send-ul a fost șters", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Ștergere Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Sigur doriți să ștergeți acest Send?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "Ce fel de Send este acesta?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Data ștergerii" - }, - "deletionDateDesc": { - "message": "Send-ul va fi șters definitiv la data și ora specificate.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Data expirării" - }, - "expirationDateDesc": { - "message": "Dacă este setat, accesul la acest Send va expira la data și ora specificate.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Număr maxim de accesări" - }, - "maxAccessCountDesc": { - "message": "Dacă este setată, utilizatorii nu vor mai putea accesa acest Send după atingerea numărului maxim de acces.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Număr actual de accesări" - }, - "sendPasswordDesc": { - "message": "Opțional, este necesară o parolă pentru ca utilizatorii să acceseze acest Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Note private despre acest Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Dezactivat" - }, - "sendLink": { - "message": "Linkul Send-ului", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Copiere link Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Eliminare parolă" - }, - "removedPassword": { - "message": "Parola a fost eliminată" - }, - "removePasswordConfirmation": { - "message": "Sigur doriți să eliminați parola?" - }, - "disableThisSend": { - "message": "Dezactivați acest Send astfel încât nimeni să nu îl poată accesa.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "Toate Send-urile" - }, - "maxAccessCountReached": { - "message": "S-a atins numărul maxim de acces" - }, - "pendingDeletion": { - "message": "Ștergere în așteptare" - }, - "expired": { - "message": "Expirat" - }, - "searchSends": { - "message": "Căutare în Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "Acest Send este protejat cu parolă. Vă rugăm să introduceți mai jos parola pentru a continua.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Nu știți parola? Cereți Expeditorului parola necesară pentru a accesa acest Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "Acest Send este ascuns în mod implicit. Puteți comuta vizibilitatea acestuia folosind butonul de mai jos.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Descărcare fișier" - }, - "sendAccessUnavailable": { - "message": "Send-ul pe care încercați să-l accesați nu există sau nu mai este disponibil.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "Niciun Send de afișat.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Acces de urgență" - }, - "emergencyAccessDesc": { - "message": "Acordă și gestionează accesul de urgență contactelor de încredere. Contactele de încredere pot solicita accesul fie la vizualizarea fie la preluarea controlului contului dvs. în caz de urgență. Vizitați-ne pagina de ajutor pentru detalii privind modul cum funcționează schimbul zero de cunoștințe." - }, - "trustedEmergencyContacts": { - "message": "Contacte de urgență de încredere" - }, - "noTrustedContacts": { - "message": "Nu ați adăugat încă niciun contact de urgență, invitați un contact de încredere pentru a începe." - }, - "addEmergencyContact": { - "message": "Adăugați un contact de urgență" - }, - "designatedEmergencyContacts": { - "message": "Desemnat ca contact de urgență" - }, - "noGrantedAccess": { - "message": "Nu ați fost încă desemnat drept contact de urgență pentru nimeni." - }, - "inviteEmergencyContact": { - "message": "Invitați contactul de urgență" - }, - "editEmergencyContact": { - "message": "Editați contactul de urgență" - }, - "inviteEmergencyContactDesc": { - "message": "Invitați un nou contact de urgență introducând adresa de e-mail a contului Bitwarden de mai jos. Dacă nu au deja un cont Bitwarden, li se va solicita să creeze un cont nou." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Acces de urgență inițiat" - }, - "emergencyAccessRecoveryApproved": { - "message": "Acces de urgență aprobat" - }, - "viewDesc": { - "message": "Poate vizualiza toate articolele din seiful dvs." - }, - "takeover": { - "message": "Preluare" - }, - "takeoverDesc": { - "message": "Vă poate reseta contul cu o nouă parolă principală." - }, - "waitTime": { - "message": "Timp de așteptare" - }, - "waitTimeDesc": { - "message": "Timp necesar înainte de acordarea automată a accesului." - }, - "oneDay": { - "message": "1 zi" - }, - "days": { - "message": "$DAYS$ zile", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Utilizator invitat." - }, - "acceptEmergencyAccess": { - "message": "Ați fost invitat să deveniți un contact de urgență pentru utilizatorul listat mai sus. Pentru a accepta invitația, trebuie să vă conectați sau să creați un cont Bitwarden nou." - }, - "emergencyInviteAcceptFailed": { - "message": "Invitația nu poate fi acceptată. Solicitați utilizatorului să trimită o nouă invitație." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Invitația nu poate fi acceptată. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "Puteți accesa opțiunile de urgență pentru acest utilizator după confirmarea identității dvs. Vă vom trimite un e-mail atunci când se întâmplă acest lucru." - }, - "requestAccess": { - "message": "Solicitare de acces" - }, - "requestAccessConfirmation": { - "message": "Sunteți sigur că doriți să solicitați acces de urgență? Vi se va oferi acces după $WAITTIME$ zi(le) sau ori de câte ori utilizatorul aprobă manual solicitarea.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Acces de urgență solicitat pentru $USER$. Vă vom notifica prin e-mail când este posibil să continuați.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Autorizez" - }, - "reject": { - "message": "Declin" - }, - "approveAccessConfirmation": { - "message": "Confirmați aprobarea accesului de urgență? Acest lucru va permite lui $USER$ să $ACTION$ contul dvs.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Acces de urgență aprobat." - }, - "emergencyRejected": { - "message": "Acces de urgență respins" - }, - "passwordResetFor": { - "message": "S-a resetat parola pentru $USER$. Vă puteți conecta acum cu noua parolă.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Proprietate personală" - }, - "personalOwnershipPolicyDesc": { - "message": "Solicită utilizatorilor să salveze articolele din seif într-o organizație prin eliminarea opțiunii de proprietate personală." - }, - "personalOwnershipExemption": { - "message": "Proprietarii și administratorii organizației sunt exceptați de la aplicarea acestei politici." - }, - "personalOwnershipSubmitError": { - "message": "Datorită unei politici pentru întreprinderi, vă este restricționată salvarea de articole în seiful dvs. personal. Schimbați opțiunea de proprietate la o organizație și alegeți dintre colecțiile disponibile." - }, - "modifiedPolicyId": { - "message": "Politica $ID$ a fost editată.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Prețul planului" - }, - "estimatedTax": { - "message": "Taxa estimată" - }, - "custom": { - "message": "Personalizat" - }, - "customDesc": { - "message": "Permite mai mult control granular al permisiunilor utilizatorilor pentru configurații avansate." - }, - "permissions": { - "message": "Permisiuni" - }, - "accessBusinessPortal": { - "message": "Acces la portalul de afaceri" - }, - "accessEventLogs": { - "message": "Acces la jurnalele de evenimente" - }, - "accessImportExport": { - "message": "Acces la import/export" - }, - "accessReports": { - "message": "Acces la rapoarte" - }, - "manageAllCollections": { - "message": "Gestionați toate colecțiile" - }, - "manageAssignedCollections": { - "message": "Gestionați colecțiile alocate" - }, - "manageGroups": { - "message": "Gestionați grupurile" - }, - "managePolicies": { - "message": "Gestionați politicile" - }, - "manageSso": { - "message": "Gestionați SSO" - }, - "manageUsers": { - "message": "Gestionați utilizatorii" - }, - "disableRequireSsoError": { - "message": "Politica de autentificare la conectare unică (SSO) trebuie dezactivată manual înainte ca această politică să poată fi dezactivată." - }, - "personalOwnershipPolicyInEffect": { - "message": "O politică de organizație vă afectează opțiunile de proprietate." - }, - "personalOwnershipCheckboxDesc": { - "message": "Dezactivează proprietatea personală pentru utilizatorii organizației" - }, - "textHiddenByDefault": { - "message": "Când Send-ul este accesat, ascundeți textul în mod implicit", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/ru/messages.json b/locales/ru/messages.json deleted file mode 100644 index 7a5454af..00000000 --- a/locales/ru/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "Веб-хранилище $APP_NAME$", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "Выберите тип элемента" - }, - "name": { - "message": "Имя" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "Новый URI" - }, - "username": { - "message": "Имя пользователя" - }, - "password": { - "message": "Пароль" - }, - "newPassword": { - "message": "Новый пароль" - }, - "passphrase": { - "message": "Парольная фраза" - }, - "notes": { - "message": "Заметки" - }, - "customFields": { - "message": "Пользовательские поля" - }, - "cardholderName": { - "message": "Имя владельца карты" - }, - "number": { - "message": "Номер" - }, - "brand": { - "message": "Тип карты" - }, - "expiration": { - "message": "Срок действия" - }, - "securityCode": { - "message": "Код безопасности (CVV)" - }, - "identityName": { - "message": "Имя" - }, - "company": { - "message": "Компания" - }, - "ssn": { - "message": "Номер социального страхования" - }, - "passportNumber": { - "message": "Номер паспорта" - }, - "licenseNumber": { - "message": "ИНН" - }, - "email": { - "message": "Email" - }, - "phone": { - "message": "Телефон" - }, - "january": { - "message": "Январь" - }, - "february": { - "message": "Февраль" - }, - "march": { - "message": "Март" - }, - "april": { - "message": "Апрель" - }, - "may": { - "message": "Май" - }, - "june": { - "message": "Июнь" - }, - "july": { - "message": "Июль" - }, - "august": { - "message": "Август" - }, - "september": { - "message": "Сентябрь" - }, - "october": { - "message": "Октябрь" - }, - "november": { - "message": "Ноябрь" - }, - "december": { - "message": "Декабрь" - }, - "title": { - "message": "Обращение" - }, - "mr": { - "message": "Г-н" - }, - "mrs": { - "message": "Г-жа" - }, - "ms": { - "message": "Проф." - }, - "dr": { - "message": "Тов." - }, - "expirationMonth": { - "message": "Месяц" - }, - "expirationYear": { - "message": "Год" - }, - "authenticatorKeyTotp": { - "message": "Ключ проверки подлинности (TOTP)" - }, - "folder": { - "message": "Папка" - }, - "newCustomField": { - "message": "Новое пользовательское поле" - }, - "value": { - "message": "Значение" - }, - "dragToSort": { - "message": "Перетащите для сортировки" - }, - "cfTypeText": { - "message": "Текстовое" - }, - "cfTypeHidden": { - "message": "Скрытое" - }, - "cfTypeBoolean": { - "message": "Логическое" - }, - "remove": { - "message": "Удалить" - }, - "unassigned": { - "message": "Неназначенные" - }, - "noneFolder": { - "message": "Без папки", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Добавить папку" - }, - "editFolder": { - "message": "Изменить папку" - }, - "baseDomain": { - "message": "Основной домен" - }, - "host": { - "message": "Хост", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Точно" - }, - "startsWith": { - "message": "Начинается с" - }, - "regEx": { - "message": "Регулярное выражение", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Обнаружение совпадений", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Метод обнаружения по умолчанию", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Никогда" - }, - "toggleVisibility": { - "message": "Изменить видимость" - }, - "toggleCollapse": { - "message": "Свернуть/развернуть", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Сгенерировать пароль" - }, - "checkPassword": { - "message": "Проверьте, не скомпрометирован ли пароль." - }, - "passwordExposed": { - "message": "Этот пароль был скомпрометирован $VALUE$ раз(а). Вам следует его изменить.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "Этот пароль не обнаружен в известных базах утечек. Можно продолжать его использовать." - }, - "save": { - "message": "Сохранить" - }, - "cancel": { - "message": "Отмена" - }, - "canceled": { - "message": "Отменено" - }, - "close": { - "message": "Закрыть" - }, - "delete": { - "message": "Удалить" - }, - "favorite": { - "message": "Избранный" - }, - "unfavorite": { - "message": "Удалить из избранного" - }, - "edit": { - "message": "Изменить" - }, - "searchCollection": { - "message": "Поиск в коллекции" - }, - "searchFolder": { - "message": "Поиск в папке" - }, - "searchFavorites": { - "message": "Поиск в избранном" - }, - "searchType": { - "message": "Поиск по типу", - "description": "Search item type" - }, - "searchVault": { - "message": "Поиск в хранилище" - }, - "allItems": { - "message": "Все элементы" - }, - "favorites": { - "message": "Избранные" - }, - "types": { - "message": "Типы элементов" - }, - "typeLogin": { - "message": "Логин" - }, - "typeCard": { - "message": "Карта" - }, - "typeIdentity": { - "message": "Личные данные" - }, - "typeSecureNote": { - "message": "Защищенная заметка" - }, - "folders": { - "message": "Папки" - }, - "collections": { - "message": "Коллекции" - }, - "firstName": { - "message": "Имя" - }, - "middleName": { - "message": "Отчество" - }, - "lastName": { - "message": "Фамилия" - }, - "address1": { - "message": "Строка адреса 1" - }, - "address2": { - "message": "Строка адреса 2" - }, - "address3": { - "message": "Строка адреса 3" - }, - "cityTown": { - "message": "Город/поселок" - }, - "stateProvince": { - "message": "Регион/область" - }, - "zipPostalCode": { - "message": "Почтовый индекс" - }, - "country": { - "message": "Страна" - }, - "shared": { - "message": "Общие" - }, - "attachments": { - "message": "Вложения" - }, - "select": { - "message": "Выбрать" - }, - "addItem": { - "message": "Добавить элемент" - }, - "editItem": { - "message": "Изменение элемента" - }, - "viewItem": { - "message": "Просмотр элемента" - }, - "ex": { - "message": "напр.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Прочее" - }, - "share": { - "message": "Поделиться" - }, - "valueCopied": { - "message": "$VALUE$ скопирован(о)", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Скопировать значение", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Скопировать пароль", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Скопировать имя пользователя", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Скопировать номер", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Скопировать код безопасности", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Скопировать URI", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "Хранилище" - }, - "vault": { - "message": "Хранилище" - }, - "shareSelected": { - "message": "Поделиться выбранным" - }, - "deleteSelected": { - "message": "Удалить выбранное" - }, - "moveSelected": { - "message": "Переместить выбранное" - }, - "selectAll": { - "message": "Выбрать все" - }, - "unselectAll": { - "message": "Отменить выбор" - }, - "launch": { - "message": "Перейти" - }, - "newAttachment": { - "message": "Добавить новое вложение" - }, - "deletedAttachment": { - "message": "Вложение удалено" - }, - "deleteAttachmentConfirmation": { - "message": "Вы действительно хотите удалить это вложение?" - }, - "attachmentSaved": { - "message": "Вложение сохранено." - }, - "file": { - "message": "Файл" - }, - "selectFile": { - "message": "Выберите файл." - }, - "maxFileSize": { - "message": "Максимальный размер файла 100 МБ." - }, - "updateKey": { - "message": "Вы не можете использовать эту функцию, пока не обновите свой ключ шифрования." - }, - "addedItem": { - "message": "Элемент добавлен" - }, - "editedItem": { - "message": "Элемент изменен" - }, - "sharedItem": { - "message": "Общий элемент" - }, - "sharedItems": { - "message": "Общие элементы" - }, - "deleteItem": { - "message": "Удалить элемент" - }, - "deleteFolder": { - "message": "Удалить папку" - }, - "deleteAttachment": { - "message": "Удалить вложение" - }, - "deleteItemConfirmation": { - "message": "Вы действительно хотите отправить в корзину?" - }, - "deletedItem": { - "message": "Элемент удален" - }, - "deletedItems": { - "message": "Элементы удалены" - }, - "movedItems": { - "message": "Элементы перемещены" - }, - "overwritePasswordConfirmation": { - "message": "Вы хотите перезаписать текущий пароль?" - }, - "editedFolder": { - "message": "Папка отредактирована" - }, - "addedFolder": { - "message": "Папка добавлена" - }, - "deleteFolderConfirmation": { - "message": "Вы хотите удалить эту папку?" - }, - "deletedFolder": { - "message": "Папка удалена" - }, - "loggedOut": { - "message": "Вы вышли из хранилища" - }, - "loginExpired": { - "message": "Истек срок действия вашей сессии." - }, - "logOutConfirmation": { - "message": "Вы действительно хотите выйти?" - }, - "logOut": { - "message": "Выйти" - }, - "ok": { - "message": "Ok" - }, - "yes": { - "message": "Да" - }, - "no": { - "message": "Нет" - }, - "loginOrCreateNewAccount": { - "message": "Войдите или создайте новый аккаунт для доступа к вашему защищенному хранилищу." - }, - "createAccount": { - "message": "Создать аккаунт" - }, - "logIn": { - "message": "Войти" - }, - "submit": { - "message": "Подтвердить" - }, - "emailAddressDesc": { - "message": "Адрес электронной почты будет использоваться для входа." - }, - "yourName": { - "message": "Ваше имя" - }, - "yourNameDesc": { - "message": "Как вас называть?" - }, - "masterPass": { - "message": "Мастер-пароль" - }, - "masterPassDesc": { - "message": "Мастер-пароль это ключ к вашему защищенному хранилищу. Он очень важен, поэтому не забывайте его. Восстановить мастер-пароль невозможно." - }, - "masterPassHintDesc": { - "message": "Подсказка к мастер-паролю может помочь вам его вспомнить." - }, - "reTypeMasterPass": { - "message": "Введите мастер-пароль повторно" - }, - "masterPassHint": { - "message": "Подсказка к мастер-паролю (необяз.)" - }, - "masterPassHintLabel": { - "message": "Подсказка к мастер-паролю" - }, - "settings": { - "message": "Настройки" - }, - "passwordHint": { - "message": "Подсказка к паролю" - }, - "enterEmailToGetHint": { - "message": "Введите email учетной записи для получения подсказки к мастер-паролю." - }, - "getMasterPasswordHint": { - "message": "Получить подсказку к мастер-паролю" - }, - "emailRequired": { - "message": "Необходимо указать email." - }, - "invalidEmail": { - "message": "Неверный адрес email." - }, - "masterPassRequired": { - "message": "Требуется мастер-пароль." - }, - "masterPassLength": { - "message": "Мастер-пароль должен содержать не менее 8 символов." - }, - "masterPassDoesntMatch": { - "message": "Мастер-пароли не совпадают." - }, - "newAccountCreated": { - "message": "Ваш аккаунт создан! Теперь вы можете войти в систему." - }, - "masterPassSent": { - "message": "Мы отправили вам email с подсказкой к мастер-паролю." - }, - "unexpectedError": { - "message": "Произошла неожиданная ошибка." - }, - "emailAddress": { - "message": "Адрес email" - }, - "yourVaultIsLocked": { - "message": "Ваше хранилище заблокировано. Для продолжения введите мастер-пароль." - }, - "unlock": { - "message": "Разблокировать" - }, - "loggedInAsEmailOn": { - "message": "Выполнен вход на $HOSTNAME$ как $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Неверный мастер-пароль" - }, - "lockNow": { - "message": "Заблокировать" - }, - "noItemsInList": { - "message": "Нет элементов для отображения." - }, - "noCollectionsInList": { - "message": "Нет коллекций для отображения." - }, - "noGroupsInList": { - "message": "Нет групп для отображения." - }, - "noUsersInList": { - "message": "Нет пользователей для отображения." - }, - "noEventsInList": { - "message": "Нет событий для отображения." - }, - "newOrganization": { - "message": "Новая организация" - }, - "noOrganizationsList": { - "message": "Вы не являетесь членом какой-либо организации. Организации позволяют безопасно обмениваться элементами с другими пользователями." - }, - "versionNumber": { - "message": "Версия $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Введите 6-значный код подтверждения из вашего приложения-аутентификатора." - }, - "enterVerificationCodeEmail": { - "message": "Введите 6-значный код подтверждения, который был отправлен на $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "Отправлено письмо подтверждения на $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Запомнить меня" - }, - "sendVerificationCodeEmailAgain": { - "message": "Отправить код подтверждения еще раз" - }, - "useAnotherTwoStepMethod": { - "message": "Использовать другой метод двухфакторной аутентификации" - }, - "insertYubiKey": { - "message": "Вставьте свой YubiKey в USB-порт компьютера и нажмите его кнопку." - }, - "insertU2f": { - "message": "Вставьте ключ безопасности в USB-порт компьютера. Если у ключа есть кнопка, нажмите ее." - }, - "loginUnavailable": { - "message": "Вход недоступен" - }, - "noTwoStepProviders": { - "message": "У этого аккаунта включена двухфакторная аутентификация, однако ни один из настроенных вариантов не поддерживается этим веб-браузером." - }, - "noTwoStepProviders2": { - "message": "Используйте поддерживаемый веб-браузер (например Chrome) и/или добавьте дополнительные варианты аутентификации, которые поддерживаются в веб-браузерах (например приложение-аутентификатор)." - }, - "twoStepOptions": { - "message": "Настройки двухфакторной аутентификации" - }, - "recoveryCodeDesc": { - "message": "Потеряли доступ ко всем вариантам двухфакторной аутентификации? Используйте код восстановления, чтобы отключить ее для вашего аккаунта." - }, - "recoveryCodeTitle": { - "message": "Код восстановления" - }, - "authenticatorAppTitle": { - "message": "Приложение-аутентификатор" - }, - "authenticatorAppDesc": { - "message": "Используйте приложение-аутентификатор (например Authy или Google Authenticator) для создания кодов проверки на основе времени.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "Ключ безопасности YubiKey OTP" - }, - "yubiKeyDesc": { - "message": "Используйте YubiKey для доступа к аккаунту. Работает с устройствами YubiKey серий 4, 5 и NEO." - }, - "duoDesc": { - "message": "Подтвердите при помощи Duo Security, используя приложение Duo Mobile, SMS, телефонный звонок или ключ безопасности U2F.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Подтвердите при помощи Duo Security для вашей организации, используя приложение Duo Mobile, SMS, телефонный звонок или ключ безопасности U2F.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Используйте любой защищенный ключ FIDO U2F для доступа к вашему аккаунту." - }, - "u2fTitle": { - "message": "Ключ безопасности FIDO U2F" - }, - "emailTitle": { - "message": "Email" - }, - "emailDesc": { - "message": "Коды подтверждения будут отправлены вам по электронной почте." - }, - "continue": { - "message": "Продолжить" - }, - "organization": { - "message": "Организация" - }, - "organizations": { - "message": "Организации" - }, - "shareDesc": { - "message": "Выберите организацию, которой хотите предоставить доступ к этому элементу. После выполнения этой операции права на элемент будут переданы организации и вы не будете являться непосредственным владельцем этого элемента." - }, - "shareManyDesc": { - "message": "Выберите организацию, которой вы хотите предоставить доступ к этим элементам. После выполнения этой операции права на элементы будут переданы организации и вы не будете являться непосредственным владельцем этих элементов." - }, - "collectionsDesc": { - "message": "Отредактируйте коллекции, с которыми совместно используется этот элемент. Данный элемент смогут видеть только пользователи организации, имеющие доступ к этим коллекциям." - }, - "deleteSelectedItemsDesc": { - "message": "Выбрано элементов для удаления: $COUNT$. Вы действительно хотите удалить все эти элементы?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Выберите папку, в которую вы хотите переместить выбранные элементы ($COUNT$ шт.).", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "Вы выбрали $COUNT$ элемента(-ов). $SHAREABLE_COUNT$ являются общими, $NONSHAREABLE_COUNT$ - нет.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Код подтверждения (TOTP)" - }, - "copyVerificationCode": { - "message": "Скопировать код подтверждения" - }, - "warning": { - "message": "Предупреждение" - }, - "confirmVaultExport": { - "message": "Подтвердить экспорт хранилища" - }, - "exportWarningDesc": { - "message": "Экспортируемый файл содержит данные вашего хранилища в незашифрованном формате. Его не следует хранить или отправлять по небезопасным каналам (например по электронной почте). Удалите его сразу после использования." - }, - "encExportWarningDesc": { - "message": "При экспорте данные шифруются с помощью ключа шифрования учетной записи. Если вы когда-либо повернете ключ шифрования учетной записи, вам следует экспортировать данные повторно, поскольку вы не сможете расшифровать этот файл экспорта." - }, - "exportMasterPassword": { - "message": "Введите мастер-пароль для экспорта данных из хранилища." - }, - "exportVault": { - "message": "Экспортировать хранилище" - }, - "fileFormat": { - "message": "Формат файла" - }, - "exportSuccess": { - "message": "Данные вашего хранилища экспортированы." - }, - "passwordGenerator": { - "message": "Генератор паролей" - }, - "minComplexityScore": { - "message": "Минимальный уровень сложности" - }, - "minNumbers": { - "message": "Минимум цифр" - }, - "minSpecial": { - "message": "Минимум символов", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Избегать неоднозначных символов" - }, - "regeneratePassword": { - "message": "Создать новый пароль" - }, - "length": { - "message": "Длина" - }, - "numWords": { - "message": "Количество слов" - }, - "wordSeparator": { - "message": "Разделитель слов" - }, - "capitalize": { - "message": "С заглавной буквы", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Включить цифру" - }, - "passwordHistory": { - "message": "История паролей" - }, - "noPasswordsInList": { - "message": "Нет паролей для отображения." - }, - "clear": { - "message": "Очистить", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Аккаунт обновлен" - }, - "changeEmail": { - "message": "Изменение email" - }, - "newEmail": { - "message": "Новый email" - }, - "code": { - "message": "Код" - }, - "changeEmailDesc": { - "message": "Мы отправили код подтверждения на $EMAIL$. Проверьте свою почту и введите ниже код из письма, чтобы завершить изменение адреса электронной почты.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "В случае продолжения, ваша сессия будет завершена и вам будет предложено авторизоваться повторно. Сессии на других устройствах могут оставаться активными в течение одного часа." - }, - "emailChanged": { - "message": "Email изменен" - }, - "logBackIn": { - "message": "Пожалуйста, войдите снова." - }, - "logBackInOthersToo": { - "message": "Пожалуйста, войдите снова. Если вы используете другие приложения Bitwarden, выполните на них выход и повторный вход." - }, - "changeMasterPassword": { - "message": "Изменение мастер-пароля" - }, - "masterPasswordChanged": { - "message": "Мастер-пароль изменен" - }, - "currentMasterPass": { - "message": "Текущий мастер-пароль" - }, - "newMasterPass": { - "message": "Новый мастер-пароль" - }, - "confirmNewMasterPass": { - "message": "Подтвердите новый мастер-пароль" - }, - "encKeySettings": { - "message": "Настройки ключа шифрования" - }, - "kdfAlgorithm": { - "message": "Алгоритм KDF" - }, - "kdfIterations": { - "message": "Итерации KDF" - }, - "kdfIterationsDesc": { - "message": "Большее число итераций KDF повысит защиту мастер-пароля от атаки перебором. Рекомендуем значение $VALUE$ или больше.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Слишком большое число итераций KDF может существенно замедлить вход (и разблокировку) на устройствах со слабыми процессорами. Рекомендуется последовательно увеличивать значение с шагом $INCREMENT$, проверяя результат на всех ваших устройствах.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Изменить KDF" - }, - "encKeySettingsChanged": { - "message": "Настройки ключа шифрования изменены" - }, - "dangerZone": { - "message": "Опасная зона" - }, - "dangerZoneDesc": { - "message": "Осторожно, эти действия необратимы!" - }, - "deauthorizeSessions": { - "message": "Деавторизовать сессии" - }, - "deauthorizeSessionsDesc": { - "message": "Беспокоитесь о том, что ваша учетная запись авторизована на другом устройстве? Чтобы деавторизовать все ранее использовавшиеся компьютеры или устройства, выполните действие ниже. Этот шаг безопасности рекомендуется, если вы ранее использовали общедоступный компьютер или случайно сохранили свой пароль на устройстве, которое вам не принадлежит. Это действие также очистит все ранее сохраненные сессии двухфакторной аутентификации." - }, - "deauthorizeSessionsWarning": { - "message": "В случае продолжения, ваша сессия будет завершена и вам будет предложено авторизоваться повторно. При активированной двухфакторной аутентификации вам потребуется ввести код. Сессии на других устройствах могут оставаться активными в течение одного часа." - }, - "sessionsDeauthorized": { - "message": "Все сессии деавторизованы" - }, - "purgeVault": { - "message": "Очистить хранилище" - }, - "purgedOrganizationVault": { - "message": "Хранилище организации очищено." - }, - "purgeVaultDesc": { - "message": "Чтобы удалить все элементы и папки из вашего хранилища, выполните следующие действия. Элементы, принадлежащие организации, с которой вы делитесь, удалены не будут." - }, - "purgeOrgVaultDesc": { - "message": "Для удаления всех элементов в хранилище организации выполните следующие действия." - }, - "purgeVaultWarning": { - "message": "Очистка вашего хранилища необратима. Ее нельзя отменить." - }, - "vaultPurged": { - "message": "Ваше хранилище очищено." - }, - "deleteAccount": { - "message": "Удалить учетную запись" - }, - "deleteAccountDesc": { - "message": "Чтобы удалить учетную запись и все связанные с ней данные, выполните действие ниже." - }, - "deleteAccountWarning": { - "message": "Удаление вашей учетной записи необратимо. Его нельзя отменить." - }, - "accountDeleted": { - "message": "Учетная запись удалена" - }, - "accountDeletedDesc": { - "message": "Ваша учетная запись была закрыта и все связанные с ней данные были удалены." - }, - "myAccount": { - "message": "Моя учетная запись" - }, - "tools": { - "message": "Инструменты" - }, - "importData": { - "message": "Импорт данных" - }, - "importSuccess": { - "message": "Данные были успешно импортированы в ваше хранилище." - }, - "importFormatError": { - "message": "Формат данных некорректен. Проверьте файл импорта и повторите попытку." - }, - "importNothingError": { - "message": "Ничего не было импортировано." - }, - "selectFormat": { - "message": "Выберите формат файла импорта" - }, - "selectImportFile": { - "message": "Выберите файл импорта" - }, - "orCopyPasteFileContents": { - "message": "или скопируйте/вставьте содержимое файла импорта" - }, - "instructionsFor": { - "message": "Инструкции для $NAME$", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Опции" - }, - "optionsDesc": { - "message": "Настройте возможности вашего веб-хранилища." - }, - "optionsUpdated": { - "message": "Настройки обновлены" - }, - "language": { - "message": "Язык" - }, - "languageDesc": { - "message": "Изменение языка, используемого веб-хранилищем." - }, - "disableIcons": { - "message": "Отключить значки веб-сайтов" - }, - "disableIconsDesc": { - "message": "Значки веб-сайтов отображаются рядом с каждым элементом в вашем хранилище." - }, - "enableGravatars": { - "message": "Включить Gravatar", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Использовать аватары с сайта gravatar.com." - }, - "enableFullWidth": { - "message": "Активировать отображение на всю ширину", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Разрешить веб-хранилищу использовать всю ширину окна браузера." - }, - "default": { - "message": "По умолчанию" - }, - "domainRules": { - "message": "Доменные правила" - }, - "domainRulesDesc": { - "message": "Если у вас есть тот же логин на нескольких разных доменах веб-сайта, вы можете отметить веб-сайт как \"эквивалентный\". \"Глобальные\" - это домены, созданные для вас Bitwarden." - }, - "globalEqDomains": { - "message": "Глобальные эквивалентные домены" - }, - "customEqDomains": { - "message": "Пользовательские эквивалентные домены" - }, - "exclude": { - "message": "Исключить" - }, - "include": { - "message": "Включить" - }, - "customize": { - "message": "Настроить" - }, - "newCustomDomain": { - "message": "Новый пользовательский домен" - }, - "newCustomDomainDesc": { - "message": "Введите список доменов, разделенных запятыми. Допускаются только базовые домены. Не вводите субдомены. Например, вводите \"google.com\" вместо \"www.google.com\". Также вы можете ввести \"androidapp://package.name\", чтобы связать приложение Android с другими доменами веб-сайта." - }, - "customDomainX": { - "message": "Пользовательский домен $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Домены обновлены" - }, - "twoStepLogin": { - "message": "Двухфакторная аутентификация" - }, - "twoStepLoginDesc": { - "message": "Защитите свою учетную запись, при помощи дополнительного шага при авторизации." - }, - "twoStepLoginOrganizationDesc": { - "message": "Требовать двухфакторную аутентификацию для пользователей вашей организации, путем конфигурации ее на уровне организации." - }, - "twoStepLoginRecoveryWarning": { - "message": "При включении двухфакторной аутентификации вы можете навсегда потерять доступ к вашей учетной записи Bitwarden. Код восстановления позволяет получить доступ к вашему аккаунту в случае, если вы больше не можете использовать свой обычный метод двухфакторной аутентификации (например, при потере устройства). Поддержка Bitwarden не сможет вам помочь, если вы потеряете доступ к своей учетной записи. Мы рекомендуем вам записать или распечатать код восстановления и сохранить его в надежном месте." - }, - "viewRecoveryCode": { - "message": "Просмотр кода восстановления" - }, - "providers": { - "message": "Провайдеры", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Включить" - }, - "enabled": { - "message": "Включено" - }, - "premium": { - "message": "Премиум", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Премиум" - }, - "premiumRequired": { - "message": "Необходим Премиум" - }, - "premiumRequiredDesc": { - "message": "Для использования этой функции требуется Премиум." - }, - "youHavePremiumAccess": { - "message": "У вас есть Премиум" - }, - "alreadyPremiumFromOrg": { - "message": "У вас уже есть доступ к Премиум, так как вы являетесь членом организации." - }, - "manage": { - "message": "Управление" - }, - "disable": { - "message": "Выключить" - }, - "twoStepLoginProviderEnabled": { - "message": "Этот провайдер двухфакторной аутентификации включен для вашего аккаунта." - }, - "twoStepLoginAuthDesc": { - "message": "Для изменения настроек двухфакторной аутентификации введите мастер-пароль." - }, - "twoStepAuthenticatorDesc": { - "message": "Выполните следующие шаги, чтобы настроить двухфакторную аутентификацию с помощью приложения-аутетификатора:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Загрузите приложение-аутентификатор" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Нужно приложение-аутентификатор? Загрузите одно из следующих" - }, - "iosDevices": { - "message": "Устройства iOS" - }, - "androidDevices": { - "message": "Устройства Android" - }, - "windowsDevices": { - "message": "Устройства Windows" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "Это рекомендуемые приложения, однако, будут работать и другие приложения-аутентификаторы." - }, - "twoStepAuthenticatorScanCode": { - "message": "Отсканируйте этот QR-код вашим приложением-аутентификатором" - }, - "key": { - "message": "Ключ" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Введите полученный 6-значный код подтверждения из вашего приложения-аутентификатора" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "Если вам нужно добавить его на другое устройство, ниже указан QR-код для приложения-аутентификатора." - }, - "twoStepDisableDesc": { - "message": "Вы действительно хотите отключить этого провайдера двухфакторной аутентификации?" - }, - "twoStepDisabled": { - "message": "Провайдер двухфакторной аутентификации отключен." - }, - "twoFactorYubikeyAdd": { - "message": "Добавить в аккаунт новый YubiKey" - }, - "twoFactorYubikeyPlugIn": { - "message": "Вставьте YubiKey в USB-порт компьютера." - }, - "twoFactorYubikeySelectKey": { - "message": "Выберите первое пустое поле ввода YubiKey ниже." - }, - "twoFactorYubikeyTouchButton": { - "message": "Нажмите кнопку YubiKey." - }, - "twoFactorYubikeySaveForm": { - "message": "Сохранить форму." - }, - "twoFactorYubikeyWarning": { - "message": "Из-за ограничений платформы, YubiKey можно использовать не во всех приложениях Bitwarden. Если использовать YubiKey не удается, то включите другого провайдера двухфакторной аутентификации, чтобы иметь доступ к своему аккаунту. Поддерживаемые платформы:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Веб-хранилище, приложение для компьютера, интерфейс командной строки (CLI) и все расширения браузеров на устройстве с USB-портом, совместимым с YubiKey." - }, - "twoFactorYubikeySupportMobile": { - "message": "Мобильные приложения на устройстве с NFC или USB-портом, совместимыми с YubiKey." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "Ключ U2F $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "Поддержка NFC" - }, - "twoFactorYubikeySupportsNfc": { - "message": "Один из моих ключей поддерживает NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "Если один из ваших YubiKey поддерживает NFC (например YubiKey NEO), то при обнаружении доступности NFC на мобильном устройстве вам будет выдан запрос." - }, - "yubikeysUpdated": { - "message": "YubiKey обновлены" - }, - "disableAllKeys": { - "message": "Отключить все ключи" - }, - "twoFactorDuoDesc": { - "message": "Введите информацию о приложении Bitwarden из панели администратора Duo." - }, - "twoFactorDuoIntegrationKey": { - "message": "Ключ интеграции" - }, - "twoFactorDuoSecretKey": { - "message": "Секретный ключ" - }, - "twoFactorDuoApiHostname": { - "message": "Имя хоста API" - }, - "twoFactorEmailDesc": { - "message": "Выполните следующие шаги, чтобы настроить двухфакторную аутентификацию по email:" - }, - "twoFactorEmailEnterEmail": { - "message": "Введите адрес email, на который вы хотите получать коды подтверждения" - }, - "twoFactorEmailEnterCode": { - "message": "Введите полученный в письме 6-значный код подтверждения" - }, - "sendEmail": { - "message": "Отправить email" - }, - "twoFactorU2fAdd": { - "message": "Добавьте ключ безопасности FIDO U2F в свой аккаунт" - }, - "removeU2fConfirmation": { - "message": "Вы действительно хотите удалить этот ключ безопасности?" - }, - "readKey": { - "message": "Читать ключ" - }, - "keyCompromised": { - "message": "Ключ скомпрометирован." - }, - "twoFactorU2fGiveName": { - "message": "Присвойте ключу безопасности понятное имя, чтобы его можно было легко идентифицировать." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Подключите ключ безопасности к USB-порту компьютера и нажмите кнопку 'Прочитать ключ'." - }, - "twoFactorU2fTouchButton": { - "message": "Если у ключа безопасности есть кнопка, нажмите ее." - }, - "twoFactorU2fSaveForm": { - "message": "Сохранить форму." - }, - "twoFactorU2fWarning": { - "message": "Из-за ограничений платформы, FIDO U2F можно использовать не во всех приложениях Bitwarden. Если использовать FIDO U2F не удается, то включите другого провайдера двухфакторной аутентификации, чтобы иметь доступ к своему аккаунту. Поддерживаемые платформы:" - }, - "twoFactorU2fSupportWeb": { - "message": "Веб-хранилище и расширения браузера на компьютере/ноутбуке с браузером с поддержкой U2F (Chrome, Opera, Vivaldi или Firefox с включенным FIDO U2F)." - }, - "twoFactorU2fWaiting": { - "message": "В ожидании нажатия кнопки на ключе безопасности" - }, - "twoFactorU2fClickSave": { - "message": "Нажмите кнопку 'Сохранить' ниже, чтобы включить этот ключ безопасности для двухфакторной аутентификации." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "Не удалось прочитать ключ безопасности. Попробуйте снова." - }, - "twoFactorRecoveryYourCode": { - "message": "Ваш код восстановления двухфакторной аутентификации Bitwarden" - }, - "twoFactorRecoveryNoCode": { - "message": "Вы еще не включили ни одного провайдера двухфакторной аутентификации. После включения вернитесь сюда и получите свой код восстановления." - }, - "printCode": { - "message": "Печать кода", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Отчеты" - }, - "unsecuredWebsitesReport": { - "message": "Отчет о незащищенных сайтах" - }, - "unsecuredWebsitesReportDesc": { - "message": "Использование незащищенных сайтов по схеме http:// может быть опасным. Если сайт позволяет, следует всегда получать к нему доступ по схеме https://, для шифрования соединения." - }, - "unsecuredWebsitesFound": { - "message": "Найдены незащищенные сайты" - }, - "unsecuredWebsitesFoundDesc": { - "message": "В хранилище обнаружены элементы ($COUNT$ шт.) с незащищенными URI. Вам следует изменить их схему URI на https://, если сайт это позволяет.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "В вашем хранилище нет элементов с незащищенными URI." - }, - "inactive2faReport": { - "message": "Отчет о неактивной 2ФА" - }, - "inactive2faReportDesc": { - "message": "Двухфакторная аутентификация (2ФА) очень важна для безопасности, она помогает защитить ваши аккаунты. Если сайт предлагает это, следует всегда включать двухфакторную аутентификацию." - }, - "inactive2faFound": { - "message": "Найдены логины без 2ФА" - }, - "inactive2faFoundDesc": { - "message": "В хранилище обнаружены сайты ($COUNT$ шт.), у которых может быть не настроена двухфакторная аутентификация (согласно 2fa.directory). Для дополнительной защиты этих аккаунтов следует включить двухфакторную аутентификацию.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "В вашем хранилище нет сайтов с ненастроенной двухфакторной аутентификацией." - }, - "instructions": { - "message": "Инструкции" - }, - "exposedPasswordsReport": { - "message": "Отчет о скопрометированных паролях" - }, - "exposedPasswordsReportDesc": { - "message": "Скомпрометированные пароли - это пароли, обнаруженные в известных базах утечек, опубликованные или проданные в даркнете хакерами." - }, - "exposedPasswordsFound": { - "message": "Найдены скомпрометированные пароли" - }, - "exposedPasswordsFoundDesc": { - "message": "В хранилище обнаружены элементы ($COUNT$ шт.), пароли которых скомпрометированы. Вам следует задать для них новые пароли.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "В вашем хранилище нет скомпрометированных паролей." - }, - "checkExposedPasswords": { - "message": "Проверить пароли на компрометацию" - }, - "exposedXTimes": { - "message": "Скомпрометирован $COUNT$ раз(а)", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Отчет о слабых паролях" - }, - "weakPasswordsReportDesc": { - "message": "Слабые пароли могут быть легко подобраны хакерами и автоматизированными средствами для взлома паролей. Создавать надежные пароли может помочь генератор паролей Bitwarden." - }, - "weakPasswordsFound": { - "message": "Обнаружены слабые пароли" - }, - "weakPasswordsFoundDesc": { - "message": "В хранилище есть элементы ($COUNT$ шт.) с ненадежными паролями. Следует задать для них более сильные пароли.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "В вашем хранилище нет слабых паролей." - }, - "reusedPasswordsReport": { - "message": "Отчет о повторно использованных паролях" - }, - "reusedPasswordsReportDesc": { - "message": "Если используемый вами сервис взломан, повторное использование того же пароля в другом месте может позволить хакерам легко получить доступ к другим вашим аккаунтам. Для каждого аккаунта или сервиса следует использовать уникальный пароль." - }, - "reusedPasswordsFound": { - "message": "Обнаружены повторно использованные пароли" - }, - "reusedPasswordsFoundDesc": { - "message": "В хранилище есть элементы ($COUNT$ шт.) с повторно использованными паролями. Следует изменить их на уникальные.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "В вашем хранилище нет повторно использованных паролей." - }, - "reusedXTimes": { - "message": "Повторно использован $COUNT$ раз(а)", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Отчет об утечке данных" - }, - "breachDesc": { - "message": "Утечка - это инцидент, при котором данные сайта стали незаконно доступны хакерам и впоследствии опубликованы. Проверьте типы данных, которые были скомпрометированы (адреса email, пароли, кредитные карты и т. д.) и примите соответствующие меры, такие как изменение паролей." - }, - "breachCheckUsernameEmail": { - "message": "Проверьте имена пользователей или адреса email, которые вы используете." - }, - "checkBreaches": { - "message": "Проверить в базах утечек" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ не найден в известных базах утечек.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Хорошие новости", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ найден в $COUNT$ различных онлайн-базах утечек.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Обнаружена утечка аккаунтов" - }, - "compromisedData": { - "message": "Скомпрометированные данные" - }, - "website": { - "message": "Веб-сайт" - }, - "affectedUsers": { - "message": "Затронутых пользователей" - }, - "breachOccurred": { - "message": "Произошла утечка" - }, - "breachReported": { - "message": "Сообщено об утечке" - }, - "reportError": { - "message": "При загрузке отчета произошла ошибка. Попробуйте еще раз" - }, - "billing": { - "message": "Оплата" - }, - "accountCredit": { - "message": "Средства аккаунта", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Баланс аккаунта", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Пополнить счет", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Сумма", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Внесенный платеж отобразится после его обработки. Некоторые способы оплаты могут занять больше времени, чем другие." - }, - "makeSureEnoughCredit": { - "message": "Убедитесь, что на вашем счету достаточно средств для этой покупки. Если на вашем счете недостаточно средств, то для покрытия разницы будет использован ваш метод оплаты по умолчанию. Вы можете добавить денежные средства в свой аккаунт на странице оплаты." - }, - "creditAppliedDesc": { - "message": "Средства на вашего аккаунта используются для совершения платежей. Любой доступный остаток будет автоматически использован для оплаты счетов, выставленных этому аккаунту." - }, - "goPremium": { - "message": "Перейти на Премиум", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "Вы обновились до Премиум." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Обновите свою учетную запись до Премиум и разблокируйте великолепные дополнительные возможности." - }, - "premiumSignUpStorage": { - "message": "1 ГБ зашифрованного хранилища для вложенных файлов." - }, - "premiumSignUpTwoStep": { - "message": "Дополнительные варианты двухфакторной аутентификации, такие как YubiKey, FIDO U2F и Duo." - }, - "premiumSignUpReports": { - "message": "Гигиена паролей, здоровье аккаунта и отчеты об утечках данных для обеспечения безопасности вашего хранилища." - }, - "premiumSignUpTotp": { - "message": "TOTP-генератор кодов (2ФА) для логинов в хранилище." - }, - "premiumSignUpSupport": { - "message": "Приоритетная поддержка." - }, - "premiumSignUpFuture": { - "message": "Все будущие функции Премиум. Их будет больше!" - }, - "premiumPrice": { - "message": "Всего лишь $PRICE$ /в год!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Дополнения" - }, - "premiumAccess": { - "message": "Премиум-доступ" - }, - "premiumAccessDesc": { - "message": "Вы можете добавить премиум-доступ всем членам вашей организации за $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Дополнительное хранилище (ГБ)" - }, - "additionalStorageGbDesc": { - "message": "# дополнительных ГБ" - }, - "additionalStorageIntervalDesc": { - "message": "Ваш план включает $SIZE$ зашифрованного файлового хранилища. Вы можете добавить дополнительное место по цене $PRICE$ за ГБ /$INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Итого" - }, - "total": { - "message": "Всего" - }, - "year": { - "message": "год" - }, - "month": { - "message": "месяц" - }, - "monthAbbr": { - "message": "мес.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Ваш метод оплаты будет активирован немедленно и использоваться ежегодно. Вы можете отменить это в любой момент." - }, - "paymentCharged": { - "message": "Ваш метод оплаты будет активирован немедленно и использоваться каждый $INTERVAL$. Вы можете отменить это в любой момент.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Ваш план включает семидневную бесплатную пробную версию. Ваш метод оплаты не будет использован до окончания пробной версии. Оплата будет осуществляться каждый $INTERVAL$. Вы можете отменить в любое время.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Платежная информация" - }, - "billingInformation": { - "message": "Платежная информация" - }, - "creditCard": { - "message": "Кредитная карта" - }, - "paypalClickSubmit": { - "message": "Нажмите кнопку PayPal, чтобы войти в свою учетную запись PayPal, затем нажмите кнопку 'Подтвердить' ниже, чтобы продолжить." - }, - "cancelSubscription": { - "message": "Отменить подписку" - }, - "subscriptionCanceled": { - "message": "Подписка отменена." - }, - "pendingCancellation": { - "message": "Ожидание отмены" - }, - "subscriptionPendingCanceled": { - "message": "Подписка была помечена для отмены в конце текущего платежного периода." - }, - "reinstateSubscription": { - "message": "Восстановить подписку" - }, - "reinstateConfirmation": { - "message": "Вы действительно хотите удалить ожидающий запрос на аннулирование и восстановить свою подписку?" - }, - "reinstated": { - "message": "Подписка восстановлена." - }, - "cancelConfirmation": { - "message": "Вы действительно хотите отменить? Вы потеряете доступ ко всем возможностям этой подписки в конце этого платежного периода." - }, - "canceledSubscription": { - "message": "Подписка отменена." - }, - "neverExpires": { - "message": "Никогда не истекает" - }, - "status": { - "message": "Статус" - }, - "nextCharge": { - "message": "Следующий платеж" - }, - "details": { - "message": "Подробности" - }, - "downloadLicense": { - "message": "Загрузить лицензию" - }, - "updateLicense": { - "message": "Обновить лицензию" - }, - "updatedLicense": { - "message": "Лицензия обновлена" - }, - "manageSubscription": { - "message": "Управление подпиской" - }, - "storage": { - "message": "Хранилище" - }, - "addStorage": { - "message": "Добавить хранилище" - }, - "removeStorage": { - "message": "Удалить хранилище" - }, - "subscriptionStorage": { - "message": "Ваша подписка включает в общей сложности $MAX_STORAGE$ ГБ зашифрованного файлового хранилища. На текущий момент использовано $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Способ оплаты" - }, - "noPaymentMethod": { - "message": "Нет сохраненных способов оплаты." - }, - "addPaymentMethod": { - "message": "Добавить способ оплаты" - }, - "changePaymentMethod": { - "message": "Изменить способ оплаты" - }, - "invoices": { - "message": "Счета" - }, - "noInvoices": { - "message": "Нет счетов." - }, - "paid": { - "message": "Оплачено", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Не оплачено", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Транзакции", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "Нет транзакций." - }, - "chargeNoun": { - "message": "Списание", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Возврат", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Платежи будут отображаться в вашей выписке как $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "ГБ хранилища для добавления" - }, - "gbStorageRemove": { - "message": "ГБ хранилища для удаления" - }, - "storageAddNote": { - "message": "Добавление хранилища приведет к корректировке итоговых счетов и немедленному взиманию платы с вашего метода оплаты. Первый платеж будет пропорционален оставшейся части текущего платежного периода." - }, - "storageRemoveNote": { - "message": "Удаление хранилища приведет к корректировке ваших итоговых счетов. Излишне уплаченные средства будут пропорционально перенесены на ваш следующий платежный период." - }, - "adjustedStorage": { - "message": "Скорректировано $AMOUNT$ ГБ хранилища.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Обратиться в службу поддержки" - }, - "updatedPaymentMethod": { - "message": "Обновленный способ оплаты." - }, - "purchasePremium": { - "message": "Купить Премиум" - }, - "licenseFile": { - "message": "Файл лицензии" - }, - "licenseFileDesc": { - "message": "Ваш файл лицензии будет иметь имя $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "Для обновления своей учетной записи до Премиум, необходимо загрузить действительный файл лицензии." - }, - "uploadLicenseFileOrg": { - "message": "Для создания организации размещенной на локальном хостинге, необходимо загрузить действительный файл лицензии." - }, - "accountEmailMustBeVerified": { - "message": "Адрес email вашей учетной записи должен быть подтвержден." - }, - "newOrganizationDesc": { - "message": "Организации позволяют совместно использовать части своего хранилища с другими, а также управлять связанными пользователями для определенного объекта, такого как семья, небольшая команда или крупная компания." - }, - "generalInformation": { - "message": "Общая информация" - }, - "organizationName": { - "message": "Название организации" - }, - "accountOwnedBusiness": { - "message": "Этот аккаунт принадлежит компании." - }, - "billingEmail": { - "message": "Email для выставления счетов" - }, - "businessName": { - "message": "Название компании" - }, - "chooseYourPlan": { - "message": "Выберите план" - }, - "users": { - "message": "Пользователи" - }, - "userSeats": { - "message": "Лицензированных мест" - }, - "additionalUserSeats": { - "message": "Дополнительные пользовательские лицензии" - }, - "userSeatsDesc": { - "message": "# пользовательских лицензий" - }, - "userSeatsAdditionalDesc": { - "message": "Лицензированных мест в вашем плане: $BASE_SEATS$. Вы можете добавить дополнительных пользователей по $SEAT_PRICE$ за пользователя/месяц.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "Сколько лицензированных мест вам нужно? При необходимости вы можете добавить дополнительные лицензии позже." - }, - "planNameFree": { - "message": "Бесплатный", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "Для тестирования или персонального использования с возможностью поделиться с другими пользователями ($COUNT$).", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Семья" - }, - "planDescFamilies": { - "message": "Для личного использования, чтобы поделиться с семьей и друзьями." - }, - "planNameTeams": { - "message": "Команда" - }, - "planDescTeams": { - "message": "Для компаний и других командных организаций." - }, - "planNameEnterprise": { - "message": "Предприятие" - }, - "planDescEnterprise": { - "message": "Для компаний и других крупных организаций." - }, - "freeForever": { - "message": "Бесплатно навсегда" - }, - "includesXUsers": { - "message": "включает $COUNT$ пользователей", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Дополнительные пользователи" - }, - "costPerUser": { - "message": "$COST$ за пользователя", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Ограничение до $COUNT$ пользователей (включая вас)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Ограничение до $COUNT$ коллекций", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Добавление и совместное использование с $COUNT$ пользователями", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Добавлять и делиться с неограниченным количеством пользователей" - }, - "createUnlimitedCollections": { - "message": "Создание неограниченных коллекций" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ зашифрованного хранилища файлов", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "Локальный хостинг (опционально)" - }, - "usersGetPremium": { - "message": "Пользователи получают доступ к возможностям Премиум" - }, - "controlAccessWithGroups": { - "message": "Управление доступом пользователей с помощью групп" - }, - "syncUsersFromDirectory": { - "message": "Синхронизация пользователей и групп из каталога" - }, - "trackAuditLogs": { - "message": "Отслеживание действий пользователей с помощью журналов аудита" - }, - "enforce2faDuo": { - "message": "Принудительная 2ФА с Duo" - }, - "priorityCustomerSupport": { - "message": "Приоритетная поддержка" - }, - "xDayFreeTrial": { - "message": "$COUNT$-дневная бесплатная пробная версия, отмена в любое время", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Ежемесячно" - }, - "annually": { - "message": "Ежегодно" - }, - "basePrice": { - "message": "Базовая цена" - }, - "organizationCreated": { - "message": "Организация создана" - }, - "organizationReadyToGo": { - "message": "Ваша новая организация готова к работе!" - }, - "organizationUpgraded": { - "message": "Ваша организация была обновлена." - }, - "leave": { - "message": "Покинуть" - }, - "leaveOrganizationConfirmation": { - "message": "Вы действительно хотите покинуть эту организацию?" - }, - "leftOrganization": { - "message": "Вы покинули организацию." - }, - "defaultCollection": { - "message": "Коллекция по умолчанию" - }, - "getHelp": { - "message": "Получить помощь" - }, - "getApps": { - "message": "Получить приложения" - }, - "loggedInAs": { - "message": "Выполнен вход как" - }, - "eventLogs": { - "message": "Журнал событий" - }, - "people": { - "message": "Люди" - }, - "policies": { - "message": "Политики" - }, - "editPolicy": { - "message": "Редактировать политику" - }, - "groups": { - "message": "Группы" - }, - "newGroup": { - "message": "Новая группа" - }, - "addGroup": { - "message": "Добавить группу" - }, - "editGroup": { - "message": "Редактировать группу" - }, - "deleteGroupConfirmation": { - "message": "Вы действительно хотите удалить эту группу?" - }, - "removeUserConfirmation": { - "message": "Вы действительно хотите удалить этого пользователя?" - }, - "externalId": { - "message": "Внешний ID" - }, - "externalIdDesc": { - "message": "Внешний идентификатор может быть использован в качестве ссылки или для связи этого ресурса с внешней системой, такой как каталог пользователя." - }, - "accessControl": { - "message": "Контроль доступа" - }, - "groupAccessAllItems": { - "message": "Эта группа может иметь доступ и изменять все элементы." - }, - "groupAccessSelectedCollections": { - "message": "Эта группа может иметь доступ только к выбранным коллекциям." - }, - "readOnly": { - "message": "Только чтение" - }, - "newCollection": { - "message": "Новая коллекция" - }, - "addCollection": { - "message": "Добавить коллекцию" - }, - "editCollection": { - "message": "Редактировать коллекцию" - }, - "deleteCollectionConfirmation": { - "message": "Вы действительно хотите удалить эту коллекцию?" - }, - "editUser": { - "message": "Редактировать пользователя" - }, - "inviteUser": { - "message": "Пригласить пользователя" - }, - "inviteUserDesc": { - "message": "Пригласите нового пользователя в свою организацию, введя ниже адрес email его аккаунта Bitwarden. Если у него пока нет аккаунта Bitwarden, ему будет предложено его создать." - }, - "inviteMultipleEmailDesc": { - "message": "Вы можете пригласить до $COUNT$ пользователей одновременно, разделяя адреса email запятыми.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "Этот пользователь использует двухфакторную аутентификацию для защиты своего аккаунта." - }, - "userAccessAllItems": { - "message": "Эта пользователь может иметь доступ и изменять все элементы." - }, - "userAccessSelectedCollections": { - "message": "Этот пользователь может иметь доступ только к выбранным коллекциям." - }, - "search": { - "message": "Поиск" - }, - "invited": { - "message": "Приглашен" - }, - "accepted": { - "message": "Принято" - }, - "confirmed": { - "message": "Подтверждено" - }, - "owner": { - "message": "Владелец" - }, - "ownerDesc": { - "message": "Высший пользовательский уровень доступа, который позволяет управлять всеми аспектами вашей организации." - }, - "admin": { - "message": "Администратор" - }, - "adminDesc": { - "message": "Администраторы могут получать доступ и управлять всеми элементами, коллекциями и пользователями вашей организации." - }, - "user": { - "message": "Пользователь" - }, - "userDesc": { - "message": "Обычный пользователь с доступом к коллекциям вашей организации." - }, - "manager": { - "message": "Менеджер" - }, - "managerDesc": { - "message": "Менеджеры могут получать доступ и управлять назначенными коллекциями вашей организации." - }, - "all": { - "message": "Все" - }, - "refresh": { - "message": "Обновить" - }, - "timestamp": { - "message": "Метка времени" - }, - "event": { - "message": "Событие" - }, - "unknown": { - "message": "Неизвестно" - }, - "loadMore": { - "message": "Загрузить еще" - }, - "mobile": { - "message": "Мобильный", - "description": "Mobile app" - }, - "extension": { - "message": "Расширение", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Компьютер", - "description": "Desktop app" - }, - "webVault": { - "message": "Веб-хранилище" - }, - "loggedIn": { - "message": "Вход выполнен." - }, - "changedPassword": { - "message": "Изменен пароль аккаунта." - }, - "enabledUpdated2fa": { - "message": "Двухфакторная аутентификация включена/обновлена." - }, - "disabled2fa": { - "message": "Двухфакторная аутентификация отключена." - }, - "recovered2fa": { - "message": "Аккаунт восстановлен после двухфакторной аутентификации." - }, - "failedLogin": { - "message": "Ошибка входа из-за неправильного пароля." - }, - "failedLogin2fa": { - "message": "Ошибка входа из-за некорректной двухфакторной аутентификации." - }, - "exportedVault": { - "message": "Хранилище экспортировано." - }, - "exportedOrganizationVault": { - "message": "Хранилище организации экспортировано." - }, - "editedOrgSettings": { - "message": "Настройки организации изменены." - }, - "createdItemId": { - "message": "Создан элемент $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Изменен элемент $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Удален элемент $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Общий элемент $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Просмотрен элемент $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Просмотрен пароль элемента $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Просмотрено скрытое поле элемента $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Просмотрен код безопасности элемента $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Скопирован пароль элемента $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Скопировано скрытое поле элемента $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Скопирован код безопасности элемента $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Автоматически заполнен элемент $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Создана коллекция $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Изменена коллекция $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Удалена коллекция $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Отредактирована политика $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Создана группа $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Изменена группа $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Удалена группа $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Удален пользователь $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Создано вложение в элементе $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Удалено вложение у элемента $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Изменены коллекции для элемента $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Приглашен пользователь $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Подтвержден пользователь $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Изменен пользователь $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Изменена группа у пользователя $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Несвязанный SSO для пользователя $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Устройство" - }, - "view": { - "message": "Просмотр" - }, - "invalidDateRange": { - "message": "Недопустимый диапазон дат." - }, - "errorOccurred": { - "message": "Произошла ошибка." - }, - "userAccess": { - "message": "Доступ пользователя" - }, - "userType": { - "message": "Тип пользователя" - }, - "groupAccess": { - "message": "Доступ к группе" - }, - "groupAccessUserDesc": { - "message": "Изменить группы, в которые входит этот пользователь." - }, - "invitedUsers": { - "message": "Приглашенные пользователи." - }, - "resendInvitation": { - "message": "Пригласить повторно" - }, - "hasBeenReinvited": { - "message": "$USER$ был приглашен повторно.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Подтвердить" - }, - "confirmUser": { - "message": "Подтвердить пользователя" - }, - "hasBeenConfirmed": { - "message": "$USER$ был подтвержден.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Подтвердить пользователей" - }, - "usersNeedConfirmed": { - "message": "У вас есть пользователи, которые приняли приглашение, но не были подтверждены. У них не будет доступа к организации, пока они не будут подтверждены." - }, - "startDate": { - "message": "Дата начала" - }, - "endDate": { - "message": "Дата окончания" - }, - "verifyEmail": { - "message": "Подтвердить email" - }, - "verifyEmailDesc": { - "message": "Подтвердите адрес email своего аккаунта, чтобы открыть доступ ко всем возможностям." - }, - "verifyEmailFirst": { - "message": "Сначала необходимо подтвердить адрес email вашего аккаунта." - }, - "checkInboxForVerification": { - "message": "Проверьте почту - вам должна прийти ссылка подтверждения." - }, - "emailVerified": { - "message": "Ваш адрес email подтвержден." - }, - "emailVerifiedFailed": { - "message": "Не удалось подтвердить ваш email. Попробуйте отправить новое письмо с подтверждением." - }, - "updateBrowser": { - "message": "Обновить браузер" - }, - "updateBrowserDesc": { - "message": "Вы используете неподдерживаемый браузер. Веб-хранилище может работать некорректно." - }, - "joinOrganization": { - "message": "Присоединиться к организации" - }, - "joinOrganizationDesc": { - "message": "Вас пригласили присоединиться к организации, указанной выше. Чтобы принять приглашение, вам необходимо войти или создать новую учетную запись Bitwarden." - }, - "inviteAccepted": { - "message": "Приглашение принято" - }, - "inviteAcceptedDesc": { - "message": "Вы получите доступ к этой организации, как только администратор подтвердит ваше членство. Когда это произойдет, мы отправим вам email." - }, - "inviteAcceptFailed": { - "message": "Невозможно принять приглашение. Попросите администратора организации отправить новое приглашение." - }, - "inviteAcceptFailedShort": { - "message": "Невозможно принять приглашение. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Запомнить email" - }, - "recoverAccountTwoStepDesc": { - "message": "Если у вас нет доступа к своему аккаунту с помощью двухфакторной аутентификации, для ее отключения вы можете использовать свой код восстановления." - }, - "recoverAccountTwoStep": { - "message": "Восстановить двухфакторную аутентификацию аккаунта" - }, - "twoStepRecoverDisabled": { - "message": "Двухфакторная аутентификация для вашего аккаунта отключена." - }, - "learnMore": { - "message": "Подробнее" - }, - "deleteRecoverDesc": { - "message": "Введите свой адрес email, чтобы восстановить и удалить ваш аккаунт." - }, - "deleteRecoverEmailSent": { - "message": "Если ваш аккаунт существует, мы отправим вам письмо с дальнейшими инструкциями." - }, - "deleteRecoverConfirmDesc": { - "message": "Вы запросили удаление вашего аккаунта Bitwarden. Нажмите кнопку ниже, чтобы подтвердить." - }, - "myOrganization": { - "message": "Моя организация" - }, - "deleteOrganization": { - "message": "Удалить организацию" - }, - "deleteOrganizationDesc": { - "message": "Выполните следующие действия, чтобы удалить эту организацию и все связанные с ней данные. Индивидуальные аккаунты пользователей останутся, но они больше не будут связаны с этой организацией. " - }, - "deleteOrganizationWarning": { - "message": "Удаление организации необратимо. Это действие будет нельзя отменить." - }, - "organizationDeleted": { - "message": "Организация удалена" - }, - "organizationDeletedDesc": { - "message": "Организация и все связанные с ней данные были удалены." - }, - "organizationUpdated": { - "message": "Организация обновлена" - }, - "taxInformation": { - "message": "Информация о налогах" - }, - "taxInformationDesc": { - "message": "Для клиентов из США почтовый индекс необходим для выполнения требований по уплате налога с продаж, для других стран вы можете по желанию предоставить идентификационный номер налогоплательщика (VAT/GST) и/или адрес, который будет указан в ваших счетах." - }, - "billingPlan": { - "message": "План", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Изменить план", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Обновите свой аккаунт до другого плана, предоставив информацию ниже. Пожалуйста, убедитесь, что в вашем аккаунте есть активный способ оплаты.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Если вы хотите изменить свой план, обратитесь в службу поддержки. Убедитесь, что у вас есть активный способ оплаты, добавленный в аккаунт.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Счет #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "Просмотр счета" - }, - "downloadInvoice": { - "message": "Загрузить счет" - }, - "verifyBankAccount": { - "message": "Подтвердить банковский счет" - }, - "verifyBankAccountDesc": { - "message": "Мы сделали два микродепозита на ваш счет (отобразиться в выписке они могут в течение 1-2 рабочих дней). Введите эти суммы для подтверждения счета." - }, - "verifyBankAccountInitialDesc": { - "message": "Оплата с банковского счета доступна только клиентам из США. Вам будет необходимо подтвердить свой банковский счет. Мы сделаем два микро-депозита в течение ближайших 1-2 рабочих дней. Введите эти суммы на странице выставления счетов организации, чтобы подтвердить банковский счет." - }, - "verifyBankAccountFailureWarning": { - "message": "Невыполнение подтверждения банковского счета приведет к неудачной оплате и отключению подписки." - }, - "verifiedBankAccount": { - "message": "Банковский счет был подтвержден." - }, - "bankAccount": { - "message": "Банковский счет" - }, - "amountX": { - "message": "Сумма $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Номер маршрута", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Номер счета" - }, - "accountHolderName": { - "message": "Имя владельца счета" - }, - "bankAccountType": { - "message": "Тип счета" - }, - "bankAccountTypeCompany": { - "message": "Компания (бизнес)" - }, - "bankAccountTypeIndividual": { - "message": "Индивидуальный (личный)" - }, - "enterInstallationId": { - "message": "Введите идентификатор установки" - }, - "addSeats": { - "message": "Добавить лицензии", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Удалить лицензии", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Ваша подписка разрешает в общей сложности $COUNT$ пользователей.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Лицензии для добавления" - }, - "seatsToRemove": { - "message": "Лицензии для удаления" - }, - "seatsAddNote": { - "message": "Добавление пользовательских лицензий приведет к корректировке итоговых счетов и немедленному взиманию платы с вашего метода оплаты. Первый платеж будет пропорционален оставшейся части текущего платежного периода." - }, - "seatsRemoveNote": { - "message": "Удаление пользовательских лицензий приведет к корректировке ваших итоговых счетов. Излишне уплаченные средства будут пропорционально перенесены на ваш следующий платежный период." - }, - "adjustedSeats": { - "message": "Скорректировано $AMOUNT$ пользовательских лицензий.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Ключ обновлен" - }, - "updateKeyTitle": { - "message": "Обновить ключ" - }, - "updateEncryptionKey": { - "message": "Обновить ключ шифрования" - }, - "updateEncryptionKeyShortDesc": { - "message": "В настоящее время вы используете устаревшую схему шифрования." - }, - "updateEncryptionKeyDesc": { - "message": "Мы перешли на более сложные ключи шифрования, которые обеспечивают лучшую безопасность и доступ к новым возможностям. Обновление ключа шифрования происходит быстро и легко. Просто введите свой мастер-пароль ниже. Это обновление в конечном итоге станет обязательным." - }, - "updateEncryptionKeyWarning": { - "message": "После обновления ключа шифрования необходимо выполнить выход во всех приложениях Bitwarden, которые вы используете (например, мобильное приложение или расширение браузера). Невыполнение этого требования может привести к повреждению данных (так как при этом загружается ваш новый ключ шифрования). Мы попытаемся автоматически осуществить завершение ваших сессий, однако это может произойти с задержкой." - }, - "updateEncryptionKeyExportWarning": { - "message": "Любые зашифрованные экспортированные данные, которые вы сохранили, также станут недействительными." - }, - "subscription": { - "message": "Подписка" - }, - "loading": { - "message": "Загрузка" - }, - "upgrade": { - "message": "Обновить" - }, - "upgradeOrganization": { - "message": "Обновить организацию" - }, - "upgradeOrganizationDesc": { - "message": "Эта функция недоступна для бесплатных организаций. Переключитесь на платный план, чтобы разблокировать дополнительные возможности." - }, - "createOrganizationStep1": { - "message": "Создание организации: Шаг 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Прежде чем создавать свою организацию, сначала необходимо создать бесплатную персональную учетную запись." - }, - "refunded": { - "message": "Возвращено" - }, - "nothingSelected": { - "message": "Вы ничего не выбрали." - }, - "acceptPolicies": { - "message": "Устанавливая этот флажок, вы соглашаетесь со следующим:" - }, - "acceptPoliciesError": { - "message": "Условия предоставления услуг и Политика конфиденциальности не были подтверждены." - }, - "termsOfService": { - "message": "Условия использования" - }, - "privacyPolicy": { - "message": "Политика конфиденциальности" - }, - "filters": { - "message": "Фильтры" - }, - "vaultTimeout": { - "message": "Таймаут хранилища" - }, - "vaultTimeoutDesc": { - "message": "Выберите таймаут для хранилища и действие, которое необходимо предпринять." - }, - "oneMinute": { - "message": "1 минута" - }, - "fiveMinutes": { - "message": "5 минут" - }, - "fifteenMinutes": { - "message": "15 минут" - }, - "thirtyMinutes": { - "message": "30 минут" - }, - "oneHour": { - "message": "1 час" - }, - "fourHours": { - "message": "4 часа" - }, - "onRefresh": { - "message": "При обновлении браузера" - }, - "dateUpdated": { - "message": "Обновлено", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Пароль обновлен", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "Организация отключена." - }, - "licenseIsExpired": { - "message": "Срок действия лицензии истек." - }, - "updatedUsers": { - "message": "Пользователи обновлены" - }, - "selected": { - "message": "Выбрано" - }, - "ownership": { - "message": "Владелец" - }, - "whoOwnsThisItem": { - "message": "Кому принадлежит этот элемент?" - }, - "strong": { - "message": "Сильный", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Хороший", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Слабый", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Очень слабый", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Слабый мастер-пароль" - }, - "weakMasterPasswordDesc": { - "message": "Вы выбрали слабый мастер-пароль. Для надежной защиты аккаунта Bitwarden следует использовать сильный мастер-пароль (или парольную фразу). Вы действительно хотите использовать этот мастер-пароль?" - }, - "rotateAccountEncKey": { - "message": "Также повернуть ключ шифрования моего аккаунта" - }, - "rotateEncKeyTitle": { - "message": "Поворот ключа шифрования" - }, - "rotateEncKeyConfirmation": { - "message": "Вы уверены, что хотите повернуть ключ шифрования вашей учетной записи?" - }, - "attachmentsNeedFix": { - "message": "К этому элементу прикреплены старые вложения, которые необходимо исправить." - }, - "attachmentFixDesc": { - "message": "Это старое вложение необходимо исправить. Нажмите, чтобы узнать больше." - }, - "fix": { - "message": "Исправить", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "В вашем хранилище есть старые вложения, которые необходимо исправить, прежде чем вы сможете повернуть ключ шифрования вашего аккаунта." - }, - "yourAccountsFingerprint": { - "message": "Фраза отпечатка вашего аккаунта", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "Чтобы обеспечить целостность ваших ключей шифрования, перед продолжением верифицируйте фразу отпечатка пользователя.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Больше не запрашивать верификацию фразы отпечатка", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Бесплатно", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "Ключ API" - }, - "apiKeyDesc": { - "message": "Ваш ключ API может быть использован для аутентификации в публичном API Bitwarden." - }, - "apiKeyRotateDesc": { - "message": "Поворот ключа API приведет к аннулированию предыдущего ключа. Вы можете повернуть ключ API, если считаете, что текущий ключ больше не безопасен для использования." - }, - "apiKeyWarning": { - "message": "Ваш ключ API имеет полный доступ к организации. Это должно храниться в секрете." - }, - "userApiKeyDesc": { - "message": "Ваш ключ API может быть использован для аутентификации в Bitwarden CLI." - }, - "userApiKeyWarning": { - "message": "Ваш ключ API является альтернативным механизмом аутентификации. Он должен храниться в секрете." - }, - "oauth2ClientCredentials": { - "message": "Учетные данные клиента OAuth 2.0", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "Показать ключ API" - }, - "rotateApiKey": { - "message": "Повернуть ключ API" - }, - "selectOneCollection": { - "message": "Необходимо выбрать хотя бы одну коллекцию." - }, - "couldNotChargeCardPayInvoice": { - "message": "Мы не смогли списать деньги с вашей карты. Пожалуйста, просмотрите и оплатите неоплаченный счет, указанный ниже." - }, - "inAppPurchase": { - "message": "Покупка в приложении" - }, - "cannotPerformInAppPurchase": { - "message": "Вы не можете выполнить это действие при использовании оплаты из приложения." - }, - "manageSubscriptionFromStore": { - "message": "Вы должны управлять своей подпиской в том ​​магазине, в котором была совершена покупка в приложении." - }, - "minLength": { - "message": "Минимальная длина" - }, - "clone": { - "message": "Клонировать" - }, - "masterPassPolicyDesc": { - "message": "Установите минимальные требования к надежности мастер-пароля." - }, - "twoStepLoginPolicyDesc": { - "message": "Требовать от пользователей настройки двухэтапной авторизации в их личных аккаунтах." - }, - "twoStepLoginPolicyWarning": { - "message": "Участники организации, у которых в личном аккаунте не включена двухфакторная аутентификация, будут удалены из организации и получат об этом уведомление по электронной почте." - }, - "twoStepLoginPolicyUserWarning": { - "message": "Вы участник организации, которая требует, чтобы в вашем аккаунте была включена двухфакторная аутентификация. Если вы отключите всех провайдеров двухфакторной аутентификации, то будете автоматически удалены из этих организаций." - }, - "passwordGeneratorPolicyDesc": { - "message": "Установите минимальные требования к конфигурации генератора паролей." - }, - "passwordGeneratorPolicyInEffect": { - "message": "На настройки генератора влияют одна или несколько политик организации." - }, - "masterPasswordPolicyInEffect": { - "message": "Согласно одной или нескольким политикам организации необходимо, чтобы ваш мастер-пароль отвечал следующим требованиям:" - }, - "policyInEffectMinComplexity": { - "message": "Минимальный уровень сложности $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Минимальная длина $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Содержать хотя бы одну заглавную букву" - }, - "policyInEffectLowercase": { - "message": "Содержать хотя бы одну строчную букву" - }, - "policyInEffectNumbers": { - "message": "Содержать хотя бы одну цифру" - }, - "policyInEffectSpecial": { - "message": "Содержать хотя бы один из следующих специальных символов $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Ваш новый мастер-пароль не соответствует требованиям политики." - }, - "minimumNumberOfWords": { - "message": "Минимальное количество слов" - }, - "defaultType": { - "message": "Тип по умолчанию" - }, - "userPreference": { - "message": "Предпочтения пользователя" - }, - "vaultTimeoutAction": { - "message": "Действие по таймауту хранилища" - }, - "vaultTimeoutActionLockDesc": { - "message": "Заблокированное хранилище потребует повторного ввода мастер-пароля для получения доступа к нему." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "Выход из хранилища потребует повторную аутентификацию для получения доступа к нему." - }, - "lock": { - "message": "Заблокировать", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Корзина", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Поиск в корзине" - }, - "permanentlyDelete": { - "message": "Удалить окончательно" - }, - "permanentlyDeleteSelected": { - "message": "Окончательно удалить выбранные" - }, - "permanentlyDeleteItem": { - "message": "Окончательно удалить элемент" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Вы уверены, что хотите окончательно удалить этот элемент?" - }, - "permanentlyDeletedItem": { - "message": "Элемент удален навсегда" - }, - "permanentlyDeletedItems": { - "message": "Элементы удалены навсегда" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "Выбрано элементов для удаления: $COUNT$. Вы действительно хотите окончательно удалить все эти элементы?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Элемент $ID$ удален навсегда.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Восстановить" - }, - "restoreSelected": { - "message": "Восстановить выбранные" - }, - "restoreItem": { - "message": "Восстановить элемент" - }, - "restoredItem": { - "message": "Элемент восстановлен" - }, - "restoredItems": { - "message": "Элементы восстановлены" - }, - "restoreItemConfirmation": { - "message": "Вы уверены, что хотите восстановить этот элемент?" - }, - "restoreItems": { - "message": "Восстановить элементы" - }, - "restoreSelectedItemsDesc": { - "message": "Выбрано элементов для восстановления: $COUNT$. Вы действительно хотите восстановить все эти элементы?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Элемент $ID$ восстановлен.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "По истечении таймаута будет выполнен выход, что приведет к отмене всех прав доступа к вашему хранилищу и потребует онлайн-аутентификации. Вы уверены, что хотите использовать этот параметр?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Подтверждение действия по таймауту" - }, - "hidePasswords": { - "message": "Скрывать пароли" - }, - "countryPostalCodeRequiredDesc": { - "message": "Эта информация требуется только для расчета налога с продаж и финансовой отчетности." - }, - "includeVAT": { - "message": "Включить информацию о VAT/GST (необязательно)" - }, - "taxIdNumber": { - "message": "ID VAT/GST" - }, - "taxInfoUpdated": { - "message": "Информация о налогах обновлена." - }, - "setMasterPassword": { - "message": "Задать мастер-пароль" - }, - "ssoCompleteRegistration": { - "message": "Для завершения процесса авторизации при помощи SSO, установите мастер-пароль для доступа к вашему хранилищу и его защиты." - }, - "identifier": { - "message": "Идентификатор" - }, - "organizationIdentifier": { - "message": "Идентификатор организации" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Авторизуйтесь при помощи единого корпоративного портала. Чтобы начать, введите идентификатор вашей организации." - }, - "enterpriseSingleSignOn": { - "message": "Единая корпоративная авторизация (SSO)" - }, - "ssoHandOff": { - "message": "Теперь вы можете закрыть эту вкладку и продолжить в расширении." - }, - "businessPortal": { - "message": "Корпоративный портал", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "Все функции команд, плюс:" - }, - "includeSsoAuthentication": { - "message": "SSO аутентификация через SAML2.0 и OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Политик организации" - }, - "ssoValidationFailed": { - "message": "Проверка SSO не пройдена" - }, - "ssoIdentifierRequired": { - "message": "Требуется идентификатор организации." - }, - "unlinkSso": { - "message": "Отключить SSO" - }, - "linkSso": { - "message": "Подключить SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "Настройка политики была перемещена, и вскоре эта страница станет недоступной. Нажмите ниже, чтобы использовать вместо нее страницу политик для бизнес-портала." - }, - "singleOrg": { - "message": "Одна организация" - }, - "singleOrgDesc": { - "message": "Запретить пользователям присоединяться к другим организациям." - }, - "singleOrgBlockCreateMessage": { - "message": "Политика вашей текущей организации не позволяет вам присоединиться к более чем одной организации. Пожалуйста, свяжитесь с администраторами вашей организации или авторизуйтесь под другим аккаунтом Bitwarden." - }, - "singleOrgPolicyWarning": { - "message": "Члены организации, которые не являются владельцами или администраторами и уже входят в другую организацию, будут удалены из вашей организации." - }, - "requireSso": { - "message": "Авторизация по единому входу" - }, - "requireSsoPolicyDesc": { - "message": "Требовать от пользователей авторизацию с помощью единого корпоративного входа." - }, - "prerequisite": { - "message": "Предварительное условие" - }, - "requireSsoPolicyReq": { - "message": "Перед активацией этой политики необходимо активировать корпоративную политику 'Одна организация'." - }, - "requireSsoPolicyReqError": { - "message": "Не включена политика 'Одна организация'." - }, - "requireSsoExemption": { - "message": "Владельцы и администраторы организации не подпадают под действие этой политики." - }, - "sendTypeFile": { - "message": "Файл" - }, - "sendTypeText": { - "message": "Текст" - }, - "createSend": { - "message": "Создать новую Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Изменить Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Созданная Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Измененная отправка", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Удаленная Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Удалить Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Вы действительно хотите удалить Send?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "Выберите тип Send?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Дата удаления" - }, - "deletionDateDesc": { - "message": "Эта Send будет окончательно удалена в указанные дату и время.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Дата истечения" - }, - "expirationDateDesc": { - "message": "Если задано, доступ к этой Send истечет в указанные дату и время.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Максимум обращений" - }, - "maxAccessCountDesc": { - "message": "Если задано, пользователи больше не смогут получить доступ к этой Send, как только будет достигнуто максимальное количество обращений.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Текущих обращений" - }, - "sendPasswordDesc": { - "message": "Опционально запрашивать у пользователей пароль для доступа к этой Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Личные заметки об этой Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Отключено" - }, - "sendLink": { - "message": "Ссылка на Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Скопировать ссылку на Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Удалить пароль" - }, - "removedPassword": { - "message": "Пароль удален" - }, - "removePasswordConfirmation": { - "message": "Вы уверены, что хотите удалить пароль?" - }, - "disableThisSend": { - "message": "Отключить эту Send, чтобы никто не мог получить к ней доступ.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "Все Sends" - }, - "maxAccessCountReached": { - "message": "Достигнут максимум обращений" - }, - "pendingDeletion": { - "message": "Ожидание удаления" - }, - "expired": { - "message": "Истекло" - }, - "searchSends": { - "message": "Поиск Sends", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "Эта Send защищена паролем. Введите пароль ниже, чтобы продолжить.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Не знаете пароль? Для доступа к этой Send, запросите его у отправителя.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "Эта Send по умолчанию скрыта. Вы можете переключить ее видимость с помощью расположенной ниже кнопки.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Скачать файл" - }, - "sendAccessUnavailable": { - "message": "Send, к которой вы пытаетесь получить доступ, больше не существует или недоступна.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "В списке нет Sends.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Экстренный доступ" - }, - "emergencyAccessDesc": { - "message": "Предоставляйте экстренный доступ доверенным контактам и управляйте им. Доверенные контакты могут получить доступ для просмотра или передачи владения вашей учетной записью в экстренных ситуациях. Посетите нашу страницу помощи для детального ознакомления о том, как работает доступ нулевого уровня." - }, - "trustedEmergencyContacts": { - "message": "Надежные контакты для экстренных ситуаций" - }, - "noTrustedContacts": { - "message": "Вы еще не добавили контакты для экстренных ситуаций. Пригласите доверенный контакт, чтобы начать." - }, - "addEmergencyContact": { - "message": "Добавить контакт для экстренной ситуации" - }, - "designatedEmergencyContacts": { - "message": "Назначен в качестве контакта для экстренной ситуации" - }, - "noGrantedAccess": { - "message": "Вы пока никому не назначены в качестве контакта на случай экстренной ситуации." - }, - "inviteEmergencyContact": { - "message": "Пригласить контакт для экстренной ситуации" - }, - "editEmergencyContact": { - "message": "Редактировать контакт для экстренной ситуации" - }, - "inviteEmergencyContactDesc": { - "message": "Пригласите новый контакт для экстренной ситуации, введя адрес email его учетной записи Bitwarden ниже. Если у него пока нет учетной записи Bitwarden, то будет предложено ее создать." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Инициирован экстренный доступ" - }, - "emergencyAccessRecoveryApproved": { - "message": "Экстренный доступ разрешен" - }, - "viewDesc": { - "message": "Может просматривать все элементы в вашем собственном хранилище." - }, - "takeover": { - "message": "Передача владения" - }, - "takeoverDesc": { - "message": "Вы можете сбросить свой аккаунт с помощью нового мастер-пароля." - }, - "waitTime": { - "message": "Время ожидания" - }, - "waitTimeDesc": { - "message": "Время, необходимое для автоматического предоставления доступа." - }, - "oneDay": { - "message": "1 день" - }, - "days": { - "message": "$DAYS$ дн.", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Приглашенный пользователь." - }, - "acceptEmergencyAccess": { - "message": "Вы были приглашены в качестве контакта на случай экстренной ситуации для пользователя, указанного выше. Чтобы принять приглашение, необходимо авторизоваться или создать новый аккаунт Bitwarden." - }, - "emergencyInviteAcceptFailed": { - "message": "Не могу принять приглашение. Попросите пользователя отправить новое приглашение." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Невозможно принять приглашение. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "Вы можете получить доступ к опциям экстренной ситуации для этого пользователя после подтверждения вашей личности. Когда это произойдет, мы отправим вам электронное письмо." - }, - "requestAccess": { - "message": "Запрос доступа" - }, - "requestAccessConfirmation": { - "message": "Вы уверены, что хотите запросить экстренный доступ? Вам будет предоставлен доступ через $WAITTIME$ дн. или когда пользователь вручную одобрит запрос.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Запрошен экстренный доступ для $USER$. Мы уведомим вас по электронной почте, когда можно будет продолжить.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Принять" - }, - "reject": { - "message": "Отклонить" - }, - "approveAccessConfirmation": { - "message": "Вы уверены, что хотите разрешить экстренный доступ? Это позволит $USER$ перейти к $ACTION$ вашего аккаунта.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Экстренный доступ разрешен." - }, - "emergencyRejected": { - "message": "В экстренном доступе отказано" - }, - "passwordResetFor": { - "message": "Сброшен пароль для $USER$. Теперь вы можете войти, используя новый пароль.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Личная владение" - }, - "personalOwnershipPolicyDesc": { - "message": "Требовать от пользователей сохранения элементов хранилища в организации, удалив опцию личного владения." - }, - "personalOwnershipExemption": { - "message": "Владельцы и администраторы организации не подпадают под действие этой политики." - }, - "personalOwnershipSubmitError": { - "message": "В соответствии с корпоративной политикой вам запрещено сохранять элементы в личном хранилище. Измените владельца на организацию и выберите из доступных Коллекций." - }, - "modifiedPolicyId": { - "message": "Изменена политика $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Стоимость плана" - }, - "estimatedTax": { - "message": "Предполагаемый налог" - }, - "custom": { - "message": "Пользовательский" - }, - "customDesc": { - "message": "Позволяет более гибко контролировать права пользователей для расширенных конфигураций." - }, - "permissions": { - "message": "Разрешения" - }, - "accessBusinessPortal": { - "message": "Доступ к бизнес-порталу" - }, - "accessEventLogs": { - "message": "Доступ к журналам событий" - }, - "accessImportExport": { - "message": "Доступ к импорту/экспорту" - }, - "accessReports": { - "message": "Доступ к отчетам" - }, - "manageAllCollections": { - "message": "Управлять всеми коллекциями" - }, - "manageAssignedCollections": { - "message": "Управление назначенными коллекциями" - }, - "manageGroups": { - "message": "Управление группами" - }, - "managePolicies": { - "message": "Управление политиками" - }, - "manageSso": { - "message": "Управление SSO" - }, - "manageUsers": { - "message": "Управление пользователями" - }, - "disableRequireSsoError": { - "message": "Перед отключением этой политики необходимо вручную отключить политику проверки подлинности SSO." - }, - "personalOwnershipPolicyInEffect": { - "message": "Политика организации влияет на ваши варианты владения." - }, - "personalOwnershipCheckboxDesc": { - "message": "Отключить личное владение для пользователей организации" - }, - "textHiddenByDefault": { - "message": "При доступе к Send скрывать текст по умолчанию", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/si/messages.json b/locales/si/messages.json deleted file mode 100644 index 475620f0..00000000 --- a/locales/si/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$ Web Vault", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "What type of item is this?" - }, - "name": { - "message": "නම" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "New URI" - }, - "username": { - "message": "පරිශීලක නාමය" - }, - "password": { - "message": "Password" - }, - "newPassword": { - "message": "New Password" - }, - "passphrase": { - "message": "Passphrase" - }, - "notes": { - "message": "Notes" - }, - "customFields": { - "message": "Custom Fields" - }, - "cardholderName": { - "message": "Cardholder Name" - }, - "number": { - "message": "Number" - }, - "brand": { - "message": "Brand" - }, - "expiration": { - "message": "Expiration" - }, - "securityCode": { - "message": "Security Code (CVV)" - }, - "identityName": { - "message": "Identity Name" - }, - "company": { - "message": "Company" - }, - "ssn": { - "message": "Social Security Number" - }, - "passportNumber": { - "message": "Passport Number" - }, - "licenseNumber": { - "message": "License Number" - }, - "email": { - "message": "Email" - }, - "phone": { - "message": "Phone" - }, - "january": { - "message": "January" - }, - "february": { - "message": "February" - }, - "march": { - "message": "March" - }, - "april": { - "message": "April" - }, - "may": { - "message": "May" - }, - "june": { - "message": "June" - }, - "july": { - "message": "July" - }, - "august": { - "message": "August" - }, - "september": { - "message": "September" - }, - "october": { - "message": "October" - }, - "november": { - "message": "November" - }, - "december": { - "message": "December" - }, - "title": { - "message": "Title" - }, - "mr": { - "message": "Mr" - }, - "mrs": { - "message": "Mrs" - }, - "ms": { - "message": "Ms" - }, - "dr": { - "message": "Dr" - }, - "expirationMonth": { - "message": "Expiration Month" - }, - "expirationYear": { - "message": "Expiration Year" - }, - "authenticatorKeyTotp": { - "message": "Authenticator Key (TOTP)" - }, - "folder": { - "message": "Folder" - }, - "newCustomField": { - "message": "New Custom Field" - }, - "value": { - "message": "Value" - }, - "dragToSort": { - "message": "Drag to sort" - }, - "cfTypeText": { - "message": "Text" - }, - "cfTypeHidden": { - "message": "Hidden" - }, - "cfTypeBoolean": { - "message": "Boolean" - }, - "remove": { - "message": "Remove" - }, - "unassigned": { - "message": "Unassigned" - }, - "noneFolder": { - "message": "No Folder", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Add Folder" - }, - "editFolder": { - "message": "Edit Folder" - }, - "baseDomain": { - "message": "Base domain" - }, - "host": { - "message": "Host", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Exact" - }, - "startsWith": { - "message": "Starts with" - }, - "regEx": { - "message": "Regular expression", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Match Detection", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Default match detection", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Never" - }, - "toggleVisibility": { - "message": "Toggle Visibility" - }, - "toggleCollapse": { - "message": "Toggle Collapse", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Generate Password" - }, - "checkPassword": { - "message": "Check if password has been exposed." - }, - "passwordExposed": { - "message": "This password has been exposed $VALUE$ time(s) in data breaches. You should change it.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "This password was not found in any known data breaches. It should be safe to use." - }, - "save": { - "message": "Save" - }, - "cancel": { - "message": "Cancel" - }, - "canceled": { - "message": "Canceled" - }, - "close": { - "message": "Close" - }, - "delete": { - "message": "Delete" - }, - "favorite": { - "message": "Favorite" - }, - "unfavorite": { - "message": "Unfavorite" - }, - "edit": { - "message": "Edit" - }, - "searchCollection": { - "message": "Search Collection" - }, - "searchFolder": { - "message": "Search Folder" - }, - "searchFavorites": { - "message": "Search Favorites" - }, - "searchType": { - "message": "Search Type", - "description": "Search item type" - }, - "searchVault": { - "message": "Search Vault" - }, - "allItems": { - "message": "All Items" - }, - "favorites": { - "message": "Favorites" - }, - "types": { - "message": "Types" - }, - "typeLogin": { - "message": "Login" - }, - "typeCard": { - "message": "Card" - }, - "typeIdentity": { - "message": "Identity" - }, - "typeSecureNote": { - "message": "Secure Note" - }, - "folders": { - "message": "Folders" - }, - "collections": { - "message": "Collections" - }, - "firstName": { - "message": "First Name" - }, - "middleName": { - "message": "Middle Name" - }, - "lastName": { - "message": "Last Name" - }, - "address1": { - "message": "Address 1" - }, - "address2": { - "message": "Address 2" - }, - "address3": { - "message": "Address 3" - }, - "cityTown": { - "message": "City / Town" - }, - "stateProvince": { - "message": "State / Province" - }, - "zipPostalCode": { - "message": "Zip / Postal Code" - }, - "country": { - "message": "Country" - }, - "shared": { - "message": "Shared" - }, - "attachments": { - "message": "Attachments" - }, - "select": { - "message": "Select" - }, - "addItem": { - "message": "Add Item" - }, - "editItem": { - "message": "Edit Item" - }, - "viewItem": { - "message": "View Item" - }, - "ex": { - "message": "ex.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Other" - }, - "share": { - "message": "Share" - }, - "valueCopied": { - "message": "$VALUE$ copied", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Copy Value", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Copy Password", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Copy Username", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Copy Number", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Copy Security Code", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Copy URI", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "My Vault" - }, - "vault": { - "message": "Vault" - }, - "shareSelected": { - "message": "Share Selected" - }, - "deleteSelected": { - "message": "Delete Selected" - }, - "moveSelected": { - "message": "Move Selected" - }, - "selectAll": { - "message": "Select All" - }, - "unselectAll": { - "message": "Unselect All" - }, - "launch": { - "message": "Launch" - }, - "newAttachment": { - "message": "Add New Attachment" - }, - "deletedAttachment": { - "message": "Deleted attachment" - }, - "deleteAttachmentConfirmation": { - "message": "Are you sure you want to delete this attachment?" - }, - "attachmentSaved": { - "message": "The attachment has been saved." - }, - "file": { - "message": "File" - }, - "selectFile": { - "message": "Select a file." - }, - "maxFileSize": { - "message": "Maximum file size is 100 MB." - }, - "updateKey": { - "message": "You cannot use this feature until you update your encryption key." - }, - "addedItem": { - "message": "Added item" - }, - "editedItem": { - "message": "Edited item" - }, - "sharedItem": { - "message": "Shared item" - }, - "sharedItems": { - "message": "Shared items" - }, - "deleteItem": { - "message": "Delete Item" - }, - "deleteFolder": { - "message": "Delete Folder" - }, - "deleteAttachment": { - "message": "Delete Attachment" - }, - "deleteItemConfirmation": { - "message": "Do you really want to send to the trash?" - }, - "deletedItem": { - "message": "Item sent to trash" - }, - "deletedItems": { - "message": "Items sent to trash" - }, - "movedItems": { - "message": "Moved items" - }, - "overwritePasswordConfirmation": { - "message": "Are you sure you want to overwrite the current password?" - }, - "editedFolder": { - "message": "Edited folder" - }, - "addedFolder": { - "message": "Added folder" - }, - "deleteFolderConfirmation": { - "message": "Are you sure you want to delete this folder?" - }, - "deletedFolder": { - "message": "Deleted folder" - }, - "loggedOut": { - "message": "Logged out" - }, - "loginExpired": { - "message": "Your login session has expired." - }, - "logOutConfirmation": { - "message": "Are you sure you want to log out?" - }, - "logOut": { - "message": "Log Out" - }, - "ok": { - "message": "Ok" - }, - "yes": { - "message": "Yes" - }, - "no": { - "message": "No" - }, - "loginOrCreateNewAccount": { - "message": "Log in or create a new account to access your secure vault." - }, - "createAccount": { - "message": "Create Account" - }, - "logIn": { - "message": "Log In" - }, - "submit": { - "message": "Submit" - }, - "emailAddressDesc": { - "message": "You'll use your email address to log in." - }, - "yourName": { - "message": "Your Name" - }, - "yourNameDesc": { - "message": "What should we call you?" - }, - "masterPass": { - "message": "Master Password" - }, - "masterPassDesc": { - "message": "The master password is the password you use to access your vault. It is very important that you do not forget your master password. There is no way to recover the password in the event that you forget it." - }, - "masterPassHintDesc": { - "message": "A master password hint can help you remember your password if you forget it." - }, - "reTypeMasterPass": { - "message": "Re-type Master Password" - }, - "masterPassHint": { - "message": "Master Password Hint (optional)" - }, - "masterPassHintLabel": { - "message": "Master Password Hint" - }, - "settings": { - "message": "Settings" - }, - "passwordHint": { - "message": "Password Hint" - }, - "enterEmailToGetHint": { - "message": "Enter your account email address to receive your master password hint." - }, - "getMasterPasswordHint": { - "message": "Get master password hint" - }, - "emailRequired": { - "message": "Email address is required." - }, - "invalidEmail": { - "message": "Invalid email address." - }, - "masterPassRequired": { - "message": "Master password is required." - }, - "masterPassLength": { - "message": "Master password must be at least 8 characters long." - }, - "masterPassDoesntMatch": { - "message": "Master password confirmation does not match." - }, - "newAccountCreated": { - "message": "Your new account has been created! You may now log in." - }, - "masterPassSent": { - "message": "We've sent you an email with your master password hint." - }, - "unexpectedError": { - "message": "An unexpected error has occurred." - }, - "emailAddress": { - "message": "Email Address" - }, - "yourVaultIsLocked": { - "message": "Your vault is locked. Verify your master password to continue." - }, - "unlock": { - "message": "Unlock" - }, - "loggedInAsEmailOn": { - "message": "Logged in as $EMAIL$ on $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Invalid master password" - }, - "lockNow": { - "message": "Lock Now" - }, - "noItemsInList": { - "message": "There are no items to list." - }, - "noCollectionsInList": { - "message": "There are no collections to list." - }, - "noGroupsInList": { - "message": "There are no groups to list." - }, - "noUsersInList": { - "message": "There are no users to list." - }, - "noEventsInList": { - "message": "There are no events to list." - }, - "newOrganization": { - "message": "New Organization" - }, - "noOrganizationsList": { - "message": "You do not belong to any organizations. Organizations allow you to securely share items with other users." - }, - "versionNumber": { - "message": "Version $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Enter the 6 digit verification code from your authenticator app." - }, - "enterVerificationCodeEmail": { - "message": "Enter the 6 digit verification code that was emailed to $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "Verification email sent to $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Remember me" - }, - "sendVerificationCodeEmailAgain": { - "message": "Send verification code email again" - }, - "useAnotherTwoStepMethod": { - "message": "Use another two-step login method" - }, - "insertYubiKey": { - "message": "Insert your YubiKey into your computer's USB port, then touch its button." - }, - "insertU2f": { - "message": "Insert your security key into your computer's USB port. If it has a button, touch it." - }, - "loginUnavailable": { - "message": "Login Unavailable" - }, - "noTwoStepProviders": { - "message": "This account has two-step login enabled, however, none of the configured two-step providers are supported by this web browser." - }, - "noTwoStepProviders2": { - "message": "Please use a supported web browser (such as Chrome) and/or add additional providers that are better supported across web browsers (such as an authenticator app)." - }, - "twoStepOptions": { - "message": "Two-step Login Options" - }, - "recoveryCodeDesc": { - "message": "Lost access to all of your two-factor providers? Use your recovery code to disable all two-factor providers from your account." - }, - "recoveryCodeTitle": { - "message": "Recovery Code" - }, - "authenticatorAppTitle": { - "message": "Authenticator App" - }, - "authenticatorAppDesc": { - "message": "Use an authenticator app (such as Authy or Google Authenticator) to generate time-based verification codes.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "YubiKey OTP Security Key" - }, - "yubiKeyDesc": { - "message": "Use a YubiKey to access your account. Works with YubiKey 4 series, 5 series, and NEO devices." - }, - "duoDesc": { - "message": "Verify with Duo Security using the Duo Mobile app, SMS, phone call, or U2F security key.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Verify with Duo Security for your organization using the Duo Mobile app, SMS, phone call, or U2F security key.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Use any FIDO U2F enabled security key to access your account." - }, - "u2fTitle": { - "message": "FIDO U2F Security Key" - }, - "emailTitle": { - "message": "Email" - }, - "emailDesc": { - "message": "Verification codes will be emailed to you." - }, - "continue": { - "message": "Continue" - }, - "organization": { - "message": "Organization" - }, - "organizations": { - "message": "Organizations" - }, - "shareDesc": { - "message": "Choose an organization that you wish to share this item with. Sharing transfers ownership of the item to the organization. You will no longer be the direct owner of this item once it has been shared." - }, - "shareManyDesc": { - "message": "Choose an organization that you wish to share these items with. Sharing transfers ownership of the items to the organization. You will no longer be the direct owner of these items once they have been shared." - }, - "collectionsDesc": { - "message": "Edit the collections that this item is being shared with. Only organization users with access to these collections will be able to see this item." - }, - "deleteSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to delete. Are you sure you want to delete all of these items?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Choose a folder that you would like to move the $COUNT$ selected item(s) to.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "You have selected $COUNT$ item(s). $SHAREABLE_COUNT$ items are sharable, $NONSHAREABLE_COUNT$ are not.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Verification Code (TOTP)" - }, - "copyVerificationCode": { - "message": "Copy Verification Code" - }, - "warning": { - "message": "Warning" - }, - "confirmVaultExport": { - "message": "Confirm Vault Export" - }, - "exportWarningDesc": { - "message": "This export contains your vault data in an unencrypted format. You should not store or send the exported file over unsecure channels (such as email). Delete it immediately after you are done using it." - }, - "encExportWarningDesc": { - "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." - }, - "exportMasterPassword": { - "message": "Enter your master password to export your vault data." - }, - "exportVault": { - "message": "Export Vault" - }, - "fileFormat": { - "message": "File Format" - }, - "exportSuccess": { - "message": "Your vault data has been exported." - }, - "passwordGenerator": { - "message": "Password Generator" - }, - "minComplexityScore": { - "message": "Minimum Complexity Score" - }, - "minNumbers": { - "message": "Minimum Numbers" - }, - "minSpecial": { - "message": "Minimum Special", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Avoid Ambiguous Characters" - }, - "regeneratePassword": { - "message": "Regenerate Password" - }, - "length": { - "message": "Length" - }, - "numWords": { - "message": "Number of Words" - }, - "wordSeparator": { - "message": "Word Separator" - }, - "capitalize": { - "message": "Capitalize", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Include Number" - }, - "passwordHistory": { - "message": "Password History" - }, - "noPasswordsInList": { - "message": "There are no passwords to list." - }, - "clear": { - "message": "Clear", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Account Updated" - }, - "changeEmail": { - "message": "Change Email" - }, - "newEmail": { - "message": "New Email" - }, - "code": { - "message": "Code" - }, - "changeEmailDesc": { - "message": "We have emailed a verification code to $EMAIL$. Please check your email for this code and enter it below to finalize the email address change.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour." - }, - "emailChanged": { - "message": "Email Changed" - }, - "logBackIn": { - "message": "Please log back in." - }, - "logBackInOthersToo": { - "message": "Please log back in. If you are using other Bitwarden applications log out and back in to those as well." - }, - "changeMasterPassword": { - "message": "Change Master Password" - }, - "masterPasswordChanged": { - "message": "Master Password Changed" - }, - "currentMasterPass": { - "message": "Current Master Password" - }, - "newMasterPass": { - "message": "New Master Password" - }, - "confirmNewMasterPass": { - "message": "Confirm New Master Password" - }, - "encKeySettings": { - "message": "Encryption Key Settings" - }, - "kdfAlgorithm": { - "message": "KDF Algorithm" - }, - "kdfIterations": { - "message": "KDF Iterations" - }, - "kdfIterationsDesc": { - "message": "Higher KDF iterations can help protect your master password from being brute forced by an attacker. We recommend a value of $VALUE$ or more.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Setting your KDF iterations too high could result in poor performance when logging into (and unlocking) Bitwarden on devices with slower CPUs. We recommend that you increase the value in increments of $INCREMENT$ and then test all of your devices.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Change KDF" - }, - "encKeySettingsChanged": { - "message": "Encryption Key Settings Changed" - }, - "dangerZone": { - "message": "Danger Zone" - }, - "dangerZoneDesc": { - "message": "Careful, these actions are not reversible!" - }, - "deauthorizeSessions": { - "message": "Deauthorize Sessions" - }, - "deauthorizeSessionsDesc": { - "message": "Concerned your account is logged in on another device? Proceed below to deauthorize all computers or devices that you have previously used. This security step is recommended if you previously used a public computer or accidentally saved your password on a device that isn't yours. This step will also clear all previously remembered two-step login sessions." - }, - "deauthorizeSessionsWarning": { - "message": "Proceeding will also log you out of your current session, requiring you to log back in. You will also be prompted for two-step login again, if enabled. Active sessions on other devices may continue to remain active for up to one hour." - }, - "sessionsDeauthorized": { - "message": "All Sessions Deauthorized" - }, - "purgeVault": { - "message": "Purge Vault" - }, - "purgedOrganizationVault": { - "message": "Purged organization vault." - }, - "purgeVaultDesc": { - "message": "Proceed below to delete all items and folders in your vault. Items that belong to an organization that you share with will not be deleted." - }, - "purgeOrgVaultDesc": { - "message": "Proceed below to delete all items in the organization's vault." - }, - "purgeVaultWarning": { - "message": "Purging your vault is permanent. It cannot be undone." - }, - "vaultPurged": { - "message": "Your vault has been purged." - }, - "deleteAccount": { - "message": "Delete Account" - }, - "deleteAccountDesc": { - "message": "Proceed below to delete your account and all associated data." - }, - "deleteAccountWarning": { - "message": "Deleting your account is permanent. It cannot be undone." - }, - "accountDeleted": { - "message": "Account Deleted" - }, - "accountDeletedDesc": { - "message": "Your account has been closed and all associated data has been deleted." - }, - "myAccount": { - "message": "My Account" - }, - "tools": { - "message": "Tools" - }, - "importData": { - "message": "Import Data" - }, - "importSuccess": { - "message": "Data has been successfully imported into your vault." - }, - "importFormatError": { - "message": "Data is not formatted correctly. Please check your import file and try again." - }, - "importNothingError": { - "message": "Nothing was imported." - }, - "selectFormat": { - "message": "Select the format of the import file" - }, - "selectImportFile": { - "message": "Select the import file" - }, - "orCopyPasteFileContents": { - "message": "or copy/paste the import file contents" - }, - "instructionsFor": { - "message": "$NAME$ Instructions", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Options" - }, - "optionsDesc": { - "message": "Customize your web vault experience." - }, - "optionsUpdated": { - "message": "Options updated" - }, - "language": { - "message": "Language" - }, - "languageDesc": { - "message": "Change the language used by the web vault." - }, - "disableIcons": { - "message": "Disable Website Icons" - }, - "disableIconsDesc": { - "message": "Website Icons provide a recognizable image next to each login item in your vault." - }, - "enableGravatars": { - "message": "Enable Gravatars", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Use avatar images loaded from gravatar.com." - }, - "enableFullWidth": { - "message": "Enable Full Width Layout", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Allow the web vault to expand the full width of the browser window." - }, - "default": { - "message": "Default" - }, - "domainRules": { - "message": "Domain Rules" - }, - "domainRulesDesc": { - "message": "If you have the same login across multiple different website domains, you can mark the website as \"equivalent\". \"Global\" domains are ones already created for you by Bitwarden." - }, - "globalEqDomains": { - "message": "Global Equivalent Domains" - }, - "customEqDomains": { - "message": "Custom Equivalent Domains" - }, - "exclude": { - "message": "Exclude" - }, - "include": { - "message": "Include" - }, - "customize": { - "message": "Customize" - }, - "newCustomDomain": { - "message": "New Custom Domain" - }, - "newCustomDomainDesc": { - "message": "Enter a list of domains separated by commas. Only \"base\" domains are allowed. Do not enter subdomains. For example, enter \"google.com\" instead of \"www.google.com\". You can also enter \"androidapp://package.name\" to associate an android app with other website domains." - }, - "customDomainX": { - "message": "Custom Domain $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Domains updated" - }, - "twoStepLogin": { - "message": "Two-step Login" - }, - "twoStepLoginDesc": { - "message": "Secure your account by requiring an additional step when logging in." - }, - "twoStepLoginOrganizationDesc": { - "message": "Require two-step login for your organization's users by configuring providers at the organization level." - }, - "twoStepLoginRecoveryWarning": { - "message": "Enabling two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (ex. you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." - }, - "viewRecoveryCode": { - "message": "View Recovery Code" - }, - "providers": { - "message": "Providers", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Enable" - }, - "enabled": { - "message": "Enabled" - }, - "premium": { - "message": "Premium", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Premium Membership" - }, - "premiumRequired": { - "message": "Premium Required" - }, - "premiumRequiredDesc": { - "message": "A premium membership is required to use this feature." - }, - "youHavePremiumAccess": { - "message": "You have premium access" - }, - "alreadyPremiumFromOrg": { - "message": "You already have access to premium features because of an organization you are a member of." - }, - "manage": { - "message": "Manage" - }, - "disable": { - "message": "Disable" - }, - "twoStepLoginProviderEnabled": { - "message": "This two-step login provider is enabled on your account." - }, - "twoStepLoginAuthDesc": { - "message": "Enter your master password to modify two-step login settings." - }, - "twoStepAuthenticatorDesc": { - "message": "Follow these steps to set up two-step login with an authenticator app:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Download a two-step authenticator app" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Need a two-step authenticator app? Download one of the following" - }, - "iosDevices": { - "message": "iOS devices" - }, - "androidDevices": { - "message": "Android devices" - }, - "windowsDevices": { - "message": "Windows devices" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "These apps are recommended, however, other authenticator apps will also work." - }, - "twoStepAuthenticatorScanCode": { - "message": "Scan this QR code with your authenticator app" - }, - "key": { - "message": "Key" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Enter the resulting 6 digit verification code from the app" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "In case you need to add it to another device, below is the QR code (or key) required by your authenticator app." - }, - "twoStepDisableDesc": { - "message": "Are you sure you want to disable this two-step login provider?" - }, - "twoStepDisabled": { - "message": "Two-step login provider disabled." - }, - "twoFactorYubikeyAdd": { - "message": "Add a new YubiKey to your account" - }, - "twoFactorYubikeyPlugIn": { - "message": "Plug the YubiKey into your computer's USB port." - }, - "twoFactorYubikeySelectKey": { - "message": "Select the first empty YubiKey input field below." - }, - "twoFactorYubikeyTouchButton": { - "message": "Touch the YubiKey's button." - }, - "twoFactorYubikeySaveForm": { - "message": "Save the form." - }, - "twoFactorYubikeyWarning": { - "message": "Due to platform limitations, YubiKeys cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when YubiKeys cannot be used. Supported platforms:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Web vault, desktop application, CLI, and all browser extensions on a device with a USB port that can accept your YubiKey." - }, - "twoFactorYubikeySupportMobile": { - "message": "Mobile apps on a device with NFC capabilities or a data port that can accept your YubiKey." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "U2F Key $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "NFC Support" - }, - "twoFactorYubikeySupportsNfc": { - "message": "One of my keys supports NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "If one of your YubiKeys supports NFC (such as a YubiKey NEO), you will be prompted on mobile devices whenever NFC availability is detected." - }, - "yubikeysUpdated": { - "message": "YubiKeys updated" - }, - "disableAllKeys": { - "message": "Disable All Keys" - }, - "twoFactorDuoDesc": { - "message": "Enter the Bitwarden application information from your Duo Admin panel." - }, - "twoFactorDuoIntegrationKey": { - "message": "Integration Key" - }, - "twoFactorDuoSecretKey": { - "message": "Secret Key" - }, - "twoFactorDuoApiHostname": { - "message": "API Hostname" - }, - "twoFactorEmailDesc": { - "message": "Follow these steps to set up two-step login with email:" - }, - "twoFactorEmailEnterEmail": { - "message": "Enter the email that you wish to receive verification codes" - }, - "twoFactorEmailEnterCode": { - "message": "Enter the resulting 6 digit verification code from the email" - }, - "sendEmail": { - "message": "Send Email" - }, - "twoFactorU2fAdd": { - "message": "Add a FIDO U2F security key to your account" - }, - "removeU2fConfirmation": { - "message": "Are you sure you want to remove this security key?" - }, - "readKey": { - "message": "Read Key" - }, - "keyCompromised": { - "message": "Key is compromised." - }, - "twoFactorU2fGiveName": { - "message": "Give the security key a friendly name to identify it." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Plug the security key into your computer's USB port and click the \"Read Key\" button." - }, - "twoFactorU2fTouchButton": { - "message": "If the security key has a button, touch it." - }, - "twoFactorU2fSaveForm": { - "message": "Save the form." - }, - "twoFactorU2fWarning": { - "message": "Due to platform limitations, FIDO U2F cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when FIDO U2F cannot be used. Supported platforms:" - }, - "twoFactorU2fSupportWeb": { - "message": "Web vault and browser extensions on a desktop/laptop with a U2F enabled browser (Chrome, Opera, Vivaldi, or Firefox with FIDO U2F enabled)." - }, - "twoFactorU2fWaiting": { - "message": "Waiting for you to touch the button on your security key" - }, - "twoFactorU2fClickSave": { - "message": "Click the \"Save\" button below to enable this security key for two-step login." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "There was a problem reading the security key. Try again." - }, - "twoFactorRecoveryYourCode": { - "message": "Your Bitwarden two-step login recovery code" - }, - "twoFactorRecoveryNoCode": { - "message": "You have not enabled any two-step login providers yet. After you have enabled a two-step login provider you can check back here for your recovery code." - }, - "printCode": { - "message": "Print Code", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Reports" - }, - "unsecuredWebsitesReport": { - "message": "Unsecured Websites Report" - }, - "unsecuredWebsitesReportDesc": { - "message": "Using unsecured websites with the http:// scheme can be dangerous. If the website allows, you should always access it using the https:// scheme so that your connection is encrypted." - }, - "unsecuredWebsitesFound": { - "message": "Unsecured Websites Found" - }, - "unsecuredWebsitesFoundDesc": { - "message": "We found $COUNT$ items in your vault with unsecured URIs. You should change their URI scheme to https:// if the website allows it.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "No items in your vault have unsecured URIs." - }, - "inactive2faReport": { - "message": "Inactive 2FA Report" - }, - "inactive2faReportDesc": { - "message": "Two-factor authentication (2FA) is an important security setting that helps secure your accounts. If the website offers it, you should always enable two-factor authentication." - }, - "inactive2faFound": { - "message": "Logins Without 2FA Found" - }, - "inactive2faFoundDesc": { - "message": "We found $COUNT$ website(s) in your vault that may not be configured with two-factor authentication (according to 2fa.directory). To further protect these accounts, you should enable two-factor authentication.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "No websites were found in your vault with a missing two-factor authentication configuration." - }, - "instructions": { - "message": "Instructions" - }, - "exposedPasswordsReport": { - "message": "Exposed Passwords Report" - }, - "exposedPasswordsReportDesc": { - "message": "Exposed passwords are passwords that have been uncovered in known data breaches that were released publicly or sold on the dark web by hackers." - }, - "exposedPasswordsFound": { - "message": "Exposed Passwords Found" - }, - "exposedPasswordsFoundDesc": { - "message": "We found $COUNT$ items in your vault that have passwords that were exposed in known data breaches. You should change them to use a new password.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "No items in your vault have passwords that have been exposed in known data breaches." - }, - "checkExposedPasswords": { - "message": "Check Exposed Passwords" - }, - "exposedXTimes": { - "message": "Exposed $COUNT$ time(s)", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Weak Passwords Report" - }, - "weakPasswordsReportDesc": { - "message": "Weak passwords can easily be guessed by hackers and automated tools that are used to crack passwords. The Bitwarden password generator can help you create strong passwords." - }, - "weakPasswordsFound": { - "message": "Weak Passwords Found" - }, - "weakPasswordsFoundDesc": { - "message": "We found $COUNT$ items in your vault with passwords that are not strong. You should update them to use stronger passwords.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "No items in your vault have weak passwords." - }, - "reusedPasswordsReport": { - "message": "Reused Passwords Report" - }, - "reusedPasswordsReportDesc": { - "message": "If a service that you use is compromised, reusing the same password elsewhere can allow hackers to easily gain access to more of your online accounts. You should use a unique password for every account or service." - }, - "reusedPasswordsFound": { - "message": "Reused Passwords Found" - }, - "reusedPasswordsFoundDesc": { - "message": "We found $COUNT$ passwords that are being reused in your vault. You should change them to a unique value.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "No logins in your vault have passwords that are being reused." - }, - "reusedXTimes": { - "message": "Reused $COUNT$ times", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Data Breach Report" - }, - "breachDesc": { - "message": "A \"breach\" is an incident where a site's data has been illegally accessed by hackers and then released publicly. Review the types of data that were compromised (email addresses, passwords, credit cards etc.) and take appropriate action, such as changing passwords." - }, - "breachCheckUsernameEmail": { - "message": "Check any usernames or email addresses that you use." - }, - "checkBreaches": { - "message": "Check Breaches" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ was not found in any known data breaches.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Good News", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ was found in $COUNT$ different data breaches online.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Breached Accounts Found" - }, - "compromisedData": { - "message": "Compromised data" - }, - "website": { - "message": "Website" - }, - "affectedUsers": { - "message": "Affected Users" - }, - "breachOccurred": { - "message": "Breach Occurred" - }, - "breachReported": { - "message": "Breach Reported" - }, - "reportError": { - "message": "An error occurred trying to load the report. Try again" - }, - "billing": { - "message": "Billing" - }, - "accountCredit": { - "message": "Account Credit", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Account Balance", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Add Credit", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Amount", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Added credit will appear on your account after the payment has been fully processed. Some payment methods are delayed and can take longer to process than others." - }, - "makeSureEnoughCredit": { - "message": "Please make sure that your account has enough credit available for this purchase. If your account does not have enough credit available, your default payment method on file will be used for the difference. You can add credit to your account from the Billing page." - }, - "creditAppliedDesc": { - "message": "Your account's credit can be used to make purchases. Any available credit will be automatically applied towards invoices generated for this account." - }, - "goPremium": { - "message": "Go Premium", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "You've upgraded to premium." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Upgrade your account to a premium membership and unlock some great additional features." - }, - "premiumSignUpStorage": { - "message": "1 GB encrypted storage for file attachments." - }, - "premiumSignUpTwoStep": { - "message": "Additional two-step login options such as YubiKey, FIDO U2F, and Duo." - }, - "premiumSignUpReports": { - "message": "Password hygiene, account health, and data breach reports to keep your vault safe." - }, - "premiumSignUpTotp": { - "message": "TOTP verification code (2FA) generator for logins in your vault." - }, - "premiumSignUpSupport": { - "message": "Priority customer support." - }, - "premiumSignUpFuture": { - "message": "All future premium features. More coming soon!" - }, - "premiumPrice": { - "message": "All for just $PRICE$ /year!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Addons" - }, - "premiumAccess": { - "message": "Premium Access" - }, - "premiumAccessDesc": { - "message": "You can add premium access to all members of your organization for $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Additional Storage (GB)" - }, - "additionalStorageGbDesc": { - "message": "# of additional GB" - }, - "additionalStorageIntervalDesc": { - "message": "Your plan comes with $SIZE$ of encrypted file storage. You can add additional storage for $PRICE$ per GB /$INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Summary" - }, - "total": { - "message": "Total" - }, - "year": { - "message": "year" - }, - "month": { - "message": "month" - }, - "monthAbbr": { - "message": "mo.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Your payment method will be charged immediately and then on a recurring basis each year. You may cancel at any time." - }, - "paymentCharged": { - "message": "Your payment method will be charged immediately and then on a recurring basis each $INTERVAL$. You may cancel at any time.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Your plan comes with a free 7 day trial. Your payment method will not be charged until the trial has ended. Billing will occur on a recurring basis each $INTERVAL$. You may cancel at any time.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Payment Information" - }, - "billingInformation": { - "message": "Billing Information" - }, - "creditCard": { - "message": "Credit Card" - }, - "paypalClickSubmit": { - "message": "Click the PayPal button to log into your PayPal account, then click the Submit button below to continue." - }, - "cancelSubscription": { - "message": "Cancel Subscription" - }, - "subscriptionCanceled": { - "message": "The subscription has been canceled." - }, - "pendingCancellation": { - "message": "Pending Cancellation" - }, - "subscriptionPendingCanceled": { - "message": "The subscription has been marked for cancellation at the end of the current billing period." - }, - "reinstateSubscription": { - "message": "Reinstate Subscription" - }, - "reinstateConfirmation": { - "message": "Are you sure you want to remove the pending cancellation request and reinstate your subscription?" - }, - "reinstated": { - "message": "The subscription has been reinstated." - }, - "cancelConfirmation": { - "message": "Are you sure you want to cancel? You will lose access to all of this subscription's features at the end of this billing cycle." - }, - "canceledSubscription": { - "message": "The subscription has been canceled." - }, - "neverExpires": { - "message": "Never Expires" - }, - "status": { - "message": "Status" - }, - "nextCharge": { - "message": "Next Charge" - }, - "details": { - "message": "Details" - }, - "downloadLicense": { - "message": "Download License" - }, - "updateLicense": { - "message": "Update License" - }, - "updatedLicense": { - "message": "Updated license" - }, - "manageSubscription": { - "message": "Manage Subscription" - }, - "storage": { - "message": "Storage" - }, - "addStorage": { - "message": "Add Storage" - }, - "removeStorage": { - "message": "Remove Storage" - }, - "subscriptionStorage": { - "message": "Your subscription has a total of $MAX_STORAGE$ GB of encrypted file storage. You are currently using $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Payment Method" - }, - "noPaymentMethod": { - "message": "No payment method on file." - }, - "addPaymentMethod": { - "message": "Add Payment Method" - }, - "changePaymentMethod": { - "message": "Change Payment Method" - }, - "invoices": { - "message": "Invoices" - }, - "noInvoices": { - "message": "No invoices." - }, - "paid": { - "message": "Paid", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Unpaid", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Transactions", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "No transactions." - }, - "chargeNoun": { - "message": "Charge", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Refund", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Any charges will appear on your statement as $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "GB of Storage To Add" - }, - "gbStorageRemove": { - "message": "GB of Storage To Remove" - }, - "storageAddNote": { - "message": "Adding storage will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." - }, - "storageRemoveNote": { - "message": "Removing storage will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." - }, - "adjustedStorage": { - "message": "Adjusted $AMOUNT$ GB of storage.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Contact Customer Support" - }, - "updatedPaymentMethod": { - "message": "Updated payment method." - }, - "purchasePremium": { - "message": "Purchase Premium" - }, - "licenseFile": { - "message": "License File" - }, - "licenseFileDesc": { - "message": "Your license file will be named something like $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "To upgrade your account to a premium membership you need to upload a valid license file." - }, - "uploadLicenseFileOrg": { - "message": "To create an on-premises hosted organization you need to upload a valid license file." - }, - "accountEmailMustBeVerified": { - "message": "Your account's email address must be verified." - }, - "newOrganizationDesc": { - "message": "Organizations allow you to share parts of your vault with others as well as manage related users for a specific entity such as a family, small team, or large company." - }, - "generalInformation": { - "message": "General Information" - }, - "organizationName": { - "message": "Organization Name" - }, - "accountOwnedBusiness": { - "message": "This account is owned by a business." - }, - "billingEmail": { - "message": "Billing Email" - }, - "businessName": { - "message": "Business Name" - }, - "chooseYourPlan": { - "message": "Choose Your Plan" - }, - "users": { - "message": "Users" - }, - "userSeats": { - "message": "User Seats" - }, - "additionalUserSeats": { - "message": "Additional User Seats" - }, - "userSeatsDesc": { - "message": "# of user seats" - }, - "userSeatsAdditionalDesc": { - "message": "Your plan comes with $BASE_SEATS$ user seats. You can add additional users for $SEAT_PRICE$ per user /month.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "How many user seats do you need? You can also add additional seats later if needed." - }, - "planNameFree": { - "message": "Free", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "For testing or personal users to share with $COUNT$ other user.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Families" - }, - "planDescFamilies": { - "message": "For personal use, to share with family & friends." - }, - "planNameTeams": { - "message": "Teams" - }, - "planDescTeams": { - "message": "For businesses and other team organizations." - }, - "planNameEnterprise": { - "message": "Enterprise" - }, - "planDescEnterprise": { - "message": "For businesses and other large organizations." - }, - "freeForever": { - "message": "Free Forever" - }, - "includesXUsers": { - "message": "includes $COUNT$ users", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Additional Users" - }, - "costPerUser": { - "message": "$COST$ per user", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Limited to $COUNT$ users (including you)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Limited to $COUNT$ collections", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Add and share with up to $COUNT$ users", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Add and share with unlimited users" - }, - "createUnlimitedCollections": { - "message": "Create unlimited Collections" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ encrypted file storage", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "On-premise hosting (optional)" - }, - "usersGetPremium": { - "message": "Users get access to Premium Features" - }, - "controlAccessWithGroups": { - "message": "Control user access with Groups" - }, - "syncUsersFromDirectory": { - "message": "Sync your users and Groups from a directory" - }, - "trackAuditLogs": { - "message": "Track user actions with audit logs" - }, - "enforce2faDuo": { - "message": "Enforce 2FA with Duo" - }, - "priorityCustomerSupport": { - "message": "Priority customer support" - }, - "xDayFreeTrial": { - "message": "$COUNT$ day free trial, cancel anytime", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Monthly" - }, - "annually": { - "message": "Annually" - }, - "basePrice": { - "message": "Base Price" - }, - "organizationCreated": { - "message": "Organization Created" - }, - "organizationReadyToGo": { - "message": "Your new organization is ready to go!" - }, - "organizationUpgraded": { - "message": "Your organization has been upgraded." - }, - "leave": { - "message": "Leave" - }, - "leaveOrganizationConfirmation": { - "message": "Are you sure you want to leave this organization?" - }, - "leftOrganization": { - "message": "You have left the organization." - }, - "defaultCollection": { - "message": "Default Collection" - }, - "getHelp": { - "message": "Get Help" - }, - "getApps": { - "message": "Get the Apps" - }, - "loggedInAs": { - "message": "Logged in as" - }, - "eventLogs": { - "message": "Event Logs" - }, - "people": { - "message": "People" - }, - "policies": { - "message": "Policies" - }, - "editPolicy": { - "message": "Edit Policy" - }, - "groups": { - "message": "Groups" - }, - "newGroup": { - "message": "New Group" - }, - "addGroup": { - "message": "Add Group" - }, - "editGroup": { - "message": "Edit Group" - }, - "deleteGroupConfirmation": { - "message": "Are you sure you want to delete this group?" - }, - "removeUserConfirmation": { - "message": "Are you sure you want to remove this user?" - }, - "externalId": { - "message": "External Id" - }, - "externalIdDesc": { - "message": "The external id can be used as a reference or to link this resource to an external system such as a user directory." - }, - "accessControl": { - "message": "Access Control" - }, - "groupAccessAllItems": { - "message": "This group can access and modify all items." - }, - "groupAccessSelectedCollections": { - "message": "This group can access only the selected collections." - }, - "readOnly": { - "message": "Read Only" - }, - "newCollection": { - "message": "New Collection" - }, - "addCollection": { - "message": "Add Collection" - }, - "editCollection": { - "message": "Edit Collection" - }, - "deleteCollectionConfirmation": { - "message": "Are you sure you want to delete this collection?" - }, - "editUser": { - "message": "Edit User" - }, - "inviteUser": { - "message": "Invite User" - }, - "inviteUserDesc": { - "message": "Invite a new user to your organization by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "inviteMultipleEmailDesc": { - "message": "You can invite up to $COUNT$ users at a time by comma separating a list of email addresses.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "This user is using two-step login to protect their account." - }, - "userAccessAllItems": { - "message": "This user can access and modify all items." - }, - "userAccessSelectedCollections": { - "message": "This user can access only the selected collections." - }, - "search": { - "message": "Search" - }, - "invited": { - "message": "Invited" - }, - "accepted": { - "message": "Accepted" - }, - "confirmed": { - "message": "Confirmed" - }, - "owner": { - "message": "Owner" - }, - "ownerDesc": { - "message": "The highest access user that can manage all aspects of your organization." - }, - "admin": { - "message": "Admin" - }, - "adminDesc": { - "message": "Admins can access and manage all items, collections and users in your organization." - }, - "user": { - "message": "User" - }, - "userDesc": { - "message": "A regular user with access to assigned collections in your organization." - }, - "manager": { - "message": "Manager" - }, - "managerDesc": { - "message": "Managers can access and manage assigned collections in your organization." - }, - "all": { - "message": "All" - }, - "refresh": { - "message": "Refresh" - }, - "timestamp": { - "message": "Timestamp" - }, - "event": { - "message": "Event" - }, - "unknown": { - "message": "Unknown" - }, - "loadMore": { - "message": "Load More" - }, - "mobile": { - "message": "Mobile", - "description": "Mobile app" - }, - "extension": { - "message": "Extension", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Desktop", - "description": "Desktop app" - }, - "webVault": { - "message": "Web Vault" - }, - "loggedIn": { - "message": "Logged in." - }, - "changedPassword": { - "message": "Changed account password." - }, - "enabledUpdated2fa": { - "message": "Enabled/updated two-step login." - }, - "disabled2fa": { - "message": "Disabled two-step login." - }, - "recovered2fa": { - "message": "Recovered account from two-step login." - }, - "failedLogin": { - "message": "Login attempt failed with incorrect password." - }, - "failedLogin2fa": { - "message": "Login attempt failed with incorrect two-step login." - }, - "exportedVault": { - "message": "Exported vault." - }, - "exportedOrganizationVault": { - "message": "Exported organization vault." - }, - "editedOrgSettings": { - "message": "Edited organization settings." - }, - "createdItemId": { - "message": "Created item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Edited item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Sent item $ID$ to trash.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Shared item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Viewed item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Viewed password for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Viewed hidden field for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Viewed security code for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Copied password for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Copied hidden field for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Copied security code for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Auto-filled item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Created collection $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Edited collection $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Deleted collection $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Edited policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Created group $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Edited group $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Deleted group $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Removed user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Created attachment for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Deleted attachment for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Edited collections for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Invited user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Confirmed user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Edited user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Edited groups for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Device" - }, - "view": { - "message": "View" - }, - "invalidDateRange": { - "message": "Invalid date range." - }, - "errorOccurred": { - "message": "An error has occurred." - }, - "userAccess": { - "message": "User Access" - }, - "userType": { - "message": "User Type" - }, - "groupAccess": { - "message": "Group Access" - }, - "groupAccessUserDesc": { - "message": "Edit the groups that this user belongs to." - }, - "invitedUsers": { - "message": "Invited user(s)." - }, - "resendInvitation": { - "message": "Resend Invitation" - }, - "hasBeenReinvited": { - "message": "$USER$ has been reinvited.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Confirm" - }, - "confirmUser": { - "message": "Confirm User" - }, - "hasBeenConfirmed": { - "message": "$USER$ has been confirmed.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Confirm Users" - }, - "usersNeedConfirmed": { - "message": "You have users that have accepted their invitation, but still need to be confirmed. Users will not have access to the organization until they are confirmed." - }, - "startDate": { - "message": "Start Date" - }, - "endDate": { - "message": "End Date" - }, - "verifyEmail": { - "message": "Verify Email" - }, - "verifyEmailDesc": { - "message": "Verify your account's email address to unlock access to all features." - }, - "verifyEmailFirst": { - "message": "Your account's email address first must be verified." - }, - "checkInboxForVerification": { - "message": "Check your email inbox for a verification link." - }, - "emailVerified": { - "message": "Your email has been verified." - }, - "emailVerifiedFailed": { - "message": "Unable to verify your email. Try sending a new verification email." - }, - "updateBrowser": { - "message": "Update Browser" - }, - "updateBrowserDesc": { - "message": "You are using an unsupported web browser. The web vault may not function properly." - }, - "joinOrganization": { - "message": "Join Organization" - }, - "joinOrganizationDesc": { - "message": "You've been invited to join the organization listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "inviteAccepted": { - "message": "Invitation Accepted" - }, - "inviteAcceptedDesc": { - "message": "You can access this organization once an administrator confirms your membership. We'll send you an email when that happens." - }, - "inviteAcceptFailed": { - "message": "Unable to accept invitation. Ask an organization admin to send a new invitation." - }, - "inviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Remember email" - }, - "recoverAccountTwoStepDesc": { - "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to disable all two-step providers on your account." - }, - "recoverAccountTwoStep": { - "message": "Recover Account Two-Step Login" - }, - "twoStepRecoverDisabled": { - "message": "Two-step login has been disabled on your account." - }, - "learnMore": { - "message": "Learn more" - }, - "deleteRecoverDesc": { - "message": "Enter your email address below to recover and delete your account." - }, - "deleteRecoverEmailSent": { - "message": "If your account exists, we've sent you an email with further instructions." - }, - "deleteRecoverConfirmDesc": { - "message": "You have requested to delete your Bitwarden account. Click the button below to confirm." - }, - "myOrganization": { - "message": "My Organization" - }, - "deleteOrganization": { - "message": "Delete Organization" - }, - "deleteOrganizationDesc": { - "message": "Proceed below to delete this organization and all associated data. Individual user accounts will remain, though they will not be associated to this organization anymore. " - }, - "deleteOrganizationWarning": { - "message": "Deleting the organization is permanent. It cannot be undone." - }, - "organizationDeleted": { - "message": "Organization Deleted" - }, - "organizationDeletedDesc": { - "message": "The organization and all associated data has been deleted." - }, - "organizationUpdated": { - "message": "Organization updated" - }, - "taxInformation": { - "message": "Tax Information" - }, - "taxInformationDesc": { - "message": "For customers within the US, ZIP code is required to satisfy sales tax requirements, for other countries you may optionally provide a tax identification number (VAT/GST) and/or address to appear on your invoices." - }, - "billingPlan": { - "message": "Plan", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Change Plan", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Upgrade your account to another plan by providing the information below. Please ensure that you have an active payment method added to the account.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Contact customer support if you would like to change your plan. Please ensure that you have an active payment method added to the account.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Invoice #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "View Invoice" - }, - "downloadInvoice": { - "message": "Download Invoice" - }, - "verifyBankAccount": { - "message": "Verify Bank Account" - }, - "verifyBankAccountDesc": { - "message": "We have made two micro-deposits to your bank account (it may take 1-2 business days to show up). Enter these amounts to verify the bank account." - }, - "verifyBankAccountInitialDesc": { - "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make two micro-deposits within the next 1-2 business days. Enter these amounts on the organization's billing page to verify the bank account." - }, - "verifyBankAccountFailureWarning": { - "message": "Failure to verify the bank account will result in a missed payment and your subscription being disabled." - }, - "verifiedBankAccount": { - "message": "Bank account has been verified." - }, - "bankAccount": { - "message": "Bank Account" - }, - "amountX": { - "message": "Amount $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Routing Number", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Account Number" - }, - "accountHolderName": { - "message": "Account Holder Name" - }, - "bankAccountType": { - "message": "Account Type" - }, - "bankAccountTypeCompany": { - "message": "Company (Business)" - }, - "bankAccountTypeIndividual": { - "message": "Individual (Personal)" - }, - "enterInstallationId": { - "message": "Enter your installation id" - }, - "addSeats": { - "message": "Add Seats", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Remove Seats", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Your subscription allows for a total of $COUNT$ users.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Seats To Add" - }, - "seatsToRemove": { - "message": "Seats To Remove" - }, - "seatsAddNote": { - "message": "Adding user seats will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." - }, - "seatsRemoveNote": { - "message": "Removing user seats will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." - }, - "adjustedSeats": { - "message": "Adjusted $AMOUNT$ user seats.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Key Updated" - }, - "updateKeyTitle": { - "message": "Update Key" - }, - "updateEncryptionKey": { - "message": "Update Encryption Key" - }, - "updateEncryptionKeyShortDesc": { - "message": "You are currently using an outdated encryption scheme." - }, - "updateEncryptionKeyDesc": { - "message": "We've moved to larger encryption keys that provide better security and access to newer features. Updating your encryption key is quick and easy. Just type your master password below. This update will eventually become mandatory." - }, - "updateEncryptionKeyWarning": { - "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." - }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." - }, - "subscription": { - "message": "Subscription" - }, - "loading": { - "message": "Loading" - }, - "upgrade": { - "message": "Upgrade" - }, - "upgradeOrganization": { - "message": "Upgrade Organization" - }, - "upgradeOrganizationDesc": { - "message": "This feature is not available for free organizations. Switch to a paid plan to unlock more features." - }, - "createOrganizationStep1": { - "message": "Create Organization: Step 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Before creating your organization, you first need to create a free personal account." - }, - "refunded": { - "message": "Refunded" - }, - "nothingSelected": { - "message": "You have not selected anything." - }, - "acceptPolicies": { - "message": "By checking this box you agree to the following:" - }, - "acceptPoliciesError": { - "message": "Terms of Service and Privacy Policy have not been acknowledged." - }, - "termsOfService": { - "message": "Terms of Service" - }, - "privacyPolicy": { - "message": "Privacy Policy" - }, - "filters": { - "message": "Filters" - }, - "vaultTimeout": { - "message": "Vault Timeout" - }, - "vaultTimeoutDesc": { - "message": "Choose when your vault will timeout and perform the selected action." - }, - "oneMinute": { - "message": "1 minute" - }, - "fiveMinutes": { - "message": "5 minutes" - }, - "fifteenMinutes": { - "message": "15 minutes" - }, - "thirtyMinutes": { - "message": "30 minutes" - }, - "oneHour": { - "message": "1 hour" - }, - "fourHours": { - "message": "4 hours" - }, - "onRefresh": { - "message": "On Browser Refresh" - }, - "dateUpdated": { - "message": "Updated", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Password Updated", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "Organization is disabled." - }, - "licenseIsExpired": { - "message": "License is expired." - }, - "updatedUsers": { - "message": "Updated users" - }, - "selected": { - "message": "Selected" - }, - "ownership": { - "message": "Ownership" - }, - "whoOwnsThisItem": { - "message": "Who owns this item?" - }, - "strong": { - "message": "Strong", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Good", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Weak", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Very Weak", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Weak Master Password" - }, - "weakMasterPasswordDesc": { - "message": "The master password you have chosen is weak. You should use a strong master password (or a passphrase) to properly protect your Bitwarden account. Are you sure you want to use this master password?" - }, - "rotateAccountEncKey": { - "message": "Also rotate my account's encryption key" - }, - "rotateEncKeyTitle": { - "message": "Rotate Encryption Key" - }, - "rotateEncKeyConfirmation": { - "message": "Are you sure you want to rotate your account's encryption key?" - }, - "attachmentsNeedFix": { - "message": "This item has old file attachments that need to be fixed." - }, - "attachmentFixDesc": { - "message": "This is an old file attachment the needs to be fixed. Click to learn more." - }, - "fix": { - "message": "Fix", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "There are old file attachments in your vault that need to be fixed before you can rotate your account's encryption key." - }, - "yourAccountsFingerprint": { - "message": "Your account's fingerprint phrase", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "To ensure the integrity of your encryption keys, please verify the user's fingerprint phrase before continuing.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Don't ask to verify fingerprint phrase again", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Free", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "API Key" - }, - "apiKeyDesc": { - "message": "Your API key can be used to authenticate to the Bitwarden public API." - }, - "apiKeyRotateDesc": { - "message": "Rotating the API key will invalidate the previous key. You can rotate your API key if you believe that the current key is no longer safe to use." - }, - "apiKeyWarning": { - "message": "Your API key has full access to the organization. It should be kept secret." - }, - "userApiKeyDesc": { - "message": "Your API key can be used to authenticate in the Bitwarden CLI." - }, - "userApiKeyWarning": { - "message": "Your API key is an alternative authentication mechanism. It should be kept secret." - }, - "oauth2ClientCredentials": { - "message": "OAuth 2.0 Client Credentials", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "View API Key" - }, - "rotateApiKey": { - "message": "Rotate API Key" - }, - "selectOneCollection": { - "message": "You must select at least one collection." - }, - "couldNotChargeCardPayInvoice": { - "message": "We were not able to charge your card. Please view and pay the unpaid invoice listed below." - }, - "inAppPurchase": { - "message": "In-app Purchase" - }, - "cannotPerformInAppPurchase": { - "message": "You cannot perform this action while using an in-app purchase payment method." - }, - "manageSubscriptionFromStore": { - "message": "You must manage your subscription from the store where your in-app purchase was made." - }, - "minLength": { - "message": "Minimum Length" - }, - "clone": { - "message": "Clone" - }, - "masterPassPolicyDesc": { - "message": "Set minimum requirements for master password strength." - }, - "twoStepLoginPolicyDesc": { - "message": "Require users to set up two-step login on their personal accounts." - }, - "twoStepLoginPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and do not have two-step login enabled for their personal account will be removed from the organization and will receive an email notifying them about the change." - }, - "twoStepLoginPolicyUserWarning": { - "message": "You are a member of an organization that requires two-step login to be enabled on your user account. If you disable all two-step login providers you will be automatically removed from these organizations." - }, - "passwordGeneratorPolicyDesc": { - "message": "Set minimum requirements for password generator configuration." - }, - "passwordGeneratorPolicyInEffect": { - "message": "One or more organization policies are affecting your generator settings." - }, - "masterPasswordPolicyInEffect": { - "message": "One or more organization policies require your master password to meet the following requirements:" - }, - "policyInEffectMinComplexity": { - "message": "Minimum complexity score of $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Minimum length of $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Contain one or more uppercase characters" - }, - "policyInEffectLowercase": { - "message": "Contain one or more lowercase characters" - }, - "policyInEffectNumbers": { - "message": "Contain one or more numbers" - }, - "policyInEffectSpecial": { - "message": "Contain one or more of the following special characters $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Your new master password does not meet the policy requirements." - }, - "minimumNumberOfWords": { - "message": "Minimum Number of Words" - }, - "defaultType": { - "message": "Default Type" - }, - "userPreference": { - "message": "User Preference" - }, - "vaultTimeoutAction": { - "message": "Vault Timeout Action" - }, - "vaultTimeoutActionLockDesc": { - "message": "A locked vault requires that you re-enter your master password to access it again." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "A logged out vault requires that you re-authenticate to access it again." - }, - "lock": { - "message": "Lock", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Trash", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Search Trash" - }, - "permanentlyDelete": { - "message": "Permanently Delete" - }, - "permanentlyDeleteSelected": { - "message": "Permanently Delete Selected" - }, - "permanentlyDeleteItem": { - "message": "Permanently Delete Item" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Are you sure you want to permanently delete this item?" - }, - "permanentlyDeletedItem": { - "message": "Permanently Deleted item" - }, - "permanentlyDeletedItems": { - "message": "Permanently Deleted items" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to permanently delete. Are you sure you want to permanently delete all of these items?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Permanently Deleted item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Restore" - }, - "restoreSelected": { - "message": "Restore Selected" - }, - "restoreItem": { - "message": "Restore Item" - }, - "restoredItem": { - "message": "Restored Item" - }, - "restoredItems": { - "message": "Restored Items" - }, - "restoreItemConfirmation": { - "message": "Are you sure you want to restore this item?" - }, - "restoreItems": { - "message": "Restore items" - }, - "restoreSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to restore. Are you sure you want to restore all of these items?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Restored item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Logging out will remove all access to your vault and requires online authentication after the timeout period. Are you sure you want to use this setting?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Timeout Action Confirmation" - }, - "hidePasswords": { - "message": "Hide Passwords" - }, - "countryPostalCodeRequiredDesc": { - "message": "We require this information for calculating sales tax and financial reporting only." - }, - "includeVAT": { - "message": "Include VAT/GST Information (optional)" - }, - "taxIdNumber": { - "message": "VAT/GST Tax ID" - }, - "taxInfoUpdated": { - "message": "Tax information updated." - }, - "setMasterPassword": { - "message": "Set Master Password" - }, - "ssoCompleteRegistration": { - "message": "In order to complete logging in with SSO, please set a master password to access and protect your vault." - }, - "identifier": { - "message": "Identifier" - }, - "organizationIdentifier": { - "message": "Organization Identifier" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Log in using your organization's single sign-on portal. Please enter your organization's identifier to begin." - }, - "enterpriseSingleSignOn": { - "message": "Enterprise Single Sign-On" - }, - "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." - }, - "businessPortal": { - "message": "Business Portal", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "All Teams features, plus:" - }, - "includeSsoAuthentication": { - "message": "SSO Authentication via SAML2.0 and OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Enterprise Policies" - }, - "ssoValidationFailed": { - "message": "SSO Validation Failed" - }, - "ssoIdentifierRequired": { - "message": "Organization Identifier is required." - }, - "unlinkSso": { - "message": "Unlink SSO" - }, - "linkSso": { - "message": "Link SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "Policy configuration has been moved, and this page will soon be deprecated. Please click below to use the Business Portal policies page instead." - }, - "singleOrg": { - "message": "Single Organization" - }, - "singleOrgDesc": { - "message": "Restrict users from being able to join any other organizations." - }, - "singleOrgBlockCreateMessage": { - "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." - }, - "singleOrgPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and are already a member of another organization will be removed from your organization." - }, - "requireSso": { - "message": "Single Sign-On Authentication" - }, - "requireSsoPolicyDesc": { - "message": "Require users to log in with the Enterprise Single Sign-On method." - }, - "prerequisite": { - "message": "Prerequisite" - }, - "requireSsoPolicyReq": { - "message": "The Single Organization enterprise policy must be enabled before activating this policy." - }, - "requireSsoPolicyReqError": { - "message": "Single Organization policy not enabled." - }, - "requireSsoExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "sendTypeFile": { - "message": "File" - }, - "sendTypeText": { - "message": "Text" - }, - "createSend": { - "message": "Create New Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Edit Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Created Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Edited Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Deleted Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Delete Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Are you sure you want to delete this Send?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "What type of Send is this?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Deletion Date" - }, - "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Expiration Date" - }, - "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Maximum Access Count" - }, - "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Current Access Count" - }, - "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Private notes about this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Disabled" - }, - "sendLink": { - "message": "Send Link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Copy Send Link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Remove Password" - }, - "removedPassword": { - "message": "Removed Password" - }, - "removePasswordConfirmation": { - "message": "Are you sure you want to remove the password?" - }, - "disableThisSend": { - "message": "Disable this Send so that no one can access it.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "All Sends" - }, - "maxAccessCountReached": { - "message": "Max access count reached" - }, - "pendingDeletion": { - "message": "Pending deletion" - }, - "expired": { - "message": "Expired" - }, - "searchSends": { - "message": "Search Sends", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "This Send is protected with a password. Please type the password below to continue.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Don't know the password? Ask the Sender for the password needed to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "This send is hidden by default. You can toggle its visibility using the button below.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Download File" - }, - "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "There are no Sends to list.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Emergency Access" - }, - "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." - }, - "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" - }, - "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." - }, - "addEmergencyContact": { - "message": "Add emergency contact" - }, - "designatedEmergencyContacts": { - "message": "Designated as emergency contact" - }, - "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." - }, - "inviteEmergencyContact": { - "message": "Invite emergency contact" - }, - "editEmergencyContact": { - "message": "Edit emergency contact" - }, - "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" - }, - "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" - }, - "viewDesc": { - "message": "Can view all items in your own vault." - }, - "takeover": { - "message": "Takeover" - }, - "takeoverDesc": { - "message": "Can reset your account with a new master password." - }, - "waitTime": { - "message": "Wait Time" - }, - "waitTimeDesc": { - "message": "Time required before automatically granting access." - }, - "oneDay": { - "message": "1 day" - }, - "days": { - "message": "$DAYS$ days", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Invited user." - }, - "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." - }, - "requestAccess": { - "message": "Request Access" - }, - "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Approve" - }, - "reject": { - "message": "Reject" - }, - "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Emergency access approved." - }, - "emergencyRejected": { - "message": "Emergency access rejected" - }, - "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Personal Ownership" - }, - "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." - }, - "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." - }, - "modifiedPolicyId": { - "message": "Modified policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Plan price" - }, - "estimatedTax": { - "message": "Estimated tax" - }, - "custom": { - "message": "Custom" - }, - "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." - }, - "permissions": { - "message": "Permissions" - }, - "accessBusinessPortal": { - "message": "Access Business Portal" - }, - "accessEventLogs": { - "message": "Access Event Logs" - }, - "accessImportExport": { - "message": "Access Import/Export" - }, - "accessReports": { - "message": "Access Reports" - }, - "manageAllCollections": { - "message": "Manage All Collections" - }, - "manageAssignedCollections": { - "message": "Manage Assigned Collections" - }, - "manageGroups": { - "message": "Manage Groups" - }, - "managePolicies": { - "message": "Manage Policies" - }, - "manageSso": { - "message": "Manage SSO" - }, - "manageUsers": { - "message": "Manage Users" - }, - "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." - }, - "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." - }, - "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" - }, - "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/sk/messages.json b/locales/sk/messages.json deleted file mode 100644 index 2380adbe..00000000 --- a/locales/sk/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$ webový trezor", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "Aký typ položky to je?" - }, - "name": { - "message": "Meno" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "Nové URI" - }, - "username": { - "message": "Používateľské meno" - }, - "password": { - "message": "Heslo" - }, - "newPassword": { - "message": "Nové heslo" - }, - "passphrase": { - "message": "Heslo" - }, - "notes": { - "message": "Poznámky" - }, - "customFields": { - "message": "Vlastné polia" - }, - "cardholderName": { - "message": "Meno vlastníka karty" - }, - "number": { - "message": "Číslo" - }, - "brand": { - "message": "Značka" - }, - "expiration": { - "message": "Exspirácia" - }, - "securityCode": { - "message": "Bezpečnostný kód (CVV)" - }, - "identityName": { - "message": "Názov identity" - }, - "company": { - "message": "Spoločnosť" - }, - "ssn": { - "message": "Číslo poistenca sociálnej poisťovne" - }, - "passportNumber": { - "message": "Číslo pasu" - }, - "licenseNumber": { - "message": "Číslo vodičského preukazu" - }, - "email": { - "message": "Email" - }, - "phone": { - "message": "Telefón" - }, - "january": { - "message": "Január" - }, - "february": { - "message": "Február" - }, - "march": { - "message": "Marec" - }, - "april": { - "message": "Apríl" - }, - "may": { - "message": "Máj" - }, - "june": { - "message": "Jún" - }, - "july": { - "message": "Júl" - }, - "august": { - "message": "August" - }, - "september": { - "message": "September" - }, - "october": { - "message": "Október" - }, - "november": { - "message": "November" - }, - "december": { - "message": "December" - }, - "title": { - "message": "Oslovenie" - }, - "mr": { - "message": "Pán" - }, - "mrs": { - "message": "Pani" - }, - "ms": { - "message": "Slečna" - }, - "dr": { - "message": "Dr" - }, - "expirationMonth": { - "message": "Mesiac exspirácie" - }, - "expirationYear": { - "message": "Rok exspirácie" - }, - "authenticatorKeyTotp": { - "message": "Kľúč overovateľa (TOTP)" - }, - "folder": { - "message": "Priečinok" - }, - "newCustomField": { - "message": "Nové vlastné pole" - }, - "value": { - "message": "Hodnota" - }, - "dragToSort": { - "message": "Zoradiť presúvaním" - }, - "cfTypeText": { - "message": "Text" - }, - "cfTypeHidden": { - "message": "Skryté" - }, - "cfTypeBoolean": { - "message": "Áno/Nie" - }, - "remove": { - "message": "Odstrániť" - }, - "unassigned": { - "message": "Nepriradené" - }, - "noneFolder": { - "message": "Žiadny priečinok", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Pridať priečinok" - }, - "editFolder": { - "message": "Upraviť priečinok" - }, - "baseDomain": { - "message": "Základná doména" - }, - "host": { - "message": "Hostiteľ", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Presný" - }, - "startsWith": { - "message": "Začína na" - }, - "regEx": { - "message": "Regulárny výraz", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Spôsob mapovania", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Predvolené mapovanie", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Nikdy" - }, - "toggleVisibility": { - "message": "Prepnúť viditeľnosť" - }, - "toggleCollapse": { - "message": "Prepnúť zloženie", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Generovať heslo" - }, - "checkPassword": { - "message": "Overiť či došlo k úniku hesla." - }, - "passwordExposed": { - "message": "Toto heslo uniklo $VALUE$ krát v dátových únikoch. Mali by ste ho zmeniť.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "Heslo nebolo nájdene v žiadnom úniku dát. Malo by byť bezpečné." - }, - "save": { - "message": "Uložiť" - }, - "cancel": { - "message": "Zrušiť" - }, - "canceled": { - "message": "Zrušené" - }, - "close": { - "message": "Zavrieť" - }, - "delete": { - "message": "Odstrániť" - }, - "favorite": { - "message": "Obľúbené" - }, - "unfavorite": { - "message": "Odstrániť z obľúbených" - }, - "edit": { - "message": "Upraviť" - }, - "searchCollection": { - "message": "Hľadať v zbierke" - }, - "searchFolder": { - "message": "Prehľadávať priečinok" - }, - "searchFavorites": { - "message": "Hľadať v obľúbených" - }, - "searchType": { - "message": "Typ vyhľadávania", - "description": "Search item type" - }, - "searchVault": { - "message": "Prehľadávať trezor" - }, - "allItems": { - "message": "Všetky položky" - }, - "favorites": { - "message": "Obľúbené" - }, - "types": { - "message": "Typy" - }, - "typeLogin": { - "message": "Prihlásenie" - }, - "typeCard": { - "message": "Karta" - }, - "typeIdentity": { - "message": "Identita" - }, - "typeSecureNote": { - "message": "Zabezpečená poznámka" - }, - "folders": { - "message": "Priečinky" - }, - "collections": { - "message": "Zbierky" - }, - "firstName": { - "message": "Krstné meno" - }, - "middleName": { - "message": "Druhé meno" - }, - "lastName": { - "message": "Priezvisko" - }, - "address1": { - "message": "Adresa 1" - }, - "address2": { - "message": "Adresa 2" - }, - "address3": { - "message": "Adresa 3" - }, - "cityTown": { - "message": "Mesto" - }, - "stateProvince": { - "message": "Región" - }, - "zipPostalCode": { - "message": "PSČ" - }, - "country": { - "message": "Krajina" - }, - "shared": { - "message": "Zdieľané" - }, - "attachments": { - "message": "Prílohy" - }, - "select": { - "message": "Vybrať" - }, - "addItem": { - "message": "Pridať položku" - }, - "editItem": { - "message": "Upraviť položku" - }, - "viewItem": { - "message": "View Item" - }, - "ex": { - "message": "napr.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Ostatné" - }, - "share": { - "message": "Zdieľať" - }, - "valueCopied": { - "message": "$VALUE$ skopírované", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Kopírovať hodnotu", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Kopírovať heslo", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Kopírovať používateľské meno", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Kopírovať číslo", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Kopírovať bezpečnostný kód", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Kopírovať URI", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "Môj trezor" - }, - "vault": { - "message": "Trezor" - }, - "shareSelected": { - "message": "Zdieľať vybrané" - }, - "deleteSelected": { - "message": "Odstrániť vybrané" - }, - "moveSelected": { - "message": "Presunúť vybraté" - }, - "selectAll": { - "message": "Vybrať Všetko" - }, - "unselectAll": { - "message": "Zrušiť výber" - }, - "launch": { - "message": "Spustiť" - }, - "newAttachment": { - "message": "Pridať novú prílohu" - }, - "deletedAttachment": { - "message": "Príloha odstránená" - }, - "deleteAttachmentConfirmation": { - "message": "Naozaj chcete odstrániť prílohu?" - }, - "attachmentSaved": { - "message": "Príloha bola uložená." - }, - "file": { - "message": "Súbor" - }, - "selectFile": { - "message": "Vybrať súbor." - }, - "maxFileSize": { - "message": "Maximálna veľkosť súboru je 100 MB." - }, - "updateKey": { - "message": "Túto funkciu nemožno použiť, kým neaktualizujete svoj šifrovací kľúč." - }, - "addedItem": { - "message": "Položka pridaná" - }, - "editedItem": { - "message": "Položka upravená" - }, - "sharedItem": { - "message": "Položka zdieľaná" - }, - "sharedItems": { - "message": "Položky zdieľané" - }, - "deleteItem": { - "message": "Odstrániť položku" - }, - "deleteFolder": { - "message": "Odstrániť priečinok" - }, - "deleteAttachment": { - "message": "Odstrániť prílohu" - }, - "deleteItemConfirmation": { - "message": "Naozaj chcete odstrániť túto položku?" - }, - "deletedItem": { - "message": "Položka odstránená" - }, - "deletedItems": { - "message": "Položky odstránené" - }, - "movedItems": { - "message": "Položky presunuté" - }, - "overwritePasswordConfirmation": { - "message": "Naozaj chcete prepísať aktuálne heslo?" - }, - "editedFolder": { - "message": "Priečinok upravený" - }, - "addedFolder": { - "message": "Priečinok pridaný" - }, - "deleteFolderConfirmation": { - "message": "Naozaj chcete odstrániť tento priečinok?" - }, - "deletedFolder": { - "message": "Priečinok odstránený" - }, - "loggedOut": { - "message": "Odhlásený" - }, - "loginExpired": { - "message": "Platnosť prihlásenia vypršala." - }, - "logOutConfirmation": { - "message": "Naozaj sa chcete odhlásiť?" - }, - "logOut": { - "message": "Odhlásiť sa" - }, - "ok": { - "message": "Potvrdiť" - }, - "yes": { - "message": "Áno" - }, - "no": { - "message": "Nie" - }, - "loginOrCreateNewAccount": { - "message": "Prihláste sa, alebo vytvorte nový účet pre prístup k vášmu bezpečnému trezoru." - }, - "createAccount": { - "message": "Vytvoriť účet" - }, - "logIn": { - "message": "Prihlásiť sa" - }, - "submit": { - "message": "Potvrdiť" - }, - "emailAddressDesc": { - "message": "Použite e-mailovú adresu na prihlásenie." - }, - "yourName": { - "message": "Vaše Meno" - }, - "yourNameDesc": { - "message": "Ako by sme Vás mali volať?" - }, - "masterPass": { - "message": "Hlavné heslo" - }, - "masterPassDesc": { - "message": "Hlavné heslo je heslo, ktoré použijete na prístup k svojmu trezoru. Je veľmi dôležité, aby ste svoje hlavné heslo nezabudli. Neexistuje možnosť, ako heslo obnoviť v prípade, že ho zabudnete." - }, - "masterPassHintDesc": { - "message": "Nápoveď k hlavnému heslu vám môže pomôcť spomenúť si na heslo, ak ho zabudnete." - }, - "reTypeMasterPass": { - "message": "Znovu zadajte hlavné heslo" - }, - "masterPassHint": { - "message": "Nápoveď k hlavnému heslo (voliteľné)" - }, - "masterPassHintLabel": { - "message": "Nápoveď pre hlavné heslo" - }, - "settings": { - "message": "Nastavenia" - }, - "passwordHint": { - "message": "Nápoveď k heslu" - }, - "enterEmailToGetHint": { - "message": "Zadajte emailovú adresu na zaslanie nápovede pre vaše hlavné heslo." - }, - "getMasterPasswordHint": { - "message": "Získať nápoveď k hlavnému heslu" - }, - "emailRequired": { - "message": "Emailová adresa je povinná." - }, - "invalidEmail": { - "message": "Neplatná emailová adresa." - }, - "masterPassRequired": { - "message": "Hlavné heslo je povinné." - }, - "masterPassLength": { - "message": "Hlavné heslo musí obsahovať aspoň 8 znakov." - }, - "masterPassDoesntMatch": { - "message": "Potvrdenie hlavného hesla sa nezhoduje." - }, - "newAccountCreated": { - "message": "Váš nový účet bol vytvorený! Teraz sa môžete prihlásiť." - }, - "masterPassSent": { - "message": "Poslali sme vám email s nápoveďou k hlavnému heslu." - }, - "unexpectedError": { - "message": "Vyskytla sa neočakávaná chyba." - }, - "emailAddress": { - "message": "Emailová adresa" - }, - "yourVaultIsLocked": { - "message": "Váš trezor je uzamknutý. Overte sa hlavným heslom ak chcete pokračovať." - }, - "unlock": { - "message": "Odomknúť" - }, - "loggedInAsEmailOn": { - "message": "Prihlásený ako $EMAIL$ na $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Neplatné hlavné heslo" - }, - "lockNow": { - "message": "Uzamknúť teraz" - }, - "noItemsInList": { - "message": "Neexistujú žiadne položky na zobrazenie." - }, - "noCollectionsInList": { - "message": "Neexistujú žiadne zbierky na zobrazenie." - }, - "noGroupsInList": { - "message": "Neexistujú žiadne skupiny na zobrazenie." - }, - "noUsersInList": { - "message": "Neexistujú žiadni používatelia na zobrazenie." - }, - "noEventsInList": { - "message": "Neexistujú žiadne udalosti na zobrazenie." - }, - "newOrganization": { - "message": "Nová organizácia" - }, - "noOrganizationsList": { - "message": "Nie ste členom žiadnej organizácie. Organizácie umožňujú bezpečne zdieľať položky s ostatnými používateľmi." - }, - "versionNumber": { - "message": "Verzia $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Zadajte 6-miestny verifikačný kód z vašej overovacej aplikácie." - }, - "enterVerificationCodeEmail": { - "message": "Zadajte 6-miestny verifikačný kód, ktorý bol zaslaný emailom na $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "Overovací e-mail odoslaný na $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Zapamätaj si ma" - }, - "sendVerificationCodeEmailAgain": { - "message": "Znovu zaslať overovací kód emailom" - }, - "useAnotherTwoStepMethod": { - "message": "Použiť inú dvojstupňovú metódu prihlásenia" - }, - "insertYubiKey": { - "message": "Vložte váš YubiKey do USB portu počítača a stlačte jeho tlačidlo." - }, - "insertU2f": { - "message": "Vložte váš bezpečnostný kľúč do USB portu počítača. Ak má tlačidlo, stlačte ho." - }, - "loginUnavailable": { - "message": "Prihlásenie nedostupné" - }, - "noTwoStepProviders": { - "message": "Tento účet má povolené dvojstupňové prihlásenie, ale žiadny z nakonfigurovaných poskytovateľov nie je podporovaný týmto prehliadačom." - }, - "noTwoStepProviders2": { - "message": "Prosím, použite podporovaný prehliadač (napríklad Chrome) a/alebo pridajte iných poskytovateľov, ktorí sú lepšie podporovaní prehliadačmi (ako napríklad overovacia aplikácia)." - }, - "twoStepOptions": { - "message": "Možnosti dvojstupňového prihlásenia" - }, - "recoveryCodeDesc": { - "message": "Stratili ste prístup ku všetkým vašim dvojstupňovým poskytovateľom? Použite váš záchranný kód pre vypnutie všetkých poskytovateľov vo vašom účte." - }, - "recoveryCodeTitle": { - "message": "Záchranný kód" - }, - "authenticatorAppTitle": { - "message": "Overovacia aplikácia" - }, - "authenticatorAppDesc": { - "message": "Použite overovaciu aplikáciu (napríklad Authy alebo Google Authenticator) na generovanie časovo obmedzených overovacích kódov.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "YubiKey OTP bezpečnostný kľúč" - }, - "yubiKeyDesc": { - "message": "Použiť YubiKey pre prístup k vášmu účtu. Pracuje s YubiKey 4, 4 Nano, 4C a s NEO zariadeniami." - }, - "duoDesc": { - "message": "Overiť s Duo Security použitím Duo Mobile aplikácie, SMS, telefonátu alebo U2F bezpečnostným kľúčom.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Overiť s Duo Security vašej organizácie použitím Duo Mobile aplikácie, SMS, telefonátu alebo U2F bezpečnostným kľúčom.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Použiť akýkoľvek FIDO U2F bezpečnostný kľúč pre prístup k vášmu účtu." - }, - "u2fTitle": { - "message": "FIDO U2F bezpečnostný kľúč" - }, - "emailTitle": { - "message": "Email" - }, - "emailDesc": { - "message": "Verifikačné kódy vám budú zaslané emailom." - }, - "continue": { - "message": "Ďalej" - }, - "organization": { - "message": "Organizácia" - }, - "organizations": { - "message": "Organizácie" - }, - "shareDesc": { - "message": "Vyberte organizáciu s ktorou chcete zdieľať túto položku. Zdieľanie presunie vlastníctvo položky na organizáciu. Po zdieľaní už nebudete priamy vlastník položky." - }, - "shareManyDesc": { - "message": "Vyberte organizáciu s ktorou chcete zdieľať tieto položky. Zdieľanie presunie vlastníctvo položiek na organizáciu. Po zdieľaní už nebudete priamy vlastník položiek." - }, - "collectionsDesc": { - "message": "Upravte zbierky s ktorými bude táto položka zdieľaná. Iba členovia organizácie s prístupom k vybraným zbierkam budú vidieť túto položku." - }, - "deleteSelectedItemsDesc": { - "message": "Vybrali ste $COUNT$ položiek na vymazanie. Ste si istý, že chcete vymazať všetky tieto položky?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Vyberte priečinok do ktorého chcete presunúť $COUNT$ vybraných položiek.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "Vybrali ste $COUNT$ položiek. $SHAREABLE_COUNT$ sa dá zdieľať, $NONSHAREABLE_COUNT$ sa nedá zdieľať.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Overovací kód (TOTP)" - }, - "copyVerificationCode": { - "message": "Kopírovať overovací kód" - }, - "warning": { - "message": "Upozornenie" - }, - "confirmVaultExport": { - "message": "Confirm Vault Export" - }, - "exportWarningDesc": { - "message": "Tento export obsahuje vaše dáta v nešifrovanom formáte. Nemali by ste ich ukladať, ani posielať cez nezabezpečené kanály (napr. email). Okamžite ho odstráňte, keď ho prestanete používať." - }, - "encExportWarningDesc": { - "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." - }, - "exportMasterPassword": { - "message": "Zadajte vaše hlavné heslo pre export údajov trezoru." - }, - "exportVault": { - "message": "Export trezoru" - }, - "fileFormat": { - "message": "Formát Súboru" - }, - "exportSuccess": { - "message": "Dáta z vášho trezora boli exportované." - }, - "passwordGenerator": { - "message": "Generátor hesla" - }, - "minComplexityScore": { - "message": "Minimálna úroveň zložitosti" - }, - "minNumbers": { - "message": "Minimum číslic" - }, - "minSpecial": { - "message": "Minimum špec. znakov", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Vyhnúť sa zameniteľným znakom" - }, - "regeneratePassword": { - "message": "Vygenerovať nové heslo" - }, - "length": { - "message": "Dĺžka" - }, - "numWords": { - "message": "Počet slov" - }, - "wordSeparator": { - "message": "Oddeľovač slov" - }, - "capitalize": { - "message": "Prvé písmeno veľkým", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Zahrnúť číslo" - }, - "passwordHistory": { - "message": "História hesla" - }, - "noPasswordsInList": { - "message": "Neboli nájdené žiadne heslá." - }, - "clear": { - "message": "Vyčistiť", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Účet bol Aktualizovaný" - }, - "changeEmail": { - "message": "Zmeniť email" - }, - "newEmail": { - "message": "Nový e-mail" - }, - "code": { - "message": "Kód" - }, - "changeEmailDesc": { - "message": "Zaslali sme overovací kód na $EMAIL$. Prosím skontrolujte vašu schránku a zadajte zaslaný kód nižšie pre potvrdenie zmeny vašej e-mailovej adresy.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Ak budete pokračovať, budete odhlásený a budete sa musieť opäť prihlásiť. Aktívne sedenia na iných zariadeniach môžu byť aktívne ešte hodinu." - }, - "emailChanged": { - "message": "E-mail bol zmenený" - }, - "logBackIn": { - "message": "Prosím, opäť sa prihláste." - }, - "logBackInOthersToo": { - "message": "Prosím odhláste sa. Ak používate iné Bitwarden aplikácie, odhláste sa a opäť sa prihláste aj v nich." - }, - "changeMasterPassword": { - "message": "Zmeniť hlavné heslo" - }, - "masterPasswordChanged": { - "message": "Hlavné heslo zmenené" - }, - "currentMasterPass": { - "message": "Súčasné hlavné heslo" - }, - "newMasterPass": { - "message": "Nové hlavné heslo" - }, - "confirmNewMasterPass": { - "message": "Potvrďte nové hlavné heslo" - }, - "encKeySettings": { - "message": "Nastavenia šifrovacieho kľúča" - }, - "kdfAlgorithm": { - "message": "KDF algoritmus" - }, - "kdfIterations": { - "message": "KDF iterácií" - }, - "kdfIterationsDesc": { - "message": "Vyšší počet iterácií KDF môže pomôcť chrániť vaše hlavné heslo pri brute force útoku. Odporúčame hodnotu $VALUE$ alebo viac.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Ak nastavíte KDF iterácie príliš vysoko, môže to viesť k zníženému výkonu pri prihlasovaní do Bitwardenu (a pri jeho odomykaní) na zariadeniach s pomalšimi procesormi. Odporúčame navyšovať túto hodnotu po $INCREMENT$ inkrementoch a následne otestovať na všetkých vašich zariadeniach.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Zmeniť KDF" - }, - "encKeySettingsChanged": { - "message": "Nastavenia šifrovacieho kľúča zmenené" - }, - "dangerZone": { - "message": "Riziková zóna" - }, - "dangerZoneDesc": { - "message": "Opatrne, tieto zmeny nemožno vrátiť späť!" - }, - "deauthorizeSessions": { - "message": "Odhlásiť sedenia" - }, - "deauthorizeSessionsDesc": { - "message": "Obávate sa, že vaše konto ostalo prihlásené na inom zariadení? Pokračujte nižšie a odhláste sedenia na všetkých počítačoch a zariadeniach, ktoré ste predtým použili. Tento krok je odporúčaný ak ste použili verejný počítač, alebo omylom uložili heslo na zariadení ktoré nie je vaše. Tento krok zmaže aj všetky dvojstupňové prihlásenia ktoré ste predtým použili." - }, - "deauthorizeSessionsWarning": { - "message": "Ak budete pokračovať, budete tiež odhlásený z vášho súčasného sedenia a budete sa musieť opäť prihlásiť. Tiež budete opäť požiadaný o dvojstupňové prihlásenie ak ho máte zapnuté. Aktívne sedenia na iných zariadeniach môžu ostať aktívne až po dobu jednej hodiny." - }, - "sessionsDeauthorized": { - "message": "Všetky sedenia odhlásené" - }, - "purgeVault": { - "message": "Vyprázdniť trezor" - }, - "purgedOrganizationVault": { - "message": "Trezor organizácie bol vyprázdnený." - }, - "purgeVaultDesc": { - "message": "Pokračujte ďalej ak chcete odstrániť všetky položky a priečinky vo vašom trezore. Položky, ktoré ste zdieľali a patria k organizácii sa neodstránia." - }, - "purgeOrgVaultDesc": { - "message": "Pokračujte ďalej ak chcete odstrániť všetky položky v trezore organizácie." - }, - "purgeVaultWarning": { - "message": "Vyprázdnenie trezoru je trvalé. Operáciu nie je možné vrátiť späť." - }, - "vaultPurged": { - "message": "Dáta z vášho trezora boli vymazané." - }, - "deleteAccount": { - "message": "Odstrániť účet" - }, - "deleteAccountDesc": { - "message": "Pokračujte, ak chcete odstrániť konto a všetky súvisiace dáta." - }, - "deleteAccountWarning": { - "message": "Odstránenie účtu je trvalé. Operáciu nie je možné vrátiť späť." - }, - "accountDeleted": { - "message": "Účet bol odstránený" - }, - "accountDeletedDesc": { - "message": "Váš účet bol uzavretý a všetky súvisiace dáta vymazané." - }, - "myAccount": { - "message": "Môj účet" - }, - "tools": { - "message": "Nástroje" - }, - "importData": { - "message": "Import dát" - }, - "importSuccess": { - "message": "Dáta boli úspešne importované do trezora." - }, - "importFormatError": { - "message": "Dáta nie sú správne formátované. Prosím overte importovaný súbor a skúste znova." - }, - "importNothingError": { - "message": "Nič na importovanie." - }, - "selectFormat": { - "message": "Vyberte formát súboru importu" - }, - "selectImportFile": { - "message": "Vybrať súbor na import" - }, - "orCopyPasteFileContents": { - "message": "alebo kopírujte/vložte obsah súboru" - }, - "instructionsFor": { - "message": "$NAME$ pokyny", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Možnosti" - }, - "optionsDesc": { - "message": "Prispôsobte si svoj webový trezor." - }, - "optionsUpdated": { - "message": "Nastavenia aktualizované" - }, - "language": { - "message": "Jazyk" - }, - "languageDesc": { - "message": "Zmeňte východzí jazyk pre webový trezor." - }, - "disableIcons": { - "message": "Nezobrazovať ikony stránok" - }, - "disableIconsDesc": { - "message": "Ikony stránok poskytujú rozoznateľný obrázok vedľa každého prihlasovacieho údaju vo webovom trezore." - }, - "enableGravatars": { - "message": "Povoliť Gravatar", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Použiť avatar obrázky načítané z gravatar.com." - }, - "enableFullWidth": { - "message": "Zapnúť vzhľad na celú šírku strany", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Povoliť webovému trezoru roztiahnúť sa na celú šírku okna." - }, - "default": { - "message": "Predvolené" - }, - "domainRules": { - "message": "Pravidlá pre domény" - }, - "domainRulesDesc": { - "message": "Ak máte rovnaké prihlasovacie údaje naprieč rôznymi doménami, môžete stránky označiť ako \"ekvivalentné\". \"Globálne\" domény sú tie, ktoré pre vás vopred nastavil Bitwarden." - }, - "globalEqDomains": { - "message": "Globálne Ekvivalentné Domény" - }, - "customEqDomains": { - "message": "Vlastné Ekvivalentné Domény" - }, - "exclude": { - "message": "Vylúčiť" - }, - "include": { - "message": "Vrátane" - }, - "customize": { - "message": "Prispôsobiť" - }, - "newCustomDomain": { - "message": "Vlastná doména" - }, - "newCustomDomainDesc": { - "message": "Zadajte zoznam domén oddelených čiarkou. Povolené sú iba \"základné\" domény. Nezadávajte subdomény. Napríklad zadajte \"google.com\" namiesto \"www.google.com\". Môžete tiež zadať \"androidapp://package.name\" ak chcete priradiť Android aplikáciu k iným doménam." - }, - "customDomainX": { - "message": "Vlastná doména $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Domény boli aktualizované" - }, - "twoStepLogin": { - "message": "Dvojstupňové prihlásenie" - }, - "twoStepLoginDesc": { - "message": "Zabezpečte svoj účet požadovaním ďalšieho kroku pri prihlasovaní." - }, - "twoStepLoginOrganizationDesc": { - "message": "Vynúťte dvojstupňové prihlásenie pre členov organizácie nastavením poskytovateľov na úrovni organizácie." - }, - "twoStepLoginRecoveryWarning": { - "message": "Zapnutie dvojstupňového prihlásenia vás môže natrvalo vymknúť z vášho Bitwarden účtu. Záchranný kód umožňuje prístup k vášmu kontu v prípade že už nemôžete použiť svoj normálny dvojstupňový spôsob overenia. (napríklad ak stratíte zariadenie) Zákaznícka podpora nebude schopná pomôcť vám ak stratíte prístup k účtu. Preto vám odporúčame zapísať si, alebo si vytlačiť záchranný kód a uložiť ho na bezpečnom mieste." - }, - "viewRecoveryCode": { - "message": "Zobraziť záchranný kód" - }, - "providers": { - "message": "Poskytovatelia", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Povoliť" - }, - "enabled": { - "message": "Povolené" - }, - "premium": { - "message": "Prémium", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Prémiové členstvo" - }, - "premiumRequired": { - "message": "Vyžaduje prémiový účet" - }, - "premiumRequiredDesc": { - "message": "Pre použitie tejto funkcie je potrebné prémiové členstvo." - }, - "youHavePremiumAccess": { - "message": "Máte premium prístup" - }, - "alreadyPremiumFromOrg": { - "message": "Už máte prístup k prémiovým funkciám vďaka organizácii ktorej ste členom." - }, - "manage": { - "message": "Spravovať" - }, - "disable": { - "message": "Vypnúť" - }, - "twoStepLoginProviderEnabled": { - "message": "Tento poskytovateľ overenia je povolený pre váš účet." - }, - "twoStepLoginAuthDesc": { - "message": "Zadajte vaše hlavné heslo ak chcete zmeniť nastavenia dvojstupňového prihlásenia." - }, - "twoStepAuthenticatorDesc": { - "message": "Nasledujte tieto kroky ak chcete nastaviť dvojstupňové prihlásenie s autentifikačnou aplikáciou:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Stiahnite si autentifikačnú aplikáciu" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Potrebujete dvojstupňovú autentifikačnú aplikáciu? Stiahnite si následujúcu" - }, - "iosDevices": { - "message": "Zariadenia so systémom iOS" - }, - "androidDevices": { - "message": "Android zariadenia" - }, - "windowsDevices": { - "message": "Zariadenia so systémom Windows" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "Odporúčame použiť tieto aplikácie, avšak aj iné autentifikačné aplikácie by mali fungovať." - }, - "twoStepAuthenticatorScanCode": { - "message": "Oskenujte QR kód s vašou autentifikačnou aplikáciou" - }, - "key": { - "message": "Kľúč" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Zadajte výsledný 6 miestny overovací kód z aplikácie" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "AK chcete pridať účet do ďalšieho zariadenia, nižšie je QR kód (alebo kľúč) ktorý požaduje vaša autentifikačná aplikácia." - }, - "twoStepDisableDesc": { - "message": "Naozaj chcete zakázať tohto poskytovateľa dvojstupňového prihlásenia?" - }, - "twoStepDisabled": { - "message": "Poskytovateľ dvojstupňového prihlásenia zakázaný." - }, - "twoFactorYubikeyAdd": { - "message": "Do svojho účtu pridať nový YubiKey" - }, - "twoFactorYubikeyPlugIn": { - "message": "Zapojte YubiKey do USB portu počítača." - }, - "twoFactorYubikeySelectKey": { - "message": "Nižšie zvoľte prvé voľné pole na vašom YubiKey." - }, - "twoFactorYubikeyTouchButton": { - "message": "Stlačte YubiKey tlačidlo." - }, - "twoFactorYubikeySaveForm": { - "message": "Ulož formulár." - }, - "twoFactorYubikeyWarning": { - "message": "Vzhľadom na obmedzenia platform, YubiKey nemôže byť použitý vo všetkých Bitwarden aplikáciách. Mali by ste povoliť inú formu dvojitého overenia, aby ste sa mohli prihlásiť k svojmu účtu ak nie je možné použiť YubiKey. Podporované platformy:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Webový trezor, desktopová aplikácia, CLI aplikácia a všetky rozšírenia pre browser na zariadení s USB portom akceptujúcim váš YubiKey." - }, - "twoFactorYubikeySupportMobile": { - "message": "Mobilné aplikácie na zariadení s NFC alebo USB portom, ktoré akceptuje váš YubiKey." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "U2F kľúč $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "Podpora NFC" - }, - "twoFactorYubikeySupportsNfc": { - "message": "Jeden z mojich kľúčov podporuje NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "Ak jeden z vašich kľúčov podporuje NFC (napríklad YubiKey NEO), budete požiadaní o overenie na mobilných zariadeniach, kde bola detekovaná podpora NFC." - }, - "yubikeysUpdated": { - "message": "YubiKey kľúče aktualizované" - }, - "disableAllKeys": { - "message": "Zakázať všetky hardvérové kľúče" - }, - "twoFactorDuoDesc": { - "message": "Zadajte informácie pre Bitwarden z vášho DUO Admin panelu." - }, - "twoFactorDuoIntegrationKey": { - "message": "Integračný kľúč" - }, - "twoFactorDuoSecretKey": { - "message": "Tajný kľúč" - }, - "twoFactorDuoApiHostname": { - "message": "Adresa hostiteľa API" - }, - "twoFactorEmailDesc": { - "message": "Nasledujte tieto kroky ak chcete nastaviť dvojstupňové prihlásenie prostredníctvom e-mailu:" - }, - "twoFactorEmailEnterEmail": { - "message": "Zadajte e-mail, ktorý chcete použiť na prijatie overovacích kódov" - }, - "twoFactorEmailEnterCode": { - "message": "Zadajte výsledný 6 miestny overovací kód z e-mailu" - }, - "sendEmail": { - "message": "Odoslať email" - }, - "twoFactorU2fAdd": { - "message": "Pridajte FIDO U2F kľúč k vášmu účtu" - }, - "removeU2fConfirmation": { - "message": "Naozaj chcete odstrániť tento bezpečnostný kľúč?" - }, - "readKey": { - "message": "Načítať kľúč" - }, - "keyCompromised": { - "message": "Kľúč bol kompromitovaný." - }, - "twoFactorU2fGiveName": { - "message": "Zadajte názov pre bezpečnostný kľúč pre jeho ľahšiu identifikáciu." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Zasuňte bezpečnostný kľúč do USB portu na vašom počítači a kliknite na tlačidlo \"Načítať kľúč\"." - }, - "twoFactorU2fTouchButton": { - "message": "Ak má kľúč na sebe tlačidlo, stlačte ho." - }, - "twoFactorU2fSaveForm": { - "message": "Ulož formulár." - }, - "twoFactorU2fWarning": { - "message": "Vzhľadom na obmedzenia platform, FIDO U2F nemôže byť použitý vo všetkých Bitwarden aplikáciách. Mali by ste povoliť inú formu dvojitého overenia, aby ste sa mohli prihlásiť k svojmu účtu ak nie je možné použiť FIDO U2F. Podporované platformy:" - }, - "twoFactorU2fSupportWeb": { - "message": "Webový trezor a rozšírenia prehliadača na pracovnej stanici s prehliadačom podporujúcim U2F (Chrome, Opera, Vivaldi, alebo Firefox so zapnutou podporou FIDO U2F)." - }, - "twoFactorU2fWaiting": { - "message": "Čaká sa na stlačenie tlačidla na vašom kľúči" - }, - "twoFactorU2fClickSave": { - "message": "Kliknite na tlačidlo \"Uložiť\" pre povolenie bezpečnostného kľúča pre dvojstupňové prihlásenie." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "Problém pri čítaní bezpečnostného kľúča. Skúste to znova." - }, - "twoFactorRecoveryYourCode": { - "message": "Váš Bitwarden záchranný kód pre dvojstupňové overovanie" - }, - "twoFactorRecoveryNoCode": { - "message": "Zatiaľ ste nepovolili žiadneho poskytovateľa dvojstupňového overenia. Po tom, čo ste nejakého poskytovateľa povolili, môžete sa sem vrátiť pre získanie záchranného kódu." - }, - "printCode": { - "message": "Vytlačiť kód", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Reporty" - }, - "unsecuredWebsitesReport": { - "message": "Správa o nezabezpečených stránkach" - }, - "unsecuredWebsitesReportDesc": { - "message": "Používať nezabezpečené stránky s protokolom http:// môže byť nebezpečné. Ak to stránka umožňuje, mali by ste vždy používať protokol https:// aby bolo vaše pripojenie šifrované." - }, - "unsecuredWebsitesFound": { - "message": "Našli sa nezabezpečené stránky" - }, - "unsecuredWebsitesFoundDesc": { - "message": "Našli sme $COUNT$ položky vo vašom trezore s nezabezpečenými URI. Ak to stránka podporuje, môžete zmeniť schému URI na https://.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "Vo vašom trezore nemáte nezabezpečené URI." - }, - "inactive2faReport": { - "message": "Správa o neaktívnych 2FA" - }, - "inactive2faReportDesc": { - "message": "Dvojstupňové prihlásenie (2FA) je dôležité nastavenie ktoré vám pomôže zabezpečiť vaše kontá. Ak to stránka umožňuje, mali by ste 2FA použiť." - }, - "inactive2faFound": { - "message": "Našli sa prihlásenia bez dvojstupňového overenia" - }, - "inactive2faFoundDesc": { - "message": "Našli sme $COUNT$ stránok vo vašom trezore ktoré nie sú nastavené na použitie dvojstupňového overenia. (na základe údajov z 2fa.directory) Aby ste vylepšili zabezpečenie týchto účtov, mali by ste povoliť dvojstupňové prihlásenie.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "Vo vašom trezore sme nenašli účty bez dvojstupňového overenia." - }, - "instructions": { - "message": "Pokyny" - }, - "exposedPasswordsReport": { - "message": "Správa o uniknutých heslách" - }, - "exposedPasswordsReportDesc": { - "message": "Uniknuté heslá sú heslá ktoré boli odhalené v známych únikoch dát, alebo boli predávané hackermi na čiernom trhu." - }, - "exposedPasswordsFound": { - "message": "Našli sme uniknuté heslá" - }, - "exposedPasswordsFoundDesc": { - "message": "Našli sme $COUNT$ položiek vo vašom trezore ktoré používajú uniknuté heslá. Mali by ste ich zmeniť aby používali nové heslá.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "Žiadne položky vo vašom trezore nemajú heslá, ktoré boli vystavené v známych únikoch." - }, - "checkExposedPasswords": { - "message": "Overiť uniknuté heslá" - }, - "exposedXTimes": { - "message": "Uniklo $COUNT$ krát", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Správa o slabých heslách" - }, - "weakPasswordsReportDesc": { - "message": "Slabé heslá sa dajú ľahko uhádnuť alebo prelomiť nástrojmi. Generátor hesiel Bitwarden vám pomôže vytvoríť silné heslá." - }, - "weakPasswordsFound": { - "message": "Našli sa slabé heslá" - }, - "weakPasswordsFoundDesc": { - "message": "Našli sme $COUNT$ položiek vo vašom trezore, ktoré nepoužívajú silné heslá. Mali by ste ich aktualizovať a použiť silnejšie heslá.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "Žiadne položky vo vašom hesle nepoužívajú slabé heslá." - }, - "reusedPasswordsReport": { - "message": "Správa o viacnásobne použitých heslách" - }, - "reusedPasswordsReportDesc": { - "message": "Ak je stránka ktorú používate prelomená a používate to isté heslo aj inde, môže útočník získať prístup k viacerým vaším účtom. Mali by ste používať unikátne heslo pre každú stránku." - }, - "reusedPasswordsFound": { - "message": "Našli sa viacnásobne použité heslá" - }, - "reusedPasswordsFoundDesc": { - "message": "Vo vašom trezore sme našli $COUNT$ hesiel, ktoré sú použité na viacerých stránkach. Mali by ste ich zmeniť aby každá stránka mala unikátne heslo.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "Vo vašom trezore nie sú žiadne heslá ktoré sú používané na viacerých stránkach." - }, - "reusedXTimes": { - "message": "Použité $COUNT$ krát", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Report o úniku dát" - }, - "breachDesc": { - "message": "\"Únik\" je incident kde údaje zo stránky boli ilegálne odcudzené hackermi a následne zverejnené. Overte si typ dát ktoré boli zverejnené (emaily, heslá, čísla kariet, atď.) a adekvátne reagujte - napríklad si zmeňte heslo." - }, - "breachCheckUsernameEmail": { - "message": "Overte všetky emaily alebo použivateľské mená, ktoré používate." - }, - "checkBreaches": { - "message": "Overte úniky" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ nebolo nájdené v Žiadnom zo známych únikov.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Dobré správy", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ bolo nájdene v $COUNT$ únikoch online.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Nájdené zverejnené kontá" - }, - "compromisedData": { - "message": "Kompromitované údaje" - }, - "website": { - "message": "Webstránka" - }, - "affectedUsers": { - "message": "Postihnutí používatelia" - }, - "breachOccurred": { - "message": "K úniku došlo" - }, - "breachReported": { - "message": "Nahlásený únik informácii" - }, - "reportError": { - "message": "Chyba pri načítavaní reportu, skúste znova" - }, - "billing": { - "message": "Fakturácia" - }, - "accountCredit": { - "message": "Kredit na konte", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Zostatok na účte", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Pridať kredit", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Čiastka", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Pridaný kredit sa zobrazí na vašom účte po tom ako je platba plne spracovaná. Spracovanie niektorých spôsobov platby je pomalšie a môže trvať dlhšie." - }, - "makeSureEnoughCredit": { - "message": "Prosím uistite sa, že váš účet má k dispozícii dostatok kreditu pre tento nákup. Ak konto nemá k dispozícii dostatok kreditu, rozdiel sa zaplatí vašou predvolenou platobnou metódou. Kredit si môžete pridať na stránke fakturácie." - }, - "creditAppliedDesc": { - "message": "Kredit na vašom účte sa dá použiť na nákupy. Akýkoľvek dostupný kredit bude automaticky použitý na zaplatenie faktúr pre tento účet." - }, - "goPremium": { - "message": "Prejsť na Premium", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "Povýšili ste na prémium." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Povýšte svoj účet na prémium a odomknite skvelé extra funkcie." - }, - "premiumSignUpStorage": { - "message": "1 GB šifrovaného úložiska pre prílohy." - }, - "premiumSignUpTwoStep": { - "message": "Ďalšie možnosti dvojstupňového prihlásenia ako YubiKey, FIDO U2F a Duo." - }, - "premiumSignUpReports": { - "message": "Správy o sile hesla, zabezpečení účtov a únikoch dát ktoré vám pomôžu udržať vaše kontá v bezpečí." - }, - "premiumSignUpTotp": { - "message": "Generátor TOTP verifikačného kódu (2FA) pre kontá vo vašom trezore." - }, - "premiumSignUpSupport": { - "message": "Prioritná zákaznícka podpora." - }, - "premiumSignUpFuture": { - "message": "Všetky budúce prémiové funkcie. Viac už čoskoro!" - }, - "premiumPrice": { - "message": "Všetko len za $PRICE$ /rok!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Doplnky" - }, - "premiumAccess": { - "message": "Prémium prístup" - }, - "premiumAccessDesc": { - "message": "Môžete pridať prémium prístup všetkým členom organizácie za $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Dodatočné úložisko (GB)" - }, - "additionalStorageGbDesc": { - "message": "množstvo dodatočných GB" - }, - "additionalStorageIntervalDesc": { - "message": "Váš plán zahŕňa $SIZE$ šifrovaného úložiska. Môžete si dokúpiť dodatočné miesto za $PRICE$/GB / $INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Súhrn" - }, - "total": { - "message": "Celkom" - }, - "year": { - "message": "rok" - }, - "month": { - "message": "mesiac" - }, - "monthAbbr": { - "message": "mes.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Prostredníctvom vašej platobnej metódy bude okamžite zaplatená suma za tento rok a následne sa nastaví automatická ročná platba. Platbu môžete kedykoľvek zrušiť." - }, - "paymentCharged": { - "message": "Prostredníctvom vašej platobnej metódy bude okamžite zaplatená suma za toto obdobie a následne sa nastaví automatická $INTERVAL$ platba. Platbu môžete kedykoľvek zrušiť.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Váš plán ponúka 7-dňovú skúšobnú dobu zadarmo. Z vašej karty nebude stiahnutý poplatok, kým sa neskončí skúšobná doba. Následne sa platba vykoná každý $INTERVAL$. Plán môžete kedykoľvek zrušiť.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Informácie o platbe" - }, - "billingInformation": { - "message": "Billing Information" - }, - "creditCard": { - "message": "Kreditná Karta" - }, - "paypalClickSubmit": { - "message": "Kliknite na tlačidlo PayPal a prihláste sa do vášho PayPal účtu, potom stlačte tlačidlo Odoslať a pokračujte." - }, - "cancelSubscription": { - "message": "Zrušiť predplatné" - }, - "subscriptionCanceled": { - "message": "Predplatné bolo zrušené." - }, - "pendingCancellation": { - "message": "Prebieha rušenie" - }, - "subscriptionPendingCanceled": { - "message": "Predplatné je označené na zrušenie na konci súčasného účtovacieho obdobia." - }, - "reinstateSubscription": { - "message": "Obnoviť predplatné" - }, - "reinstateConfirmation": { - "message": "Naozaj chcete zrušiť požiadavku na ukončenie predplatného a obnoviť predplatné?" - }, - "reinstated": { - "message": "Predplatné bolo obnovené." - }, - "cancelConfirmation": { - "message": "Naozaj chcete zrušiť? Stratíte prístup k všetkým funkciám, ktoré vám predplatné ponúka na konci fakturačného obdobia." - }, - "canceledSubscription": { - "message": "Predplatné bolo zrušené." - }, - "neverExpires": { - "message": "Nikdy neexpirovať" - }, - "status": { - "message": "Stav" - }, - "nextCharge": { - "message": "Ďalšia platba" - }, - "details": { - "message": "Podrobnosti" - }, - "downloadLicense": { - "message": "Stiahnuť licenciu" - }, - "updateLicense": { - "message": "Aktualizovať licenciu" - }, - "updatedLicense": { - "message": "Licencia aktualizovaná" - }, - "manageSubscription": { - "message": "Spravovať predplatné" - }, - "storage": { - "message": "Ukladací priestor" - }, - "addStorage": { - "message": "Pridať ukladací priestor" - }, - "removeStorage": { - "message": "Odstránené úložisko" - }, - "subscriptionStorage": { - "message": "Vaše predplatné zahŕňa $MAX_STORAGE$ GB šifrovaného úložiska, Momentálne používate $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Spôsob platby" - }, - "noPaymentMethod": { - "message": "Nie je vybratý žiadny spôsob platby." - }, - "addPaymentMethod": { - "message": "Pridajte spôsob platby" - }, - "changePaymentMethod": { - "message": "Zmeniť spôsob platby" - }, - "invoices": { - "message": "Faktúry" - }, - "noInvoices": { - "message": "Žiadne faktúry." - }, - "paid": { - "message": "Zaplatené", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Nezaplatené", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Transakcie", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "Žiadne transakcie." - }, - "chargeNoun": { - "message": "Dobiť", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Refundovať", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Platby s objavia na výpise z banky ako $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "Pridať GB" - }, - "gbStorageRemove": { - "message": "Odobrať GB" - }, - "storageAddNote": { - "message": "Pridaním úložiska sa zmení účtovaná suma a okamžite sa vykoná platba prostredníctvom nastavenej platobnej metódy. Prvá platba bude proporcionálna zvyšku súčasného fakturačného obdobia." - }, - "storageRemoveNote": { - "message": "Odstránením úložiska sa zmení účtovaná suma. Suma ktorú ste zaplatili navyše bude refundovaná vo forme kreditu v následujúcom fakturačnom období." - }, - "adjustedStorage": { - "message": "Úložisko upravené o $AMOUNT$ GB.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Kontaktujte zákaznícku podporu" - }, - "updatedPaymentMethod": { - "message": "Aktualizovať spôsob platby." - }, - "purchasePremium": { - "message": "Zakúpiť Prémium" - }, - "licenseFile": { - "message": "Licenčný súbor" - }, - "licenseFileDesc": { - "message": "Váš licenčný súbor bude mať názov $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "Aby ste povýšili svoj účet na prémium, musíte nahrať licenčný súbor." - }, - "uploadLicenseFileOrg": { - "message": "Aby ste vytvorili organizáciu v systéme prevádzkovanom na vlastnom hardvéri, musíte nahrať licenčný súbor." - }, - "accountEmailMustBeVerified": { - "message": "Emailová adresa vášho účtu musí byť overená." - }, - "newOrganizationDesc": { - "message": "Organizácie vám umožňujú zdieľať časti trezora s ostatnými a tiež spravovať používateľov určitej skupiny ako napríklad rodiny, malého tímu alebo veľkej spoločnosti." - }, - "generalInformation": { - "message": "Všeobecné informácie" - }, - "organizationName": { - "message": "Názov organizácie" - }, - "accountOwnedBusiness": { - "message": "Tento účet je vo vlastníctve firmy." - }, - "billingEmail": { - "message": "Fakturačný e-mail" - }, - "businessName": { - "message": "Obchodné meno" - }, - "chooseYourPlan": { - "message": "Vyberte váš plán" - }, - "users": { - "message": "Používatelia" - }, - "userSeats": { - "message": "Používateľské licencie" - }, - "additionalUserSeats": { - "message": "Ďalší používatelia" - }, - "userSeatsDesc": { - "message": "počet používateľských licencií" - }, - "userSeatsAdditionalDesc": { - "message": "Plán zahŕňa $BASE_SEATS$ používateľských licencií. Dodatočných používateľov môžete pridať za $SEAT_PRICE$/mesačne za používateľa.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "Koľko používateľských licencií potrebujete? Ďalšie licencie môžete pridať neskôr." - }, - "planNameFree": { - "message": "Zadarmo", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "Na testovanie alebo osobné použitie do $COUNT$ používateľov.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Rodiny" - }, - "planDescFamilies": { - "message": "Pre osobné použitie a zdieľanie s rodinou a priateľmi." - }, - "planNameTeams": { - "message": "Tímy" - }, - "planDescTeams": { - "message": "Pre firmy a iné organizácie." - }, - "planNameEnterprise": { - "message": "Spoločnosť" - }, - "planDescEnterprise": { - "message": "Pre firmy a veľké organizácie." - }, - "freeForever": { - "message": "Navždy zadarmo" - }, - "includesXUsers": { - "message": "zahŕňa $COUNT$ používateľov", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Ďalší používatelia" - }, - "costPerUser": { - "message": "$COST$ za používateľa", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Obmedzené na $COUNT$ používateľov (vrátane vás)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Obmedzené na $COUNT$ zbierok", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Pridajte a zdieľajte až s $COUNT$ používateľmi", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Pridajte a zdieľajte až s neobmedzeným počtom používateľov" - }, - "createUnlimitedCollections": { - "message": "Vytvoriť neobmedzené množstvo zbierok" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ šifrovaného úložiska", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "Prevádzka na vlastnom systéme (voliteľné)" - }, - "usersGetPremium": { - "message": "Používatelia získajú prístup k prémiovým funkciám" - }, - "controlAccessWithGroups": { - "message": "Kontrola prístupu používateľov prostredníctvom skupín" - }, - "syncUsersFromDirectory": { - "message": "Synchronizovať používateľov a skupiny s adresárom" - }, - "trackAuditLogs": { - "message": "Sledujte aktivity používateľov prostredníctvom auditných záznamov" - }, - "enforce2faDuo": { - "message": "Vynútiť 2FA s Duo" - }, - "priorityCustomerSupport": { - "message": "Prioritná zákaznícka podpora" - }, - "xDayFreeTrial": { - "message": "$COUNT$ dní na vyskúšanie zadarmo, môžete kedykoľvek prerušiť", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Mesačne" - }, - "annually": { - "message": "Ročne" - }, - "basePrice": { - "message": "Základná cena" - }, - "organizationCreated": { - "message": "Organizácia vytvorená" - }, - "organizationReadyToGo": { - "message": "Vaša nová organizácia je pripravená!" - }, - "organizationUpgraded": { - "message": "Vaša organizácia bola povýšená." - }, - "leave": { - "message": "Opustiť" - }, - "leaveOrganizationConfirmation": { - "message": "Ste si istý, že chcete opustiť túto organizáciu?" - }, - "leftOrganization": { - "message": "Opustili ste organizáciu." - }, - "defaultCollection": { - "message": "Predvolená kolekcia" - }, - "getHelp": { - "message": "Získať pomoc" - }, - "getApps": { - "message": "Stiahni si aplikácie" - }, - "loggedInAs": { - "message": "Prihlásený ako" - }, - "eventLogs": { - "message": "Denník udalostí" - }, - "people": { - "message": "Ľudia" - }, - "policies": { - "message": "Pravidlá" - }, - "editPolicy": { - "message": "Upraviť pravidlá" - }, - "groups": { - "message": "Skupiny" - }, - "newGroup": { - "message": "Nová skupina" - }, - "addGroup": { - "message": "Pridať skupinu" - }, - "editGroup": { - "message": "Upraviť skupinu" - }, - "deleteGroupConfirmation": { - "message": "Naozaj chcete odstrániť túto skupinu?" - }, - "removeUserConfirmation": { - "message": "Skutočne chcete odobrať tohto užívateľa?" - }, - "externalId": { - "message": "Externá id" - }, - "externalIdDesc": { - "message": "Externé Id sa môže použiť na previazanie tohto zdroja s externým systémom - napríklad s užívateľským adresárom." - }, - "accessControl": { - "message": "Riadenie prístupu" - }, - "groupAccessAllItems": { - "message": "Táto skupina môže upravovať a pristupovať k všetkým položkám." - }, - "groupAccessSelectedCollections": { - "message": "Táto skupina môže upravovať a pristupovať len k položkám ktoré sú vo vybraných zbierkach." - }, - "readOnly": { - "message": "Iba na čítanie" - }, - "newCollection": { - "message": "Nová zbierka" - }, - "addCollection": { - "message": "Pridať zbierku" - }, - "editCollection": { - "message": "Upraviť zbierku" - }, - "deleteCollectionConfirmation": { - "message": "Naozaj chcete odstrániť túto zbierku?" - }, - "editUser": { - "message": "Upraviť používateľa" - }, - "inviteUser": { - "message": "Pozvať používateľa" - }, - "inviteUserDesc": { - "message": "Pozvite používateľov do vašej organizácie zadaním emailovej adresy ich Bitwarden účtu nižšie. Ak ešte nemajú Bitwarden účet, obdržia požiadavku na jeho vytvorenie." - }, - "inviteMultipleEmailDesc": { - "message": "Môžete pozvať až $COUNT$ používateľov naraz tak, že zadáte zoznam emailových adries oddelených čiarkou.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "Tento používateľ používa dvojstupňové overovanie aby si zabezpečil konto." - }, - "userAccessAllItems": { - "message": "Tento používateľ môže upravovať a pristupovať k všetkým položkám." - }, - "userAccessSelectedCollections": { - "message": "Tento používateľ môže upravovať a pristupovať len k položkám ktoré sú vo vybraných zbierkach." - }, - "search": { - "message": "Hľadať" - }, - "invited": { - "message": "Pozvaný" - }, - "accepted": { - "message": "Akceptované" - }, - "confirmed": { - "message": "Potvrdený" - }, - "owner": { - "message": "Vlastník" - }, - "ownerDesc": { - "message": "Používateľ s najvyššími oprávneniami, môže spravovať všetky aspekty organizácie." - }, - "admin": { - "message": "Administrátor" - }, - "adminDesc": { - "message": "Administrátori môžu pristupovať k a spravovať všetky položky a používateľov organizácie." - }, - "user": { - "message": "Používateľ" - }, - "userDesc": { - "message": "Obyčajný používateľ s prístupom k zbierkam organizácie." - }, - "manager": { - "message": "Manažér" - }, - "managerDesc": { - "message": "Manažéri môžu pristupovať k a spravovať pridelené zbierky v organizácii." - }, - "all": { - "message": "Všetky" - }, - "refresh": { - "message": "Obnoviť" - }, - "timestamp": { - "message": "Časová pečiatka" - }, - "event": { - "message": "Udalosť" - }, - "unknown": { - "message": "Neznáme" - }, - "loadMore": { - "message": "Načítať ďalšie" - }, - "mobile": { - "message": "Mobil", - "description": "Mobile app" - }, - "extension": { - "message": "Rozšírenie", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Počítač", - "description": "Desktop app" - }, - "webVault": { - "message": "Webový trezor" - }, - "loggedIn": { - "message": "Prihlásený." - }, - "changedPassword": { - "message": "Zmenené heslo k účtu." - }, - "enabledUpdated2fa": { - "message": "Dvojstupňové prihlasovanie zapnuté/aktualizované." - }, - "disabled2fa": { - "message": "Dvojstupňové prihlasovanie vypnuté." - }, - "recovered2fa": { - "message": "Účet uvoľnený z dvojstupňového prihlásenia." - }, - "failedLogin": { - "message": "Prihlásenie zlyhalo pre nesprávne heslu." - }, - "failedLogin2fa": { - "message": "Prihlásenie zlyhalo pre nesprávnu dvojstupňovú autorizáciu." - }, - "exportedVault": { - "message": "Trezor exportovaný." - }, - "exportedOrganizationVault": { - "message": "Trezor organizácie bol exportovaný." - }, - "editedOrgSettings": { - "message": "Nastavenia organizácie upravené." - }, - "createdItemId": { - "message": "Položka $ID$ vytvorená.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Položka $ID$ upravená.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Položka $ID$ odstránená.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Položka $ID$ zdieľaná.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Položka $ID$ zobrazená.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Zobrazené heslo položky $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Zobrazené skryté pole položky $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Zobrazený bezpečnostný kód položky $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Skopírované heslo položky $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Skopírované skryté pole položky $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Skopírovaný bezpečnostný kód položky $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Automaticky vyplnené s položkou $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Zbierka $ID$ vytvorená.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Zbierka $ID$ upravená.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Zbierka $ID$ odstránená.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Upravené pravidlo $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Skupina $ID$ vytvorená.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Skupina $ID$ upravená.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Skupina $ID$ odstránená.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Používateľ $ID$ odstránený.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Vytvorená príloha k položke $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Odstránená príloha z položky $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Zbierky pre položku $ID$ boli upravené.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Používateľ $ID$ pozvaný.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Používateľ $ID$ potvrdený.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Používateľ $ID$ upravený.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Skupiny používateľa $ID$ upravené.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Zariadenie" - }, - "view": { - "message": "Zobraziť" - }, - "invalidDateRange": { - "message": "Neplatný časový rozsah." - }, - "errorOccurred": { - "message": "Vyskytla sa chyba." - }, - "userAccess": { - "message": "Používateľský prístup" - }, - "userType": { - "message": "Typ používateľa" - }, - "groupAccess": { - "message": "Skupinový prístup" - }, - "groupAccessUserDesc": { - "message": "Upraviť skupiny, do ktorých patrí používateľ." - }, - "invitedUsers": { - "message": "Používatelia pozvaní." - }, - "resendInvitation": { - "message": "Znovu poslať pozvánku" - }, - "hasBeenReinvited": { - "message": "$USER$ bol znovu pozvaný.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Potvrdiť" - }, - "confirmUser": { - "message": "Potvrdiť používateľa" - }, - "hasBeenConfirmed": { - "message": "$USER$ bol potvrdený.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Potvrdiť používateľov" - }, - "usersNeedConfirmed": { - "message": "Máte používateľov, ktorí prijali pozvanie, ale ešte ich musíte potvrdiť. Používatelia nebudú mať prístup k organizácii, kým nebudú potvrdení." - }, - "startDate": { - "message": "Počiatočný Dátum" - }, - "endDate": { - "message": "Dátum ukončenia" - }, - "verifyEmail": { - "message": "Overiť email" - }, - "verifyEmailDesc": { - "message": "Overte váš e-mail aby ste získali prístup k dodatočným funkciám." - }, - "verifyEmailFirst": { - "message": "Emailová adresa vášho účtu musí byť overená." - }, - "checkInboxForVerification": { - "message": "Skontrolujte si doručenú poštu, mali by ste obdržať odkaz pre verifikáciu." - }, - "emailVerified": { - "message": "Vaša emailová adresa bola overená." - }, - "emailVerifiedFailed": { - "message": "Overovanie zlyhalo. Skúste si odoslať nový verifikačný e-mail." - }, - "updateBrowser": { - "message": "Aktualizovať prehliadač" - }, - "updateBrowserDesc": { - "message": "Používate nepodporovaný prehliadač. Webový trezor nemusí úplne fungovať." - }, - "joinOrganization": { - "message": "Pripojte sa k organizácii" - }, - "joinOrganizationDesc": { - "message": "Obdržali ste pozvánku do vyššie menovanej Organizácie. Ak chcete pozvánku prijať, musíte sa prihlásiť alebo si vytvoriť nový Bitwarden účet." - }, - "inviteAccepted": { - "message": "Pozvánka prijatá" - }, - "inviteAcceptedDesc": { - "message": "Prístup k organizácii získate keď administrátor potvrdí vaše členstvo. Keď sa tak stane, pošleme vám email." - }, - "inviteAcceptFailed": { - "message": "Prijatie pozvánky zlyhalo. Požiadajte administrátora organizácie, aby vám poslal novú pozvánku." - }, - "inviteAcceptFailedShort": { - "message": "Nepodarilo sa prijať pozvánku. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Zapamätať si e-mail" - }, - "recoverAccountTwoStepDesc": { - "message": "Ak sa nemôžete dostať k svojmu účtu prostredníctvom normálneho dvojstupňového prihlásenia, môžete použiť záchranný kód a vypnúť dvojstupňové prihlasovanie do vášho účtu." - }, - "recoverAccountTwoStep": { - "message": "Získať prístup k účtu s dvojstupňovým prihlásením" - }, - "twoStepRecoverDisabled": { - "message": "Dvojstupňové prihlasovanie k vašemu účtu bolo vypnuté." - }, - "learnMore": { - "message": "Zistiť viac" - }, - "deleteRecoverDesc": { - "message": "Zadajte vašu emailovú adresu ak chcete obnoviť a zrušiť vaše konto." - }, - "deleteRecoverEmailSent": { - "message": "Ak váš účet existuje, zaslali sme vám email s ďalšími inštrukciami." - }, - "deleteRecoverConfirmDesc": { - "message": "Požiadali ste o zrušenie vášho Bitwarden účtu. Pre potvrdenie operácie kliknite nižšie." - }, - "myOrganization": { - "message": "Moja organizácia" - }, - "deleteOrganization": { - "message": "Odstrániť organizáciu" - }, - "deleteOrganizationDesc": { - "message": "Pokračujte nižšie ak chcete odstrániť túto organizáciu a všetky súvisiace dáta. Individuálni používatelia budu zachovaní, ale už nebudú súčasťou tejto organizácie. " - }, - "deleteOrganizationWarning": { - "message": "Odstránenie organizácie je trvalé. Operáciu nie je možné vrátiť späť." - }, - "organizationDeleted": { - "message": "Organizácia odstránená" - }, - "organizationDeletedDesc": { - "message": "Organizácia a všetky súvisiace dáta boli vymazané." - }, - "organizationUpdated": { - "message": "Organizácia aktualizovaná" - }, - "taxInformation": { - "message": "Daňové informácie" - }, - "taxInformationDesc": { - "message": "Prosím kontaktujte zákaznícku podporu ak chcete poskytnúť (alebo aktualizovať) daňové informácie pre potreby fakturácie." - }, - "billingPlan": { - "message": "Plán", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Zmena plánu", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Upgrade your account to another plan be providing the information below. Please ensure that you have an active payment method added to the account.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Ak by ste chceli zmeniť svoj plán, obráťte sa na zákaznícku podporu. Uistite sa prosím, že máte aktívnu platobnú metódu nastavenú pre tento účet.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Faktúra #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "Zobraziť Faktúru" - }, - "downloadInvoice": { - "message": "Stiahnuť Faktúru" - }, - "verifyBankAccount": { - "message": "Overenie bankového účtu" - }, - "verifyBankAccountDesc": { - "message": "Urobili sme dva mikro-vklady na váš bankový účet (môže to trvať 1-2 pracovné dni než sa objavia na účte). Zadajte tieto čiastky na overenie bankového účtu." - }, - "verifyBankAccountInitialDesc": { - "message": "Platba prostredníctvom bankového konta je dostupná len pre zákazníkov v Spojených štátoch. Budete musieť overiť svoj bankový účet. Urobíme dva mikro-vklady v najbližších 1-2 pracovných dňoch. Zadajte tieto čiastky na fakturačnej stránke organizácie pre overenie bankového účtu." - }, - "verifyBankAccountFailureWarning": { - "message": "Ak sa nepodarí overiť bankový účet, platba zlyhá a vaše predplatné bude zrušené." - }, - "verifiedBankAccount": { - "message": "Bankový účet overený." - }, - "bankAccount": { - "message": "Bankový účet" - }, - "amountX": { - "message": "Suma $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Smerovacie číslo", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Číslo účtu" - }, - "accountHolderName": { - "message": "Majiteľ účtu" - }, - "bankAccountType": { - "message": "Typ účtu" - }, - "bankAccountTypeCompany": { - "message": "Spoločnosť (firma)" - }, - "bankAccountTypeIndividual": { - "message": "Individuálne (osobné)" - }, - "enterInstallationId": { - "message": "Zadajte ID vašej inštalácie" - }, - "addSeats": { - "message": "Pridať licencie", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Odobrať licencie", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Vaše predplatné zahŕňa $COUNT$ používateľov.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Pridať licencií" - }, - "seatsToRemove": { - "message": "Odobrať licencií" - }, - "seatsAddNote": { - "message": "Pridaním používateľských licencií sa zmení účtovaná suma a okamžite sa vykoná platba prostredníctvom nastavenej platobnej metódy. Prvá platba bude proporcionálna zvyšku súčasného fakturačného obdobia." - }, - "seatsRemoveNote": { - "message": "Odstránením užívateľských licencií sa zmení účtovaná suma. Suma ktorú ste zaplatili navyše bude refundovaná vo forme kreditu v následujúcom fakturačnom období." - }, - "adjustedSeats": { - "message": "Upravené o $AMOUNT$ používateľských licencií.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Kľúč aktualizovaný" - }, - "updateKeyTitle": { - "message": "Aktualizovať kľúč" - }, - "updateEncryptionKey": { - "message": "Aktualizovať šifrovací kľúč" - }, - "updateEncryptionKeyShortDesc": { - "message": "Stále používate starý šifrovací systém." - }, - "updateEncryptionKeyDesc": { - "message": "Prešli sme na väčšie šifrovacie kľúče, ktoré poskytujú lepšiu bezpečnosť a prístup k novým funkciám. Aktualizácia šifrovacieho kľúča je rýchla a jednoduchá. Jednoducho zadajte vaše hlavné heslo nižšie. Táto aktualizácia bude po nejakom čase povinná." - }, - "updateEncryptionKeyWarning": { - "message": "Po aktualizácii šifrovacieho kľúča budete požiadaní o opätovné prihlásenie do všetkých Bitwarden aplikácii ktoré momentálne používate (napríklad mobilné aplikácie, alebo rozšírenia v prehliadači). Ak sa opätovne neprihlásite (touto operáciou sa stiahnu nové šifrovacie kľúče), mohlo by to viesť k poškodeniu uložených dát. Pokúsime sa odhlásiť vás automaticky, ale môže to chvíľu trvať." - }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." - }, - "subscription": { - "message": "Predplatné" - }, - "loading": { - "message": "Načítavanie" - }, - "upgrade": { - "message": "Aktualizovať" - }, - "upgradeOrganization": { - "message": "Aktualizovať organizáciu" - }, - "upgradeOrganizationDesc": { - "message": "Táto funkcia nie je dostupná pre bezplatné organizácie. Prejdite na platený plán a odomknite ďalšie funkcie." - }, - "createOrganizationStep1": { - "message": "Vytvoriť organizáciu: Krok 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Pred tým, než vytvoríte organizáciu, musíte si vytvoriť bezplatný osobný účet." - }, - "refunded": { - "message": "Vrátené" - }, - "nothingSelected": { - "message": "Nič ste nevybrali." - }, - "acceptPolicies": { - "message": "Označením tohto políčka súhlasíte s nasledovným:" - }, - "acceptPoliciesError": { - "message": "Neboli akceptované Podmienky používania a zásady Ochrany osobných údajov." - }, - "termsOfService": { - "message": "Podmienky používania" - }, - "privacyPolicy": { - "message": "Zásady ochrany osobných údajov" - }, - "filters": { - "message": "Filtre" - }, - "vaultTimeout": { - "message": "Časový limit pre trezor" - }, - "vaultTimeoutDesc": { - "message": "Vyberte kedy vyprší časový limit trezora a vykoná sa zvolená akcia." - }, - "oneMinute": { - "message": "1 minúta" - }, - "fiveMinutes": { - "message": "5 minút" - }, - "fifteenMinutes": { - "message": "15 minút" - }, - "thirtyMinutes": { - "message": "30 minút" - }, - "oneHour": { - "message": "1 hodina" - }, - "fourHours": { - "message": "4 hodiny" - }, - "onRefresh": { - "message": "Pri obnovení stránky" - }, - "dateUpdated": { - "message": "Aktualizované", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Heslo bolo aktualizované", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "Organizácia je vypnutá." - }, - "licenseIsExpired": { - "message": "Licencia vypršala." - }, - "updatedUsers": { - "message": "Používatelia aktualizovaní" - }, - "selected": { - "message": "Vybraté" - }, - "ownership": { - "message": "Vlastníctvo" - }, - "whoOwnsThisItem": { - "message": "Kto vlastní túto položku?" - }, - "strong": { - "message": "Silné", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Dobré", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Slabé", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Veľmi slabé", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Slabé hlavné heslo" - }, - "weakMasterPasswordDesc": { - "message": "Hlavné heslo ktoré ste zadali je slabé. Mali by ste použiť silné heslo (alebo frázu) aby ste spoľahlivo ochránili váš Bitwarden účet. Naozaj chcete použiť toto heslo?" - }, - "rotateAccountEncKey": { - "message": "Obnoviť aj môj šifrovací kľúč k účtu" - }, - "rotateEncKeyTitle": { - "message": "Obnoviť šifrovací kľúč" - }, - "rotateEncKeyConfirmation": { - "message": "Naozaj chcete obnoviť váš šifrovací kľúč k účtu?" - }, - "attachmentsNeedFix": { - "message": "Táto položka má staré prílohy, ktoré je potrebné opraviť." - }, - "attachmentFixDesc": { - "message": "Táto stará príloha musí byť opravená. Kliknite ak sa chcete dozvedieť viac." - }, - "fix": { - "message": "Opraviť", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "V trezore máte staré prílohy ktoré musia byť opravené pred tým, než budete môcť obnoviť šifrovací kľúč k účtu." - }, - "yourAccountsFingerprint": { - "message": "Fráza odtlačku vašeho účtu", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "Na zabezpečenie integrity šifrovacích kľúčov, skontrolujte frázu odtlačku používateľa pred tým než budete pokračovať.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Nepýtať sa znovu na overenie frázy odtlačku", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Zadarmo", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "API kľúč" - }, - "apiKeyDesc": { - "message": "Váš API kľúč je možné použiť na autentifikáciu do verejného API Bitwardenu." - }, - "apiKeyRotateDesc": { - "message": "Obnovením kľúča API zneplatníte predchádzajúci API kľúč. API kľúč môžete obnoviť ak si myslíte že súčasný kľúč už nie je bezpečný." - }, - "apiKeyWarning": { - "message": "API kľúč má plný prístup k organizácii. To by by ste ho udržať v bezpečí." - }, - "userApiKeyDesc": { - "message": "Váš API kľúč je možné použiť na autentifikáciu v API Bitwardenu." - }, - "userApiKeyWarning": { - "message": "Váš API kľúč je alternatívnym autentifikačným mechanizmom. Mali by ste si ho udržať v tajnosti." - }, - "oauth2ClientCredentials": { - "message": "OAuth 2.0 klientské poverenia", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "Zobraziť API kľúč" - }, - "rotateApiKey": { - "message": "Obnoviť API kľúč" - }, - "selectOneCollection": { - "message": "Musíte vybrať aspoň jednu zbierku." - }, - "couldNotChargeCardPayInvoice": { - "message": "Nepodarilo sa nám vykonať platbu pomocou vašej karty. Prosím pozrite si a zaplaťte neuhradenú faktúru nižšie." - }, - "inAppPurchase": { - "message": "Nákupy v aplikácii" - }, - "cannotPerformInAppPurchase": { - "message": "Tato akcia sa nedá vykonať ak používate platbu pomocou nákupu v aplikácii." - }, - "manageSubscriptionFromStore": { - "message": "Predplatné musíte spravovať v obchode kde ste vykonali nákup cez aplikáciu." - }, - "minLength": { - "message": "Minimálna dĺžka" - }, - "clone": { - "message": "Klonovať" - }, - "masterPassPolicyDesc": { - "message": "Nastavte minimálne požiadavky pre silu hlavného hesla." - }, - "twoStepLoginPolicyDesc": { - "message": "Požadujte dvojstupňové prihlásenie pre osobné účty." - }, - "twoStepLoginPolicyWarning": { - "message": "Členovia organizácie, ktorí nie su vlastníci alebo administratori a ktorí nemajú zapnuté dvojstupňové prihlásenie budú odstranení z organizácie a obdržia email s informáciou o tejto zmene." - }, - "twoStepLoginPolicyUserWarning": { - "message": "Ste členom organizácie, ktorá vyžaduje dvojstupňové prihlásenie do vášho použivateľského účtu. Ak zakážete všetky formy dvojstupňového prihlasovania, budete automaticky odstránený z týchto organizácií." - }, - "passwordGeneratorPolicyDesc": { - "message": "Zvoľte minimálne požiadavky pre nastavenie generátora hesiel." - }, - "passwordGeneratorPolicyInEffect": { - "message": "Jedno alebo viac nastavení organizácie ovplyvňujú vaše nastavenia generátora." - }, - "masterPasswordPolicyInEffect": { - "message": "Jedno alebo viac pravidiel organizácie požadujú aby vaše hlavné heslo spĺňalo nasledujúce požiadavky:" - }, - "policyInEffectMinComplexity": { - "message": "Minimálna úroveň zložitosti $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Minimálna dĺžka $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Obsahuje aspoň jedno veľké písmeno" - }, - "policyInEffectLowercase": { - "message": "Obsahuje aspoň jedno malé písmeno" - }, - "policyInEffectNumbers": { - "message": "Obsahuje aspoň jednu číslicu" - }, - "policyInEffectSpecial": { - "message": "Obsahuje aspoň jeden z následujúcich špeciálnych znakov $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Vaše nové heslo nespĺňa pravidlá." - }, - "minimumNumberOfWords": { - "message": "Minimálny počet slov" - }, - "defaultType": { - "message": "Východzí typ" - }, - "userPreference": { - "message": "Nastaví používateľ" - }, - "vaultTimeoutAction": { - "message": "Akcia pri vypršaní času pre trezor" - }, - "vaultTimeoutActionLockDesc": { - "message": "Uzamknutý trezor sa dá odomknúť opätovným zadaním hlavného hesla." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "Odlhásený trezor bude vyžadovať opätovné prihlásenie aby ste k nemu mohli pristupovať." - }, - "lock": { - "message": "Uzamknúť", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Kôš", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Hľadať v koši" - }, - "permanentlyDelete": { - "message": "Natrvalo Odstrániť" - }, - "permanentlyDeleteSelected": { - "message": "Natrvalo odstrániť vybrané položky" - }, - "permanentlyDeleteItem": { - "message": "Natrvalo odstrániť položku" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Naozaj chcete natrvalo odstrániť túto položku?" - }, - "permanentlyDeletedItem": { - "message": "Položka natrvalo odstránená" - }, - "permanentlyDeletedItems": { - "message": "Položky natrvalo odstránené" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "Vybrali ste $COUNT$ položiek na trvalé odstránenie. Ste si istý, že chcete natrvalo odstrániť všetky tieto položky?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Položka $ID$ natrvalo odstránená.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Obnoviť" - }, - "restoreSelected": { - "message": "Obnoviť zvolené" - }, - "restoreItem": { - "message": "Obnoviť položku" - }, - "restoredItem": { - "message": "Obnovená položka" - }, - "restoredItems": { - "message": "Obnovené položky" - }, - "restoreItemConfirmation": { - "message": "Naozaj chcete obnoviť tieto položky?" - }, - "restoreItems": { - "message": "Obnoviť položky" - }, - "restoreSelectedItemsDesc": { - "message": "Vybrali ste $COUNT$ položiek na obnovenie. Ste si istý, že chcete obnoviť všetky tieto položky?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Položka $ID$ obnovená.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Odhlásenie bude vyžadovať online prihlásenie po vypršaní časového limitu. Naozaj chcete použiť toto nastavenie?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Potvrdenie akcie pre vypršaný časový limit" - }, - "hidePasswords": { - "message": "Skryť heslá" - }, - "countryPostalCodeRequiredDesc": { - "message": "Tieto informácie potrebujeme iba pre výpočet dane a pre finančné reporty." - }, - "includeVAT": { - "message": "Zahrnúť informáciu o DPH (voliteľné)" - }, - "taxIdNumber": { - "message": "Číslo ID pre DPH" - }, - "taxInfoUpdated": { - "message": "Daňové informácie aktualizované." - }, - "setMasterPassword": { - "message": "Nastaviť hlavné heslo" - }, - "ssoCompleteRegistration": { - "message": "Aby ste dokončili nastavenie prihlasovacieho portálu (SSO), prosím nastavte hlavné heslo na prístup a ochranu vášho trezora." - }, - "identifier": { - "message": "Identifikátor" - }, - "organizationIdentifier": { - "message": "Identifikátor organizácie" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Prihláste sa prostredníctvom jednotného prihlasovania (SSO) vašej organizácie. Najskôr zadajte identifikátor vašej organizácie." - }, - "enterpriseSingleSignOn": { - "message": "Prihlásenie cez prihlasovací formulár spoločnosti (SSO)" - }, - "ssoHandOff": { - "message": "Teraz môžete zavrieť túto kartu a pokračovať v rozšírení." - }, - "businessPortal": { - "message": "Portál spoločnosti", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "Všetky funkcie verzie pre Tímy, plus:" - }, - "includeSsoAuthentication": { - "message": "SSO prihlásenie cez SAML2.0 a OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Pravidlá spoločnosti" - }, - "ssoValidationFailed": { - "message": "Overenie cez prihlasovací portál (SSO) zlyhalo" - }, - "ssoIdentifierRequired": { - "message": "Pole identifikátora organizácie je povinné." - }, - "unlinkSso": { - "message": "Odpojiť SSO" - }, - "linkSso": { - "message": "Prepojiť SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "Konfigurácia pravidiel bola presunutá a táto stránka bude čoskoro zrušená. Ak chcete radšej konfigurovať pravidlá v Portáli spoločnosti, kliknite, prosím, na tlačidlo nižšie." - }, - "singleOrg": { - "message": "Jedna organizácia" - }, - "singleOrgDesc": { - "message": "Zakázať používateľom stať sa členmi inej organizácie." - }, - "singleOrgBlockCreateMessage": { - "message": "Váša súčasná organizácia má pravidlo, ktoré vám nedovoľuje pripojiť sa k viac než jednej organizácii. Kontaktujte, prosím, administrátorov vašej organizácie alebo sa prihláste prostredníctvom iného Bitwarden účtu." - }, - "singleOrgPolicyWarning": { - "message": "Členovia organizácie, ktorí nie sú vlastníkmi alebo administrátormi a už sú členmi inej organizácie, budú odstránení z vašej organizácie." - }, - "requireSso": { - "message": "Overovanie prostredníctvom jednotného prihlasovania (SSO)" - }, - "requireSsoPolicyDesc": { - "message": "Vyžadovať od používateľov prihlásenie prostredníctvom jednotného prihlasovania (SSO) spoločnosti." - }, - "prerequisite": { - "message": "Predpoklad" - }, - "requireSsoPolicyReq": { - "message": "Pravidlá spoločnosti o jednej organizácii musia byť povolené pred aktivovaním tohto pravidla." - }, - "requireSsoPolicyReqError": { - "message": "Pravidlo jednej organizácie nie je povolené." - }, - "requireSsoExemption": { - "message": "Vlastníci a administrátori organizácie sú vyňatí z uplatnenia tohto pravidla." - }, - "sendTypeFile": { - "message": "Súbor" - }, - "sendTypeText": { - "message": "Text" - }, - "createSend": { - "message": "Vytvoriť nový Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Upraviť Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Send vytvorený", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Send upravený", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Send zmazaný", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Zmazať Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Naozaj chcete odstrániť tento Send?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "Aký typ Send to je?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Dátum vymazania" - }, - "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Dátum exspirácie" - }, - "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Maximálny počet prístupov" - }, - "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Súčasný počet prístupov" - }, - "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Private notes about this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Vypnuté" - }, - "sendLink": { - "message": "Odkaz na Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Kopírovať odkaz na Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Odstrániť Heslo" - }, - "removedPassword": { - "message": "Heslo odstránené" - }, - "removePasswordConfirmation": { - "message": "Naozaj chcete odstrániť heslo?" - }, - "disableThisSend": { - "message": "Disable this Send so that no one can access it.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "Všetky Sendy" - }, - "maxAccessCountReached": { - "message": "Max access count reached" - }, - "pendingDeletion": { - "message": "Pending deletion" - }, - "expired": { - "message": "Expired" - }, - "searchSends": { - "message": "Hľadať Sendy", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "Tento Send je chránený heslom. Pre pokračovanie zadajte prosím heslo.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Neviete heslo? Požiadajte odosielateľa o heslo potrebné k prístupu k tomuto Sendu.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "Tento Send je normálne skrytý. Tlačidlom nižšie môžete prepnúť jeho viditeľnosť.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Stiahnuť súbor" - }, - "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "Neexistujú žiadne Sendy na zobrazenie.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Emergency Access" - }, - "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." - }, - "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" - }, - "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." - }, - "addEmergencyContact": { - "message": "Add emergency contact" - }, - "designatedEmergencyContacts": { - "message": "Designated as emergency contact" - }, - "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." - }, - "inviteEmergencyContact": { - "message": "Invite emergency contact" - }, - "editEmergencyContact": { - "message": "Edit emergency contact" - }, - "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" - }, - "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" - }, - "viewDesc": { - "message": "Can view all items in your own vault." - }, - "takeover": { - "message": "Takeover" - }, - "takeoverDesc": { - "message": "Can reset your account with a new master password." - }, - "waitTime": { - "message": "Wait Time" - }, - "waitTimeDesc": { - "message": "Time required before automatically granting access." - }, - "oneDay": { - "message": "1 day" - }, - "days": { - "message": "$DAYS$ days", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Invited user." - }, - "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." - }, - "requestAccess": { - "message": "Request Access" - }, - "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Approve" - }, - "reject": { - "message": "Reject" - }, - "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Emergency access approved." - }, - "emergencyRejected": { - "message": "Emergency access rejected" - }, - "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Personal Ownership" - }, - "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." - }, - "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." - }, - "modifiedPolicyId": { - "message": "Modified policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Plan price" - }, - "estimatedTax": { - "message": "Estimated tax" - }, - "custom": { - "message": "Custom" - }, - "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." - }, - "permissions": { - "message": "Permissions" - }, - "accessBusinessPortal": { - "message": "Access Business Portal" - }, - "accessEventLogs": { - "message": "Access Event Logs" - }, - "accessImportExport": { - "message": "Access Import/Export" - }, - "accessReports": { - "message": "Access Reports" - }, - "manageAllCollections": { - "message": "Manage All Collections" - }, - "manageAssignedCollections": { - "message": "Manage Assigned Collections" - }, - "manageGroups": { - "message": "Manage Groups" - }, - "managePolicies": { - "message": "Manage Policies" - }, - "manageSso": { - "message": "Manage SSO" - }, - "manageUsers": { - "message": "Manage Users" - }, - "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." - }, - "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." - }, - "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" - }, - "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/sl/messages.json b/locales/sl/messages.json deleted file mode 100644 index c7b83a1c..00000000 --- a/locales/sl/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$ Spletni sef", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "Kakšne vrste vnos je to?" - }, - "name": { - "message": "Ime" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "Nov URI" - }, - "username": { - "message": "Uporabniško ime" - }, - "password": { - "message": "Geslo" - }, - "newPassword": { - "message": "Novo geslo" - }, - "passphrase": { - "message": "Passphrase" - }, - "notes": { - "message": "Zapiski" - }, - "customFields": { - "message": "Custom Fields" - }, - "cardholderName": { - "message": "Cardholder Name" - }, - "number": { - "message": "Številka" - }, - "brand": { - "message": "Znamka" - }, - "expiration": { - "message": "Potek" - }, - "securityCode": { - "message": "Varnostna koda (CVV)" - }, - "identityName": { - "message": "Identity Name" - }, - "company": { - "message": "Podjetje" - }, - "ssn": { - "message": "EMŠO" - }, - "passportNumber": { - "message": "Številka potnega lista" - }, - "licenseNumber": { - "message": "Številka dovoljenja" - }, - "email": { - "message": "E-pošta" - }, - "phone": { - "message": "Telefon" - }, - "january": { - "message": "Januar" - }, - "february": { - "message": "Februar" - }, - "march": { - "message": "Marec" - }, - "april": { - "message": "April" - }, - "may": { - "message": "Maj" - }, - "june": { - "message": "Junij" - }, - "july": { - "message": "Julij" - }, - "august": { - "message": "Avgust" - }, - "september": { - "message": "September" - }, - "october": { - "message": "Oktober" - }, - "november": { - "message": "November" - }, - "december": { - "message": "December" - }, - "title": { - "message": "Naziv" - }, - "mr": { - "message": "G" - }, - "mrs": { - "message": "Ga" - }, - "ms": { - "message": "Gdč" - }, - "dr": { - "message": "Dr" - }, - "expirationMonth": { - "message": "Mesec poteka" - }, - "expirationYear": { - "message": "Leto poteka" - }, - "authenticatorKeyTotp": { - "message": "Authenticator Key (TOTP)" - }, - "folder": { - "message": "Mapa" - }, - "newCustomField": { - "message": "Novo polje po meri" - }, - "value": { - "message": "Vrednost" - }, - "dragToSort": { - "message": "Povleci za sortiranje" - }, - "cfTypeText": { - "message": "Besedilo" - }, - "cfTypeHidden": { - "message": "Skrito" - }, - "cfTypeBoolean": { - "message": "Boolean" - }, - "remove": { - "message": "Remove" - }, - "unassigned": { - "message": "Unassigned" - }, - "noneFolder": { - "message": "No Folder", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Add Folder" - }, - "editFolder": { - "message": "Edit Folder" - }, - "baseDomain": { - "message": "Base domain" - }, - "host": { - "message": "Host", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Exact" - }, - "startsWith": { - "message": "Starts with" - }, - "regEx": { - "message": "Regular expression", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Match Detection", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Default match detection", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Never" - }, - "toggleVisibility": { - "message": "Toggle Visibility" - }, - "toggleCollapse": { - "message": "Toggle Collapse", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Generate Password" - }, - "checkPassword": { - "message": "Check if password has been exposed." - }, - "passwordExposed": { - "message": "This password has been exposed $VALUE$ time(s) in data breaches. You should change it.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "This password was not found in any known data breaches. It should be safe to use." - }, - "save": { - "message": "Save" - }, - "cancel": { - "message": "Cancel" - }, - "canceled": { - "message": "Canceled" - }, - "close": { - "message": "Close" - }, - "delete": { - "message": "Delete" - }, - "favorite": { - "message": "Favorite" - }, - "unfavorite": { - "message": "Unfavorite" - }, - "edit": { - "message": "Edit" - }, - "searchCollection": { - "message": "Search Collection" - }, - "searchFolder": { - "message": "Search Folder" - }, - "searchFavorites": { - "message": "Search Favorites" - }, - "searchType": { - "message": "Search Type", - "description": "Search item type" - }, - "searchVault": { - "message": "Search Vault" - }, - "allItems": { - "message": "All Items" - }, - "favorites": { - "message": "Favorites" - }, - "types": { - "message": "Types" - }, - "typeLogin": { - "message": "Login" - }, - "typeCard": { - "message": "Card" - }, - "typeIdentity": { - "message": "Identity" - }, - "typeSecureNote": { - "message": "Secure Note" - }, - "folders": { - "message": "Folders" - }, - "collections": { - "message": "Collections" - }, - "firstName": { - "message": "First Name" - }, - "middleName": { - "message": "Middle Name" - }, - "lastName": { - "message": "Last Name" - }, - "address1": { - "message": "Naslov 1" - }, - "address2": { - "message": "Naslov 2" - }, - "address3": { - "message": "Naslov 3" - }, - "cityTown": { - "message": "Mesto / naselje" - }, - "stateProvince": { - "message": "Regija / provinca" - }, - "zipPostalCode": { - "message": "Poštna številka" - }, - "country": { - "message": "Država" - }, - "shared": { - "message": "Deljeno" - }, - "attachments": { - "message": "Priponke" - }, - "select": { - "message": "Izberi" - }, - "addItem": { - "message": "Dodaj vnos" - }, - "editItem": { - "message": "Uredi vnos" - }, - "viewItem": { - "message": "View Item" - }, - "ex": { - "message": "npr.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Drugo" - }, - "share": { - "message": "Deli" - }, - "valueCopied": { - "message": "$VALUE$ kopirana", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Kopiraj vrednost", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Kopiraj geslo", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Kopiraj uporabniško ime", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Kopiraj številko", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Kopiraj varnostno kodo", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Kopiraj URI", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "Moj sef" - }, - "vault": { - "message": "Sef" - }, - "shareSelected": { - "message": "Deli izbrano" - }, - "deleteSelected": { - "message": "Izbriši izbrano" - }, - "moveSelected": { - "message": "Premakni izbrano" - }, - "selectAll": { - "message": "Izberi vse" - }, - "unselectAll": { - "message": "Odizberi vse" - }, - "launch": { - "message": "Zaženi" - }, - "newAttachment": { - "message": "Dodaj novo priponko" - }, - "deletedAttachment": { - "message": "Izbriši priponko" - }, - "deleteAttachmentConfirmation": { - "message": "Ste prepričani, da želite izbrisati to prilogo?" - }, - "attachmentSaved": { - "message": "Ta priloga je bila shranjena." - }, - "file": { - "message": "Datoteka" - }, - "selectFile": { - "message": "Izberite datoteko." - }, - "maxFileSize": { - "message": "Največja velikost datoteke je 100 MB." - }, - "updateKey": { - "message": "You cannot use this feature until you update your encryption key." - }, - "addedItem": { - "message": "Dodaj vnos" - }, - "editedItem": { - "message": "Uredi vnos" - }, - "sharedItem": { - "message": "Deljeni vnos" - }, - "sharedItems": { - "message": "Deljeni vnosi" - }, - "deleteItem": { - "message": "Izbriši vnos" - }, - "deleteFolder": { - "message": "Izbriši mapo" - }, - "deleteAttachment": { - "message": "Izbriši priponoko" - }, - "deleteItemConfirmation": { - "message": "Do you really want to send to the trash?" - }, - "deletedItem": { - "message": "Vnos poslan v smeti" - }, - "deletedItems": { - "message": "Vnosi poslani v smeti" - }, - "movedItems": { - "message": "Premaknjeni vnosi" - }, - "overwritePasswordConfirmation": { - "message": "Ste prepričani, da želite povoziti obstoječe geslo?" - }, - "editedFolder": { - "message": "Edited folder" - }, - "addedFolder": { - "message": "Added folder" - }, - "deleteFolderConfirmation": { - "message": "Are you sure you want to delete this folder?" - }, - "deletedFolder": { - "message": "Deleted folder" - }, - "loggedOut": { - "message": "Logged out" - }, - "loginExpired": { - "message": "Your login session has expired." - }, - "logOutConfirmation": { - "message": "Are you sure you want to log out?" - }, - "logOut": { - "message": "Log Out" - }, - "ok": { - "message": "Ok" - }, - "yes": { - "message": "Yes" - }, - "no": { - "message": "No" - }, - "loginOrCreateNewAccount": { - "message": "Log in or create a new account to access your secure vault." - }, - "createAccount": { - "message": "Create Account" - }, - "logIn": { - "message": "Log In" - }, - "submit": { - "message": "Submit" - }, - "emailAddressDesc": { - "message": "You'll use your email address to log in." - }, - "yourName": { - "message": "Your Name" - }, - "yourNameDesc": { - "message": "What should we call you?" - }, - "masterPass": { - "message": "Master Password" - }, - "masterPassDesc": { - "message": "The master password is the password you use to access your vault. It is very important that you do not forget your master password. There is no way to recover the password in the event that you forget it." - }, - "masterPassHintDesc": { - "message": "A master password hint can help you remember your password if you forget it." - }, - "reTypeMasterPass": { - "message": "Re-type Master Password" - }, - "masterPassHint": { - "message": "Master Password Hint (optional)" - }, - "masterPassHintLabel": { - "message": "Master Password Hint" - }, - "settings": { - "message": "Settings" - }, - "passwordHint": { - "message": "Password Hint" - }, - "enterEmailToGetHint": { - "message": "Enter your account email address to receive your master password hint." - }, - "getMasterPasswordHint": { - "message": "Get master password hint" - }, - "emailRequired": { - "message": "Email address is required." - }, - "invalidEmail": { - "message": "Invalid email address." - }, - "masterPassRequired": { - "message": "Master password is required." - }, - "masterPassLength": { - "message": "Master password must be at least 8 characters long." - }, - "masterPassDoesntMatch": { - "message": "Master password confirmation does not match." - }, - "newAccountCreated": { - "message": "Your new account has been created! You may now log in." - }, - "masterPassSent": { - "message": "We've sent you an email with your master password hint." - }, - "unexpectedError": { - "message": "An unexpected error has occurred." - }, - "emailAddress": { - "message": "Email Address" - }, - "yourVaultIsLocked": { - "message": "Your vault is locked. Verify your master password to continue." - }, - "unlock": { - "message": "Unlock" - }, - "loggedInAsEmailOn": { - "message": "Logged in as $EMAIL$ on $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Invalid master password" - }, - "lockNow": { - "message": "Lock Now" - }, - "noItemsInList": { - "message": "There are no items to list." - }, - "noCollectionsInList": { - "message": "There are no collections to list." - }, - "noGroupsInList": { - "message": "There are no groups to list." - }, - "noUsersInList": { - "message": "There are no users to list." - }, - "noEventsInList": { - "message": "There are no events to list." - }, - "newOrganization": { - "message": "New Organization" - }, - "noOrganizationsList": { - "message": "Ne pripadate nobeni organizaciji. Organizacije omogočajo varno deljenje vnosov med uporabniki." - }, - "versionNumber": { - "message": "Različica $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Vnesite 6-mestno potrditveno kodo iz vaše avtorizacijske aplikacije." - }, - "enterVerificationCodeEmail": { - "message": "Vnesite 6-mestno potrditveno kodo, poslano na e-poštni naslov $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "Potrditveno sporočilo poslano na $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Zapomni si me" - }, - "sendVerificationCodeEmailAgain": { - "message": "Ponovno posreduj potrditveno kodo na e-poštni naslov" - }, - "useAnotherTwoStepMethod": { - "message": "Uporabi drug dvostopenjski način vpisa" - }, - "insertYubiKey": { - "message": "Insert your YubiKey into your computer's USB port, then touch its button." - }, - "insertU2f": { - "message": "Insert your security key into your computer's USB port. If it has a button, touch it." - }, - "loginUnavailable": { - "message": "Login Unavailable" - }, - "noTwoStepProviders": { - "message": "This account has two-step login enabled, however, none of the configured two-step providers are supported by this web browser." - }, - "noTwoStepProviders2": { - "message": "Please use a supported web browser (such as Chrome) and/or add additional providers that are better supported across web browsers (such as an authenticator app)." - }, - "twoStepOptions": { - "message": "Two-step Login Options" - }, - "recoveryCodeDesc": { - "message": "Lost access to all of your two-factor providers? Use your recovery code to disable all two-factor providers from your account." - }, - "recoveryCodeTitle": { - "message": "Recovery Code" - }, - "authenticatorAppTitle": { - "message": "Authenticator App" - }, - "authenticatorAppDesc": { - "message": "Use an authenticator app (such as Authy or Google Authenticator) to generate time-based verification codes.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "YubiKey OTP Security Key" - }, - "yubiKeyDesc": { - "message": "Use a YubiKey to access your account. Works with YubiKey 4 series, 5 series, and NEO devices." - }, - "duoDesc": { - "message": "Verify with Duo Security using the Duo Mobile app, SMS, phone call, or U2F security key.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Verify with Duo Security for your organization using the Duo Mobile app, SMS, phone call, or U2F security key.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Use any FIDO U2F enabled security key to access your account." - }, - "u2fTitle": { - "message": "FIDO U2F Security Key" - }, - "emailTitle": { - "message": "E-pošta" - }, - "emailDesc": { - "message": "Potrditvene kode vam bodo posredovane po e-pošti." - }, - "continue": { - "message": "Nadaljuj" - }, - "organization": { - "message": "Organizacija" - }, - "organizations": { - "message": "Organizacije" - }, - "shareDesc": { - "message": "Choose an organization that you wish to share this item with. Sharing transfers ownership of the item to the organization. You will no longer be the direct owner of this item once it has been shared." - }, - "shareManyDesc": { - "message": "Choose an organization that you wish to share these items with. Sharing transfers ownership of the items to the organization. You will no longer be the direct owner of these items once they have been shared." - }, - "collectionsDesc": { - "message": "Edit the collections that this item is being shared with. Only organization users with access to these collections will be able to see this item." - }, - "deleteSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to delete. Are you sure you want to delete all of these items?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Choose a folder that you would like to move the $COUNT$ selected item(s) to.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "You have selected $COUNT$ item(s). $SHAREABLE_COUNT$ items are sharable, $NONSHAREABLE_COUNT$ are not.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Verification Code (TOTP)" - }, - "copyVerificationCode": { - "message": "Copy Verification Code" - }, - "warning": { - "message": "Opozorilo" - }, - "confirmVaultExport": { - "message": "Confirm Vault Export" - }, - "exportWarningDesc": { - "message": "This export contains your vault data in an unencrypted format. You should not store or send the exported file over unsecure channels (such as email). Delete it immediately after you are done using it." - }, - "encExportWarningDesc": { - "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." - }, - "exportMasterPassword": { - "message": "Enter your master password to export your vault data." - }, - "exportVault": { - "message": "Izvozi sef" - }, - "fileFormat": { - "message": "Format datoteke" - }, - "exportSuccess": { - "message": "Podatki vašega sefa so bili izvoženi." - }, - "passwordGenerator": { - "message": "Ustvarjalnik gesel" - }, - "minComplexityScore": { - "message": "Najnižja ocena kompleksnosti" - }, - "minNumbers": { - "message": "Najmanj števil" - }, - "minSpecial": { - "message": "Najmanj posebnih znakov", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Avoid Ambiguous Characters" - }, - "regeneratePassword": { - "message": "Regenerate Password" - }, - "length": { - "message": "Dolžina" - }, - "numWords": { - "message": "Number of Words" - }, - "wordSeparator": { - "message": "Word Separator" - }, - "capitalize": { - "message": "Capitalize", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Include Number" - }, - "passwordHistory": { - "message": "Password History" - }, - "noPasswordsInList": { - "message": "There are no passwords to list." - }, - "clear": { - "message": "Clear", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Account Updated" - }, - "changeEmail": { - "message": "Change Email" - }, - "newEmail": { - "message": "New Email" - }, - "code": { - "message": "Code" - }, - "changeEmailDesc": { - "message": "We have emailed a verification code to $EMAIL$. Please check your email for this code and enter it below to finalize the email address change.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour." - }, - "emailChanged": { - "message": "Email Changed" - }, - "logBackIn": { - "message": "Please log back in." - }, - "logBackInOthersToo": { - "message": "Please log back in. If you are using other Bitwarden applications log out and back in to those as well." - }, - "changeMasterPassword": { - "message": "Change Master Password" - }, - "masterPasswordChanged": { - "message": "Master Password Changed" - }, - "currentMasterPass": { - "message": "Current Master Password" - }, - "newMasterPass": { - "message": "New Master Password" - }, - "confirmNewMasterPass": { - "message": "Confirm New Master Password" - }, - "encKeySettings": { - "message": "Encryption Key Settings" - }, - "kdfAlgorithm": { - "message": "KDF Algorithm" - }, - "kdfIterations": { - "message": "KDF Iterations" - }, - "kdfIterationsDesc": { - "message": "Higher KDF iterations can help protect your master password from being brute forced by an attacker. We recommend a value of $VALUE$ or more.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Setting your KDF iterations too high could result in poor performance when logging into (and unlocking) Bitwarden on devices with slower CPUs. We recommend that you increase the value in increments of $INCREMENT$ and then test all of your devices.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Change KDF" - }, - "encKeySettingsChanged": { - "message": "Encryption Key Settings Changed" - }, - "dangerZone": { - "message": "Danger Zone" - }, - "dangerZoneDesc": { - "message": "Careful, these actions are not reversible!" - }, - "deauthorizeSessions": { - "message": "Deauthorize Sessions" - }, - "deauthorizeSessionsDesc": { - "message": "Concerned your account is logged in on another device? Proceed below to deauthorize all computers or devices that you have previously used. This security step is recommended if you previously used a public computer or accidentally saved your password on a device that isn't yours. This step will also clear all previously remembered two-step login sessions." - }, - "deauthorizeSessionsWarning": { - "message": "Proceeding will also log you out of your current session, requiring you to log back in. You will also be prompted for two-step login again, if enabled. Active sessions on other devices may continue to remain active for up to one hour." - }, - "sessionsDeauthorized": { - "message": "All Sessions Deauthorized" - }, - "purgeVault": { - "message": "Purge Vault" - }, - "purgedOrganizationVault": { - "message": "Purged organization vault." - }, - "purgeVaultDesc": { - "message": "Proceed below to delete all items and folders in your vault. Items that belong to an organization that you share with will not be deleted." - }, - "purgeOrgVaultDesc": { - "message": "Proceed below to delete all items in the organization's vault." - }, - "purgeVaultWarning": { - "message": "Purging your vault is permanent. It cannot be undone." - }, - "vaultPurged": { - "message": "Your vault has been purged." - }, - "deleteAccount": { - "message": "Delete Account" - }, - "deleteAccountDesc": { - "message": "Proceed below to delete your account and all associated data." - }, - "deleteAccountWarning": { - "message": "Deleting your account is permanent. It cannot be undone." - }, - "accountDeleted": { - "message": "Account Deleted" - }, - "accountDeletedDesc": { - "message": "Your account has been closed and all associated data has been deleted." - }, - "myAccount": { - "message": "My Account" - }, - "tools": { - "message": "Tools" - }, - "importData": { - "message": "Import Data" - }, - "importSuccess": { - "message": "Data has been successfully imported into your vault." - }, - "importFormatError": { - "message": "Data is not formatted correctly. Please check your import file and try again." - }, - "importNothingError": { - "message": "Nothing was imported." - }, - "selectFormat": { - "message": "Select the format of the import file" - }, - "selectImportFile": { - "message": "Select the import file" - }, - "orCopyPasteFileContents": { - "message": "or copy/paste the import file contents" - }, - "instructionsFor": { - "message": "$NAME$ Instructions", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Options" - }, - "optionsDesc": { - "message": "Customize your web vault experience." - }, - "optionsUpdated": { - "message": "Options updated" - }, - "language": { - "message": "Language" - }, - "languageDesc": { - "message": "Change the language used by the web vault." - }, - "disableIcons": { - "message": "Disable Website Icons" - }, - "disableIconsDesc": { - "message": "Website Icons provide a recognizable image next to each login item in your vault." - }, - "enableGravatars": { - "message": "Enable Gravatars", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Use avatar images loaded from gravatar.com." - }, - "enableFullWidth": { - "message": "Enable Full Width Layout", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Allow the web vault to expand the full width of the browser window." - }, - "default": { - "message": "Default" - }, - "domainRules": { - "message": "Domain Rules" - }, - "domainRulesDesc": { - "message": "If you have the same login across multiple different website domains, you can mark the website as \"equivalent\". \"Global\" domains are ones already created for you by Bitwarden." - }, - "globalEqDomains": { - "message": "Global Equivalent Domains" - }, - "customEqDomains": { - "message": "Custom Equivalent Domains" - }, - "exclude": { - "message": "Exclude" - }, - "include": { - "message": "Include" - }, - "customize": { - "message": "Customize" - }, - "newCustomDomain": { - "message": "New Custom Domain" - }, - "newCustomDomainDesc": { - "message": "Enter a list of domains separated by commas. Only \"base\" domains are allowed. Do not enter subdomains. For example, enter \"google.com\" instead of \"www.google.com\". You can also enter \"androidapp://package.name\" to associate an android app with other website domains." - }, - "customDomainX": { - "message": "Custom Domain $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Domains updated" - }, - "twoStepLogin": { - "message": "Two-step Login" - }, - "twoStepLoginDesc": { - "message": "Secure your account by requiring an additional step when logging in." - }, - "twoStepLoginOrganizationDesc": { - "message": "Require two-step login for your organization's users by configuring providers at the organization level." - }, - "twoStepLoginRecoveryWarning": { - "message": "Enabling two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (ex. you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." - }, - "viewRecoveryCode": { - "message": "View Recovery Code" - }, - "providers": { - "message": "Providers", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Enable" - }, - "enabled": { - "message": "Enabled" - }, - "premium": { - "message": "Premium", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Premium Membership" - }, - "premiumRequired": { - "message": "Premium Required" - }, - "premiumRequiredDesc": { - "message": "A premium membership is required to use this feature." - }, - "youHavePremiumAccess": { - "message": "You have premium access" - }, - "alreadyPremiumFromOrg": { - "message": "You already have access to premium features because of an organization you are a member of." - }, - "manage": { - "message": "Manage" - }, - "disable": { - "message": "Disable" - }, - "twoStepLoginProviderEnabled": { - "message": "This two-step login provider is enabled on your account." - }, - "twoStepLoginAuthDesc": { - "message": "Enter your master password to modify two-step login settings." - }, - "twoStepAuthenticatorDesc": { - "message": "Follow these steps to set up two-step login with an authenticator app:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Download a two-step authenticator app" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Need a two-step authenticator app? Download one of the following" - }, - "iosDevices": { - "message": "iOS devices" - }, - "androidDevices": { - "message": "Android devices" - }, - "windowsDevices": { - "message": "Windows devices" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "These apps are recommended, however, other authenticator apps will also work." - }, - "twoStepAuthenticatorScanCode": { - "message": "Scan this QR code with your authenticator app" - }, - "key": { - "message": "Key" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Enter the resulting 6 digit verification code from the app" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "In case you need to add it to another device, below is the QR code (or key) required by your authenticator app." - }, - "twoStepDisableDesc": { - "message": "Are you sure you want to disable this two-step login provider?" - }, - "twoStepDisabled": { - "message": "Two-step login provider disabled." - }, - "twoFactorYubikeyAdd": { - "message": "Add a new YubiKey to your account" - }, - "twoFactorYubikeyPlugIn": { - "message": "Plug the YubiKey into your computer's USB port." - }, - "twoFactorYubikeySelectKey": { - "message": "Select the first empty YubiKey input field below." - }, - "twoFactorYubikeyTouchButton": { - "message": "Touch the YubiKey's button." - }, - "twoFactorYubikeySaveForm": { - "message": "Save the form." - }, - "twoFactorYubikeyWarning": { - "message": "Due to platform limitations, YubiKeys cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when YubiKeys cannot be used. Supported platforms:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Web vault, desktop application, CLI, and all browser extensions on a device with a USB port that can accept your YubiKey." - }, - "twoFactorYubikeySupportMobile": { - "message": "Mobile apps on a device with NFC capabilities or a data port that can accept your YubiKey." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "U2F Key $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "NFC Support" - }, - "twoFactorYubikeySupportsNfc": { - "message": "One of my keys supports NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "If one of your YubiKeys supports NFC (such as a YubiKey NEO), you will be prompted on mobile devices whenever NFC availability is detected." - }, - "yubikeysUpdated": { - "message": "YubiKeys updated" - }, - "disableAllKeys": { - "message": "Disable All Keys" - }, - "twoFactorDuoDesc": { - "message": "Enter the Bitwarden application information from your Duo Admin panel." - }, - "twoFactorDuoIntegrationKey": { - "message": "Integration Key" - }, - "twoFactorDuoSecretKey": { - "message": "Secret Key" - }, - "twoFactorDuoApiHostname": { - "message": "API Hostname" - }, - "twoFactorEmailDesc": { - "message": "Follow these steps to set up two-step login with email:" - }, - "twoFactorEmailEnterEmail": { - "message": "Enter the email that you wish to receive verification codes" - }, - "twoFactorEmailEnterCode": { - "message": "Enter the resulting 6 digit verification code from the email" - }, - "sendEmail": { - "message": "Send Email" - }, - "twoFactorU2fAdd": { - "message": "Add a FIDO U2F security key to your account" - }, - "removeU2fConfirmation": { - "message": "Are you sure you want to remove this security key?" - }, - "readKey": { - "message": "Read Key" - }, - "keyCompromised": { - "message": "Key is compromised." - }, - "twoFactorU2fGiveName": { - "message": "Give the security key a friendly name to identify it." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Plug the security key into your computer's USB port and click the \"Read Key\" button." - }, - "twoFactorU2fTouchButton": { - "message": "If the security key has a button, touch it." - }, - "twoFactorU2fSaveForm": { - "message": "Save the form." - }, - "twoFactorU2fWarning": { - "message": "Due to platform limitations, FIDO U2F cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when FIDO U2F cannot be used. Supported platforms:" - }, - "twoFactorU2fSupportWeb": { - "message": "Web vault and browser extensions on a desktop/laptop with a U2F enabled browser (Chrome, Opera, Vivaldi, or Firefox with FIDO U2F enabled)." - }, - "twoFactorU2fWaiting": { - "message": "Waiting for you to touch the button on your security key" - }, - "twoFactorU2fClickSave": { - "message": "Click the \"Save\" button below to enable this security key for two-step login." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "There was a problem reading the security key. Try again." - }, - "twoFactorRecoveryYourCode": { - "message": "Your Bitwarden two-step login recovery code" - }, - "twoFactorRecoveryNoCode": { - "message": "You have not enabled any two-step login providers yet. After you have enabled a two-step login provider you can check back here for your recovery code." - }, - "printCode": { - "message": "Print Code", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Reports" - }, - "unsecuredWebsitesReport": { - "message": "Unsecured Websites Report" - }, - "unsecuredWebsitesReportDesc": { - "message": "Using unsecured websites with the http:// scheme can be dangerous. If the website allows, you should always access it using the https:// scheme so that your connection is encrypted." - }, - "unsecuredWebsitesFound": { - "message": "Unsecured Websites Found" - }, - "unsecuredWebsitesFoundDesc": { - "message": "We found $COUNT$ items in your vault with unsecured URIs. You should change their URI scheme to https:// if the website allows it.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "No items in your vault have unsecured URIs." - }, - "inactive2faReport": { - "message": "Inactive 2FA Report" - }, - "inactive2faReportDesc": { - "message": "Two-factor authentication (2FA) is an important security setting that helps secure your accounts. If the website offers it, you should always enable two-factor authentication." - }, - "inactive2faFound": { - "message": "Logins Without 2FA Found" - }, - "inactive2faFoundDesc": { - "message": "We found $COUNT$ website(s) in your vault that may not be configured with two-factor authentication (according to 2fa.directory). To further protect these accounts, you should enable two-factor authentication.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "No websites were found in your vault with a missing two-factor authentication configuration." - }, - "instructions": { - "message": "Instructions" - }, - "exposedPasswordsReport": { - "message": "Exposed Passwords Report" - }, - "exposedPasswordsReportDesc": { - "message": "Exposed passwords are passwords that have been uncovered in known data breaches that were released publicly or sold on the dark web by hackers." - }, - "exposedPasswordsFound": { - "message": "Exposed Passwords Found" - }, - "exposedPasswordsFoundDesc": { - "message": "We found $COUNT$ items in your vault that have passwords that were exposed in known data breaches. You should change them to use a new password.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "No items in your vault have passwords that have been exposed in known data breaches." - }, - "checkExposedPasswords": { - "message": "Check Exposed Passwords" - }, - "exposedXTimes": { - "message": "Exposed $COUNT$ time(s)", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Weak Passwords Report" - }, - "weakPasswordsReportDesc": { - "message": "Weak passwords can easily be guessed by hackers and automated tools that are used to crack passwords. The Bitwarden password generator can help you create strong passwords." - }, - "weakPasswordsFound": { - "message": "Weak Passwords Found" - }, - "weakPasswordsFoundDesc": { - "message": "We found $COUNT$ items in your vault with passwords that are not strong. You should update them to use stronger passwords.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "No items in your vault have weak passwords." - }, - "reusedPasswordsReport": { - "message": "Reused Passwords Report" - }, - "reusedPasswordsReportDesc": { - "message": "If a service that you use is compromised, reusing the same password elsewhere can allow hackers to easily gain access to more of your online accounts. You should use a unique password for every account or service." - }, - "reusedPasswordsFound": { - "message": "Reused Passwords Found" - }, - "reusedPasswordsFoundDesc": { - "message": "We found $COUNT$ passwords that are being reused in your vault. You should change them to a unique value.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "No logins in your vault have passwords that are being reused." - }, - "reusedXTimes": { - "message": "Reused $COUNT$ times", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Data Breach Report" - }, - "breachDesc": { - "message": "A \"breach\" is an incident where a site's data has been illegally accessed by hackers and then released publicly. Review the types of data that were compromised (email addresses, passwords, credit cards etc.) and take appropriate action, such as changing passwords." - }, - "breachCheckUsernameEmail": { - "message": "Check any usernames or email addresses that you use." - }, - "checkBreaches": { - "message": "Check Breaches" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ was not found in any known data breaches.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Good News", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ was found in $COUNT$ different data breaches online.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Breached Accounts Found" - }, - "compromisedData": { - "message": "Compromised data" - }, - "website": { - "message": "Website" - }, - "affectedUsers": { - "message": "Affected Users" - }, - "breachOccurred": { - "message": "Breach Occurred" - }, - "breachReported": { - "message": "Breach Reported" - }, - "reportError": { - "message": "An error occurred trying to load the report. Try again" - }, - "billing": { - "message": "Billing" - }, - "accountCredit": { - "message": "Account Credit", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Account Balance", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Add Credit", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Amount", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Added credit will appear on your account after the payment has been fully processed. Some payment methods are delayed and can take longer to process than others." - }, - "makeSureEnoughCredit": { - "message": "Please make sure that your account has enough credit available for this purchase. If your account does not have enough credit available, your default payment method on file will be used for the difference. You can add credit to your account from the Billing page." - }, - "creditAppliedDesc": { - "message": "Your account's credit can be used to make purchases. Any available credit will be automatically applied towards invoices generated for this account." - }, - "goPremium": { - "message": "Go Premium", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "You've upgraded to premium." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Upgrade your account to a premium membership and unlock some great additional features." - }, - "premiumSignUpStorage": { - "message": "1 GB encrypted storage for file attachments." - }, - "premiumSignUpTwoStep": { - "message": "Additional two-step login options such as YubiKey, FIDO U2F, and Duo." - }, - "premiumSignUpReports": { - "message": "Password hygiene, account health, and data breach reports to keep your vault safe." - }, - "premiumSignUpTotp": { - "message": "TOTP verification code (2FA) generator for logins in your vault." - }, - "premiumSignUpSupport": { - "message": "Priority customer support." - }, - "premiumSignUpFuture": { - "message": "All future premium features. More coming soon!" - }, - "premiumPrice": { - "message": "All for just $PRICE$ /year!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Addons" - }, - "premiumAccess": { - "message": "Premium Access" - }, - "premiumAccessDesc": { - "message": "You can add premium access to all members of your organization for $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Additional Storage (GB)" - }, - "additionalStorageGbDesc": { - "message": "# of additional GB" - }, - "additionalStorageIntervalDesc": { - "message": "Your plan comes with $SIZE$ of encrypted file storage. You can add additional storage for $PRICE$ per GB /$INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Summary" - }, - "total": { - "message": "Total" - }, - "year": { - "message": "year" - }, - "month": { - "message": "month" - }, - "monthAbbr": { - "message": "mo.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Your payment method will be charged immediately and then on a recurring basis each year. You may cancel at any time." - }, - "paymentCharged": { - "message": "Your payment method will be charged immediately and then on a recurring basis each $INTERVAL$. You may cancel at any time.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Your plan comes with a free 7 day trial. Your payment method will not be charged until the trial has ended. Billing will occur on a recurring basis each $INTERVAL$. You may cancel at any time.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Payment Information" - }, - "billingInformation": { - "message": "Billing Information" - }, - "creditCard": { - "message": "Credit Card" - }, - "paypalClickSubmit": { - "message": "Click the PayPal button to log into your PayPal account, then click the Submit button below to continue." - }, - "cancelSubscription": { - "message": "Cancel Subscription" - }, - "subscriptionCanceled": { - "message": "The subscription has been canceled." - }, - "pendingCancellation": { - "message": "Pending Cancellation" - }, - "subscriptionPendingCanceled": { - "message": "The subscription has been marked for cancellation at the end of the current billing period." - }, - "reinstateSubscription": { - "message": "Reinstate Subscription" - }, - "reinstateConfirmation": { - "message": "Are you sure you want to remove the pending cancellation request and reinstate your subscription?" - }, - "reinstated": { - "message": "The subscription has been reinstated." - }, - "cancelConfirmation": { - "message": "Are you sure you want to cancel? You will lose access to all of this subscription's features at the end of this billing cycle." - }, - "canceledSubscription": { - "message": "The subscription has been canceled." - }, - "neverExpires": { - "message": "Never Expires" - }, - "status": { - "message": "Status" - }, - "nextCharge": { - "message": "Next Charge" - }, - "details": { - "message": "Details" - }, - "downloadLicense": { - "message": "Download License" - }, - "updateLicense": { - "message": "Update License" - }, - "updatedLicense": { - "message": "Updated license" - }, - "manageSubscription": { - "message": "Manage Subscription" - }, - "storage": { - "message": "Storage" - }, - "addStorage": { - "message": "Add Storage" - }, - "removeStorage": { - "message": "Remove Storage" - }, - "subscriptionStorage": { - "message": "Your subscription has a total of $MAX_STORAGE$ GB of encrypted file storage. You are currently using $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Payment Method" - }, - "noPaymentMethod": { - "message": "No payment method on file." - }, - "addPaymentMethod": { - "message": "Add Payment Method" - }, - "changePaymentMethod": { - "message": "Change Payment Method" - }, - "invoices": { - "message": "Invoices" - }, - "noInvoices": { - "message": "No invoices." - }, - "paid": { - "message": "Paid", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Unpaid", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Transactions", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "No transactions." - }, - "chargeNoun": { - "message": "Charge", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Refund", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Any charges will appear on your statement as $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "GB of Storage To Add" - }, - "gbStorageRemove": { - "message": "GB of Storage To Remove" - }, - "storageAddNote": { - "message": "Adding storage will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." - }, - "storageRemoveNote": { - "message": "Removing storage will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." - }, - "adjustedStorage": { - "message": "Adjusted $AMOUNT$ GB of storage.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Contact Customer Support" - }, - "updatedPaymentMethod": { - "message": "Updated payment method." - }, - "purchasePremium": { - "message": "Purchase Premium" - }, - "licenseFile": { - "message": "License File" - }, - "licenseFileDesc": { - "message": "Your license file will be named something like $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "To upgrade your account to a premium membership you need to upload a valid license file." - }, - "uploadLicenseFileOrg": { - "message": "To create an on-premises hosted organization you need to upload a valid license file." - }, - "accountEmailMustBeVerified": { - "message": "Your account's email address must be verified." - }, - "newOrganizationDesc": { - "message": "Organizations allow you to share parts of your vault with others as well as manage related users for a specific entity such as a family, small team, or large company." - }, - "generalInformation": { - "message": "General Information" - }, - "organizationName": { - "message": "Organization Name" - }, - "accountOwnedBusiness": { - "message": "This account is owned by a business." - }, - "billingEmail": { - "message": "Billing Email" - }, - "businessName": { - "message": "Business Name" - }, - "chooseYourPlan": { - "message": "Choose Your Plan" - }, - "users": { - "message": "Users" - }, - "userSeats": { - "message": "User Seats" - }, - "additionalUserSeats": { - "message": "Additional User Seats" - }, - "userSeatsDesc": { - "message": "# of user seats" - }, - "userSeatsAdditionalDesc": { - "message": "Your plan comes with $BASE_SEATS$ user seats. You can add additional users for $SEAT_PRICE$ per user /month.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "How many user seats do you need? You can also add additional seats later if needed." - }, - "planNameFree": { - "message": "Free", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "For testing or personal users to share with $COUNT$ other user.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Families" - }, - "planDescFamilies": { - "message": "For personal use, to share with family & friends." - }, - "planNameTeams": { - "message": "Teams" - }, - "planDescTeams": { - "message": "For businesses and other team organizations." - }, - "planNameEnterprise": { - "message": "Enterprise" - }, - "planDescEnterprise": { - "message": "For businesses and other large organizations." - }, - "freeForever": { - "message": "Free Forever" - }, - "includesXUsers": { - "message": "includes $COUNT$ users", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Additional Users" - }, - "costPerUser": { - "message": "$COST$ per user", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Limited to $COUNT$ users (including you)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Limited to $COUNT$ collections", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Add and share with up to $COUNT$ users", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Add and share with unlimited users" - }, - "createUnlimitedCollections": { - "message": "Create unlimited Collections" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ encrypted file storage", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "On-premise hosting (optional)" - }, - "usersGetPremium": { - "message": "Users get access to Premium Features" - }, - "controlAccessWithGroups": { - "message": "Control user access with Groups" - }, - "syncUsersFromDirectory": { - "message": "Sync your users and Groups from a directory" - }, - "trackAuditLogs": { - "message": "Track user actions with audit logs" - }, - "enforce2faDuo": { - "message": "Enforce 2FA with Duo" - }, - "priorityCustomerSupport": { - "message": "Priority customer support" - }, - "xDayFreeTrial": { - "message": "$COUNT$ day free trial, cancel anytime", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Monthly" - }, - "annually": { - "message": "Annually" - }, - "basePrice": { - "message": "Base Price" - }, - "organizationCreated": { - "message": "Organization Created" - }, - "organizationReadyToGo": { - "message": "Your new organization is ready to go!" - }, - "organizationUpgraded": { - "message": "Your organization has been upgraded." - }, - "leave": { - "message": "Leave" - }, - "leaveOrganizationConfirmation": { - "message": "Are you sure you want to leave this organization?" - }, - "leftOrganization": { - "message": "You have left the organization." - }, - "defaultCollection": { - "message": "Default Collection" - }, - "getHelp": { - "message": "Get Help" - }, - "getApps": { - "message": "Get the Apps" - }, - "loggedInAs": { - "message": "Logged in as" - }, - "eventLogs": { - "message": "Event Logs" - }, - "people": { - "message": "People" - }, - "policies": { - "message": "Policies" - }, - "editPolicy": { - "message": "Edit Policy" - }, - "groups": { - "message": "Groups" - }, - "newGroup": { - "message": "New Group" - }, - "addGroup": { - "message": "Add Group" - }, - "editGroup": { - "message": "Edit Group" - }, - "deleteGroupConfirmation": { - "message": "Are you sure you want to delete this group?" - }, - "removeUserConfirmation": { - "message": "Are you sure you want to remove this user?" - }, - "externalId": { - "message": "External Id" - }, - "externalIdDesc": { - "message": "The external id can be used as a reference or to link this resource to an external system such as a user directory." - }, - "accessControl": { - "message": "Access Control" - }, - "groupAccessAllItems": { - "message": "This group can access and modify all items." - }, - "groupAccessSelectedCollections": { - "message": "This group can access only the selected collections." - }, - "readOnly": { - "message": "Read Only" - }, - "newCollection": { - "message": "New Collection" - }, - "addCollection": { - "message": "Add Collection" - }, - "editCollection": { - "message": "Edit Collection" - }, - "deleteCollectionConfirmation": { - "message": "Are you sure you want to delete this collection?" - }, - "editUser": { - "message": "Edit User" - }, - "inviteUser": { - "message": "Invite User" - }, - "inviteUserDesc": { - "message": "Invite a new user to your organization by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "inviteMultipleEmailDesc": { - "message": "You can invite up to $COUNT$ users at a time by comma separating a list of email addresses.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "This user is using two-step login to protect their account." - }, - "userAccessAllItems": { - "message": "This user can access and modify all items." - }, - "userAccessSelectedCollections": { - "message": "This user can access only the selected collections." - }, - "search": { - "message": "Search" - }, - "invited": { - "message": "Invited" - }, - "accepted": { - "message": "Accepted" - }, - "confirmed": { - "message": "Confirmed" - }, - "owner": { - "message": "Owner" - }, - "ownerDesc": { - "message": "The highest access user that can manage all aspects of your organization." - }, - "admin": { - "message": "Admin" - }, - "adminDesc": { - "message": "Admins can access and manage all items, collections and users in your organization." - }, - "user": { - "message": "User" - }, - "userDesc": { - "message": "A regular user with access to assigned collections in your organization." - }, - "manager": { - "message": "Manager" - }, - "managerDesc": { - "message": "Managers can access and manage assigned collections in your organization." - }, - "all": { - "message": "All" - }, - "refresh": { - "message": "Refresh" - }, - "timestamp": { - "message": "Timestamp" - }, - "event": { - "message": "Event" - }, - "unknown": { - "message": "Unknown" - }, - "loadMore": { - "message": "Load More" - }, - "mobile": { - "message": "Mobile", - "description": "Mobile app" - }, - "extension": { - "message": "Extension", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Desktop", - "description": "Desktop app" - }, - "webVault": { - "message": "Web Vault" - }, - "loggedIn": { - "message": "Logged in." - }, - "changedPassword": { - "message": "Changed account password." - }, - "enabledUpdated2fa": { - "message": "Enabled/updated two-step login." - }, - "disabled2fa": { - "message": "Disabled two-step login." - }, - "recovered2fa": { - "message": "Recovered account from two-step login." - }, - "failedLogin": { - "message": "Login attempt failed with incorrect password." - }, - "failedLogin2fa": { - "message": "Login attempt failed with incorrect two-step login." - }, - "exportedVault": { - "message": "Exported vault." - }, - "exportedOrganizationVault": { - "message": "Exported organization vault." - }, - "editedOrgSettings": { - "message": "Edited organization settings." - }, - "createdItemId": { - "message": "Created item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Edited item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Sent item $ID$ to trash.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Shared item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Viewed item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Viewed password for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Viewed hidden field for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Viewed security code for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Copied password for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Copied hidden field for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Copied security code for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Auto-filled item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Created collection $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Edited collection $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Deleted collection $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Edited policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Created group $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Edited group $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Deleted group $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Removed user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Created attachment for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Deleted attachment for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Edited collections for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Invited user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Confirmed user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Edited user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Edited groups for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Device" - }, - "view": { - "message": "View" - }, - "invalidDateRange": { - "message": "Invalid date range." - }, - "errorOccurred": { - "message": "An error has occurred." - }, - "userAccess": { - "message": "User Access" - }, - "userType": { - "message": "User Type" - }, - "groupAccess": { - "message": "Group Access" - }, - "groupAccessUserDesc": { - "message": "Edit the groups that this user belongs to." - }, - "invitedUsers": { - "message": "Invited user(s)." - }, - "resendInvitation": { - "message": "Resend Invitation" - }, - "hasBeenReinvited": { - "message": "$USER$ has been reinvited.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Confirm" - }, - "confirmUser": { - "message": "Confirm User" - }, - "hasBeenConfirmed": { - "message": "$USER$ has been confirmed.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Confirm Users" - }, - "usersNeedConfirmed": { - "message": "You have users that have accepted their invitation, but still need to be confirmed. Users will not have access to the organization until they are confirmed." - }, - "startDate": { - "message": "Start Date" - }, - "endDate": { - "message": "End Date" - }, - "verifyEmail": { - "message": "Verify Email" - }, - "verifyEmailDesc": { - "message": "Verify your account's email address to unlock access to all features." - }, - "verifyEmailFirst": { - "message": "Your account's email address first must be verified." - }, - "checkInboxForVerification": { - "message": "Check your email inbox for a verification link." - }, - "emailVerified": { - "message": "Your email has been verified." - }, - "emailVerifiedFailed": { - "message": "Unable to verify your email. Try sending a new verification email." - }, - "updateBrowser": { - "message": "Update Browser" - }, - "updateBrowserDesc": { - "message": "You are using an unsupported web browser. The web vault may not function properly." - }, - "joinOrganization": { - "message": "Join Organization" - }, - "joinOrganizationDesc": { - "message": "You've been invited to join the organization listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "inviteAccepted": { - "message": "Invitation Accepted" - }, - "inviteAcceptedDesc": { - "message": "You can access this organization once an administrator confirms your membership. We'll send you an email when that happens." - }, - "inviteAcceptFailed": { - "message": "Unable to accept invitation. Ask an organization admin to send a new invitation." - }, - "inviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Remember email" - }, - "recoverAccountTwoStepDesc": { - "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to disable all two-step providers on your account." - }, - "recoverAccountTwoStep": { - "message": "Recover Account Two-Step Login" - }, - "twoStepRecoverDisabled": { - "message": "Two-step login has been disabled on your account." - }, - "learnMore": { - "message": "Learn more" - }, - "deleteRecoverDesc": { - "message": "Enter your email address below to recover and delete your account." - }, - "deleteRecoverEmailSent": { - "message": "If your account exists, we've sent you an email with further instructions." - }, - "deleteRecoverConfirmDesc": { - "message": "You have requested to delete your Bitwarden account. Click the button below to confirm." - }, - "myOrganization": { - "message": "My Organization" - }, - "deleteOrganization": { - "message": "Delete Organization" - }, - "deleteOrganizationDesc": { - "message": "Proceed below to delete this organization and all associated data. Individual user accounts will remain, though they will not be associated to this organization anymore. " - }, - "deleteOrganizationWarning": { - "message": "Deleting the organization is permanent. It cannot be undone." - }, - "organizationDeleted": { - "message": "Organization Deleted" - }, - "organizationDeletedDesc": { - "message": "The organization and all associated data has been deleted." - }, - "organizationUpdated": { - "message": "Organization updated" - }, - "taxInformation": { - "message": "Tax Information" - }, - "taxInformationDesc": { - "message": "For customers within the US, ZIP code is required to satisfy sales tax requirements, for other countries you may optionally provide a tax identification number (VAT/GST) and/or address to appear on your invoices." - }, - "billingPlan": { - "message": "Plan", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Change Plan", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Upgrade your account to another plan by providing the information below. Please ensure that you have an active payment method added to the account.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Contact customer support if you would like to change your plan. Please ensure that you have an active payment method added to the account.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Invoice #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "View Invoice" - }, - "downloadInvoice": { - "message": "Download Invoice" - }, - "verifyBankAccount": { - "message": "Verify Bank Account" - }, - "verifyBankAccountDesc": { - "message": "We have made two micro-deposits to your bank account (it may take 1-2 business days to show up). Enter these amounts to verify the bank account." - }, - "verifyBankAccountInitialDesc": { - "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make two micro-deposits within the next 1-2 business days. Enter these amounts on the organization's billing page to verify the bank account." - }, - "verifyBankAccountFailureWarning": { - "message": "Failure to verify the bank account will result in a missed payment and your subscription being disabled." - }, - "verifiedBankAccount": { - "message": "Bank account has been verified." - }, - "bankAccount": { - "message": "Bank Account" - }, - "amountX": { - "message": "Amount $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Routing Number", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Account Number" - }, - "accountHolderName": { - "message": "Account Holder Name" - }, - "bankAccountType": { - "message": "Account Type" - }, - "bankAccountTypeCompany": { - "message": "Company (Business)" - }, - "bankAccountTypeIndividual": { - "message": "Individual (Personal)" - }, - "enterInstallationId": { - "message": "Enter your installation id" - }, - "addSeats": { - "message": "Add Seats", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Remove Seats", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Your subscription allows for a total of $COUNT$ users.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Seats To Add" - }, - "seatsToRemove": { - "message": "Seats To Remove" - }, - "seatsAddNote": { - "message": "Adding user seats will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." - }, - "seatsRemoveNote": { - "message": "Removing user seats will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." - }, - "adjustedSeats": { - "message": "Adjusted $AMOUNT$ user seats.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Key Updated" - }, - "updateKeyTitle": { - "message": "Update Key" - }, - "updateEncryptionKey": { - "message": "Update Encryption Key" - }, - "updateEncryptionKeyShortDesc": { - "message": "You are currently using an outdated encryption scheme." - }, - "updateEncryptionKeyDesc": { - "message": "We've moved to larger encryption keys that provide better security and access to newer features. Updating your encryption key is quick and easy. Just type your master password below. This update will eventually become mandatory." - }, - "updateEncryptionKeyWarning": { - "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." - }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." - }, - "subscription": { - "message": "Subscription" - }, - "loading": { - "message": "Loading" - }, - "upgrade": { - "message": "Upgrade" - }, - "upgradeOrganization": { - "message": "Upgrade Organization" - }, - "upgradeOrganizationDesc": { - "message": "This feature is not available for free organizations. Switch to a paid plan to unlock more features." - }, - "createOrganizationStep1": { - "message": "Create Organization: Step 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Before creating your organization, you first need to create a free personal account." - }, - "refunded": { - "message": "Refunded" - }, - "nothingSelected": { - "message": "You have not selected anything." - }, - "acceptPolicies": { - "message": "By checking this box you agree to the following:" - }, - "acceptPoliciesError": { - "message": "Terms of Service and Privacy Policy have not been acknowledged." - }, - "termsOfService": { - "message": "Terms of Service" - }, - "privacyPolicy": { - "message": "Privacy Policy" - }, - "filters": { - "message": "Filters" - }, - "vaultTimeout": { - "message": "Vault Timeout" - }, - "vaultTimeoutDesc": { - "message": "Choose when your vault will timeout and perform the selected action." - }, - "oneMinute": { - "message": "1 minute" - }, - "fiveMinutes": { - "message": "5 minutes" - }, - "fifteenMinutes": { - "message": "15 minutes" - }, - "thirtyMinutes": { - "message": "30 minutes" - }, - "oneHour": { - "message": "1 hour" - }, - "fourHours": { - "message": "4 hours" - }, - "onRefresh": { - "message": "On Browser Refresh" - }, - "dateUpdated": { - "message": "Updated", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Password Updated", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "Organization is disabled." - }, - "licenseIsExpired": { - "message": "License is expired." - }, - "updatedUsers": { - "message": "Updated users" - }, - "selected": { - "message": "Selected" - }, - "ownership": { - "message": "Ownership" - }, - "whoOwnsThisItem": { - "message": "Who owns this item?" - }, - "strong": { - "message": "Strong", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Good", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Weak", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Very Weak", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Weak Master Password" - }, - "weakMasterPasswordDesc": { - "message": "The master password you have chosen is weak. You should use a strong master password (or a passphrase) to properly protect your Bitwarden account. Are you sure you want to use this master password?" - }, - "rotateAccountEncKey": { - "message": "Also rotate my account's encryption key" - }, - "rotateEncKeyTitle": { - "message": "Rotate Encryption Key" - }, - "rotateEncKeyConfirmation": { - "message": "Are you sure you want to rotate your account's encryption key?" - }, - "attachmentsNeedFix": { - "message": "This item has old file attachments that need to be fixed." - }, - "attachmentFixDesc": { - "message": "This is an old file attachment the needs to be fixed. Click to learn more." - }, - "fix": { - "message": "Fix", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "There are old file attachments in your vault that need to be fixed before you can rotate your account's encryption key." - }, - "yourAccountsFingerprint": { - "message": "Your account's fingerprint phrase", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "To ensure the integrity of your encryption keys, please verify the user's fingerprint phrase before continuing.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Don't ask to verify fingerprint phrase again", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Free", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "API Key" - }, - "apiKeyDesc": { - "message": "Your API key can be used to authenticate to the Bitwarden public API." - }, - "apiKeyRotateDesc": { - "message": "Rotating the API key will invalidate the previous key. You can rotate your API key if you believe that the current key is no longer safe to use." - }, - "apiKeyWarning": { - "message": "Your API key has full access to the organization. It should be kept secret." - }, - "userApiKeyDesc": { - "message": "Your API key can be used to authenticate in the Bitwarden CLI." - }, - "userApiKeyWarning": { - "message": "Your API key is an alternative authentication mechanism. It should be kept secret." - }, - "oauth2ClientCredentials": { - "message": "OAuth 2.0 Client Credentials", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "View API Key" - }, - "rotateApiKey": { - "message": "Rotate API Key" - }, - "selectOneCollection": { - "message": "You must select at least one collection." - }, - "couldNotChargeCardPayInvoice": { - "message": "We were not able to charge your card. Please view and pay the unpaid invoice listed below." - }, - "inAppPurchase": { - "message": "In-app Purchase" - }, - "cannotPerformInAppPurchase": { - "message": "You cannot perform this action while using an in-app purchase payment method." - }, - "manageSubscriptionFromStore": { - "message": "You must manage your subscription from the store where your in-app purchase was made." - }, - "minLength": { - "message": "Minimum Length" - }, - "clone": { - "message": "Clone" - }, - "masterPassPolicyDesc": { - "message": "Set minimum requirements for master password strength." - }, - "twoStepLoginPolicyDesc": { - "message": "Require users to set up two-step login on their personal accounts." - }, - "twoStepLoginPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and do not have two-step login enabled for their personal account will be removed from the organization and will receive an email notifying them about the change." - }, - "twoStepLoginPolicyUserWarning": { - "message": "You are a member of an organization that requires two-step login to be enabled on your user account. If you disable all two-step login providers you will be automatically removed from these organizations." - }, - "passwordGeneratorPolicyDesc": { - "message": "Set minimum requirements for password generator configuration." - }, - "passwordGeneratorPolicyInEffect": { - "message": "One or more organization policies are affecting your generator settings." - }, - "masterPasswordPolicyInEffect": { - "message": "One or more organization policies require your master password to meet the following requirements:" - }, - "policyInEffectMinComplexity": { - "message": "Minimum complexity score of $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Minimum length of $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Contain one or more uppercase characters" - }, - "policyInEffectLowercase": { - "message": "Contain one or more lowercase characters" - }, - "policyInEffectNumbers": { - "message": "Contain one or more numbers" - }, - "policyInEffectSpecial": { - "message": "Contain one or more of the following special characters $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Your new master password does not meet the policy requirements." - }, - "minimumNumberOfWords": { - "message": "Minimum Number of Words" - }, - "defaultType": { - "message": "Default Type" - }, - "userPreference": { - "message": "User Preference" - }, - "vaultTimeoutAction": { - "message": "Vault Timeout Action" - }, - "vaultTimeoutActionLockDesc": { - "message": "A locked vault requires that you re-enter your master password to access it again." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "A logged out vault requires that you re-authenticate to access it again." - }, - "lock": { - "message": "Lock", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Trash", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Search Trash" - }, - "permanentlyDelete": { - "message": "Permanently Delete" - }, - "permanentlyDeleteSelected": { - "message": "Permanently Delete Selected" - }, - "permanentlyDeleteItem": { - "message": "Permanently Delete Item" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Are you sure you want to permanently delete this item?" - }, - "permanentlyDeletedItem": { - "message": "Permanently Deleted item" - }, - "permanentlyDeletedItems": { - "message": "Permanently Deleted items" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to permanently delete. Are you sure you want to permanently delete all of these items?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Permanently Deleted item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Restore" - }, - "restoreSelected": { - "message": "Restore Selected" - }, - "restoreItem": { - "message": "Restore Item" - }, - "restoredItem": { - "message": "Restored Item" - }, - "restoredItems": { - "message": "Restored Items" - }, - "restoreItemConfirmation": { - "message": "Are you sure you want to restore this item?" - }, - "restoreItems": { - "message": "Restore items" - }, - "restoreSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to restore. Are you sure you want to restore all of these items?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Restored item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Logging out will remove all access to your vault and requires online authentication after the timeout period. Are you sure you want to use this setting?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Timeout Action Confirmation" - }, - "hidePasswords": { - "message": "Hide Passwords" - }, - "countryPostalCodeRequiredDesc": { - "message": "We require this information for calculating sales tax and financial reporting only." - }, - "includeVAT": { - "message": "Include VAT/GST Information (optional)" - }, - "taxIdNumber": { - "message": "VAT/GST Tax ID" - }, - "taxInfoUpdated": { - "message": "Tax information updated." - }, - "setMasterPassword": { - "message": "Set Master Password" - }, - "ssoCompleteRegistration": { - "message": "In order to complete logging in with SSO, please set a master password to access and protect your vault." - }, - "identifier": { - "message": "Identifier" - }, - "organizationIdentifier": { - "message": "Organization Identifier" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Log in using your organization's single sign-on portal. Please enter your organization's identifier to begin." - }, - "enterpriseSingleSignOn": { - "message": "Enterprise Single Sign-On" - }, - "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." - }, - "businessPortal": { - "message": "Business Portal", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "All Teams features, plus:" - }, - "includeSsoAuthentication": { - "message": "SSO Authentication via SAML2.0 and OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Enterprise Policies" - }, - "ssoValidationFailed": { - "message": "SSO Validation Failed" - }, - "ssoIdentifierRequired": { - "message": "Organization Identifier is required." - }, - "unlinkSso": { - "message": "Unlink SSO" - }, - "linkSso": { - "message": "Link SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "Policy configuration has been moved, and this page will soon be deprecated. Please click below to use the Business Portal policies page instead." - }, - "singleOrg": { - "message": "Single Organization" - }, - "singleOrgDesc": { - "message": "Restrict users from being able to join any other organizations." - }, - "singleOrgBlockCreateMessage": { - "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." - }, - "singleOrgPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and are already a member of another organization will be removed from your organization." - }, - "requireSso": { - "message": "Single Sign-On Authentication" - }, - "requireSsoPolicyDesc": { - "message": "Require users to log in with the Enterprise Single Sign-On method." - }, - "prerequisite": { - "message": "Prerequisite" - }, - "requireSsoPolicyReq": { - "message": "The Single Organization enterprise policy must be enabled before activating this policy." - }, - "requireSsoPolicyReqError": { - "message": "Single Organization policy not enabled." - }, - "requireSsoExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "sendTypeFile": { - "message": "File" - }, - "sendTypeText": { - "message": "Text" - }, - "createSend": { - "message": "Create New Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Edit Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Created Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Edited Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Deleted Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Delete Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Are you sure you want to delete this Send?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "What type of Send is this?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Deletion Date" - }, - "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Expiration Date" - }, - "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Maximum Access Count" - }, - "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Current Access Count" - }, - "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Private notes about this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Disabled" - }, - "sendLink": { - "message": "Send Link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Copy Send Link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Remove Password" - }, - "removedPassword": { - "message": "Removed Password" - }, - "removePasswordConfirmation": { - "message": "Are you sure you want to remove the password?" - }, - "disableThisSend": { - "message": "Disable this Send so that no one can access it.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "All Sends" - }, - "maxAccessCountReached": { - "message": "Max access count reached" - }, - "pendingDeletion": { - "message": "Pending deletion" - }, - "expired": { - "message": "Expired" - }, - "searchSends": { - "message": "Search Sends", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "This Send is protected with a password. Please type the password below to continue.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Don't know the password? Ask the Sender for the password needed to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "This send is hidden by default. You can toggle its visibility using the button below.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Download File" - }, - "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "There are no Sends to list.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Emergency Access" - }, - "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." - }, - "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" - }, - "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." - }, - "addEmergencyContact": { - "message": "Add emergency contact" - }, - "designatedEmergencyContacts": { - "message": "Designated as emergency contact" - }, - "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." - }, - "inviteEmergencyContact": { - "message": "Invite emergency contact" - }, - "editEmergencyContact": { - "message": "Edit emergency contact" - }, - "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" - }, - "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" - }, - "viewDesc": { - "message": "Can view all items in your own vault." - }, - "takeover": { - "message": "Takeover" - }, - "takeoverDesc": { - "message": "Can reset your account with a new master password." - }, - "waitTime": { - "message": "Wait Time" - }, - "waitTimeDesc": { - "message": "Time required before automatically granting access." - }, - "oneDay": { - "message": "1 day" - }, - "days": { - "message": "$DAYS$ days", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Invited user." - }, - "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." - }, - "requestAccess": { - "message": "Request Access" - }, - "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Approve" - }, - "reject": { - "message": "Reject" - }, - "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Emergency access approved." - }, - "emergencyRejected": { - "message": "Emergency access rejected" - }, - "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Personal Ownership" - }, - "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." - }, - "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." - }, - "modifiedPolicyId": { - "message": "Modified policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Plan price" - }, - "estimatedTax": { - "message": "Estimated tax" - }, - "custom": { - "message": "Custom" - }, - "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." - }, - "permissions": { - "message": "Permissions" - }, - "accessBusinessPortal": { - "message": "Access Business Portal" - }, - "accessEventLogs": { - "message": "Access Event Logs" - }, - "accessImportExport": { - "message": "Access Import/Export" - }, - "accessReports": { - "message": "Access Reports" - }, - "manageAllCollections": { - "message": "Manage All Collections" - }, - "manageAssignedCollections": { - "message": "Manage Assigned Collections" - }, - "manageGroups": { - "message": "Manage Groups" - }, - "managePolicies": { - "message": "Manage Policies" - }, - "manageSso": { - "message": "Manage SSO" - }, - "manageUsers": { - "message": "Manage Users" - }, - "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." - }, - "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." - }, - "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" - }, - "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/sr/messages.json b/locales/sr/messages.json deleted file mode 100644 index e14dee0a..00000000 --- a/locales/sr/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$ Интернет Сеф", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "Који је ово тип елечената?" - }, - "name": { - "message": "Име" - }, - "uri": { - "message": "Линк" - }, - "uriPosition": { - "message": "Линк $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "Нови линк" - }, - "username": { - "message": "Корисничко име" - }, - "password": { - "message": "Лозинка" - }, - "newPassword": { - "message": "Нова лозинка" - }, - "passphrase": { - "message": "Фраза лозинка" - }, - "notes": { - "message": "Напомене" - }, - "customFields": { - "message": "Прилагођена Поља" - }, - "cardholderName": { - "message": "Име Власника Картице" - }, - "number": { - "message": "Број" - }, - "brand": { - "message": "Произвођач" - }, - "expiration": { - "message": "Истек" - }, - "securityCode": { - "message": "Безбедносни кôд (CVV)" - }, - "identityName": { - "message": "Име идентитета" - }, - "company": { - "message": "Предузеће" - }, - "ssn": { - "message": "Број социјалног осигурања" - }, - "passportNumber": { - "message": "Број пасоша" - }, - "licenseNumber": { - "message": "Број возачке дозволе" - }, - "email": { - "message": "Е-пошта" - }, - "phone": { - "message": "Телефон" - }, - "january": { - "message": "Јануар" - }, - "february": { - "message": "Фебруар" - }, - "march": { - "message": "Март" - }, - "april": { - "message": "Април" - }, - "may": { - "message": "Мај" - }, - "june": { - "message": "Јун" - }, - "july": { - "message": "Јул" - }, - "august": { - "message": "Август" - }, - "september": { - "message": "Септембар" - }, - "october": { - "message": "Октобар" - }, - "november": { - "message": "Новембар" - }, - "december": { - "message": "Децембар" - }, - "title": { - "message": "Наслов" - }, - "mr": { - "message": "Г." - }, - "mrs": { - "message": "Гђц." - }, - "ms": { - "message": "Гђа." - }, - "dr": { - "message": "Др" - }, - "expirationMonth": { - "message": "Месец истека" - }, - "expirationYear": { - "message": "Година истека" - }, - "authenticatorKeyTotp": { - "message": "Једнократни код" - }, - "folder": { - "message": "Фасцикла" - }, - "newCustomField": { - "message": "Ново прилагођено поље" - }, - "value": { - "message": "Вредност" - }, - "dragToSort": { - "message": "Превуците за сортирање" - }, - "cfTypeText": { - "message": "Текст" - }, - "cfTypeHidden": { - "message": "Сакривено" - }, - "cfTypeBoolean": { - "message": "Булове" - }, - "remove": { - "message": "Уклони" - }, - "unassigned": { - "message": "Недодељено" - }, - "noneFolder": { - "message": "Без фасцикле", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Додај фасциклу" - }, - "editFolder": { - "message": "Уреди фасциклу" - }, - "baseDomain": { - "message": "Главни домен" - }, - "host": { - "message": "Хост", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Тачно" - }, - "startsWith": { - "message": "Почиње са" - }, - "regEx": { - "message": "Регуларни израз", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Налажење УРЛ", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Стандардно налажење вење", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Никад" - }, - "toggleVisibility": { - "message": "Пребаци видљивост" - }, - "toggleCollapse": { - "message": "Пребаци проширење", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Генерисање лозинке" - }, - "checkPassword": { - "message": "Проверите да ли је лозинка изложена." - }, - "passwordExposed": { - "message": "Ова лозинка је изложена $VALUE$ пута. Требали би да је промените.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "Ова лозинка није никада изложена. Треба да је сигурна за употребу." - }, - "save": { - "message": "Сачувај" - }, - "cancel": { - "message": "Откажи" - }, - "canceled": { - "message": "Отказано" - }, - "close": { - "message": "Затвори" - }, - "delete": { - "message": "Обриши" - }, - "favorite": { - "message": "Омиљено" - }, - "unfavorite": { - "message": "Скини омиљено" - }, - "edit": { - "message": "Уреди" - }, - "searchCollection": { - "message": "Претражи колекцију" - }, - "searchFolder": { - "message": "Претражи фасцикли" - }, - "searchFavorites": { - "message": "Претражи омиљене" - }, - "searchType": { - "message": "Претражи тип", - "description": "Search item type" - }, - "searchVault": { - "message": "Претражи сеф" - }, - "allItems": { - "message": "Све ставке" - }, - "favorites": { - "message": "Омиљени" - }, - "types": { - "message": "Врсте" - }, - "typeLogin": { - "message": "Пријава" - }, - "typeCard": { - "message": "Кредитна Картица" - }, - "typeIdentity": { - "message": "Идентитет" - }, - "typeSecureNote": { - "message": "Сигурносна белешка" - }, - "folders": { - "message": "Фасцикле" - }, - "collections": { - "message": "Колекције" - }, - "firstName": { - "message": "Име" - }, - "middleName": { - "message": "Средње име" - }, - "lastName": { - "message": "Презиме" - }, - "address1": { - "message": "Адреса 1" - }, - "address2": { - "message": "Адреса 2" - }, - "address3": { - "message": "Адреса 3" - }, - "cityTown": { - "message": "Град" - }, - "stateProvince": { - "message": "Држава / покрајина" - }, - "zipPostalCode": { - "message": "Поштански број" - }, - "country": { - "message": "Земља" - }, - "shared": { - "message": "Дељено" - }, - "attachments": { - "message": "Прилози" - }, - "select": { - "message": "Изабери" - }, - "addItem": { - "message": "Додај ставку" - }, - "editItem": { - "message": "Уреди ставку" - }, - "viewItem": { - "message": "Види ставку" - }, - "ex": { - "message": "нпр.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Остало" - }, - "share": { - "message": "Подели" - }, - "valueCopied": { - "message": "$VALUE$ копирано", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Копирај вредност", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Копирај лозинку", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Копирај име", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Копирај број", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Копирај сигурносни код", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Копирај УРЛ", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "Мој Сеф" - }, - "vault": { - "message": "Сеф" - }, - "shareSelected": { - "message": "Подели изабрано" - }, - "deleteSelected": { - "message": "Избриши изабрано" - }, - "moveSelected": { - "message": "Премести изабрано" - }, - "selectAll": { - "message": "Изабери све" - }, - "unselectAll": { - "message": "Поништи избор" - }, - "launch": { - "message": "Отвори" - }, - "newAttachment": { - "message": "Додај нови прилог" - }, - "deletedAttachment": { - "message": "Избрисан прилог" - }, - "deleteAttachmentConfirmation": { - "message": "Сигурно обрисати овај прилог?" - }, - "attachmentSaved": { - "message": "Прилог је сачуван." - }, - "file": { - "message": "Датотека" - }, - "selectFile": { - "message": "Изабери датотеку." - }, - "maxFileSize": { - "message": "Максимална величина је 100МБ." - }, - "updateKey": { - "message": "Не можете да користите ову способност док не промените Ваш кључ за шифровање." - }, - "addedItem": { - "message": "Ставка додата" - }, - "editedItem": { - "message": "Ставка уређена" - }, - "sharedItem": { - "message": "Ставка подељена" - }, - "sharedItems": { - "message": "Ставке подељене" - }, - "deleteItem": { - "message": "Обриши ставку" - }, - "deleteFolder": { - "message": "Избриши фасциклу" - }, - "deleteAttachment": { - "message": "Избриши прилог" - }, - "deleteItemConfirmation": { - "message": "Сигурно избрисати ову ставку?" - }, - "deletedItem": { - "message": "Ставка послана у отпад" - }, - "deletedItems": { - "message": "Ставке послане у отпад" - }, - "movedItems": { - "message": "Ставке померене" - }, - "overwritePasswordConfirmation": { - "message": "Сигурно преписати тренутну лозинку?" - }, - "editedFolder": { - "message": "Фасцикла измењена" - }, - "addedFolder": { - "message": "Фасцикла додата" - }, - "deleteFolderConfirmation": { - "message": "Сигурно обрисати ову фасциклу?" - }, - "deletedFolder": { - "message": "Фасцикла обрисана" - }, - "loggedOut": { - "message": "Одјављено" - }, - "loginExpired": { - "message": "Ваша сесија пријаве је истекла." - }, - "logOutConfirmation": { - "message": "Заиста желите да се одјавите?" - }, - "logOut": { - "message": "Одјави се" - }, - "ok": { - "message": "У реду" - }, - "yes": { - "message": "Да" - }, - "no": { - "message": "Не" - }, - "loginOrCreateNewAccount": { - "message": "Пријавите се или креирајте нови налог за приступ Сефу." - }, - "createAccount": { - "message": "Креирај налог" - }, - "logIn": { - "message": "Пријавите се" - }, - "submit": { - "message": "Пошаљи" - }, - "emailAddressDesc": { - "message": "Користите ваш имејл за пријављивање." - }, - "yourName": { - "message": "Ваше име" - }, - "yourNameDesc": { - "message": "Како се зовете?" - }, - "masterPass": { - "message": "Главна Лозинка" - }, - "masterPassDesc": { - "message": "Главна Лозинка је лозинка коју користите за приступ Вашем сефу. Врло је важно да је не заборавите. Не постоји начин да повратите лозинку у случају да је заборавите." - }, - "masterPassHintDesc": { - "message": "Савет Главне Лозинке може да Вам помогне да се је потсетите ако је заборавите." - }, - "reTypeMasterPass": { - "message": "Поновити Главну Лозинку" - }, - "masterPassHint": { - "message": "Савет Главне Лозинке (опционо)" - }, - "masterPassHintLabel": { - "message": "Савет Главне Лозинке" - }, - "settings": { - "message": "Подешавања" - }, - "passwordHint": { - "message": "Помоћ за лозинку" - }, - "enterEmailToGetHint": { - "message": "Унесите Ваш имејл да би добили савет за Вашу Главну Лозинку." - }, - "getMasterPasswordHint": { - "message": "Добити савет за Главну Лозинку" - }, - "emailRequired": { - "message": "Имејл је неопходан." - }, - "invalidEmail": { - "message": "Неисправан имејл." - }, - "masterPassRequired": { - "message": "Главна Лозинка је неопходна." - }, - "masterPassLength": { - "message": "Главна Лозинка треба имати бар 8 знака." - }, - "masterPassDoesntMatch": { - "message": "Потврђена Главна Лозинка се не подудара." - }, - "newAccountCreated": { - "message": "Ваш налог је креиран! Сада се можте пријавити." - }, - "masterPassSent": { - "message": "Послали смо Вам поруку са саветом главне лозинке." - }, - "unexpectedError": { - "message": "Дошло је до неочекиване грешке." - }, - "emailAddress": { - "message": "Имејл" - }, - "yourVaultIsLocked": { - "message": "Сеф је блокиран. Унесите главну лозинку за наставак." - }, - "unlock": { - "message": "Откључај" - }, - "loggedInAsEmailOn": { - "message": "Пријављено са $EMAIL$ на $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Погрешна главна лозинка" - }, - "lockNow": { - "message": "Закључај одмах" - }, - "noItemsInList": { - "message": "Нама ставке у листи." - }, - "noCollectionsInList": { - "message": "Нема колекције у листи." - }, - "noGroupsInList": { - "message": "Нема групе у листи." - }, - "noUsersInList": { - "message": "Нема корисника у листи." - }, - "noEventsInList": { - "message": "Нема догађаја у листи." - }, - "newOrganization": { - "message": "Нова организација" - }, - "noOrganizationsList": { - "message": "Не припадате ниједној организацији. Организације вам омогућавају да безбедно делите ставке са другим корисницима." - }, - "versionNumber": { - "message": "Верзија $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Унесите шестоцифрени верификациони код из апликације за утврђивање аутентичности." - }, - "enterVerificationCodeEmail": { - "message": "Унесите шестоцифрени верификациони код који је послан на $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "Провера имејла послата на $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Запамти ме" - }, - "sendVerificationCodeEmailAgain": { - "message": "Поново послати верификациони код на имејл" - }, - "useAnotherTwoStepMethod": { - "message": "Користите другу методу пријављивања у два корака" - }, - "insertYubiKey": { - "message": "Убаците свој YubiKey у УСБ порт рачунара, а затим додирните његово дугме." - }, - "insertU2f": { - "message": "Убаците свој сигурносни кључ у УСБ порт рачунара, и ако има дугме, додирните га." - }, - "loginUnavailable": { - "message": "Пријава недоступна" - }, - "noTwoStepProviders": { - "message": "Овај налог има омогућено пријављивање у два корака, међутим овај веб прегледач не подржава ниједног од конфигурисаних добављача." - }, - "noTwoStepProviders2": { - "message": "Користите подржани веб прегледач (као што је Chrome) и/или додајте додатне добављаче који су боље подржани у веб прегледачима (као што је апликација за аутентификацију)." - }, - "twoStepOptions": { - "message": "Опције дво-коракне пријаве" - }, - "recoveryCodeDesc": { - "message": "Изгубили сте приступ свим својим двофакторским добављачима? Употребите код за опоравак да онемогућите све двофакторске добављаче из налога." - }, - "recoveryCodeTitle": { - "message": "Шифра за опоравак" - }, - "authenticatorAppTitle": { - "message": "Апликација Аутентификатор" - }, - "authenticatorAppDesc": { - "message": "Користите апликацију за аутентификацију (као што је Authy или Google Authenticator) за генерисање верификационих кодова.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "YubiKey OTP сигурносни кључ" - }, - "yubiKeyDesc": { - "message": "Користите YubiKey за приступ налогу. Ради са YubiKey 4 и 5, и NEO уређаје." - }, - "duoDesc": { - "message": "Провери са Duo Security користећи Duo Mobile апликацију, СМС, телефонски позив, или U2F кључ.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Провери са Duo Security за вашу организацију користећи Duo Mobile апликацију, СМС, телефонски позив, или U2F кључ.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Користите било који FIDO U2F сигурносни кључ за присту налога." - }, - "u2fTitle": { - "message": "FIDO U2F сигурносни кључ" - }, - "emailTitle": { - "message": "Е-пошта" - }, - "emailDesc": { - "message": "Верификациони кодови ће вам бити послати имејлом." - }, - "continue": { - "message": "Настави" - }, - "organization": { - "message": "Организација" - }, - "organizations": { - "message": "Организације" - }, - "shareDesc": { - "message": "Изаберите организацију са којом желите да делите ову ставку. Дељење преноси власништво предмета на организацију. Више нећете бити директни власник ове ставке када се она дели." - }, - "shareManyDesc": { - "message": "Изаберите организацију са којом желите да делите ове ставке. Дељење преноси власништво предмета на организацију. Више нећете бити директни власник ових ставка када се оне деле." - }, - "collectionsDesc": { - "message": "Уредите колекције са којима се ова ставка дели. Само корисници организације који имају приступ овим колекцијама моћи ће да виде ову ставку." - }, - "deleteSelectedItemsDesc": { - "message": "Одабрали сте $COUNT$ ставке за брисање. Да ли сте сигурни да желите да избришете све ове ставке?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Изаберите фасциклу у коју желите да преместите одабране $COUNT$ ставке.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "Одабрали сте $COUNT$ ставке. $SHAREABLE_COUNT$ ставке су дељиве, $NONSHAREABLE_COUNT$ нису.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Једнократни код" - }, - "copyVerificationCode": { - "message": "Копирај верификациони код" - }, - "warning": { - "message": "Упозорење" - }, - "confirmVaultExport": { - "message": "Потврдите извоз сефа" - }, - "exportWarningDesc": { - "message": "Овај извоз садржи податке сефа у нешифрираном формату. Не бисте смели да сачувате или шаљете извезену датотеку преко несигурних канала (као што је имејл). Избришите датотеку одмах након што завршите са коришћењем." - }, - "encExportWarningDesc": { - "message": "Овај извоз шифрује податке користећи кључ за шифровање вашег налога. Ако икада промените кључ за шифровање свог налога, требало би да поново извезете, јер нећете моћи да дешифрујете овај извоз." - }, - "exportMasterPassword": { - "message": "Унети главну лозинку за извоз сефа." - }, - "exportVault": { - "message": "Извоз сефа" - }, - "fileFormat": { - "message": "Формат датотеке" - }, - "exportSuccess": { - "message": "Податци сефа су извежени." - }, - "passwordGenerator": { - "message": "Генератор Лозинке" - }, - "minComplexityScore": { - "message": "Оцена минималне сложености" - }, - "minNumbers": { - "message": "Минимално Бројева" - }, - "minSpecial": { - "message": "Минимално Специјално", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Избегавајте двосмислене знакове" - }, - "regeneratePassword": { - "message": "Поново генериши лозинку" - }, - "length": { - "message": "Дужина" - }, - "numWords": { - "message": "Број речи" - }, - "wordSeparator": { - "message": "Одвајач речи" - }, - "capitalize": { - "message": "Прво слово велико", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Убаци број" - }, - "passwordHistory": { - "message": "Историја Лозинке" - }, - "noPasswordsInList": { - "message": "Нама лозинке у листи." - }, - "clear": { - "message": "Очисти", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Налог ажуриран" - }, - "changeEmail": { - "message": "Промени имејл" - }, - "newEmail": { - "message": "Нови имејл" - }, - "code": { - "message": "Кôд" - }, - "changeEmailDesc": { - "message": "Послали смо верификациони код на $EMAIL$. Потражите у свој имејл овај код и унесите га испод да бисте довршили промену имејла.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Ако наставите, одјавићете се са тренутне сесије, што захтева поновно пријављивање. Активне сесије на другим уређајима могу да остану активне до једног сата." - }, - "emailChanged": { - "message": "Имејл промењен" - }, - "logBackIn": { - "message": "Молимо да се поново пријавите." - }, - "logBackInOthersToo": { - "message": "Молимо вас да се поново пријавите. Ако користите друге Bitwarden апликације, одјавите се и вратите се и на њих." - }, - "changeMasterPassword": { - "message": "Промени главну лозинку" - }, - "masterPasswordChanged": { - "message": "Главна Лозинка промењена" - }, - "currentMasterPass": { - "message": "Тренутна Главна Лозинка" - }, - "newMasterPass": { - "message": "Нова Главна Лозинка" - }, - "confirmNewMasterPass": { - "message": "Потрдити нову Главну Лозинку" - }, - "encKeySettings": { - "message": "Подешавања кључа шифровања" - }, - "kdfAlgorithm": { - "message": "KDF Алгоритам" - }, - "kdfIterations": { - "message": "KDF понављања" - }, - "kdfIterationsDesc": { - "message": "Веће KDF итерације могу заштитити вашу главну лозинку од грубе форсирања од стране нападача. Препоручујемо вредност од најмање $VALUE$.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Постављање превисоких KDF итерација може резултирати лошим перформансама приликом пријављивања (и откључавања) Bitwarden-а на уређајима са споријим процесорима. Препоручујемо вам да повећате вредност у корацима од $INCREMENT$, а затим тестирате све своје уређаје.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Променити KDF" - }, - "encKeySettingsChanged": { - "message": "Подешавања кључа шифровања промењена" - }, - "dangerZone": { - "message": "Опасна зона" - }, - "dangerZoneDesc": { - "message": "Пажљиво, ове акције су крајне!" - }, - "deauthorizeSessions": { - "message": "Одузели овлашћење сесије" - }, - "deauthorizeSessionsDesc": { - "message": "Забринути сте да је ваш налог пријављен на другом уређају? Наставите доле да бисте одузели овлашћење за све рачунаре или уређаје које сте раније користили. Овај сигурносни корак се препоручује ако сте раније користили јавни рачунар или случајно сачували лозинку на уређају који није ваш. Овај корак ће такође обрисати све претходно запамћене сесије пријаве у два корака." - }, - "deauthorizeSessionsWarning": { - "message": "Наставак ће вас такође одјавити из тренутне сесије, што захтева поновно пријављивање. Од вас ће такође бити затражено да се поново пријавите у два корака, ако је омогућено. Активне сесије на другим уређајима могу да остану активне још један сат." - }, - "sessionsDeauthorized": { - "message": "Одузето овлашћење свих сесија" - }, - "purgeVault": { - "message": "Испрани Сеф" - }, - "purgedOrganizationVault": { - "message": "Прочишћени сефа организације." - }, - "purgeVaultDesc": { - "message": "Наставите доле да бисте избрисали све ставке и фасцикле у сефу. Ставке које припадају организацији са којом делите неће бити избрисане." - }, - "purgeOrgVaultDesc": { - "message": "Наставите доле да бисте избрисали све ставке у сефу организације." - }, - "purgeVaultWarning": { - "message": "Чишћење сефа је трајно. Не може се поништити." - }, - "vaultPurged": { - "message": "Ваш сеф је очишћен." - }, - "deleteAccount": { - "message": "Избриши Налог" - }, - "deleteAccountDesc": { - "message": "Наставите доле да бисте избрисали свој налог и све повезане податке." - }, - "deleteAccountWarning": { - "message": "Брисање налога је трајно. Не може се поништити." - }, - "accountDeleted": { - "message": "Налог обрисан" - }, - "accountDeletedDesc": { - "message": "Ваш налог је затворен и сви повезани подаци су избрисани." - }, - "myAccount": { - "message": "Мој Налог" - }, - "tools": { - "message": "Алатке" - }, - "importData": { - "message": "Увези податке" - }, - "importSuccess": { - "message": "Подаци су успешно увезени у ваш сеф." - }, - "importFormatError": { - "message": "Подаци нису правилно форматирани. Проверите датотеку за увоз и покушајте поново." - }, - "importNothingError": { - "message": "Ништа није увежено." - }, - "selectFormat": { - "message": "Одабрати формат датотеке за увоз" - }, - "selectImportFile": { - "message": "Одабрати датотеку за увоз" - }, - "orCopyPasteFileContents": { - "message": "или копирајте/налепите садржај датотеке за увоз" - }, - "instructionsFor": { - "message": "Инструкције за $NAME$", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Опције" - }, - "optionsDesc": { - "message": "Прилагодите свој доживљај веб сефа." - }, - "optionsUpdated": { - "message": "Ажуриране опције" - }, - "language": { - "message": "Језик" - }, - "languageDesc": { - "message": "Променити језик за Сеф." - }, - "disableIcons": { - "message": "Угаси иконице сајта" - }, - "disableIconsDesc": { - "message": "Иконе веб сајта пружају препознатљиву слику поред сваке пријаву у сефу." - }, - "enableGravatars": { - "message": "Омогући Gravatar", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Користите слике аватара учитане са gravatar.com." - }, - "enableFullWidth": { - "message": "Упали пуни ширину распореда", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Дозволите веб сефу да користи пуну ширину прозора прегледача." - }, - "default": { - "message": "Подразумевано" - }, - "domainRules": { - "message": "Правила домена" - }, - "domainRulesDesc": { - "message": "Ако имате исту пријаву на више различитих домена, можете је означити као „еквивалентну“. „Глобални“ домени су они које је Bitwarden већ креирао за вас." - }, - "globalEqDomains": { - "message": "Глобални еквивалентни домени" - }, - "customEqDomains": { - "message": "Прилагођени еквивалентни домени" - }, - "exclude": { - "message": "Искључити" - }, - "include": { - "message": "Укључити" - }, - "customize": { - "message": "Прилагоди" - }, - "newCustomDomain": { - "message": "Прилагођен домен" - }, - "newCustomDomainDesc": { - "message": "Унесите листу домена одвојених зарезима. Дозвољени су само „основни“ домени. Не уносите поддомене. На пример, унесите „google.com“ у место „www.google.com“. Такође можете унети „androidapp://package.name“ да асоцирате андроид апликацију са другим доменима." - }, - "customDomainX": { - "message": "Прилагођени домен $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Домени ажурирани" - }, - "twoStepLogin": { - "message": "Дво-коракна лозинка" - }, - "twoStepLoginDesc": { - "message": "Заштитите свој налог захтевањем додатног корака приликом пријављивања." - }, - "twoStepLoginOrganizationDesc": { - "message": "Захтевајте пријаву у два корака за кориснике ваше организације конфигурисањем добављача на нивоу организације." - }, - "twoStepLoginRecoveryWarning": { - "message": "Омогућавање пријаве у два корака може вас трајно закључати са вашег Bitwarden-а налога. Код за опоравак омогућава вам приступ вашем налогу у случају да више не можете да користите свог уобичајеног добављача услуге пријављивања у два корака (нпр. ако изгубите уређај). Подршка Bitwarden-а неће вам моћи помоћи ако изгубите приступ свом налогу. Препоручујемо да запишете или одштампате код за опоравак и сачувате га на сигурном месту." - }, - "viewRecoveryCode": { - "message": "Погледати шифру за опоравак" - }, - "providers": { - "message": "Провајдери", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Омогући" - }, - "enabled": { - "message": "Омогућено" - }, - "premium": { - "message": "Премијум", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Премијум чланство" - }, - "premiumRequired": { - "message": "Потребан Премијум" - }, - "premiumRequiredDesc": { - "message": "Премијум је потребно за употребу ове способности." - }, - "youHavePremiumAccess": { - "message": "Имате пречијум приступ" - }, - "alreadyPremiumFromOrg": { - "message": "Већ имате приступ премијум функцијама због организације чији сте члан." - }, - "manage": { - "message": "Управљати" - }, - "disable": { - "message": "Онемогући" - }, - "twoStepLoginProviderEnabled": { - "message": "Овај добављач услуге пријављивања у два корака је омогућен на вашем налогу." - }, - "twoStepLoginAuthDesc": { - "message": "Унесите главну лозинку да бисте изменили подешавања пријављивања у два корака." - }, - "twoStepAuthenticatorDesc": { - "message": "Следите ове кораке за подешавање пријаве у два корака помоћу апликације за проверу аутентичности:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Преузмите апликацију за аутентификацију у два корака" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Треба вам апликација за аутентификацију у два корака? Преузмите једну од следеће" - }, - "iosDevices": { - "message": "iOS уређаји" - }, - "androidDevices": { - "message": "Android уређаји" - }, - "windowsDevices": { - "message": "Windows уређаји" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "Ове апликације се препоручују, међутим, друге апликације за утврђивање аутентичности такође ће радити." - }, - "twoStepAuthenticatorScanCode": { - "message": "Скенирајте овај QR код са апликацијом за идентификљцију" - }, - "key": { - "message": "Кључ" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Унесите резултирајући шестоцифрени код из апликације" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "У случају да га требате додати на други уређај, доле је КР код (или кључ) који захтева ваша апликација за аутентификацију." - }, - "twoStepDisableDesc": { - "message": "Да ли сте сигурни да желите да онемогућите овог добављача услуге пријављивања у два корака?" - }, - "twoStepDisabled": { - "message": "Онемогућен добављач пријаве у два корака." - }, - "twoFactorYubikeyAdd": { - "message": "Додајте нови YubiKey на свој налог" - }, - "twoFactorYubikeyPlugIn": { - "message": "Убаците YubiKey у УСБ порт рачунара." - }, - "twoFactorYubikeySelectKey": { - "message": "Изаберите прво празно YubiKey поље за унос." - }, - "twoFactorYubikeyTouchButton": { - "message": "Додирните YubiKey дугме." - }, - "twoFactorYubikeySaveForm": { - "message": "Сачувај образац." - }, - "twoFactorYubikeyWarning": { - "message": "Због ограничења платформе, YubiKeys се не могу користити на свим Bitwarden апликацијама. Требали бисте омогућити другог добављача услуге пријављивања у два корака како бисте могли да приступите свом налогу када YubiKeys не могу да се користе. Подржане платформе:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Веб сеф, апликација за рачунаре, ЦЛИ и сви додаци прегледача на уређају са УСБ портом који могу да прихвате ваш YubiKey." - }, - "twoFactorYubikeySupportMobile": { - "message": "Мобилне апликације на уређају са НФЦ могућностима или податковни порт који може да прихвати ваш YubiKey." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "U2F кључ $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "NFC подршка" - }, - "twoFactorYubikeySupportsNfc": { - "message": "Један од мојих кључа подржава НФЦ." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "Ако један од ваших YubiKey подржава НФЦ (као што је YubiKey NEO), поставља ће се питање на мобилни уређаји кад год се открије доступност НФЦ-а." - }, - "yubikeysUpdated": { - "message": "YubiKeys ажирирано" - }, - "disableAllKeys": { - "message": "Онемогући све кључеве" - }, - "twoFactorDuoDesc": { - "message": "Унесите информације о апликацији Bitwarden из администрације Duo." - }, - "twoFactorDuoIntegrationKey": { - "message": "Кључ интеграције" - }, - "twoFactorDuoSecretKey": { - "message": "Тајни кључ" - }, - "twoFactorDuoApiHostname": { - "message": "API Име хоста" - }, - "twoFactorEmailDesc": { - "message": "Следите ове кораке за подешавање пријаве у два корака путем имејла:" - }, - "twoFactorEmailEnterEmail": { - "message": "Унесите имејл на којем желите да примате верификационе кодове" - }, - "twoFactorEmailEnterCode": { - "message": "Унесите резултирајући шестоцифрени верификациони код из имејла" - }, - "sendEmail": { - "message": "Пошаљи е-пошту" - }, - "twoFactorU2fAdd": { - "message": "Додати FIDO U2F сигурносни кључ вашем налогу" - }, - "removeU2fConfirmation": { - "message": "Да ли сте сигурни да желите да уклоните овај сигурносни кључ?" - }, - "readKey": { - "message": "Читај кључ" - }, - "keyCompromised": { - "message": "Кључ је угрожен." - }, - "twoFactorU2fGiveName": { - "message": "Дајте безбедносном кључу пријатељско име да бисте га препознали." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Прикључите безбедносни кључ у УСБ порт рачунара и кликните на дугме „Читај Кључ“." - }, - "twoFactorU2fTouchButton": { - "message": "Ако сигурносни кључ има дугме, додирните га." - }, - "twoFactorU2fSaveForm": { - "message": "Сачувај образац." - }, - "twoFactorU2fWarning": { - "message": "Због ограничења платформе, FIDO U2F се не могу користити на свим Bitwarden апликацијама. Требали бисте омогућити другог добављача услуге пријављивања у два корака како бисте могли да приступите свом налогу када FIDO U2F не могу да се користе. Подржане платформе:" - }, - "twoFactorU2fSupportWeb": { - "message": "Веб сеф и додатке прегледача на рачунару са U2F омогућен прегледач (Chrome, Opera, Vivaldi, или Firefox са FIDO U2F омогућено)." - }, - "twoFactorU2fWaiting": { - "message": "Чекајући да додирнете дугме на вашем сигурносном кључу" - }, - "twoFactorU2fClickSave": { - "message": "Кликните на „Сачувај“ да бисте омогућили овај безбедносни кључ за пријављивање у два корака." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "Догодила се грешка приликом читања безбедносног кључа. Покушајте поново." - }, - "twoFactorRecoveryYourCode": { - "message": "Ваш Bitwarden код за опоравак пријаве у два корака" - }, - "twoFactorRecoveryNoCode": { - "message": "Још нисте омогућили ниједног добављача услуге пријављивања у два корака. Након што то омогућите, овде можете поново потражити код за опоравак." - }, - "printCode": { - "message": "Штампање кода", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Извештаји" - }, - "unsecuredWebsitesReport": { - "message": "Извештај о несигурним веб локацијама" - }, - "unsecuredWebsitesReportDesc": { - "message": "Коришћење незаштићених веб странице са http:// шемом може бити опасно. Ако веб страница то дозвољава, увек бисте јој требали приступити помоћу https://, тако да је ваша веза шифрована." - }, - "unsecuredWebsitesFound": { - "message": "Пронађене су незаштићене веб странице" - }, - "unsecuredWebsitesFoundDesc": { - "message": "Нашли смо $COUNT$ ставке у вашем сефу са незаштићеним УРЛ. Требали би да промените шеме у https:// ако веб страница то дозвољава.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "Ниједна ставка у вашем сефу нема незаштићене УРИ-је." - }, - "inactive2faReport": { - "message": "Извештај неактивног 2FA" - }, - "inactive2faReportDesc": { - "message": "Двофакторска потврда идентитета (2FA) је важно сигурносно подешавање које помаже у заштити ваших налога. Ако је веб страница нуди, увек треба да омогућите двостепену потврду идентитета." - }, - "inactive2faFound": { - "message": "Нађене пријаве без 2FA" - }, - "inactive2faFoundDesc": { - "message": "Насшли смо $COUNT$ сајта у вашем сефу који можда нису подешени са двофакторском потврдом идентитета (према 2fa.directory). Да бисте додатно заштитили ове налоге, требало би да омогућите двостепену потврду идентитета.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "У вашем сефу нису пронађене веб странице са недостајућом конфигурацијом двофакторском потврде идентитета." - }, - "instructions": { - "message": "Упутства" - }, - "exposedPasswordsReport": { - "message": "Извештај о изложеним лозинкама" - }, - "exposedPasswordsReportDesc": { - "message": "Изложене лозинке су лозинке које су откривене у познатим крешења података које су хакери јавно објавили или продали на тамној мрежи." - }, - "exposedPasswordsFound": { - "message": "Пронађене изложене лозинке" - }, - "exposedPasswordsFoundDesc": { - "message": "Пронашли смо у вашем сефу $COUNT$ предмета који садрже лозинке откривене у познатим повредама података. Требали би да их промените да бисте користили нову лозинку.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "Ниједна ставка у вашем сефу нема лозинке које су откривене у познатим кршења података." - }, - "checkExposedPasswords": { - "message": "Проверите изложене лозинке" - }, - "exposedXTimes": { - "message": "Изложено $COUNT$ пута", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Извештај о слабим лозинкама" - }, - "weakPasswordsReportDesc": { - "message": "Хакери и аутоматизовани алати могу лако погодити слабе лозинке. Генератор лозинки Bitwarden-а може вам помоћи да створите јаке лозинке." - }, - "weakPasswordsFound": { - "message": "Пронађене су слабе лозинке" - }, - "weakPasswordsFoundDesc": { - "message": "Пронашли смо у вашем сефу $COUNT$ ставки са слабим лозинкама. Требали бисте их ажурирати да би користили јаче лозинке.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "Ниједна ставка у вашем сефу сабржи слабе лозинке." - }, - "reusedPasswordsReport": { - "message": "Извештај о поновној употреби лозинки" - }, - "reusedPasswordsReportDesc": { - "message": "Ако је услуга коју користите угрожена, поновна употреба исте лозинке другде може омогућити хакерима да лако добију приступ већем броју ваших мрежних налога. Требали бисте користити јединствену лозинку за сваки налог или услугу." - }, - "reusedPasswordsFound": { - "message": "Пронађене поновне лозинке" - }, - "reusedPasswordsFoundDesc": { - "message": "Нашли смо $COUNT$ лозинке које се поново користе у вашем сефу. Требали бисте да их промените у јединствену вредност.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "Ниједна пријава у ваш сефу нема лозинке које се поново користе." - }, - "reusedXTimes": { - "message": "Коришћено $COUNT$ пута", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Извештај о кршењу података" - }, - "breachDesc": { - "message": "„Кршење“ је инцидент у коме су хакери илегално приступили подацима странице, а затим их јавно објавили. Прегледајте врсте података који су угрожени (имејл, лозинке, кредитне картице итд.) и предузмите одговарајуће мере, као што је промена лозинке." - }, - "breachCheckUsernameEmail": { - "message": "Проверите сва корисничка имена или имејл које користите." - }, - "checkBreaches": { - "message": "Провери кршења" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ није пронађен ни у једном познатом кршењу података.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Добре вести", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ је пронађен у $COUNT$ различите повреде података на мрежи.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Пронађени су неисправни рачуни" - }, - "compromisedData": { - "message": "Компромитовани подаци" - }, - "website": { - "message": "Веб сајт" - }, - "affectedUsers": { - "message": "Погођени Корисници" - }, - "breachOccurred": { - "message": "Догодила се повреда" - }, - "breachReported": { - "message": "Извештај повреде" - }, - "reportError": { - "message": "Дошло је до грешке при покушају учитавања извештаја. Покушајте поново" - }, - "billing": { - "message": "Наплате" - }, - "accountCredit": { - "message": "Салдо налога", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Салдо Налога", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Додај кредит", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Износ", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Додати кредит ће се појавити на вашем рачуну након што је уплата у потпуности обрађена. Неки начини плаћања касне и поступак може потрајати дуже него други." - }, - "makeSureEnoughCredit": { - "message": "Уверите се да је на вашем рачуну доступно довољно кредита за ову куповину. Ако на вашем рачуну нема довољно кредита, за разлику ће се користити ваш подразумевани начин плаћања у евиденцији. На свој рачун можете да додате кредит на страници Обрачун." - }, - "creditAppliedDesc": { - "message": "Кредит вашег рачуна може се користити за куповину. Сав расположиви кредит аутоматски ће се применити на фактуре генерисане за овај рачун." - }, - "goPremium": { - "message": "Купи Премијум", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "Надоградили сте на премијум." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Надоградите свој налог на премијум чланство и откључајте неке сјајне додатне функције." - }, - "premiumSignUpStorage": { - "message": "1ГБ шифровано складиште за прилоге." - }, - "premiumSignUpTwoStep": { - "message": "Додатне опције пријаве у два корака као што су YubiKey, FIDO U2F, и Duo." - }, - "premiumSignUpReports": { - "message": "Извештаји о хигијени лозинки, здравственом стању налога и кршењу података да бисте заштитили сеф." - }, - "premiumSignUpTotp": { - "message": "Генератор једнократног кода (2FA) за пријаве из сефа." - }, - "premiumSignUpSupport": { - "message": "Приоритетна корисничка подршка." - }, - "premiumSignUpFuture": { - "message": "Све будуће премијум функције. Више долазе ускоро!" - }, - "premiumPrice": { - "message": "Све то за само $PRICE$ годишње!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Додаци" - }, - "premiumAccess": { - "message": "Приступ премијум" - }, - "premiumAccessDesc": { - "message": "Можете да додате премијум приступ свим члановима своје организације за $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Додатно складиште (ГБ)" - }, - "additionalStorageGbDesc": { - "message": "# додатних ГБ" - }, - "additionalStorageIntervalDesc": { - "message": "Ваш план долази са $SIZE$ шифрованог складишта за датотеке. Можете додати додатно складиште за $PRICE$ по ГБ /$INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Резиме" - }, - "total": { - "message": "Збир" - }, - "year": { - "message": "година" - }, - "month": { - "message": "месец" - }, - "monthAbbr": { - "message": "ме.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Ваш начин плаћања наплаћиваће се одмах, а затим редовно сваке године. Можете отказати било када." - }, - "paymentCharged": { - "message": "Ваш начин плаћања наплаћиваће се одмах, а затим редовно сваке $INTERVAL$. Можете отказати било када.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Ваш план долази са бесплатним 7-дневним пробним периодом. Начин плаћања неће бити наплаћен док се пробно време не заврши. Наплата ће се вршити периодично, сваки $INTERVAL$. Можете отказати било када.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Информације о плаћању" - }, - "billingInformation": { - "message": "Информације за обрачун" - }, - "creditCard": { - "message": "Кредитна Картица" - }, - "paypalClickSubmit": { - "message": "Кликните на дугме PayPal да бисте се пријавили на свој PayPal налог, а затим кликните на дугме Пошаљи испод да бисте наставили." - }, - "cancelSubscription": { - "message": "Откажи претплату" - }, - "subscriptionCanceled": { - "message": "Претплата је отказана." - }, - "pendingCancellation": { - "message": "Отказивање на чекању" - }, - "subscriptionPendingCanceled": { - "message": "Претплата је означена за отказивање на крају текућег обрачунског периода." - }, - "reinstateSubscription": { - "message": "Врати претплату" - }, - "reinstateConfirmation": { - "message": "Да ли сте сигурни да желите уклонити захтјев за отказивање на чекању и поново успоставити претплату?" - }, - "reinstated": { - "message": "Претплата је враћена." - }, - "cancelConfirmation": { - "message": "Јесте ли сигурни да хоћете да откажете? На крају овог обрачунског циклуса изгубићете приступ свим функцијама ове претплате." - }, - "canceledSubscription": { - "message": "Претплата је отказана." - }, - "neverExpires": { - "message": "Никада не застареваје" - }, - "status": { - "message": "Статус" - }, - "nextCharge": { - "message": "Следеће пуњење" - }, - "details": { - "message": "Детаљи" - }, - "downloadLicense": { - "message": "Преузимање лиценце" - }, - "updateLicense": { - "message": "Ажурирање лиценце" - }, - "updatedLicense": { - "message": "Лиценца ажурирана" - }, - "manageSubscription": { - "message": "Управљај претплатама" - }, - "storage": { - "message": "Складиште" - }, - "addStorage": { - "message": "Додај складиште" - }, - "removeStorage": { - "message": "Уклони складиште" - }, - "subscriptionStorage": { - "message": "Ваша претплата има укупно $MAX_STORAGE$ ГБ шифрованог складишта. Тренутно користите $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Начин плаћања" - }, - "noPaymentMethod": { - "message": "У евиденцији нема начина плаћања." - }, - "addPaymentMethod": { - "message": "Додајте начин плаћања" - }, - "changePaymentMethod": { - "message": "Промените начин плаћања" - }, - "invoices": { - "message": "Фактуре" - }, - "noInvoices": { - "message": "Нема фактуре." - }, - "paid": { - "message": "Плаћено", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Није плаћено", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Трансакције", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "Нема трансакција." - }, - "chargeNoun": { - "message": "Цена", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Рефундација", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Сви трошкови ће се појавити на вашој изјави као $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "ГБ простора за додавање" - }, - "gbStorageRemove": { - "message": "ГБ простора за уклањање" - }, - "storageAddNote": { - "message": "Додавањем простора резултираће прилагођавањем укупних рачуна и одмах ће се наплатити начин плаћања у евиденцији. Прва наплата пропорционална је за остатак текућег обрачунског циклуса." - }, - "storageRemoveNote": { - "message": "Уклањање простора резултираће прилагођавањем укупних обрачуна који ће се сразмерити као кредити за следећу наплату." - }, - "adjustedStorage": { - "message": "Подешено $AMOUNT$ ГБ складишта.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Обратите се корисничкој подршци" - }, - "updatedPaymentMethod": { - "message": "Ажуриран начин плаћања." - }, - "purchasePremium": { - "message": "Купити премијум" - }, - "licenseFile": { - "message": "Датотека лиценце" - }, - "licenseFileDesc": { - "message": "Датотека ваше лиценце назваће се отприлике тако $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "Да бисте свој рачун надоградили на премијум чланство, морате да унесете важећу датотеку лиценце." - }, - "uploadLicenseFileOrg": { - "message": "Да бисте креирали локалну организацију која је домаћин, потребно је да увезете важећу лиценцу." - }, - "accountEmailMustBeVerified": { - "message": "Имејл вашег налога мора бити верификован." - }, - "newOrganizationDesc": { - "message": "Организације вам омогућавају да делите делове сефа са другима, као и да управљате повезаним корисницима за одређени ентитет, попут породице, малог тима или велике компаније." - }, - "generalInformation": { - "message": "Опште информације" - }, - "organizationName": { - "message": "Име организације" - }, - "accountOwnedBusiness": { - "message": "Овај рачун је у власништву предузећа." - }, - "billingEmail": { - "message": "Имејл куповине" - }, - "businessName": { - "message": "Име фирме" - }, - "chooseYourPlan": { - "message": "Изаберите план" - }, - "users": { - "message": "Корисници" - }, - "userSeats": { - "message": "Корисничка места" - }, - "additionalUserSeats": { - "message": "Додатна корисничка места" - }, - "userSeatsDesc": { - "message": "# од корисничка места" - }, - "userSeatsAdditionalDesc": { - "message": "Ваш план долази са $BASE_SEATS$ корисничка места. Можете додати додатне кориснике за $SEAT_PRICE$ по кориснику/месечно.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "Колико корисничких места треба? Такође можете додати додатна места касније ако је потребно." - }, - "planNameFree": { - "message": "Бесплатно", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "За тестирање или личне кориснике са којима можете да делите са $COUNT$ друга корисника.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Фамилија" - }, - "planDescFamilies": { - "message": "За личну употребу, за дељење са породицом и пријатељима." - }, - "planNameTeams": { - "message": "Тимови" - }, - "planDescTeams": { - "message": "За предузећа и друге тимске организације." - }, - "planNameEnterprise": { - "message": "Предузећа" - }, - "planDescEnterprise": { - "message": "За предузећа и друге велике организације." - }, - "freeForever": { - "message": "Бесплатно заувек" - }, - "includesXUsers": { - "message": "укључује $COUNT$ корисника", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Додатни корисници" - }, - "costPerUser": { - "message": "$COST$ по кориснику", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Ограничено на $COUNT$ корисника (укључујући вас)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Ограничено на $COUNT$ колекције", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Додајте и делите до $COUNT$ корисника", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Додајте и делите са неограниченим корисницима" - }, - "createUnlimitedCollections": { - "message": "Креирајте неограничене колекције" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ шифрованог складишта", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "Локални хостинг (опционално)" - }, - "usersGetPremium": { - "message": "Корисници добијају приступ Премијум функцијама" - }, - "controlAccessWithGroups": { - "message": "Контролишите приступ корисника помоћу група" - }, - "syncUsersFromDirectory": { - "message": "Синхронизујте своје кориснике и Групе из фасцикле" - }, - "trackAuditLogs": { - "message": "Пратите радње корисника помоћу дневника" - }, - "enforce2faDuo": { - "message": "Натерај 2FA са Duo" - }, - "priorityCustomerSupport": { - "message": "Приоритетна корисничка подршка" - }, - "xDayFreeTrial": { - "message": "$COUNT$ дана бесплатни пробни период, откажите било када", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Месечно" - }, - "annually": { - "message": "Годишње" - }, - "basePrice": { - "message": "Основна цена" - }, - "organizationCreated": { - "message": "Организација креирана" - }, - "organizationReadyToGo": { - "message": "Ваша нова организација је спремна за рад!" - }, - "organizationUpgraded": { - "message": "Ваша организација је надограђена." - }, - "leave": { - "message": "Напусти" - }, - "leaveOrganizationConfirmation": { - "message": "Да ли сте сигурни да желите да напустите ову организацију?" - }, - "leftOrganization": { - "message": "Напустили сте организацију." - }, - "defaultCollection": { - "message": "Стандардна колекција" - }, - "getHelp": { - "message": "Потражи помоћ" - }, - "getApps": { - "message": "Преузмите апликацију" - }, - "loggedInAs": { - "message": "Пријављен као" - }, - "eventLogs": { - "message": "Дневник догађаја" - }, - "people": { - "message": "Особе" - }, - "policies": { - "message": "Полисе" - }, - "editPolicy": { - "message": "Измените смернице" - }, - "groups": { - "message": "Групе" - }, - "newGroup": { - "message": "Нова група" - }, - "addGroup": { - "message": "Додај групу" - }, - "editGroup": { - "message": "Уреди групу" - }, - "deleteGroupConfirmation": { - "message": "Да ли сте сигурни да желите да обришете ову групу?" - }, - "removeUserConfirmation": { - "message": "Да ли сте сигурни да желите да уклоните овог корисника?" - }, - "externalId": { - "message": "Спољни id" - }, - "externalIdDesc": { - "message": "Спољни ид се може користити као референца или за повезивање овог ресурса са спољним системом као што је корисничка фасцикла." - }, - "accessControl": { - "message": "Контрола Приступа" - }, - "groupAccessAllItems": { - "message": "Ова група може приступити и изменити све ставке." - }, - "groupAccessSelectedCollections": { - "message": "Ова група може приступити само одабраним колекцијама." - }, - "readOnly": { - "message": "Само за читање" - }, - "newCollection": { - "message": "Нова колекција" - }, - "addCollection": { - "message": "Додај колекцију" - }, - "editCollection": { - "message": "Уреди колекцију" - }, - "deleteCollectionConfirmation": { - "message": "Сигурно обрисати ову колекцију?" - }, - "editUser": { - "message": "Измени корисника" - }, - "inviteUser": { - "message": "Позива Кориснике" - }, - "inviteUserDesc": { - "message": "Позовите новог корисника у своју организацију тако што ћете доле унети имејл његовог Bitwarden налога. Ако немају Bitwarden налог, биће затражено да креирају нови налог." - }, - "inviteMultipleEmailDesc": { - "message": "Можете позвати одједном до $COUNT$ корисника раздвајајући листу имејла зарезом.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "Овај корисник користи пријаву у два корака за заштиту свог налога." - }, - "userAccessAllItems": { - "message": "Овај корисник може приступити и изменити све ставке." - }, - "userAccessSelectedCollections": { - "message": "Овај корисник може приступити само одабраним колекцијама." - }, - "search": { - "message": "Тражи" - }, - "invited": { - "message": "Позвано" - }, - "accepted": { - "message": "Прихваћено" - }, - "confirmed": { - "message": "Потврђено" - }, - "owner": { - "message": "Власник" - }, - "ownerDesc": { - "message": "Корисник с највећим приступом који може управљати свим аспектима ваше организације." - }, - "admin": { - "message": "Админ" - }, - "adminDesc": { - "message": "Администратори могу приступити свим ставкама, колекцијама и корисницима у вашој организацији и управљати њима." - }, - "user": { - "message": "Корисник" - }, - "userDesc": { - "message": "Редовни корисник са приступом додељеним колекцијама у вашој организацији." - }, - "manager": { - "message": "Менаџер" - }, - "managerDesc": { - "message": "Менаџери могу да приступе додељеним колекцијама и управљају њима у вашој организацији." - }, - "all": { - "message": "Све" - }, - "refresh": { - "message": "Освежи" - }, - "timestamp": { - "message": "Временски печат" - }, - "event": { - "message": "Догађај" - }, - "unknown": { - "message": "Непознато" - }, - "loadMore": { - "message": "Учитајте још" - }, - "mobile": { - "message": "Мобилни", - "description": "Mobile app" - }, - "extension": { - "message": "Додатак", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Рачунар", - "description": "Desktop app" - }, - "webVault": { - "message": "Интернет Сеф" - }, - "loggedIn": { - "message": "Пријављено." - }, - "changedPassword": { - "message": "Промена лозинке налога." - }, - "enabledUpdated2fa": { - "message": "Омогућено/ажурирано пријављивање у два корака." - }, - "disabled2fa": { - "message": "Онемогућено пријављивање у два корака." - }, - "recovered2fa": { - "message": "Опорављен рачун из пријављивања у два корака." - }, - "failedLogin": { - "message": "Покушај пријаве није успео са нетачном лозинком." - }, - "failedLogin2fa": { - "message": "Покушај пријаве није успео са нетачном пријавом у два корака." - }, - "exportedVault": { - "message": "Сеф извежен." - }, - "exportedOrganizationVault": { - "message": "Извезени сеф организације." - }, - "editedOrgSettings": { - "message": "Измењена подешавања организације." - }, - "createdItemId": { - "message": "$ID$ креирано.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "$ID$ промењено.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Пошаљи $ID$ у отпад.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Дељена ставка $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Прогледана ставка $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Прогледана лозинка за $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Прогледано сакривено поље за $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Прогледан сигурносни код за $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Копирана лозинка за $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Копирано сакривено поље за $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Копиран сигуросни код за $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Ставке $ID$ ауто-пуњења.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Колекција $ID$ креирана.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Колекција $ID$ промењена.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Колекција $ID$ избрисана.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Политика $ID$ промењена.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Група $ID$ креирана.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Група $ID$ промењена.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Група $ID$ обрисана.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Корисник $ID$ уклоњен.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Креиран прилог за $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Обрисан прилог из $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Коекције промењене за $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Корисник $ID$ позван.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Корисник $ID$ потврђен.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Корисник $ID$ промењен.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Промењене групе за корисника $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Отповезај SSO за $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Уређај" - }, - "view": { - "message": "Приказ" - }, - "invalidDateRange": { - "message": "Погрешан датум." - }, - "errorOccurred": { - "message": "Појавила се грешка." - }, - "userAccess": { - "message": "Кориснички приступ" - }, - "userType": { - "message": "Тип корисника" - }, - "groupAccess": { - "message": "Приступ групе" - }, - "groupAccessUserDesc": { - "message": "Уредите групе којима овај корисник припада." - }, - "invitedUsers": { - "message": "Позван(и) корисник(ци)." - }, - "resendInvitation": { - "message": "Поновно послати позивницу" - }, - "hasBeenReinvited": { - "message": "$USER$ је поново позван.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Потврди" - }, - "confirmUser": { - "message": "Потврдите корисника" - }, - "hasBeenConfirmed": { - "message": "$USER$ је потврђен.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Потврдите кориснике" - }, - "usersNeedConfirmed": { - "message": "Имате кориснике који су прихватили њихов позив, али и даље их треба потврдити. Корисници неће имати приступ организацији док им се не потврди." - }, - "startDate": { - "message": "Почетни Датум" - }, - "endDate": { - "message": "Крајњи Датум" - }, - "verifyEmail": { - "message": "Потврди имејл" - }, - "verifyEmailDesc": { - "message": "Потврдите имејл свог налога да бисте откључали приступ свим функцијама." - }, - "verifyEmailFirst": { - "message": "Имејл вашег налога мора прво бити верификован." - }, - "checkInboxForVerification": { - "message": "Потражите везу за верификацију у пријемном имејлу." - }, - "emailVerified": { - "message": "Ваш имејл је потврђен." - }, - "emailVerifiedFailed": { - "message": "Није могуће верификовати ваш имејл. Покушајте да пошаљете нову поруку за верификацију." - }, - "updateBrowser": { - "message": "Ажурирајте Претраживач" - }, - "updateBrowserDesc": { - "message": "Користите неподржани веб прегледач. Веб сеф можда неће правилно функционисати." - }, - "joinOrganization": { - "message": "Придружи Организацију" - }, - "joinOrganizationDesc": { - "message": "Позвани сте да се придружите наведеној организацији. Да бисте прихватили позивницу, потребно је да се пријавите или направите нови Bitwarden налог." - }, - "inviteAccepted": { - "message": "Позив прихваћен" - }, - "inviteAcceptedDesc": { - "message": "Овој организацији можете приступити када администратор потврди ваше чланство. Послаћемо вам имејл када се то догоди." - }, - "inviteAcceptFailed": { - "message": "Није могуће прихватити позивницу. Замолите администратора организације да пошаље нову позивницу." - }, - "inviteAcceptFailedShort": { - "message": "Није могуће прихватити позивницу. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Запамти имејл" - }, - "recoverAccountTwoStepDesc": { - "message": "Ако не можете да приступите свом налогу путем уобичајених метода пријављивања у два корака, можете користити свој код за опоравак пријаве да бисте онемогућили све добављаче услуга у два корака на свом налогу." - }, - "recoverAccountTwoStep": { - "message": "Опоравак пријаве у два корака" - }, - "twoStepRecoverDisabled": { - "message": "Пријављивање у два корака је онемогућено на вашем налогу." - }, - "learnMore": { - "message": "Сазнај више" - }, - "deleteRecoverDesc": { - "message": "Унесите свој имејл да бисте опоравили и избрисали налог." - }, - "deleteRecoverEmailSent": { - "message": "Ако ваш налог постоји, послали смо вам имејл са даљим упутствима." - }, - "deleteRecoverConfirmDesc": { - "message": "Затражили сте да избришете свој Bitwarden рачун. Кликните на доње дугме да бисте потврдили." - }, - "myOrganization": { - "message": "Моја организација" - }, - "deleteOrganization": { - "message": "Уклони организацију" - }, - "deleteOrganizationDesc": { - "message": "Наставите доле да бисте избрисали ову организацију и све повезане податке. Појединачни кориснички рачуни ће остати, иако више неће бити повезани са овом организацијом." - }, - "deleteOrganizationWarning": { - "message": "Брисање организације је трајно. Не може се поништити." - }, - "organizationDeleted": { - "message": "Организација уклоњена" - }, - "organizationDeletedDesc": { - "message": "Организација и сви повезани подаци су избрисани." - }, - "organizationUpdated": { - "message": "Организација ажурирана" - }, - "taxInformation": { - "message": "Пореске информације" - }, - "taxInformationDesc": { - "message": "За купце у Сједињеним Државама поштански број је потребан да би задовољио захтеве за порезом на промет, а за друге земље можете да наведете порески идентификациони број (VAT/GST) и/или адресу која ће се појавити на вашим фактурама." - }, - "billingPlan": { - "message": "План", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Промените план", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Надоградите свој рачун на други план тако што ћете пружити информације у наставку. Обавезно проверите да имате активни начин плаћања на рачун.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Обратите се корисничкој подршци ако желите да промените свој план. Обавезно проверите да имате активни начин плаћања на рачун.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Фактура #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "Прикажи фактуру" - }, - "downloadInvoice": { - "message": "Преузмите фактуру" - }, - "verifyBankAccount": { - "message": "Потврдите банковни рачун" - }, - "verifyBankAccountDesc": { - "message": "Извршили смо два микро депозита на ваш банковни рачун (можда ће требати 1-2 радна дана да се појаве). Унесите износе да бисте верификовали банковни рачун." - }, - "verifyBankAccountInitialDesc": { - "message": "Плаћање путем банковног рачуна је доступно само купцима у Сједињеним Државама. Мораћете да верификујете свој банковни рачун. Уложићемо два микро депозита у наредна 1-2 радна дана. Унесите те износе на страницу за обрачун организације да бисте верификовали банковни рачун." - }, - "verifyBankAccountFailureWarning": { - "message": "Ако не верификујете банковни рачун, резултираће пропуштеном уплатом и претплата ће бити онемогућена." - }, - "verifiedBankAccount": { - "message": "Банковни рачун је верификован." - }, - "bankAccount": { - "message": "Банковни рачун" - }, - "amountX": { - "message": "Износ $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Број усмеравања", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Број налога" - }, - "accountHolderName": { - "message": "Име носиоца рачуна" - }, - "bankAccountType": { - "message": "Тип рачуна" - }, - "bankAccountTypeCompany": { - "message": "Компанија (фирма)" - }, - "bankAccountTypeIndividual": { - "message": "Индивидуално (лично)" - }, - "enterInstallationId": { - "message": "Унесите свој инсталациони ИД" - }, - "addSeats": { - "message": "Додати места", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Уклонити места", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Ваша претплата омогућава укупно $COUNT$ корисника.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Места за додавање" - }, - "seatsToRemove": { - "message": "Места за уклон" - }, - "seatsAddNote": { - "message": "Додавањем места резултираће прилагођавањем укупних рачуна и одмах ће се наплатити начин плаћања у евиденцији. Прва наплата пропорционална је за остатак текућег обрачунског циклуса." - }, - "seatsRemoveNote": { - "message": "Уклањање места резултираће прилагођавањем укупних обрачуна који ће се сразмерити као кредити за следећу наплату." - }, - "adjustedSeats": { - "message": "$AMOUNT$ места прилагођена.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Кључ је ажуриран" - }, - "updateKeyTitle": { - "message": "Ажурирате кључ" - }, - "updateEncryptionKey": { - "message": "Ажурирајте кључ за шифровање" - }, - "updateEncryptionKeyShortDesc": { - "message": "Тренутно користите застарелу шему шифровања." - }, - "updateEncryptionKeyDesc": { - "message": "Прешли смо на веће кључеве за шифровање који пружају бољу сигурност и приступ новијим функцијама. Ажурирање кључа за шифровање је брзо и једноставно. Само унесите главну лозинку испод. Ово ажурирање ће временом постати обавезно." - }, - "updateEncryptionKeyWarning": { - "message": "Након ажурирања кључа за шифровање, мораћете да се одјавите и вратите у све Bitwarden апликације које тренутно користите (као што су мобилна апликација или додаци прегледача). Ако се не одјавите и поново пријавите (чиме се преузима ваш нови кључ за шифровање), може доћи до оштећења података. Покушаћемо аутоматски да се одјавимо, али може доћи до одлагања." - }, - "updateEncryptionKeyExportWarning": { - "message": "Сваки шифровани извоз који сте сачували такође ће постати неважећи." - }, - "subscription": { - "message": "Претплата" - }, - "loading": { - "message": "Учитавање" - }, - "upgrade": { - "message": "Надогради" - }, - "upgradeOrganization": { - "message": "Надогради организацију" - }, - "upgradeOrganizationDesc": { - "message": "Ова функција није доступна за бесплатне организације. Пребаците се на плаћени пакет да бисте откључали више функција." - }, - "createOrganizationStep1": { - "message": "Створити Организацију: Корак 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Пре него што креирате организацију, прво морате да креирате бесплатан лични налог." - }, - "refunded": { - "message": "Рефундиран" - }, - "nothingSelected": { - "message": "Нисте ништа изабрали." - }, - "acceptPolicies": { - "message": "Означавањем овог поља пристајете на следеће:" - }, - "acceptPoliciesError": { - "message": "Услови услуге и Политика приватности нису признати." - }, - "termsOfService": { - "message": "Услови коришћења услуге" - }, - "privacyPolicy": { - "message": "Политика приватности" - }, - "filters": { - "message": "Филтери" - }, - "vaultTimeout": { - "message": "Тајмаут сефа" - }, - "vaultTimeoutDesc": { - "message": "Изаберите када ће сеф истећи и да изврши одабрану радњу." - }, - "oneMinute": { - "message": "1 минут" - }, - "fiveMinutes": { - "message": "5 минута" - }, - "fifteenMinutes": { - "message": "15 минута" - }, - "thirtyMinutes": { - "message": "30 минута" - }, - "oneHour": { - "message": "1 сат" - }, - "fourHours": { - "message": "4 сата" - }, - "onRefresh": { - "message": "На освежавању прегледача" - }, - "dateUpdated": { - "message": "Промењено", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Лозинка ажурирана", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "Организација је онемогућена." - }, - "licenseIsExpired": { - "message": "Лиценца је истекла." - }, - "updatedUsers": { - "message": "Ажурирани корисници" - }, - "selected": { - "message": "Изабано" - }, - "ownership": { - "message": "Власништво" - }, - "whoOwnsThisItem": { - "message": "Ко је власник ове ставке?" - }, - "strong": { - "message": "Јако", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Добро", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Слабо", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Врло слабо", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Слаба Главна Лозинка" - }, - "weakMasterPasswordDesc": { - "message": "Главна лозинка коју сте одабрали је слаба. Требали бисте користити јаку главну лозинку (или фразу лозинке) да бисте правилно заштитили свој налог. Да ли сте сигурни да желите да користите ову главну лозинку?" - }, - "rotateAccountEncKey": { - "message": "Такође променити кључ за шифровање мог налога" - }, - "rotateEncKeyTitle": { - "message": "Променити кључ за шифровање" - }, - "rotateEncKeyConfirmation": { - "message": "Да ли сте сигурни да желите да промените кључ за шифровање свог налога?" - }, - "attachmentsNeedFix": { - "message": "Ова ставка има старе прилоге које треба поправити." - }, - "attachmentFixDesc": { - "message": "Ово је стари прилог који треба поправити. Кликните да бисте сазнали више." - }, - "fix": { - "message": "Фиксирај", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "У вашем сефу постоје стари прилози који треба поправити да бисте могли да промените кључ за шифровање свог налога." - }, - "yourAccountsFingerprint": { - "message": "Ваша Сигурносна Фраза Сефа", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "Да бисте осигурали интегритет кључева за шифровање, молимо да проверите Вашу Сигурносну Фразу Сефа пре наставка.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Не питај више за проверу Сигурносне Фразе Сефа", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Бесплатно", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "API кључ" - }, - "apiKeyDesc": { - "message": "Ваш API кључ се може користити за потврду идентитета на Bitwarden јавни API." - }, - "apiKeyRotateDesc": { - "message": "Мењање API кључа поништиће претходни кључ. Можете да промените свој API кључ ако верујете да тренутни кључ више није безбедан за употребу." - }, - "apiKeyWarning": { - "message": "Ваш API кључ има пуни приступ организацији. Треба га чувати у тајности." - }, - "userApiKeyDesc": { - "message": "Ваш API кључ се може користити за потврду идентитета у Bitwarden CLI." - }, - "userApiKeyWarning": { - "message": "Ваш API кључ је алтернативни механизам за потврду идентитета. То треба чувати у тајности." - }, - "oauth2ClientCredentials": { - "message": "OAuth 2.0 Акредитиви клијента", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "Преглед API кључа" - }, - "rotateApiKey": { - "message": "Променити API кључ" - }, - "selectOneCollection": { - "message": "Морате одабрати макар једну колекцију." - }, - "couldNotChargeCardPayInvoice": { - "message": "Нисмо могли да наплатимо вашу картицу. Молимо погледајте и платите наведену неплаћену фактуру." - }, - "inAppPurchase": { - "message": "Куповина Унутар Апликације" - }, - "cannotPerformInAppPurchase": { - "message": "Не можете да извршите ову радњу док користите начин плаћања за куповину у апликацији." - }, - "manageSubscriptionFromStore": { - "message": "Морате управљати претплатом из продавнице у којој је обављена куповина у апликацији." - }, - "minLength": { - "message": "Минимална Дужина" - }, - "clone": { - "message": "Клонирај" - }, - "masterPassPolicyDesc": { - "message": "Поставите минималне захтеве за чврстоћу главне лозинке." - }, - "twoStepLoginPolicyDesc": { - "message": "Захтевајте од корисника да поставе пријаву у два корака на своје личне налоге." - }, - "twoStepLoginPolicyWarning": { - "message": "Чланови организације који нису власници или администратори и немају омогућено пријављивање у два корака за свој лични налог биће уклоњени из организације и добиће имејл са обавештењем о промени." - }, - "twoStepLoginPolicyUserWarning": { - "message": "Члан сте организације која захтева пријаву у два корака да буде омогућена на вашем корисничком налогу. Ако онемогућите све добављаче услуге пријављивања у два корака, аутоматски ћете бити уклоњени из ових организација." - }, - "passwordGeneratorPolicyDesc": { - "message": "Поставите минималне захтеве за конфигурацију генератора лозинки." - }, - "passwordGeneratorPolicyInEffect": { - "message": "Једна или више смерница организације утичу на поставке вашег генератора." - }, - "masterPasswordPolicyInEffect": { - "message": "Једна или више смерница организације захтевају да ваша главна лозинка да би испуњавали следеће захтеве:" - }, - "policyInEffectMinComplexity": { - "message": "Оцена минималне сложености од $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Минимална дужина од $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Садржи један или више великих слова" - }, - "policyInEffectLowercase": { - "message": "Садржи један или више малих слова" - }, - "policyInEffectNumbers": { - "message": "Садрже један или више бројева" - }, - "policyInEffectSpecial": { - "message": "Садрже један или више бројева ових специјалних слова $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Ваша нова главна лозинка не испуњава захтеве смерница." - }, - "minimumNumberOfWords": { - "message": "Минимални број речи" - }, - "defaultType": { - "message": "Подразумевани тип" - }, - "userPreference": { - "message": "Подешавање Корисника" - }, - "vaultTimeoutAction": { - "message": "Акција на тајмаут сефа" - }, - "vaultTimeoutActionLockDesc": { - "message": "Закључани сеф захтева да поново унесете главну лозинку да бисте му поново приступили." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "Одјављени сеф захтева да поново потврдите идентитет да бисте му поново приступили." - }, - "lock": { - "message": "Закључај", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Отпад", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Тражи отпад" - }, - "permanentlyDelete": { - "message": "Трајно избрисати" - }, - "permanentlyDeleteSelected": { - "message": "Трајно избрисати одабрано" - }, - "permanentlyDeleteItem": { - "message": "Трајно избрисати ставку" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Да ли сте сигурни да желите да трајно избришете ову ставку?" - }, - "permanentlyDeletedItem": { - "message": "Трајно избрисати ставку" - }, - "permanentlyDeletedItems": { - "message": "Трајно избрисати ставке" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "Одабрали сте $COUNT$ ставке за трајно брисање. Да ли сте сигурни да желите да трајно избришете све ове ставке?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Трајно избрисати ставку $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Поврати" - }, - "restoreSelected": { - "message": "Врати изабрано" - }, - "restoreItem": { - "message": "Врати ставку" - }, - "restoredItem": { - "message": "Ставка враћена" - }, - "restoredItems": { - "message": "Ставке враћене" - }, - "restoreItemConfirmation": { - "message": "Да ли сте сигурни да желите да вратите ову ставку?" - }, - "restoreItems": { - "message": "Врати ставке" - }, - "restoreSelectedItemsDesc": { - "message": "Одабрали сте $COUNT$ ставке за повраћај. Да ли сте сигурни да желите да повратите све ове ставке?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Ставка $ID$ повраћена.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Одјава ће уклонити сваки приступ вашем сефу и захтева мрежну потврду идентитета након истека тајмаута. Да ли сте сигурни да желите да користите ову поставку?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Потврда акције тајмаута" - }, - "hidePasswords": { - "message": "Сакриј лозинке" - }, - "countryPostalCodeRequiredDesc": { - "message": "Ове информације су нам потребне само за израчунавање пореза на промет и финансијског извештавања." - }, - "includeVAT": { - "message": "Укључити VAT/GST информљцију (опционо)" - }, - "taxIdNumber": { - "message": "VAT/GST Tax ID" - }, - "taxInfoUpdated": { - "message": "Подаци о порезу ажурирани." - }, - "setMasterPassword": { - "message": "Постави Главну Лозинку" - }, - "ssoCompleteRegistration": { - "message": "Да бисте довршили пријављивање помоћу SSO, молимо да поставите главну лозинку за приступ и заштиту вашег сефа." - }, - "identifier": { - "message": "Идентификатор" - }, - "organizationIdentifier": { - "message": "Идентификатор организације" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Пријавите се помоћу портала за јединствену пријаву ваше организације. Унесите идентификатор организације да бисте започели." - }, - "enterpriseSingleSignOn": { - "message": "Enterprise Једна Пријава" - }, - "ssoHandOff": { - "message": "Можете да затворите овај језичак и да наставите са додатком." - }, - "businessPortal": { - "message": "Пословни портал", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "Све функције тима, плус:" - }, - "includeSsoAuthentication": { - "message": "SSO аутентификација преко SAML2.0 и OpenID везу" - }, - "includeEnterprisePolicies": { - "message": "Политике предузећа" - }, - "ssoValidationFailed": { - "message": "Неуспешна SSO валидација" - }, - "ssoIdentifierRequired": { - "message": "Потребан је идентификатор организације." - }, - "unlinkSso": { - "message": "Откачи SSO" - }, - "linkSso": { - "message": "Закачи SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "Конфигурација смерница је премештена и ова страница ће ускоро бити застарела. Кликните доле да бисте користили страницу смерница Пословног портала." - }, - "singleOrg": { - "message": "Јединствена организација" - }, - "singleOrgDesc": { - "message": "Ограничите корисницима могућност придруживања било којој другој организацији." - }, - "singleOrgBlockCreateMessage": { - "message": "Ваша тренутна организација има смернице које не дозвољавају да се придружите више организација. Молимо контактирајте администраторе своје организације или се пријавите са другим Bitwarden налога." - }, - "singleOrgPolicyWarning": { - "message": "Чланови организације који нису власници или администратори и који су већ чланови друге организације биће уклоњени из ваше организације." - }, - "requireSso": { - "message": "Аутентификација једнократном пријавом" - }, - "requireSsoPolicyDesc": { - "message": "Захтевати од корисника да се пријаве помоћу Enterprise Single Sign-On методом." - }, - "prerequisite": { - "message": "Предуслови" - }, - "requireSsoPolicyReq": { - "message": "Политика предузећа за јединствену организацију мора бити омогућена пре активирања ове политике." - }, - "requireSsoPolicyReqError": { - "message": "Смернице за јединствену организацију нису омогућене." - }, - "requireSsoExemption": { - "message": "Власници и администратори организација изузети су ове политике." - }, - "sendTypeFile": { - "message": "Датотека" - }, - "sendTypeText": { - "message": "Текст" - }, - "createSend": { - "message": "Креирај ново „Send“", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Уреди „Send“", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Креирај „Send“", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "„Send“ уређено", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "„Send“ обрисано", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Избриши „Send“", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Сигурно избрисати овај „Send“?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "Који је ово тип „Send“-a?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Датум брисања" - }, - "deletionDateDesc": { - "message": "„The Send“ ће бити трајно избрисан наведеног датума и времена.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Датум истека" - }, - "expirationDateDesc": { - "message": "Ако је постављено, приступ овом „Send“истиче на наведени датум и време.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Максималан број приступа" - }, - "maxAccessCountDesc": { - "message": "Ако је постављено, корисници више неће моћи да приступе овом „send“ када се достигне максимални број приступа.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Тренутни број приступа" - }, - "sendPasswordDesc": { - "message": "Опционално захтевајте лозинку за приступ корисницима „Send“-у.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Приватне белешке о овом „Send“.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Онемогућено" - }, - "sendLink": { - "message": "УРЛ „Send“", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Копирај УРЛ „Send“", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Уклони лозинку" - }, - "removedPassword": { - "message": "Лозинка укљоњена" - }, - "removePasswordConfirmation": { - "message": "Да ли сте сигурни да желите уклонити лозинку?" - }, - "disableThisSend": { - "message": "Онемогућите овај „Send“ да нико не би могао да му приступи.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "Све „Send“" - }, - "maxAccessCountReached": { - "message": "Достигнут максималан број приступа" - }, - "pendingDeletion": { - "message": "Брисање на чекању" - }, - "expired": { - "message": "Истекло" - }, - "searchSends": { - "message": "Тражи „Send“", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "Ово Слање је заштићено лозинком. Унесите лозинку испод да бисте наставили.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Не знате лозинку? Затражите од пошиљаоца лозинку потребну за приступ овом Слању.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "Ово Слање је подразумевано скривено. Можете да пребацујете његову видљивост помоћу дугмета испод.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Преузми датотеку" - }, - "sendAccessUnavailable": { - "message": "„Send“ које покушавате да приступите не постоји или више није доступан.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "Нема „Send“ у листи.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Хитан приступ" - }, - "emergencyAccessDesc": { - "message": "Одобрите и управљајте приступ хитним случајевима за поуздане контакте. Поуздани контакти могу затражити приступ приказу или преузимању вашег налога у случају нужде. Посетите нашу страницу за помоћ за више информација и детаља о томе како функционише дељење." - }, - "trustedEmergencyContacts": { - "message": "Поуздани контакти за хитне случајеве" - }, - "noTrustedContacts": { - "message": "Још нисте додали ниједан контакт за хитне случајеве, позовите поузданог контакта да би започели." - }, - "addEmergencyContact": { - "message": "Додати хитан контакт" - }, - "designatedEmergencyContacts": { - "message": "Одређен као контакт за хитне случајеве" - }, - "noGrantedAccess": { - "message": "Још нисте одређени за контакт за хитне случајеве." - }, - "inviteEmergencyContact": { - "message": "Позовите хитни контакт" - }, - "editEmergencyContact": { - "message": "Уредити хитан контакт" - }, - "inviteEmergencyContactDesc": { - "message": "Позовите хитног контакта тако што ћете доле унети имејл његовог Bitwarden налога. Ако немају Bitwarden налог, биће затражено да креирају нови налог." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Покренут хитни приступ" - }, - "emergencyAccessRecoveryApproved": { - "message": "Одобрен приступ у хитним случајевима" - }, - "viewDesc": { - "message": "Може да прегледа све ставке у Вашем сефу." - }, - "takeover": { - "message": "Преузми" - }, - "takeoverDesc": { - "message": "Може да ресетује налог помоћу нове главне лозинке." - }, - "waitTime": { - "message": "Време чекања" - }, - "waitTimeDesc": { - "message": "Потребно време пре аутоматског одобравања приступа." - }, - "oneDay": { - "message": "1 дан" - }, - "days": { - "message": "$DAYS$ дана", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Позван корисник." - }, - "acceptEmergencyAccess": { - "message": "Позвани сте да будете хитан контакт за наведеног корисника. Да бисте прихватили позивницу, потребно је да се пријавите или направите нови Bitwarden налог." - }, - "emergencyInviteAcceptFailed": { - "message": "Није могуће прихватити позивницу. Замолите корисника да пошаље нови позив." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Није могуће прихватити позивницу. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "Опцијама за хитне случајеве за овог корисника можете приступити након потврде идентитета. Послаћемо вам имејл када се то догоди." - }, - "requestAccess": { - "message": "Захтевај приступ" - }, - "requestAccessConfirmation": { - "message": "Да ли сте сигурни да желите да затражите приступ у хитним случајевима? Приступ ће вам бити омогућен након $WAITTIME$ дана или кад год корисник ручно одобри захтев.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Захтев за хитни приступ за $USER$. Обавестићемо вас имејлом када буде могуће наставити.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Одобри" - }, - "reject": { - "message": "Одбиј" - }, - "approveAccessConfirmation": { - "message": "Да ли сте сигурни да желите да одобрите хитни приступ? Ово ће омогућити $USER$ да $ACTION$ ваш рачун.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Одобрен приступ у хитним случајевима." - }, - "emergencyRejected": { - "message": "Одбијен хитни приступ" - }, - "passwordResetFor": { - "message": "Ресетовање лозинке за $USER$. Сада се можете пријавити помоћу нове лозинке.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Лично власништво" - }, - "personalOwnershipPolicyDesc": { - "message": "Захтевајте од корисника да сачувају ставке сефа у организацији уклањањем могућности личног власништва." - }, - "personalOwnershipExemption": { - "message": "Власници и администратори организација изузети су ове политике." - }, - "personalOwnershipSubmitError": { - "message": "Због смерница за предузећа, ограничено вам је чување предмета у вашем личном трезору. Промените опцију власништва у организацију и изаберите из доступних колекција." - }, - "modifiedPolicyId": { - "message": "Политика $ID$ промењена.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Цена плана" - }, - "estimatedTax": { - "message": "Процењен ПДВ" - }, - "custom": { - "message": "Прилагођен" - }, - "customDesc": { - "message": "Омогућава детаљнију контролу корисничких дозвола за напредне конфигурације." - }, - "permissions": { - "message": "Дозволе" - }, - "accessBusinessPortal": { - "message": "Приступите пословном порталу" - }, - "accessEventLogs": { - "message": "Приступе извештаја догађаја" - }, - "accessImportExport": { - "message": "Приступ Увоз/Извоз" - }, - "accessReports": { - "message": "Приступ извештаја" - }, - "manageAllCollections": { - "message": "Управљање свим колекцијама" - }, - "manageAssignedCollections": { - "message": "Управљање додељеним колекцијама" - }, - "manageGroups": { - "message": "Управљање групама" - }, - "managePolicies": { - "message": "Управљање политикама" - }, - "manageSso": { - "message": "Управљај SSO" - }, - "manageUsers": { - "message": "Управљај корисницима" - }, - "disableRequireSsoError": { - "message": "Морате ручно да онемогућите аутентификацију јединствене пријаве пре него што ова политика може да се онемогући." - }, - "personalOwnershipPolicyInEffect": { - "message": "Политика организације утичу на ваше могућности власништва." - }, - "personalOwnershipCheckboxDesc": { - "message": "Онемогућите лично власништво за кориснике организације" - }, - "textHiddenByDefault": { - "message": "На притуп „Send“-а, сакриј текст по дефаулту", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/sv/messages.json b/locales/sv/messages.json deleted file mode 100644 index 6780828e..00000000 --- a/locales/sv/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$ webbvalv", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "Vilken typ av objekt är detta?" - }, - "name": { - "message": "Namn" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "Ny URI" - }, - "username": { - "message": "Användarnamn" - }, - "password": { - "message": "Lösenord" - }, - "newPassword": { - "message": "Nytt lösenord" - }, - "passphrase": { - "message": "Lösenordsfras" - }, - "notes": { - "message": "Anteckningar" - }, - "customFields": { - "message": "Anpassade fält" - }, - "cardholderName": { - "message": "Kortinnehavarens namn" - }, - "number": { - "message": "Nummer" - }, - "brand": { - "message": "Märke" - }, - "expiration": { - "message": "Utgång" - }, - "securityCode": { - "message": "Säkerhetskod (CVV)" - }, - "identityName": { - "message": "Identitetsnamn" - }, - "company": { - "message": "Företag" - }, - "ssn": { - "message": "Personnummer" - }, - "passportNumber": { - "message": "Passnummer" - }, - "licenseNumber": { - "message": "Körkortsnummer" - }, - "email": { - "message": "E-post" - }, - "phone": { - "message": "Telefon" - }, - "january": { - "message": "Januari" - }, - "february": { - "message": "Februari" - }, - "march": { - "message": "Mars" - }, - "april": { - "message": "April" - }, - "may": { - "message": "Maj" - }, - "june": { - "message": "Juni" - }, - "july": { - "message": "Juli" - }, - "august": { - "message": "Augusti" - }, - "september": { - "message": "September" - }, - "october": { - "message": "Oktober" - }, - "november": { - "message": "November" - }, - "december": { - "message": "December" - }, - "title": { - "message": "Titel" - }, - "mr": { - "message": "Herr" - }, - "mrs": { - "message": "Fru" - }, - "ms": { - "message": "Fröken" - }, - "dr": { - "message": "Dr" - }, - "expirationMonth": { - "message": "Utgångsmånad" - }, - "expirationYear": { - "message": "Utgångsår" - }, - "authenticatorKeyTotp": { - "message": "Autentiseringsnyckel (TOTP)" - }, - "folder": { - "message": "Mapp" - }, - "newCustomField": { - "message": "Nytt anpassat fält" - }, - "value": { - "message": "Värde" - }, - "dragToSort": { - "message": "Dra för att sortera" - }, - "cfTypeText": { - "message": "Text" - }, - "cfTypeHidden": { - "message": "Dold" - }, - "cfTypeBoolean": { - "message": "Booleskt värde" - }, - "remove": { - "message": "Ta bort" - }, - "unassigned": { - "message": "Ej tilldelad" - }, - "noneFolder": { - "message": "Ingen mapp", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Lägg till mapp" - }, - "editFolder": { - "message": "Redigera mapp" - }, - "baseDomain": { - "message": "Basdomän" - }, - "host": { - "message": "Värd", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Exakt" - }, - "startsWith": { - "message": "Börjar med" - }, - "regEx": { - "message": "Reguljärt uttryck", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Matchning", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Standardmatchning", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Aldrig" - }, - "toggleVisibility": { - "message": "Växla synlighet" - }, - "toggleCollapse": { - "message": "Växla synlig/dold", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Skapa lösenord" - }, - "checkPassword": { - "message": "Kontrollera om lösenordet har avslöjats." - }, - "passwordExposed": { - "message": "Detta lösenord har avslöjats $VALUE$ gång(er) i dataintrång. Du bör ändra det.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "Detta lösenord hittades inte i några kända dataintrång. Det bör vara säkert att använda." - }, - "save": { - "message": "Spara" - }, - "cancel": { - "message": "Avbryt" - }, - "canceled": { - "message": "Avbruten" - }, - "close": { - "message": "Stäng" - }, - "delete": { - "message": "Radera" - }, - "favorite": { - "message": "Favorit" - }, - "unfavorite": { - "message": "Ta bort favorit" - }, - "edit": { - "message": "Redigera" - }, - "searchCollection": { - "message": "Sök i samling" - }, - "searchFolder": { - "message": "Sök i mapp" - }, - "searchFavorites": { - "message": "Sök i favoriter" - }, - "searchType": { - "message": "Sök efter typ", - "description": "Search item type" - }, - "searchVault": { - "message": "Sök i valvet" - }, - "allItems": { - "message": "Alla objekt" - }, - "favorites": { - "message": "Favoriter" - }, - "types": { - "message": "Typer" - }, - "typeLogin": { - "message": "Inloggning" - }, - "typeCard": { - "message": "Kort" - }, - "typeIdentity": { - "message": "Identitet" - }, - "typeSecureNote": { - "message": "Säker anteckning" - }, - "folders": { - "message": "Mappar" - }, - "collections": { - "message": "Samlingar" - }, - "firstName": { - "message": "Förnamn" - }, - "middleName": { - "message": "Mellannamn" - }, - "lastName": { - "message": "Efternamn" - }, - "address1": { - "message": "Adress 1" - }, - "address2": { - "message": "Adress 2" - }, - "address3": { - "message": "Adress 3" - }, - "cityTown": { - "message": "Ort" - }, - "stateProvince": { - "message": "Län" - }, - "zipPostalCode": { - "message": "Postnummer" - }, - "country": { - "message": "Land" - }, - "shared": { - "message": "Delad" - }, - "attachments": { - "message": "Bilagor" - }, - "select": { - "message": "Välj" - }, - "addItem": { - "message": "Lägg till objekt" - }, - "editItem": { - "message": "Redigera objekt" - }, - "viewItem": { - "message": "Visa objekt" - }, - "ex": { - "message": "t.ex.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Annat" - }, - "share": { - "message": "Dela" - }, - "valueCopied": { - "message": "$VALUE$ kopierades", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Kopiera värde", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Kopiera lösenord", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Kopiera användarnamn", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Kopiera nummer", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Kopiera säkerhetskod", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Kopiera URI", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "Mitt valv" - }, - "vault": { - "message": "Valv" - }, - "shareSelected": { - "message": "Dela markerade" - }, - "deleteSelected": { - "message": "Radera markerade" - }, - "moveSelected": { - "message": "Flytta markerade" - }, - "selectAll": { - "message": "Markera alla" - }, - "unselectAll": { - "message": "Avmarkera alla" - }, - "launch": { - "message": "Öppna" - }, - "newAttachment": { - "message": "Lägg till ny bilaga" - }, - "deletedAttachment": { - "message": "Raderade bilaga" - }, - "deleteAttachmentConfirmation": { - "message": "Är du säker på att du vill radera denna bilaga?" - }, - "attachmentSaved": { - "message": "Bilagan har sparats." - }, - "file": { - "message": "Fil" - }, - "selectFile": { - "message": "Välj en fil." - }, - "maxFileSize": { - "message": "Filen får vara maximalt 100 MB." - }, - "updateKey": { - "message": "Du kan inte använda denna funktion förrän du uppdaterar din krypteringsnyckel." - }, - "addedItem": { - "message": "Lade till objekt" - }, - "editedItem": { - "message": "Redigerade objekt" - }, - "sharedItem": { - "message": "Delade objekt" - }, - "sharedItems": { - "message": "Delade objekt" - }, - "deleteItem": { - "message": "Radera objekt" - }, - "deleteFolder": { - "message": "Radera mapp" - }, - "deleteAttachment": { - "message": "Radera bilaga" - }, - "deleteItemConfirmation": { - "message": "Är du säker på att du vill skicka detta objekt till papperskorgen?" - }, - "deletedItem": { - "message": "Skickade objekt till papperskorgen" - }, - "deletedItems": { - "message": "Skickade objekt till papperskorgen" - }, - "movedItems": { - "message": "Flyttade objekt" - }, - "overwritePasswordConfirmation": { - "message": "Är du säker på att du vill skriva över det nuvarande lösenordet?" - }, - "editedFolder": { - "message": "Redigerade mapp" - }, - "addedFolder": { - "message": "Lade till mapp" - }, - "deleteFolderConfirmation": { - "message": "Är du säker på att du vill radera denna mapp?" - }, - "deletedFolder": { - "message": "Raderade mapp" - }, - "loggedOut": { - "message": "Utloggad" - }, - "loginExpired": { - "message": "Din inloggningssession har löpt ut." - }, - "logOutConfirmation": { - "message": "Är du säker på att du vill logga ut?" - }, - "logOut": { - "message": "Logga ut" - }, - "ok": { - "message": "OK" - }, - "yes": { - "message": "Ja" - }, - "no": { - "message": "Nej" - }, - "loginOrCreateNewAccount": { - "message": "Logga in eller skapa ett nytt konto för att komma åt ditt valv." - }, - "createAccount": { - "message": "Skapa konto" - }, - "logIn": { - "message": "Logga in" - }, - "submit": { - "message": "Skicka" - }, - "emailAddressDesc": { - "message": "Din e-postadress används för att logga in." - }, - "yourName": { - "message": "Ditt namn" - }, - "yourNameDesc": { - "message": "Vad ska vi kalla dig?" - }, - "masterPass": { - "message": "Huvudlösenord" - }, - "masterPassDesc": { - "message": "Huvudlösenordet är det lösenord som du använder för att komma åt ditt valv. Det är väldigt viktigt att du inte glömmer bort ditt huvudlösenord, eftersom det inte går att återställa lösenordet ifall du skulle glömma bort det." - }, - "masterPassHintDesc": { - "message": "En huvudlösenordsledtråd kan hjälpa dig att komma ihåg ditt lösenord om du glömmer bort det." - }, - "reTypeMasterPass": { - "message": "Ange huvudlösenordet igen" - }, - "masterPassHint": { - "message": "Huvudlösenordsledtråd (valfri)" - }, - "masterPassHintLabel": { - "message": "Huvudlösenordsledtråd" - }, - "settings": { - "message": "Inställningar" - }, - "passwordHint": { - "message": "Lösenordsledtråd" - }, - "enterEmailToGetHint": { - "message": "Ange din e-postadress för att få din huvudlösenordsledtråd skickad till dig." - }, - "getMasterPasswordHint": { - "message": "Hämta huvudlösenordsledtråd" - }, - "emailRequired": { - "message": "E-postadress krävs." - }, - "invalidEmail": { - "message": "Ogiltig e-postadress." - }, - "masterPassRequired": { - "message": "Huvudlösenord krävs." - }, - "masterPassLength": { - "message": "Huvudlösenordet måste vara minst 8 tecken långt." - }, - "masterPassDoesntMatch": { - "message": "Huvudlösenorden stämmer inte överens." - }, - "newAccountCreated": { - "message": "Ditt nya konto har skapats! Du kan nu logga in." - }, - "masterPassSent": { - "message": "Vi har skickat ett e-postmeddelande till dig med din huvudlösenordsledtråd." - }, - "unexpectedError": { - "message": "Ett oväntat fel har inträffat." - }, - "emailAddress": { - "message": "E-postadress" - }, - "yourVaultIsLocked": { - "message": "Valvet är låst. Bekräfta ditt huvudlösenord för att fortsätta." - }, - "unlock": { - "message": "Lås upp" - }, - "loggedInAsEmailOn": { - "message": "Inloggad som $EMAIL$ på $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Ogiltigt huvudlösenord" - }, - "lockNow": { - "message": "Lås nu" - }, - "noItemsInList": { - "message": "Det finns inga objekt att visa." - }, - "noCollectionsInList": { - "message": "Det finns inga samlingar att visa." - }, - "noGroupsInList": { - "message": "Det finns inga grupper att visa." - }, - "noUsersInList": { - "message": "Det finns inga användare att visa." - }, - "noEventsInList": { - "message": "Det finns inga händelser att visa." - }, - "newOrganization": { - "message": "Ny organisation" - }, - "noOrganizationsList": { - "message": "Du tillhör inte några organisationer. Organisationer möjliggör säker delning av objekt med andra användare." - }, - "versionNumber": { - "message": "Version $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Ange den 6-siffriga verifieringskoden från din autentiseringsapp." - }, - "enterVerificationCodeEmail": { - "message": "Ange den 6-siffriga verifieringskoden som har skickats till $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "Verifieringsmeddelande har skickats till $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Kom ihåg mig" - }, - "sendVerificationCodeEmailAgain": { - "message": "Skicka e-postmeddelandet med verifieringskoden igen" - }, - "useAnotherTwoStepMethod": { - "message": "Använd en annan metod för tvåstegsverifiering" - }, - "insertYubiKey": { - "message": "Anslut din YubiKey till datorns USB-port och tryck sedan på dess knapp." - }, - "insertU2f": { - "message": "Anslut din säkerhetsnyckel till datorns USB-port. Om den har en knapp, tryck på den." - }, - "loginUnavailable": { - "message": "Inloggning ej tillgänglig" - }, - "noTwoStepProviders": { - "message": "Detta konto har tvåstegsverifiering aktiverat, men ingen av de konfigurerade metoderna stöds av den här webbläsaren." - }, - "noTwoStepProviders2": { - "message": "Vänligen använd en webbläsare som stöds (t.ex. Chrome) och/eller lägg till fler metoder som har bättre stöd bland webbläsare (t.ex. en autentiseringsapp)." - }, - "twoStepOptions": { - "message": "Alternativ för tvåstegsverifiering" - }, - "recoveryCodeDesc": { - "message": "Förlorat åtkomst till alla dina metoder för tvåstegsverifiering? Använd din återställningskod för att inaktivera tvåstegsverifiering på ditt konto." - }, - "recoveryCodeTitle": { - "message": "Återställningskod" - }, - "authenticatorAppTitle": { - "message": "Autentiseringsapp" - }, - "authenticatorAppDesc": { - "message": "Använd en autentiseringsapp (t.ex. Authy eller Google Authenticator) för att skapa tidsbaserade verifieringskoder.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "YubiKey OTP-säkerhetsnyckel" - }, - "yubiKeyDesc": { - "message": "Använd en YubiKey för att komma åt ditt konto. Fungerar med YubiKey 4-serien, 5-serien och NEO-enheter." - }, - "duoDesc": { - "message": "Verifiera med Duo Security genom att använda Duo Mobile-appen, SMS, telefonsamtal eller en U2F-säkerhetsnyckel.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Verifiera med Duo Security för din organisation genom att använda Duo Mobile-appen, SMS, telefonsamtal eller en U2F-säkerhetsnyckel.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Använd en FIDO U2F-aktiverad säkerhetsnyckel för att komma åt ditt konto." - }, - "u2fTitle": { - "message": "FIDO U2F-säkerhetsnyckel" - }, - "emailTitle": { - "message": "E-post" - }, - "emailDesc": { - "message": "Verifieringskoder kommer skickas till dig via e-post." - }, - "continue": { - "message": "Fortsätt" - }, - "organization": { - "message": "Organisation" - }, - "organizations": { - "message": "Organisationer" - }, - "shareDesc": { - "message": "Välj en organisation som du vill dela detta objekt med. Delning överför ägandet av objektet till organisationen. Du kommer inte längre vara direkt ägare till detta objekt när det har delats." - }, - "shareManyDesc": { - "message": "Välj en organisation som du vill dela dessa objekt med. Delning överför ägandet av objekten till organisationen. Du kommer inte längre vara direkt ägare till dessa objekt när de har delats." - }, - "collectionsDesc": { - "message": "Redigera de samlingar som detta objekt delas med. Endast organisationsanvändare med tillgång till dessa samlingar kommer att kunna se detta objekt." - }, - "deleteSelectedItemsDesc": { - "message": "Du har markerat $COUNT$ objekt att radera. Är du säker på att du vill radera alla dessa objekt?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Välj en mapp som du vill flytta de $COUNT$ markerade objekten till.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "Du har markerat $COUNT$ objekt. $SHAREABLE_COUNT$ objekt kan delas, $NONSHAREABLE_COUNT$ kan inte delas.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Verifieringskod (TOTP)" - }, - "copyVerificationCode": { - "message": "Kopiera verifieringskod" - }, - "warning": { - "message": "Varning" - }, - "confirmVaultExport": { - "message": "Bekräfta export av valv" - }, - "exportWarningDesc": { - "message": "Denna export innehåller ditt valv i ett okrypterat format. Du bör inte lagra eller skicka den exporterade filen över osäkra kanaler (t.ex. e-post). Radera den omedelbart när du är färdig med den." - }, - "encExportWarningDesc": { - "message": "Denna export krypterar dina data med kontots krypteringsnyckel. Om du någonsin roterar kontots krypteringsnyckel bör du exportera igen eftersom du inte kommer att kunna dekryptera denna exportfil." - }, - "exportMasterPassword": { - "message": "Ange ditt huvudlösenord för att exportera ditt valv." - }, - "exportVault": { - "message": "Exportera valv" - }, - "fileFormat": { - "message": "Filformat" - }, - "exportSuccess": { - "message": "Ditt valv har exporterats." - }, - "passwordGenerator": { - "message": "Lösenordsgenerator" - }, - "minComplexityScore": { - "message": "Minsta komplexitetspoäng" - }, - "minNumbers": { - "message": "Minsta antal siffror" - }, - "minSpecial": { - "message": "Minsta antal speciella tecken", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Undvik tvetydiga tecken" - }, - "regeneratePassword": { - "message": "Skapa nytt lösenord" - }, - "length": { - "message": "Längd" - }, - "numWords": { - "message": "Antal ord" - }, - "wordSeparator": { - "message": "Ordavgränsare" - }, - "capitalize": { - "message": "Versalisera", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Inkludera siffra" - }, - "passwordHistory": { - "message": "Lösenordshistorik" - }, - "noPasswordsInList": { - "message": "Det finns inga lösenord att visa." - }, - "clear": { - "message": "Rensa", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Kontot uppdaterades" - }, - "changeEmail": { - "message": "Ändra e-postadress" - }, - "newEmail": { - "message": "Ny e-postadress" - }, - "code": { - "message": "Kod" - }, - "changeEmailDesc": { - "message": "Vi har skickat ett e-postmeddelande med en verifieringskod till $EMAIL$. Vänligen kolla din inkorg och ange koden i e-postmeddelandet nedan för att slutföra ändringen av e-postadress.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Om du fortsätter kommer du loggas ut från din nuvarande session och du kommer behöver logga in igen. Aktiva sessioner på andra enheter kan fortsätta vara aktiva i upp till en timme." - }, - "emailChanged": { - "message": "E-postadressen ändrades" - }, - "logBackIn": { - "message": "Vänligen logga in igen." - }, - "logBackInOthersToo": { - "message": "Vänligen logga in igen. Om du använder andra Bitwarden-applikationer, logga ut och in igen i dem också." - }, - "changeMasterPassword": { - "message": "Ändra huvudlösenord" - }, - "masterPasswordChanged": { - "message": "Huvudlösenordet ändrades" - }, - "currentMasterPass": { - "message": "Nuvarande huvudlösenord" - }, - "newMasterPass": { - "message": "Nytt huvudlösenord" - }, - "confirmNewMasterPass": { - "message": "Bekräfta nytt huvudlösenord" - }, - "encKeySettings": { - "message": "Inställningar för krypteringsnyckel" - }, - "kdfAlgorithm": { - "message": "KDF-algoritm" - }, - "kdfIterations": { - "message": "KDF-iterationer" - }, - "kdfIterationsDesc": { - "message": "Högre KDF-iterationer kan skydda ditt huvudlösenord från att knäckas av en angripare via \"brute forcing\". Vi rekommenderar ett värde på $VALUE$ eller mer.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Att ställa in dina KDF-iterationer för högt kan resultera i dålig prestanda när du loggar in (och låser upp) Bitwarden på enheter med långsammare processorer. Vi rekommenderar att du ökar värdet i steg om $INCREMENT$ och sedan testar alla dina enheter.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Ändra KDF" - }, - "encKeySettingsChanged": { - "message": "Inställningarna för krypteringsnyckel ändrades" - }, - "dangerZone": { - "message": "Farozon" - }, - "dangerZoneDesc": { - "message": "Var försiktig, dessa åtgärder går inte att ångra!" - }, - "deauthorizeSessions": { - "message": "Avauktorisera sessioner" - }, - "deauthorizeSessionsDesc": { - "message": "Orolig att ditt konto är inloggat på en annan enhet? Fortsätt nedan för att avauktorisera alla datorer eller enheter som du har använt tidigare. Detta rekommenderas om du har använt en offentlig dator eller av misstag sparat ditt lösenord på en enhet som inte är din. Detta steg kommer också att rensa alla tidigare ihågkomna sessioner med tvåstegsverifiering." - }, - "deauthorizeSessionsWarning": { - "message": "Om du fortsätter kommer du även loggas ut från din nuvarande session och du kommer behöver logga in igen. Du kommer även behöva verifiera med tvåstegsverifiering om det är aktiverat. Aktiva sessioner på andra enheter kan fortsätta vara aktiva i upp till en timme." - }, - "sessionsDeauthorized": { - "message": "Alla sessioner avauktoriserades" - }, - "purgeVault": { - "message": "Rensa valv" - }, - "purgedOrganizationVault": { - "message": "Rensade organisationsvalv." - }, - "purgeVaultDesc": { - "message": "Fortsätt nedan för att radera alla objekt och mappar i ditt valv. Objekt som tillhör en organisation som du delar med kommer inte raderas." - }, - "purgeOrgVaultDesc": { - "message": "Fortsätt nedan för att radera alla objekt i organisationens valv." - }, - "purgeVaultWarning": { - "message": "Rensning av ditt valv är permanent. Det går inte att ångra." - }, - "vaultPurged": { - "message": "Ditt valv har rensats." - }, - "deleteAccount": { - "message": "Radera konto" - }, - "deleteAccountDesc": { - "message": "Fortsätt nedan för att radera ditt konto och all tillhörande data." - }, - "deleteAccountWarning": { - "message": "Att radera ditt konto är permanent. Det går inte att ångra." - }, - "accountDeleted": { - "message": "Kontot raderades" - }, - "accountDeletedDesc": { - "message": "Ditt konto har stängts och all tillhörande data har raderats." - }, - "myAccount": { - "message": "Mitt konto" - }, - "tools": { - "message": "Verktyg" - }, - "importData": { - "message": "Importera data" - }, - "importSuccess": { - "message": "Data har importerats till ditt valv." - }, - "importFormatError": { - "message": "Datan är inte korrekt formaterad. Vänligen kontrollera din importerade fil och försök igen." - }, - "importNothingError": { - "message": "Ingenting importerades." - }, - "selectFormat": { - "message": "Välj importfilens format" - }, - "selectImportFile": { - "message": "Välj importfilen" - }, - "orCopyPasteFileContents": { - "message": "eller kopiera och klistra in innehållet från filen" - }, - "instructionsFor": { - "message": "Instruktioner för $NAME$", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Alternativ" - }, - "optionsDesc": { - "message": "Anpassa din upplevelse i webbvalvet." - }, - "optionsUpdated": { - "message": "Alternativen uppdaterades" - }, - "language": { - "message": "Språk" - }, - "languageDesc": { - "message": "Ändra språket som används i webbvalvet." - }, - "disableIcons": { - "message": "Inaktivera webbplatsikoner" - }, - "disableIconsDesc": { - "message": "Webbplatsikoner ger en igenkännbar ikon bredvid varje inloggningsobjekt i ditt valv." - }, - "enableGravatars": { - "message": "Aktivera gravatarer", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Använd avatarbilder hämtade från gravatar.com." - }, - "enableFullWidth": { - "message": "Aktivera layout med full bredd", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Tillåt webbvalvet att utökas till webbläsarfönstrets fulla bredd." - }, - "default": { - "message": "Standard" - }, - "domainRules": { - "message": "Domänregler" - }, - "domainRulesDesc": { - "message": "Om du har samma inloggningsinformation på flera olika domäner kan du markera webbplatsen som \"motsvarande\". \"Globala\" domäner är de som redan skapats åt dig av Bitwarden." - }, - "globalEqDomains": { - "message": "Globala motsvarande domäner" - }, - "customEqDomains": { - "message": "Anpassade motsvarande domäner" - }, - "exclude": { - "message": "Exkludera" - }, - "include": { - "message": "Inkludera" - }, - "customize": { - "message": "Anpassa" - }, - "newCustomDomain": { - "message": "Ny anpassad domän" - }, - "newCustomDomainDesc": { - "message": "Ange en lista av domäner separerade med kommatecken. Endast basdomäner är tillåtna. Ange inte underdomäner. Ange till exempel \"google.com\" istället för \"www.google.com\". Du kan också ange \"androidapp://package.name\" för att associera en Android-app med andra webbplatsdomäner." - }, - "customDomainX": { - "message": "Anpassad domän $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Domänerna uppdaterades" - }, - "twoStepLogin": { - "message": "Tvåstegsverifiering" - }, - "twoStepLoginDesc": { - "message": "Säkra ditt konto genom att kräva ett ytterligare steg vid inloggning." - }, - "twoStepLoginOrganizationDesc": { - "message": "Kräv tvåstegsverifiering för din organisations användare genom att konfigurera metoder på organisationsnivå." - }, - "twoStepLoginRecoveryWarning": { - "message": "Att aktivera tvåstegsverifiering kan låsa ute dig från ditt Bitwarden-konto permanent. En återställningskod låter dig komma åt ditt konto om du inte längre kan använda din vanliga metod för tvåstegsverifiering (t.ex. om du förlorar din enhet). Bitwardens kundservice kommer inte att kunna hjälpa dig om du förlorar åtkomst till ditt konto. Vi rekommenderar att du skriver ner eller skriver ut återställningskoden och förvarar den på ett säkert ställe." - }, - "viewRecoveryCode": { - "message": "Visa återställningskod" - }, - "providers": { - "message": "Metoder", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Aktivera" - }, - "enabled": { - "message": "Aktiverad" - }, - "premium": { - "message": "Premium", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Premium-medlemskap" - }, - "premiumRequired": { - "message": "Premium krävs" - }, - "premiumRequiredDesc": { - "message": "Ett premium-medlemskap krävs för att använda den här funktionen." - }, - "youHavePremiumAccess": { - "message": "Du har premiumåtkomst" - }, - "alreadyPremiumFromOrg": { - "message": "Du har redan tillgång till premium-funktioner på grund av en organisation som du är medlem i." - }, - "manage": { - "message": "Hantera" - }, - "disable": { - "message": "Inaktivera" - }, - "twoStepLoginProviderEnabled": { - "message": "Denna metod för tvåstegsverifiering är aktiverad på ditt konto." - }, - "twoStepLoginAuthDesc": { - "message": "Ange ditt huvudlösenord för att ändra inställningarna för tvåstegsverifiering." - }, - "twoStepAuthenticatorDesc": { - "message": "Följ dessa steg för att konfigurera tvåstegsverifiering med en autentiseringsapp:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Hämta en tvåstegsverifieringsapp" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Behöver du en tvåstegsverifieringsapp? Hämta en av följande" - }, - "iosDevices": { - "message": "iOS-enheter" - }, - "androidDevices": { - "message": "Android-enheter" - }, - "windowsDevices": { - "message": "Windows-enheter" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "Dessa appar rekommenderas, men även andra autentiseringsappar fungerar." - }, - "twoStepAuthenticatorScanCode": { - "message": "Skanna denna QR-kod med din autentiseringsapp" - }, - "key": { - "message": "Nyckel" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Ange den 6-siffriga verifieringskoden från appen" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "Om du behöver lägga till den på en annan enhet, finns QR-koden (eller nyckeln) som krävs av din autentiseringsapp nedan." - }, - "twoStepDisableDesc": { - "message": "Är du säker på att du vill inaktivera denna metod för tvåstegsverifiering?" - }, - "twoStepDisabled": { - "message": "Metod för tvåstegsverifiering inaktiverad." - }, - "twoFactorYubikeyAdd": { - "message": "Lägg till en ny YubiKey till ditt konto" - }, - "twoFactorYubikeyPlugIn": { - "message": "Anslut din YubiKey till datorns USB-port." - }, - "twoFactorYubikeySelectKey": { - "message": "Välj det första tomma YubiKey-inmatningsfältet nedan." - }, - "twoFactorYubikeyTouchButton": { - "message": "Tryck på YubiKey:ns knapp." - }, - "twoFactorYubikeySaveForm": { - "message": "Spara formuläret." - }, - "twoFactorYubikeyWarning": { - "message": "På grund av plattformsbegränsningar kan YubiKeys inte användas i alla Bitwarden-applikationer. Du bör aktivera en annan metod för tvåstegsverifiering så att du kan komma åt ditt konto när YubiKeys inte kan användas. Plattformar som stöds:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Webbvalvet, skrivbordsprogrammet, CLI:n och alla webbläsartillägg på en enhet med en USB-port som kan acceptera din YubiKey." - }, - "twoFactorYubikeySupportMobile": { - "message": "Mobilappar på en enhet med NFC-stöd eller en USB-port som kan acceptera din YubiKey." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "U2F-nyckel $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "NFC-stöd" - }, - "twoFactorYubikeySupportsNfc": { - "message": "En av mina nycklar stödjer NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "Om en av dina YubiKeys stöder NFC (till exempel en YubiKey NEO), kommer du tillfrågas på på mobila enheter när NFC är tillgängligt." - }, - "yubikeysUpdated": { - "message": "YubiKeys uppdaterades" - }, - "disableAllKeys": { - "message": "Inaktivera alla nycklar" - }, - "twoFactorDuoDesc": { - "message": "Ange Bitwardens applikationsinformation från din Duo Admin-panel." - }, - "twoFactorDuoIntegrationKey": { - "message": "Integreringsnyckel" - }, - "twoFactorDuoSecretKey": { - "message": "Hemlig nyckel" - }, - "twoFactorDuoApiHostname": { - "message": "API-värdnamn" - }, - "twoFactorEmailDesc": { - "message": "Följ dessa steg för att konfigurera tvåstegsverifiering med e-post:" - }, - "twoFactorEmailEnterEmail": { - "message": "Ange den e-postadress som du vill ta emot verifieringskoder till" - }, - "twoFactorEmailEnterCode": { - "message": "Ange den 6-siffriga verifieringskoden från e-postmeddelandet" - }, - "sendEmail": { - "message": "Skicka e-postmeddelande" - }, - "twoFactorU2fAdd": { - "message": "Lägg till en FIDO U2F-säkerhetsnyckel till ditt konto" - }, - "removeU2fConfirmation": { - "message": "Är du säker på att du vill ta bort denna säkerhetsnyckel?" - }, - "readKey": { - "message": "Läs nyckel" - }, - "keyCompromised": { - "message": "Nyckeln har äventyrats." - }, - "twoFactorU2fGiveName": { - "message": "Ge säkerhetsnyckeln ett namn för att kunna identifiera den." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Anslut säkerhetsnyckeln till din dators USB-port och klicka på knappen \"Läs nyckel\"." - }, - "twoFactorU2fTouchButton": { - "message": "Om säkerhetsnyckeln har en knapp, tryck på den." - }, - "twoFactorU2fSaveForm": { - "message": "Spara formuläret." - }, - "twoFactorU2fWarning": { - "message": "På grund av plattformsbegränsningar kan FIDO U2F inte användas i alla Bitwarden-applikationer. Du bör aktivera en annan metod för tvåstegsverifiering så att du kan komma åt ditt konto när FIDO U2F inte kan användas. Plattformar som stöds:" - }, - "twoFactorU2fSupportWeb": { - "message": "Webbvalvet och webbläsartillägg på en stationär eller bärbar dator med en U2F-aktiverad webbläsare (Chrome, Opera, Vivaldi eller Firefox med FIDO U2F aktiverat)." - }, - "twoFactorU2fWaiting": { - "message": "Väntar på att du ska trycka på knappen på din säkerhetsnyckel" - }, - "twoFactorU2fClickSave": { - "message": "Klicka på \"Spara\"-knappen nedan för att aktivera denna säkerhetsnyckel för tvåstegsverifiering." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "Det gick inte att läsa säkerhetsnyckeln. Försök igen." - }, - "twoFactorRecoveryYourCode": { - "message": "Din återställningskod för tvåstegsverifiering" - }, - "twoFactorRecoveryNoCode": { - "message": "Du har inte aktiverat några metoder för tvåstegsverifiering ännu. När du har aktiverat en metod för tvåstegsverifiering kan du återvända hit för att se din återställningskod." - }, - "printCode": { - "message": "Skriv ut kod", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Rapporter" - }, - "unsecuredWebsitesReport": { - "message": "Rapport om osäkra webbplatser" - }, - "unsecuredWebsitesReportDesc": { - "message": "Att använda osäkra webbplatser med http://-protokollet kan vara farligt. Om webbplatsen stödjer det, bör du alltid ansluta med https://-protokollet så att anslutningen är krypterad." - }, - "unsecuredWebsitesFound": { - "message": "Osäkra webbplatser hittades" - }, - "unsecuredWebsitesFoundDesc": { - "message": "Vi hittade $COUNT$ objekt i ditt valv med osäkra URI:er. Om webbplatsen stödjer det bör du ändra deras URI-protokoll till https://.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "Inga objekt i ditt valv har osäkra URI:er." - }, - "inactive2faReport": { - "message": "Rapport om inaktiv 2FA" - }, - "inactive2faReportDesc": { - "message": "Tvåstegsverifiering (2FA) är en viktig säkerhetsinställning som hjälper dig att säkra dina konton. Om en webbplats erbjuder det bör du alltid aktivera tvåstegsverifiering." - }, - "inactive2faFound": { - "message": "Inloggningar utan 2FA hittades" - }, - "inactive2faFoundDesc": { - "message": "Vi hittade $COUNT$ webbplats(er) i ditt valv som kanske inte har tvåstegsverifiering konfigurerat (enligt 2fa.directory). För att skydda dessa konton ytterligare bör du aktivera tvåstegsverifiering.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "Inga webbplatser utan tvåstegsverifiering hittades i ditt valv." - }, - "instructions": { - "message": "Instruktioner" - }, - "exposedPasswordsReport": { - "message": "Rapport om avslöjade lösenord" - }, - "exposedPasswordsReportDesc": { - "message": "Avslöjade lösenord är lösenord som har äventyrats i kända dataintrång som släppts offentligt eller sålts av hackare på \"dark web\"." - }, - "exposedPasswordsFound": { - "message": "Avslöjade lösenord hittades" - }, - "exposedPasswordsFoundDesc": { - "message": "Vi hittade $COUNT$ objekt i ditt valv med lösenord som har äventyrats i kända dataintrång. Du bör ändra dessa till att använda nya lösenord.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "Inga objekt i ditt valv har lösenord som har avslöjats i kända dataintrång." - }, - "checkExposedPasswords": { - "message": "Kontrollera avslöjade lösenord" - }, - "exposedXTimes": { - "message": "Avslöjad $COUNT$ gång(er)", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Rapport om svaga lösenord" - }, - "weakPasswordsReportDesc": { - "message": "Svaga lösenord kan enkelt gissas av hackare och automatiserade verktyg som används för att knäcka lösenord. Bitwardens lösenordsgenerator kan hjälpa dig att skapa starka lösenord." - }, - "weakPasswordsFound": { - "message": "Svaga lösenord hittades" - }, - "weakPasswordsFoundDesc": { - "message": "Vi hittade $COUNT$ objekt i ditt valv med lösenord som inte är starka. Du bör ändra dessa till att använda starkare lösenord.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "Inga objekt i ditt valv har svaga lösenord." - }, - "reusedPasswordsReport": { - "message": "Rapport om återanvända lösenord" - }, - "reusedPasswordsReportDesc": { - "message": "Om en tjänst som du använder äventyras, kan återanvändning av samma lösenord på andra ställen göra det möjligt för hackare att enkelt få åtkomst till fler av dina online-konton. Du bör använda ett unikt lösenord för varje konto eller tjänst." - }, - "reusedPasswordsFound": { - "message": "Återanvända lösenord hittades" - }, - "reusedPasswordsFoundDesc": { - "message": "Vi hittade $COUNT$ lösenord som återanvänds i ditt valv. Du bör ändra dessa till unika lösenord.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "Inga inloggningar i ditt valv har lösenord som återanvänds." - }, - "reusedXTimes": { - "message": "Återanvänt $COUNT$ gånger", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Rapport om dataintrång" - }, - "breachDesc": { - "message": "Ett \"intrång\" är en incident där data olovligen har stulits från en webbplats av hackare och sedan släppts till allmänheten. Gå igenom och granska informationen som äventyrats (e-postadresser, lösenord, kreditkort osv.) och vidta lämpliga åtgärder, t.ex. att ändra lösenord." - }, - "breachCheckUsernameEmail": { - "message": "Kontrollera alla användarnamn eller e-postadresser som du använder." - }, - "checkBreaches": { - "message": "Kontrollera intrång" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ hittades inte i några kända dataintrång.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Goda nyheter", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ hittades i $COUNT$ olika dataintrång på internet.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Äventyrade konton hittades" - }, - "compromisedData": { - "message": "Äventyrad data" - }, - "website": { - "message": "Webbplats" - }, - "affectedUsers": { - "message": "Berörda användare" - }, - "breachOccurred": { - "message": "Intrånget inträffade" - }, - "breachReported": { - "message": "Intrånget rapporterades" - }, - "reportError": { - "message": "Ett fel inträffade när rapporten skulle läsas in. Försök igen" - }, - "billing": { - "message": "Fakturering" - }, - "accountCredit": { - "message": "Kontokredit", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Kontosaldo", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Lägg till kredit", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Belopp", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Tillagd kredit visas på ditt konto efter att betalningen har bearbetats fullständigt. Vissa betalningsmetoder är fördröjda och kan ta längre tid att behandla än andra." - }, - "makeSureEnoughCredit": { - "message": "Se till att ditt konto har tillräckligt mycket tillgänglig kredit för detta köp. Om ditt konto inte har tillräckligt med tillgänglig kredit, kommer din sparade standardbetalningsmetod användas för skillnaden. Du kan lägga till kredit till ditt konto från faktureringssidan." - }, - "creditAppliedDesc": { - "message": "Kontots kredit kan användas för att göra köp. Tillgänglig kredit kommer automatiskt tillämpas mot fakturor som genereras för detta konto." - }, - "goPremium": { - "message": "Skaffa premium", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "Du har uppgraderat till premium." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Uppgradera ditt konto till ett premium-medlemskap och lås upp några riktigt bra extrafunktioner." - }, - "premiumSignUpStorage": { - "message": "1 GB krypterad lagring." - }, - "premiumSignUpTwoStep": { - "message": "Ytterligare alternativ för tvåstegsverifiering såsom YubiKey, FIDO U2F och Duo." - }, - "premiumSignUpReports": { - "message": "Lösenordshygien, kontohälsa och dataintrångsrapporter för att skydda ditt valv." - }, - "premiumSignUpTotp": { - "message": "TOTP-verifieringskodgenerator (2FA) för inloggningar i ditt valv." - }, - "premiumSignUpSupport": { - "message": "Prioriterad kundservice." - }, - "premiumSignUpFuture": { - "message": "Alla framtida premium-funktioner. Mer kommer snart!" - }, - "premiumPrice": { - "message": "Allt för endast $PRICE$/år!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Tillägg" - }, - "premiumAccess": { - "message": "Premium-åtkomst" - }, - "premiumAccessDesc": { - "message": "Du kan lägga till premium-åtkomst till alla medlemmar i din organisation för $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Ytterligare lagring (GB)" - }, - "additionalStorageGbDesc": { - "message": "Antal ytterligare GB" - }, - "additionalStorageIntervalDesc": { - "message": "Ditt abonnemang kommer med $SIZE$ krypterad lagring. Du kan lägga till ytterligare lagring för $PRICE$ per GB/$INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Sammanfattning" - }, - "total": { - "message": "Totalt" - }, - "year": { - "message": "år" - }, - "month": { - "message": "månad" - }, - "monthAbbr": { - "message": "mån.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Din betalningsmetod kommer debiteras omedelbart och sedan på en återkommande basis varje år. Du kan avsluta när som helst." - }, - "paymentCharged": { - "message": "Din betalningsmetod kommer debiteras omedelbart och sedan på en återkommande basis varje $INTERVAL$. Du kan avsluta när som helst.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Ditt abonnemang kommer med en gratis 7-dagars provperiod. Din betalningsmetod kommer inte debiteras förrän provperioden har avslutats. Fakturering kommer ske på en återkommande basis varje $INTERVAL$. Du kan avsluta när som helst.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Betalningsinformation" - }, - "billingInformation": { - "message": "Faktureringsuppgifter" - }, - "creditCard": { - "message": "Kreditkort" - }, - "paypalClickSubmit": { - "message": "Klicka på PayPal-knappen för att logga in på ditt PayPal-konto, tryck sedan på \"Skicka\"-knappen nedan för att fortsätta." - }, - "cancelSubscription": { - "message": "Avsluta abonnemang" - }, - "subscriptionCanceled": { - "message": "Abonnemanget har avslutats." - }, - "pendingCancellation": { - "message": "Väntar på att avslutas" - }, - "subscriptionPendingCanceled": { - "message": "Abonnemanget har markerats för avslutning vid slutet av den nuvarande faktureringsperioden." - }, - "reinstateSubscription": { - "message": "Återuppta abonnemang" - }, - "reinstateConfirmation": { - "message": "Är du säker att du vill ta bort den väntande avslutningsförfrågan och återuppta ditt abonnemang?" - }, - "reinstated": { - "message": "Abonnemanget har återupptagits." - }, - "cancelConfirmation": { - "message": "Är du säker på att du vill avsluta? Du kommer förlora tillgång till alla funktioner som abonnemanget erbjuder vid slutet av den nuvarande faktureringsperioden." - }, - "canceledSubscription": { - "message": "Abonnemanget har avslutats." - }, - "neverExpires": { - "message": "Går aldrig ut" - }, - "status": { - "message": "Status" - }, - "nextCharge": { - "message": "Nästa debitering" - }, - "details": { - "message": "Detaljer" - }, - "downloadLicense": { - "message": "Hämta licens" - }, - "updateLicense": { - "message": "Uppdatera licens" - }, - "updatedLicense": { - "message": "Uppdaterade licens" - }, - "manageSubscription": { - "message": "Hantera abonnemang" - }, - "storage": { - "message": "Lagring" - }, - "addStorage": { - "message": "Lägg till lagring" - }, - "removeStorage": { - "message": "Ta bort lagring" - }, - "subscriptionStorage": { - "message": "Ditt abonnemang har totalt $MAX_STORAGE$ GB krypterad lagring. Du använder för närvarande $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Betalningsmetod" - }, - "noPaymentMethod": { - "message": "Ingen sparad betalningsmetod." - }, - "addPaymentMethod": { - "message": "Lägg till betalningsmetod" - }, - "changePaymentMethod": { - "message": "Ändra betalningsmetod" - }, - "invoices": { - "message": "Fakturor" - }, - "noInvoices": { - "message": "Inga fakturor." - }, - "paid": { - "message": "Betald", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Obetald", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Transaktioner", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "Inga transaktioner." - }, - "chargeNoun": { - "message": "Debitering", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Återbetalning", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Debiteringar kommer visas som $STATEMENT_NAME$ på ditt kontoutdrag.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "GB lagring att lägga till" - }, - "gbStorageRemove": { - "message": "GB lagring att ta bort" - }, - "storageAddNote": { - "message": "Att lägga till lagringsutrymme kommer att resultera i justeringar av ditt totala debiteringsbelopp och omedelbart debitera din betalningsmetod. Den första debiteringen kommer att fördelas proportionellt för den återstående delen av den nuvarande faktureringscykeln." - }, - "storageRemoveNote": { - "message": "Att ta bort lagringsutrymme kommer resultera i justeringar av ditt totala debiteringsbelopp som kommer läggas till som kredit mot din nästa debitering." - }, - "adjustedStorage": { - "message": "Justerade $AMOUNT$ GB lagringsutrymme.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Kontakta kundservice" - }, - "updatedPaymentMethod": { - "message": "Uppdaterade betalningsmetod." - }, - "purchasePremium": { - "message": "Köp premium" - }, - "licenseFile": { - "message": "Licensfil" - }, - "licenseFileDesc": { - "message": "Din licensfil kommer namnges i stil med $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "För att uppgradera ditt konto till ett premium-medlemskap måste du ladda upp en giltig licensfil." - }, - "uploadLicenseFileOrg": { - "message": "För att skapa en \"on-premise\"-hostad organisation måste du ladda upp en giltig licensfil." - }, - "accountEmailMustBeVerified": { - "message": "Ditt kontos e-postadress måste verifieras." - }, - "newOrganizationDesc": { - "message": "Organisationer tillåter dig att dela objekt i ditt valv med andra samt hantera relaterade användare för en specifik entitet, t.ex en familj, ett litet team, eller ett stort företag." - }, - "generalInformation": { - "message": "Allmän information" - }, - "organizationName": { - "message": "Organisationsnamn" - }, - "accountOwnedBusiness": { - "message": "Detta konto ägs av ett företag." - }, - "billingEmail": { - "message": "E-postadress för fakturering" - }, - "businessName": { - "message": "Företagsnamn" - }, - "chooseYourPlan": { - "message": "Välj abonnemang" - }, - "users": { - "message": "Användare" - }, - "userSeats": { - "message": "Användarplatser" - }, - "additionalUserSeats": { - "message": "Ytterligare användarplatser" - }, - "userSeatsDesc": { - "message": "Antal användarplatser" - }, - "userSeatsAdditionalDesc": { - "message": "Ditt abonnemang kommer med $BASE_SEATS$ användarplatser. Du kan lägga till ytterligare användare för $SEAT_PRICE$ per användare/månad.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "Hur många användarplatser behöver du? Du kan även lägga till ytterligare platser senare om det behövs." - }, - "planNameFree": { - "message": "Gratis", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "För testning eller enskilda användare att dela med $COUNT$ andra användare.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Familjer" - }, - "planDescFamilies": { - "message": "För personligt bruk, att dela med familj & vänner." - }, - "planNameTeams": { - "message": "Team" - }, - "planDescTeams": { - "message": "För företag och andra organisationer med team." - }, - "planNameEnterprise": { - "message": "Företag" - }, - "planDescEnterprise": { - "message": "För företag och andra stora organisationer." - }, - "freeForever": { - "message": "Gratis för alltid" - }, - "includesXUsers": { - "message": "inkluderar $COUNT$ användare", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Ytterligare användare" - }, - "costPerUser": { - "message": "$COST$ per användare", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Begränsad till $COUNT$ användare (inklusive dig)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Begränsad till $COUNT$ samlingar", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Lägg till och dela med upp till $COUNT$ användare", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Lägg till och dela med ett obegränsat antal användare" - }, - "createUnlimitedCollections": { - "message": "Skapa ett obegränsat antal samlingar" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ krypterad lagring", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "\"On-premise\"-hosting (valfri)" - }, - "usersGetPremium": { - "message": "Användare får tillgång till premium-funktioner" - }, - "controlAccessWithGroups": { - "message": "Reglera användaråtkomst med grupper" - }, - "syncUsersFromDirectory": { - "message": "Synkronisera användare och grupper från en katalog" - }, - "trackAuditLogs": { - "message": "Spåra användaråtgärder med granskningsloggar" - }, - "enforce2faDuo": { - "message": "Kräv 2FA med Duo" - }, - "priorityCustomerSupport": { - "message": "Prioriterad kundservice" - }, - "xDayFreeTrial": { - "message": "$COUNT$ dagars gratis provperiod, avbryt när som helst", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Månadsvis" - }, - "annually": { - "message": "Årligen" - }, - "basePrice": { - "message": "Baspris" - }, - "organizationCreated": { - "message": "Organisationen skapades" - }, - "organizationReadyToGo": { - "message": "Din nya organisation är redo!" - }, - "organizationUpgraded": { - "message": "Din organisation har uppgraderats." - }, - "leave": { - "message": "Lämna" - }, - "leaveOrganizationConfirmation": { - "message": "Är du säker på att du vill lämna denna organisation?" - }, - "leftOrganization": { - "message": "Du har lämnat organisationen." - }, - "defaultCollection": { - "message": "Standardsamling" - }, - "getHelp": { - "message": "Få hjälp" - }, - "getApps": { - "message": "Hämta apparna" - }, - "loggedInAs": { - "message": "Inloggad som" - }, - "eventLogs": { - "message": "Händelselogg" - }, - "people": { - "message": "Personer" - }, - "policies": { - "message": "Policyer" - }, - "editPolicy": { - "message": "Redigera policy" - }, - "groups": { - "message": "Grupper" - }, - "newGroup": { - "message": "Ny grupp" - }, - "addGroup": { - "message": "Lägg till grupp" - }, - "editGroup": { - "message": "Redigera grupp" - }, - "deleteGroupConfirmation": { - "message": "Är du säker på att du vill radera denna grupp?" - }, - "removeUserConfirmation": { - "message": "Är du säker på att du vill ta bort denna användare?" - }, - "externalId": { - "message": "Externt ID" - }, - "externalIdDesc": { - "message": "Det externa id:t kan användas som referens eller för att länka denna resurs till ett externt system såsom en användarkatalog." - }, - "accessControl": { - "message": "Åtkomstkontroll" - }, - "groupAccessAllItems": { - "message": "Denna grupp kan komma åt och ändra alla objekt." - }, - "groupAccessSelectedCollections": { - "message": "Denna grupp kan endast komma åt de markerade samlingarna." - }, - "readOnly": { - "message": "Skrivskyddad" - }, - "newCollection": { - "message": "Ny samling" - }, - "addCollection": { - "message": "Lägg till samling" - }, - "editCollection": { - "message": "Redigera samling" - }, - "deleteCollectionConfirmation": { - "message": "Är du säker på att du vill radera denna samling?" - }, - "editUser": { - "message": "Redigera användare" - }, - "inviteUser": { - "message": "Bjud in användare" - }, - "inviteUserDesc": { - "message": "Bjud in en ny användare till din organisation genom att ange e-postadressen som tillhör deras Bitwarden-konto nedan. Om de inte redan har ett Bitwarden-konto kommer de uppmanas att skapa ett." - }, - "inviteMultipleEmailDesc": { - "message": "Du kan bjuda in upp till $COUNT$ användare samtidigt med en kommaseparerad lista av e-postadresser.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "Denna användare använder tvåstegsverifiering för att skydda sitt konto." - }, - "userAccessAllItems": { - "message": "Denna användare kan komma åt och ändra alla objekt." - }, - "userAccessSelectedCollections": { - "message": "Denna användare kan endast komma åt de markerade samlingarna." - }, - "search": { - "message": "Sök" - }, - "invited": { - "message": "Inbjuden" - }, - "accepted": { - "message": "Accepterad" - }, - "confirmed": { - "message": "Bekräftad" - }, - "owner": { - "message": "Ägare" - }, - "ownerDesc": { - "message": "Användaren med den högsta åtkomsten som kan hantera alla aspekter av din organisation." - }, - "admin": { - "message": "Administratör" - }, - "adminDesc": { - "message": "Administratörer kan komma åt och hantera alla objekt, samlingar och användare i din organisation." - }, - "user": { - "message": "Användare" - }, - "userDesc": { - "message": "En vanlig användare med tillgång till de samlingar i din organisation som den har tilldelats." - }, - "manager": { - "message": "Hanterare" - }, - "managerDesc": { - "message": "Hanterare kan komma åt och hantera de samlingar i din organisation som de har blivit tilldelade." - }, - "all": { - "message": "Alla" - }, - "refresh": { - "message": "Uppdatera" - }, - "timestamp": { - "message": "Tidsstämpel" - }, - "event": { - "message": "Händelse" - }, - "unknown": { - "message": "Okänd" - }, - "loadMore": { - "message": "Ladda mer" - }, - "mobile": { - "message": "Mobil", - "description": "Mobile app" - }, - "extension": { - "message": "Tillägg", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Skrivbord", - "description": "Desktop app" - }, - "webVault": { - "message": "Webbvalv" - }, - "loggedIn": { - "message": "Loggade in." - }, - "changedPassword": { - "message": "Ändrade kontolösenord." - }, - "enabledUpdated2fa": { - "message": "Aktiverade/uppdaterade tvåstegsverifiering." - }, - "disabled2fa": { - "message": "Inaktiverade tvåstegsverifiering." - }, - "recovered2fa": { - "message": "Återställde kontot från tvåstegsverifiering." - }, - "failedLogin": { - "message": "Inloggningsförsöket misslyckades med felaktigt lösenord." - }, - "failedLogin2fa": { - "message": "Inloggningsförsöket misslyckades med felaktig tvåstegsverifiering." - }, - "exportedVault": { - "message": "Exporterade valv." - }, - "exportedOrganizationVault": { - "message": "Exporterade organisationsvalv." - }, - "editedOrgSettings": { - "message": "Redigerade organisationsinställningar." - }, - "createdItemId": { - "message": "Skapade objektet $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Redigerade objektet $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Skickade objektet $ID$ till papperskorgen.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Delade objektet $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Visade objektet $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Visade lösenord för objektet $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Visade dolt fält för objektet $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Visade säkerhetskod för objektet $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Kopierade lösenord för objektet $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Kopierade dolt fält för objektet $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Kopierade säkerhetskod för objektet $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Fyllde i objektet $ID$ automatiskt.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Skapade samlingen $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Redigerade samlingen $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Raderade samlingen $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Redigerade policyn $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Skapade gruppen $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Redigerade gruppen $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Raderade gruppen $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Tog bort användaren $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Skapade bilaga för objektet $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Raderade bilaga för objektet $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Redigerade samlingar för objektet $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Bjöd in användaren $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Bekräftade användaren $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Redigerade användaren $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Redigerade grupper för användaren $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Olänkad SSO för användare $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Enhet" - }, - "view": { - "message": "Visa" - }, - "invalidDateRange": { - "message": "Ogiltigt datumintervall." - }, - "errorOccurred": { - "message": "Ett fel har inträffat." - }, - "userAccess": { - "message": "Användaråtkomst" - }, - "userType": { - "message": "Användartyp" - }, - "groupAccess": { - "message": "Gruppåtkomst" - }, - "groupAccessUserDesc": { - "message": "Redigera vilka grupper den här användaren tillhör." - }, - "invitedUsers": { - "message": "Bjöd in användare." - }, - "resendInvitation": { - "message": "Skicka inbjudan igen" - }, - "hasBeenReinvited": { - "message": "$USER$ har bjudits in igen.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Bekräfta" - }, - "confirmUser": { - "message": "Bekräfta användare" - }, - "hasBeenConfirmed": { - "message": "$USER$ har bekräftats.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Bekräfta användare" - }, - "usersNeedConfirmed": { - "message": "Du har användare som har accepterat sin inbjudan, men fortfarande måste bekräftas. Användarna har inte åtkomst till organisationen förrän de är bekräftade." - }, - "startDate": { - "message": "Startdatum" - }, - "endDate": { - "message": "Slutdatum" - }, - "verifyEmail": { - "message": "Verifiera e-postadress" - }, - "verifyEmailDesc": { - "message": "Verifiera ditt kontos e-postadress för att låsa upp alla funktioner." - }, - "verifyEmailFirst": { - "message": "Ditt kontos e-postadress måste verifieras först." - }, - "checkInboxForVerification": { - "message": "Kolla din inkorg för en verifieringslänk." - }, - "emailVerified": { - "message": "Din e-postadress har verifierats." - }, - "emailVerifiedFailed": { - "message": "Det gick inte att verifiera din e-postadress. Prova att skicka ett nytt verifieringsmeddelande." - }, - "updateBrowser": { - "message": "Uppdatera webbläsaren" - }, - "updateBrowserDesc": { - "message": "Du använder en webbläsare som inte stöds. Webbvalvet kanske inte fungerar som det ska." - }, - "joinOrganization": { - "message": "Gå med i organisation" - }, - "joinOrganizationDesc": { - "message": "Du har bjudits in att gå med i organisationen ovan. För att acceptera inbjudan måste du logga in eller skapa ett nytt Bitwarden-konto." - }, - "inviteAccepted": { - "message": "Inbjudan accepterades" - }, - "inviteAcceptedDesc": { - "message": "Du kan komma åt denna organisation när en administratör har bekräftat ditt medlemskap. Vi skickar ett e-postmeddelande till dig när det sker." - }, - "inviteAcceptFailed": { - "message": "Det gick inte att acceptera inbjudan. Be en administratör för organisationen att skicka en ny inbjudan." - }, - "inviteAcceptFailedShort": { - "message": "Det gick inte att acceptera inbjudan. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Kom ihåg e-postadress" - }, - "recoverAccountTwoStepDesc": { - "message": "Om du inte kan komma åt ditt konto genom dina vanliga metoder för tvåstegsverifiering kan du använda din återställningskod för att inaktivera alla metoder för tvåstegsverifiering på ditt konto." - }, - "recoverAccountTwoStep": { - "message": "Återställ kontots tvåstegsverifiering" - }, - "twoStepRecoverDisabled": { - "message": "Tvåstegsverifiering har inaktiverats på ditt konto." - }, - "learnMore": { - "message": "Läs mer" - }, - "deleteRecoverDesc": { - "message": "Ange din e-postadress nedan för att återställa och radera ditt konto." - }, - "deleteRecoverEmailSent": { - "message": "Om ditt konto finns så har vi skickat ett e-postmeddelande till dig med vidare instruktioner." - }, - "deleteRecoverConfirmDesc": { - "message": "Du har begärt att radera ditt Bitwarden-konto. Klicka på knappen nedan för att bekräfta." - }, - "myOrganization": { - "message": "Min organisation" - }, - "deleteOrganization": { - "message": "Radera organisation" - }, - "deleteOrganizationDesc": { - "message": "Fortsätt nedan för att radera denna organisation och all tillhörande data. Enskilda användarkonton kommer finnas kvar, men de kommer inte längre tillhöra denna organisation. " - }, - "deleteOrganizationWarning": { - "message": "Att radera organisationen är permanent. Det går inte att ångra." - }, - "organizationDeleted": { - "message": "Organisationen raderades" - }, - "organizationDeletedDesc": { - "message": "Organisationen och all tillhörande data har raderats." - }, - "organizationUpdated": { - "message": "Organisationen uppdaterades" - }, - "taxInformation": { - "message": "Skatteinformation" - }, - "taxInformationDesc": { - "message": "För kunder i USA krävs postnummer för att uppfylla momskrav. För kunder i andra länder har du möjlighet att ange momsregistreringsnummer (VAT/GST) och/eller adress som ska synas på dina fakturor." - }, - "billingPlan": { - "message": "Abonnemang", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Byt abonnemang", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Uppgradera ditt konto till ett annat abonnemang genom att ange informationen nedan. Se till att du har en aktiv betalningsmetod tillagd på kontot.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Kontakta kundservice om du vill byta abonnemang. Vänligen säkerhetsställ att du har en aktiv betalningsmetod tillagd på kontot.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Faktura #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "Visa faktura" - }, - "downloadInvoice": { - "message": "Hämta faktura" - }, - "verifyBankAccount": { - "message": "Verifiera bankkonto" - }, - "verifyBankAccountDesc": { - "message": "Vi har gjort två mikro-insättningar på ditt bankkonto (det kan ta 1-2 arbetsdagar innan de syns). Ange beloppen för att verifiera bankkontot." - }, - "verifyBankAccountInitialDesc": { - "message": "Betalning via bankkonto är endast tillgängligt för kunder i USA. Du måste också verifiera ditt bankkonto. Vi kommer göra två mikro-insättningar inom de närmaste 1-2 arbetsdagarna. Ange dessa belopp på organisationens faktureringssida för att verifiera bankkontot." - }, - "verifyBankAccountFailureWarning": { - "message": "Om du inte verifierar bankkontot kommer det att resultera i en missad betalning och ditt abonnemang kommer inaktiveras." - }, - "verifiedBankAccount": { - "message": "Bankkontot har verifierats." - }, - "bankAccount": { - "message": "Bankkonto" - }, - "amountX": { - "message": "Belopp $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Routningsnummer", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Kontonummer" - }, - "accountHolderName": { - "message": "Kontoinnehavarens namn" - }, - "bankAccountType": { - "message": "Kontotyp" - }, - "bankAccountTypeCompany": { - "message": "Företag" - }, - "bankAccountTypeIndividual": { - "message": "Person" - }, - "enterInstallationId": { - "message": "Ange ditt installations-id" - }, - "addSeats": { - "message": "Lägg till platser", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Ta bort platser", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Ditt abonnemang tillåter totalt $COUNT$ användare.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Platser att lägga till" - }, - "seatsToRemove": { - "message": "Platser att ta bort" - }, - "seatsAddNote": { - "message": "Att lägga till användarplatser kommer att resultera i justeringar av ditt totala debiteringsbelopp och omedelbart debitera din betalningsmetod. Den första debiteringen kommer att fördelas proportionellt för den återstående delen av den nuvarande faktureringscykeln." - }, - "seatsRemoveNote": { - "message": "Att ta bort användarplatser kommer resultera i justeringar av ditt totala debiteringsbelopp som kommer läggas till som kredit mot din nästa debitering." - }, - "adjustedSeats": { - "message": "Justerade $AMOUNT$ användarplatser.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Nyckeln uppdaterades" - }, - "updateKeyTitle": { - "message": "Uppdatera nyckel" - }, - "updateEncryptionKey": { - "message": "Uppdatera krypteringsnyckel" - }, - "updateEncryptionKeyShortDesc": { - "message": "Du använder för närvarande ett föråldrat krypteringssystem." - }, - "updateEncryptionKeyDesc": { - "message": "Vi har övergått till större krypteringsnycklar som ger bättre säkerhet och tillgång till nyare funktioner. Att uppdatera din krypteringsnyckel är snabbt och smidigt. Skriv bara in ditt huvudlösenord nedan. Denna uppdatering kommer så småningom bli obligatorisk." - }, - "updateEncryptionKeyWarning": { - "message": "Efter att ha uppdaterat din krypteringsnyckel, måste du logga ut och in igen i alla Bitwarden-program som du använder (t.ex. mobilappen och webbläsartillägget). Att inte logga ut och in igen (vilket hämtar din nya krypteringsnyckel) kan resultera i datakorruption. Vi kommer försöka logga ut dig automatiskt, men det kan vara fördröjt." - }, - "updateEncryptionKeyExportWarning": { - "message": "Alla krypterade exporter som du har sparat kommer också bli ogiltiga." - }, - "subscription": { - "message": "Abonnemang" - }, - "loading": { - "message": "Laddar" - }, - "upgrade": { - "message": "Uppgradera" - }, - "upgradeOrganization": { - "message": "Uppgradera organisation" - }, - "upgradeOrganizationDesc": { - "message": "Denna funktion är inte tillgänglig för gratisorganisationer. Byt till ett betalt abonnemang för att låsa upp fler funktioner." - }, - "createOrganizationStep1": { - "message": "Skapa organisation: Steg 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Innan du skapar din organisation, måste du först skapa ett personligt gratiskonto." - }, - "refunded": { - "message": "Återbetald" - }, - "nothingSelected": { - "message": "Du har inte markerat något." - }, - "acceptPolicies": { - "message": "Genom att markera denna ruta godkänner du följande:" - }, - "acceptPoliciesError": { - "message": "Användarvillkoren och Integritetspolicyn har inte accepterats." - }, - "termsOfService": { - "message": "Användarvillkor" - }, - "privacyPolicy": { - "message": "Integritetspolicy" - }, - "filters": { - "message": "Filter" - }, - "vaultTimeout": { - "message": "Valvets tidsgräns" - }, - "vaultTimeoutDesc": { - "message": "Välj när valvets tidsgräns överskrids och den valda åtgärden utförs." - }, - "oneMinute": { - "message": "1 minut" - }, - "fiveMinutes": { - "message": "5 minuter" - }, - "fifteenMinutes": { - "message": "15 minuter" - }, - "thirtyMinutes": { - "message": "30 minuter" - }, - "oneHour": { - "message": "1 timme" - }, - "fourHours": { - "message": "4 timmar" - }, - "onRefresh": { - "message": "Vid omstart" - }, - "dateUpdated": { - "message": "Uppdaterades", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Lösenordet uppdaterades", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "Organisationen är inaktiverad." - }, - "licenseIsExpired": { - "message": "Licensen har löpt ut." - }, - "updatedUsers": { - "message": "Uppdaterade användare" - }, - "selected": { - "message": "Markerade" - }, - "ownership": { - "message": "Ägarskap" - }, - "whoOwnsThisItem": { - "message": "Vem äger detta objekt?" - }, - "strong": { - "message": "Stark", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Bra", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Svagt", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Mycket svagt", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Svagt huvudlösenord" - }, - "weakMasterPasswordDesc": { - "message": "Huvudlösenordet du har valt är svagt. Du bör använda ett starkt huvudlösenord (eller en lösenordsfras) för att skydda ditt Bitwarden-konto ordentligt. Är du säker på att du vill använda detta huvudlösenord?" - }, - "rotateAccountEncKey": { - "message": "Rotera även mitt kontos krypteringsnyckel" - }, - "rotateEncKeyTitle": { - "message": "Rotera krypteringsnyckel" - }, - "rotateEncKeyConfirmation": { - "message": "Är du säker på att du vill rotera ditt kontos krypteringsnyckel?" - }, - "attachmentsNeedFix": { - "message": "Detta objekt har gamla bilagor som behöver åtgärdas." - }, - "attachmentFixDesc": { - "message": "Detta är en gammal bilaga som behöver åtgärdas. Klicka för att läsa mer." - }, - "fix": { - "message": "Åtgärda", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "Det finns gamla bilagor i ditt valv som behöver åtgärdas innan du kan rotera ditt kontos krypteringsnyckel." - }, - "yourAccountsFingerprint": { - "message": "Ditt kontos fingeravtrycksfras", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "För att säkerställa dina krypteringsnycklars integritet, vänligen verifiera användarens fingeravtrycksfras innan du fortsätter.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Fråga inte om verifiering av fingeravtrycksfrasen igen", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Gratis", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "API-nyckel" - }, - "apiKeyDesc": { - "message": "Din API-nyckel kan användas för att autentisera mot Bitwardens publika API." - }, - "apiKeyRotateDesc": { - "message": "Genom att rotera API-nyckeln ogiltigförklarar du den tidigare nyckeln. Du kan rotera din API-nyckel om du tror att din nuvarande nyckel inte längre är säker att använda." - }, - "apiKeyWarning": { - "message": "Din API-nyckel har full tillgång till organisationen. Den bör hållas hemlig." - }, - "userApiKeyDesc": { - "message": "Din API-nyckel kan användas för att autentisera i Bitwardens CLI." - }, - "userApiKeyWarning": { - "message": "Din API-nyckel är en alternativ autentiseringsmekanism. Den bör hållas hemlig." - }, - "oauth2ClientCredentials": { - "message": "OAuth 2.0 Klientautentiseringsuppgifter", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "Visa API-nyckel" - }, - "rotateApiKey": { - "message": "Rotera API-nyckel" - }, - "selectOneCollection": { - "message": "Du måste markera minst en samling." - }, - "couldNotChargeCardPayInvoice": { - "message": "Det gick inte att debitera ditt kort. Vänligen granska och betala den obetalda fakturan som visas nedan." - }, - "inAppPurchase": { - "message": "Köp i appen" - }, - "cannotPerformInAppPurchase": { - "message": "Du kan inte utföra denna åtgärd när du använder köp i appen som betalningsmetod." - }, - "manageSubscriptionFromStore": { - "message": "Du måste hantera ditt abonnemang från butiken där ditt köp i appen gjordes." - }, - "minLength": { - "message": "Minsta längd" - }, - "clone": { - "message": "Klona" - }, - "masterPassPolicyDesc": { - "message": "Ange minimikrav för huvudlösenordsstyrka." - }, - "twoStepLoginPolicyDesc": { - "message": "Kräv att användare konfigurerar tvåstegsverifiering för sina personliga konton." - }, - "twoStepLoginPolicyWarning": { - "message": "Medlemmar som inte har tvåstegsverifiering aktiverat för sina personliga konton kommer tas bort från organisationen och få ett e-postmeddelande om ändringen." - }, - "twoStepLoginPolicyUserWarning": { - "message": "Du är medlem i en organisation som kräver att tvåstegsverifiering är aktiverat för ditt användarkonto. Om du inaktiverar alla metoder för tvåstegsverifiering kommer du automatiskt tas bort från dessa organisationer." - }, - "passwordGeneratorPolicyDesc": { - "message": "Ange minimikrav för lösenordsgeneratorn." - }, - "passwordGeneratorPolicyInEffect": { - "message": "En eller flera organisationspolicyer påverkar dina generatorinställningar." - }, - "masterPasswordPolicyInEffect": { - "message": "En eller flera organisationspolicyer kräver att ditt huvudlösenord uppfyller följande krav:" - }, - "policyInEffectMinComplexity": { - "message": "Minsta komplexitetspoäng på $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Minsta längd på $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Innehålla en eller flera versaler" - }, - "policyInEffectLowercase": { - "message": "Innehålla en eller flera gemener" - }, - "policyInEffectNumbers": { - "message": "Innehålla en eller flera siffror" - }, - "policyInEffectSpecial": { - "message": "Innehålla ett eller flera av följande specialtecken: $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Ditt nya huvudlösenord uppfyller inte kraven i policyn." - }, - "minimumNumberOfWords": { - "message": "Minsta antal ord" - }, - "defaultType": { - "message": "Standardtyp" - }, - "userPreference": { - "message": "Användarens val" - }, - "vaultTimeoutAction": { - "message": "Åtgärd när valvets tidsgräns överskrids" - }, - "vaultTimeoutActionLockDesc": { - "message": "Ett låst valv kräver att du anger ditt huvudlösenord för att komma åt det igen." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "Ett utloggat valv kräver att du autentiserar för att komma åt det igen." - }, - "lock": { - "message": "Lås", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Papperskorgen", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Sök i papperskorgen" - }, - "permanentlyDelete": { - "message": "Radera permanent" - }, - "permanentlyDeleteSelected": { - "message": "Radera markerade permanent" - }, - "permanentlyDeleteItem": { - "message": "Radera objekt permanent" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Är du säker på att du vill radera detta objekt permanent?" - }, - "permanentlyDeletedItem": { - "message": "Raderade objekt permanent" - }, - "permanentlyDeletedItems": { - "message": "Raderade objekt permanent" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "Du har markerat $COUNT$ objekt att radera permanent. Är du säker på att du vill radera alla dessa objekt permanent?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Raderade objektet $ID$ permanent.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Återställ" - }, - "restoreSelected": { - "message": "Återställ markerade" - }, - "restoreItem": { - "message": "Återställ objekt" - }, - "restoredItem": { - "message": "Återställde objekt" - }, - "restoredItems": { - "message": "Återställde objekt" - }, - "restoreItemConfirmation": { - "message": "Är du säker på att du vill återställa detta objekt?" - }, - "restoreItems": { - "message": "Återställ objekt" - }, - "restoreSelectedItemsDesc": { - "message": "Du har markerat $COUNT$ objekt att återställa. Är du säker på att du vill återställa alla dessa objekt?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Återställde objektet $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Genom att logga ut upphör all åtkomst till valvet och onlineautentisering krävs efter att tidsgränsen överskridits. Är du säker på att du vill använda denna inställning?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Bekräftelse av åtgärd när valvets tidsgräns överskrids" - }, - "hidePasswords": { - "message": "Dölj lösenord" - }, - "countryPostalCodeRequiredDesc": { - "message": "Vi behöver denna information endast för att beräkna moms och finansiell rapportering." - }, - "includeVAT": { - "message": "Inkludera momsinformation (valfri)" - }, - "taxIdNumber": { - "message": "Momsregistreringsnummer (VAT/GST)" - }, - "taxInfoUpdated": { - "message": "Momsinformationen uppdaterades." - }, - "setMasterPassword": { - "message": "Ange huvudlösenord" - }, - "ssoCompleteRegistration": { - "message": "För att slutföra inloggning med SSO, ange ett huvudlösenord för att komma åt och skydda ditt valv." - }, - "identifier": { - "message": "Identifierare" - }, - "organizationIdentifier": { - "message": "Organisationens Identifierare" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Logga in genom organisationens inloggningsportal. Ange organisationens identifierare för att börja." - }, - "enterpriseSingleSignOn": { - "message": "Single Sign-On för företag" - }, - "ssoHandOff": { - "message": "Du kan nu stänga denna flik och fortsätta i tillägget." - }, - "businessPortal": { - "message": "Företagets portal", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "Alla funktioner för team, plus:" - }, - "includeSsoAuthentication": { - "message": "SSO-autentisering via SAML2.0 och OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Företagets policyer" - }, - "ssoValidationFailed": { - "message": "Validering med SSO misslyckades" - }, - "ssoIdentifierRequired": { - "message": "Organisationens identifierare krävs." - }, - "unlinkSso": { - "message": "Avlänka SSO" - }, - "linkSso": { - "message": "Länka SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "Policykonfigurationen har flyttats, och den här sidan kommer snart att fasas ut. Klicka nedan för att använda företagsportalens sida för policyer istället." - }, - "singleOrg": { - "message": "En organisation" - }, - "singleOrgDesc": { - "message": "Hindra användare från att gå med i några andra organisationer." - }, - "singleOrgBlockCreateMessage": { - "message": "Din nuvarande organisation har en policy som hindrar dig från att gå med i fler än en organisation. Vänligen kontakta din organisations administratörer eller registrera ett annat Bitwarden-konto." - }, - "singleOrgPolicyWarning": { - "message": "Medlemmar som inte är ägare eller administratörer och redan är med i en annan organisation kommer att tas bort från organisationen." - }, - "requireSso": { - "message": "Autentisering med Single Sign-On" - }, - "requireSsoPolicyDesc": { - "message": "Kräv att användare loggar in med Single Sign-On för företag." - }, - "prerequisite": { - "message": "Förutsättning" - }, - "requireSsoPolicyReq": { - "message": "Policyn \"En organisation\" måste vara aktiverad innan denna policy kan aktiveras." - }, - "requireSsoPolicyReqError": { - "message": "Policyn \"En organisation\" är inte aktiverad." - }, - "requireSsoExemption": { - "message": "Organisationens ägare och administratörer är undantagna från denna policy." - }, - "sendTypeFile": { - "message": "Fil" - }, - "sendTypeText": { - "message": "Text" - }, - "createSend": { - "message": "Skapa ny försändelse", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Redigera försändelse", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Skapade försändelse", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Redigerade försändelse", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Raderade försändelse", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Radera försändelse", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Är du säker på att du vill radera denna försändelse?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "Vilken typ av försändelse är detta?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Raderingsdatum" - }, - "deletionDateDesc": { - "message": "Försändelsen kommer att raderas permanent på den angivna tiden, det angivna datumet.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Utgångsdatum" - }, - "expirationDateDesc": { - "message": "Om angivet kommer åtkomst till denna försändelse upphöra på det angivna datumet, den angivna tiden.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Maximalt antal åtkomster" - }, - "maxAccessCountDesc": { - "message": "Om angivet kommer användare inte längre komma åt denna försändelse när den maximala antalet åtkomster har uppnåtts.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Nuvarande antal åtkomster" - }, - "sendPasswordDesc": { - "message": "Kräv ett lösenord från användare innan de kommer åt denna försändelse.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Egna anteckningar om denna försändelse.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Inaktiverad" - }, - "sendLink": { - "message": "Försändelselänk", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Kopiera försändelselänk", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Ta bort lösenord" - }, - "removedPassword": { - "message": "Tog bort lösenord" - }, - "removePasswordConfirmation": { - "message": "Är du säker på att du vill ta bort lösenordet?" - }, - "disableThisSend": { - "message": "Inaktivera denna försändelse så att ingen kan komma åt den.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "Alla försändelser" - }, - "maxAccessCountReached": { - "message": "Det maximala antalet åtkomster har uppnåtts" - }, - "pendingDeletion": { - "message": "Väntar på radering" - }, - "expired": { - "message": "Utgången" - }, - "searchSends": { - "message": "Sök försändelser", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "Denna försändelse är skyddad med ett lösenord. Vänligen skriv in lösenordet nedan för att fortsätta.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Vet du inte lösenordet? Fråga avsändaren om lösenordet som behövs för att komma åt denna försändelse.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "Denna försändelse är dold som standard. Du kan växla dess synlighet med knappen nedan.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Ladda ner fil" - }, - "sendAccessUnavailable": { - "message": "Försändelsen du försöker komma åt finns inte eller är inte längre tillgänglig.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "Det finns inga försändelser att visa.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Åtkomst i nödsituationer" - }, - "emergencyAccessDesc": { - "message": "Bevilja och hantera åtkomst för betrodda kontakter i nödsituationer. Betrodda kontakter kan begära att antingen visa eller ta över ditt konto vid en nödsituation. Besök vår hjälpsida för mer information och information om hur delning utan kännedom fungerar." - }, - "trustedEmergencyContacts": { - "message": "Betrodda nödkontakter" - }, - "noTrustedContacts": { - "message": "Du har inte lagt till några nödkontakter än, bjud in en betrodd kontakt för att komma igång." - }, - "addEmergencyContact": { - "message": "Lägg till nödkontakt" - }, - "designatedEmergencyContacts": { - "message": "Utsedd till nödkontakt" - }, - "noGrantedAccess": { - "message": "Du har inte utsetts till någon annans nödkontakt än." - }, - "inviteEmergencyContact": { - "message": "Bjud in nödkontakt" - }, - "editEmergencyContact": { - "message": "Redigera nödkontakt" - }, - "inviteEmergencyContactDesc": { - "message": "Bjud in en nödkontakt genom att ange e-postadressen som tillhör deras Bitwarden-konto nedan. Om de inte redan har ett Bitwarden-konto kommer de uppmanas att skapa ett." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Nödåtkomst initierad" - }, - "emergencyAccessRecoveryApproved": { - "message": "Nödåtkomst godkänd" - }, - "viewDesc": { - "message": "Kan visa alla objekt i ditt valv." - }, - "takeover": { - "message": "Ta över" - }, - "takeoverDesc": { - "message": "Kan återställa ditt konto med ett nytt huvudlösenord." - }, - "waitTime": { - "message": "Väntetid" - }, - "waitTimeDesc": { - "message": "Tid som krävs innan åtkomst beviljas automatiskt." - }, - "oneDay": { - "message": "1 dag" - }, - "days": { - "message": "$DAYS$ dagar", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Bjöd in användare." - }, - "acceptEmergencyAccess": { - "message": "Du har blivit inbjuden att bli nödkontakt åt användaren ovan. För att acceptera inbjudan måste du logga in eller skapa ett nytt Bitwarden-konto." - }, - "emergencyInviteAcceptFailed": { - "message": "Det gick inte att acceptera inbjudan. Be användaren att skicka en ny inbjudan." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Det gick inte att acceptera inbjudan. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "Du kan komma åt nödalternativen för den här användaren efter att din identitet har bekräftats. Vi skickar dig ett e-postmeddelande när det händer." - }, - "requestAccess": { - "message": "Begär åtkomst" - }, - "requestAccessConfirmation": { - "message": "Är du säker på att du vill begära nödåtkomst? Du kommer att få åtkomst efter $WAITTIME$ dag(ar) eller när användaren manuellt godkänner begäran.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Nödåtkomst begärd för $USER$. Vi meddelar dig via e-post när det är möjligt att fortsätta.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Godkänn" - }, - "reject": { - "message": "Neka" - }, - "approveAccessConfirmation": { - "message": "Är du säker på att du vill godkänna nödåtkomst? Detta tillåter $USER$ att $ACTION$ ditt konto.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Nödåtkomst godkänd." - }, - "emergencyRejected": { - "message": "Nödåtkomst nekad" - }, - "passwordResetFor": { - "message": "Lösenordet för $USER$ återställdes. Du kan nu logga in med det nya lösenordet.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Personligt ägarskap" - }, - "personalOwnershipPolicyDesc": { - "message": "Kräv att användare sparar objekt till en organisation genom att ta bort det personliga ägarskapsalternativet." - }, - "personalOwnershipExemption": { - "message": "Organisationens ägare och administratörer är undantagna från denna policy." - }, - "personalOwnershipSubmitError": { - "message": "På grund av en av företagets policyer är du begränsad från att spara objekt till ditt personliga valv. Ändra ägarskap till en organisation och välj från tillgängliga samlingar." - }, - "modifiedPolicyId": { - "message": "Ändrade policyn $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Abonnemangets pris" - }, - "estimatedTax": { - "message": "Uppskattad moms" - }, - "custom": { - "message": "Anpassad" - }, - "customDesc": { - "message": "Tillåter mer detaljerad kontroll av användarbehörigheter för avancerade konfigurationer." - }, - "permissions": { - "message": "Behörigheter" - }, - "accessBusinessPortal": { - "message": "Åtkomst till företagsportalen" - }, - "accessEventLogs": { - "message": "Åtkomst till händelseloggar" - }, - "accessImportExport": { - "message": "Åtkomst till import/export" - }, - "accessReports": { - "message": "Åtkomst till rapporter" - }, - "manageAllCollections": { - "message": "Hantera alla samlingar" - }, - "manageAssignedCollections": { - "message": "Hantera tilldelade samlingar" - }, - "manageGroups": { - "message": "Hantera grupper" - }, - "managePolicies": { - "message": "Hantera policyer" - }, - "manageSso": { - "message": "Hantera SSO" - }, - "manageUsers": { - "message": "Hantera användare" - }, - "disableRequireSsoError": { - "message": "Du måste inaktivera policyn \"Autentisering med Single Sign-On\" manuellt innan denna policy kan inaktiveras." - }, - "personalOwnershipPolicyInEffect": { - "message": "En organisationspolicy påverkar dina ägarskapsalternativ." - }, - "personalOwnershipCheckboxDesc": { - "message": "Inaktivera personligt ägarskap för organisationens användare" - }, - "textHiddenByDefault": { - "message": "Dölj texten som standard när försändelsen öppnas", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/tr/messages.json b/locales/tr/messages.json deleted file mode 100644 index 4594501a..00000000 --- a/locales/tr/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$ Web Kasası", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "Bu kaydın türü nedir?" - }, - "name": { - "message": "Ad" - }, - "uri": { - "message": "URl" - }, - "uriPosition": { - "message": "URL $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "Yeni URI" - }, - "username": { - "message": "Kullanıcı Adı" - }, - "password": { - "message": "Parola" - }, - "newPassword": { - "message": "Yeni Parola" - }, - "passphrase": { - "message": "Kelimelerden Oluşan Parola" - }, - "notes": { - "message": "Notlar" - }, - "customFields": { - "message": "Özel Alanlar" - }, - "cardholderName": { - "message": "Kart Sahibinin Adı" - }, - "number": { - "message": "Numara" - }, - "brand": { - "message": "Marka" - }, - "expiration": { - "message": "Son Kullanma Tarihi" - }, - "securityCode": { - "message": "Güvenlik Kodu (CVV)" - }, - "identityName": { - "message": "Kimlik Adı" - }, - "company": { - "message": "Şirket" - }, - "ssn": { - "message": "Sosyal Güvenlik Numarası" - }, - "passportNumber": { - "message": "Pasaport Numarası" - }, - "licenseNumber": { - "message": "Ehliyet Numarası" - }, - "email": { - "message": "E-posta" - }, - "phone": { - "message": "Telefon" - }, - "january": { - "message": "Ocak" - }, - "february": { - "message": "Şubat" - }, - "march": { - "message": "Mart" - }, - "april": { - "message": "Nisan" - }, - "may": { - "message": "Mayıs" - }, - "june": { - "message": "Haziran" - }, - "july": { - "message": "Temmuz" - }, - "august": { - "message": "Ağustos" - }, - "september": { - "message": "Eylül" - }, - "october": { - "message": "Ekim" - }, - "november": { - "message": "Kasım" - }, - "december": { - "message": "Aralık" - }, - "title": { - "message": "Başlık" - }, - "mr": { - "message": "Bay" - }, - "mrs": { - "message": "Bayan" - }, - "ms": { - "message": "Bayan" - }, - "dr": { - "message": "Dr" - }, - "expirationMonth": { - "message": "Son Kullanma Ayı" - }, - "expirationYear": { - "message": "Son Kullanma Yılı" - }, - "authenticatorKeyTotp": { - "message": "Kimlik Doğrulama Anahtarı (TOTP)" - }, - "folder": { - "message": "Klasör" - }, - "newCustomField": { - "message": "Yeni Özel Alan" - }, - "value": { - "message": "Değer" - }, - "dragToSort": { - "message": "Sıralamak için sürükleyin" - }, - "cfTypeText": { - "message": "Metin" - }, - "cfTypeHidden": { - "message": "Gizli" - }, - "cfTypeBoolean": { - "message": "Boolean" - }, - "remove": { - "message": "Kaldır" - }, - "unassigned": { - "message": "Atanmamış" - }, - "noneFolder": { - "message": "Klasör Yok", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Klasör Ekle" - }, - "editFolder": { - "message": "Klasörü Düzenle" - }, - "baseDomain": { - "message": "Ana domain" - }, - "host": { - "message": "Host", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Eşit" - }, - "startsWith": { - "message": "Başlayan" - }, - "regEx": { - "message": "Regular expression", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Match Detection", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Varsayılan eşleme tanıma", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Asla" - }, - "toggleVisibility": { - "message": "Toggle Visibility" - }, - "toggleCollapse": { - "message": "Toggle Collapse", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Parola Üret" - }, - "checkPassword": { - "message": "Parolanız herhangi bir saldırı sonucu açığa çıkmış mı kontrol edin." - }, - "passwordExposed": { - "message": "Bu parola $VALUE$ sefer saldırı sonucu veri ele geçmesiyle açığa çıkmış. Değiştirmeniz gerekiyor.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "Parolanız, herhangi bir saldırı sonucu ele geçirilen veride bulunmadı. Kullanılması güvenli görünüyor." - }, - "save": { - "message": "Kaydet" - }, - "cancel": { - "message": "İptal" - }, - "canceled": { - "message": "İptal Edildi" - }, - "close": { - "message": "Kapat" - }, - "delete": { - "message": "Sil" - }, - "favorite": { - "message": "Favori" - }, - "unfavorite": { - "message": "Favorilerden Çıkar" - }, - "edit": { - "message": "Düzenle" - }, - "searchCollection": { - "message": "Koleksiyon Ara" - }, - "searchFolder": { - "message": "Klasör Ara" - }, - "searchFavorites": { - "message": "Favorilerde Ara" - }, - "searchType": { - "message": "Arama Tipi", - "description": "Search item type" - }, - "searchVault": { - "message": "Search Vault" - }, - "allItems": { - "message": "Tüm Öğeler" - }, - "favorites": { - "message": "Favoriler" - }, - "types": { - "message": "Tipler" - }, - "typeLogin": { - "message": "Giriş" - }, - "typeCard": { - "message": "Kart" - }, - "typeIdentity": { - "message": "Kimlik" - }, - "typeSecureNote": { - "message": "Güvenli Not" - }, - "folders": { - "message": "Klasörler" - }, - "collections": { - "message": "Koleksiyonlar" - }, - "firstName": { - "message": "İlk Ad" - }, - "middleName": { - "message": "İkinci Ad" - }, - "lastName": { - "message": "Soyadı" - }, - "address1": { - "message": "Adres 1" - }, - "address2": { - "message": "Adres 2" - }, - "address3": { - "message": "Adres 3" - }, - "cityTown": { - "message": "Şehir / Kasaba" - }, - "stateProvince": { - "message": "Eyalet / İl" - }, - "zipPostalCode": { - "message": "Posta Kodu" - }, - "country": { - "message": "Ülke" - }, - "shared": { - "message": "Paylaşılan" - }, - "attachments": { - "message": "Ekler" - }, - "select": { - "message": "Seç" - }, - "addItem": { - "message": "Öge Ekle" - }, - "editItem": { - "message": "Ögeyi Düzenle" - }, - "viewItem": { - "message": "View Item" - }, - "ex": { - "message": "ör.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Diğer" - }, - "share": { - "message": "Paylaş" - }, - "valueCopied": { - "message": "$VALUE$ kopyalandı", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Değeri kopyala", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Parolayı Kopyala", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Kullanıcı Adını Kopyala", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Numarayı Kopyala", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Güvenlik Kodunu Kopyala", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "URL'i kopyala", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "Kasam" - }, - "vault": { - "message": "Kasa" - }, - "shareSelected": { - "message": "Seçilenleri Paylaş" - }, - "deleteSelected": { - "message": "Seçilenleri Sil" - }, - "moveSelected": { - "message": "Seçilenleri Taşı" - }, - "selectAll": { - "message": "Tümünü Seç" - }, - "unselectAll": { - "message": "Tüm Seçimleri Kaldır" - }, - "launch": { - "message": "Başlat" - }, - "newAttachment": { - "message": "Yeni bir ek ekle" - }, - "deletedAttachment": { - "message": "Silinen Ek" - }, - "deleteAttachmentConfirmation": { - "message": "Bu eki silmek istediğinize emin misiniz?" - }, - "attachmentSaved": { - "message": "Ekiniz kaydedildi." - }, - "file": { - "message": "Dosya" - }, - "selectFile": { - "message": "Bir dosya seç." - }, - "maxFileSize": { - "message": "En büyük dosya boyutu 100MB." - }, - "updateKey": { - "message": "Şifreleme anahtarınızı güncelleyene dek bu özelliği kullanamazsınız." - }, - "addedItem": { - "message": "Hesap eklendi" - }, - "editedItem": { - "message": "Hesap düzenlendi" - }, - "sharedItem": { - "message": "Öğe Paylaşıldı" - }, - "sharedItems": { - "message": "Paylaşılan hesaplar" - }, - "deleteItem": { - "message": "Hesabı Sil" - }, - "deleteFolder": { - "message": "Klasörü Sil" - }, - "deleteAttachment": { - "message": "Eki Sil" - }, - "deleteItemConfirmation": { - "message": "Bu ögeyi silmek istediğinize emin misiniz?" - }, - "deletedItem": { - "message": "Öge Silindi" - }, - "deletedItems": { - "message": "Ögeler Silindi" - }, - "movedItems": { - "message": "Ögeler Taşındı" - }, - "overwritePasswordConfirmation": { - "message": "Mevcut parolanın üzerine kaydetmek istediğinize emin misiniz?" - }, - "editedFolder": { - "message": "Klasör Düzenlendi" - }, - "addedFolder": { - "message": "Klasör Eklendi" - }, - "deleteFolderConfirmation": { - "message": "Bu klasörü silmek istediğinize emin misiniz?" - }, - "deletedFolder": { - "message": "Klasör silindi" - }, - "loggedOut": { - "message": "Çıkış yapıldı" - }, - "loginExpired": { - "message": "Oturumunuzun süresi doldu." - }, - "logOutConfirmation": { - "message": "Çıkmak istediğinize emin misiniz?" - }, - "logOut": { - "message": "Çıkış Yap" - }, - "ok": { - "message": "Tamam" - }, - "yes": { - "message": "Evet" - }, - "no": { - "message": "Hayır" - }, - "loginOrCreateNewAccount": { - "message": "Güvenli kasanıza ulaşmak için giriş yapın veya yeni bir hesap oluşturun." - }, - "createAccount": { - "message": "Hesap Oluştur" - }, - "logIn": { - "message": "Giriş Yap" - }, - "submit": { - "message": "Gönder" - }, - "emailAddressDesc": { - "message": "E-posta adresinizle oturum açabilirsiniz." - }, - "yourName": { - "message": "İsminiz" - }, - "yourNameDesc": { - "message": "Size nasıl seslenmeliyiz?" - }, - "masterPass": { - "message": "Ana Parola" - }, - "masterPassDesc": { - "message": "Ana parola, kasanıza ulaşmak için kullanacağınız paroladır. Ana parolanızı unutmamanız çok önemlidir. Ana parolanızı unutmanız durumunda parolanızı geri getirecek herhangi bir yol bulunmuyor." - }, - "masterPassHintDesc": { - "message": "Ana parola ipucunuz -eğer unutursanız- parolanızı hatırlamanıza yardımcı olabilir." - }, - "reTypeMasterPass": { - "message": "Ana Parolayı Tekrar Yazın" - }, - "masterPassHint": { - "message": "Ana Parola İpucusu (isteğe bağlı)" - }, - "masterPassHintLabel": { - "message": "Ana Parola İpucusu" - }, - "settings": { - "message": "Ayarlar" - }, - "passwordHint": { - "message": "Password Hint" - }, - "enterEmailToGetHint": { - "message": "Ana parola ipucunu almak istediğiniz e-posta adresinizi girin." - }, - "getMasterPasswordHint": { - "message": "Ana parola ipucunu al" - }, - "emailRequired": { - "message": "E-posta adresi gereklidir." - }, - "invalidEmail": { - "message": "Geçersiz e-posta adresi." - }, - "masterPassRequired": { - "message": "Ana parola gereklidir." - }, - "masterPassLength": { - "message": "Ana parola en az 8 karakter uzunluğunda olmalıdır." - }, - "masterPassDoesntMatch": { - "message": "Ana parola onayı eşleşmiyor." - }, - "newAccountCreated": { - "message": "Yeni hesabınız oluşturuldu! Şimdi giriş yapabilirsiniz." - }, - "masterPassSent": { - "message": "Size ana parolanızın ipucunu içeren bir e-posta gönderdik." - }, - "unexpectedError": { - "message": "Beklenmedik bir hata oluştu." - }, - "emailAddress": { - "message": "E-posta Adresi" - }, - "yourVaultIsLocked": { - "message": "Kasan kilitlendi. Devam etmek için ana parolanı doğrula." - }, - "unlock": { - "message": "Kilidi Aç" - }, - "loggedInAsEmailOn": { - "message": "$HOSTNAME$ üzerinde $EMAIL$ olarak oturum açıldı.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Geçersiz ana parola" - }, - "lockNow": { - "message": "Şimdi Kilitle" - }, - "noItemsInList": { - "message": "Görüntülenecek öge yok." - }, - "noCollectionsInList": { - "message": "Listelenecek koleksiyon yok." - }, - "noGroupsInList": { - "message": "Listelenecek grup yok." - }, - "noUsersInList": { - "message": "Listelenecek kullanıcı yok." - }, - "noEventsInList": { - "message": "Listelenecek olay yok." - }, - "newOrganization": { - "message": "Yeni Organizasyon" - }, - "noOrganizationsList": { - "message": "Bir kuruluşa ait değilsiniz. Kuruluşlar, ögeleri diğer kullanıcılarla güvenli bir şekilde paylaşmanıza izin verir." - }, - "versionNumber": { - "message": "Versiyon $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Kimlik doğrulama uygulamanızda yazan 6 haneli doğrulama kodunu girin." - }, - "enterVerificationCodeEmail": { - "message": "$EMAIL$ adresine gönderilen 6 haneli doğrulama kodunu girin.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "Doğrulama E-postası $EMAIL$ adresine gönderildi.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Beni hatırla" - }, - "sendVerificationCodeEmailAgain": { - "message": "Doğrulama kodu e-postasını yeniden gönder" - }, - "useAnotherTwoStepMethod": { - "message": "Başka bir iki adımlı giriş yöntemi kullan" - }, - "insertYubiKey": { - "message": "YubiKey'inizi bilgisayarınızın USB portuna takın, ardından düğmesine dokunun." - }, - "insertU2f": { - "message": "Güvenlik anahtarınızı bilgisayarınızın USB portuna takın. Bir düğmesi varsa dokunun." - }, - "loginUnavailable": { - "message": "Login Unavailable" - }, - "noTwoStepProviders": { - "message": "Bu hesapta iki adımlı giriş özelliği etkin, ancak yapılandırılmış iki adımlı sağlayıcılarının hiçbiri bu internet tarayıcısı tarafından desteklenmiyor." - }, - "noTwoStepProviders2": { - "message": "Lütfen desteklenen bir internet tarayıcısı kullanın (Chrome gibi) ve ya internet tarayıcılarında daha iyi desteklenen ek sağlayıcılar ekleyin (bir kimlik doğrulayıcı uygulaması gibi)." - }, - "twoStepOptions": { - "message": "İki adımlı oturum açma seçenekleri" - }, - "recoveryCodeDesc": { - "message": "İki adımlı doğrulama sağlayıcılarınızın hepsine erişiminizi mi kaybettiniz? Hesabınızdaki tüm iki faktörlü sağlayıcıları devre dışı bırakmak için kurtarma kodunuzu kullanın." - }, - "recoveryCodeTitle": { - "message": "Kurtarma kodu" - }, - "authenticatorAppTitle": { - "message": "Kimlik doğrulama uygulaması" - }, - "authenticatorAppDesc": { - "message": "Zamana dayalı doğrulama kodları oluşturmak için bir kimlik doğrulayıcı uygulaması (Authy veya Google Authenticator gibi) kullanın.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "YubiKey OTP Güvenlik Anahtarı" - }, - "yubiKeyDesc": { - "message": "Hesabınıza erişmek için bir YubiKey kullanın. YubiKey 4 serisi, 5 serisi ve NEO cihazlarıyla çalışır." - }, - "duoDesc": { - "message": "Duo Security ile doğrulama için Duo Mobile uygulaması, SMS, telefon görüşmesi veya U2F güvenlik anahtarını kullanın.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Kuruluşunuzun Duo Security doğrulaması için Duo Mobile uygulaması, SMS, telefon görüşmesi veya U2F güvenlik anahtarını kullanın.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Hesabınıza erişmek için herhangi bir FIDO U2F etkin güvenlik anahtarı kullanın." - }, - "u2fTitle": { - "message": "FIDO U2F Güvenlik Anahtarı" - }, - "emailTitle": { - "message": "E-posta" - }, - "emailDesc": { - "message": "Doğrulama kodu size e-postalanacak." - }, - "continue": { - "message": "Devam Et" - }, - "organization": { - "message": "Kuruluş" - }, - "organizations": { - "message": "Kuruluşlar" - }, - "shareDesc": { - "message": "Bu ögeyi paylaşmak istediğiniz organizasyonu seçin. Paylaşım, ögenin sahipliğini kuruluşa aktarır. Paylaşıldıktan sonra artık bu ögenin doğrudan sahibi olmayacaksınız." - }, - "shareManyDesc": { - "message": "Choose an organization that you wish to share these items with. Sharing transfers ownership of the items to the organization. You will no longer be the direct owner of these items once they have been shared." - }, - "collectionsDesc": { - "message": "Edit the collections that this item is being shared with. Only organization users with access to these collections will be able to see this item." - }, - "deleteSelectedItemsDesc": { - "message": "Silmek için $COUNT$ öge seçtiniz. Bu ögelerin tamamını silmek istediğinize emin misiniz?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "$COUNT$ seçili ögeyi taşımak istediğiniz klasörü seçin.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "$COUNT$ öge seçtiniz. $SHAREABLE_COUNT$ öge paylaşılabilir, $NONSHAREABLE_COUNT$ paylaşılamaz.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Doğrulama kodu (TOTP)" - }, - "copyVerificationCode": { - "message": "Doğrulama kodunu kopyala" - }, - "warning": { - "message": "Uyarı" - }, - "confirmVaultExport": { - "message": "Confirm Vault Export" - }, - "exportWarningDesc": { - "message": "This export contains your vault data in an unencrypted format. You should not store or send the exported file over unsecure channels (such as email). Delete it immediately after you are done using it." - }, - "encExportWarningDesc": { - "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." - }, - "exportMasterPassword": { - "message": "Kasadaki verilerinizi dışa aktarmak için ana parolanızı girin." - }, - "exportVault": { - "message": "Export Vault" - }, - "fileFormat": { - "message": "Dosya Biçimi" - }, - "exportSuccess": { - "message": "Kasadaki verileriniz dışa aktarıldı." - }, - "passwordGenerator": { - "message": "Parola Oluşturucu" - }, - "minComplexityScore": { - "message": "Minimum Karmaşa Puanı" - }, - "minNumbers": { - "message": "En Az Rakam" - }, - "minSpecial": { - "message": "En Az Özel Karakter", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Belirsiz Karakterler Kullanma" - }, - "regeneratePassword": { - "message": "Yeni Parola Oluştur" - }, - "length": { - "message": "Uzunluk" - }, - "numWords": { - "message": "Kelime Sayısı" - }, - "wordSeparator": { - "message": "Kelime Ayracı" - }, - "capitalize": { - "message": "Baş Harfleri Büyük Yap", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Sayı Ekle" - }, - "passwordHistory": { - "message": "Parola Geçmişi" - }, - "noPasswordsInList": { - "message": "Listelenecek şifre yok." - }, - "clear": { - "message": "Temizle", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Hesap Güncellendi" - }, - "changeEmail": { - "message": "E-postayı Değiştir" - }, - "newEmail": { - "message": "Yeni E-posta" - }, - "code": { - "message": "Kod" - }, - "changeEmailDesc": { - "message": "$EMAIL$ adresine doğrulama kodu gönderdik. Kod için E-postanızı kontrol edin ve E-posta değişikliğini tamamlamak için aşağıya girin.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Devam etmek geçerli oturumunuzu sonlandıracaktır, bu da tekrar oturum açmanızı gerektirecektir. Diğer cihazlardaki aktif oturumlar bir saat kadar aktif kalmaya devam edebilir." - }, - "emailChanged": { - "message": "E-posta Değiştirildi" - }, - "logBackIn": { - "message": "Lütfen giriş yapın." - }, - "logBackInOthersToo": { - "message": "Lütfen tekrar giriş yapın. Diğer Bitwarden uygulamalarını kullanıyorsanız oturumu kapatın ve tekrar giriş yapın." - }, - "changeMasterPassword": { - "message": "Ana Parolayı Değiştir" - }, - "masterPasswordChanged": { - "message": "Ana Parola Değiştirildi" - }, - "currentMasterPass": { - "message": "Mevcut Ana Parola" - }, - "newMasterPass": { - "message": "Yeni Ana Parola" - }, - "confirmNewMasterPass": { - "message": "Yeni Ana Parolayı Onaylayın" - }, - "encKeySettings": { - "message": "Şifreleme Anahtarı Ayarları" - }, - "kdfAlgorithm": { - "message": "KDF Algoritması" - }, - "kdfIterations": { - "message": "KDF Yinelemesi" - }, - "kdfIterationsDesc": { - "message": "Daha yüksek KDF yinelemeleri, ana şifrenizin saldırgan tarafından sürekli denenerek kırılmasından korunmaya yardımcı olabilir. $VALUE$ veya üzeri bir değer tavsiye ediyoruz.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "KDF yinelemelerinizi çok yüksek ayarlamak, daha yavaş CPU'ya sahip cihazlarda Bitwarden'e giriş yaparken (ve kilidi açarken) düşük performansa neden olabilir. Değeri $INCREMENT$ artışlarla artırmanızı ve ardından tüm cihazlarınızı test etmenizi tavsiye ediyoruz.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "KDF'yi değiştir" - }, - "encKeySettingsChanged": { - "message": "Şifreleme Anahtarı Ayarları Değişti" - }, - "dangerZone": { - "message": "Tehlikeli Alan" - }, - "dangerZoneDesc": { - "message": "Dikkatli olun, bu eylemler geri alınamaz!" - }, - "deauthorizeSessions": { - "message": "Oturumları Kapat" - }, - "deauthorizeSessionsDesc": { - "message": "Başka bir cihazda oturum açtığınızdan endişeli misiniz? Daha önce kullandığınız tüm cihazlardan oturumu kapatmak için aşağıdan ilerleyin. Bu özellik halka açık bilgisayar kullanırsanız ya da sahibi olmadığınız cihazda giriş yaparsanız önerilir. Önceden iki aşamalı giriş ile oturum açılan hesaplar da kapatılacaktır." - }, - "deauthorizeSessionsWarning": { - "message": "Devam etmek ayrıca geçerli oturumunuzu sonlandıracaktır, bu da tekrar oturum açmanızı gerektirecektir. Ayrıca, eğer etkinleştirildiyse, tekrardan iki adımlı giriş yapmanız istenecektir. Diğer cihazlardaki aktif oturumlar bir saat kadar aktif kalmaya devam edebilir." - }, - "sessionsDeauthorized": { - "message": "Bütün Oturumlar Kapatıldı" - }, - "purgeVault": { - "message": "Kasayı Sil" - }, - "purgedOrganizationVault": { - "message": "Organizasyon kasası silindi." - }, - "purgeVaultDesc": { - "message": "Kasanızdaki tüm ögeleri ve klasörleri silmek için aşağıdan ilerleyin. Kuruluş ile paylaştığınız ögeler silinmez." - }, - "purgeOrgVaultDesc": { - "message": "Kuruluş kasasındaki tüm ögeleri silmek için aşağıdan ilerleyin." - }, - "purgeVaultWarning": { - "message": "Kasanızı silmek kalıcıdır. Bu işlem geri alınamaz." - }, - "vaultPurged": { - "message": "Kasanız silindi." - }, - "deleteAccount": { - "message": "Hesabı Sil" - }, - "deleteAccountDesc": { - "message": "Hesabınızı ve ilişkili tüm verileri silmek için aşağıya devam edin." - }, - "deleteAccountWarning": { - "message": "Hesabınızı silmek kalıcıdır. Geri alınamaz." - }, - "accountDeleted": { - "message": "Hesap Silindi" - }, - "accountDeletedDesc": { - "message": "Hesabınız kapatıldı ve ilişkili tüm veriler silindi." - }, - "myAccount": { - "message": "Hesabım" - }, - "tools": { - "message": "Araçlar" - }, - "importData": { - "message": "Verileri içe aktar" - }, - "importSuccess": { - "message": "Veriler kasanıza başarıyla aktarıldı." - }, - "importFormatError": { - "message": "Veriler doğru biçimlendirilmemiş. Lütfen içe aktarma dosyanızı kontrol edin ve tekrar deneyin." - }, - "importNothingError": { - "message": "Hiçbir şey içe aktarılmadı." - }, - "selectFormat": { - "message": "İçe aktarma dosyasının formatını seçin" - }, - "selectImportFile": { - "message": "İçe aktarma dosyasını seçin" - }, - "orCopyPasteFileContents": { - "message": "ya da içe aktarma dosyasının içeriğini kopyala/yapıştırın" - }, - "instructionsFor": { - "message": "$NAME$ Talimatları", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Seçenekler" - }, - "optionsDesc": { - "message": "Web kasası deneyiminizi özelleştirin." - }, - "optionsUpdated": { - "message": "Seçenekler güncellendi" - }, - "language": { - "message": "Dil" - }, - "languageDesc": { - "message": "Web kasası tarafından kullanılan dili değiştirin." - }, - "disableIcons": { - "message": "Site simgelerini devre dışı bırak" - }, - "disableIconsDesc": { - "message": "Web Sitesi Simgeleri, kasanızdaki her giriş bilgisinin yanında o siteyi tanımanıza yardımcı olacak bir simge gösterir." - }, - "enableGravatars": { - "message": "Gravatar'ı Etkinleştir", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "gravatar.com adresinden yüklenen avatarları kullanın." - }, - "enableFullWidth": { - "message": "Tam Genişlik Düzenini Etkinleştir", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Web kasasının tarayıcı penceresini tam genişliğinde kullanmasına izin verin." - }, - "default": { - "message": "Varsayılan" - }, - "domainRules": { - "message": "Alan Adı Kuralları" - }, - "domainRulesDesc": { - "message": "Birden fazla farklı web sitesi alan adında aynı giriş bilgisine sahipseniz, web sitesini \"eşdeğer\" olarak işaretleyebilirsiniz. \"Global\" alan adları, sizin için Bitwarden tarafından oluşturulmuş olanlardır." - }, - "globalEqDomains": { - "message": "Global Eşdeğer Alan Adları" - }, - "customEqDomains": { - "message": "Özel Eşdeğer Alan Adları" - }, - "exclude": { - "message": "Hariç tut" - }, - "include": { - "message": "Dahil et" - }, - "customize": { - "message": "Özelleştir" - }, - "newCustomDomain": { - "message": "Yeni Özel Alan Adı" - }, - "newCustomDomainDesc": { - "message": "Virgülle ayrılmış alan adları listesi giriniz. Sadece ana alan adlarına izin verilmektedir. Alt alan adları girmeyiniz. Örneğin, \"www.google.com\" yerine \"google.com\" giriniz. Bir android uygulamasını diğer web sitesi alan adları ile eşleştirmek için \"androiduygulaması://paket.ismi\" girebilirsiniz." - }, - "customDomainX": { - "message": "Özel Alan Adı: $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Alan adları güncellendi" - }, - "twoStepLogin": { - "message": "İki Aşamalı Giriş" - }, - "twoStepLoginDesc": { - "message": "Oturum açarken ek bir adım talep ederek hesabınızı güvenceye alın." - }, - "twoStepLoginOrganizationDesc": { - "message": "Require two-step login for your organization's users by configuring providers at the organization level." - }, - "twoStepLoginRecoveryWarning": { - "message": "İki aşamalı girişi etkinleştirmek, Bitwarden hesabınızı kalıcı olarak kilitleyebilir. Kurtarma kodunuz, iki aşamalı giriş sağlayıcınızı kullanamamanız durumunda hesabınıza erişmenize olanak sağlar (ör. cihazınızı kaybedersiniz). Hesabınıza erişiminizi kaybederseniz Bitwarden desteği size yardımcı olamaz. Kurtarma kodunu yazmanızı veya yazdırmanızı ve güvenli bir yerde saklamanızı öneririz." - }, - "viewRecoveryCode": { - "message": "Kurtarma Kodunu İncele" - }, - "providers": { - "message": "Sağlayıcılar", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Etkinleştir" - }, - "enabled": { - "message": "Etkin" - }, - "premium": { - "message": "Premium", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Premium Üyelik" - }, - "premiumRequired": { - "message": "Premium Gerekli" - }, - "premiumRequiredDesc": { - "message": "Bu özelliği kullanmak için premium üyelik gereklidir." - }, - "youHavePremiumAccess": { - "message": "Premium erişim hakkınız var" - }, - "alreadyPremiumFromOrg": { - "message": "Üyesi olduğunuz bir organizasyon nedeniyle premium özelliklere zaten erişiminiz var." - }, - "manage": { - "message": "Yönet" - }, - "disable": { - "message": "Devre dışı bırak" - }, - "twoStepLoginProviderEnabled": { - "message": "Bu iki adımlı giriş sağlayıcısı hesabınızda etkin durumda." - }, - "twoStepLoginAuthDesc": { - "message": "İki adımlı giriş ayarlarını değiştirmek için ana parolanızı girin." - }, - "twoStepAuthenticatorDesc": { - "message": "Kimlik doğrulayıcı bir uygulamayla iki adımlı oturum açmayı ayarlamak için şu adımları izleyin:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "İki adımlı bir kimlik doğrulama uygulaması indirin" - }, - "twoStepAuthenticatorNeedApp": { - "message": "İki adımlı bir kimlik doğrulama uygulamasına mı ihtiyacınız var? Aşağıdakilerden birini indirin" - }, - "iosDevices": { - "message": "iOS cihazları" - }, - "androidDevices": { - "message": "Android cihazları" - }, - "windowsDevices": { - "message": "Windows cihazları" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "Bu uygulamalar önerilir, ancak diğer kimlik doğrulayıcı uygulamalar da çalışacaktır." - }, - "twoStepAuthenticatorScanCode": { - "message": "Bu QR kodunu kimlik doğrulama uygulamanızla tarayın" - }, - "key": { - "message": "Anahtar" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Uygulamadan gelen 6 basamaklı doğrulama kodunu girin" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "Başka bir cihaza eklemeniz gerekirse, aşağıda kimlik doğrulama uygulamanızın gerektirdiği QR kodu (veya anahtarı) verilmiştir." - }, - "twoStepDisableDesc": { - "message": "Bu iki adımlı giriş sağlayıcısını devre dışı bırakmak istediğinize emin misiniz?" - }, - "twoStepDisabled": { - "message": "İki adım oturum açma sağlayıcısı devre dışı." - }, - "twoFactorYubikeyAdd": { - "message": "Hesabınıza yeni bir YubiKey ekleyin" - }, - "twoFactorYubikeyPlugIn": { - "message": "YubiKey'i bilgisayarınızın USB portuna takın." - }, - "twoFactorYubikeySelectKey": { - "message": "Aşağıdaki ilk boş YubiKey giriş alanını seçin." - }, - "twoFactorYubikeyTouchButton": { - "message": "YubiKey'in düğmesine dokunun." - }, - "twoFactorYubikeySaveForm": { - "message": "Formu kaydedin." - }, - "twoFactorYubikeyWarning": { - "message": "Platform sınırlamaları nedeniyle, YubiKeyler tüm Bitwarden uygulamalarında kullanılamaz. Başka bir iki adımlı giriş sağlayıcısını etkinleştirmeniz gerekir, böylece YubiKeyler kullanılamadığında hesabınıza erişebilirsiniz. Desteklenen platformlar:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Web kasası, masaüstü uygulaması, CLI ve YubiKey'inizi kabul edebilecek bir USB bağlantı noktasına sahip bir cihazdaki tüm tarayıcı uzantıları." - }, - "twoFactorYubikeySupportMobile": { - "message": "Mobile apps on a device with NFC capabilities or a USB port that can accept your YubiKey." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "U2F Anahtarı: $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "NFC Desteği" - }, - "twoFactorYubikeySupportsNfc": { - "message": "Anahtarlarımdan biri NFC'yi destekliyor." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "YubiKey'lerinizden biri NFC'yi destekliyorsa (YubiKey NEO gibi), mobil cihazlarda NFC kullanılabilirliği tespit edildiğinde uyarılacaksınız." - }, - "yubikeysUpdated": { - "message": "YubiKey'ler güncellendi" - }, - "disableAllKeys": { - "message": "Bütün Anahtarları Devre Dışı Bırak" - }, - "twoFactorDuoDesc": { - "message": "Duo Yönetici panelinizden Bitwarden uygulama bilgilerini girin." - }, - "twoFactorDuoIntegrationKey": { - "message": "Entegrasyon Anahtarı" - }, - "twoFactorDuoSecretKey": { - "message": "Gizli Anahtar" - }, - "twoFactorDuoApiHostname": { - "message": "API Hostname" - }, - "twoFactorEmailDesc": { - "message": "E-posta ile iki adımlı oturum açmayı ayarlamak için şu adımları izleyin:" - }, - "twoFactorEmailEnterEmail": { - "message": "Doğrulama kodlarını almak istediğiniz e-posta adresini girin" - }, - "twoFactorEmailEnterCode": { - "message": "E-posta adresine gelen 6 basamaklı doğrulama kodunu girin" - }, - "sendEmail": { - "message": "E-posta gönder" - }, - "twoFactorU2fAdd": { - "message": "Hesabınıza FIDO U2F güvenlik anahtarı ekleyin" - }, - "removeU2fConfirmation": { - "message": "Bu güvenlik anahtarını kaldırmak istediğinizden emin misiniz?" - }, - "readKey": { - "message": "Anahtarı Oku" - }, - "keyCompromised": { - "message": "Anahtar ele geçirilmiş." - }, - "twoFactorU2fGiveName": { - "message": "Güvenlik anahtarını tanımlamak için kolay bir isim verin." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Güvenlik anahtarını bilgisayarınızın USB portuna takın ve \"Anahtarı Oku\" düğmesine tıklayın." - }, - "twoFactorU2fTouchButton": { - "message": "Güvenlik anahtarının bir düğmesi varsa, ona dokunun." - }, - "twoFactorU2fSaveForm": { - "message": "Formu kaydedin." - }, - "twoFactorU2fWarning": { - "message": "Platform sınırlamaları nedeniyle, FIDO U2F tüm Bitwarden uygulamalarında kullanılamaz. Başka bir iki adımlı giriş sağlayıcısını etkinleştirmeniz gerekir, böylece FIDO U2F kullanılamadığında hesabınıza erişebilirsiniz. Desteklenen platformlar:" - }, - "twoFactorU2fSupportWeb": { - "message": "Web kasası ve U2F etkinleştirilmiş bir tarayıcıya (FIDO U2F etkinleştirilmiş Chrome, Opera, Vivaldi veya Firefox) sahip bir masaüstü/dizüstü bilgisayarda tarayıcı uzantıları." - }, - "twoFactorU2fWaiting": { - "message": "Güvenlik anahtarınızdaki düğmeye dokunmanız bekleniyor" - }, - "twoFactorU2fClickSave": { - "message": "İki adımlı giriş için bu güvenlik anahtarını etkinleştirmek için aşağıdaki \"Kaydet\" butonuna tıklayın." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "Güvenlik anahtarını okurken bir sorun oluştu. Tekrar deneyin." - }, - "twoFactorRecoveryYourCode": { - "message": "Bitwarden iki adım giriş kurtarma kodunuz" - }, - "twoFactorRecoveryNoCode": { - "message": "Henüz herhangi bir iki adımlı giriş sağlayıcısını etkinleştirmediniz. İki adımlı bir giriş sağlayıcısını etkinleştirdikten sonra, kurtarma kodunuz için burayı tekrar kontrol edebilirsiniz." - }, - "printCode": { - "message": "Kodu Yazdır", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Raporlar" - }, - "unsecuredWebsitesReport": { - "message": "Güvenli Olmayan Web Siteler Raporu" - }, - "unsecuredWebsitesReportDesc": { - "message": "http:// şemasına sahip güvenli olmayan web sitelerini kullanmak tehlikeli olabilir. Web sitesi izin veriyorsa, bağlantınızın şifrelenmesi için her zaman https:// şemasını kullanarak erişmelisiniz." - }, - "unsecuredWebsitesFound": { - "message": "Güvenli Olmayan Web Siteler Bulundu" - }, - "unsecuredWebsitesFoundDesc": { - "message": "Kasanızda güvenli olmayan URI'ye sahip $COUNT$ öge bulduk. Web sitesi izin veriyorsa, URI şemasını https:// olarak değiştirmelisiniz.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "Kasanızda güvenli olmayan URI'ye sahip öge yoktur." - }, - "inactive2faReport": { - "message": "2FA Raporu Pasif" - }, - "inactive2faReportDesc": { - "message": "İki adımlı kimlik doğrulama (2FA), hesaplarınızı güvenceye almanıza yardımcı olan önemli bir güvenlik ayarıdır. Web sitesi sunduğu takdirde, her zaman iki adımlı kimlik doğrulamayı etkinleştirmelisiniz." - }, - "inactive2faFound": { - "message": "2FA Olmayan Hesaplar Bulundu" - }, - "inactive2faFoundDesc": { - "message": "Kasanızda iki adımlı kimlik doğrulaması ile yapılandırılmamış olabilecek $COUNT$ web sitesi bulduk (2fa.directory’a göre). Bu hesapları daha fazla korumak için iki adımlı kimlik doğrulamasını etkinleştirmelisiniz.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "Kasanızda iki adımlı kimlik doğrulama yapılandırması eksik olan web sitesi bulunamadı." - }, - "instructions": { - "message": "Talimatlar" - }, - "exposedPasswordsReport": { - "message": "Açığa Çıkan Parolalar Raporu" - }, - "exposedPasswordsReportDesc": { - "message": "Açığa çıkan şifreler, kamuya açık olarak yayınlanan veya bilgisayar korsanları tarafından karanlık ağda satıldığı bilinen şifrelerdir." - }, - "exposedPasswordsFound": { - "message": "Açığa Çıkan Parolalar Bulundu" - }, - "exposedPasswordsFoundDesc": { - "message": "Kasanızda, bilinen veri ihlallerine maruz kalmış şifreleri olan $COUNT$ öge bulundu. Yeni bir şifre kullanmaları için onları değiştirmelisiniz.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "Kasanızdaki hiçbir ögenin bilinen veri ihlallerine maruz kalmış şifreleri yoktur." - }, - "checkExposedPasswords": { - "message": "Açığa Çıkan Parolaları Kontrol Et" - }, - "exposedXTimes": { - "message": "$COUNT$ defa maruz kaldı", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Zayıf Şifreler Raporu" - }, - "weakPasswordsReportDesc": { - "message": "Zayıf parolalar bilgisayar korsanları ve onları kırmak için kullanılan otomatik araçlar tarafından kolayca tahmin edilebilir. Bitwarden şifre üreticisi, güçlü şifreler oluşturmanıza yardımcı olabilir." - }, - "weakPasswordsFound": { - "message": "Zayıf Parolalar Bulundu" - }, - "weakPasswordsFoundDesc": { - "message": "Kasanızda güçlü olmayan parolalara sahip $COUNT$ öge bulduk. Daha güçlü şifreler kullanmaları için bunları güncellemelisiniz.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "Kasanızdaki hiçbir ögenin zayıf şifresi yoktur." - }, - "reusedPasswordsReport": { - "message": "Yeniden Kullanılmış Parolalar Raporu" - }, - "reusedPasswordsReportDesc": { - "message": "Kullandığınız bir servisin güvenliği ihlal edilirse, aynı parolayı başka bir yerde tekrar kullanmak bilgisayar korsanlarının çevrimiçi hesaplarınızın daha fazlasına kolayca erişmesine izin verebilir. Her hesap veya hizmet için benzersiz bir parola kullanmalısınız." - }, - "reusedPasswordsFound": { - "message": "Yeniden Kullanılmış Parolalar Bulundu" - }, - "reusedPasswordsFoundDesc": { - "message": "Kasanızda tekrar kullanılmakta olan $COUNT$ tane parola bulduk. Onları benzersiz bir değerle değiştirmelisiniz.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "Kasanızdaki hiçbir hesap, yeniden kullanılmakta olan parolalara sahip değildir." - }, - "reusedXTimes": { - "message": "$COUNT$ defa yeniden kullanıldı", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Veri İhlali Raporu" - }, - "breachDesc": { - "message": "\"İhlal\", bir sitenin verilerine bilgisayar korsanları tarafından yasa dışı bir şekilde erişildiği ve daha sonra herkese açık olarak yayınlandığı bir olaydır. Ele geçirilen veri türlerini (e-posta adresleri, parolalar, kredi kartları vb.) inceleyin ve parolaları değiştirmek gibi uygun işlemleri yapın." - }, - "breachCheckUsernameEmail": { - "message": "Kullandığınız kullanıcı adlarını veya e-posta adreslerini kontrol edin." - }, - "checkBreaches": { - "message": "İhlalleri Kontrol Et" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ bilinen veri ihlallerinde bulunamadı.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "İyi Haber", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ $COUNT$ farklı çevrimiçi veri ihlalinde bulundu.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "İhlal Edilmiş Hesaplar Bulundu" - }, - "compromisedData": { - "message": "Ele geçirilmiş veriler" - }, - "website": { - "message": "Web sitesi" - }, - "affectedUsers": { - "message": "Etkilenen Kullanıcılar" - }, - "breachOccurred": { - "message": "İhlal Oluştu" - }, - "breachReported": { - "message": "İhlal Bildirildi" - }, - "reportError": { - "message": "Rapor yüklenmeye çalışılırken bir hata oluştu. Tekrar deneyin" - }, - "billing": { - "message": "Faturalandırma" - }, - "accountCredit": { - "message": "Hesap Kredisi", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Hesap Bakiyesi", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Kredi Ekle", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Miktar", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Ödeme tamamlandıktan sonra eklenen kredi hesabınızda görünecektir. Bazı ödeme yöntemleri gecikmelidir ve diğerlerine göre daha uzun sürebilir." - }, - "makeSureEnoughCredit": { - "message": "Lütfen hesabınızda bu satın alım için yeterli kredi olduğundan emin olun. Hesabınızda yeterli kredi yoksa, fark için dosyadaki varsayılan ödeme yönteminiz kullanılır. Hesabınıza, Faturalandırma sayfasından kredi ekleyebilirsiniz." - }, - "creditAppliedDesc": { - "message": "Hesabınızın kredisi, satın almalarda kullanılabilir. Kullanılabilir herhangi bir kredi, bu hesap için oluşturulan faturalara otomatik olarak uygulanacaktır." - }, - "goPremium": { - "message": "Premium'a Geç", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "Premium'a yükselttiniz." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Hesabınızı premium üyeliğe yükseltin ve bazı harika ek özelliklerin kilidini açın." - }, - "premiumSignUpStorage": { - "message": "Dosyalarınız için 1GB şifreli depolama." - }, - "premiumSignUpTwoStep": { - "message": "YubiKey, FIDO U2F ve Duo gibi ilave iki adımlı oturum açma seçenekleri." - }, - "premiumSignUpReports": { - "message": "Kasanızı güvende tutmak için parola hijyeni, hesap sağlığı, ve veri ihlali raporları." - }, - "premiumSignUpTotp": { - "message": "Kasanızdaki giriş bilgileriniz için TOTP doğrulama kodu (2FA) oluşturucu." - }, - "premiumSignUpSupport": { - "message": "Öncelikli müşteri desteği." - }, - "premiumSignUpFuture": { - "message": "Gelecekteki tüm premium özellikler. Daha fazlası yakında!" - }, - "premiumPrice": { - "message": "Bunların hepsi sadece yılda $PRICE$!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Eklentiler" - }, - "premiumAccess": { - "message": "Premium Erişim" - }, - "premiumAccessDesc": { - "message": "Kuruluşunuzda bulunan tüm üyelerine premium erişim ekleyebilirsiniz: $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Ek Depolama (GB)" - }, - "additionalStorageGbDesc": { - "message": "# ilave GB" - }, - "additionalStorageIntervalDesc": { - "message": "Planınızda $SIZE$ şifreli dosya depolama alanı bulunmaktadır. GB/$INTERVAL$ başına $PRICE$ karşılığında ilave depolama alanı ekleyebilirsiniz.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Özet" - }, - "total": { - "message": "Toplam" - }, - "year": { - "message": "yıl" - }, - "month": { - "message": "ay" - }, - "monthAbbr": { - "message": "ay.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Ödeme yönteminiz hemen şimdi ve ardından her yıl düzenli olarak ücretlendirilecektir. İstediğiniz zaman iptal edebilirsiniz." - }, - "paymentCharged": { - "message": "Ödeme yönteminiz hemen şimdi ve ardından her $INTERVAL$ düzenli olarak ücretlendirilecektir. İstediğiniz zaman iptal edebilirsiniz.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Planınız 7 günlük ücretsiz deneme ile birlikte gelmektedir. Deneme sona erene kadar ödeme yönteminiz ücretlendirilmeyecektir. Faturalandırma, her $INTERVAL$ bir düzenli olarak gerçekleştirilecektir. İstediğiniz zaman iptal edebilirsiniz.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Ödeme Bilgileri" - }, - "billingInformation": { - "message": "Billing Information" - }, - "creditCard": { - "message": "Kredi Kartı" - }, - "paypalClickSubmit": { - "message": "PayPal hesabınıza giriş yapmak için PayPal butonuna tıklayın, ardından devam etmek için aşağıdaki Gönder butonuna tıklayın." - }, - "cancelSubscription": { - "message": "Aboneliği İptal Edin" - }, - "subscriptionCanceled": { - "message": "Abonelik İptal Edildi." - }, - "pendingCancellation": { - "message": "İptal İçin Bekleniyor" - }, - "subscriptionPendingCanceled": { - "message": "Abonelik, geçerli fatura dönemi sonunda iptal edilmek için işaretlendi." - }, - "reinstateSubscription": { - "message": "Aboneliği Geri Yükleyin" - }, - "reinstateConfirmation": { - "message": "Bekleyen iptal isteğini kaldırmak ve aboneliğinizi yeniden eski haline getirmek istediğinizden emin misiniz?" - }, - "reinstated": { - "message": "Abonelik eski haline getirildi." - }, - "cancelConfirmation": { - "message": "İptal etmek istediğinden emin misin? Bu faturalandırma döneminin sonunda bu aboneliğin tüm özelliklerine erişiminizi kaybedeceksiniz." - }, - "canceledSubscription": { - "message": "Abonelik İptal Edildi." - }, - "neverExpires": { - "message": "Asla Sona Ermez" - }, - "status": { - "message": "Durum" - }, - "nextCharge": { - "message": "Sonraki Ödeme" - }, - "details": { - "message": "Ayrıntılar" - }, - "downloadLicense": { - "message": "Lisansı İndir" - }, - "updateLicense": { - "message": "Lisansı Güncelle" - }, - "updatedLicense": { - "message": "Lisans güncellendi" - }, - "manageSubscription": { - "message": "Aboneliği Yönet" - }, - "storage": { - "message": "Depolama" - }, - "addStorage": { - "message": "Depolama Ekle" - }, - "removeStorage": { - "message": "Depolamayı Kaldır" - }, - "subscriptionStorage": { - "message": "\nAboneliğinizin toplam $MAX_STORAGE$ GB şifreli dosya depolama alanı var. Şu anda $USED_STORAGE $ kullanıyorsunuz.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Ödeme Yöntemi" - }, - "noPaymentMethod": { - "message": "Dosya üzerinde ödeme yöntemi yok." - }, - "addPaymentMethod": { - "message": "Ödeme Yöntemi Ekle" - }, - "changePaymentMethod": { - "message": "Ödeme Yöntemini Değiştir" - }, - "invoices": { - "message": "Faturalar" - }, - "noInvoices": { - "message": "Fatura yok." - }, - "paid": { - "message": "Ödendi", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Ödenmemiş", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "İşlemler", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "İşlem yok." - }, - "chargeNoun": { - "message": "Ücret", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Geri ödeme", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Tüm masraflar ifadenizde $STATEMENT_NAME$ olarak görünecek.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "Depolamaya GB Ekle" - }, - "gbStorageRemove": { - "message": "Depolamadan GB Çıkar" - }, - "storageAddNote": { - "message": "Depolama alanı eklemek, fatura toplamınızda ayarlamalar yapmanıza ve ödeme yönteminizi derhal borçlandırmanıza neden olur. İlk masraf, mevcut faturalandırma döngüsünün kalanı için geçerli olacaktır." - }, - "storageRemoveNote": { - "message": "Depolamayı kaldırmak, bir sonraki fatura ücretinize kredi olarak kanıtlanacak olan fatura toplamlarınızda ayarlamalar yapmanıza neden olur." - }, - "adjustedStorage": { - "message": "Düzeltilmiş $AMOUNT$ GB depolama alanı.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Müşteri Hizmetleriyle iletişime geçin" - }, - "updatedPaymentMethod": { - "message": "Ödeme yöntemi güncellendi." - }, - "purchasePremium": { - "message": "Premium Satın Al" - }, - "licenseFile": { - "message": "Lisans Dosyası" - }, - "licenseFileDesc": { - "message": "Lisans dosyanızın adı şuna benzer olacak: $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "Hesabınızı premium üyeliğe yükseltmek için geçerli bir lisans dosyası yüklemelisiniz." - }, - "uploadLicenseFileOrg": { - "message": "To create an on-premise hosted organization you need to upload a valid license file." - }, - "accountEmailMustBeVerified": { - "message": "Hesabınızın e-posta adresi doğrulanmalıdır." - }, - "newOrganizationDesc": { - "message": "Organizations allow you to share parts of your vault with others as well as manage related users for a specific entity such as a family, small team, or large company." - }, - "generalInformation": { - "message": "Genel Bilgi" - }, - "organizationName": { - "message": "Organizasyon Adı" - }, - "accountOwnedBusiness": { - "message": "Bu hesap bir işletmeye aittir." - }, - "billingEmail": { - "message": "Fatura İçin E-posta" - }, - "businessName": { - "message": "İşletme Adı" - }, - "chooseYourPlan": { - "message": "Planınızı Seçin" - }, - "users": { - "message": "Kullanıcılar" - }, - "userSeats": { - "message": "Kullanıcı Yeri" - }, - "additionalUserSeats": { - "message": "Ek Kullanıcı Yerleri" - }, - "userSeatsDesc": { - "message": "Kullanıcı sayısı" - }, - "userSeatsAdditionalDesc": { - "message": "Planınız $BASE_SEATS$ kullanıcı yeri ile birlikte gelir. Kullanıcı /ay başına $SEAT_PRICE$ için ek kullanıcılar ekleyebilirsiniz.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "Kaç kullanıcı yerine ihtiyacınız var? Gerekirse daha sonra ilave yerler de ekleyebilirsiniz " - }, - "planNameFree": { - "message": "Ücretsiz", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "For testing or personal users to share with $COUNT$ other user.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Aileler" - }, - "planDescFamilies": { - "message": "Kişisel kullanım için, aileniz ve arkadaşlarınızla paylaşın." - }, - "planNameTeams": { - "message": "Takımlar" - }, - "planDescTeams": { - "message": "For businesses and other team organizations." - }, - "planNameEnterprise": { - "message": "Kuruluş" - }, - "planDescEnterprise": { - "message": "For businesses and other large organizations." - }, - "freeForever": { - "message": "Ömür Boyu Ücretsiz" - }, - "includesXUsers": { - "message": "$COUNT$ kullanıcı içerir", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Ek Kullanıcılar" - }, - "costPerUser": { - "message": "Kullanıcı başına $COST$", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "$COUNT$ kullanıcıyla sınırlı (siz dahil)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "$COUNT$ koleksiyonla sınırlıdır", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "$COUNT$ kullanıcısına kadar ekleyin ve paylaşın", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Sınırsız kullanıcı ekle ve paylaş" - }, - "createUnlimitedCollections": { - "message": "Sınırsız koleksiyon oluştur" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ şifreli dosya depolama", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "Şirket içi barındırma (isteğe bağlı)" - }, - "usersGetPremium": { - "message": "Kullanıcılar premium üyelik özelliklerine erişebilir" - }, - "controlAccessWithGroups": { - "message": "Kullanıcı erişimini gruplarla kontrol etme" - }, - "syncUsersFromDirectory": { - "message": "Kullanıcılarınızı ve gruplarınızı bir dizinden senkronize edin" - }, - "trackAuditLogs": { - "message": "Kullanıcı işlemlerini denetim günlükleriyle izleyin" - }, - "enforce2faDuo": { - "message": "Duo ile 2FA'yı zorla" - }, - "priorityCustomerSupport": { - "message": "Öncelikli müşteri desteği" - }, - "xDayFreeTrial": { - "message": "$COUNT$ günlük ücretsiz deneme sürümü, istediğiniz zaman iptal edin", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Aylık" - }, - "annually": { - "message": "Yıllık" - }, - "basePrice": { - "message": "Taban Fiyat" - }, - "organizationCreated": { - "message": "Organizayson Oluşturuldu" - }, - "organizationReadyToGo": { - "message": "Yeni organizasyonunuz hazır!" - }, - "organizationUpgraded": { - "message": "Kuruluşunuz yükseltildi." - }, - "leave": { - "message": "Ayrıl" - }, - "leaveOrganizationConfirmation": { - "message": "Bu organizasyondan ayrılmak için emin misiniz?" - }, - "leftOrganization": { - "message": "Organizasyondan ayrıldınız." - }, - "defaultCollection": { - "message": "Varsayılan Koleksiyon" - }, - "getHelp": { - "message": "Yardım Alın" - }, - "getApps": { - "message": "Uygulamaları Edinin" - }, - "loggedInAs": { - "message": "Olarak giriş yapıldı" - }, - "eventLogs": { - "message": "Olay Günlükleri" - }, - "people": { - "message": "İnsan" - }, - "policies": { - "message": "İlkeler" - }, - "editPolicy": { - "message": "İlkeyi Düzenle" - }, - "groups": { - "message": "Gruplar" - }, - "newGroup": { - "message": "Yeni Grup" - }, - "addGroup": { - "message": "Grup Ekle" - }, - "editGroup": { - "message": "Grubu Düzenle" - }, - "deleteGroupConfirmation": { - "message": "Bu grubu silmek isteğinizden emin misiniz?" - }, - "removeUserConfirmation": { - "message": "Bu kullanıcıyı kaldırmak için emin misiniz?" - }, - "externalId": { - "message": "Harici Kimlik" - }, - "externalIdDesc": { - "message": "Harici kimlik, referans olarak veya bu kaynağı kullanıcı dizini gibi harici bir sisteme bağlamak için kullanılabilir." - }, - "accessControl": { - "message": "Erişim Kontrolü" - }, - "groupAccessAllItems": { - "message": "Bu grup bütün ögelere erişebilir ve değiştirebilir." - }, - "groupAccessSelectedCollections": { - "message": "Bu grup sadece seçili koleksiyonlara erişebilir." - }, - "readOnly": { - "message": "Salt Okunur" - }, - "newCollection": { - "message": "Yeni Koleksiyon" - }, - "addCollection": { - "message": "Koleksiyon Ekle" - }, - "editCollection": { - "message": "Koleksiyonu Düzenle" - }, - "deleteCollectionConfirmation": { - "message": "Bu koleksiyonu silmek istediğinizden emin misiniz?" - }, - "editUser": { - "message": "Kullanıcı Düzenle" - }, - "inviteUser": { - "message": "Kullanıcı Davet Et" - }, - "inviteUserDesc": { - "message": "Invite a new user to your organization by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "inviteMultipleEmailDesc": { - "message": "E-posta listesini virgül ile ayırarak bir seferde $COUNT$ kullanıcıyı davet edebilirsiniz.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "Bu kullanıcı hesabını korumak için iki aşamalı giriş kullanıyor." - }, - "userAccessAllItems": { - "message": "Bu kullanıcı bütün ögelere erişebilir ve değiştirebilir." - }, - "userAccessSelectedCollections": { - "message": "Bu kullanıcı sadece seçili koleksiyonlara erişebilir." - }, - "search": { - "message": "Ara" - }, - "invited": { - "message": "Davetli" - }, - "accepted": { - "message": "Kadul Edildi" - }, - "confirmed": { - "message": "Onaylandı" - }, - "owner": { - "message": "Sahip" - }, - "ownerDesc": { - "message": "The highest access user that can manage all aspects of your organization." - }, - "admin": { - "message": "Yönetici" - }, - "adminDesc": { - "message": "Yöneticiler organizasyonunzda bulunan tüm ögelere, koleksiyonlara ve kullanıcılara erişebilir ve yönetebilir." - }, - "user": { - "message": "Kullanıcı" - }, - "userDesc": { - "message": "A regular user with access to your organization's collections." - }, - "manager": { - "message": "Yetkili" - }, - "managerDesc": { - "message": "Yetkililer organizasyonunuzda bulunan seçilmiş koleksiyonlara erişebilir ve yönetebilir." - }, - "all": { - "message": "Hepsi" - }, - "refresh": { - "message": "Yenile" - }, - "timestamp": { - "message": "Zaman Damgası" - }, - "event": { - "message": "Etkinlik" - }, - "unknown": { - "message": "Bilinmeyen" - }, - "loadMore": { - "message": "Daha Fazla Yükle" - }, - "mobile": { - "message": "Mobil", - "description": "Mobile app" - }, - "extension": { - "message": "Eklenti", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Masaüstü", - "description": "Desktop app" - }, - "webVault": { - "message": "Web Kasası" - }, - "loggedIn": { - "message": "Giriş yapıldı." - }, - "changedPassword": { - "message": "Hesap şifresi değiştirildi." - }, - "enabledUpdated2fa": { - "message": "İki aşamalı giriş açıldı/güncellendi." - }, - "disabled2fa": { - "message": "İki aşamalı giriş kapatıldı." - }, - "recovered2fa": { - "message": "İki aşamalı giriş ile hesap kurtarıldı." - }, - "failedLogin": { - "message": "Yanlış şifre yüzünden oturum açma girişimi başarısız." - }, - "failedLogin2fa": { - "message": "Yanlış iki aşamalı giriş yüzünden oturum açma girişimi başarısız." - }, - "exportedVault": { - "message": "Kasa dışarı aktarıldı." - }, - "exportedOrganizationVault": { - "message": "Organizasyon kasası dışarı aktarıldı." - }, - "editedOrgSettings": { - "message": "Edited organization settings." - }, - "createdItemId": { - "message": "Öge oluşturuldu: $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Öge düzenlendi: $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Öge silindi: $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Öge paylaşıldı: $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Öge incelendi: $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "$ID$ için parola incelendi.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "$ID$ için gizli bilgi incelendi.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "$ID$ için güvenlik kodu incelendi.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "$ID$ için parola kopyalandı.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "$ID$ için gizli bilgi kopyalandı.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "$ID$ için güvenlik kodu kopyalandı.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "$ID$ için otomatik dolduruldu.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Koleksiyon oluşturuldu: $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Koleksiyon düzenlendi: $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Koleksiyon silindi: $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "İlke düzenlendi: $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Grup oluşturuldu: $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Grup düzenlendi: $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Grup silindi: $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Kullanıcı silindi: $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "$ID$ için bir ek oluşturuldu.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "$ID$ için bir ek silindi.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "$ID$ için koleksiyonlar düzenlendi.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Kullanıcı davet edildi: $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Kullanıcı onaylandı: $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Kullanıcı düzenlendi: $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "$ID$ için gruplar düzenlendi.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Aygıt" - }, - "view": { - "message": "Görüntüle" - }, - "invalidDateRange": { - "message": "Geçersiz tarih aralığı." - }, - "errorOccurred": { - "message": "Bir hata oluştu." - }, - "userAccess": { - "message": "Kullanıcı Erişimi" - }, - "userType": { - "message": "Kullanıcı Türü" - }, - "groupAccess": { - "message": "Grup Erişimi" - }, - "groupAccessUserDesc": { - "message": "Bu kullanıcının gruplarını düzenleyin." - }, - "invitedUsers": { - "message": "Kullanıcı(lar) davet edildi." - }, - "resendInvitation": { - "message": "Daveti Yeniden Gönder" - }, - "hasBeenReinvited": { - "message": "$USER$ yeniden davet edildi.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Onayla" - }, - "confirmUser": { - "message": "Kullanıcıyı Onayla" - }, - "hasBeenConfirmed": { - "message": "$USER$ onaylandı.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Kullanıcıları Onayla" - }, - "usersNeedConfirmed": { - "message": "Onların davetini kabul eden kullanıcılar var, ama hala onaylanması gerekmektedir. Kullanıcılar doğrulanana kadar organizasyona erişemez." - }, - "startDate": { - "message": "Başlangıç Tarihi" - }, - "endDate": { - "message": "Bitiş Tarihi" - }, - "verifyEmail": { - "message": "E-postayı Doğrula" - }, - "verifyEmailDesc": { - "message": "Bütün özelliklere erişmek için e-posta hesabınızı doğrulayın." - }, - "verifyEmailFirst": { - "message": "Öncelikle hesabınızın e-posta adresi onaylanmalıdır." - }, - "checkInboxForVerification": { - "message": "Doğrulama linki için e-posta hesabınızı kontrol edin." - }, - "emailVerified": { - "message": "E-posta hesabınız doğrulandı." - }, - "emailVerifiedFailed": { - "message": "E-posta hesabı doğrulanamadı. Yeniden doğrulama e-postası göndermeyi dene." - }, - "updateBrowser": { - "message": "Tarayıcıyı Güncelle" - }, - "updateBrowserDesc": { - "message": "Desteklenmeyen bir web tarayıcı kullanıyorsunuz. Kasanız düzgün çalışmayabilir." - }, - "joinOrganization": { - "message": "Organizasyona Katıl" - }, - "joinOrganizationDesc": { - "message": "Yukarıda listelenen organizasyona katılman için davet edildin. Daveti kabul etmek için, giriş yapmanız ya da yeni bir Bitwarden hesabı oluşturmalısınız." - }, - "inviteAccepted": { - "message": "Davet Kabul Edildi" - }, - "inviteAcceptedDesc": { - "message": "Bir yönetici üyeliğinizi onayladığı zaman organizasyona erişebilirsiniz. Bu olduğunda bir e-posta göndereceğiz." - }, - "inviteAcceptFailed": { - "message": "Davet kabul edilmedi. Yeni bir davetiye göndermesi için organizasyon yöneticisine başvurun." - }, - "inviteAcceptFailedShort": { - "message": "Davetiye kabul edilemiyor. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "E-posta'yı hatırla" - }, - "recoverAccountTwoStepDesc": { - "message": "Eğer iki aşamalı giriş ile ilgili bir sorun yaşıyorsanız kurtarma kodunuz ile iki aşamalı giriş özelliğini kapatabilirsiniz." - }, - "recoverAccountTwoStep": { - "message": "İki Aşamalı Giriş İle Hesabı Kurtarın" - }, - "twoStepRecoverDisabled": { - "message": "İki aşamalı giriş hesabınızda devre dışı bırakıldı." - }, - "learnMore": { - "message": "Daha fazla bilgi edinin" - }, - "deleteRecoverDesc": { - "message": "Hesabınızı kurtarmak ve silmek için e-posta hesabınızı girin." - }, - "deleteRecoverEmailSent": { - "message": "Bir hesabınız var ise daha fazla talimat içeren bir e-posta göndereceğiz." - }, - "deleteRecoverConfirmDesc": { - "message": "Bitwarden hesabınızı silmek istiyorsunuz. Onaylamak için aşağıdaki butona basın." - }, - "myOrganization": { - "message": "Organizasyonum" - }, - "deleteOrganization": { - "message": "Organizasyonu Sil" - }, - "deleteOrganizationDesc": { - "message": "Bu organizasyonu ve ilişkili tüm verileri silmek için aşağıya devam ediniz. Kişisel kullanıcı hesapları kalacak, fakat bu organizasyon ile ilişkisi kesilecektir. " - }, - "deleteOrganizationWarning": { - "message": "Organizasyonu silmek kalıcıdır. Bu işlem geri alınamaz." - }, - "organizationDeleted": { - "message": "Organizasyon Silindi" - }, - "organizationDeletedDesc": { - "message": "Organizasyon ve ilişkili tüm veriler silindi." - }, - "organizationUpdated": { - "message": "Organizayson Güncellendi" - }, - "taxInformation": { - "message": "Vergi Bilgisi" - }, - "taxInformationDesc": { - "message": "Faturalarla ilgili vergi bilgisini sağlamak (ya da güncellemek) için destek ile iletişime geçin." - }, - "billingPlan": { - "message": "Plan", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Planı Değiştir", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Upgrade your account to another plan be providing the information below. Please ensure that you have an active payment method added to the account.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Planınızı değiştirmek istiyorsanız müşteri hizmetlerine başvurun. Hesaba eklenmiş etkin bir ödeme yönteminin olduğundan da lütfen emin olun.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Fatura #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "Faturayı Görüntüle" - }, - "downloadInvoice": { - "message": "Faturayı İndir" - }, - "verifyBankAccount": { - "message": "Banka Hesabını Doğrula" - }, - "verifyBankAccountDesc": { - "message": "Banka hesabınıza iki tane mikro para yatırma işlemi yaptık (gösterilmesi 1-2 iş günü sürebilir). Banka hesabını doğrulamak için bu tutarları girin." - }, - "verifyBankAccountInitialDesc": { - "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make two micro-deposits within the next 1-2 business days. Enter these amounts on the organization's billing page to verify the bank account." - }, - "verifyBankAccountFailureWarning": { - "message": "Banka hesabının doğrulanamaması, ödemenin yapılamamasına ve aboneliğinizin devre dışı bırakılmasına neden olur." - }, - "verifiedBankAccount": { - "message": "Banka hesabınız doğrulandı." - }, - "bankAccount": { - "message": "Banka Hesabı" - }, - "amountX": { - "message": "Tutar $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "İşlem Numarası", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Hesap Numarası" - }, - "accountHolderName": { - "message": "Hesap Sahibinin Adı" - }, - "bankAccountType": { - "message": "Hesap Türü" - }, - "bankAccountTypeCompany": { - "message": "Şirket (İş)" - }, - "bankAccountTypeIndividual": { - "message": "Bireysel (Kişisel)" - }, - "enterInstallationId": { - "message": "Yükleme numarasını girin" - }, - "addSeats": { - "message": "Yerler Ekle", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Yerleri Kaldır", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Aboneliğiniz toplam $COUNT$ kullanıcıya izin veriyor.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Seats To Add" - }, - "seatsToRemove": { - "message": "Seats To Remove" - }, - "seatsAddNote": { - "message": "Kullanıcı yerleri eklemek, fatura toplamınızda değişikliklere ve ödeme yönteminizin derhal ücretlendirilmesine neden olacaktır. İlk ücretlendirme, mevcut faturalandırma döngüsünün kalanı için geçerli olacaktır." - }, - "seatsRemoveNote": { - "message": "Kullanıcı yerlerinin kaldırılması, bir sonraki fatura ücretlendirmenize kredi olarak yansıyacak fatura toplamlarınızda değişikliklere neden olacaktır." - }, - "adjustedSeats": { - "message": "$AMOUNT$ kullanıcı yeri güncellendi.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Anahtar Güncellendi" - }, - "updateKeyTitle": { - "message": "Anahtarı Güncelle" - }, - "updateEncryptionKey": { - "message": "Şifreleme Anahtarını Güncelle" - }, - "updateEncryptionKeyShortDesc": { - "message": "Şu anda eski bir şifreleme şeması kullanıyorsunuz." - }, - "updateEncryptionKeyDesc": { - "message": "Daha iyi güvenlik ve daha yeni özelliklere erişim sağlayan daha büyük şifreleme anahtarlarına geçtik. Şifreleme anahtarınızı güncellemek hızlı ve kolaydır. Sadece ana şifrenizi aşağıya yazın. Bu güncelleme sonunda zorunlu hale gelecektir." - }, - "updateEncryptionKeyWarning": { - "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." - }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." - }, - "subscription": { - "message": "Abonelik" - }, - "loading": { - "message": "Yükleniyor" - }, - "upgrade": { - "message": "Yükselt" - }, - "upgradeOrganization": { - "message": "Organizasyonu Yükselt" - }, - "upgradeOrganizationDesc": { - "message": "Bu özellik ücretsiz organizasyonlar için mevcut değil. Daha fazla özellik için ücretli plana geçin." - }, - "createOrganizationStep1": { - "message": "Organizasyon Oluştur: Aşama 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Organizasyon oluşturmadan önce ücretsiz bir kişisel hesap açmalısınız." - }, - "refunded": { - "message": "İade Edildi" - }, - "nothingSelected": { - "message": "Hiçbir şey seçmediniz." - }, - "acceptPolicies": { - "message": "Bu kutuyu işaretleyerek aşağıdakileri kabul etmiş olursunuz:" - }, - "acceptPoliciesError": { - "message": "Hizmet Koşulları ve Gizlilik Politikası kabul edilmemiştir." - }, - "termsOfService": { - "message": "Hizmet Koşulları" - }, - "privacyPolicy": { - "message": "Gizlilik Politikası" - }, - "filters": { - "message": "Filtreler" - }, - "vaultTimeout": { - "message": "Kasa Zaman Aşımı" - }, - "vaultTimeoutDesc": { - "message": "Kasanızın zaman aşımına uğrayıp seçilen eylemi uygulayacağı zamanı seçin." - }, - "oneMinute": { - "message": "1 dakika" - }, - "fiveMinutes": { - "message": "5 dakika" - }, - "fifteenMinutes": { - "message": "15 dakika" - }, - "thirtyMinutes": { - "message": "30 dakika" - }, - "oneHour": { - "message": "1 saat" - }, - "fourHours": { - "message": "4 saat" - }, - "onRefresh": { - "message": "Tarayıcıyı Yeniden Yükleyince" - }, - "dateUpdated": { - "message": "Güncellendi", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Şifre Güncellendi", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "Organizasyon devre dışı." - }, - "licenseIsExpired": { - "message": "Lisans süresi doldu." - }, - "updatedUsers": { - "message": "Kullanıcılar güncellendi" - }, - "selected": { - "message": "Seçildi" - }, - "ownership": { - "message": "Sahiplik" - }, - "whoOwnsThisItem": { - "message": "Bu ögenin sahibi kim?" - }, - "strong": { - "message": "Güçlü", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "İyi", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Zayıf", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Çok Zayıf", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Zayıf Ana Parola" - }, - "weakMasterPasswordDesc": { - "message": "Seçtiğiniz ana parola kolayca tahmin edilebilir. Bitwarden hesabınızı korumak istiyorsanız daha güçlü bir ana parola (veya şifre) seçmelisiniz. Bu ana parolayı kullanmak istediğinizden emin misiniz?" - }, - "rotateAccountEncKey": { - "message": "Ayrıca hesabımın şifreleme anahtarını da döndür" - }, - "rotateEncKeyTitle": { - "message": "Rotate Encryption Key" - }, - "rotateEncKeyConfirmation": { - "message": "Hesabınızın şifreleme anahtarını döndürmek istediğinizden emin misiniz?" - }, - "attachmentsNeedFix": { - "message": "Bu ögede düzeltilmesi gereken eski dosya ekleri bulunmaktadır." - }, - "attachmentFixDesc": { - "message": "Bu düzeltilmesi gereken eski bir dosya eki. Daha fazla bilgi edinmek için tıklayın." - }, - "fix": { - "message": "Düzelt", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "Hesabınızın şifreleme anahtarını döndürmeden önce, kasanızda düzeltilmesi gereken eski dosya ekleri bulunmaktadır." - }, - "yourAccountsFingerprint": { - "message": "Hesabınızın parmak izi şifresi", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "Şifreleme anahtarlarınızın bütünlüğünü sağlamak için, devam etmeden önce lütfen kullanıcının parmak izi şifresini doğrulayın.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Parmak hesabı şifresini tekrar doğrulamak için sorma", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Ücretsiz", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "API Anahtarı" - }, - "apiKeyDesc": { - "message": "API anahtarınız Bitwarden genel API'i doğrulamak için kullanılabilir." - }, - "apiKeyRotateDesc": { - "message": "API anahtarını döndürmek önceki anahtarı geçersiz kılacaktır. Geçerli anahtarın artık güvenli olmadığına inanıyorsanız API anahtarınızı döndürebilirsiniz." - }, - "apiKeyWarning": { - "message": "API anahtarınız organizasyona tam erişime sahiptir. Gizli tutulmalıdır." - }, - "userApiKeyDesc": { - "message": "API anahtarınız, Bitwarden CLI'de kimlik doğrulaması için kullanılabilir." - }, - "userApiKeyWarning": { - "message": "API anahtarınız, alternatif bir kimlik doğrulama mekanizmasıdır. Gizli tutulmalıdır." - }, - "oauth2ClientCredentials": { - "message": "OAuth 2.0 İstemci Bilgileri", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "API anahtarını görüntüle" - }, - "rotateApiKey": { - "message": "API Anahtarını döndür" - }, - "selectOneCollection": { - "message": "En az bir koleksiyon seçmelisiniz." - }, - "couldNotChargeCardPayInvoice": { - "message": "Kartınızı ücretlendiremedik. Lütfen aşağıda listelenen ödenmemiş faturayı görüntüleyin ve ödeyin." - }, - "inAppPurchase": { - "message": "Uygulama içi satın alma" - }, - "cannotPerformInAppPurchase": { - "message": "Bir uygulama içi satın alma ödeme yöntemi kullanırken bu işlemi gerçekleştiremezsiniz." - }, - "manageSubscriptionFromStore": { - "message": "Aboneliğinizi uygulama içi satın alımınızın yapıldığı mağazadan yönetmelisiniz." - }, - "minLength": { - "message": "Minimum Uzunluk" - }, - "clone": { - "message": "Klonla" - }, - "masterPassPolicyDesc": { - "message": "Ana şifre gücü için minimum gereksinimleri ayarlayın." - }, - "twoStepLoginPolicyDesc": { - "message": "Kullanıcılardan hesaplarında iki adımlı oturum açma özelliğini kullanmalarını isteyin." - }, - "twoStepLoginPolicyWarning": { - "message": "İki adımlı oturum açma özelliği etkinleştirilmemiş kuruluş üyeleri kuruluştan kaldırılır ve değişiklik hakkında onları bilgilendiren bir e-posta alır." - }, - "twoStepLoginPolicyUserWarning": { - "message": "İki adımlı oturum açmanın etkinleştirilmesi gereken bir kuruluşun üyesisiniz. İki adımlı oturum açma sağlayıcılarının tümünü devre dışı bırakırsanız, bu kuruluşlardan otomatik olarak kaldırılırsınız." - }, - "passwordGeneratorPolicyDesc": { - "message": "Şifre üreticisi ayarları için minimum gereksinimleri ayarlayın." - }, - "passwordGeneratorPolicyInEffect": { - "message": "Bir ya da daha fazla organizasyon ilkesi oluşturucu ayarlarınızı etkiliyor." - }, - "masterPasswordPolicyInEffect": { - "message": "Bir ya da daha fazla organizasyon ilkesi için ana şifrenizin aşağıdaki gereksinimleri karşılaması gerekir:" - }, - "policyInEffectMinComplexity": { - "message": "Minimum karmaşa puanı $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Minimum uzunluk $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Bir veya daha fazla büyük harf içermeli" - }, - "policyInEffectLowercase": { - "message": "Bir veya daha fazla küçük harf içermeli" - }, - "policyInEffectNumbers": { - "message": "Bir veya daha fazla sayı içermeli" - }, - "policyInEffectSpecial": { - "message": "Aşağıdaki özel karakterlerden birini veya daha fazlasını içermeli $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Yeni ana şifreniz ilke gereksinimlerini karşılamıyor." - }, - "minimumNumberOfWords": { - "message": "Minimum Kelime Sayısı" - }, - "defaultType": { - "message": "Varsayılan Tür" - }, - "userPreference": { - "message": "Kullanıcı Tercihi" - }, - "vaultTimeoutAction": { - "message": "Kasa Zaman Aşımı Eylemi" - }, - "vaultTimeoutActionLockDesc": { - "message": "Kilitli bir kasaya tekrar erişebilmeniz için ana parolanızı tekrar girmeniz gerekir." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "Çıkış yapılmış bir kasaya tekrardan erişmek için yeniden kimlik doğrulaması gerekir." - }, - "lock": { - "message": "Kilitle", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Çöp Kutusu", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Çöplerde ara" - }, - "permanentlyDelete": { - "message": "Kalıcı Olarak Sil" - }, - "permanentlyDeleteSelected": { - "message": "Seçileni Kalıcı Olarak Sil" - }, - "permanentlyDeleteItem": { - "message": "Ögeyi Kalıcı Olarak Sil" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Bu ögeyi kalıcı olarak silmek istediğinize emin misiniz?" - }, - "permanentlyDeletedItem": { - "message": "Kalıcı Olarak Silinmiş Öge" - }, - "permanentlyDeletedItems": { - "message": "Kalıcı Olarak Silinmiş Ögeler" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "Silinmesi için $COUNT$ öge seçtiniz. Bu ögelerin tamamını kalıcı şekilde silmek istediğinizden emin misiniz?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Kalıcı Olarak Silinmiş Öge: $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Geri Yükle" - }, - "restoreSelected": { - "message": "Seçilileri Geri Yükle" - }, - "restoreItem": { - "message": "Ögeyi Geri Yükle" - }, - "restoredItem": { - "message": "Geri yüklenmiş öge" - }, - "restoredItems": { - "message": "Geri yüklenmiş ögeler" - }, - "restoreItemConfirmation": { - "message": "Bu ögeyi geri yüklemek istediğinizden emin misiniz?" - }, - "restoreItems": { - "message": "Ögeleri geri yükle" - }, - "restoreSelectedItemsDesc": { - "message": "Geri yüklenmesi için $COUNT$ öge seçtiniz. Bu ögelerin tamamını geri yüklemek istediğinizden emin misiniz?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Geri yüklenmiş öge: $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Oturumu kapatmak kasanıza olan tüm erişiminizi kaldırır ve zaman aşımından sonra çevrimiçi kimlik doğrulaması gerektirir. Bu ayarı kullanmak istediğinizden emin misiniz?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Zaman Aşımı Eylem Onayı" - }, - "hidePasswords": { - "message": "Parolaları Gizle" - }, - "countryPostalCodeRequiredDesc": { - "message": "Bu bilgiyi sadece satış vergisi hesaplama ve mali raporlama için istiyoruz." - }, - "includeVAT": { - "message": "KDV Bilgisi Ekle (opsiyonel)" - }, - "taxIdNumber": { - "message": "KDV Vergi Kimlik Numarası" - }, - "taxInfoUpdated": { - "message": "Vergi bilgileriniz güncellendi." - }, - "setMasterPassword": { - "message": "Ana Parolayı Belirle" - }, - "ssoCompleteRegistration": { - "message": "Tek Oturum Açma (SSO) ile oturum açmayı tamamlamak için lütfen kasanıza erişebilmek ve onu korumak için bir ana parola ayarlayın." - }, - "identifier": { - "message": "Tanımlayıcı" - }, - "organizationIdentifier": { - "message": "Organizasyon Tanımlayıcı" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Kuruluşunuzun tek oturum açma (SSO) portalını kullanarak oturum açın. Başlamak için lütfen kuruluşunuzun tanımlayıcısını girin." - }, - "enterpriseSingleSignOn": { - "message": "Kurumsal Tek Oturum Açma" - }, - "ssoHandOff": { - "message": "Şimdi bu sekmeyi kapatabilir ve uzantıya devam edebilirsiniz." - }, - "businessPortal": { - "message": "Şirket Portalı", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "Tüm Takımlar özellikleri, artı:" - }, - "includeSsoAuthentication": { - "message": "SAML2.0 ve OpenID Connect ile Tek Oturum Açma (SSO) Doğrulaması" - }, - "includeEnterprisePolicies": { - "message": "Kurumsal İlkeler" - }, - "ssoValidationFailed": { - "message": "Tek Oturum Açma (SSO) Doğrulaması Başarısız Oldu" - }, - "ssoIdentifierRequired": { - "message": "Organizasyon Tanımlayıcısı gereklidir." - }, - "unlinkSso": { - "message": "Tek Oturum Açma (SSO) Bağlantısını Kaldır" - }, - "linkSso": { - "message": "Tek Oturum Açma (SSO) Bağlantısı Oluştur" - }, - "webPoliciesDeprecationWarning": { - "message": "Politika yapılandırması taşındı ve bu sayfa yakında kullanımdan kaldırılacak. Bunun yerine İş Portalı politikaları sayfasını kullanmak için lütfen aşağıyı tıklayın." - }, - "singleOrg": { - "message": "Tek Organizasyon" - }, - "singleOrgDesc": { - "message": "Kullanıcıların diğer kuruluşlara katılmasını kısıtlayın." - }, - "singleOrgBlockCreateMessage": { - "message": "Mevcut kuruluşunuzun, birden fazla kuruluşa katılmanıza izin vermeyen bir politikası var. Lütfen kuruluş yöneticilerinizle iletişime geçin veya farklı bir Bitwarden hesabından kaydolun." - }, - "singleOrgPolicyWarning": { - "message": "Sahip veya Yönetici olmayan ve zaten başka bir kuruluşun üyesi olan kuruluş üyeleri, kuruluşunuzdan kaldırılır." - }, - "requireSso": { - "message": "Tek Oturum Açma Kimlik Doğrulaması" - }, - "requireSsoPolicyDesc": { - "message": "Kullanıcıların Kurumsal olarak Tek Oturum Açma yöntemiyle oturum açmasını zorunlu kılın." - }, - "prerequisite": { - "message": "Önkoşul" - }, - "requireSsoPolicyReq": { - "message": "Bu politikayı etkinleştirmeden önce Tek Kuruluş kurumsal politikası etkinleştirilmelidir." - }, - "requireSsoPolicyReqError": { - "message": "Tek Kuruluş politikası etkinleştirilmedi." - }, - "requireSsoExemption": { - "message": "Kuruluş Sahipleri ve Yöneticiler bu politika uygulamasından muaftır." - }, - "sendTypeFile": { - "message": "Dosya" - }, - "sendTypeText": { - "message": "Metin" - }, - "createSend": { - "message": "Yeni Gönderi Oluştur", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Göndermeyi Düzenle", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Gönderi Oluşturuldu", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Gönderi Düzenlendi", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Gönderi Silindi", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Gönderiyi Sil", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Bu Gönderiyi silmek istediğinizden emin misiniz?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "Bu ne tür bir Gönderme?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Silme Tarihi" - }, - "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Son Kullanma Tarihi" - }, - "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Maksimum Gönderi Sayısı" - }, - "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Mevcut Erişim Sayısı" - }, - "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Private notes about this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Devre Dışı" - }, - "sendLink": { - "message": "Bağlantı gönder", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Gönderme Bağlantısını Kopyala", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Şifreyi kaldır" - }, - "removedPassword": { - "message": "Parola kaldırıldı" - }, - "removePasswordConfirmation": { - "message": "Şifreyi kaldırmak istediğinizden emin misiniz?" - }, - "disableThisSend": { - "message": "Disable this Send so that no one can access it.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "Tüm Gönderimler" - }, - "maxAccessCountReached": { - "message": "Max access count reached" - }, - "pendingDeletion": { - "message": "Pending deletion" - }, - "expired": { - "message": "Expired" - }, - "searchSends": { - "message": "Gönderileri Ara", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "Bu Gönderim bir şifre ile korunmaktadır. Devam etmek için lütfen şifreyi aşağıya yazın.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Şifreyi bilmiyor musunuz? Gönderen'den bu Gönderime erişmek için gereken parolayı isteyin.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "Bu gönderme varsayılan olarak gizlidir. Aşağıdaki düğmeyi kullanarak görünürlüğünü değiştirebilirsiniz.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Dosyayı indir" - }, - "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "Listelenecek olay yok.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Emergency Access" - }, - "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." - }, - "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" - }, - "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." - }, - "addEmergencyContact": { - "message": "Add emergency contact" - }, - "designatedEmergencyContacts": { - "message": "Designated as emergency contact" - }, - "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." - }, - "inviteEmergencyContact": { - "message": "Invite emergency contact" - }, - "editEmergencyContact": { - "message": "Edit emergency contact" - }, - "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" - }, - "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" - }, - "viewDesc": { - "message": "Can view all items in your own vault." - }, - "takeover": { - "message": "Takeover" - }, - "takeoverDesc": { - "message": "Can reset your account with a new master password." - }, - "waitTime": { - "message": "Wait Time" - }, - "waitTimeDesc": { - "message": "Time required before automatically granting access." - }, - "oneDay": { - "message": "1 day" - }, - "days": { - "message": "$DAYS$ days", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Invited user." - }, - "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." - }, - "requestAccess": { - "message": "Request Access" - }, - "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Approve" - }, - "reject": { - "message": "Reject" - }, - "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Emergency access approved." - }, - "emergencyRejected": { - "message": "Emergency access rejected" - }, - "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Personal Ownership" - }, - "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." - }, - "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." - }, - "modifiedPolicyId": { - "message": "Modified policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Plan price" - }, - "estimatedTax": { - "message": "Estimated tax" - }, - "custom": { - "message": "Custom" - }, - "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." - }, - "permissions": { - "message": "Permissions" - }, - "accessBusinessPortal": { - "message": "Access Business Portal" - }, - "accessEventLogs": { - "message": "Access Event Logs" - }, - "accessImportExport": { - "message": "Access Import/Export" - }, - "accessReports": { - "message": "Access Reports" - }, - "manageAllCollections": { - "message": "Manage All Collections" - }, - "manageAssignedCollections": { - "message": "Manage Assigned Collections" - }, - "manageGroups": { - "message": "Manage Groups" - }, - "managePolicies": { - "message": "Manage Policies" - }, - "manageSso": { - "message": "Manage SSO" - }, - "manageUsers": { - "message": "Manage Users" - }, - "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." - }, - "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." - }, - "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" - }, - "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/uk/messages.json b/locales/uk/messages.json deleted file mode 100644 index cd0f3ad0..00000000 --- a/locales/uk/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "Веб сховище $APP_NAME$", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "Який це тип запису?" - }, - "name": { - "message": "Ім’я" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "Новий URI" - }, - "username": { - "message": "Ім'я користувача" - }, - "password": { - "message": "Пароль" - }, - "newPassword": { - "message": "Новий пароль" - }, - "passphrase": { - "message": "Парольна фраза" - }, - "notes": { - "message": "Нотатки" - }, - "customFields": { - "message": "Власні поля" - }, - "cardholderName": { - "message": "Ім'я власника картки" - }, - "number": { - "message": "Номер" - }, - "brand": { - "message": "Тип картки" - }, - "expiration": { - "message": "Термін дії" - }, - "securityCode": { - "message": "Код безпеки (CVV)" - }, - "identityName": { - "message": "Назва" - }, - "company": { - "message": "Компанія" - }, - "ssn": { - "message": "Номер соціального страхування" - }, - "passportNumber": { - "message": "Номер паспорта" - }, - "licenseNumber": { - "message": "Номер ліцензії" - }, - "email": { - "message": "Е-пошта" - }, - "phone": { - "message": "Телефон" - }, - "january": { - "message": "Січень" - }, - "february": { - "message": "Лютий" - }, - "march": { - "message": "Березень" - }, - "april": { - "message": "Квітень" - }, - "may": { - "message": "Травень" - }, - "june": { - "message": "Червень" - }, - "july": { - "message": "Липень" - }, - "august": { - "message": "Серпень" - }, - "september": { - "message": "Вересень" - }, - "october": { - "message": "Жовтень" - }, - "november": { - "message": "Листопад" - }, - "december": { - "message": "Грудень" - }, - "title": { - "message": "Звернення" - }, - "mr": { - "message": "Містер" - }, - "mrs": { - "message": "Місіс" - }, - "ms": { - "message": "Міс" - }, - "dr": { - "message": "Доктор" - }, - "expirationMonth": { - "message": "Місяць завершення" - }, - "expirationYear": { - "message": "Рік завершення" - }, - "authenticatorKeyTotp": { - "message": "Ключ авторизації (TOTP)" - }, - "folder": { - "message": "Тека" - }, - "newCustomField": { - "message": "Нове власне поле" - }, - "value": { - "message": "Значення" - }, - "dragToSort": { - "message": "Перетягніть, щоб відсортувати" - }, - "cfTypeText": { - "message": "Текст" - }, - "cfTypeHidden": { - "message": "Приховано" - }, - "cfTypeBoolean": { - "message": "Логічне значення" - }, - "remove": { - "message": "Вилучити" - }, - "unassigned": { - "message": "Не призначено" - }, - "noneFolder": { - "message": "Без теки", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Додати теку" - }, - "editFolder": { - "message": "Редагувати теку" - }, - "baseDomain": { - "message": "Основний домен" - }, - "host": { - "message": "Вузол", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Точно" - }, - "startsWith": { - "message": "Починається з" - }, - "regEx": { - "message": "Звичайний вираз", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Виявлення збігів", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Типове виявлення збігів", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Ніколи" - }, - "toggleVisibility": { - "message": "Перемкнути видимість" - }, - "toggleCollapse": { - "message": "Згорнути/розгорнути", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Генерувати пароль" - }, - "checkPassword": { - "message": "Перевірити чи пароль було викрито." - }, - "passwordExposed": { - "message": "Цей пароль було викрито $VALUE$ разів з витоком даних. Вам слід його змінити.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "Цей пароль не було знайдено у жодних відомих витоках даних. Його можна безпечно використовувати." - }, - "save": { - "message": "Зберегти" - }, - "cancel": { - "message": "Скасувати" - }, - "canceled": { - "message": "Скасовано" - }, - "close": { - "message": "Закрити" - }, - "delete": { - "message": "Видалити" - }, - "favorite": { - "message": "Обране" - }, - "unfavorite": { - "message": "Вилучити з обраного" - }, - "edit": { - "message": "Змінити" - }, - "searchCollection": { - "message": "Пошук в збірках" - }, - "searchFolder": { - "message": "Пошук в теці" - }, - "searchFavorites": { - "message": "Пошук в обраному" - }, - "searchType": { - "message": "Пошук за типом", - "description": "Search item type" - }, - "searchVault": { - "message": "Пошук" - }, - "allItems": { - "message": "Всі елементи" - }, - "favorites": { - "message": "Обране" - }, - "types": { - "message": "Типи" - }, - "typeLogin": { - "message": "Вхід" - }, - "typeCard": { - "message": "Картка" - }, - "typeIdentity": { - "message": "Особисті дані" - }, - "typeSecureNote": { - "message": "Захищена нотатка" - }, - "folders": { - "message": "Теки" - }, - "collections": { - "message": "Збірки" - }, - "firstName": { - "message": "Ім’я" - }, - "middleName": { - "message": "По батькові" - }, - "lastName": { - "message": "Прізвище" - }, - "address1": { - "message": "Адреса 1" - }, - "address2": { - "message": "Адреса 2" - }, - "address3": { - "message": "Адреса 3" - }, - "cityTown": { - "message": "Місто / Селище" - }, - "stateProvince": { - "message": "Штат / Область" - }, - "zipPostalCode": { - "message": "Поштовий індекс" - }, - "country": { - "message": "Країна" - }, - "shared": { - "message": "Спільні" - }, - "attachments": { - "message": "Вкладення" - }, - "select": { - "message": "Обрати" - }, - "addItem": { - "message": "Додати запис" - }, - "editItem": { - "message": "Змінити запис" - }, - "viewItem": { - "message": "Перегляд запису" - }, - "ex": { - "message": "зразок", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Інше" - }, - "share": { - "message": "Поділитися" - }, - "valueCopied": { - "message": "$VALUE$ скопійовано", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Копіювати значення", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Копіювати пароль", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Копіювати ім'я користувача", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Копіювати номер", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Копіювати код безпеки", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Копіювати URI", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "Моє сховище" - }, - "vault": { - "message": "Сховище" - }, - "shareSelected": { - "message": "Поділитися вибраним" - }, - "deleteSelected": { - "message": "Видалити вибране" - }, - "moveSelected": { - "message": "Перемістити вибране" - }, - "selectAll": { - "message": "Вибрати все" - }, - "unselectAll": { - "message": "Скасувати вибір" - }, - "launch": { - "message": "Перейти" - }, - "newAttachment": { - "message": "Додати нове вкладення" - }, - "deletedAttachment": { - "message": "Вкладення видалено" - }, - "deleteAttachmentConfirmation": { - "message": "Ви дійсно хочете видалити це вкладення?" - }, - "attachmentSaved": { - "message": "Вкладення збережено." - }, - "file": { - "message": "Файл" - }, - "selectFile": { - "message": "Оберіть файл." - }, - "maxFileSize": { - "message": "Максимальний розмір файлу 100 Мб." - }, - "updateKey": { - "message": "Ви не можете використовувати цю функцію доки не оновите свій ключ шифрування." - }, - "addedItem": { - "message": "Запис додано" - }, - "editedItem": { - "message": "Запис змінено" - }, - "sharedItem": { - "message": "Спільний запис" - }, - "sharedItems": { - "message": "Спільні записи" - }, - "deleteItem": { - "message": "Видалити запис" - }, - "deleteFolder": { - "message": "Видалити теку" - }, - "deleteAttachment": { - "message": "Видалити файл" - }, - "deleteItemConfirmation": { - "message": "Ви дійсно хочете перенести до смітника?" - }, - "deletedItem": { - "message": "Запис перенесено до смітника" - }, - "deletedItems": { - "message": "Записи перенесено до смітника" - }, - "movedItems": { - "message": "Записи переміщено" - }, - "overwritePasswordConfirmation": { - "message": "Ви дійсно хочете перезаписати поточний пароль?" - }, - "editedFolder": { - "message": "Тека відредагована" - }, - "addedFolder": { - "message": "Додано теку" - }, - "deleteFolderConfirmation": { - "message": "Ви дійсно хочете видалити цю теку?" - }, - "deletedFolder": { - "message": "Теку видалено" - }, - "loggedOut": { - "message": "Ви вийшли" - }, - "loginExpired": { - "message": "Тривалість вашого сеансу завершилась." - }, - "logOutConfirmation": { - "message": "Ви дійсно хочете вийти?" - }, - "logOut": { - "message": "Вийти" - }, - "ok": { - "message": "Ok" - }, - "yes": { - "message": "Так" - }, - "no": { - "message": "Ні" - }, - "loginOrCreateNewAccount": { - "message": "Для доступу до сховища увійдіть в обліковий запис, або створіть новий." - }, - "createAccount": { - "message": "Створити обліковий запис" - }, - "logIn": { - "message": "Увійти" - }, - "submit": { - "message": "Відправити" - }, - "emailAddressDesc": { - "message": "Адреса е-пошти буде використовуватися для входу." - }, - "yourName": { - "message": "Ваше ім'я" - }, - "yourNameDesc": { - "message": "Як до вас звертатися?" - }, - "masterPass": { - "message": "Головний пароль" - }, - "masterPassDesc": { - "message": "Головний пароль використовується для доступу до вашого сховища. Дуже важливо, щоб ви запам'ятали його. Якщо ви забудете головний пароль, його неможливо буде відновити." - }, - "masterPassHintDesc": { - "message": "Якщо ви забудете головний пароль, підказка може допомогти вам згадати його." - }, - "reTypeMasterPass": { - "message": "Введіть головний пароль ще раз" - }, - "masterPassHint": { - "message": "Підказка для головного пароля (необов'язково)" - }, - "masterPassHintLabel": { - "message": "Підказка для головного пароля" - }, - "settings": { - "message": "Налаштування" - }, - "passwordHint": { - "message": "Підказка для пароля" - }, - "enterEmailToGetHint": { - "message": "Введіть свою адресу е-пошти, щоб отримати підказку для головного пароля." - }, - "getMasterPasswordHint": { - "message": "Отримати підказку для головного пароля" - }, - "emailRequired": { - "message": "Необхідно вказати адресу е-пошти." - }, - "invalidEmail": { - "message": "Неправильна адреса е-пошти." - }, - "masterPassRequired": { - "message": "Потрібен головний пароль." - }, - "masterPassLength": { - "message": "Довжина головного пароля повинна бути не менше 8 символів." - }, - "masterPassDoesntMatch": { - "message": "Підтвердження головного пароля не збігається." - }, - "newAccountCreated": { - "message": "Ваш обліковий запис створений! Тепер ви можете увійти." - }, - "masterPassSent": { - "message": "Ми надіслали вам лист з підказкою для головного пароля." - }, - "unexpectedError": { - "message": "Сталася неочікувана помилка." - }, - "emailAddress": { - "message": "Адреса е-пошти" - }, - "yourVaultIsLocked": { - "message": "Сховище заблоковано. Введіть головний пароль для продовження." - }, - "unlock": { - "message": "Розблокувати" - }, - "loggedInAsEmailOn": { - "message": "Ви увійшли як $EMAIL$ на $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Неправильний головний пароль" - }, - "lockNow": { - "message": "Заблокувати зараз" - }, - "noItemsInList": { - "message": "Немає записів." - }, - "noCollectionsInList": { - "message": "Немає збірок." - }, - "noGroupsInList": { - "message": "Немає груп." - }, - "noUsersInList": { - "message": "Немає користувачів." - }, - "noEventsInList": { - "message": "Немає подій." - }, - "newOrganization": { - "message": "Нова організація" - }, - "noOrganizationsList": { - "message": "Ви не входите до жодної організації. Організації дозволяють безпечно обмінюватися елементами з іншими користувачами." - }, - "versionNumber": { - "message": "Версія $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Введіть 6-значний код підтвердження з програми авторизації." - }, - "enterVerificationCodeEmail": { - "message": "Введіть 6-значний код підтвердження, надісланий на $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "Код підтвердження надіслано на $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Запам'ятати мене" - }, - "sendVerificationCodeEmailAgain": { - "message": "Надіслати код підтвердження ще раз" - }, - "useAnotherTwoStepMethod": { - "message": "Інший спосіб двоетапної перевірки" - }, - "insertYubiKey": { - "message": "Вставте свій YubiKey в USB порт комп'ютера, потім торкніться цієї кнопки." - }, - "insertU2f": { - "message": "Вставте свій ключ безпеки в USB порт комп'ютера. Якщо в нього є кнопка, натисніть її." - }, - "loginUnavailable": { - "message": "Вхід недоступний" - }, - "noTwoStepProviders": { - "message": "Для цього облікового запису увімкнено двоетапну перевірку. Однак, жоден з налаштованих провайдерів двоетапної перевірки не підтримується цим браузером." - }, - "noTwoStepProviders2": { - "message": "Будь ласка, скористайтеся підтримуваним браузером (наприклад, Chrome) та/або іншими провайдерами, що краще підтримуються браузерами (наприклад, програма авторизації)." - }, - "twoStepOptions": { - "message": "Налаштування двоетапної перевірки" - }, - "recoveryCodeDesc": { - "message": "Втратили доступ до всіх провайдерів двоетапної перевірки? Скористайтеся кодом відновлення, щоб вимкнути двоетапну перевірку для свого облікового запису." - }, - "recoveryCodeTitle": { - "message": "Код відновлення" - }, - "authenticatorAppTitle": { - "message": "Програма авторизації" - }, - "authenticatorAppDesc": { - "message": "Використовуйте програму авторизації (наприклад, Authy або Google Authenticator), щоб генерувати тимчасові коди підтвердження.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "Ключ безпеки YubiKey OTP" - }, - "yubiKeyDesc": { - "message": "Використовуйте YubiKey для доступу до облікового запису. Працює з YubiKey серії 4, 5, а також пристроями NEO." - }, - "duoDesc": { - "message": "Авторизуйтесь за допомогою Duo Security з використанням мобільного додатку Duo Mobile, SMS, телефонного виклику, або ключа безпеки U2F.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Авторизуйтесь за допомогою Duo Security для вашої організації з використанням мобільного додатку Duo Mobile, SMS, телефонного виклику, або ключа безпеки U2F.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Використовуйте будь-який ключ безпеки FIDO U2F для доступу до сховища." - }, - "u2fTitle": { - "message": "Ключ безпеки FIDO U2F" - }, - "emailTitle": { - "message": "Е-пошта" - }, - "emailDesc": { - "message": "Коди підтвердження будуть надсилатися на вашу пошту." - }, - "continue": { - "message": "Продовжити" - }, - "organization": { - "message": "Організація" - }, - "organizations": { - "message": "Організації" - }, - "shareDesc": { - "message": "Оберіть організацію, з якою хочете поділитися. Зробивши це, ви передасте доступ до цього запису іншій організації та більше не будете його одноосібним власником." - }, - "shareManyDesc": { - "message": "Оберіть організацію, з якою хочете поділитися. Зробивши це, ви передасте доступ до цих записів іншій організації та більше не будете їх одноосібним власником." - }, - "collectionsDesc": { - "message": "Редагуйте збірки, з якими цей запис знаходиться в спільному доступі. Лише учасники організацій з доступом до цих збірок матимуть можливість бачити цей запис." - }, - "deleteSelectedItemsDesc": { - "message": "Ви обрали $COUNT$ записів для видалення. Ви справді хочете їх видалити?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Оберіть теку, в яку ви бажаєте перемістити $COUNT$ вибраних записів.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "Ви обрали $COUNT$ елементів. $SHAREABLE_COUNT$ елементів є спільними, $NONSHAREABLE_COUNT$ не є спільними.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Код підтвердження (TOTP)" - }, - "copyVerificationCode": { - "message": "Копіювати код підтвердження" - }, - "warning": { - "message": "Попередження" - }, - "confirmVaultExport": { - "message": "Підтвердити експорт сховища" - }, - "exportWarningDesc": { - "message": "Експортовані дані вашого сховища знаходяться в незашифрованому вигляді. Вам не слід зберігати чи надсилати їх через незахищені канали (наприклад, е-поштою). Після використання негайно видаліть їх." - }, - "encExportWarningDesc": { - "message": "Цей експорт шифрує ваші дані за допомогою ключа шифрування облікового запису. Якщо ви коли-небудь оновите ключ шифрування облікового запису, ви повинні виконати експорт знову, оскільки не зможете розшифрувати цей файл експорту." - }, - "exportMasterPassword": { - "message": "Введіть головний пароль, щоб експортувати дані сховища." - }, - "exportVault": { - "message": "Експорт сховища" - }, - "fileFormat": { - "message": "Формат файлу" - }, - "exportSuccess": { - "message": "Дані сховища експортовано." - }, - "passwordGenerator": { - "message": "Генератор паролів" - }, - "minComplexityScore": { - "message": "Мінімальна оцінка складності" - }, - "minNumbers": { - "message": "Мінімум цифр" - }, - "minSpecial": { - "message": "Мінімум спеціальних символів", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Уникати неоднозначних символів" - }, - "regeneratePassword": { - "message": "Генерувати новий" - }, - "length": { - "message": "Довжина" - }, - "numWords": { - "message": "Кількість слів" - }, - "wordSeparator": { - "message": "Розділювач слів" - }, - "capitalize": { - "message": "Великі літери", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Включити число" - }, - "passwordHistory": { - "message": "Історія паролів" - }, - "noPasswordsInList": { - "message": "Немає паролів." - }, - "clear": { - "message": "Стерти", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Обліковий запис оновлено" - }, - "changeEmail": { - "message": "Змінити адресу е-пошти" - }, - "newEmail": { - "message": "Нова адреса е-пошти" - }, - "code": { - "message": "Код" - }, - "changeEmailDesc": { - "message": "Ми надіслали код підтвердження на $EMAIL$. Знайдіть цей код в отриманому листі та введіть його внизу, щоб завершити зміну адреси електронної пошти.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Продовжуючи, ви вийдете з поточного сеансу і необхідно буде виконати вхід знову. Активні сеанси на інших пристроях можуть залишатися активними протягом години." - }, - "emailChanged": { - "message": "Е-пошту змінено" - }, - "logBackIn": { - "message": "Повторно виконайте вхід." - }, - "logBackInOthersToo": { - "message": "Будь ласка, повторно виконайте вхід. Якщо ви користуєтесь іншими додатками Bitwarden, також вийдіть із них, і знову увійдіть." - }, - "changeMasterPassword": { - "message": "Змінити головний пароль" - }, - "masterPasswordChanged": { - "message": "Головний пароль змінено" - }, - "currentMasterPass": { - "message": "Поточний головний пароль" - }, - "newMasterPass": { - "message": "Новий головний пароль" - }, - "confirmNewMasterPass": { - "message": "Підтвердьте новий головний пароль" - }, - "encKeySettings": { - "message": "Налаштування ключа шифрування" - }, - "kdfAlgorithm": { - "message": "Алгоритм KDF" - }, - "kdfIterations": { - "message": "Ітерації KDF" - }, - "kdfIterationsDesc": { - "message": "Вище значення KDF-ітерацій може допомогти захистити головний пароль від перехоплення зловмисником. Ми рекомендуємо встановити значення не менше $VALUE$.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Встановлення надто великого значення KDF-ітерацій може призвести до повільної роботи системи при вході (і розблокуванні системи) на слабких комп'ютерах. Рекомендуємо збільшувати значення поступово з кроком $INCREMENT$, після чого тестувати роботу на всіх ваших пристроях.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Змінити KDF" - }, - "encKeySettingsChanged": { - "message": "Налаштування ключа шифрування змінено" - }, - "dangerZone": { - "message": "Небезпечна зона" - }, - "dangerZoneDesc": { - "message": "Обережно, ці дії неможливо скасувати!" - }, - "deauthorizeSessions": { - "message": "Закрити сеанси" - }, - "deauthorizeSessionsDesc": { - "message": "Хвилюєтесь про те, чи не виконано вхід на іншому пристрої? Перейдіть нижче, щоб закрити сеанси на всіх комп'ютерах чи інших пристроях, які ви раніше використовували. Рекомендовано використовувати цей крок, якщо ви раніше користувалися загальнодоступними комп'ютерами, або іншими чужими пристроями, на яких міг зберегтися ваш пароль входу. Ця дія також зітре всі попередньо збережені сеанси двоетапної перевірки." - }, - "deauthorizeSessionsWarning": { - "message": "Продовжуючи, ви також вийдете з поточного сеансу і необхідно буде виконати вхід знову. Ви також отримаєте повторний запит двоетапної перевірки, якщо вона увімкнена. Активні сеанси на інших пристроях можуть залишатися активними протягом години." - }, - "sessionsDeauthorized": { - "message": "Всі сеанси закрито" - }, - "purgeVault": { - "message": "Очистити сховище" - }, - "purgedOrganizationVault": { - "message": "Сховище організації очищено." - }, - "purgeVaultDesc": { - "message": "Продовжуйте внизу для видалення всіх записів і тек у вашому сховищі. Записи, що належать до спільної організації не будуть видалені." - }, - "purgeOrgVaultDesc": { - "message": "Продовжуйте внизу, щоб видалити всі записи в сховищі організації." - }, - "purgeVaultWarning": { - "message": "Очищення вашого сховища є незворотною дією. Це не можна буде скасувати." - }, - "vaultPurged": { - "message": "Ваше сховище було очищено." - }, - "deleteAccount": { - "message": "Видалити обліковий запис" - }, - "deleteAccountDesc": { - "message": "Продовжуйте внизу для видалення облікового запису і всіх пов'язаних даних." - }, - "deleteAccountWarning": { - "message": "Видалення облікового запису є незворотною дією. Це не можна буде скасувати." - }, - "accountDeleted": { - "message": "Обліковий запис видалено" - }, - "accountDeletedDesc": { - "message": "Ваш обліковий запис було закрито і всі пов'язані дані було видалено." - }, - "myAccount": { - "message": "Мій обліковий запис" - }, - "tools": { - "message": "Інструменти" - }, - "importData": { - "message": "Імпорт даних" - }, - "importSuccess": { - "message": "Дані успішно імпортовано до вашого сховища." - }, - "importFormatError": { - "message": "Дані мають некоректне форматування. Перевірте файл імпорту і спробуйте знову." - }, - "importNothingError": { - "message": "Нічого не імпортовано." - }, - "selectFormat": { - "message": "Оберіть формат імпортованого файлу" - }, - "selectImportFile": { - "message": "Оберіть файл для імпорту" - }, - "orCopyPasteFileContents": { - "message": "або скопіюйте і вставте вміст файлу для імпорту" - }, - "instructionsFor": { - "message": "Інструкції для $NAME$", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Додатково" - }, - "optionsDesc": { - "message": "Налаштуйте свою роботу з веб сховищем." - }, - "optionsUpdated": { - "message": "Налаштування оновлено" - }, - "language": { - "message": "Мова" - }, - "languageDesc": { - "message": "Змінити мову інтерфейсу веб сховища." - }, - "disableIcons": { - "message": "Вимкнути піктограми вебсайтів" - }, - "disableIconsDesc": { - "message": "Впізнавані піктограми вебсайтів додаються біля кожного запису вашого сховища." - }, - "enableGravatars": { - "message": "Увімкнути Gravatars", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Використовувати зображення профілю завантажені з gravatar.com." - }, - "enableFullWidth": { - "message": "Увімкнути макет повної ширини", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Дозволити веб сховищу розгортатися на повну ширину вікна браузера." - }, - "default": { - "message": "Типово" - }, - "domainRules": { - "message": "Правила доменів" - }, - "domainRulesDesc": { - "message": "Якщо у вас є однакові дані входу для різних вебсайтів, ви можете позначити такий вебсайт як \"еквівалентний\". \"Глобальні\" домени вже створені для вас в Bitwarden." - }, - "globalEqDomains": { - "message": "Глобальні еквівалентні домени" - }, - "customEqDomains": { - "message": "Власні еквівалентні домени" - }, - "exclude": { - "message": "Виключити" - }, - "include": { - "message": "Включити" - }, - "customize": { - "message": "Налаштувати" - }, - "newCustomDomain": { - "message": "Новий власний домен" - }, - "newCustomDomainDesc": { - "message": "Введіть список доменів, розділених комами. Дозволяються лише \"основні\" домени. Не вводьте піддомени. Наприклад, вводьте \"google.com\" замість \"www.google.com\". Ви також можете ввести \"androidapp://package.name\", щоб асоціювати програму android з іншими доменами вебсайту." - }, - "customDomainX": { - "message": "Власний домен $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Домени оновлено" - }, - "twoStepLogin": { - "message": "Двоетапна перевірка" - }, - "twoStepLoginDesc": { - "message": "Захистіть обліковий запис, вимагаючи додатковий крок перевірки при вході." - }, - "twoStepLoginOrganizationDesc": { - "message": "Вимагати двоетапну перевірку для користувачів вашої організації, змінивши конфігурацію провайдерів на рівні організації." - }, - "twoStepLoginRecoveryWarning": { - "message": "Увімкнення двоетапної перевірки може цілком заблокувати доступ до облікового запису Bitwarden. Код відновлення дозволяє вам отримати доступ до свого облікового запису у випадку, якщо ви не можете скористатися провайдером двоетапної перевірки (наприклад, при втраті пристрою). Служба підтримки Bitwarden не зможе допомогти відновити доступ до вашого облікового запису. Ми радимо вам записати чи роздрукувати цей код відновлення і зберігати його в надійному місці." - }, - "viewRecoveryCode": { - "message": "Переглянути код відновлення" - }, - "providers": { - "message": "Провайдери", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Увімкнути" - }, - "enabled": { - "message": "Увімкнено" - }, - "premium": { - "message": "Преміум", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Преміум статус" - }, - "premiumRequired": { - "message": "Необхідний преміум статус" - }, - "premiumRequiredDesc": { - "message": "Для використання цієї функції необхідний преміум статус." - }, - "youHavePremiumAccess": { - "message": "У вас є преміум-доступ" - }, - "alreadyPremiumFromOrg": { - "message": "У вас вже є доступ до преміум-функцій, тому що ви входите до організації, яка вам їх надає." - }, - "manage": { - "message": "Керувати" - }, - "disable": { - "message": "Вимкнути" - }, - "twoStepLoginProviderEnabled": { - "message": "Для вашого облікового запису увімкнено цей спосіб двоетапної перевірки." - }, - "twoStepLoginAuthDesc": { - "message": "Введіть головний пароль, щоб змінити налаштування двоетапної перевірки." - }, - "twoStepAuthenticatorDesc": { - "message": "Дотримуйтесь цих кроків, щоб встановити двоетапну перевірку за допомогою програми:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Завантажте програму для двоетапної перевірки" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Необхідна програма для двоетапної перевірки? Завантажте одну з таких" - }, - "iosDevices": { - "message": "Пристрої iOS" - }, - "androidDevices": { - "message": "Пристрої Android" - }, - "windowsDevices": { - "message": "Пристрої Windows" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "Ці програми є рекомендованими, однак, інші програми авторизації також працюватимуть." - }, - "twoStepAuthenticatorScanCode": { - "message": "Скануйте цей QR-код за допомогою програми авторизації" - }, - "key": { - "message": "Ключ" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Введіть отриманий в програмі 6-значний код авторизації" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "Якщо вам необхідно додати його на іншому пристрої, внизу знаходиться QR-код (або код) для вашої програми авторизації." - }, - "twoStepDisableDesc": { - "message": "Ви справді хочете вимкнути цього провайдера двоетапної перевірки?" - }, - "twoStepDisabled": { - "message": "Провайдера двоетапної перевірки вимкнено." - }, - "twoFactorYubikeyAdd": { - "message": "Додайте новий YubiKey до вашого облікового запису" - }, - "twoFactorYubikeyPlugIn": { - "message": "Під'єднайте YubiKey до USB вашого комп'ютера." - }, - "twoFactorYubikeySelectKey": { - "message": "Оберіть перше порожнє поле вводу YubiKey внизу." - }, - "twoFactorYubikeyTouchButton": { - "message": "Торкніться кнопки YubiKey." - }, - "twoFactorYubikeySaveForm": { - "message": "Збережіть форму." - }, - "twoFactorYubikeyWarning": { - "message": "У зв'язку з обмеженнями платформи, засоби YubiKey не можна використовувати у всіх програмах Bitwarden. Вам слід активувати іншого провайдера двоетапної перевірки, щоб ви могли отримати доступ до свого облікового запису, коли неможливо скористатися YubiKey. Підтримувані платформи:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Веб сховище, програма для комп'ютера, CLI, а також усі розширення браузера на пристроях, де можливо під'єднати YubiKey до USB." - }, - "twoFactorYubikeySupportMobile": { - "message": "Мобільні програми на пристроях з NFC, або порт даних, який може приймати YubiKey." - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "U2F Ключ $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "Підтримка NFC" - }, - "twoFactorYubikeySupportsNfc": { - "message": "Один з моїх ключів підтримує NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "Якщо один з ваших YubiKey підтримує NFC (наприклад, YubiKey NEO), ви отримаєте запит на мобільних пристроях, як тільки буде виявлено NFC." - }, - "yubikeysUpdated": { - "message": "YubiKey оновлено" - }, - "disableAllKeys": { - "message": "Вимкнути всі ключі" - }, - "twoFactorDuoDesc": { - "message": "Введіть інформацію про програму Bitwarden з вашої панелі адміністратора Duo." - }, - "twoFactorDuoIntegrationKey": { - "message": "Ключ інтеграції" - }, - "twoFactorDuoSecretKey": { - "message": "Секретний ключ" - }, - "twoFactorDuoApiHostname": { - "message": "Назва вузла API" - }, - "twoFactorEmailDesc": { - "message": "Дотримуйтесь цих кроків, щоб встановити двоетапну перевірку за допомогою електронної пошти:" - }, - "twoFactorEmailEnterEmail": { - "message": "Введіть адресу електронної пошти, на яку ви бажаєте отримувати коди перевірки" - }, - "twoFactorEmailEnterCode": { - "message": "Введіть отриманий 6-значний код перевірки з електронного повідомлення" - }, - "sendEmail": { - "message": "Надіслати повідомлення" - }, - "twoFactorU2fAdd": { - "message": "Додайте ключ безпеки FIDO U2F до свого облікового запису" - }, - "removeU2fConfirmation": { - "message": "Ви впевнені, що хочете вилучити цей ключ безпеки?" - }, - "readKey": { - "message": "Читати ключ" - }, - "keyCompromised": { - "message": "Ключ скомпрометований." - }, - "twoFactorU2fGiveName": { - "message": "Назвіть ключ безпеки для легкої його ідентифікації." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Під'єднайте ключ безпеки до USB вашого комп'ютера і натисніть кнопку \"Читати ключ\"." - }, - "twoFactorU2fTouchButton": { - "message": "Якщо ключ безпеки має кнопку, торкніться її." - }, - "twoFactorU2fSaveForm": { - "message": "Зберегти форму." - }, - "twoFactorU2fWarning": { - "message": "У зв'язку з обмеженнями платформи, засоби FIDO U2F не можна використовувати у всіх програмах Bitwarden. Вам слід активувати іншого провайдера двоетапної перевірки, щоб ви могли отримати доступ до свого облікового запису, коли неможливо скористатися FIDO U2F. Підтримувані платформи:" - }, - "twoFactorU2fSupportWeb": { - "message": "Веб сховище і розширення браузера на комп'ютерах і ноутбуках з браузерами, що мають підтримку U2F (Chrome, Opera, Vivaldi, або Firefox з увімкненим FIDO U2F)." - }, - "twoFactorU2fWaiting": { - "message": "Чекаємо доки ви торкнетеся кнопки на своєму ключі безпеки" - }, - "twoFactorU2fClickSave": { - "message": "Натисніть кнопку \"Зберегти\" внизу, щоб активувати двоетапну перевірку з використанням цього ключа." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "Сталася проблема при читанні ключа безпеки. Спробуйте знову." - }, - "twoFactorRecoveryYourCode": { - "message": "Ваш код відновлення двоетапної перевірки Bitwarden" - }, - "twoFactorRecoveryNoCode": { - "message": "Ви ще не увімкнули жодного провайдера двоетапної перевірки. Після того, як ви це зробите, ви можете повернутися сюди для отримання коду відновлення." - }, - "printCode": { - "message": "Друкувати код", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Звіти" - }, - "unsecuredWebsitesReport": { - "message": "Звіт про незахищені вебсайти" - }, - "unsecuredWebsitesReportDesc": { - "message": "Використання незахищених вебсайтів з протоколом http:// може бути небезпечним. Якщо вебсайт дозволяє, вам слід завжди використовувати його з протоколом https://, щоб ваше з'єднання було зашифрованим." - }, - "unsecuredWebsitesFound": { - "message": "Знайдено незахищені вебсайти" - }, - "unsecuredWebsitesFoundDesc": { - "message": "Ми знайшли $COUNT$ записів у вашому сховищі з незахищеними URL-адресами. Вам слід змінити їхні URL-схеми на https://, якщо вони це дозволяють.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "У вашому сховищі немає записів з незахищеними URL-адресами." - }, - "inactive2faReport": { - "message": "Звіт про неактивну двоетапну перевірку" - }, - "inactive2faReportDesc": { - "message": "Двоетапна перевірка (2FA) - це важливе налаштування безпеки, що дозволяє захистити ваші облікові дані. Ви повинні завжди використовувати її на вебсайтах, де вона пропонується." - }, - "inactive2faFound": { - "message": "Знайдено записи без двоетапної перевірки" - }, - "inactive2faFoundDesc": { - "message": "Ми знайшли $COUNT$ вебсайтів у вашому сховищі, що можуть бути не налаштовані для двоетапної перевірки (за даними 2fa.directory). Для захисту цих облікових записів вам слід активувати двоетапну перевірку.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "У вашому сховищі не знайдено вебсайтів з неналаштованою двоетапною перевіркою." - }, - "instructions": { - "message": "Інструкції" - }, - "exposedPasswordsReport": { - "message": "Звіт викритих паролів" - }, - "exposedPasswordsReportDesc": { - "message": "Викритими називаються паролі, які було знайдено у відомих витоках даних, що публікуються в загальнодоступних місцях або продаються на чорному ринку в інтернеті хакерами." - }, - "exposedPasswordsFound": { - "message": "Знайдено викриті паролі" - }, - "exposedPasswordsFoundDesc": { - "message": "У вашому сховищі знайдено $COUNT$ записів з паролями, які було викрито у відомих витоках даних. Вам слід змінити їх з використанням нового пароля.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "У вашому сховищі не знайдено записів з паролями, що були викриті у відомих витоках даних." - }, - "checkExposedPasswords": { - "message": "Перевірка викритих паролів" - }, - "exposedXTimes": { - "message": "Викрито $COUNT$ разів", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Звіт про ненадійні паролі" - }, - "weakPasswordsReportDesc": { - "message": "Ненадійні паролі можуть легко бути вгадані хакерами і автоматизованими засобами злому паролів. Генератор паролів Bitwarden може допомогти вам створити надійні паролі." - }, - "weakPasswordsFound": { - "message": "Знайдено ненадійні паролі" - }, - "weakPasswordsFoundDesc": { - "message": "У вашому сховищі знайдено $COUNT$ записів з ненадійними паролями. Вам слід оновити їх з використанням надійніших паролів.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "У вашому сховищі немає ненадійних паролів." - }, - "reusedPasswordsReport": { - "message": "Звіт повторюваних паролів" - }, - "reusedPasswordsReportDesc": { - "message": "Якщо використовуваний вами сервіс було скомпрометовано, повторне використання однакового пароля в інших місцях може дозволити хакерам легко отримати доступ до інших ваших облікових записів. Вам слід використовувати унікальний пароль для кожного сервісу чи облікового запису." - }, - "reusedPasswordsFound": { - "message": "Знайдено повторювані паролі" - }, - "reusedPasswordsFoundDesc": { - "message": "У вашому сховищі знайдено $COUNT$ паролів з повторним використанням. Вам слід змінити їх на унікальні.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "У вашому сховищі не знайдено паролів з повторним використанням." - }, - "reusedXTimes": { - "message": "Повторюється $COUNT$ разів", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Звіт про витік даних" - }, - "breachDesc": { - "message": "Витік даних - це подія, під час якої зловмисниками було отримано неавторизований доступ до даних вебсайтів та оприлюднено їх. Перегляньте тип даних, які було скомпрометовано (адреси електронної пошти, паролі, кредитні картки та інше) і виконайте необхідні дії, наприклад, змініть паролі." - }, - "breachCheckUsernameEmail": { - "message": "Перевірте будь-які використовувані вами імена користувачів чи адреси електронної пошти." - }, - "checkBreaches": { - "message": "Перевірити витоки даних" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ не знайдено у відомих витоках даних.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Гарні новини", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ було знайдено в $COUNT$ різних витоках даних онлайн.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Знайдено скомпрометовані облікові дані" - }, - "compromisedData": { - "message": "Скомпрометовані дані" - }, - "website": { - "message": "Вебсайт" - }, - "affectedUsers": { - "message": "Впливає на користувачів" - }, - "breachOccurred": { - "message": "Стався витік даних" - }, - "breachReported": { - "message": "Отримано звіт про витік даних" - }, - "reportError": { - "message": "При завантаженні звіту сталася помилка. Спробуйте знову" - }, - "billing": { - "message": "Оплата" - }, - "accountCredit": { - "message": "Кредит рахунку", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Баланс рахунку", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Додати кредит", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Сума", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Доданий кредит з'явиться на вашому рахунку після повної обробки платежу. Деякі способи оплати затримуються і можуть оброблятися довше, ніж інші." - }, - "makeSureEnoughCredit": { - "message": "Будь ласка, переконайтеся, що на вашому рахунку достатньо коштів для цієї покупки. Якщо на вашому рахунку недостатньо коштів, то різниця спишеться з використанням вашого типового способу оплати. Ви можете додати кошти до свого рахунку на сторінці Оплата." - }, - "creditAppliedDesc": { - "message": "Кредит вашого рахунку можна використовувати для покупок. Будь-який наявний кредит автоматично використовуватиметься для рахунків, згенерованих для цього облікового запису." - }, - "goPremium": { - "message": "Перейти на Premium", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "Ви оновилися до версії Premium." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Оновіть свій обліковий запис до тарифного плану Premium й отримайте чудові додаткові можливості." - }, - "premiumSignUpStorage": { - "message": "1 ГБ зашифрованого сховища для файлів." - }, - "premiumSignUpTwoStep": { - "message": "Додаткові можливості двоетапної перевірки, наприклад, YubiKey, FIDO U2F та Duo." - }, - "premiumSignUpReports": { - "message": "Гігієна паролів, здоров'я облікового запису, а також звіти про вразливості даних, щоб зберігати ваше сховище в безпеці." - }, - "premiumSignUpTotp": { - "message": "Генератор коду авторизації TOTP (2FA) для входу в сховище." - }, - "premiumSignUpSupport": { - "message": "Пріоритетну технічну підтримку." - }, - "premiumSignUpFuture": { - "message": "Всі майбутні функції преміум статусу. Їх буде більше!" - }, - "premiumPrice": { - "message": "Всього лише $PRICE$ / за рік!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Додатки" - }, - "premiumAccess": { - "message": "Преміум-доступ" - }, - "premiumAccessDesc": { - "message": "Ви можете додати преміум-доступ для всіх учасників вашої організації за $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Додаткове сховище (ГБ)" - }, - "additionalStorageGbDesc": { - "message": "# додаткових ГБ" - }, - "additionalStorageIntervalDesc": { - "message": "У ваш тарифний план включено зашифроване сховище файлів, розміром $SIZE$. Ви можете збільшити обсяг сховища по ціні $PRICE$ за ГБ /$INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Підсумок" - }, - "total": { - "message": "Всього" - }, - "year": { - "message": "рік" - }, - "month": { - "message": "місяць" - }, - "monthAbbr": { - "message": "міс.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "З вас буде одразу стягнуто плату згідно з обраним способом, а потім так само кожного року. Ви можете скасувати це в будь-який час." - }, - "paymentCharged": { - "message": "З вас буде одразу стягнуто плату згідно з обраним способом, а потім так само кожного $INTERVAL$. Ви можете скасувати це в будь-який час.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Ваш тарифний план має 7 днів безплатного пробного періоду. З вас не буде стягнуто плату до завершення цього періоду. Оплата стягуватиметься автоматично кожен $INTERVAL$. Ви можете скасувати це в будь-який час.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Інформація про оплату" - }, - "billingInformation": { - "message": "Платіжна інформація" - }, - "creditCard": { - "message": "Кредитна карта" - }, - "paypalClickSubmit": { - "message": "Натисніть кнопку PayPal для входу в свій обліковий запис PayPal, потім натисніть кнопку Відправити внизу для продовження." - }, - "cancelSubscription": { - "message": "Скасувати передплату" - }, - "subscriptionCanceled": { - "message": "Передплату було скасовано." - }, - "pendingCancellation": { - "message": "Очікування скасування" - }, - "subscriptionPendingCanceled": { - "message": "Передплату було позначено для скасування в кінці поточного оплаченого періоду." - }, - "reinstateSubscription": { - "message": "Відновити передплату" - }, - "reinstateConfirmation": { - "message": "Ви справді хочете вилучити очікуваний запит скасування і відновити вашу передплату?" - }, - "reinstated": { - "message": "Передплату було відновлено." - }, - "cancelConfirmation": { - "message": "Ви справді хочете скасувати? Ви втратите доступ до всіх можливостей, пов'язаних з нею після завершення поточного періоду передплати." - }, - "canceledSubscription": { - "message": "Передплату було скасовано." - }, - "neverExpires": { - "message": "Необмежений термін дії" - }, - "status": { - "message": "Статус" - }, - "nextCharge": { - "message": "Наступна оплата" - }, - "details": { - "message": "Подробиці" - }, - "downloadLicense": { - "message": "Завантажити ліцензію" - }, - "updateLicense": { - "message": "Оновити ліцензію" - }, - "updatedLicense": { - "message": "Ліцензію оновлено" - }, - "manageSubscription": { - "message": "Керувати передплатою" - }, - "storage": { - "message": "Сховище" - }, - "addStorage": { - "message": "Додати сховище" - }, - "removeStorage": { - "message": "Вилучити сховище" - }, - "subscriptionStorage": { - "message": "Ваша передплата включає всього $MAX_STORAGE$ ГБ зашифрованого сховища файлів. Ви зараз використовуєте $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Спосіб оплати" - }, - "noPaymentMethod": { - "message": "Файл не містить способу оплати." - }, - "addPaymentMethod": { - "message": "Додати спосіб оплати" - }, - "changePaymentMethod": { - "message": "Змінити спосіб оплати" - }, - "invoices": { - "message": "Рахунки" - }, - "noInvoices": { - "message": "Немає рахунків." - }, - "paid": { - "message": "Сплачено", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Не сплачено", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Транзакції", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "Немає транзакцій." - }, - "chargeNoun": { - "message": "Списання", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Повернення", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Будь-які оплати з'являтимуться у вашому рахунку як $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "ГБ сховища для додавання" - }, - "gbStorageRemove": { - "message": "ГБ сховища для вилучення" - }, - "storageAddNote": { - "message": "Додавання сховища призведе до змін суми вашої оплати і негайно буде стягнуто плату способом, зазначеним у файлі. Перша оплата буде пропорційна решті за поточний цикл оплати." - }, - "storageRemoveNote": { - "message": "Вилучення сховища призведе до змін у сумі вашої оплати і буде пропорційно розділено у вигляді кредиту за наступний цикл оплати." - }, - "adjustedStorage": { - "message": "Змінено $AMOUNT$ ГБ сховища.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Зв'язатися зі службою підтримки клієнтів" - }, - "updatedPaymentMethod": { - "message": "Спосіб оплати оновлено." - }, - "purchasePremium": { - "message": "Придбати преміум" - }, - "licenseFile": { - "message": "Файл ліцензії" - }, - "licenseFileDesc": { - "message": "Ваш файл ліцензії має назву $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "Для оновлення вашого облікового запису до Premium, вам необхідно вивантажити дійсний файл ліцензії." - }, - "uploadLicenseFileOrg": { - "message": "Для створення організації, розміщеної на локальному хостингу, вам необхідно вивантажити дійсний файл ліцензії." - }, - "accountEmailMustBeVerified": { - "message": "Необхідно підтвердити адресу електронної пошти вашого облікового запису." - }, - "newOrganizationDesc": { - "message": "Організації дозволяють вам спільно використовувати ваше сховище з іншими, а також керувати пов'язаними користувачами окремих записів, наприклад, родиною, невеликою командою, або великою компанією." - }, - "generalInformation": { - "message": "Загальна інформація" - }, - "organizationName": { - "message": "Назва організації" - }, - "accountOwnedBusiness": { - "message": "Цей обліковий запис належить компанії." - }, - "billingEmail": { - "message": "Адреса електронної пошти для оплати" - }, - "businessName": { - "message": "Назва компанії" - }, - "chooseYourPlan": { - "message": "Оберіть свій тарифний план" - }, - "users": { - "message": "Користувачі" - }, - "userSeats": { - "message": "Місця користувачів" - }, - "additionalUserSeats": { - "message": "Додаткові місця користувачів" - }, - "userSeatsDesc": { - "message": "# місць користувачів" - }, - "userSeatsAdditionalDesc": { - "message": "Ваш тарифний план постачається з $BASE_SEATS$ місць користувачів. Ви можете додати місця для користувачів по ціні $SEAT_PRICE$ за користувача на місяць.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "Скільки місць користувачів вам необхідно? При необхідності, ви також можете пізніше додати місця користувачів." - }, - "planNameFree": { - "message": "Безплатно", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "Для тестування чи особистого користування спільно з $COUNT$ іншим користувачем.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Родина" - }, - "planDescFamilies": { - "message": "Для особистого користування спільно з родиною і друзями." - }, - "planNameTeams": { - "message": "Команда" - }, - "planDescTeams": { - "message": "Для компаній та інших командних організацій." - }, - "planNameEnterprise": { - "message": "Компанія" - }, - "planDescEnterprise": { - "message": "Для компаній та інших великих організацій." - }, - "freeForever": { - "message": "Безплатно назавжди" - }, - "includesXUsers": { - "message": "включає $COUNT$ користувачів", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Додаткові користувачі" - }, - "costPerUser": { - "message": "$COST$ за користувача", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Обмеження для $COUNT$ користувачів (разом з вами)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Обмеження для $COUNT$ збірок", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Додавання й спільне користування з $COUNT$ користувачами", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Додавання й спільне користування з необмеженою кількістю користувачів" - }, - "createUnlimitedCollections": { - "message": "Створення необмежених збірок" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ зашифрованого сховища файлів", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "Попереднє розміщення (необов'язково)" - }, - "usersGetPremium": { - "message": "Користувачі отримують доступ до можливостей Premium" - }, - "controlAccessWithGroups": { - "message": "Контроль доступу користувачів за допомогою груп" - }, - "syncUsersFromDirectory": { - "message": "Синхронізація користувачів і груп з каталогу" - }, - "trackAuditLogs": { - "message": "Відстеження дій користувачів з журналами аудиту" - }, - "enforce2faDuo": { - "message": "Вимагайте 2FA з використанням Duo" - }, - "priorityCustomerSupport": { - "message": "Пріоритетна підтримка користувачів" - }, - "xDayFreeTrial": { - "message": "$COUNT$ днів безплатного пробного періоду. Можна скасувати в будь-який час", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Щомісяця" - }, - "annually": { - "message": "Щороку" - }, - "basePrice": { - "message": "Базова ціна" - }, - "organizationCreated": { - "message": "Організацію створено" - }, - "organizationReadyToGo": { - "message": "Ваша нова організація готова до використання!" - }, - "organizationUpgraded": { - "message": "Вашу організацію було оновлено." - }, - "leave": { - "message": "Покинути" - }, - "leaveOrganizationConfirmation": { - "message": "Ви справді хочете покинути цю організацію?" - }, - "leftOrganization": { - "message": "Ви покинули організацію." - }, - "defaultCollection": { - "message": "Типова збірка" - }, - "getHelp": { - "message": "Отримати допомогу" - }, - "getApps": { - "message": "Отримати додатки" - }, - "loggedInAs": { - "message": "Вхід виконано" - }, - "eventLogs": { - "message": "Журнали подій" - }, - "people": { - "message": "Люди" - }, - "policies": { - "message": "Політики" - }, - "editPolicy": { - "message": "Змінити політику" - }, - "groups": { - "message": "Групи" - }, - "newGroup": { - "message": "Нова група" - }, - "addGroup": { - "message": "Додати групу" - }, - "editGroup": { - "message": "Змінити групу" - }, - "deleteGroupConfirmation": { - "message": "Ви справді хочете видалити цю групу?" - }, - "removeUserConfirmation": { - "message": "Ви справді хочете вилучити цього користувача?" - }, - "externalId": { - "message": "Зовнішній ID" - }, - "externalIdDesc": { - "message": "Зовнішній ID може використовуватись в якості посилання або для зв'язку цього ресурсу із зовнішньою системою, такою як каталок користувача." - }, - "accessControl": { - "message": "Контроль доступу" - }, - "groupAccessAllItems": { - "message": "Ця грума має доступ і дозвіл редагування записів." - }, - "groupAccessSelectedCollections": { - "message": "Ця група має доступ лише до окремих збірок." - }, - "readOnly": { - "message": "Лише читання" - }, - "newCollection": { - "message": "Нова збірка" - }, - "addCollection": { - "message": "Додати збірку" - }, - "editCollection": { - "message": "Змінити збірку" - }, - "deleteCollectionConfirmation": { - "message": "Ви справді хочете видалити цю збірку?" - }, - "editUser": { - "message": "Редагувати користувача" - }, - "inviteUser": { - "message": "Запросити користувача" - }, - "inviteUserDesc": { - "message": "Запросіть нового користувача до вашої організації, ввівши адресу е-пошти його облікового запису Bitwarden. Якщо він ще не має облікового запису, він отримає запит на його створення." - }, - "inviteMultipleEmailDesc": { - "message": "Ви можете запросити до $COUNT$ користувачів за раз, розділивши адреси е-пошти комою.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "Цей користувач використовує двоетапну перевірку для захисту свого облікового запису." - }, - "userAccessAllItems": { - "message": "Цей користувач має доступ і можливість змінювати всі записи." - }, - "userAccessSelectedCollections": { - "message": "Цей користувач має доступ лише до обраних збірок." - }, - "search": { - "message": "Пошук" - }, - "invited": { - "message": "Запрошено" - }, - "accepted": { - "message": "Схвалено" - }, - "confirmed": { - "message": "Підтверджено" - }, - "owner": { - "message": "Власник" - }, - "ownerDesc": { - "message": "Користувач з найвищими привілеями, який може керувати всіма налаштуваннями організації." - }, - "admin": { - "message": "Адміністратор" - }, - "adminDesc": { - "message": "Адміністратори мають доступ і можливість керування всіма записами, збірками та користувачами вашої організації." - }, - "user": { - "message": "Користувач" - }, - "userDesc": { - "message": "Звичайний користувач з доступом до пов'язаних збірок вашої організації." - }, - "manager": { - "message": "Менеджер" - }, - "managerDesc": { - "message": "Менеджери мають доступ і можуть керувати пов'язаними збірками вашої організації." - }, - "all": { - "message": "Усі" - }, - "refresh": { - "message": "Оновити" - }, - "timestamp": { - "message": "Мітка часу" - }, - "event": { - "message": "Подія" - }, - "unknown": { - "message": "Невідомо" - }, - "loadMore": { - "message": "Завантажити більше" - }, - "mobile": { - "message": "Мобільний", - "description": "Mobile app" - }, - "extension": { - "message": "Розширення", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Комп'ютер", - "description": "Desktop app" - }, - "webVault": { - "message": "Веб сховище" - }, - "loggedIn": { - "message": "Вхід виконано." - }, - "changedPassword": { - "message": "Пароль облікового запису змінено." - }, - "enabledUpdated2fa": { - "message": "Двоетапну перевірку увімкнено/оновлено." - }, - "disabled2fa": { - "message": "Двоетапну перевірку вимкнено." - }, - "recovered2fa": { - "message": "Обліковий запис відновлено після двоетапної перевірки." - }, - "failedLogin": { - "message": "Не вдалося виконати вхід через неправильний пароль." - }, - "failedLogin2fa": { - "message": "Не вдалося виконати вхід через невдалу двоетапну перевірку." - }, - "exportedVault": { - "message": "Експортовано сховище." - }, - "exportedOrganizationVault": { - "message": "Експортовано сховище організації." - }, - "editedOrgSettings": { - "message": "Налаштування організації змінено." - }, - "createdItemId": { - "message": "Створено запис $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Змінений елемент $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Запис $ID$ перенесено до смітника.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Спільний елемент $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Переглянуто запис $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Переглянуто пароль для запису $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Переглянути приховане поле запису $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Переглянуто код безпеки запису $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Скопійовано пароль запису $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Скопійовано приховане поле запису $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Скопійовано код безпеки запису $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Виконано автозаповнення запису $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Створена збірка $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Змінена збірка $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Видалена збірка $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "$ID$ зміненої політики.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Створена група $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Змінена група $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Видалена група $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Вилучений користувач $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Створено вкладення для елемента $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Видалено вкладення для елемента $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Змінена збірка для елемента $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Запрошений користувач $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Підтверджений користувач $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Змінений користувач $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Змінені групи для користувача $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Незв'язаний SSO для користувача $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Пристрій" - }, - "view": { - "message": "Перегляд" - }, - "invalidDateRange": { - "message": "Недійсний проміжок часу." - }, - "errorOccurred": { - "message": "Сталася помилка." - }, - "userAccess": { - "message": "Доступ користувачів" - }, - "userType": { - "message": "Тип користувача" - }, - "groupAccess": { - "message": "Доступ до групи" - }, - "groupAccessUserDesc": { - "message": "Змінюйте приналежність користувача до груп." - }, - "invitedUsers": { - "message": "Запрошений користувач." - }, - "resendInvitation": { - "message": "Повторно надіслати запрошення" - }, - "hasBeenReinvited": { - "message": "$USER$ було повторно запрошено.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Підтвердити" - }, - "confirmUser": { - "message": "Підтвердити користувача" - }, - "hasBeenConfirmed": { - "message": "$USER$ було підтверджено.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Підтвердити користувачів" - }, - "usersNeedConfirmed": { - "message": "У вас є користувачі, які підтвердили ваше запрошення, але все ще мають бути схвалені. Користувачі не матимуть доступу до організації доки ви їх не затвердите." - }, - "startDate": { - "message": "Дата початку" - }, - "endDate": { - "message": "Дата завершення" - }, - "verifyEmail": { - "message": "Підтвердити е-пошту" - }, - "verifyEmailDesc": { - "message": "Підтвердьте е-пошту вашого облікового запису для розблокування доступу до всіх можливостей." - }, - "verifyEmailFirst": { - "message": "Спершу вам необхідно підтвердити е-пошту вашого облікового запису." - }, - "checkInboxForVerification": { - "message": "Знайдіть посилання для підтвердження у своїх поштовій скриньці." - }, - "emailVerified": { - "message": "Вашу е-пошту було підтверджено." - }, - "emailVerifiedFailed": { - "message": "Неможливо підтвердити вашу е-пошту. Спробуйте надіслати нове повідомлення для підтвердження." - }, - "updateBrowser": { - "message": "Оновити браузер" - }, - "updateBrowserDesc": { - "message": "Ви використовуєте непідтримуваний браузер. Веб сховище може працювати неправильно." - }, - "joinOrganization": { - "message": "Приєднатися до організації" - }, - "joinOrganizationDesc": { - "message": "Вас було запрошено приєднатися до зазначеної вгорі організації. Щоб підтвердити запрошення, вам необхідно увійти в обліковий запис Bitwarden, або створити його." - }, - "inviteAccepted": { - "message": "Запрошення прийнято" - }, - "inviteAcceptedDesc": { - "message": "Ви можете отримати доступ до цієї організації одразу після підтвердження адміністратором. Ми надішлемо вам електронне повідомлення, коли це станеться." - }, - "inviteAcceptFailed": { - "message": "Не вдалося прийняти запрошення. Попросіть адміністратора організації надіслати вам нове." - }, - "inviteAcceptFailedShort": { - "message": "Не вдається прийняти запрошення. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Запам'ятати е-пошту" - }, - "recoverAccountTwoStepDesc": { - "message": "Якщо вам не вдається отримати доступ до свого облікового запису з використанням звичайної двоетапної перевірки, ви можете скористатися своїм кодом відновлення, щоб вимкнути всіх провайдерів двоетапної перевірки для вашого облікового запису." - }, - "recoverAccountTwoStep": { - "message": "Відновити вхід з використанням двоетапної перевірки" - }, - "twoStepRecoverDisabled": { - "message": "Вхід з використанням двоетапної перевірки було вимкнено." - }, - "learnMore": { - "message": "Докладніше" - }, - "deleteRecoverDesc": { - "message": "Введіть свою адресу е-пошти внизу, щоб відновити і видалити обліковий запис." - }, - "deleteRecoverEmailSent": { - "message": "Якщо ваш обліковий запис існує, ми надіслали вам електронне повідомлення з подальшими інструкціями." - }, - "deleteRecoverConfirmDesc": { - "message": "Ви відправили запит видалення облікового запису Bitwarden. Натисніть на кнопку внизу для підтвердження." - }, - "myOrganization": { - "message": "Моя організація" - }, - "deleteOrganization": { - "message": "Видалити організацію" - }, - "deleteOrganizationDesc": { - "message": "Продовжуйте внизу, щоб видалити цю організацію і всі пов'язані дані. Індивідуальні облікові записи користувачів залишаться без змін, однак, вони більше не будуть пов'язані з цією організацією. " - }, - "deleteOrganizationWarning": { - "message": "Видалення організації є незворотною дією. Її неможливо скасувати." - }, - "organizationDeleted": { - "message": "Організацію видалено" - }, - "organizationDeletedDesc": { - "message": "Організацію і всі пов'язані дані було видалено." - }, - "organizationUpdated": { - "message": "Організацію оновлено" - }, - "taxInformation": { - "message": "Інформація про податки" - }, - "taxInformationDesc": { - "message": "Клієнтам у США необхідно вказувати поштовий індекс для забезпечення вимог податкового законодавства. Для інших країн надання ІПН (ПДВ/GST) та/або адреси є необов'язковим і ви можете вказувати ці дані для включення в рахунки." - }, - "billingPlan": { - "message": "Тарифний план", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Змінити тарифний план", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Перейдіть на передплату вищого рівня, вказавши інформацію внизу. Переконайтеся, що ваш обліковий запис має актуальні дані про спосіб оплати.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Зв'яжіться зі службою підтримки клієнтів, якщо ви бажаєте змінити свій тарифний план. Будь ласка, переконайтеся, що у вас є активний спосіб оплати доданий до облікового запису.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Рахунок #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "Переглянути рахунок" - }, - "downloadInvoice": { - "message": "Завантажити рахунок" - }, - "verifyBankAccount": { - "message": "Підтвердьте банківський рахунок" - }, - "verifyBankAccountDesc": { - "message": "Ми зробили два мікро-депозити для вашого облікового запису (їх поява може тривати 1-2 робочих дні). Введіть ці суми для підтвердження вашого банківського рахунку." - }, - "verifyBankAccountInitialDesc": { - "message": "Оплата з банківського рахунку доступна лише для клієнтів США. Вам необхідно буде засвідчити свій банківський рахунок. Ми зробимо два мікро-депозити протягом наступних 1-2 днів. Введіть ці суми на сторінці оплати організації для підтвердження банківського рахунку." - }, - "verifyBankAccountFailureWarning": { - "message": "Неможливість засвідчення банківського рахунку призведе до втраченого платежу і ваша передплата залишиться неактивною." - }, - "verifiedBankAccount": { - "message": "Банківський рахунок було засвідчено." - }, - "bankAccount": { - "message": "Банківський рахунок" - }, - "amountX": { - "message": "Сума $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Номер відстеження", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Номер рахунку" - }, - "accountHolderName": { - "message": "Ім'я власника рахунку" - }, - "bankAccountType": { - "message": "Тип рахунку" - }, - "bankAccountTypeCompany": { - "message": "Компанія (Бізнес)" - }, - "bankAccountTypeIndividual": { - "message": "Індивідуальний (Особистий)" - }, - "enterInstallationId": { - "message": "Введіть ID вашої інсталяції" - }, - "addSeats": { - "message": "Додати місця", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Вилучити місця", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Ваша передплата дозволяє всього $COUNT$ користувачів.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Додається місць" - }, - "seatsToRemove": { - "message": "Вилучається місць" - }, - "seatsAddNote": { - "message": "Додавання місць користувачів призведе до змін суми вашого рахунку і одразу ж буде стягнуто плату згідно зазначеного способу. Перша оплата буде пропорційною залишку поточного циклу оплати." - }, - "seatsRemoveNote": { - "message": "Вилучення місць користувачів призведе до змін суми вашого рахунку, що буде пропорційно розділено у вигляді кредитів за наступний цикл оплати." - }, - "adjustedSeats": { - "message": "Змінено $AMOUNT$ місць користувачів.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Ключ оновлено" - }, - "updateKeyTitle": { - "message": "Оновити ключ" - }, - "updateEncryptionKey": { - "message": "Оновити ключ шифрування" - }, - "updateEncryptionKeyShortDesc": { - "message": "Зараз ви використовуєте застарілу схему шифрування." - }, - "updateEncryptionKeyDesc": { - "message": "Ми перейшли на більші ключі шифрування, що гарантує кращу безпеку і доступ до новіших функцій. Оновлення вашого ключа шифрування є швидким і простим процесом. Просто введіть свій головний пароль внизу. Це оновлення невдовзі стане обов'язковою вимогою." - }, - "updateEncryptionKeyWarning": { - "message": "Після оновлення вашого ключа шифрування вам необхідно вийти з системи і потім виконати повторний вхід у всіх програмах Bitwarden, які ви використовуєте. Збій при виході та повторному вході може призвести до пошкодження даних. Ми спробуємо завершити ваші сеанси автоматично, однак, цей процес може відбутися із затримкою." - }, - "updateEncryptionKeyExportWarning": { - "message": "Будь-які зашифровані експортування, які ви зберегли, також стануть недійсними." - }, - "subscription": { - "message": "Передплата" - }, - "loading": { - "message": "Завантаження" - }, - "upgrade": { - "message": "Оновити" - }, - "upgradeOrganization": { - "message": "Оновити організацію" - }, - "upgradeOrganizationDesc": { - "message": "Ця функція недоступна для безплатних організацій. Перемкніться на платний тарифний план для розблокування додаткових можливостей." - }, - "createOrganizationStep1": { - "message": "Створити організацію: Крок 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Перед створенням вашої організації, вам спочатку необхідно створити безплатний особистий обліковий запис." - }, - "refunded": { - "message": "Відшкодовано" - }, - "nothingSelected": { - "message": "Ви нічого не обрали." - }, - "acceptPolicies": { - "message": "Позначивши цей прапорець, ви погоджуєтеся з:" - }, - "acceptPoliciesError": { - "message": "Умови користування та політика приватності не погоджені." - }, - "termsOfService": { - "message": "Умови користування" - }, - "privacyPolicy": { - "message": "Політику приватності" - }, - "filters": { - "message": "Фільтри" - }, - "vaultTimeout": { - "message": "Час очікування сховища" - }, - "vaultTimeoutDesc": { - "message": "Оберіть дію, яка виконається після завершення часу очікування вашого сховища." - }, - "oneMinute": { - "message": "1 хвилина" - }, - "fiveMinutes": { - "message": "5 хвилин" - }, - "fifteenMinutes": { - "message": "15 хвилин" - }, - "thirtyMinutes": { - "message": "30 хвилин" - }, - "oneHour": { - "message": "1 година" - }, - "fourHours": { - "message": "4 години" - }, - "onRefresh": { - "message": "Перезавантаження сторінки" - }, - "dateUpdated": { - "message": "Оновлено", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Пароль оновлено", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "Організацію вимкнено." - }, - "licenseIsExpired": { - "message": "Термін дії ліцензії завершився." - }, - "updatedUsers": { - "message": "Оновлені користувачі" - }, - "selected": { - "message": "Вибрано" - }, - "ownership": { - "message": "Власник" - }, - "whoOwnsThisItem": { - "message": "Хто є власником цього елемента?" - }, - "strong": { - "message": "Надійний", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Хороший", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Слабкий", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Дуже слабкий", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Слабкий головний пароль" - }, - "weakMasterPasswordDesc": { - "message": "Обраний вами головний пароль є слабким. Для належного захисту свого облікового запису Bitwarden, вам слід використовувати надійний головний пароль (або парольну фразу). Ви впевнені, що хочете використати цей пароль?" - }, - "rotateAccountEncKey": { - "message": "Також повернути ключ шифрування мого облікового запису" - }, - "rotateEncKeyTitle": { - "message": "Повернути ключ шифрування" - }, - "rotateEncKeyConfirmation": { - "message": "Ви справді хочете повернути ключ шифрування облікового запису?" - }, - "attachmentsNeedFix": { - "message": "Цей елемент має старі вкладені файли, які необхідно виправити." - }, - "attachmentFixDesc": { - "message": "Цей старий вкладений файл необхідно виправити. Натисніть, щоб дізнатися більше." - }, - "fix": { - "message": "Виправити", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "У вашому сховищі є старі вкладені файли, які необхідно виправити перед тим, як повертати ключ шифрування облікового запису." - }, - "yourAccountsFingerprint": { - "message": "Фраза відбитку вашого облікового запису", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "Для забезпечення цілісності ваших ключів шифрування, будь ласка, засвідчіть фразу відбитку пальця користувача.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Не питати знову про засвідчення фрази відбитку", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Безплатно", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "Ключ API" - }, - "apiKeyDesc": { - "message": "Ваш ключ API може бути використаний для авторизації публічного API Bitwarden." - }, - "apiKeyRotateDesc": { - "message": "Поворот ключа API спричинить анулювання попереднього ключа. Ви можете повернути свій ключ API, якщо вважаєте, що поточний ключ більше не є безпечним для використання." - }, - "apiKeyWarning": { - "message": "Ваш ключ API має повний доступ до організації. Він повинен зберігатися в секреті." - }, - "userApiKeyDesc": { - "message": "Ваш ключ API може бути використаний для авторизації в Bitwarden CLI." - }, - "userApiKeyWarning": { - "message": "Ваш ключ API є альтернативним засобом перевірки. Його слід зберігати в таємниці." - }, - "oauth2ClientCredentials": { - "message": "Облікові дані клієнта OAuth 2.0", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "Переглянути ключ API" - }, - "rotateApiKey": { - "message": "Повернути ключ API" - }, - "selectOneCollection": { - "message": "Ви повинні обрати принаймні одну збірку." - }, - "couldNotChargeCardPayInvoice": { - "message": "Нам не вдалося виконати оплату з вашої картки. Будь ласка, перегляньте і проведіть оплату за рахунком, вказаним внизу." - }, - "inAppPurchase": { - "message": "Покупка в додатку" - }, - "cannotPerformInAppPurchase": { - "message": "Ви не можете виконати цю дію під час використання способу оплати покупки в додатку." - }, - "manageSubscriptionFromStore": { - "message": "Ви повинні керувати своєю передплатою з магазину, в якому виконали покупку в додатку." - }, - "minLength": { - "message": "Мінімальна довжина" - }, - "clone": { - "message": "Клонувати" - }, - "masterPassPolicyDesc": { - "message": "Встановіть мінімальні вимоги надійності головного пароля." - }, - "twoStepLoginPolicyDesc": { - "message": "Зобов'язувати користувачів встановлювати двоетапну перевірку в їхніх особистих облікових записах." - }, - "twoStepLoginPolicyWarning": { - "message": "Учасники організації, які не є власниками, чи адміністратори, в яких не увімкнено двоетапну перевірку для їхніх особистих облікових записів, будуть вилучені з організації та проінформовані поштовим повідомленням." - }, - "twoStepLoginPolicyUserWarning": { - "message": "Ви включені до організації, яка зобов'язує використання двоетапної перевірки у вашому обліковому записі. Якщо ви вимкнете всі способи двоетапної перевірки, вас буде автоматично вилучено з цієї організації." - }, - "passwordGeneratorPolicyDesc": { - "message": "Встановіть мінімальні вимоги для параметрів генерування пароля." - }, - "passwordGeneratorPolicyInEffect": { - "message": "Політика однієї або декількох організацій впливає на ваші параметри генерування." - }, - "masterPasswordPolicyInEffect": { - "message": "Політика однієї або декількох організацій зобов'язує дотримання таких вимог для головного пароля:" - }, - "policyInEffectMinComplexity": { - "message": "Мінімальна оцінка складності $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Мінімальна довжина $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Наявність одного чи більше символів верхнього регістру" - }, - "policyInEffectLowercase": { - "message": "Наявність одного чи більше символів нижнього регістру" - }, - "policyInEffectNumbers": { - "message": "Наявність однієї чи більше цифр" - }, - "policyInEffectSpecial": { - "message": "Наявність одного чи більше таких спеціальних символів $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Ваш новий головний пароль не відповідає вимогам політики." - }, - "minimumNumberOfWords": { - "message": "Мінімальна кількість слів" - }, - "defaultType": { - "message": "Стандартний тип" - }, - "userPreference": { - "message": "Користувацьке налаштування" - }, - "vaultTimeoutAction": { - "message": "Дія після часу очікування сховища" - }, - "vaultTimeoutActionLockDesc": { - "message": "Щоб відновити доступ до заблокованого сховища, необхідно повторно ввести головний пароль." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "Щоб відновити доступ до сховища після виходу, необхідно повторно авторизуватись." - }, - "lock": { - "message": "Блокувати", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Смітник", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Пошук у смітнику" - }, - "permanentlyDelete": { - "message": "Остаточно видалити" - }, - "permanentlyDeleteSelected": { - "message": "Остаточно видалити вибрані" - }, - "permanentlyDeleteItem": { - "message": "Остаточно видалити запис" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Ви дійсно хочете остаточно видалити цей запис?" - }, - "permanentlyDeletedItem": { - "message": "Запис остаточно видалено" - }, - "permanentlyDeletedItems": { - "message": "Записи остаточно видалено" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "Ви вибрали $COUNT$ записів для остаточного видалення. Ви справді хочете остаточно видалити всі ці записи?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Запис $ID$ остаточно видалено.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Відновити" - }, - "restoreSelected": { - "message": "Відновити вибрані" - }, - "restoreItem": { - "message": "Відновити запис" - }, - "restoredItem": { - "message": "Запис відновлено" - }, - "restoredItems": { - "message": "Записи відновлено" - }, - "restoreItemConfirmation": { - "message": "Ви дійсно хочете відновити цей запис?" - }, - "restoreItems": { - "message": "Відновити записи" - }, - "restoreSelectedItemsDesc": { - "message": "Ви вибрали $COUNT$ записів для відновлення. Ви справді хочете відновити всі ці записи?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Запис $ID$ відновлено.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Вихід скасує всі права доступу до вашого сховища і вимагатиме авторизації після завершення часу очікування. Ви дійсно хочете використати цей параметр?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Підтвердження дії часу очікування" - }, - "hidePasswords": { - "message": "Приховати паролі" - }, - "countryPostalCodeRequiredDesc": { - "message": "Нам необхідна ця інформація лише для розрахунку податку на продажі та фінансових звітів." - }, - "includeVAT": { - "message": "Включити інформацію про ПДВ/GST (необов'язково)" - }, - "taxIdNumber": { - "message": "ІПН/GST" - }, - "taxInfoUpdated": { - "message": "Податкову інформацію оновлено." - }, - "setMasterPassword": { - "message": "Встановити головний пароль" - }, - "ssoCompleteRegistration": { - "message": "Щоб завершити налаштування входу з SSO, встановіть головний пароль для доступу і захисту сховища." - }, - "identifier": { - "message": "Ідентифікатор" - }, - "organizationIdentifier": { - "message": "Ідентифікатор організації" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Виконуйте вхід з використанням порталу єдиного входу вашої організації. Для початку введіть ідентифікатор вашої організації." - }, - "enterpriseSingleSignOn": { - "message": "Єдиний корпоративний вхід (SSO)" - }, - "ssoHandOff": { - "message": "Тепер ви можете закрити цю вкладку і продовжити в розширенні." - }, - "businessPortal": { - "message": "Бізнес-портал", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "Усі функції команд, плюс:" - }, - "includeSsoAuthentication": { - "message": "SSO автентифікація через SAML2.0 та OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Політики організації" - }, - "ssoValidationFailed": { - "message": "Збій перевірки SSO" - }, - "ssoIdentifierRequired": { - "message": "Потрібен ідентифікатор організації." - }, - "unlinkSso": { - "message": "Від'єднати SSO" - }, - "linkSso": { - "message": "Під'єднати SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "Конфігурацію політик було переміщено і ця сторінка невдовзі стане застарілою. Натисніть нижче для використання нової сторінки політик бізнес-порталу." - }, - "singleOrg": { - "message": "Єдина організація" - }, - "singleOrgDesc": { - "message": "Заборонити користувачам приєднуватися до будь-яких інших організацій." - }, - "singleOrgBlockCreateMessage": { - "message": "Ваша організація має політику, що не дозволяє вам приєднуватися до більш, ніж однієї організації. Будь ласка, зв'яжіться з адміністратором вашої організації, або увійдіть з іншим обліковим записом Bitwarden." - }, - "singleOrgPolicyWarning": { - "message": "Учасники організації, які не є власниками чи адміністраторами, але вже є учасниками іншої організації, будуть вилучені з вашої організації." - }, - "requireSso": { - "message": "Авторизація через єдиний вхід (SSO)" - }, - "requireSsoPolicyDesc": { - "message": "Вимагати від користувачів входити в систему через єдиний вхід (SSO) компанії." - }, - "prerequisite": { - "message": "Передумови" - }, - "requireSsoPolicyReq": { - "message": "Для активації цієї політики необхідно увімкнути політику єдиної організації компанії." - }, - "requireSsoPolicyReqError": { - "message": "Політику єдиної організації компанії не увімкнено." - }, - "requireSsoExemption": { - "message": "Власники організації та адміністратори звільняються від дотримання цієї політики." - }, - "sendTypeFile": { - "message": "Файл" - }, - "sendTypeText": { - "message": "Текст" - }, - "createSend": { - "message": "Створити нове відправлення", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Змінити відправлення", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Відправлення створено", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Відправлення змінено", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Відправлення видалено", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Видалити відправлення", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Ви дійсно хочете видалити це відправлення?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "Який це тип відправлення?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Дата видалення" - }, - "deletionDateDesc": { - "message": "Відправлення буде остаточно видалено у вказаний час.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Термін дії" - }, - "expirationDateDesc": { - "message": "Якщо встановлено, термін дії цього відправлення завершиться у вказаний час.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Максимальна кількість доступів" - }, - "maxAccessCountDesc": { - "message": "Якщо встановлено, користувачі більше не зможуть отримати доступ до цього відправлення після досягнення максимальної кількості доступів.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Поточна кількість доступів" - }, - "sendPasswordDesc": { - "message": "За бажанням вимагати пароль в користувачів для доступу до цього відправлення.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Особисті нотатки про це відправлення.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Вимкнено" - }, - "sendLink": { - "message": "Надіслати посилання", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Копіювати посилання відправлення", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Вилучити пароль" - }, - "removedPassword": { - "message": "Пароль вилучено" - }, - "removePasswordConfirmation": { - "message": "Ви дійсно хочете вилучити пароль?" - }, - "disableThisSend": { - "message": "Деактивувати це відправлення для скасування доступу до нього.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "Усі відправлення" - }, - "maxAccessCountReached": { - "message": "Досягнуто максимальну кількість доступів" - }, - "pendingDeletion": { - "message": "Очікується видалення" - }, - "expired": { - "message": "Термін дії завершився" - }, - "searchSends": { - "message": "Пошук відправлень", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "Це відправлення захищено паролем. Введіть пароль внизу для продовження.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Не знаєте пароль? Попросіть його у відправника для отримання доступу.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "Це відправлення типово приховане. Ви можете змінити його видимість кнопкою нижче.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Завантажити файл" - }, - "sendAccessUnavailable": { - "message": "Відправлення, до якого ви намагаєтесь отримати доступ, не існує, або більше недоступне.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "У списку немає відправлень.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Екстрений доступ" - }, - "emergencyAccessDesc": { - "message": "Надавайте екстрений доступ довіреним контактам і керуйте ним. Довірені контакти можуть отримати доступ для перегляду чи привласнення вашого облікового запису в екстрених ситуаціях. Відвідайте нашу сторінку допомоги для детального ознайомлення про те, як працює спільний доступ нульового рівня." - }, - "trustedEmergencyContacts": { - "message": "Довірені екстрені контакти" - }, - "noTrustedContacts": { - "message": "Ви ще не додали жодного екстреного контакту. Запросіть довірений контакт, щоб почати." - }, - "addEmergencyContact": { - "message": "Додати екстрений контакт" - }, - "designatedEmergencyContacts": { - "message": "Визначено як екстрений контакт" - }, - "noGrantedAccess": { - "message": "Ви ще не були призначені екстреним контактом для когось." - }, - "inviteEmergencyContact": { - "message": "Запросити екстрений контакт" - }, - "editEmergencyContact": { - "message": "Редагувати екстрений контакт" - }, - "inviteEmergencyContactDesc": { - "message": "Запросіть новий екстрений контакт, ввівши нижче адресу е-пошти його облікового запису Bitwarden. Якщо користувач ще не має облікового запису Bitwarden, йому буде запропоновано зареєструватися." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Ініційовано екстрений доступ" - }, - "emergencyAccessRecoveryApproved": { - "message": "Екстрений доступ схвалено" - }, - "viewDesc": { - "message": "Може переглядати усі записи у вашому сховищі." - }, - "takeover": { - "message": "Передача власності" - }, - "takeoverDesc": { - "message": "Може скидати пароль вашого облікового запису." - }, - "waitTime": { - "message": "Час очікування" - }, - "waitTimeDesc": { - "message": "Час, після якого автоматично надається доступ." - }, - "oneDay": { - "message": "1 день" - }, - "days": { - "message": "$DAYS$ днів", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Запрошений користувач." - }, - "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." - }, - "requestAccess": { - "message": "Request Access" - }, - "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Approve" - }, - "reject": { - "message": "Reject" - }, - "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Emergency access approved." - }, - "emergencyRejected": { - "message": "Emergency access rejected" - }, - "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Personal Ownership" - }, - "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." - }, - "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." - }, - "modifiedPolicyId": { - "message": "Modified policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Plan price" - }, - "estimatedTax": { - "message": "Estimated tax" - }, - "custom": { - "message": "Custom" - }, - "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." - }, - "permissions": { - "message": "Permissions" - }, - "accessBusinessPortal": { - "message": "Access Business Portal" - }, - "accessEventLogs": { - "message": "Access Event Logs" - }, - "accessImportExport": { - "message": "Access Import/Export" - }, - "accessReports": { - "message": "Access Reports" - }, - "manageAllCollections": { - "message": "Manage All Collections" - }, - "manageAssignedCollections": { - "message": "Manage Assigned Collections" - }, - "manageGroups": { - "message": "Manage Groups" - }, - "managePolicies": { - "message": "Manage Policies" - }, - "manageSso": { - "message": "Manage SSO" - }, - "manageUsers": { - "message": "Manage Users" - }, - "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." - }, - "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." - }, - "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" - }, - "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/vi/messages.json b/locales/vi/messages.json deleted file mode 100644 index be74d16c..00000000 --- a/locales/vi/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$ web Vault", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "Mục này là gì?" - }, - "name": { - "message": "Tên" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URL $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "URI mới" - }, - "username": { - "message": "Tên người dùng" - }, - "password": { - "message": "Mật khẩu" - }, - "newPassword": { - "message": "Mật khẩu mới" - }, - "passphrase": { - "message": "Cụm từ mật khẩu" - }, - "notes": { - "message": "Ghi chú" - }, - "customFields": { - "message": "Trường tùy chỉnh" - }, - "cardholderName": { - "message": "Tên chủ thẻ" - }, - "number": { - "message": "Số" - }, - "brand": { - "message": "Nhãn hiệu" - }, - "expiration": { - "message": "Thời hạn" - }, - "securityCode": { - "message": "Mã bảo mật (CVV)" - }, - "identityName": { - "message": "Tên định danh" - }, - "company": { - "message": "Công ty" - }, - "ssn": { - "message": "Số an sinh xã hội" - }, - "passportNumber": { - "message": "Số hộ chiếu" - }, - "licenseNumber": { - "message": "Số giấy phép" - }, - "email": { - "message": "Email" - }, - "phone": { - "message": "Điện thoại" - }, - "january": { - "message": "Tháng 1" - }, - "february": { - "message": "Tháng 2" - }, - "march": { - "message": "Tháng 3" - }, - "april": { - "message": "Tháng 4" - }, - "may": { - "message": "Tháng 5" - }, - "june": { - "message": "Tháng 6" - }, - "july": { - "message": "Tháng 7" - }, - "august": { - "message": "Tháng 8" - }, - "september": { - "message": "Tháng 9" - }, - "october": { - "message": "Tháng 10" - }, - "november": { - "message": "Tháng 11" - }, - "december": { - "message": "Tháng 12" - }, - "title": { - "message": "Tiêu đề" - }, - "mr": { - "message": "Ông" - }, - "mrs": { - "message": "Bà" - }, - "ms": { - "message": "Cô" - }, - "dr": { - "message": "Dr" - }, - "expirationMonth": { - "message": "Tháng hết hạn" - }, - "expirationYear": { - "message": "Năm hết hạn" - }, - "authenticatorKeyTotp": { - "message": "Khóa xác thực (TOTP)" - }, - "folder": { - "message": "Thư mục" - }, - "newCustomField": { - "message": "Trường tùy chỉnh mới" - }, - "value": { - "message": "Giá trị" - }, - "dragToSort": { - "message": "Kéo để sắp xếp" - }, - "cfTypeText": { - "message": "Văn bản" - }, - "cfTypeHidden": { - "message": "Ẩn" - }, - "cfTypeBoolean": { - "message": "Boolean" - }, - "remove": { - "message": "Xoá" - }, - "unassigned": { - "message": "Hủy ấn định" - }, - "noneFolder": { - "message": "Không có thư mục", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "Thêm thư mục" - }, - "editFolder": { - "message": "Chỉnh sửa thư mục" - }, - "baseDomain": { - "message": "Tên miền cơ sở" - }, - "host": { - "message": "Máy chủ", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "Chính xác" - }, - "startsWith": { - "message": "Bắt đầu với" - }, - "regEx": { - "message": "Biểu thức chính quy", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "Độ phù hợp", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "Độ phù hợp mặc định", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "Không bao giờ" - }, - "toggleVisibility": { - "message": "Bật tắt khả năng hiển thị" - }, - "toggleCollapse": { - "message": "Ẩn bớt", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "Tạo mật khẩu" - }, - "checkPassword": { - "message": "Kiểm tra xem mật khẩu có bị lộ không." - }, - "passwordExposed": { - "message": "Mật khẩu này đã bị lộ $VALUE$ lần() trong các dữ liệu vi phạm. Bạn nên thay đổi nó.", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "Mật khẩu này không được tìm thấy trong bất kỳ dữ liệu vi phạm nào được biết đến. Nó an toàn để sử dụng." - }, - "save": { - "message": "Lưu" - }, - "cancel": { - "message": "Hủy bỏ" - }, - "canceled": { - "message": "Đã hủy" - }, - "close": { - "message": "Đóng" - }, - "delete": { - "message": "Xóa" - }, - "favorite": { - "message": "Yêu thích" - }, - "unfavorite": { - "message": "Bỏ yêu thích" - }, - "edit": { - "message": "Sửa" - }, - "searchCollection": { - "message": "Tìm kiếm bộ sưu tập" - }, - "searchFolder": { - "message": "Tìm kiếm thư mục" - }, - "searchFavorites": { - "message": "Tìm trong danh sách Yêu thích" - }, - "searchType": { - "message": "Tìm thể loại", - "description": "Search item type" - }, - "searchVault": { - "message": "Tìm kiếm trong Kho" - }, - "allItems": { - "message": "Tất cả các mục" - }, - "favorites": { - "message": "Yêu thích" - }, - "types": { - "message": "Các loại" - }, - "typeLogin": { - "message": "Đăng nhập" - }, - "typeCard": { - "message": "Thẻ" - }, - "typeIdentity": { - "message": "Định danh" - }, - "typeSecureNote": { - "message": "Ghi chú bảo mật" - }, - "folders": { - "message": "Thư mục" - }, - "collections": { - "message": "Các bộ sưu tập" - }, - "firstName": { - "message": "Tên" - }, - "middleName": { - "message": "Tên đệm" - }, - "lastName": { - "message": "Họ" - }, - "address1": { - "message": "Địa chỉ 1" - }, - "address2": { - "message": "Địa chỉ 2" - }, - "address3": { - "message": "Địa chỉ 3" - }, - "cityTown": { - "message": "Quận/Huyện/Thị trấn" - }, - "stateProvince": { - "message": "Tỉnh/Thành Phố" - }, - "zipPostalCode": { - "message": "Mã bưu chính" - }, - "country": { - "message": "Quốc gia" - }, - "shared": { - "message": "Đã chia sẻ" - }, - "attachments": { - "message": "Đính kèm" - }, - "select": { - "message": "Chọn" - }, - "addItem": { - "message": "Thêm mục" - }, - "editItem": { - "message": "Chỉnh sửa mục" - }, - "viewItem": { - "message": "View Item" - }, - "ex": { - "message": "vd.", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "Khác" - }, - "share": { - "message": "Chia sẻ" - }, - "valueCopied": { - "message": "Đã sao chép $VALUE$", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "Sao chép giá trị", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "Sao chép mật khẩu", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "Sao chép tên đăng nhập", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "Sao chép số", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "Sao chép mã bảo mật", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "Sao chép URI", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "Kho của tôi" - }, - "vault": { - "message": "Kho" - }, - "shareSelected": { - "message": "Chia sẻ mục đã chọn" - }, - "deleteSelected": { - "message": "Xóa mục đã chọn" - }, - "moveSelected": { - "message": "Di chuyển mục đã chọn" - }, - "selectAll": { - "message": "Chọn tất cả" - }, - "unselectAll": { - "message": "Bỏ chọn tất cả" - }, - "launch": { - "message": "Khởi chạy" - }, - "newAttachment": { - "message": "Thêm tệp đính kèm mới" - }, - "deletedAttachment": { - "message": "Đã xoá tệp đính kèm" - }, - "deleteAttachmentConfirmation": { - "message": "Bạn có chắc chắn muốn xóa tập tin đính kèm này?" - }, - "attachmentSaved": { - "message": "Tệp đính kèm đã được lưu." - }, - "file": { - "message": "Tập tin" - }, - "selectFile": { - "message": "Chọn một tập tin." - }, - "maxFileSize": { - "message": "Kích thước tối đa của tệp tin là 100 MB." - }, - "updateKey": { - "message": "Bạn không thể sử dụng tính năng này cho đến khi bạn cập nhật khoá mã hóa." - }, - "addedItem": { - "message": "Đã thêm mục" - }, - "editedItem": { - "message": "Mục được chỉnh sửa" - }, - "sharedItem": { - "message": "Mục đã chia sẻ" - }, - "sharedItems": { - "message": "Các mục đã chia sẻ" - }, - "deleteItem": { - "message": "Xóa mục" - }, - "deleteFolder": { - "message": "Xóa thư mục" - }, - "deleteAttachment": { - "message": "Xóa tệp đính kèm" - }, - "deleteItemConfirmation": { - "message": "Bạn có chắc bạn muốn xóa mục này?" - }, - "deletedItem": { - "message": "Đã xóa mục" - }, - "deletedItems": { - "message": "Đã xóa mục" - }, - "movedItems": { - "message": "Đã di chuyển mục" - }, - "overwritePasswordConfirmation": { - "message": "Bạn có chắc chắn muốn ghi đè mật khẩu hiện tại không?" - }, - "editedFolder": { - "message": "Đã chỉnh sửa thư mục" - }, - "addedFolder": { - "message": "Đã thêm thư mục" - }, - "deleteFolderConfirmation": { - "message": "Bạn có chắc chắn muốn xóa thư mục này không?" - }, - "deletedFolder": { - "message": "Đã xóa thư mục" - }, - "loggedOut": { - "message": "Đã đăng xuất" - }, - "loginExpired": { - "message": "Phiên đăng nhập của bạn đã hết hạn." - }, - "logOutConfirmation": { - "message": "Bạn có chắc chắn muốn đăng xuất không?" - }, - "logOut": { - "message": "Đăng xuất" - }, - "ok": { - "message": "Ok" - }, - "yes": { - "message": "Có" - }, - "no": { - "message": "Không" - }, - "loginOrCreateNewAccount": { - "message": "Đăng nhập hoặc tạo tài khoản mới để truy cập kho mật khẩu của bạn." - }, - "createAccount": { - "message": "Tạo tài khoản" - }, - "logIn": { - "message": "Đăng nhập" - }, - "submit": { - "message": "Gửi" - }, - "emailAddressDesc": { - "message": "Bạn sẽ cần email của bạn để đăng nhập." - }, - "yourName": { - "message": "Tên của bạn" - }, - "yourNameDesc": { - "message": "Chúng tôi nên gọi bạn là gì nào?" - }, - "masterPass": { - "message": "Mật khẩu chính" - }, - "masterPassDesc": { - "message": "Mật khẩu chính là mật khẩu cho kho mật khẩu của bạn. Mật khẩu này rất quan trọng và bạn không nên quên nó của mình. Bạn sẽ không thể khôi phục lại mật khẩu chính của bạn nếu bạn quên nó." - }, - "masterPassHintDesc": { - "message": "Gợi ý mật khẩu có thể giúp bạn nhớ lại mật khẩu chính của mình nếu bạn quên nó." - }, - "reTypeMasterPass": { - "message": "Vui lòng nhập lại mật khẩu chính" - }, - "masterPassHint": { - "message": "Gợi ý mật khẩu chính (không bắt buộc)" - }, - "masterPassHintLabel": { - "message": "Gợi ý mật khẩu chính" - }, - "settings": { - "message": "Cài đặt" - }, - "passwordHint": { - "message": "Gợi ý mật khẩu" - }, - "enterEmailToGetHint": { - "message": "Vui lòng nhập địa chỉ email của tài khoản bạn để nhận gợi ý mật khẩu." - }, - "getMasterPasswordHint": { - "message": "Nhận gợi ý mật khẩu chính" - }, - "emailRequired": { - "message": "Cần phải có địa chỉ email." - }, - "invalidEmail": { - "message": "Địa chỉ email không hợp lệ." - }, - "masterPassRequired": { - "message": "Cần phải có mật khẩu chính." - }, - "masterPassLength": { - "message": "Mật khẩu chính phải có ít nhất 8 kí tự." - }, - "masterPassDoesntMatch": { - "message": "Xác minh mật khẩu chính không đúng." - }, - "newAccountCreated": { - "message": "Tài khoản của bạn đã được tạo! Bạn có thể đăng nhập ngay bây giờ." - }, - "masterPassSent": { - "message": "Chúng tôi đã gửi cho bạn email với gợi ý mật khẩu chính của bạn." - }, - "unexpectedError": { - "message": "Một lỗi bất ngờ đã xảy ra." - }, - "emailAddress": { - "message": "Địa chỉ email" - }, - "yourVaultIsLocked": { - "message": "Kho của bạn đã bị khóa. Xác minh mật khẩu chính của bạn để tiếp tục." - }, - "unlock": { - "message": "Mở khóa" - }, - "loggedInAsEmailOn": { - "message": "Đã đăng nhập là $EMAIL$ trên $HOSTNAME$.", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "Mật khẩu chính không hợp lệ" - }, - "lockNow": { - "message": "Khóa ngay" - }, - "noItemsInList": { - "message": "Không có mục nào để liệt kê." - }, - "noCollectionsInList": { - "message": "Không có bộ sưu tập nào để liệt kê." - }, - "noGroupsInList": { - "message": "Không có nhóm nào để liệt kê." - }, - "noUsersInList": { - "message": "Không có người nào để liệt kê." - }, - "noEventsInList": { - "message": "Không có sự kiện nào để liệt kê." - }, - "newOrganization": { - "message": "Tổ chức mới" - }, - "noOrganizationsList": { - "message": "Bạn không thuộc tổ chức nào. Tổ chức sẽ cho phép bạn chia sẻ với người dùng khác một cách bảo mật." - }, - "versionNumber": { - "message": "Phiên bản $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "Vui lòng nhập mã xác thực 6 chữ số từ ứng dụng xác thực của bạn." - }, - "enterVerificationCodeEmail": { - "message": "Vui lòng nhập mã xác thực 6 chữ số được gửi tới $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "Email xác thực đã được gửi tới $EMAIL$.", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "Ghi nhớ đăng nhập" - }, - "sendVerificationCodeEmailAgain": { - "message": "Gửi lại email xác thực" - }, - "useAnotherTwoStepMethod": { - "message": "Sử dụng phương pháp xác thực hai lớp khác" - }, - "insertYubiKey": { - "message": "Vui lòng cắm Yubikey vào cổng USB của máy tính bạn và bấm nút trên Yubikey." - }, - "insertU2f": { - "message": "Vui lòng cắm chìa khóa bảo mật vào cổng USB của máy tính bạn và bấm nút trên chìa khóa nếu có." - }, - "loginUnavailable": { - "message": "Đăng nhập không hoạt động" - }, - "noTwoStepProviders": { - "message": "Tài khoản này có xác thực hai lớp, tuy nhiên, trình duyệt của bạn không hỗ trợ dịch vụ xác thực hai lớp đang sử dụng." - }, - "noTwoStepProviders2": { - "message": "Vui lòng sử dụng trình duyệt được hỗ trợ (chẳng hạn như Chrome) và/hoặc thêm dịch vụ khác với hỗ trợ tốt hơn trên các trình duyệt (chẳng hạn như một ứng dụng xác thực)." - }, - "twoStepOptions": { - "message": "Tùy chọn xác thực hai lớp" - }, - "recoveryCodeDesc": { - "message": "Bạn bị mất quyền truy cập vào tất cả các dịch vụ xác thực hai lớp? Sử dụng mã phục hồi của bạn để tắt tất cả các dịch vụ xác thực hai lớp của tài khoản bạn." - }, - "recoveryCodeTitle": { - "message": "Mã phục hồi" - }, - "authenticatorAppTitle": { - "message": "Ứng dụng xác thực" - }, - "authenticatorAppDesc": { - "message": "Sử dụng một ứng dụng xác thực (chẳng hạn như Authy hoặc Google Authenticator) để tạo các mã xác nhận theo thời gian.", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "Mật khẩu OTP YubiKey" - }, - "yubiKeyDesc": { - "message": "Sử dụng YubiKey để truy cập tài khoản của bạn. Hoạt động với YubiKey 4, 4 Nano, 4C và NEO." - }, - "duoDesc": { - "message": "Xác minh với Duo Security dùng ứng dụng Duo Mobile, SMS, điện thoại, hoặc mật khẩu U2F.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "Xác minh với Duo Security cho tổ chức của bạn dùng ứng dụng Duo Mobile, SMS, điện thoại, hoặc mật khẩu U2F.", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "Sử dụng bất kỳ mật khẩu FIDO U2F nào để truy cập tài khoản của bạn." - }, - "u2fTitle": { - "message": "Mật khẩu FIDO U2F" - }, - "emailTitle": { - "message": "Email" - }, - "emailDesc": { - "message": "Mã xác thực sẽ được gửi qua email cho bạn." - }, - "continue": { - "message": "Tiếp tục" - }, - "organization": { - "message": "Tổ chức" - }, - "organizations": { - "message": "Tổ chức" - }, - "shareDesc": { - "message": "Chọn một tổ chức mà bạn muốn chia sẻ mục này. Việc chia sẻ sẽ chuyển quyền sở hữu của mục sang tổ chức mà bạn chọn. Bạn sẽ không còn là chủ sở hữu trực tiếp của mục này một khi nó đã được chia sẻ." - }, - "shareManyDesc": { - "message": "Chọn một tổ chức mà bạn muốn chia sẻ những mục này. Việc chia sẻ sẽ chuyển quyền sở hữu của các mục sang tổ chức mà bạn chọn. Bạn sẽ không còn là chủ sở hữu trực tiếp của những mục này một khi nó đã được chia sẻ." - }, - "collectionsDesc": { - "message": "Chỉnh sửa những bộ sưu tập mà bạn sẽ chia sẻ mục này với. Chỉ những thành viên của tổ chức với quyền cho những bộ sưu tập đó mới có thể xem được mục này." - }, - "deleteSelectedItemsDesc": { - "message": "Bạn đã chọn $COUNT$ mục để xóa. Bạn có chắc bạn muốn xóa hết những mục này?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "Vui lòng chọn thư mục mà bạn muốn di chuyển $COUNT$ mục này tới.", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "Bạn đã chọn $COUNT$ mục. $SHAREABLE_COUNT$ mục có thể chia sẻ, $NONSHAREABLE_COUNT$ mục không thể chia sẻ.", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "Mã xác thực (TOTP)" - }, - "copyVerificationCode": { - "message": "Sao chép mã xác thực" - }, - "warning": { - "message": "Cảnh báo" - }, - "confirmVaultExport": { - "message": "Confirm Vault Export" - }, - "exportWarningDesc": { - "message": "Bản trích xuất này chứa dữ liệu kho bạn và không được mã hóa. Bạn không nên lưu trữ hay gửi tập tin trích xuất thông qua phương thức không an toàn (như email). Vui lòng xóa nó ngay lập tức khi bạn đã sử dụng xong." - }, - "encExportWarningDesc": { - "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." - }, - "exportMasterPassword": { - "message": "Vui lòng nhập mật khẩu chính để trích xuất kho của bạn." - }, - "exportVault": { - "message": "Trích xuất kho" - }, - "fileFormat": { - "message": "Định dạng tập tin" - }, - "exportSuccess": { - "message": "Dữ liệu kho cảu bạn đã được trích xuất." - }, - "passwordGenerator": { - "message": "Tạo mật khẩu" - }, - "minComplexityScore": { - "message": "Điểm phức tạp tối thiểu" - }, - "minNumbers": { - "message": "Số chữ số tối thiểu" - }, - "minSpecial": { - "message": "Số kí tự đặc biệt tối thiểu", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "Tránh các ký tự không rõ ràng" - }, - "regeneratePassword": { - "message": "Tạo lại mật khẩu" - }, - "length": { - "message": "Độ dài" - }, - "numWords": { - "message": "Số lượng chữ" - }, - "wordSeparator": { - "message": "Dấu tách từ" - }, - "capitalize": { - "message": "Viết hoa", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "Bao gồm cả số" - }, - "passwordHistory": { - "message": "Lịch sử mật khẩu" - }, - "noPasswordsInList": { - "message": "Không có mật khẩu để liệt kê." - }, - "clear": { - "message": "Xoá", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "Tài khoản đã được cập nhật" - }, - "changeEmail": { - "message": "Thay đổi địa chỉ email" - }, - "newEmail": { - "message": "Địa chỉ email mới" - }, - "code": { - "message": "Mã" - }, - "changeEmailDesc": { - "message": "Chúng tôi đã gửi mã xác thực tới $EMAIL$. Vui lòng kiểm tra thùng thư của bạn để nhận và nhập mã vào bên dưới để hoàn thành quá trình thay đổi địa chỉ email.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "Tiếp tục sẽ đăng xuất bạn ra khỏi phiên hiện tại, cần bạn phải đăng nhập lại. Những phiên trên các thiết bị khác sẽ tiếp tục có hiệu lực lên đến 1 tiếng." - }, - "emailChanged": { - "message": "Đã thay đổi email" - }, - "logBackIn": { - "message": "Hãy đăng nhập lại." - }, - "logBackInOthersToo": { - "message": "Vui lòng đăng nhập lại. Nếu bạn đang dùng những ứng dụng Bitwarden khác, vui lòng đăng xuất and đăng nhập lại những ứng dụng đó." - }, - "changeMasterPassword": { - "message": "Thay đổi mật khẩu chính" - }, - "masterPasswordChanged": { - "message": "Đã thay đổi mật khẩu chính" - }, - "currentMasterPass": { - "message": "Mật khẩu chính hiện tại" - }, - "newMasterPass": { - "message": "Mật khẩu chính mới" - }, - "confirmNewMasterPass": { - "message": "Xác nhận mật khẩu chính mới" - }, - "encKeySettings": { - "message": "Cài đặt mật khẩu mã hóa" - }, - "kdfAlgorithm": { - "message": "Thuật toán KDF" - }, - "kdfIterations": { - "message": "Số lần KDF" - }, - "kdfIterationsDesc": { - "message": "Số lần KDF nhiều có thể giúp bảo vệ mật khẩu chính khỏi những cuộc tấn công cưỡng chế. Chúng tôi khuyến khích giá trị $VALUE$ hoặc cao hơn.", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "Số lần KDF quá cao có thể làm các thiết bị yếu hơn bị giật lag khi đăng nhập (hoặc mỏ khóa). Chúng tôi khuyến khích tăng $INCREMENT$ mỗi lần và thử trên các thiết bị của bạn trước.", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "Thay đổi KDF" - }, - "encKeySettingsChanged": { - "message": "Cài đặt mật khẩu mã hóa đã thay đổi" - }, - "dangerZone": { - "message": "Vùng nguy hiểm" - }, - "dangerZoneDesc": { - "message": "Vui lòng cẩn thận, những hành động này không thể được hủy bỏ!" - }, - "deauthorizeSessions": { - "message": "Hủy quyền phiên" - }, - "deauthorizeSessionsDesc": { - "message": "Lo lắng tài khoản của bạn bị đăng nhập trên một thiết bị khác? Tiếp tục bên dưới để hủy quyền tất cả thiết bị bạn đã sử dụng. Bước bảo mật này được khuyến khích nếu bạn đã sử dụng thiết bị công cộng hoặc thiết bị không phải của bạn. Nó cũng sẽ xóa hết những phiên đăng nhập hai bước đã được lưu." - }, - "deauthorizeSessionsWarning": { - "message": "Tiếp tục sẽ đăng xuất bạn ra khỏi phiên hiện tại, cần bạn phải đăng nhập lại. Bạn cũng sẽ phải đăng nhập hai bước lại nếu bạn có đăng nhập hai bước. Những phiên đăng nhập trên các thiết bị khác sẽ tiếp tục có hiệu lực lên đến 1 tiếng." - }, - "sessionsDeauthorized": { - "message": "Tất cả phiên đăng nhập đã bị hủy" - }, - "purgeVault": { - "message": "Xóa kho" - }, - "purgedOrganizationVault": { - "message": "Đã xóa kho tổ chức." - }, - "purgeVaultDesc": { - "message": "Tiếp tục bên dưới để xóa hết tất cả mục và thư mục trong kho của bạn. Những mục thuộc về tổ chức mà bạn chia sẻ với sẽ không bị xóa." - }, - "purgeOrgVaultDesc": { - "message": "Tiếp tục bên dưới để xóa hết tất cả mục trong kho của tổ chức." - }, - "purgeVaultWarning": { - "message": "Việc xóa kho là vĩnh viễn và không thể hoàn tác." - }, - "vaultPurged": { - "message": "Kho của bạn đã được xóa." - }, - "deleteAccount": { - "message": "Xóa tài khoản" - }, - "deleteAccountDesc": { - "message": "Tiếp tục bên dưới để xóa tài khoản và dữ liệu liên quan của bạn." - }, - "deleteAccountWarning": { - "message": "Việc xóa tài khoản là vĩnh viễn và không thể hoàn tác." - }, - "accountDeleted": { - "message": "Tài khoản đã được xóa" - }, - "accountDeletedDesc": { - "message": "Tài khoản của bạn đã được đóng và tất cả những dữ liệu liên quan đã được xóa." - }, - "myAccount": { - "message": "Tài khoản của tôi" - }, - "tools": { - "message": "Công cụ" - }, - "importData": { - "message": "Nhập dữ liệu" - }, - "importSuccess": { - "message": "Dữ liệu đã được nhập vào kho thành công." - }, - "importFormatError": { - "message": "Dữ liệu không được định dạng đúng cách, vui lòng kiểm tra và thử lại." - }, - "importNothingError": { - "message": "Không có gì đã được nhập." - }, - "selectFormat": { - "message": "Chọn định dạng cho file xuất" - }, - "selectImportFile": { - "message": "Chọn tập tin nhập" - }, - "orCopyPasteFileContents": { - "message": "hoặc sao chép/dán để nhập nội dung file" - }, - "instructionsFor": { - "message": "Chỉ dẫn cho $NAME$", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "Tùy chọn" - }, - "optionsDesc": { - "message": "Tùy biến trải nghiệm kho mạng của bạn." - }, - "optionsUpdated": { - "message": "Tùy chọn đã được cập nhật" - }, - "language": { - "message": "Ngôn ngữ" - }, - "languageDesc": { - "message": "Thay đổi ngôn ngữ của kho mạng." - }, - "disableIcons": { - "message": "Vô hiệu hóa icon website" - }, - "disableIconsDesc": { - "message": "Website Icons provide a recognizable image next to each login item in your vault." - }, - "enableGravatars": { - "message": "Enable Gravatars", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "Use avatar images loaded from gravatar.com." - }, - "enableFullWidth": { - "message": "Enable Full Width Layout", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "Allow the web vault to expand the full width of the browser window." - }, - "default": { - "message": "Mặc định" - }, - "domainRules": { - "message": "Quy luật tên miền" - }, - "domainRulesDesc": { - "message": "If you have the same login across multiple different website domains, you can mark the website as \"equivalent\". \"Global\" domains are ones already created for you by Bitwarden." - }, - "globalEqDomains": { - "message": "Global Equivalent Domains" - }, - "customEqDomains": { - "message": "Custom Equivalent Domains" - }, - "exclude": { - "message": "Ngoại trừ" - }, - "include": { - "message": "Bao gồm" - }, - "customize": { - "message": "Tùy biến" - }, - "newCustomDomain": { - "message": "Tên miền tùy biến mới" - }, - "newCustomDomainDesc": { - "message": "Enter a list of domains separated by commas. Only \"base\" domains are allowed. Do not enter subdomains. For example, enter \"google.com\" instead of \"www.google.com\". You can also enter \"androidapp://package.name\" to associate an android app with other website domains." - }, - "customDomainX": { - "message": "Custom Domain $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "Tên miền được cập nhật" - }, - "twoStepLogin": { - "message": "Xác thực 2 bước" - }, - "twoStepLoginDesc": { - "message": "Bảo mật tài khoản bằng các phương pháp sau khi đăng nhập." - }, - "twoStepLoginOrganizationDesc": { - "message": "Require two-step login for your organization's users by configuring providers at the organization level." - }, - "twoStepLoginRecoveryWarning": { - "message": "Enabling two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (ex. you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." - }, - "viewRecoveryCode": { - "message": "Hiển thị mã khôi phục" - }, - "providers": { - "message": "Cung cấp", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "Kích hoạt" - }, - "enabled": { - "message": "Kích hoạt" - }, - "premium": { - "message": "Cao cấp", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "Thành viên trả phí" - }, - "premiumRequired": { - "message": "Cần có tài khoản trả phí" - }, - "premiumRequiredDesc": { - "message": "Cần nâng cấp tài khoản trả phí để sử dụng chức năng này." - }, - "youHavePremiumAccess": { - "message": "Bạn được truy cập tài khoản trả phí" - }, - "alreadyPremiumFromOrg": { - "message": "Bạn được truy cập tài khoản trả phí vì tổ chức của bạn đã chi trả cho việc này." - }, - "manage": { - "message": "Quản lý" - }, - "disable": { - "message": "Vô hiệu hoá" - }, - "twoStepLoginProviderEnabled": { - "message": "This two-step login provider is enabled on your account." - }, - "twoStepLoginAuthDesc": { - "message": "Vui lòng nhập mật khẩu chính để chỉnh sửa cài đặt đăng nhập hai bước." - }, - "twoStepAuthenticatorDesc": { - "message": "Làm theo hướng dẫn để thiếp lập đăng nhập hai bước bằng ứng dụng:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "Tải về ứng dụng xác thực hai bước" - }, - "twoStepAuthenticatorNeedApp": { - "message": "Cần ứng dụng xác thực hai bước? Tải theo danh sách sau" - }, - "iosDevices": { - "message": "Thiết bị iOS" - }, - "androidDevices": { - "message": "Thiết bị Android" - }, - "windowsDevices": { - "message": "Thiết bị Windows" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "Những ứng dụng xác thực sau đây được khuyên dùng, thích cái khác cũng được, ko sao." - }, - "twoStepAuthenticatorScanCode": { - "message": "Quét nã QR code bằng ứng dụng xác thực" - }, - "key": { - "message": "Chìa khóa" - }, - "twoStepAuthenticatorEnterCode": { - "message": "Vui lòng nhập mã 6 bước sinh ra từ ứng dụng xác thực" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "Trong trường hợp bạn cần thêm thiết bị khác, ở dưới là mã QR( hoặc khóa) được yêu cầu bởi ứng dụng xác thực." - }, - "twoStepDisableDesc": { - "message": "Bạn có chắc muốn vô hiệu hóa xác thực hai bước?" - }, - "twoStepDisabled": { - "message": "Xác thực hai bước bị hủy bỏ." - }, - "twoFactorYubikeyAdd": { - "message": "Thêm khóa Yubikey mới vào tài khoản của bạn" - }, - "twoFactorYubikeyPlugIn": { - "message": "Cắm khóa Yubikey vào cổng USB máy tính của bạn." - }, - "twoFactorYubikeySelectKey": { - "message": "Select the first empty YubiKey input field below." - }, - "twoFactorYubikeyTouchButton": { - "message": "Chạm vào nút bấm trên Yubikey." - }, - "twoFactorYubikeySaveForm": { - "message": "Lưu mẫu." - }, - "twoFactorYubikeyWarning": { - "message": "Do giới hạn của hệ điều hành, Yubikey KHÔNG thể xài hết được trên các ứng dụng Bitwarden. Bạn nên đăng ký thêm một phương pháp xác thực 2 bước khác khi mà Yubikey không xài được. Hỗ trợ hệ điều hành:" - }, - "twoFactorYubikeySupportUsb": { - "message": "Web vault, desktop application, CLI, and all browser extensions on a device with a USB port that can accept your YubiKey." - }, - "twoFactorYubikeySupportMobile": { - "message": "Mobile apps on a device with NFC capabilities or a USB port that can accept your YubiKey." - }, - "yubikeyX": { - "message": "Yubikey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "Thiết bị U2F $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "Hỗ trợ NFC" - }, - "twoFactorYubikeySupportsNfc": { - "message": "Một trong các khóa bảo mật của tôi có hỗ trợ NFC." - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "Nếu một trong các khóa Yubikey có hỗ trợ NFC (ví dụ như Yubikey NEO), bạn sẽ được nhắc nhở trên thiết bị di động khi sóng NFC được phát hiện." - }, - "yubikeysUpdated": { - "message": "Đã cập nhập Yubikey" - }, - "disableAllKeys": { - "message": "Disable All Keys" - }, - "twoFactorDuoDesc": { - "message": "Enter the Bitwarden application information from your Duo Admin panel." - }, - "twoFactorDuoIntegrationKey": { - "message": "Integration Key" - }, - "twoFactorDuoSecretKey": { - "message": "Mã khóa bí mật" - }, - "twoFactorDuoApiHostname": { - "message": "API Hostname" - }, - "twoFactorEmailDesc": { - "message": "Follow these steps to set up two-step login with email:" - }, - "twoFactorEmailEnterEmail": { - "message": "Enter the email that you wish to receive verification codes" - }, - "twoFactorEmailEnterCode": { - "message": "Enter the resulting 6 digit verification code from the email" - }, - "sendEmail": { - "message": "Gửi Email" - }, - "twoFactorU2fAdd": { - "message": "Add a FIDO U2F security key to your account" - }, - "removeU2fConfirmation": { - "message": "Bạn có chắc chắn muốn xóa khóa bảo mật này?" - }, - "readKey": { - "message": "Read Key" - }, - "keyCompromised": { - "message": "Chìa khóa bị lộ." - }, - "twoFactorU2fGiveName": { - "message": "Đặt cho Yubikey một cái tên để nhận diện." - }, - "twoFactorU2fPlugInReadKey": { - "message": "Cắm khóa bảo mật vào cổng USB và bấm nút trên khóa." - }, - "twoFactorU2fTouchButton": { - "message": "Nếu khóa bảo mật có nút, hãy chạm vào." - }, - "twoFactorU2fSaveForm": { - "message": "Lưu mẫu." - }, - "twoFactorU2fWarning": { - "message": "Do giới hạn của hệ điều hành, FIDO U2F KHÔNG thể xài hết được trên các ứng dụng Bitwarden. Bạn nên đăng ký thêm một phương pháp xác thực 2 bước khác khi mà FIDO U2F không xài được. Hỗ trợ hệ điều hành:" - }, - "twoFactorU2fSupportWeb": { - "message": "Web vault and browser extensions on a desktop/laptop with a U2F enabled browser (Chrome, Opera, Vivaldi, or Firefox with FIDO U2F enabled)." - }, - "twoFactorU2fWaiting": { - "message": "Waiting for you to touch the button on your security key" - }, - "twoFactorU2fClickSave": { - "message": "Click the \"Save\" button below to enable this security key for two-step login." - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "There was a problem reading the security key. Try again." - }, - "twoFactorRecoveryYourCode": { - "message": "Your Bitwarden two-step login recovery code" - }, - "twoFactorRecoveryNoCode": { - "message": "You have not enabled any two-step login providers yet. After you have enabled a two-step login provider you can check back here for your recovery code." - }, - "printCode": { - "message": "In mã", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "Báo cáo" - }, - "unsecuredWebsitesReport": { - "message": "Báo cáo trang web không an toàn" - }, - "unsecuredWebsitesReportDesc": { - "message": "Using unsecured websites with the http:// scheme can be dangerous. If the website allows, you should always access it using the https:// scheme so that your connection is encrypted." - }, - "unsecuredWebsitesFound": { - "message": "Tìm thấy trang web không an toàn" - }, - "unsecuredWebsitesFoundDesc": { - "message": "We found $COUNT$ items in your vault with unsecured URIs. You should change their URI scheme to https:// if the website allows it.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "No items in your vault have unsecured URIs." - }, - "inactive2faReport": { - "message": "Inactive 2FA Report" - }, - "inactive2faReportDesc": { - "message": "Xác thực 2 bước là một bước quan trọng để bảo vệ tài khoản của bạn khỏi hacker. Nếu trang web cho phép, bạn nên kích hoạt xác thực 2 bước." - }, - "inactive2faFound": { - "message": "Logins Without 2FA Found" - }, - "inactive2faFoundDesc": { - "message": "Tìm thấy $COUNT$ trang web trong kho của bạn có thể thiếu xác thực 2 bước. Để đảm bảo an toàn, bạn nên kích hoạt xác thực 2 bước", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "Không tìm thấy trang web thiếu bảo mật 2 bước trong kho của bạn." - }, - "instructions": { - "message": "Hướng dẫn" - }, - "exposedPasswordsReport": { - "message": "Báo cáo mật khẩu bị rò rỉ" - }, - "exposedPasswordsReportDesc": { - "message": "Mật khẩu bị rò rĩ là mật khẩu đã bị hacker hack được trong các vụ rò rĩ dữ liệu được thông báo công khai hoặc được bán trên web đen( dark web) bởi hacker" - }, - "exposedPasswordsFound": { - "message": "Phát hiện mật khẩu bị rò rĩ" - }, - "exposedPasswordsFoundDesc": { - "message": "We found $COUNT$ items in your vault that have passwords that were exposed in known data breaches. You should change them to use a new password.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "No items in your vault have passwords that have been exposed in known data breaches." - }, - "checkExposedPasswords": { - "message": "Kiểm tra mật khẩu bị rò rỉ" - }, - "exposedXTimes": { - "message": "Exposed $COUNT$ time(s)", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "Báo cáo mật khẩu không đảm bảo an toàn" - }, - "weakPasswordsReportDesc": { - "message": "Mật khẩu không an toàn có thể bị hacker và công cụ dò mật khẩu tự động đoán được dễ dàng . Chế độ tạo mật khẩu tự động của Bitwarden sẽ khắc phục vấn đề này." - }, - "weakPasswordsFound": { - "message": "Phát hiện mật khẩu không an toàn" - }, - "weakPasswordsFoundDesc": { - "message": "We found $COUNT$ items in your vault with passwords that are not strong. You should update them to use stronger passwords.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "No items in your vault have weak passwords." - }, - "reusedPasswordsReport": { - "message": "Báo cáo mật khẩu tái sử dụng" - }, - "reusedPasswordsReportDesc": { - "message": "If a service that you use is compromised, reusing the same password elsewhere can allow hackers to easily gain access to more of your online accounts. You should use a unique password for every account or service." - }, - "reusedPasswordsFound": { - "message": "Phát hiện mật khẩu tái sử dụng" - }, - "reusedPasswordsFoundDesc": { - "message": "We found $COUNT$ passwords that are being reused in your vault. You should change them to a unique value.", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "No logins in your vault have passwords that are being reused." - }, - "reusedXTimes": { - "message": "Reused $COUNT$ times", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "Báo cáo dữ liệu bị rò rĩ" - }, - "breachDesc": { - "message": "A \"breach\" is an incident where a site's data has been illegally accessed by hackers and then released publicly. Review the types of data that were compromised (email addresses, passwords, credit cards etc.) and take appropriate action, such as changing passwords." - }, - "breachCheckUsernameEmail": { - "message": "Check any usernames or email addresses that you use." - }, - "checkBreaches": { - "message": "Check Breaches" - }, - "breachUsernameNotFound": { - "message": "$USERNAME$ was not found in any known data breaches.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "Tin tốt!", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ was found in $COUNT$ different data breaches online.", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "Breached Accounts Found" - }, - "compromisedData": { - "message": "Compromised data" - }, - "website": { - "message": "Trang web" - }, - "affectedUsers": { - "message": "Affected Users" - }, - "breachOccurred": { - "message": "Breach Occurred" - }, - "breachReported": { - "message": "Breach Reported" - }, - "reportError": { - "message": "An error occurred trying to load the report. Try again" - }, - "billing": { - "message": "Hóa đơn" - }, - "accountCredit": { - "message": "Account Credit", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "Account Balance", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "Add Credit", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "Amount", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "Added credit will appear on your account after the payment has been fully processed. Some payment methods are delayed and can take longer to process than others." - }, - "makeSureEnoughCredit": { - "message": "Please make sure that your account has enough credit available for this purchase. If your account does not have enough credit available, your default payment method on file will be used for the difference. You can add credit to your account from the Billing page." - }, - "creditAppliedDesc": { - "message": "Your account's credit can be used to make purchases. Any available credit will be automatically applied towards invoices generated for this account." - }, - "goPremium": { - "message": "Go Premium", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "You've upgraded to premium." - }, - "premiumUpgradeUnlockFeatures": { - "message": "Upgrade your account to a premium membership and unlock some great additional features." - }, - "premiumSignUpStorage": { - "message": "1 GB encrypted storage for file attachments." - }, - "premiumSignUpTwoStep": { - "message": "Additional two-step login options such as YubiKey, FIDO U2F, and Duo." - }, - "premiumSignUpReports": { - "message": "Password hygiene, account health, and data breach reports to keep your vault safe." - }, - "premiumSignUpTotp": { - "message": "TOTP verification code (2FA) generator for logins in your vault." - }, - "premiumSignUpSupport": { - "message": "Priority customer support." - }, - "premiumSignUpFuture": { - "message": "All future premium features. More coming soon!" - }, - "premiumPrice": { - "message": "All for just $PRICE$ /year!", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "Addons" - }, - "premiumAccess": { - "message": "Premium Access" - }, - "premiumAccessDesc": { - "message": "You can add premium access to all members of your organization for $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "Additional Storage (GB)" - }, - "additionalStorageGbDesc": { - "message": "# of additional GB" - }, - "additionalStorageIntervalDesc": { - "message": "Your plan comes with $SIZE$ of encrypted file storage. You can add additional storage for $PRICE$ per GB /$INTERVAL$.", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "Summary" - }, - "total": { - "message": "Total" - }, - "year": { - "message": "year" - }, - "month": { - "message": "month" - }, - "monthAbbr": { - "message": "mo.", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Your payment method will be charged immediately and then on a recurring basis each year. You may cancel at any time." - }, - "paymentCharged": { - "message": "Your payment method will be charged immediately and then on a recurring basis each $INTERVAL$. You may cancel at any time.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Your plan comes with a free 7 day trial. Your payment method will not be charged until the trial has ended. Billing will occur on a recurring basis each $INTERVAL$. You may cancel at any time.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "Payment Information" - }, - "billingInformation": { - "message": "Billing Information" - }, - "creditCard": { - "message": "Credit Card" - }, - "paypalClickSubmit": { - "message": "Click the PayPal button to log into your PayPal account, then click the Submit button below to continue." - }, - "cancelSubscription": { - "message": "Cancel Subscription" - }, - "subscriptionCanceled": { - "message": "The subscription has been canceled." - }, - "pendingCancellation": { - "message": "Pending Cancellation" - }, - "subscriptionPendingCanceled": { - "message": "The subscription has been marked for cancellation at the end of the current billing period." - }, - "reinstateSubscription": { - "message": "Reinstate Subscription" - }, - "reinstateConfirmation": { - "message": "Are you sure you want to remove the pending cancellation request and reinstate your subscription?" - }, - "reinstated": { - "message": "The subscription has been reinstated." - }, - "cancelConfirmation": { - "message": "Are you sure you want to cancel? You will lose access to all of this subscription's features at the end of this billing cycle." - }, - "canceledSubscription": { - "message": "The subscription has been canceled." - }, - "neverExpires": { - "message": "Never Expires" - }, - "status": { - "message": "Status" - }, - "nextCharge": { - "message": "Next Charge" - }, - "details": { - "message": "Details" - }, - "downloadLicense": { - "message": "Download License" - }, - "updateLicense": { - "message": "Update License" - }, - "updatedLicense": { - "message": "Updated license" - }, - "manageSubscription": { - "message": "Manage Subscription" - }, - "storage": { - "message": "Storage" - }, - "addStorage": { - "message": "Add Storage" - }, - "removeStorage": { - "message": "Remove Storage" - }, - "subscriptionStorage": { - "message": "Your subscription has a total of $MAX_STORAGE$ GB of encrypted file storage. You are currently using $USED_STORAGE$.", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "Payment Method" - }, - "noPaymentMethod": { - "message": "No payment method on file." - }, - "addPaymentMethod": { - "message": "Add Payment Method" - }, - "changePaymentMethod": { - "message": "Change Payment Method" - }, - "invoices": { - "message": "Invoices" - }, - "noInvoices": { - "message": "No invoices." - }, - "paid": { - "message": "Paid", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "Unpaid", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "Transactions", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "No transactions." - }, - "chargeNoun": { - "message": "Charge", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "Refund", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "Any charges will appear on your statement as $STATEMENT_NAME$.", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "GB of Storage To Add" - }, - "gbStorageRemove": { - "message": "GB of Storage To Remove" - }, - "storageAddNote": { - "message": "Adding storage will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." - }, - "storageRemoveNote": { - "message": "Removing storage will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." - }, - "adjustedStorage": { - "message": "Adjusted $AMOUNT$ GB of storage.", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "Contact Customer Support" - }, - "updatedPaymentMethod": { - "message": "Updated payment method." - }, - "purchasePremium": { - "message": "Purchase Premium" - }, - "licenseFile": { - "message": "License File" - }, - "licenseFileDesc": { - "message": "Your license file will be named something like $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "To upgrade your account to a premium membership you need to upload a valid license file." - }, - "uploadLicenseFileOrg": { - "message": "To create an on-premises hosted organization you need to upload a valid license file." - }, - "accountEmailMustBeVerified": { - "message": "Your account's email address must be verified." - }, - "newOrganizationDesc": { - "message": "Organizations allow you to share parts of your vault with others as well as manage related users for a specific entity such as a family, small team, or large company." - }, - "generalInformation": { - "message": "General Information" - }, - "organizationName": { - "message": "Organization Name" - }, - "accountOwnedBusiness": { - "message": "This account is owned by a business." - }, - "billingEmail": { - "message": "Billing Email" - }, - "businessName": { - "message": "Business Name" - }, - "chooseYourPlan": { - "message": "Choose Your Plan" - }, - "users": { - "message": "Users" - }, - "userSeats": { - "message": "User Seats" - }, - "additionalUserSeats": { - "message": "Additional User Seats" - }, - "userSeatsDesc": { - "message": "# of user seats" - }, - "userSeatsAdditionalDesc": { - "message": "Your plan comes with $BASE_SEATS$ user seats. You can add additional users for $SEAT_PRICE$ per user /month.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "How many user seats do you need? You can also add additional seats later if needed." - }, - "planNameFree": { - "message": "Free", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "For testing or personal users to share with $COUNT$ other user.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "Families" - }, - "planDescFamilies": { - "message": "For personal use, to share with family & friends." - }, - "planNameTeams": { - "message": "Teams" - }, - "planDescTeams": { - "message": "For businesses and other team organizations." - }, - "planNameEnterprise": { - "message": "Enterprise" - }, - "planDescEnterprise": { - "message": "For businesses and other large organizations." - }, - "freeForever": { - "message": "Free Forever" - }, - "includesXUsers": { - "message": "includes $COUNT$ users", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Additional Users" - }, - "costPerUser": { - "message": "$COST$ per user", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "Limited to $COUNT$ users (including you)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "Limited to $COUNT$ collections", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "Add and share with up to $COUNT$ users", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "Add and share with unlimited users" - }, - "createUnlimitedCollections": { - "message": "Create unlimited Collections" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ encrypted file storage", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "On-premise hosting (optional)" - }, - "usersGetPremium": { - "message": "Users get access to Premium Features" - }, - "controlAccessWithGroups": { - "message": "Control user access with Groups" - }, - "syncUsersFromDirectory": { - "message": "Sync your users and Groups from a directory" - }, - "trackAuditLogs": { - "message": "Track user actions with audit logs" - }, - "enforce2faDuo": { - "message": "Enforce 2FA with Duo" - }, - "priorityCustomerSupport": { - "message": "Priority customer support" - }, - "xDayFreeTrial": { - "message": "$COUNT$ day free trial, cancel anytime", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "Monthly" - }, - "annually": { - "message": "Annually" - }, - "basePrice": { - "message": "Base Price" - }, - "organizationCreated": { - "message": "Organization Created" - }, - "organizationReadyToGo": { - "message": "Your new organization is ready to go!" - }, - "organizationUpgraded": { - "message": "Your organization has been upgraded." - }, - "leave": { - "message": "Leave" - }, - "leaveOrganizationConfirmation": { - "message": "Are you sure you want to leave this organization?" - }, - "leftOrganization": { - "message": "You have left the organization." - }, - "defaultCollection": { - "message": "Default Collection" - }, - "getHelp": { - "message": "Get Help" - }, - "getApps": { - "message": "Get the Apps" - }, - "loggedInAs": { - "message": "Logged in as" - }, - "eventLogs": { - "message": "Event Logs" - }, - "people": { - "message": "People" - }, - "policies": { - "message": "Policies" - }, - "editPolicy": { - "message": "Edit Policy" - }, - "groups": { - "message": "Groups" - }, - "newGroup": { - "message": "New Group" - }, - "addGroup": { - "message": "Add Group" - }, - "editGroup": { - "message": "Edit Group" - }, - "deleteGroupConfirmation": { - "message": "Are you sure you want to delete this group?" - }, - "removeUserConfirmation": { - "message": "Are you sure you want to remove this user?" - }, - "externalId": { - "message": "External Id" - }, - "externalIdDesc": { - "message": "The external id can be used as a reference or to link this resource to an external system such as a user directory." - }, - "accessControl": { - "message": "Access Control" - }, - "groupAccessAllItems": { - "message": "This group can access and modify all items." - }, - "groupAccessSelectedCollections": { - "message": "This group can access only the selected collections." - }, - "readOnly": { - "message": "Read Only" - }, - "newCollection": { - "message": "New Collection" - }, - "addCollection": { - "message": "Add Collection" - }, - "editCollection": { - "message": "Edit Collection" - }, - "deleteCollectionConfirmation": { - "message": "Are you sure you want to delete this collection?" - }, - "editUser": { - "message": "Edit User" - }, - "inviteUser": { - "message": "Invite User" - }, - "inviteUserDesc": { - "message": "Invite a new user to your organization by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "inviteMultipleEmailDesc": { - "message": "You can invite up to $COUNT$ users at a time by comma separating a list of email addresses.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "This user is using two-step login to protect their account." - }, - "userAccessAllItems": { - "message": "This user can access and modify all items." - }, - "userAccessSelectedCollections": { - "message": "This user can access only the selected collections." - }, - "search": { - "message": "Search" - }, - "invited": { - "message": "Invited" - }, - "accepted": { - "message": "Accepted" - }, - "confirmed": { - "message": "Confirmed" - }, - "owner": { - "message": "Owner" - }, - "ownerDesc": { - "message": "The highest access user that can manage all aspects of your organization." - }, - "admin": { - "message": "Admin" - }, - "adminDesc": { - "message": "Admins can access and manage all items, collections and users in your organization." - }, - "user": { - "message": "User" - }, - "userDesc": { - "message": "A regular user with access to assigned collections in your organization." - }, - "manager": { - "message": "Manager" - }, - "managerDesc": { - "message": "Managers can access and manage assigned collections in your organization." - }, - "all": { - "message": "All" - }, - "refresh": { - "message": "Refresh" - }, - "timestamp": { - "message": "Timestamp" - }, - "event": { - "message": "Event" - }, - "unknown": { - "message": "Unknown" - }, - "loadMore": { - "message": "Load More" - }, - "mobile": { - "message": "Mobile", - "description": "Mobile app" - }, - "extension": { - "message": "Extension", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "Desktop", - "description": "Desktop app" - }, - "webVault": { - "message": "Web Vault" - }, - "loggedIn": { - "message": "Logged in." - }, - "changedPassword": { - "message": "Changed account password." - }, - "enabledUpdated2fa": { - "message": "Enabled/updated two-step login." - }, - "disabled2fa": { - "message": "Disabled two-step login." - }, - "recovered2fa": { - "message": "Recovered account from two-step login." - }, - "failedLogin": { - "message": "Login attempt failed with incorrect password." - }, - "failedLogin2fa": { - "message": "Login attempt failed with incorrect two-step login." - }, - "exportedVault": { - "message": "Exported vault." - }, - "exportedOrganizationVault": { - "message": "Exported organization vault." - }, - "editedOrgSettings": { - "message": "Edited organization settings." - }, - "createdItemId": { - "message": "Created item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "Edited item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "Sent item $ID$ to trash.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "Shared item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "Viewed item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "Viewed password for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "Viewed hidden field for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "Viewed security code for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "Copied password for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "Copied hidden field for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "Copied security code for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "Auto-filled item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "Created collection $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "Edited collection $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "Deleted collection $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "Edited policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "Created group $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "Edited group $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "Deleted group $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "Removed user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "Created attachment for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "Deleted attachment for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "Edited collections for item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "Invited user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "Confirmed user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "Edited user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "Edited groups for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "Device" - }, - "view": { - "message": "View" - }, - "invalidDateRange": { - "message": "Invalid date range." - }, - "errorOccurred": { - "message": "An error has occurred." - }, - "userAccess": { - "message": "User Access" - }, - "userType": { - "message": "User Type" - }, - "groupAccess": { - "message": "Group Access" - }, - "groupAccessUserDesc": { - "message": "Edit the groups that this user belongs to." - }, - "invitedUsers": { - "message": "Invited user(s)." - }, - "resendInvitation": { - "message": "Resend Invitation" - }, - "hasBeenReinvited": { - "message": "$USER$ has been reinvited.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "Confirm" - }, - "confirmUser": { - "message": "Confirm User" - }, - "hasBeenConfirmed": { - "message": "$USER$ has been confirmed.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "Confirm Users" - }, - "usersNeedConfirmed": { - "message": "You have users that have accepted their invitation, but still need to be confirmed. Users will not have access to the organization until they are confirmed." - }, - "startDate": { - "message": "Start Date" - }, - "endDate": { - "message": "End Date" - }, - "verifyEmail": { - "message": "Verify Email" - }, - "verifyEmailDesc": { - "message": "Verify your account's email address to unlock access to all features." - }, - "verifyEmailFirst": { - "message": "Your account's email address first must be verified." - }, - "checkInboxForVerification": { - "message": "Check your email inbox for a verification link." - }, - "emailVerified": { - "message": "Your email has been verified." - }, - "emailVerifiedFailed": { - "message": "Unable to verify your email. Try sending a new verification email." - }, - "updateBrowser": { - "message": "Update Browser" - }, - "updateBrowserDesc": { - "message": "You are using an unsupported web browser. The web vault may not function properly." - }, - "joinOrganization": { - "message": "Join Organization" - }, - "joinOrganizationDesc": { - "message": "You've been invited to join the organization listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "inviteAccepted": { - "message": "Invitation Accepted" - }, - "inviteAcceptedDesc": { - "message": "You can access this organization once an administrator confirms your membership. We'll send you an email when that happens." - }, - "inviteAcceptFailed": { - "message": "Unable to accept invitation. Ask an organization admin to send a new invitation." - }, - "inviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "Remember email" - }, - "recoverAccountTwoStepDesc": { - "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to disable all two-step providers on your account." - }, - "recoverAccountTwoStep": { - "message": "Recover Account Two-Step Login" - }, - "twoStepRecoverDisabled": { - "message": "Two-step login has been disabled on your account." - }, - "learnMore": { - "message": "Learn more" - }, - "deleteRecoverDesc": { - "message": "Enter your email address below to recover and delete your account." - }, - "deleteRecoverEmailSent": { - "message": "If your account exists, we've sent you an email with further instructions." - }, - "deleteRecoverConfirmDesc": { - "message": "You have requested to delete your Bitwarden account. Click the button below to confirm." - }, - "myOrganization": { - "message": "My Organization" - }, - "deleteOrganization": { - "message": "Delete Organization" - }, - "deleteOrganizationDesc": { - "message": "Proceed below to delete this organization and all associated data. Individual user accounts will remain, though they will not be associated to this organization anymore. " - }, - "deleteOrganizationWarning": { - "message": "Deleting the organization is permanent. It cannot be undone." - }, - "organizationDeleted": { - "message": "Organization Deleted" - }, - "organizationDeletedDesc": { - "message": "The organization and all associated data has been deleted." - }, - "organizationUpdated": { - "message": "Organization updated" - }, - "taxInformation": { - "message": "Tax Information" - }, - "taxInformationDesc": { - "message": "For customers within the US, ZIP code is required to satisfy sales tax requirements, for other countries you may optionally provide a tax identification number (VAT/GST) and/or address to appear on your invoices." - }, - "billingPlan": { - "message": "Plan", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "Change Plan", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Upgrade your account to another plan be providing the information below. Please ensure that you have an active payment method added to the account.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Contact customer support if you would like to change your plan. Please ensure that you have an active payment method added to the account.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "Invoice #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "View Invoice" - }, - "downloadInvoice": { - "message": "Download Invoice" - }, - "verifyBankAccount": { - "message": "Verify Bank Account" - }, - "verifyBankAccountDesc": { - "message": "We have made two micro-deposits to your bank account (it may take 1-2 business days to show up). Enter these amounts to verify the bank account." - }, - "verifyBankAccountInitialDesc": { - "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make two micro-deposits within the next 1-2 business days. Enter these amounts on the organization's billing page to verify the bank account." - }, - "verifyBankAccountFailureWarning": { - "message": "Failure to verify the bank account will result in a missed payment and your subscription being disabled." - }, - "verifiedBankAccount": { - "message": "Bank account has been verified." - }, - "bankAccount": { - "message": "Bank Account" - }, - "amountX": { - "message": "Amount $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "Routing Number", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "Account Number" - }, - "accountHolderName": { - "message": "Account Holder Name" - }, - "bankAccountType": { - "message": "Account Type" - }, - "bankAccountTypeCompany": { - "message": "Company (Business)" - }, - "bankAccountTypeIndividual": { - "message": "Individual (Personal)" - }, - "enterInstallationId": { - "message": "Enter your installation id" - }, - "addSeats": { - "message": "Add Seats", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "Remove Seats", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "Your subscription allows for a total of $COUNT$ users.", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "Seats To Add" - }, - "seatsToRemove": { - "message": "Seats To Remove" - }, - "seatsAddNote": { - "message": "Adding user seats will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." - }, - "seatsRemoveNote": { - "message": "Removing user seats will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." - }, - "adjustedSeats": { - "message": "Adjusted $AMOUNT$ user seats.", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "Key Updated" - }, - "updateKeyTitle": { - "message": "Update Key" - }, - "updateEncryptionKey": { - "message": "Update Encryption Key" - }, - "updateEncryptionKeyShortDesc": { - "message": "You are currently using an outdated encryption scheme." - }, - "updateEncryptionKeyDesc": { - "message": "We've moved to larger encryption keys that provide better security and access to newer features. Updating your encryption key is quick and easy. Just type your master password below. This update will eventually become mandatory." - }, - "updateEncryptionKeyWarning": { - "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." - }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." - }, - "subscription": { - "message": "Subscription" - }, - "loading": { - "message": "Loading" - }, - "upgrade": { - "message": "Upgrade" - }, - "upgradeOrganization": { - "message": "Upgrade Organization" - }, - "upgradeOrganizationDesc": { - "message": "This feature is not available for free organizations. Switch to a paid plan to unlock more features." - }, - "createOrganizationStep1": { - "message": "Create Organization: Step 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Before creating your organization, you first need to create a free personal account." - }, - "refunded": { - "message": "Refunded" - }, - "nothingSelected": { - "message": "You have not selected anything." - }, - "acceptPolicies": { - "message": "By checking this box you agree to the following:" - }, - "acceptPoliciesError": { - "message": "Terms of Service and Privacy Policy have not been acknowledged." - }, - "termsOfService": { - "message": "Terms of Service" - }, - "privacyPolicy": { - "message": "Privacy Policy" - }, - "filters": { - "message": "Filters" - }, - "vaultTimeout": { - "message": "Vault Timeout" - }, - "vaultTimeoutDesc": { - "message": "Choose when your vault will timeout and perform the selected action." - }, - "oneMinute": { - "message": "1 minute" - }, - "fiveMinutes": { - "message": "5 minutes" - }, - "fifteenMinutes": { - "message": "15 minutes" - }, - "thirtyMinutes": { - "message": "30 minutes" - }, - "oneHour": { - "message": "1 hour" - }, - "fourHours": { - "message": "4 hours" - }, - "onRefresh": { - "message": "On Browser Refresh" - }, - "dateUpdated": { - "message": "Updated", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "Password Updated", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "Organization is disabled." - }, - "licenseIsExpired": { - "message": "License is expired." - }, - "updatedUsers": { - "message": "Updated users" - }, - "selected": { - "message": "Selected" - }, - "ownership": { - "message": "Ownership" - }, - "whoOwnsThisItem": { - "message": "Who owns this item?" - }, - "strong": { - "message": "Strong", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "Good", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "Weak", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "Very Weak", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "Weak Master Password" - }, - "weakMasterPasswordDesc": { - "message": "The master password you have chosen is weak. You should use a strong master password (or a passphrase) to properly protect your Bitwarden account. Are you sure you want to use this master password?" - }, - "rotateAccountEncKey": { - "message": "Also rotate my account's encryption key" - }, - "rotateEncKeyTitle": { - "message": "Rotate Encryption Key" - }, - "rotateEncKeyConfirmation": { - "message": "Are you sure you want to rotate your account's encryption key?" - }, - "attachmentsNeedFix": { - "message": "This item has old file attachments that need to be fixed." - }, - "attachmentFixDesc": { - "message": "This is an old file attachment the needs to be fixed. Click to learn more." - }, - "fix": { - "message": "Fix", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "There are old file attachments in your vault that need to be fixed before you can rotate your account's encryption key." - }, - "yourAccountsFingerprint": { - "message": "Your account's fingerprint phrase", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "To ensure the integrity of your encryption keys, please verify the user's fingerprint phrase before continuing.", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "Don't ask to verify fingerprint phrase again", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "Free", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "API Key" - }, - "apiKeyDesc": { - "message": "Your API key can be used to authenticate to the Bitwarden public API." - }, - "apiKeyRotateDesc": { - "message": "Rotating the API key will invalidate the previous key. You can rotate your API key if you believe that the current key is no longer safe to use." - }, - "apiKeyWarning": { - "message": "Your API key has full access to the organization. It should be kept secret." - }, - "userApiKeyDesc": { - "message": "Your API key can be used to authenticate in the Bitwarden CLI." - }, - "userApiKeyWarning": { - "message": "Your API key is an alternative authentication mechanism. It should be kept secret." - }, - "oauth2ClientCredentials": { - "message": "OAuth 2.0 Client Credentials", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "View API Key" - }, - "rotateApiKey": { - "message": "Rotate API Key" - }, - "selectOneCollection": { - "message": "You must select at least one collection." - }, - "couldNotChargeCardPayInvoice": { - "message": "We were not able to charge your card. Please view and pay the unpaid invoice listed below." - }, - "inAppPurchase": { - "message": "In-app Purchase" - }, - "cannotPerformInAppPurchase": { - "message": "You cannot perform this action while using an in-app purchase payment method." - }, - "manageSubscriptionFromStore": { - "message": "You must manage your subscription from the store where your in-app purchase was made." - }, - "minLength": { - "message": "Minimum Length" - }, - "clone": { - "message": "Clone" - }, - "masterPassPolicyDesc": { - "message": "Set minimum requirements for master password strength." - }, - "twoStepLoginPolicyDesc": { - "message": "Require users to set up two-step login on their personal accounts." - }, - "twoStepLoginPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and do not have two-step login enabled for their personal account will be removed from the organization and will receive an email notifying them about the change." - }, - "twoStepLoginPolicyUserWarning": { - "message": "You are a member of an organization that requires two-step login to be enabled on your user account. If you disable all two-step login providers you will be automatically removed from these organizations." - }, - "passwordGeneratorPolicyDesc": { - "message": "Set minimum requirements for password generator configuration." - }, - "passwordGeneratorPolicyInEffect": { - "message": "One or more organization policies are affecting your generator settings." - }, - "masterPasswordPolicyInEffect": { - "message": "One or more organization policies require your master password to meet the following requirements:" - }, - "policyInEffectMinComplexity": { - "message": "Minimum complexity score of $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "Minimum length of $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "Contain one or more uppercase characters" - }, - "policyInEffectLowercase": { - "message": "Contain one or more lowercase characters" - }, - "policyInEffectNumbers": { - "message": "Contain one or more numbers" - }, - "policyInEffectSpecial": { - "message": "Contain one or more of the following special characters $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "Your new master password does not meet the policy requirements." - }, - "minimumNumberOfWords": { - "message": "Minimum Number of Words" - }, - "defaultType": { - "message": "Default Type" - }, - "userPreference": { - "message": "User Preference" - }, - "vaultTimeoutAction": { - "message": "Vault Timeout Action" - }, - "vaultTimeoutActionLockDesc": { - "message": "A locked vault requires that you re-enter your master password to access it again." - }, - "vaultTimeoutActionLogOutDesc": { - "message": "A logged out vault requires that you re-authenticate to access it again." - }, - "lock": { - "message": "Lock", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "Trash", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "Search Trash" - }, - "permanentlyDelete": { - "message": "Permanently Delete" - }, - "permanentlyDeleteSelected": { - "message": "Permanently Delete Selected" - }, - "permanentlyDeleteItem": { - "message": "Permanently Delete Item" - }, - "permanentlyDeleteItemConfirmation": { - "message": "Are you sure you want to permanently delete this item?" - }, - "permanentlyDeletedItem": { - "message": "Permanently Deleted item" - }, - "permanentlyDeletedItems": { - "message": "Permanently Deleted items" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to permanently delete. Are you sure you want to permanently delete all of these items?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "Permanently Deleted item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "Restore" - }, - "restoreSelected": { - "message": "Restore Selected" - }, - "restoreItem": { - "message": "Restore Item" - }, - "restoredItem": { - "message": "Restored Item" - }, - "restoredItems": { - "message": "Restored Items" - }, - "restoreItemConfirmation": { - "message": "Are you sure you want to restore this item?" - }, - "restoreItems": { - "message": "Restore items" - }, - "restoreSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to restore. Are you sure you want to restore all of these items?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "Restored item $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "Logging out will remove all access to your vault and requires online authentication after the timeout period. Are you sure you want to use this setting?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "Timeout Action Confirmation" - }, - "hidePasswords": { - "message": "Hide Passwords" - }, - "countryPostalCodeRequiredDesc": { - "message": "We require this information for calculating sales tax and financial reporting only." - }, - "includeVAT": { - "message": "Include VAT/GST Information (optional)" - }, - "taxIdNumber": { - "message": "VAT/GST Tax ID" - }, - "taxInfoUpdated": { - "message": "Tax information updated." - }, - "setMasterPassword": { - "message": "Set Master Password" - }, - "ssoCompleteRegistration": { - "message": "In order to complete logging in with SSO, please set a master password to access and protect your vault." - }, - "identifier": { - "message": "Identifier" - }, - "organizationIdentifier": { - "message": "Organization Identifier" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Log in using your organization's single sign-on portal. Please enter your organization's identifier to begin." - }, - "enterpriseSingleSignOn": { - "message": "Enterprise Single Sign-On" - }, - "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." - }, - "businessPortal": { - "message": "Business Portal", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "All Teams features, plus:" - }, - "includeSsoAuthentication": { - "message": "SSO Authentication via SAML2.0 and OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Enterprise Policies" - }, - "ssoValidationFailed": { - "message": "SSO Validation Failed" - }, - "ssoIdentifierRequired": { - "message": "Organization Identifier is required." - }, - "unlinkSso": { - "message": "Unlink SSO" - }, - "linkSso": { - "message": "Link SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "Policy configuration has been moved, and this page will soon be deprecated. Please click below to use the Business Portal policies page instead." - }, - "singleOrg": { - "message": "Single Organization" - }, - "singleOrgDesc": { - "message": "Restrict users from being able to join any other organizations." - }, - "singleOrgBlockCreateMessage": { - "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." - }, - "singleOrgPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and are already a member of another organization will be removed from your organization." - }, - "requireSso": { - "message": "Single Sign-On Authentication" - }, - "requireSsoPolicyDesc": { - "message": "Require users to log in with the Enterprise Single Sign-On method." - }, - "prerequisite": { - "message": "Prerequisite" - }, - "requireSsoPolicyReq": { - "message": "The Single Organization enterprise policy must be enabled before activating this policy." - }, - "requireSsoPolicyReqError": { - "message": "Single Organization policy not enabled." - }, - "requireSsoExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "sendTypeFile": { - "message": "File" - }, - "sendTypeText": { - "message": "Text" - }, - "createSend": { - "message": "Create New Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Edit Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Created Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Edited Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Deleted Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Delete Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Are you sure you want to delete this Send?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "What type of Send is this?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "Deletion Date" - }, - "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "Expiration Date" - }, - "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "Maximum Access Count" - }, - "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "Current Access Count" - }, - "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Private notes about this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "Disabled" - }, - "sendLink": { - "message": "Send Link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "Copy Send Link", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "Remove Password" - }, - "removedPassword": { - "message": "Removed Password" - }, - "removePasswordConfirmation": { - "message": "Are you sure you want to remove the password?" - }, - "disableThisSend": { - "message": "Disable this Send so that no one can access it.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "All Sends" - }, - "maxAccessCountReached": { - "message": "Max access count reached" - }, - "pendingDeletion": { - "message": "Pending deletion" - }, - "expired": { - "message": "Expired" - }, - "searchSends": { - "message": "Search Sends", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "This Send is protected with a password. Please type the password below to continue.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Don't know the password? Ask the Sender for the password needed to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "This send is hidden by default. You can toggle its visibility using the button below.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "Download File" - }, - "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "There are no Sends to list.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Emergency Access" - }, - "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." - }, - "trustedEmergencyContacts": { - "message": "Trusted emergency contacts" - }, - "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." - }, - "addEmergencyContact": { - "message": "Add emergency contact" - }, - "designatedEmergencyContacts": { - "message": "Designated as emergency contact" - }, - "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." - }, - "inviteEmergencyContact": { - "message": "Invite emergency contact" - }, - "editEmergencyContact": { - "message": "Edit emergency contact" - }, - "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "emergencyAccessRecoveryInitiated": { - "message": "Emergency Access Initiated" - }, - "emergencyAccessRecoveryApproved": { - "message": "Emergency Access Approved" - }, - "viewDesc": { - "message": "Can view all items in your own vault." - }, - "takeover": { - "message": "Takeover" - }, - "takeoverDesc": { - "message": "Can reset your account with a new master password." - }, - "waitTime": { - "message": "Wait Time" - }, - "waitTimeDesc": { - "message": "Time required before automatically granting access." - }, - "oneDay": { - "message": "1 day" - }, - "days": { - "message": "$DAYS$ days", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "Invited user." - }, - "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." - }, - "requestAccess": { - "message": "Request Access" - }, - "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "Approve" - }, - "reject": { - "message": "Reject" - }, - "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "Emergency access approved." - }, - "emergencyRejected": { - "message": "Emergency access rejected" - }, - "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "Personal Ownership" - }, - "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." - }, - "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." - }, - "modifiedPolicyId": { - "message": "Modified policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "Plan price" - }, - "estimatedTax": { - "message": "Estimated tax" - }, - "custom": { - "message": "Custom" - }, - "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." - }, - "permissions": { - "message": "Permissions" - }, - "accessBusinessPortal": { - "message": "Access Business Portal" - }, - "accessEventLogs": { - "message": "Access Event Logs" - }, - "accessImportExport": { - "message": "Access Import/Export" - }, - "accessReports": { - "message": "Access Reports" - }, - "manageAllCollections": { - "message": "Manage All Collections" - }, - "manageAssignedCollections": { - "message": "Manage Assigned Collections" - }, - "manageGroups": { - "message": "Manage Groups" - }, - "managePolicies": { - "message": "Manage Policies" - }, - "manageSso": { - "message": "Manage SSO" - }, - "manageUsers": { - "message": "Manage Users" - }, - "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." - }, - "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." - }, - "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" - }, - "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/zh_CN/messages.json b/locales/zh_CN/messages.json deleted file mode 100644 index 92439d9b..00000000 --- a/locales/zh_CN/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$ 网页密码库", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "这是什么类型的项目?" - }, - "name": { - "message": "名称" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "新 URI" - }, - "username": { - "message": "用户名" - }, - "password": { - "message": "密码" - }, - "newPassword": { - "message": "新密码" - }, - "passphrase": { - "message": "密码短语" - }, - "notes": { - "message": "笔记" - }, - "customFields": { - "message": "自定义字段" - }, - "cardholderName": { - "message": "持卡人姓名" - }, - "number": { - "message": "号码" - }, - "brand": { - "message": "品牌" - }, - "expiration": { - "message": "到期日" - }, - "securityCode": { - "message": "安全码 (CVV)" - }, - "identityName": { - "message": "身份名称" - }, - "company": { - "message": "公司" - }, - "ssn": { - "message": "社会保险号码" - }, - "passportNumber": { - "message": "护照号码" - }, - "licenseNumber": { - "message": "许可证号码" - }, - "email": { - "message": "电子邮件" - }, - "phone": { - "message": "电话" - }, - "january": { - "message": "一月" - }, - "february": { - "message": "二月" - }, - "march": { - "message": "三月" - }, - "april": { - "message": "四月" - }, - "may": { - "message": "五月" - }, - "june": { - "message": "六月" - }, - "july": { - "message": "七月" - }, - "august": { - "message": "八月" - }, - "september": { - "message": "九月" - }, - "october": { - "message": "十月" - }, - "november": { - "message": "十一月" - }, - "december": { - "message": "十二月" - }, - "title": { - "message": "称呼" - }, - "mr": { - "message": "先生" - }, - "mrs": { - "message": "夫人" - }, - "ms": { - "message": "女士" - }, - "dr": { - "message": "博士" - }, - "expirationMonth": { - "message": "到期月份" - }, - "expirationYear": { - "message": "到期年份" - }, - "authenticatorKeyTotp": { - "message": "验证器密钥 (TOTP)" - }, - "folder": { - "message": "文件夹" - }, - "newCustomField": { - "message": "新建自定义字段" - }, - "value": { - "message": "值" - }, - "dragToSort": { - "message": "拖动排序" - }, - "cfTypeText": { - "message": "文本" - }, - "cfTypeHidden": { - "message": "隐藏" - }, - "cfTypeBoolean": { - "message": "布尔" - }, - "remove": { - "message": "移除" - }, - "unassigned": { - "message": "未分派" - }, - "noneFolder": { - "message": "默认文件夹", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "添加文件夹" - }, - "editFolder": { - "message": "编辑文件夹" - }, - "baseDomain": { - "message": "基础域" - }, - "host": { - "message": "主机", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "精确" - }, - "startsWith": { - "message": "开始于" - }, - "regEx": { - "message": "正则表达式", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "匹配检测", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "默认匹配检测", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "从不" - }, - "toggleVisibility": { - "message": "切换可见性" - }, - "toggleCollapse": { - "message": "切换折叠", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "生成密码" - }, - "checkPassword": { - "message": "检查密码是否已经被公开。" - }, - "passwordExposed": { - "message": "此密码在泄露数据中已被公开 $VALUE$ 次。请立即修改。", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "没有在已知的数据泄露中发现此密码,它暂时比较安全。" - }, - "save": { - "message": "保存" - }, - "cancel": { - "message": "取消" - }, - "canceled": { - "message": "已取消" - }, - "close": { - "message": "关闭" - }, - "delete": { - "message": "删除" - }, - "favorite": { - "message": "收藏" - }, - "unfavorite": { - "message": "取消收藏" - }, - "edit": { - "message": "编辑" - }, - "searchCollection": { - "message": "搜索集合" - }, - "searchFolder": { - "message": "搜索文件夹" - }, - "searchFavorites": { - "message": "搜索收藏夹" - }, - "searchType": { - "message": "搜索类型", - "description": "Search item type" - }, - "searchVault": { - "message": "搜索密码库" - }, - "allItems": { - "message": "所有项目" - }, - "favorites": { - "message": "收藏夹" - }, - "types": { - "message": "类型" - }, - "typeLogin": { - "message": "登录" - }, - "typeCard": { - "message": "卡片" - }, - "typeIdentity": { - "message": "身份" - }, - "typeSecureNote": { - "message": "安全笔记" - }, - "folders": { - "message": "文件夹" - }, - "collections": { - "message": "集合" - }, - "firstName": { - "message": "名" - }, - "middleName": { - "message": "中间名" - }, - "lastName": { - "message": "姓" - }, - "address1": { - "message": "地址 1" - }, - "address2": { - "message": "地址 2" - }, - "address3": { - "message": "地址 3" - }, - "cityTown": { - "message": "市 / 镇" - }, - "stateProvince": { - "message": "州 / 省" - }, - "zipPostalCode": { - "message": "邮政编码" - }, - "country": { - "message": "国家" - }, - "shared": { - "message": "已共享" - }, - "attachments": { - "message": "附件" - }, - "select": { - "message": "选择" - }, - "addItem": { - "message": "添加项目" - }, - "editItem": { - "message": "编辑项目" - }, - "viewItem": { - "message": "查看项目" - }, - "ex": { - "message": "例如", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "其他" - }, - "share": { - "message": "共享" - }, - "valueCopied": { - "message": "$VALUE$ 已复制", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "复制值", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "复制密码", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "复制用户名", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "复制号码", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "复制安全码", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "复制 URI", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "我的密码库" - }, - "vault": { - "message": "密码库" - }, - "shareSelected": { - "message": "共享所选" - }, - "deleteSelected": { - "message": "删除所选" - }, - "moveSelected": { - "message": "移动所选" - }, - "selectAll": { - "message": "全选" - }, - "unselectAll": { - "message": "取消全选" - }, - "launch": { - "message": "启动" - }, - "newAttachment": { - "message": "添加新附件" - }, - "deletedAttachment": { - "message": "附件已删除" - }, - "deleteAttachmentConfirmation": { - "message": "您确定要删除此附件吗?" - }, - "attachmentSaved": { - "message": "附件已保存。" - }, - "file": { - "message": "文件" - }, - "selectFile": { - "message": "选择一个文件。" - }, - "maxFileSize": { - "message": "文件最大为 100 MB。" - }, - "updateKey": { - "message": "在您更新加密密钥前,您不能使用此功能。" - }, - "addedItem": { - "message": "项目已添加" - }, - "editedItem": { - "message": "项目已编辑" - }, - "sharedItem": { - "message": "项目已共享" - }, - "sharedItems": { - "message": "项目已共享" - }, - "deleteItem": { - "message": "删除项目" - }, - "deleteFolder": { - "message": "删除文件夹" - }, - "deleteAttachment": { - "message": "删除附件" - }, - "deleteItemConfirmation": { - "message": "您确定要删除此项目吗?" - }, - "deletedItem": { - "message": "项目已发送到回收站" - }, - "deletedItems": { - "message": "项目已发送到回收站" - }, - "movedItems": { - "message": "项目已移动" - }, - "overwritePasswordConfirmation": { - "message": "您确定要覆盖当前密码吗?" - }, - "editedFolder": { - "message": "文件夹已编辑" - }, - "addedFolder": { - "message": "文件夹已添加" - }, - "deleteFolderConfirmation": { - "message": "您确定要删除此文件夹吗?" - }, - "deletedFolder": { - "message": "文件夹已删除" - }, - "loggedOut": { - "message": "已登出" - }, - "loginExpired": { - "message": "您的登录会话已过期。" - }, - "logOutConfirmation": { - "message": "您确定要登出吗?" - }, - "logOut": { - "message": "登出" - }, - "ok": { - "message": "确定" - }, - "yes": { - "message": "是" - }, - "no": { - "message": "否" - }, - "loginOrCreateNewAccount": { - "message": "登录或者新建一个账号来访问您的安全密码库。" - }, - "createAccount": { - "message": "创建账号" - }, - "logIn": { - "message": "登录" - }, - "submit": { - "message": "提交" - }, - "emailAddressDesc": { - "message": "您将使用您的电子邮件地址登录。" - }, - "yourName": { - "message": "您的姓名" - }, - "yourNameDesc": { - "message": "我们应该怎么称呼您?" - }, - "masterPass": { - "message": "主密码" - }, - "masterPassDesc": { - "message": "主密码是您访问密码库的唯一密码。它非常重要,请您不要忘记。一旦忘记,无任何办法恢复此密码。" - }, - "masterPassHintDesc": { - "message": "主密码提示可以在你忘记密码时帮你回忆起来。" - }, - "reTypeMasterPass": { - "message": "确认主密码" - }, - "masterPassHint": { - "message": "主密码提示 (可选)" - }, - "masterPassHintLabel": { - "message": "主密码提示" - }, - "settings": { - "message": "设置" - }, - "passwordHint": { - "message": "密码提示" - }, - "enterEmailToGetHint": { - "message": "请输入您账号的电子邮件地址来接收主密码提示。" - }, - "getMasterPasswordHint": { - "message": "获取主密码提示" - }, - "emailRequired": { - "message": "必须填写电子邮件地址。" - }, - "invalidEmail": { - "message": "无效的电子邮件地址。" - }, - "masterPassRequired": { - "message": "必须填写主密码。" - }, - "masterPassLength": { - "message": "主密码至少需要 8 个字符。" - }, - "masterPassDoesntMatch": { - "message": "两次填写的主密码不一致。" - }, - "newAccountCreated": { - "message": "已经为您建立了帐户,您可以登录了。" - }, - "masterPassSent": { - "message": "我们已经为您发送了包含主密码提示的邮件。" - }, - "unexpectedError": { - "message": "发生意外错误。" - }, - "emailAddress": { - "message": "电子邮件地址" - }, - "yourVaultIsLocked": { - "message": "您的密码库已被锁定,请验证您的主密码以继续。" - }, - "unlock": { - "message": "解锁​​​​" - }, - "loggedInAsEmailOn": { - "message": "以 $EMAIL$ 在 $HOSTNAME$ 上登录。", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "无效的主密码" - }, - "lockNow": { - "message": "立即锁定" - }, - "noItemsInList": { - "message": "没有可列出的项目。" - }, - "noCollectionsInList": { - "message": "没有可列出的集合。" - }, - "noGroupsInList": { - "message": "没有可列出的群组。" - }, - "noUsersInList": { - "message": "没有可列出的用户。" - }, - "noEventsInList": { - "message": "没有可列出的事件。" - }, - "newOrganization": { - "message": "新建组织" - }, - "noOrganizationsList": { - "message": "您没有加入任何组织。同一组织的用户可以安全地与其他用户共享项目。" - }, - "versionNumber": { - "message": "版本: $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "请输入您的身份验证器应用中的 6 位验证码。" - }, - "enterVerificationCodeEmail": { - "message": "请输入发送给电子邮件 $EMAIL$ 的 6 位验证码。", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "验证邮件已发送到 $EMAIL$。", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "记住我" - }, - "sendVerificationCodeEmailAgain": { - "message": "重发验证码电子邮件" - }, - "useAnotherTwoStepMethod": { - "message": "使用其他两步登录方式" - }, - "insertYubiKey": { - "message": "将您的 YubiKey 插入计算机的 USB 端口,然后按下按钮。" - }, - "insertU2f": { - "message": "将您的安全钥匙插入计算机的 USB 端口。如果它有一个按钮,按下它。" - }, - "loginUnavailable": { - "message": "登录不可用" - }, - "noTwoStepProviders": { - "message": "此账户已启用两步登录,但此浏览器不支持任何已配置的两步登录提供程序。" - }, - "noTwoStepProviders2": { - "message": "请使用支持的网页浏览器(例如 Chrome)和/或添加其他支持更广泛的提供程序(例如身份验证器应用)。" - }, - "twoStepOptions": { - "message": "两步登录选项" - }, - "recoveryCodeDesc": { - "message": "失去访问您所有的双重身份验证设备?请使用您的恢复代码来禁用您账户中所有的两步登录提供程序。" - }, - "recoveryCodeTitle": { - "message": "恢复代码" - }, - "authenticatorAppTitle": { - "message": "验证器应用" - }, - "authenticatorAppDesc": { - "message": "使用身份验证器应用(例如 Authy 或 Google Authenticator)来生成基于时间的验证码。", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "YubiKey OTP 安全钥匙" - }, - "yubiKeyDesc": { - "message": "使用 YubiKey 来访问您的账户。支持 YubiKey 4系列、5系列以及 NEO 设备。" - }, - "duoDesc": { - "message": "使用 Duo Security 的 Duo 移动应用、短信、电话或 U2F 安全钥匙来进行验证。", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "为您的组织使用 Duo Security 的 Duo 移动应用、短信、电话或 U2F 安全钥匙来进行验证。", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "使用任何支持 FIDO U2F 的安全钥匙来访问您的帐户。" - }, - "u2fTitle": { - "message": "FIDO U2F 安全钥匙" - }, - "emailTitle": { - "message": "电子邮件" - }, - "emailDesc": { - "message": "验证码将会发送到您的电子邮箱。" - }, - "continue": { - "message": "继续" - }, - "organization": { - "message": "组织" - }, - "organizations": { - "message": "组织" - }, - "shareDesc": { - "message": "选择您希望与之共享此项目的组织。共享操作将会把此项目的所有权转移到该组织。一旦共享,您将不再是此项目的直接所有者。" - }, - "shareManyDesc": { - "message": "选择您希望与之共享这些项目的组织。共享操作将会把这些项目的所有权转移到该组织。一旦共享,您将不再是这些项目的直接所有者。" - }, - "collectionsDesc": { - "message": "编辑与此项目共享的集合。只有具有这些集合访问权限的组织用户才能看到此项目。" - }, - "deleteSelectedItemsDesc": { - "message": "您选择了要删除 $COUNT$ 个项目。确实要删除所有这些项目吗?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "选择要将这 $COUNT$ 个项目移动到的文件夹。", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "您选择了 $COUNT$ 个项目。其中 $SHAREABLE_COUNT$ 个项目处于共享状态,$NONSHAREABLE_COUNT$ 个项目处于非共享状态。", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "验证码 (TOTP)" - }, - "copyVerificationCode": { - "message": "复制验证码" - }, - "warning": { - "message": "警告" - }, - "confirmVaultExport": { - "message": "确认导出密码库" - }, - "exportWarningDesc": { - "message": "导出的密码库数据包含未加密格式。您不应该通过不安全的渠道(例如电子邮件)来存储或发送导出的文件。用完后请立即将其删除。" - }, - "encExportWarningDesc": { - "message": "此导出将使用您账户的加密密钥来加密您的数据。 如果您曾经轮换过账户的加密密钥,您应将其重新导出,否则您将无法解密导出的文件。" - }, - "exportMasterPassword": { - "message": "输入主密码来导出你的密码库数据。" - }, - "exportVault": { - "message": "导出密码库" - }, - "fileFormat": { - "message": "文件格式" - }, - "exportSuccess": { - "message": "已经导出您的密码库数据。" - }, - "passwordGenerator": { - "message": "密码生成器" - }, - "minComplexityScore": { - "message": "最小复杂度" - }, - "minNumbers": { - "message": "数字最少个数" - }, - "minSpecial": { - "message": "符号最少个数", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "避免模棱两可" - }, - "regeneratePassword": { - "message": "重新生成密码" - }, - "length": { - "message": "长度" - }, - "numWords": { - "message": "单词数" - }, - "wordSeparator": { - "message": "单词分隔符" - }, - "capitalize": { - "message": "大写", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "包含数字" - }, - "passwordHistory": { - "message": "密码历史记录" - }, - "noPasswordsInList": { - "message": "没有可列出的密码。" - }, - "clear": { - "message": "清除", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "帐户已更新" - }, - "changeEmail": { - "message": "更改电子邮件" - }, - "newEmail": { - "message": "新电子邮件" - }, - "code": { - "message": "代码" - }, - "changeEmailDesc": { - "message": "我们已将验证码发送到 $EMAIL$。请检查您的电子邮件,在下方输入验证码,以确认更改您的电子邮件地址。", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "接下来将会注销您当前的会话,要求您重新登录。其他设备上的活动会话可能会继续保持最多一小时。" - }, - "emailChanged": { - "message": "电子邮件已更改" - }, - "logBackIn": { - "message": "请重新登录。" - }, - "logBackInOthersToo": { - "message": "请重新登录。如果您还在使用其他 Bitwarden 应用,也请注销并重新登陆。" - }, - "changeMasterPassword": { - "message": "修改主密码" - }, - "masterPasswordChanged": { - "message": "主密码已修改" - }, - "currentMasterPass": { - "message": "当前主密码" - }, - "newMasterPass": { - "message": "新主密码" - }, - "confirmNewMasterPass": { - "message": "确认新主密码" - }, - "encKeySettings": { - "message": "加密密钥设置" - }, - "kdfAlgorithm": { - "message": "KDF 算法" - }, - "kdfIterations": { - "message": "KDF 迭代" - }, - "kdfIterationsDesc": { - "message": "更高的 KDF 迭代可以帮助保护您的主密码免遭攻击者的暴力破解。建议 $VALUE$ 或更高。", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "如果将 KDF 迭代设置得太高,可能会在 CPU 速度较慢的设备上登录(以及解锁)Bitwarden 时性能变差。建议您以 $INCREMENT$ 的增量值递增,然后测试所有设备。", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "更改 KDF" - }, - "encKeySettingsChanged": { - "message": "加密密钥设置已更改" - }, - "dangerZone": { - "message": "危险操作区" - }, - "dangerZoneDesc": { - "message": "小心,这些动作是不可逆的!" - }, - "deauthorizeSessions": { - "message": "取消会话授权" - }, - "deauthorizeSessionsDesc": { - "message": "您是否担心自己的帐号在其他设备上登录?请按照以下步骤取消对之前使用过的所有计算机或设备的授权。如果您以前使用过公共电脑或不小心曾将密码保存在不属于您的设备上,则建议执行此安全步骤。此步骤还将清除所有以前记住的两步登录会话。" - }, - "deauthorizeSessionsWarning": { - "message": "接下来将会注销您当前的会话,要求您重新登录。如果有两步登录,也需要重新验证。其他设备上的活动会话可能会继续保持最多一小时。" - }, - "sessionsDeauthorized": { - "message": "已取消所有会话授权" - }, - "purgeVault": { - "message": "清空密码库" - }, - "purgedOrganizationVault": { - "message": "组织密码库已清空。" - }, - "purgeVaultDesc": { - "message": "接下来的操作会删除密码库中的所有项目和文件夹。属于组织的共享项目将不会被删除。" - }, - "purgeOrgVaultDesc": { - "message": "接下来的操作会删除组织密码库中的所有项目。" - }, - "purgeVaultWarning": { - "message": "清空密码库是永久性的。不能被撤消。" - }, - "vaultPurged": { - "message": "你的密码库已经被清空。" - }, - "deleteAccount": { - "message": "删除帐户" - }, - "deleteAccountDesc": { - "message": "接下来的操作会删除您的帐户和所有相关数据。" - }, - "deleteAccountWarning": { - "message": "删除帐户是永久性的。不能被撤消。" - }, - "accountDeleted": { - "message": "帐户已删除" - }, - "accountDeletedDesc": { - "message": "您的帐户已关闭,所有相关数据也已被删除。" - }, - "myAccount": { - "message": "我的帐户" - }, - "tools": { - "message": "工具" - }, - "importData": { - "message": "导入数据" - }, - "importSuccess": { - "message": "数据已经成功导入到密码库" - }, - "importFormatError": { - "message": "数据格式不正确。请检查您的导入文件后重试。" - }, - "importNothingError": { - "message": "没有导入任何内容。" - }, - "selectFormat": { - "message": "选择导入文件的格式" - }, - "selectImportFile": { - "message": "选择要导入的文件" - }, - "orCopyPasteFileContents": { - "message": "或复制/粘贴要导入文件的内容" - }, - "instructionsFor": { - "message": "$NAME$ 文件说明", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "选项" - }, - "optionsDesc": { - "message": "个性化你的网页版密码库体验。" - }, - "optionsUpdated": { - "message": "选项已更新" - }, - "language": { - "message": "语言" - }, - "languageDesc": { - "message": "更改网页密码库的语言。" - }, - "disableIcons": { - "message": "禁用网站图标" - }, - "disableIconsDesc": { - "message": "网站图标用于在您密码库的每个登录项目旁显示一个易识别的图标。" - }, - "enableGravatars": { - "message": "启用 Gravatar 头像", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "使用从 gravatar.com 加载的头像图像。" - }, - "enableFullWidth": { - "message": "启用全宽布局", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "允许网页密码库拓展到整个浏览器窗口宽度。" - }, - "default": { - "message": "默认" - }, - "domainRules": { - "message": "域名规则" - }, - "domainRulesDesc": { - "message": "如果您在多个不同网站之间使用同一个登陆信息,您可以把这些网站标记为 “通用”。Bitwarden 会为您设置 “全局” 域名。" - }, - "globalEqDomains": { - "message": "全局通用域名" - }, - "customEqDomains": { - "message": "自定义通用域名" - }, - "exclude": { - "message": "排除" - }, - "include": { - "message": "包括" - }, - "customize": { - "message": "自定义" - }, - "newCustomDomain": { - "message": "添加自定义域名" - }, - "newCustomDomainDesc": { - "message": "输入用逗号分隔的域名列表。只能使用主域名,不需要输入子域名。例如,输入 \"google.com\" 而不是 \"www.google.com\"。您也可以输入 \"androidapp://package.name\" 以将 android 应用程序与其他网站域名关联。" - }, - "customDomainX": { - "message": "自定义域名 $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "域名已更新" - }, - "twoStepLogin": { - "message": "两步登录" - }, - "twoStepLoginDesc": { - "message": "在登录时需要额外的步骤来保护您的帐户。" - }, - "twoStepLoginOrganizationDesc": { - "message": "在组织机构层面配置提供程序,以要求你组织的用户采用两步登录。" - }, - "twoStepLoginRecoveryWarning": { - "message": "启用两步登录可以将您永久性地锁定在Bitwarden帐户之外。如果您无法使用常规的两步登录提供程序(例如您丢失了设备),则可以使用恢复代码访问您的帐户。 如果您无法访问您的帐户,Bitwarden 支持也无法帮助您。我们建议您记下或打印恢复代码,并将其妥善保管。" - }, - "viewRecoveryCode": { - "message": "查看恢复代码" - }, - "providers": { - "message": "提供程序", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "启用" - }, - "enabled": { - "message": "已启用" - }, - "premium": { - "message": "高级会员", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "高级会员" - }, - "premiumRequired": { - "message": "需要高级会员" - }, - "premiumRequiredDesc": { - "message": "此功能需要高级会员资格。" - }, - "youHavePremiumAccess": { - "message": "您拥有高级访问权限" - }, - "alreadyPremiumFromOrg": { - "message": "由于您是拥有高级会员功能的组织的成员,您已经拥有此功能。" - }, - "manage": { - "message": "管理" - }, - "disable": { - "message": "停用" - }, - "twoStepLoginProviderEnabled": { - "message": "您的帐户已启用此两步登录提供程序。" - }, - "twoStepLoginAuthDesc": { - "message": "输入主密码以修改两步登录设置。" - }, - "twoStepAuthenticatorDesc": { - "message": "按照以下步骤,使用身份验证器应用设置两步登录:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "下载两步登录验证器应用" - }, - "twoStepAuthenticatorNeedApp": { - "message": "需要两步登录验证器应用?您可以下载以下应用:" - }, - "iosDevices": { - "message": "iOS 设备" - }, - "androidDevices": { - "message": "安卓设备" - }, - "windowsDevices": { - "message": "Windows 设备" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "推荐使用这些应用,您也可以使用其它验证器应用。" - }, - "twoStepAuthenticatorScanCode": { - "message": "使用身份验证器应用扫描这个二维码" - }, - "key": { - "message": "密钥" - }, - "twoStepAuthenticatorEnterCode": { - "message": "输入 App 中的 6 位验证码" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "如果您要把它添加到另一个设备,下面是您的验证器应用所需要的二维码(或密钥)。" - }, - "twoStepDisableDesc": { - "message": "您确定要禁用此两步登录提供程序吗?" - }, - "twoStepDisabled": { - "message": "此两步登录提供程序已禁用。" - }, - "twoFactorYubikeyAdd": { - "message": "向您的帐户添加新 YubiKey" - }, - "twoFactorYubikeyPlugIn": { - "message": "将 YubiKey 插入您电脑的 USB 端口。" - }, - "twoFactorYubikeySelectKey": { - "message": "在下面选择第一个空的 YubiKey 输入字段。" - }, - "twoFactorYubikeyTouchButton": { - "message": "按下 YubiKey 的按钮。" - }, - "twoFactorYubikeySaveForm": { - "message": "保存表单" - }, - "twoFactorYubikeyWarning": { - "message": "由于平台的限制,YubiKey 不能在所有Bitwarden应用程序上使用。您应该启用另一个两步登录提供程序,以便在无法使用 YubiKey 时可以访问您的帐户。 支持的平台:" - }, - "twoFactorYubikeySupportUsb": { - "message": "具有 USB 端口的设备上的网页版密码库、桌面应用程序、CLI 以及浏览器扩展都可以使用您的 YubiKey。" - }, - "twoFactorYubikeySupportMobile": { - "message": "兼容 NFC 或者有数据端口的设备上的移动 APP 可以使用您的 YubiKey。" - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "U2F Key $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "NFC 支持" - }, - "twoFactorYubikeySupportsNfc": { - "message": "我的一把钥匙支持 NFC。" - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "如果您的某个 YubiKey 支持 NFC(例如 YubiKey NEO),则只要检测到 NFC 可用,系统就会在移动设备上提示您。" - }, - "yubikeysUpdated": { - "message": "YubiKey 已更新" - }, - "disableAllKeys": { - "message": "禁用全部钥匙" - }, - "twoFactorDuoDesc": { - "message": "输入 Duo 管理面板提供的 Bitwarden 应用信息。" - }, - "twoFactorDuoIntegrationKey": { - "message": "集成密钥" - }, - "twoFactorDuoSecretKey": { - "message": "安全密钥" - }, - "twoFactorDuoApiHostname": { - "message": "API 主机名" - }, - "twoFactorEmailDesc": { - "message": "按照以下步骤设置使用电子邮件两步登录:" - }, - "twoFactorEmailEnterEmail": { - "message": "输入您希望接收验证码的电子邮件" - }, - "twoFactorEmailEnterCode": { - "message": "输入电子邮件中的 6 位验证码" - }, - "sendEmail": { - "message": "发送电子邮件" - }, - "twoFactorU2fAdd": { - "message": "在您的帐户中添加 FIDO U2F 安全钥匙" - }, - "removeU2fConfirmation": { - "message": "您确认要删除这个安全钥匙吗?" - }, - "readKey": { - "message": "读取钥匙" - }, - "keyCompromised": { - "message": "密钥被破坏。" - }, - "twoFactorU2fGiveName": { - "message": "给安全钥匙一个友好的名称来标识它。" - }, - "twoFactorU2fPlugInReadKey": { - "message": "将安全钥匙插入计算机的 USB 端口,然后单击 \"读取密钥\" 按钮。" - }, - "twoFactorU2fTouchButton": { - "message": "如果安全钥匙有按钮,请按下它。" - }, - "twoFactorU2fSaveForm": { - "message": "保存表单。" - }, - "twoFactorU2fWarning": { - "message": "由于平台的限制,FIDO U2F 不能在所有 Bitwarden 应用程序上使用。您应该启用另一个两步登录提供程序,以便在无法使用 FIDO U2F 时可以访问您的帐户。 支持的平台:" - }, - "twoFactorU2fSupportWeb": { - "message": "台式机 / 笔记本电脑上启用了 U2F 的浏览器(Chrome,Opera,Vivaldi 或启用了 FIDO U2F 的 Firefox)中的网页版密码库和浏览器扩展。" - }, - "twoFactorU2fWaiting": { - "message": "等待您按下安全钥匙上的按钮" - }, - "twoFactorU2fClickSave": { - "message": "单击下面的 \"保存\" 按钮,以启用此安全钥匙进行两步登录。" - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "读取安全钥匙时出现问题,请再试一次。" - }, - "twoFactorRecoveryYourCode": { - "message": "您的 Bitwarden 两步登录恢复代码" - }, - "twoFactorRecoveryNoCode": { - "message": "您尚未启用任何两步登录提供程序。在启用了一个两步登录提供程序后,您可以在这里检查恢复代码。" - }, - "printCode": { - "message": "打印代码", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "报告" - }, - "unsecuredWebsitesReport": { - "message": "不安全网站报告" - }, - "unsecuredWebsitesReportDesc": { - "message": "使用带 http:// 的不安全网站是很危险的。如果网站允许,您应始终使用带 https:// 的加密连接来访问它们。" - }, - "unsecuredWebsitesFound": { - "message": "发现不安全的网站" - }, - "unsecuredWebsitesFoundDesc": { - "message": "我们在您的密码库中发现了 $COUNT$ 个项目带有不安全的 URI。如果网站允许,您应该将他们更改为 https://。", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "没有在你的密码库中发现带不安全 URI 的项目。" - }, - "inactive2faReport": { - "message": "未激活2FA报告" - }, - "inactive2faReportDesc": { - "message": "双重身份验证 (2FA) 是保护您帐户安全的一个重要安全设置。如果网站提供,您应该始终启用双重身份验证。" - }, - "inactive2faFound": { - "message": "发现未使用双重身份验证的登录" - }, - "inactive2faFoundDesc": { - "message": "我们在您的密码库发现 $COUNT$ 个网站没有配置双重身份验证(通过 2fa.directory)。为了保护这些账户,您应该启用双重身份验证。", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "没有在您的密码库发现未使用双重身份验证的网站。" - }, - "instructions": { - "message": "说明" - }, - "exposedPasswordsReport": { - "message": "公开密码报告" - }, - "exposedPasswordsReportDesc": { - "message": "公开密码是在已知数据泄露中被发现的密码,这些数据泄露是由黑客公开发布或在黑网上销售的。" - }, - "exposedPasswordsFound": { - "message": "发现公开密码" - }, - "exposedPasswordsFoundDesc": { - "message": "我们在密码库发现 $COUNT$ 个项目的密码在已知数据泄露中被公开。您应该将它们更改为新密码。", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "没有在密码库中发现有密码在已知数据泄露中被公开。" - }, - "checkExposedPasswords": { - "message": "检查公开密码" - }, - "exposedXTimes": { - "message": "被公开 $COUNT$ 次", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "弱密码报告" - }, - "weakPasswordsReportDesc": { - "message": "弱密码很容易被黑客和用于破解密码的自动化工具猜中。Bitwarden 密码生成器可以帮助您创建强密码。" - }, - "weakPasswordsFound": { - "message": "找到弱密码" - }, - "weakPasswordsFoundDesc": { - "message": "我们在您的密码库中发现了 $COUNT$ 个弱密码项目。您应该将它们改为更强的密码。", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "没有在密码库中发现弱密码。" - }, - "reusedPasswordsReport": { - "message": "重复使用密码报告" - }, - "reusedPasswordsReportDesc": { - "message": "如果您使用的服务被盗,在其他地方重复使用相同的密码可以让黑客轻松访问您的更多在线帐户。您应该对每个帐户或服务使用不同的密码。" - }, - "reusedPasswordsFound": { - "message": "发现重复使用的密码" - }, - "reusedPasswordsFoundDesc": { - "message": "我们发现 $COUNT$ 个密码正在您的密码库中重复使用。您应该将它们更改为不同的值。", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "您密码库中没有密码重复使用的项目。" - }, - "reusedXTimes": { - "message": "重复使用了 $COUNT$ 次", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "数据泄露报告" - }, - "breachDesc": { - "message": "“泄漏”是指黑客非法访问网站数据然后公开发布的事件。查看已泄露的数据类型(电子邮件地址,密码,信用卡等)并采取适当的措施,例如更改密码。" - }, - "breachCheckUsernameEmail": { - "message": "检查您使用的任何用户名或电子邮件地址。" - }, - "checkBreaches": { - "message": "检查泄漏情况" - }, - "breachUsernameNotFound": { - "message": "在任何已知数据泄漏中找不到 $USERNAME$。", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "好消息", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ 在不同的在线数据泄漏中找到 $COUNT$ 次。", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "发现被泄露的帐户" - }, - "compromisedData": { - "message": "被盗数据" - }, - "website": { - "message": "网站" - }, - "affectedUsers": { - "message": "受影响的用户" - }, - "breachOccurred": { - "message": "已发生泄漏" - }, - "breachReported": { - "message": "泄漏已报告" - }, - "reportError": { - "message": "加载报告时发生错误,请重试。" - }, - "billing": { - "message": "账单" - }, - "accountCredit": { - "message": "账户信用额", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "账户余额", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "添加信用额", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "合计", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "在付款全部处理后,添加的信用额将出现在您的帐户上。某些付款方式会延迟,并且可能需要比其他付款方式更长的时间来处理。" - }, - "makeSureEnoughCredit": { - "message": "请确保您的帐户有足够的信用额度来用于此购买。如果您的帐户没有足够的可用信用额度,您的默认付款方式将用于补足差额。您可以从“账单”页面向您的帐户添加信用额度。" - }, - "creditAppliedDesc": { - "message": "您帐户的信用额度可用于进行消费。任何可用的信用额度将自动支付此帐户的账单。" - }, - "goPremium": { - "message": "升级高级会员", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "您已升级到高级会员。" - }, - "premiumUpgradeUnlockFeatures": { - "message": "将您的帐户升级为高级会员,将解锁一些强大的附加功能。" - }, - "premiumSignUpStorage": { - "message": "1 GB 文件附件加密存储。" - }, - "premiumSignUpTwoStep": { - "message": "额外的两步登录选项,如 YubiKey、FIDO U2F 和 Duo。" - }, - "premiumSignUpReports": { - "message": "密码健康、账户体检以及数据泄露报告,保障您的密码库安全。" - }, - "premiumSignUpTotp": { - "message": "用于密码库中登录的 TOTP 验证码(两步验证)生成器。" - }, - "premiumSignUpSupport": { - "message": "优先客户支持。" - }, - "premiumSignUpFuture": { - "message": "所有未来的高级功能,即将推出!" - }, - "premiumPrice": { - "message": "每年只需 $PRICE$ !", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "附加项目" - }, - "premiumAccess": { - "message": "高级会员" - }, - "premiumAccessDesc": { - "message": "您可以为您的组织所有成员添加高级访问权限,只要 $PRICE$ / 每 $INTERVAL$ 。", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "附加存储 (GB)" - }, - "additionalStorageGbDesc": { - "message": "# GB 附加存储" - }, - "additionalStorageIntervalDesc": { - "message": "您的计划附带 $SIZE$ 的加密存储空间。您也可以用 $PRICE$ 每 GB 每 $INTERVAL$ 购买附加存储。", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "概要" - }, - "total": { - "message": "总计" - }, - "year": { - "message": "年" - }, - "month": { - "message": "月" - }, - "monthAbbr": { - "message": "月", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "将立即从您的支付方式扣款,并且将每年定期扣款。您可以随时取消。" - }, - "paymentCharged": { - "message": "将立即从您的支付方式扣款,并且将每 $INTERVAL$ 定期扣款。您可以随时取消。", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "您的计划包含了 7 天的免费试用期。在试用期结束前,不会从您的支付方式中扣款。随后将会在每 $INTERVAL$ 定期扣款。您可以随时取消。", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "支付信息" - }, - "billingInformation": { - "message": "账单信息" - }, - "creditCard": { - "message": "信用卡" - }, - "paypalClickSubmit": { - "message": "点击 PayPal 按钮登录您的 PayPal 账户,然后点击 提交 按钮。" - }, - "cancelSubscription": { - "message": "取消订阅" - }, - "subscriptionCanceled": { - "message": "您的订阅已取消。" - }, - "pendingCancellation": { - "message": "待取消" - }, - "subscriptionPendingCanceled": { - "message": "订阅已在当前账单周期结束时标记为取消。" - }, - "reinstateSubscription": { - "message": "恢复订阅" - }, - "reinstateConfirmation": { - "message": "您确定要撤销请求并恢复订阅吗?" - }, - "reinstated": { - "message": "您的订阅已恢复。" - }, - "cancelConfirmation": { - "message": "您确定要取消吗?在本次账单周期结束后,您将无法使用所有订阅功能。" - }, - "canceledSubscription": { - "message": "订阅已取消。" - }, - "neverExpires": { - "message": "永不过期" - }, - "status": { - "message": "状态" - }, - "nextCharge": { - "message": "下一次扣款" - }, - "details": { - "message": "详细信息" - }, - "downloadLicense": { - "message": "下载许可证" - }, - "updateLicense": { - "message": "更新许可证" - }, - "updatedLicense": { - "message": "许可证已更新" - }, - "manageSubscription": { - "message": "管理订阅" - }, - "storage": { - "message": "存储" - }, - "addStorage": { - "message": "添加存储" - }, - "removeStorage": { - "message": "移除存储" - }, - "subscriptionStorage": { - "message": "您的订阅共有 $MAX_STORAGE$ GB 的加密存储空间。您目前已使用 $USED_STORAGE$ 。", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "支付方式" - }, - "noPaymentMethod": { - "message": "没有支付方式" - }, - "addPaymentMethod": { - "message": "添加支付方式" - }, - "changePaymentMethod": { - "message": "更改支付方式" - }, - "invoices": { - "message": "收据" - }, - "noInvoices": { - "message": "无收据" - }, - "paid": { - "message": "已支付", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "未支付", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "交易", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "无交易" - }, - "chargeNoun": { - "message": "费用", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "退款", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "任何费用将在您的对账单上以 $STATEMENT_NAME$ 显示。", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "GB 存储空间将增加" - }, - "gbStorageRemove": { - "message": "GB 存储空间将删除" - }, - "storageAddNote": { - "message": "添加存储空间将会调整账单金额,并立即通过您的支付方式进行扣款。 第一笔费用将按当前结算周期的剩余时间按比例分配。" - }, - "storageRemoveNote": { - "message": "删除存储空间将会调整账单金额。这笔费用将按比例计入下一次结算周期。" - }, - "adjustedStorage": { - "message": "已调整 $AMOUNT$ GB 的存储空间。", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "联系客户支持" - }, - "updatedPaymentMethod": { - "message": "支付方式已更新" - }, - "purchasePremium": { - "message": "购买高级会员" - }, - "licenseFile": { - "message": "许可证文件" - }, - "licenseFileDesc": { - "message": "您的许可证文件的文件名类似于 $FILE_NAME$", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "要将您的帐户升级为高级会员资格,您需要上传有效的许可证文件。" - }, - "uploadLicenseFileOrg": { - "message": "若要创建基于本地托管的组织,您需要上传有效的许可证文件。" - }, - "accountEmailMustBeVerified": { - "message": "您必须验证账户的电子邮件地址。" - }, - "newOrganizationDesc": { - "message": "组织允许您与他人以及特定实体(如家庭、小型团队或大公司)的相关用户共享部分密码库。" - }, - "generalInformation": { - "message": "常规信息" - }, - "organizationName": { - "message": "组织名称" - }, - "accountOwnedBusiness": { - "message": "此帐户由公司拥有。" - }, - "billingEmail": { - "message": "账单电子邮件" - }, - "businessName": { - "message": "公司名称" - }, - "chooseYourPlan": { - "message": "选择您的计划" - }, - "users": { - "message": "用户" - }, - "userSeats": { - "message": "用户席位" - }, - "additionalUserSeats": { - "message": "附加用户席位" - }, - "userSeatsDesc": { - "message": "# 用户席位" - }, - "userSeatsAdditionalDesc": { - "message": "您的计划包含 $BASE_SEATS$ 个用户席位。添加附加用户的价格是 $SEAT_PRICE$ 每用户/月。", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "您需要多少个用户席位?您也可以在以后需要的时候添加附加席位。" - }, - "planNameFree": { - "message": "免费", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "适用于测试或个人用户与 $COUNT$ 位其他用户共享。", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "家庭" - }, - "planDescFamilies": { - "message": "适用于个人使用,与家人和朋友共享。" - }, - "planNameTeams": { - "message": "团队" - }, - "planDescTeams": { - "message": "适用于企业和其他团队组织。" - }, - "planNameEnterprise": { - "message": "企业" - }, - "planDescEnterprise": { - "message": "适用于企业和其他大型组织。" - }, - "freeForever": { - "message": "永远免费" - }, - "includesXUsers": { - "message": "包含 $COUNT$ 位用户", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "附加用户" - }, - "costPerUser": { - "message": "每位用户 $COST$", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "仅限 $COUNT$ 位用户(包括您)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "仅限 $COUNT$ 个集合", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "添加并最多与 $COUNT$ 位用户共享", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "添加并与无限的用户共享" - }, - "createUnlimitedCollections": { - "message": "创建无限个集合" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ 加密文件存储", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "本地托管(可选)" - }, - "usersGetPremium": { - "message": "用户拥有高级会员功能权限" - }, - "controlAccessWithGroups": { - "message": "使用群组控制用户访问权限" - }, - "syncUsersFromDirectory": { - "message": "使用目录同步用户和群组" - }, - "trackAuditLogs": { - "message": "使用审核日志跟踪用户操作" - }, - "enforce2faDuo": { - "message": "强制启用 Duo 的两步登录" - }, - "priorityCustomerSupport": { - "message": "优先客户支持" - }, - "xDayFreeTrial": { - "message": "$COUNT$ 天免费试用,随时取消", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "每月" - }, - "annually": { - "message": "每年" - }, - "basePrice": { - "message": "基本价格" - }, - "organizationCreated": { - "message": "组织已创建" - }, - "organizationReadyToGo": { - "message": "你的组织准备好了!" - }, - "organizationUpgraded": { - "message": "您的组织已升级。" - }, - "leave": { - "message": "离开" - }, - "leaveOrganizationConfirmation": { - "message": "您确定要离开此组织吗?" - }, - "leftOrganization": { - "message": "您已经离开该组织。" - }, - "defaultCollection": { - "message": "默认集合" - }, - "getHelp": { - "message": "获取帮助" - }, - "getApps": { - "message": "获取应用" - }, - "loggedInAs": { - "message": "已登录为" - }, - "eventLogs": { - "message": "事件日志" - }, - "people": { - "message": "人员" - }, - "policies": { - "message": "策略" - }, - "editPolicy": { - "message": "编辑策略" - }, - "groups": { - "message": "群组" - }, - "newGroup": { - "message": "新建群组" - }, - "addGroup": { - "message": "添加群组" - }, - "editGroup": { - "message": "编辑群组" - }, - "deleteGroupConfirmation": { - "message": "您确定要删除此群组吗?" - }, - "removeUserConfirmation": { - "message": "您确实要删除此用户吗?" - }, - "externalId": { - "message": "外部 ID" - }, - "externalIdDesc": { - "message": "外部 ID 可用作参考,或将此资源与用户目录等外部系统联系起来。" - }, - "accessControl": { - "message": "访问控制" - }, - "groupAccessAllItems": { - "message": "此群组可以访问和修改所有项目。" - }, - "groupAccessSelectedCollections": { - "message": "此群组只能访问选定的集合。" - }, - "readOnly": { - "message": "只读" - }, - "newCollection": { - "message": "新建集合" - }, - "addCollection": { - "message": "添加集合" - }, - "editCollection": { - "message": "编辑集合" - }, - "deleteCollectionConfirmation": { - "message": "你确定要删除此集合吗?" - }, - "editUser": { - "message": "编辑用户" - }, - "inviteUser": { - "message": "邀请用户" - }, - "inviteUserDesc": { - "message": "在下面输入 Bitwarden 帐户的电子邮件地址,以邀请新用户加入您的组织。如果他们没有 Bitwarden 帐户,将会提示他们创建一个。" - }, - "inviteMultipleEmailDesc": { - "message": "通过使用逗号分隔的电子邮件地址列表,您可以一次邀请 $COUNT$ 位用户。", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "此用户正在使用两步登录来保护他们的帐户。" - }, - "userAccessAllItems": { - "message": "此用户可以访问和修改所有项目。" - }, - "userAccessSelectedCollections": { - "message": "此用户只能访问选定的集合。" - }, - "search": { - "message": "搜索" - }, - "invited": { - "message": "已邀请" - }, - "accepted": { - "message": "已接受" - }, - "confirmed": { - "message": "已确认" - }, - "owner": { - "message": "所有者" - }, - "ownerDesc": { - "message": "可以管理组织的所有方面的最高权限用户。" - }, - "admin": { - "message": "管理员" - }, - "adminDesc": { - "message": " 管理员可以访问和管理组织中的所有项目、集合和用户。" - }, - "user": { - "message": "用户" - }, - "userDesc": { - "message": "具有对组织所分配的集合有访问权限的普通用户。" - }, - "manager": { - "message": "经理" - }, - "managerDesc": { - "message": "经理可以访问和管理组织所分配的集合。" - }, - "all": { - "message": "全部" - }, - "refresh": { - "message": "刷新" - }, - "timestamp": { - "message": "时间戳" - }, - "event": { - "message": "事件" - }, - "unknown": { - "message": "未知" - }, - "loadMore": { - "message": "加载更多" - }, - "mobile": { - "message": "手机版应用", - "description": "Mobile app" - }, - "extension": { - "message": "扩展", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "桌面版应用", - "description": "Desktop app" - }, - "webVault": { - "message": "网页密码库" - }, - "loggedIn": { - "message": "已登录。" - }, - "changedPassword": { - "message": "帐户密码已更改。" - }, - "enabledUpdated2fa": { - "message": "已启用/更新两步登录。" - }, - "disabled2fa": { - "message": "两步登录已禁用。" - }, - "recovered2fa": { - "message": "已从两步登录中恢复帐户。" - }, - "failedLogin": { - "message": "登录失败,密码不正确。" - }, - "failedLogin2fa": { - "message": "登录失败,两步登录不正确。" - }, - "exportedVault": { - "message": "已导出密码库。" - }, - "exportedOrganizationVault": { - "message": "已导出组织密码库。" - }, - "editedOrgSettings": { - "message": "已编辑组织设置。" - }, - "createdItemId": { - "message": "已创建项目 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "已编辑项目 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "项目 $ID$ 已发送到回收站。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "已共享项目 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "查看了项目 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "查看了项目 $ID$ 的密码。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "查看了项目 $ID$ 的隐藏字段。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "查看了项目 $ID$ 的安全代码。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "复制了项目 $ID$ 的密码。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "复制了项目 $ID$ 隐藏字段。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "复制项目 $ID$ 的安全代码。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "自动填充了项目 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "已创建集合 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "已编辑集合 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "已删除集合 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "已编辑策略 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "已创建群组 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "已编辑群组 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "已删除群组 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "已删除用户 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "已为项目 $ID$ 创建附件。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "已删除项目 $ID$ 的附件。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "已为项目 $ID$ 编辑集合。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "已邀请用户 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "已确认用户 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "已编辑用户 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "已为用户 $ID$ 编辑群组。", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "为用户 $ID$ 取消链接 SSO。", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "设备" - }, - "view": { - "message": "查看" - }, - "invalidDateRange": { - "message": "无效的日期范围。" - }, - "errorOccurred": { - "message": "发生错误。" - }, - "userAccess": { - "message": "用户权限" - }, - "userType": { - "message": "用户类型" - }, - "groupAccess": { - "message": "群组权限" - }, - "groupAccessUserDesc": { - "message": "编辑此用户隶属的群组。" - }, - "invitedUsers": { - "message": "受邀用户。" - }, - "resendInvitation": { - "message": "重新发送邀请" - }, - "hasBeenReinvited": { - "message": "已重新邀请 $USER$。", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "确认" - }, - "confirmUser": { - "message": "确认用户" - }, - "hasBeenConfirmed": { - "message": "已确认 $USER$。", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "确认用户" - }, - "usersNeedConfirmed": { - "message": "您的用户已经接受了发给他们的邀请,但仍需要被确认。用户在被确认之前将无法访问组织。" - }, - "startDate": { - "message": "开始日期" - }, - "endDate": { - "message": "结束日期" - }, - "verifyEmail": { - "message": "验证电子邮件" - }, - "verifyEmailDesc": { - "message": "验证您的电子邮件地址来解锁所有功能。" - }, - "verifyEmailFirst": { - "message": "首先必须验证您帐户的电子邮件地址。" - }, - "checkInboxForVerification": { - "message": "检查您的电子邮箱以获取验证链接。" - }, - "emailVerified": { - "message": "您的电子邮件已验证。" - }, - "emailVerifiedFailed": { - "message": "无法验证您的电子邮件。尝试发送新的验证电子邮件。" - }, - "updateBrowser": { - "message": "更新浏览器" - }, - "updateBrowserDesc": { - "message": "您使用的是不受支持的Web浏览器。 网页密码库可能无法正常运行。" - }, - "joinOrganization": { - "message": "加入组织" - }, - "joinOrganizationDesc": { - "message": "邀请您加入下面的组织。要接受邀请,您需要登录或者创建一个 Bitwarden 账户。" - }, - "inviteAccepted": { - "message": "邀请已接受" - }, - "inviteAcceptedDesc": { - "message": "管理员确认您的成员资格后,您将能访问此组织。到时我们将向您发送电子邮件通知。" - }, - "inviteAcceptFailed": { - "message": "无法接受邀请。请向组织管理员请求重新发送邀请。" - }, - "inviteAcceptFailedShort": { - "message": "无法接受邀请。 $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "记住电子邮件" - }, - "recoverAccountTwoStepDesc": { - "message": "如果您无法通过常规的两步登录方式访问您的帐户,您可以使用两步登录恢复代码来禁用帐户上的所有两步登录提供程序。" - }, - "recoverAccountTwoStep": { - "message": "恢复帐户两步登录" - }, - "twoStepRecoverDisabled": { - "message": "您的帐户已禁用两步登录。" - }, - "learnMore": { - "message": "进一步了解" - }, - "deleteRecoverDesc": { - "message": "请在下面输入您的电子邮件地址以恢复和删除您的帐户。" - }, - "deleteRecoverEmailSent": { - "message": "如果您的帐户存在,我们已经向您发送了电子邮件,其中包含了进一步说明。" - }, - "deleteRecoverConfirmDesc": { - "message": "您已请求删除您的 Bitwarden 帐户。单击下面的按钮以确认。" - }, - "myOrganization": { - "message": "我的组织" - }, - "deleteOrganization": { - "message": "删除组织" - }, - "deleteOrganizationDesc": { - "message": "接下来将删除该组织和所有相关数据。个人用户帐户将保留,但不再与该组织关联。 " - }, - "deleteOrganizationWarning": { - "message": "删除组织是永久的,不能被撤消。" - }, - "organizationDeleted": { - "message": "组织已删除" - }, - "organizationDeletedDesc": { - "message": "该组织和所有相关数据已删除。" - }, - "organizationUpdated": { - "message": "组织已更新" - }, - "taxInformation": { - "message": "税务信息" - }, - "taxInformationDesc": { - "message": "对于美国境内的客户,邮政编码必须满足销售税要求。 对于其他国家,您可以选择提供一个税号(VAT/GST)和/或地址来显示在您的发票上。" - }, - "billingPlan": { - "message": "计划", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "更改计划", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "为了将您的帐户升级到另一个计划,请提供以下信息。同时请确保您账户已添加有一个有效的支付方式。", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "如果您想更改计划,请联系客户支持。同时请确保您账户已添加有一个有效的支付方式。。", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "收据 #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "查看收据" - }, - "downloadInvoice": { - "message": "下载收据" - }, - "verifyBankAccount": { - "message": "验证银行帐户" - }, - "verifyBankAccountDesc": { - "message": "我们已将两笔小额转账存入您的银行账户(将会在 1-2 个工作日到账)。输入这些金额来验证银行账户。" - }, - "verifyBankAccountInitialDesc": { - "message": "只有美国用户才能使用银行账户付款。您需要验证自己的银行账户。我们将在 1-2 个工作日内进行两笔小额转账,在组织的结算页面输入这些金额来验证银行账户。" - }, - "verifyBankAccountFailureWarning": { - "message": "验证银行账户失败将会错过支付,您的订阅将失效。" - }, - "verifiedBankAccount": { - "message": "您的银行账户已验证。" - }, - "bankAccount": { - "message": "银行账户" - }, - "amountX": { - "message": "金额 $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "汇款路线号码", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "帐户号码" - }, - "accountHolderName": { - "message": "帐户持有人姓名" - }, - "bankAccountType": { - "message": "帐户类型" - }, - "bankAccountTypeCompany": { - "message": "公司" - }, - "bankAccountTypeIndividual": { - "message": "个人" - }, - "enterInstallationId": { - "message": "输入您的安装 ID" - }, - "addSeats": { - "message": "添加席位", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "移除席位", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "您的订阅一共允许 $COUNT$ 位用户。", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "要添加的席位数" - }, - "seatsToRemove": { - "message": "要移除的席位数" - }, - "seatsAddNote": { - "message": "添加用户席位将会调整账单总金额,并立即通过您的支付方式进行扣款。 第一笔费用将按当前结算周期的剩余时间按比例分配。" - }, - "seatsRemoveNote": { - "message": "移除用户席位将对您的帐单总金额进行调整,并按比例计入下一笔帐单费用。" - }, - "adjustedSeats": { - "message": "调整了 $AMOUNT$ 个用户席位。", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "密钥已更新" - }, - "updateKeyTitle": { - "message": "更新密钥" - }, - "updateEncryptionKey": { - "message": "更新加密密钥" - }, - "updateEncryptionKeyShortDesc": { - "message": "您目前正在使用过时的加密方案。" - }, - "updateEncryptionKeyDesc": { - "message": "我们已经采用更强大的加密密钥,提供了更强的安全性和更新的功能。更新您的加密密钥非常简单快捷,只需要输入主密码。此次更新最终将强制执行。" - }, - "updateEncryptionKeyWarning": { - "message": "更新加密密钥后,您需要登出所有正在使用的 Bitwarden 应用(比如手机版应用或者浏览器扩展)后重新登录。登出失败或者重新登录失败(下载新的加密密钥)可能会导致数据损坏。我们会尝试自动为您登出,但是,可能会有所延迟。" - }, - "updateEncryptionKeyExportWarning": { - "message": "您保存的任何已加密导出也将变为无效。" - }, - "subscription": { - "message": "订阅" - }, - "loading": { - "message": "正在加载" - }, - "upgrade": { - "message": "升级" - }, - "upgradeOrganization": { - "message": "升级组织" - }, - "upgradeOrganizationDesc": { - "message": "本功能对免费组织不可用。切换到付费计划以解锁更多功能。" - }, - "createOrganizationStep1": { - "message": "创建组织:第一步" - }, - "createOrganizationCreatePersonalAccount": { - "message": "在创建组织之前,首先需要创建一个免费的个人帐户。" - }, - "refunded": { - "message": "退款" - }, - "nothingSelected": { - "message": "您没有选择任何内容。" - }, - "acceptPolicies": { - "message": "选中此框表示您同意:" - }, - "acceptPoliciesError": { - "message": "尚未同意服务条款和隐私政策。" - }, - "termsOfService": { - "message": "服务条款" - }, - "privacyPolicy": { - "message": "隐私条款" - }, - "filters": { - "message": "筛选器" - }, - "vaultTimeout": { - "message": "密码库超时" - }, - "vaultTimeoutDesc": { - "message": "选择您的密码库何时超时并执行所选的动作。" - }, - "oneMinute": { - "message": "1 分钟" - }, - "fiveMinutes": { - "message": "5 分钟" - }, - "fifteenMinutes": { - "message": "15 分钟" - }, - "thirtyMinutes": { - "message": "30 分钟" - }, - "oneHour": { - "message": "1 小时" - }, - "fourHours": { - "message": "4 小时" - }, - "onRefresh": { - "message": "在浏览器刷新时" - }, - "dateUpdated": { - "message": "更新于", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "密码更新于", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "组织已被禁用。" - }, - "licenseIsExpired": { - "message": "授权已过期" - }, - "updatedUsers": { - "message": "更新用户" - }, - "selected": { - "message": "已选择" - }, - "ownership": { - "message": "所有权" - }, - "whoOwnsThisItem": { - "message": "谁拥有这个项目?" - }, - "strong": { - "message": "强", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "良好", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "弱", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "很弱", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "脆弱的主密码" - }, - "weakMasterPasswordDesc": { - "message": "您选择的主密码较弱。您应该使用强密码(或密码短语)来正确保护您的 Bitwarden 账户。仍要使用此主密码吗?" - }, - "rotateAccountEncKey": { - "message": "同时轮换我的帐户的加密密钥" - }, - "rotateEncKeyTitle": { - "message": "轮换加密密钥" - }, - "rotateEncKeyConfirmation": { - "message": "您确定要轮换帐户的加密密钥吗?" - }, - "attachmentsNeedFix": { - "message": "此项目有需要修复的旧文件附件。" - }, - "attachmentFixDesc": { - "message": "这是一个需要修复的旧文件附件。点击了解更多。" - }, - "fix": { - "message": "修复", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "需要先修复密码库中的旧文件附件,然后才能轮换帐户的加密密钥。" - }, - "yourAccountsFingerprint": { - "message": "您的账户的指纹短语", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "为确保加密密钥的完整性,继续之前请先验证用户的指纹短语。", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "不要再次要求验证指纹短语", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "免费", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "API 密钥" - }, - "apiKeyDesc": { - "message": "您的 API 密钥可以用来验证 Bitwarden 公共 API。" - }, - "apiKeyRotateDesc": { - "message": "轮换 API 密钥将使前一个密钥无效。如果你认为当前密钥不再安全,你可以轮换您的 API 密钥。" - }, - "apiKeyWarning": { - "message": "您的 API 密钥拥有组织的全部访问权限。请将其存放在安全的地方。" - }, - "userApiKeyDesc": { - "message": "您的 API 密钥可用于在 Bitwarden CLI 中进行身份验证。" - }, - "userApiKeyWarning": { - "message": "您的 API 密钥是另一套等效的身份验证机制。请严格保密。" - }, - "oauth2ClientCredentials": { - "message": "OAuth 2.0 客户端证书", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "查看 API 密钥" - }, - "rotateApiKey": { - "message": "轮换 API 密钥" - }, - "selectOneCollection": { - "message": "您必须至少选择一个集合。" - }, - "couldNotChargeCardPayInvoice": { - "message": "我们无法从您的卡中扣款。请查看并支付下面列出的未支付收据。" - }, - "inAppPurchase": { - "message": "应用内购买" - }, - "cannotPerformInAppPurchase": { - "message": "使用应用内购买付款方法时,您不能执行此操作。" - }, - "manageSubscriptionFromStore": { - "message": "您必须在进行应用内购买的商店中管理订阅。" - }, - "minLength": { - "message": "最小长度" - }, - "clone": { - "message": "克隆" - }, - "masterPassPolicyDesc": { - "message": "设置主密码强度的最低要求。" - }, - "twoStepLoginPolicyDesc": { - "message": "要求用户在个人帐户上设置两步登录。" - }, - "twoStepLoginPolicyWarning": { - "message": "组织成员中个人账户未启用两步登录的将被从组织中删除,并将收到一封关于这一变化的电子邮件。" - }, - "twoStepLoginPolicyUserWarning": { - "message": "您的组织要求您在您的个人账户上启用两步登录。 如果您禁用所有两步登录提供程序,您将自动被这些组织删除。" - }, - "passwordGeneratorPolicyDesc": { - "message": "设置密码生成器配置的最低要求。" - }, - "passwordGeneratorPolicyInEffect": { - "message": "一个或多个组织策略正在影响您的生成器设置。" - }, - "masterPasswordPolicyInEffect": { - "message": "一个或多个组织策略要求您的主密码满足以下要求:" - }, - "policyInEffectMinComplexity": { - "message": "最小复杂度为 $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "最小长度为 $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "至少包含一个大写字母" - }, - "policyInEffectLowercase": { - "message": "至少包含一个小写字母" - }, - "policyInEffectNumbers": { - "message": "至少包含一个数字" - }, - "policyInEffectSpecial": { - "message": "至少包含一个下列特殊字符:$CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "您的新主密码不符合策略要求。" - }, - "minimumNumberOfWords": { - "message": "最少单词数" - }, - "defaultType": { - "message": "默认类型" - }, - "userPreference": { - "message": "用户偏好设置" - }, - "vaultTimeoutAction": { - "message": "密码库超时动作" - }, - "vaultTimeoutActionLockDesc": { - "message": "已锁定的密码库需要重新输入主密码才能再次访问。" - }, - "vaultTimeoutActionLogOutDesc": { - "message": "已登出的密码库需要重新认证才能再次访问。" - }, - "lock": { - "message": "锁定", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "回收站", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "搜索回收站" - }, - "permanentlyDelete": { - "message": "永久删除" - }, - "permanentlyDeleteSelected": { - "message": "永久删除选中项目" - }, - "permanentlyDeleteItem": { - "message": "永久删除项目" - }, - "permanentlyDeleteItemConfirmation": { - "message": "您确定要永久删除此项目吗?" - }, - "permanentlyDeletedItem": { - "message": "已永久删除项目" - }, - "permanentlyDeletedItems": { - "message": "已永久删除项目" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "您选择了要永久删除 $COUNT$ 个项目。确定要永久删除所有这些项目吗?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "已永久删除项目 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "恢复" - }, - "restoreSelected": { - "message": "恢复选中的项目" - }, - "restoreItem": { - "message": "恢复项目" - }, - "restoredItem": { - "message": "已恢复项目" - }, - "restoredItems": { - "message": "已恢复项目" - }, - "restoreItemConfirmation": { - "message": "确定要恢复此项目吗?" - }, - "restoreItems": { - "message": "恢复项目" - }, - "restoreSelectedItemsDesc": { - "message": "您选择了要恢复 $COUNT$ 个项目。确实要恢复所有这些项目吗?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "已恢复项目 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "超时后登出将解除对密码库的所有访问权限,并需要进行在线认证。确定使用此设置吗?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "超时动作确认" - }, - "hidePasswords": { - "message": "隐藏密码" - }, - "countryPostalCodeRequiredDesc": { - "message": "我们仅使用此信息来计算营业税和财务报告。" - }, - "includeVAT": { - "message": "包括 VAT/GST 信息(可选)" - }, - "taxIdNumber": { - "message": "VAT/GST 税号" - }, - "taxInfoUpdated": { - "message": "税务信息已更新。" - }, - "setMasterPassword": { - "message": "设置主密码" - }, - "ssoCompleteRegistration": { - "message": "为使用单点登录(SSO)功能,请设置一个主密码以访问和保护您的密码库。" - }, - "identifier": { - "message": "标识符" - }, - "organizationIdentifier": { - "message": "组织标识符" - }, - "ssoLogInWithOrgIdentifier": { - "message": "要使用您组织的单点登录(SSO)门户登录。请首先输入您组织的标识符。" - }, - "enterpriseSingleSignOn": { - "message": "企业单点登录(SSO)" - }, - "ssoHandOff": { - "message": "您现在可以在扩展中关闭此标签并继续。" - }, - "businessPortal": { - "message": "业务门户", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "包含所有团队版功能" - }, - "includeSsoAuthentication": { - "message": "通过 SAML 2.0 和 OpenID 连接进行 SSO 身份验证" - }, - "includeEnterprisePolicies": { - "message": "企业策略" - }, - "ssoValidationFailed": { - "message": "SSO 验证失败" - }, - "ssoIdentifierRequired": { - "message": "需要组织标识符。" - }, - "unlinkSso": { - "message": "取消链接 SSO" - }, - "linkSso": { - "message": "链接 SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "策略配置已转移,此页面很快将废弃。请改用下方的业务门户策略页面。" - }, - "singleOrg": { - "message": "单一组织" - }, - "singleOrgDesc": { - "message": "限制用户加入任何其他组织。" - }, - "singleOrgBlockCreateMessage": { - "message": "您当前的组织策略禁止您加入多个组织。 请联系您的组织管理员,或从其他 Bitwarden 帐户注册。" - }, - "singleOrgPolicyWarning": { - "message": "非所有者或管理员并且已是其他组织成员的组织成员将从您的组织中移除。" - }, - "requireSso": { - "message": "单点登录认证" - }, - "requireSsoPolicyDesc": { - "message": "要求用户使用企业单点登录(SSO)方式登录。" - }, - "prerequisite": { - "message": "先决条件" - }, - "requireSsoPolicyReq": { - "message": "启用此策略前,需先启用单一组织企业策略。" - }, - "requireSsoPolicyReqError": { - "message": "单一组织策略未启用。" - }, - "requireSsoExemption": { - "message": "组织的所有者和管理员豁免此策略。" - }, - "sendTypeFile": { - "message": "文件" - }, - "sendTypeText": { - "message": "文本" - }, - "createSend": { - "message": "创建新 Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "编辑 Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Send 已创建", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Send 已编辑", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Send 已删除", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "删除 Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "确定要删除此 Send 吗?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "这是什么类型的 Send?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "删除日期" - }, - "deletionDateDesc": { - "message": "此 Send 将在指定的日期和时间后被永久删除。", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "到期日期" - }, - "expirationDateDesc": { - "message": "如果设置了,此 Send 的访问将在指定的日期和时间后过期。", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "最大访问次数" - }, - "maxAccessCountDesc": { - "message": "如果设置了,达到最大访问次数后用户将无法访问此 Send。", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "当前访问次数" - }, - "sendPasswordDesc": { - "message": "可选,用户需要提供密码才能访问此 Send。", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "关于此 Send 的私密备注。", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "已禁用" - }, - "sendLink": { - "message": "Send 链接", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "复制 Send 链接", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "移除密码" - }, - "removedPassword": { - "message": "密码已移除" - }, - "removePasswordConfirmation": { - "message": "确定移除此密码?" - }, - "disableThisSend": { - "message": "禁用此 Send 则没有人能访问它。", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "所有 Send" - }, - "maxAccessCountReached": { - "message": "已达最大访问次数" - }, - "pendingDeletion": { - "message": "等待删除" - }, - "expired": { - "message": "已过期" - }, - "searchSends": { - "message": "搜索 Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "此 Send 受到密码保护。在下方输入密码以继续。", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "不知道密码?请向提供此 Send 的发件人索要密码。", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "此 Send 默认隐藏。您可使用下方的按钮切换其可见性。", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "下载文件" - }, - "sendAccessUnavailable": { - "message": "您尝试访问的 Send 不存在或不再可用。", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "没有可列出的 Send。", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "紧急访问" - }, - "emergencyAccessDesc": { - "message": "授予和管理受信任联系人的紧急访问权限。受信任的联系人可以在紧急情况下请求获取查看或接管您账户的权限。查阅我们的帮助页面以了解更多关于零知识共享的工作原理和细节。" - }, - "trustedEmergencyContacts": { - "message": "可信的紧急联系人" - }, - "noTrustedContacts": { - "message": "您尚未添加任何紧急联系人,请邀请可信的联系人以开始。" - }, - "addEmergencyContact": { - "message": "添加紧急联系人" - }, - "designatedEmergencyContacts": { - "message": "已指定为紧急联系人" - }, - "noGrantedAccess": { - "message": "您尚未被任何人指定为紧急联系人。" - }, - "inviteEmergencyContact": { - "message": "邀请紧急联系人" - }, - "editEmergencyContact": { - "message": "编辑紧急联系人" - }, - "inviteEmergencyContactDesc": { - "message": "通过在下面输入他们的 Bitwarden 帐户电子邮件地址来邀请新的紧急联系人。 如果他们还没有 Bitwarden 帐户,将提示创建一个新帐户。" - }, - "emergencyAccessRecoveryInitiated": { - "message": "紧急访问已发起" - }, - "emergencyAccessRecoveryApproved": { - "message": "紧急访问已批准" - }, - "viewDesc": { - "message": "可以查看您拥有的密码库中的所有项目。" - }, - "takeover": { - "message": "接管" - }, - "takeoverDesc": { - "message": "可以使用新的主密码重置您的帐户。" - }, - "waitTime": { - "message": "等待时间" - }, - "waitTimeDesc": { - "message": "自动授予访问权限之前的等待时间。" - }, - "oneDay": { - "message": "1 天" - }, - "days": { - "message": "$DAYS$ 天", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "已邀请用户。" - }, - "acceptEmergencyAccess": { - "message": "您已被邀请成为上面所列用户的紧急联系人。要接受邀请,您需要登录或创建一个新的 Bitwarden 帐户。" - }, - "emergencyInviteAcceptFailed": { - "message": "无法接受邀请。请用户发送新的邀请。" - }, - "emergencyInviteAcceptFailedShort": { - "message": "无法接受邀请。$DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "身份确认后,您可以访问该用户的紧急选项。当发生这种情况时,我们会向您发送一封电子邮件。" - }, - "requestAccess": { - "message": "请求访问权限" - }, - "requestAccessConfirmation": { - "message": "您确定要申请紧急访问吗?这将在 $WAITTIME$ 天后或当用户手动批准请求时获得访问权限。", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "来自 $USER$ 的紧急访问请求。我们将通过电子邮件通知您何时可以继续。", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "批准" - }, - "reject": { - "message": "拒绝" - }, - "approveAccessConfirmation": { - "message": "您确定要批准紧急访问吗?这将允许 $USER$ $ACTION$ 您的帐户。", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "紧急访问已批准。" - }, - "emergencyRejected": { - "message": "紧急访问已拒绝" - }, - "passwordResetFor": { - "message": "$USER$ 的密码已重置。您现在可以使用新密码登录了。", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "个人所有权" - }, - "personalOwnershipPolicyDesc": { - "message": "要求用户通过移除个人所有权选项将密码库项目保存到组织。" - }, - "personalOwnershipExemption": { - "message": "组织的所有者和管理员豁免此策略。" - }, - "personalOwnershipSubmitError": { - "message": "由于企业策略,您被限制为保存项目到您的个人密码库。将所有权选项更改为组织,并从可用的集合中选择。" - }, - "modifiedPolicyId": { - "message": "策略 $ID$ 已修改。", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "计划价格" - }, - "estimatedTax": { - "message": "预计税额" - }, - "custom": { - "message": "自定义" - }, - "customDesc": { - "message": "高级配置允许对用户权限进行更多的粒度控制。" - }, - "permissions": { - "message": "权限" - }, - "accessBusinessPortal": { - "message": "访问业务门户" - }, - "accessEventLogs": { - "message": "访问事件日志" - }, - "accessImportExport": { - "message": "访问导入/导出" - }, - "accessReports": { - "message": "访问报告" - }, - "manageAllCollections": { - "message": "管理所有集合" - }, - "manageAssignedCollections": { - "message": "管理已分配的集合" - }, - "manageGroups": { - "message": "管理群组" - }, - "managePolicies": { - "message": "管理策略" - }, - "manageSso": { - "message": "管理 SSO" - }, - "manageUsers": { - "message": "管理用户" - }, - "disableRequireSsoError": { - "message": "您必须手动禁用单点登录认证策略,然后才能禁用此政策。" - }, - "personalOwnershipPolicyInEffect": { - "message": "组织策略正在影响您的所有权选项。" - }, - "personalOwnershipCheckboxDesc": { - "message": "为组织用户禁用个人所有权" - }, - "textHiddenByDefault": { - "message": "访问 Send 时,默认将隐藏文本", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/locales/zh_TW/messages.json b/locales/zh_TW/messages.json deleted file mode 100644 index 5ce312a8..00000000 --- a/locales/zh_TW/messages.json +++ /dev/null @@ -1,3632 +0,0 @@ -{ - "pageTitle": { - "message": "$APP_NAME$ 網頁版密碼庫", - "description": "The title of the website in the browser window.", - "placeholders": { - "app_name": { - "content": "$1", - "example": "Bitwarden" - } - } - }, - "whatTypeOfItem": { - "message": "帳戶類型為何?" - }, - "name": { - "message": "名稱" - }, - "uri": { - "message": "URI" - }, - "uriPosition": { - "message": "URI $POSITION$", - "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", - "placeholders": { - "position": { - "content": "$1", - "example": "2" - } - } - }, - "newUri": { - "message": "新增 URI" - }, - "username": { - "message": "使用者名稱" - }, - "password": { - "message": "密碼" - }, - "newPassword": { - "message": "新密碼" - }, - "passphrase": { - "message": "密碼短語" - }, - "notes": { - "message": "筆記" - }, - "customFields": { - "message": "自訂欄位" - }, - "cardholderName": { - "message": "持卡人姓名" - }, - "number": { - "message": "號碼" - }, - "brand": { - "message": "品牌" - }, - "expiration": { - "message": "到期" - }, - "securityCode": { - "message": "安全代碼 (CVV)" - }, - "identityName": { - "message": "身分名稱" - }, - "company": { - "message": "公司" - }, - "ssn": { - "message": "社會保險號碼" - }, - "passportNumber": { - "message": "護照號碼" - }, - "licenseNumber": { - "message": "許可證編號" - }, - "email": { - "message": "電子郵件" - }, - "phone": { - "message": "電話號碼" - }, - "january": { - "message": "一月" - }, - "february": { - "message": "二月" - }, - "march": { - "message": "三月" - }, - "april": { - "message": "四月" - }, - "may": { - "message": "五月" - }, - "june": { - "message": "六月" - }, - "july": { - "message": "七月" - }, - "august": { - "message": "八月" - }, - "september": { - "message": "九月" - }, - "october": { - "message": "十月" - }, - "november": { - "message": "十一月" - }, - "december": { - "message": "十二月" - }, - "title": { - "message": "稱呼" - }, - "mr": { - "message": "Mr" - }, - "mrs": { - "message": "Mrs" - }, - "ms": { - "message": "Ms" - }, - "dr": { - "message": "Dr" - }, - "expirationMonth": { - "message": "到期月份" - }, - "expirationYear": { - "message": "到期年份" - }, - "authenticatorKeyTotp": { - "message": "驗證器金鑰 (TOTP)" - }, - "folder": { - "message": "資料夾" - }, - "newCustomField": { - "message": "新增自訂欄位" - }, - "value": { - "message": "值" - }, - "dragToSort": { - "message": "透過拖曳來排序" - }, - "cfTypeText": { - "message": "文字" - }, - "cfTypeHidden": { - "message": "隱藏" - }, - "cfTypeBoolean": { - "message": "布林值" - }, - "remove": { - "message": "移除" - }, - "unassigned": { - "message": "未指派" - }, - "noneFolder": { - "message": "(未分類)", - "description": "This is the folder for uncategorized items" - }, - "addFolder": { - "message": "新增資料夾" - }, - "editFolder": { - "message": "編輯資料夾" - }, - "baseDomain": { - "message": "基底網域" - }, - "host": { - "message": "主機", - "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." - }, - "exact": { - "message": "完全相符" - }, - "startsWith": { - "message": "開始於" - }, - "regEx": { - "message": "規則運算式", - "description": "A programming term, also known as 'RegEx'." - }, - "matchDetection": { - "message": "一致性偵測", - "description": "URI match detection for auto-fill." - }, - "defaultMatchDetection": { - "message": "預設一致性偵測", - "description": "Default URI match detection for auto-fill." - }, - "never": { - "message": "永不" - }, - "toggleVisibility": { - "message": "切換可見度" - }, - "toggleCollapse": { - "message": "切換折疊", - "description": "Toggling an expand/collapse state." - }, - "generatePassword": { - "message": "產生密碼" - }, - "checkPassword": { - "message": "檢查密碼是否已外洩。" - }, - "passwordExposed": { - "message": "此密碼已外洩了 $VALUE$ 次,應立即變更密碼。", - "placeholders": { - "value": { - "content": "$1", - "example": "2" - } - } - }, - "passwordSafe": { - "message": "任何已知的外洩密碼資料庫中都沒有此密碼,它目前是安全的。" - }, - "save": { - "message": "儲存" - }, - "cancel": { - "message": "取消" - }, - "canceled": { - "message": "已取消" - }, - "close": { - "message": "關閉" - }, - "delete": { - "message": "刪除" - }, - "favorite": { - "message": "我的最愛" - }, - "unfavorite": { - "message": "取消最愛" - }, - "edit": { - "message": "編輯" - }, - "searchCollection": { - "message": "搜尋收藏" - }, - "searchFolder": { - "message": "搜尋資料夾" - }, - "searchFavorites": { - "message": "搜尋我的最愛" - }, - "searchType": { - "message": "搜尋類型", - "description": "Search item type" - }, - "searchVault": { - "message": "搜尋" - }, - "allItems": { - "message": "所有項目" - }, - "favorites": { - "message": "我的最愛" - }, - "types": { - "message": "類型" - }, - "typeLogin": { - "message": "登入" - }, - "typeCard": { - "message": "信用卡" - }, - "typeIdentity": { - "message": "身分" - }, - "typeSecureNote": { - "message": "安全筆記" - }, - "folders": { - "message": "資料夾" - }, - "collections": { - "message": "收藏" - }, - "firstName": { - "message": "名" - }, - "middleName": { - "message": "中間名" - }, - "lastName": { - "message": "姓" - }, - "address1": { - "message": "地址 1" - }, - "address2": { - "message": "地址 2" - }, - "address3": { - "message": "地址 3" - }, - "cityTown": { - "message": "市/鎮" - }, - "stateProvince": { - "message": "州/省" - }, - "zipPostalCode": { - "message": "郵遞區號" - }, - "country": { - "message": "國家" - }, - "shared": { - "message": "共用" - }, - "attachments": { - "message": "附件" - }, - "select": { - "message": "選擇" - }, - "addItem": { - "message": "新增項目" - }, - "editItem": { - "message": "編輯項目" - }, - "viewItem": { - "message": "檢視項目" - }, - "ex": { - "message": "例如", - "description": "Short abbreviation for 'example'." - }, - "other": { - "message": "其他" - }, - "share": { - "message": "分享" - }, - "valueCopied": { - "message": "已複製 $VALUE$", - "description": "Value has been copied to the clipboard.", - "placeholders": { - "value": { - "content": "$1", - "example": "Password" - } - } - }, - "copyValue": { - "message": "複製值", - "description": "Copy value to clipboard" - }, - "copyPassword": { - "message": "複製密碼", - "description": "Copy password to clipboard" - }, - "copyUsername": { - "message": "複製使用者名稱", - "description": "Copy username to clipboard" - }, - "copyNumber": { - "message": "複製號碼", - "description": "Copy credit card number" - }, - "copySecurityCode": { - "message": "複製安全代碼", - "description": "Copy credit card security code (CVV)" - }, - "copyUri": { - "message": "複製 URI", - "description": "Copy URI to clipboard" - }, - "myVault": { - "message": "我的密碼庫" - }, - "vault": { - "message": "密碼庫" - }, - "shareSelected": { - "message": "分享選取的項目" - }, - "deleteSelected": { - "message": "刪除選取的項目" - }, - "moveSelected": { - "message": "移動選取的項目" - }, - "selectAll": { - "message": "全選" - }, - "unselectAll": { - "message": "取消全選" - }, - "launch": { - "message": "啟動" - }, - "newAttachment": { - "message": "新增附件" - }, - "deletedAttachment": { - "message": "附件已刪除" - }, - "deleteAttachmentConfirmation": { - "message": "確定要刪除此附件嗎?" - }, - "attachmentSaved": { - "message": "附件已儲存。" - }, - "file": { - "message": "檔案" - }, - "selectFile": { - "message": "選擇檔案。" - }, - "maxFileSize": { - "message": "最大檔案大小為 100MB。" - }, - "updateKey": { - "message": "更新加密金鑰前不能使用此功能。" - }, - "addedItem": { - "message": "新增項目" - }, - "editedItem": { - "message": "已編輯項目" - }, - "sharedItem": { - "message": "已分享項目" - }, - "sharedItems": { - "message": "已分享項目" - }, - "deleteItem": { - "message": "刪除項目" - }, - "deleteFolder": { - "message": "刪除資料夾" - }, - "deleteAttachment": { - "message": "刪除附件" - }, - "deleteItemConfirmation": { - "message": "確定要刪除此項目嗎?" - }, - "deletedItem": { - "message": "已刪除此項目" - }, - "deletedItems": { - "message": "已刪除項目" - }, - "movedItems": { - "message": "已移動項目" - }, - "overwritePasswordConfirmation": { - "message": "您確定要覆寫目前的密碼嗎?" - }, - "editedFolder": { - "message": "已編輯資料夾" - }, - "addedFolder": { - "message": "已新增資料夾" - }, - "deleteFolderConfirmation": { - "message": "您確定要刪除此資料夾嗎?" - }, - "deletedFolder": { - "message": "已刪除的資料夾" - }, - "loggedOut": { - "message": "已登出" - }, - "loginExpired": { - "message": "您的登入階段已過期。" - }, - "logOutConfirmation": { - "message": "您確定要登出嗎?" - }, - "logOut": { - "message": "登出" - }, - "ok": { - "message": "確定" - }, - "yes": { - "message": "是" - }, - "no": { - "message": "否" - }, - "loginOrCreateNewAccount": { - "message": "登入或建立帳戶。" - }, - "createAccount": { - "message": "建立帳戶" - }, - "logIn": { - "message": "登入" - }, - "submit": { - "message": "送出" - }, - "emailAddressDesc": { - "message": "您將使用您的電子郵件地址登入。" - }, - "yourName": { - "message": "您的姓名" - }, - "yourNameDesc": { - "message": "我們應該怎樣稱呼您?" - }, - "masterPass": { - "message": "主密碼" - }, - "masterPassDesc": { - "message": "主密碼是您存取密碼庫的密碼。請勿忘記主密碼,我們無法將您的主密碼復原或重設。" - }, - "masterPassHintDesc": { - "message": "主密碼提示可以在您忘記主密碼時幫助您回憶主密碼。" - }, - "reTypeMasterPass": { - "message": "重新輸入主密碼" - }, - "masterPassHint": { - "message": "主密碼提示 (選用)" - }, - "masterPassHintLabel": { - "message": "主密碼提示" - }, - "settings": { - "message": "設定" - }, - "passwordHint": { - "message": "密碼提示" - }, - "enterEmailToGetHint": { - "message": "請輸入您的帳户電子郵件地址以接收主密碼提示。" - }, - "getMasterPasswordHint": { - "message": "取得主密碼提示" - }, - "emailRequired": { - "message": "必須填入電子郵件地址 。" - }, - "invalidEmail": { - "message": "無效的電子郵件地址。" - }, - "masterPassRequired": { - "message": "必須填入主密碼。" - }, - "masterPassLength": { - "message": "主密碼需要至少 8 個字元。" - }, - "masterPassDoesntMatch": { - "message": "兩次填入的主密碼不一致。" - }, - "newAccountCreated": { - "message": "帳戶已建立!現在可以登入了。" - }, - "masterPassSent": { - "message": "已寄出包含您主密碼提示的電子郵件。" - }, - "unexpectedError": { - "message": "發生了未預期的錯誤。" - }, - "emailAddress": { - "message": "電子郵件地址" - }, - "yourVaultIsLocked": { - "message": "密碼庫已鎖定。驗證主密碼以繼續。" - }, - "unlock": { - "message": "解鎖" - }, - "loggedInAsEmailOn": { - "message": "已經在 $HOSTNAME$ 使用 $EMAIL$ 身份登入。", - "placeholders": { - "email": { - "content": "$1", - "example": "name@example.com" - }, - "hostname": { - "content": "$2", - "example": "bitwarden.com" - } - } - }, - "invalidMasterPassword": { - "message": "無效的主密碼" - }, - "lockNow": { - "message": "立即鎖定" - }, - "noItemsInList": { - "message": "沒有項目可顯示。" - }, - "noCollectionsInList": { - "message": "沒有可顯示的收藏。" - }, - "noGroupsInList": { - "message": "沒有可顯示的群組。" - }, - "noUsersInList": { - "message": "沒有可顯示的使用者。" - }, - "noEventsInList": { - "message": "沒有可顯示的事件。" - }, - "newOrganization": { - "message": "新增組織" - }, - "noOrganizationsList": { - "message": "您沒有加入任何組織。同一組織的使用者可以安全地分享登入帳密等資料。" - }, - "versionNumber": { - "message": "版本 $VERSION_NUMBER$", - "placeholders": { - "version_number": { - "content": "$1", - "example": "1.2.3" - } - } - }, - "enterVerificationCodeApp": { - "message": "輸入驗證器應用程式提供的 6 位數驗證碼。" - }, - "enterVerificationCodeEmail": { - "message": "輸入已傳送至 $EMAIL$ 的 6 位數驗證碼。", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "verificationCodeEmailSent": { - "message": "驗證碼已傳送至 $EMAIL$。", - "placeholders": { - "email": { - "content": "$1", - "example": "example@gmail.com" - } - } - }, - "rememberMe": { - "message": "記住我的登入資訊" - }, - "sendVerificationCodeEmailAgain": { - "message": "再次傳送​​包含驗證碼的電子郵件" - }, - "useAnotherTwoStepMethod": { - "message": "使用另一種兩步驟登入方法" - }, - "insertYubiKey": { - "message": "將您的 YubiKey 插入電腦的 USB 連接埠,然後按一下它的按鈕。" - }, - "insertU2f": { - "message": "將您的安全金鑰插入電腦的 USB 連接埠,然後按一下它的按鈕(如有的話)。" - }, - "loginUnavailable": { - "message": "無法登入" - }, - "noTwoStepProviders": { - "message": "此帳戶已啟用兩步驟登入,但是本瀏覽器不支援已設定的兩步驟登入方式。" - }, - "noTwoStepProviders2": { - "message": "請使用已支援的瀏覽器(例如 Chrome ),及/或新增可以更好地跨瀏覽器的兩步驟登入方法(例如驗證器應用程式)。" - }, - "twoStepOptions": { - "message": "兩步驟登入選項" - }, - "recoveryCodeDesc": { - "message": "無法使用任何兩步驟登入方式?用復原碼停用所有兩步驟登入方式。" - }, - "recoveryCodeTitle": { - "message": "復原碼" - }, - "authenticatorAppTitle": { - "message": "驗證器應用程式" - }, - "authenticatorAppDesc": { - "message": "使用驗證器應用程式 (如 Authy 或 Google Authenticator) 產生基於時間的驗證碼。", - "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." - }, - "yubiKeyTitle": { - "message": "YubiKey OTP 安全金鑰" - }, - "yubiKeyDesc": { - "message": "使用 YubiKey 存取您的帳戶。相容於 YubiKey 4, 4 Nano, 4C, 和 NEO 裝置。" - }, - "duoDesc": { - "message": "與 Duo Security 驗證,可使用 Duo Mobile 程式, SMS ,致電或 U2F 安全金鑰。", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "duoOrganizationDesc": { - "message": "使用 Duo Security 驗證您的組織,可使用 Duo Mobile 程式, SMS ,致電或 U2F 安全金鑰。", - "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." - }, - "u2fDesc": { - "message": "使用任何啟用了 FIDO U2F 的安全金鑰來存取您的帳戶。" - }, - "u2fTitle": { - "message": "FIDO U2F 安全金鑰" - }, - "emailTitle": { - "message": "電子郵件" - }, - "emailDesc": { - "message": "驗證碼將使用電子郵件傳送給您。" - }, - "continue": { - "message": "繼續" - }, - "organization": { - "message": "組織" - }, - "organizations": { - "message": "組織" - }, - "shareDesc": { - "message": "選擇您希望分享這個項目的組織。項目的擁有權將會轉移到組織。一經分享,您將不再是此項目的直接擁有者。" - }, - "shareManyDesc": { - "message": "選擇您希望分享這些項目的組織。這些項目的擁有權將會轉移到組織。一經分享,您將不再是這些項目的直接擁有者。" - }, - "collectionsDesc": { - "message": "編輯與此項目共享的集合。只有具有這些集合存取權限的組織使用者才能夠看到此項目。" - }, - "deleteSelectedItemsDesc": { - "message": "您已經選取了 $COUNT$ 個項目。確定要刪除這些項目嗎 ?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "moveSelectedItemsDesc": { - "message": "選擇要將這 $COUNT$ 個項目移動到的資料夾。", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "shareSelectedItemsCountDesc": { - "message": "您選擇了 $COUNT$ 個項目。可分享 $SHAREABLE_COUNT$ 個項目,不可分享 $NONSHAREABLE_COUNT$ 個項目。", - "placeholders": { - "count": { - "content": "$1", - "example": "10" - }, - "shareable_count": { - "content": "$2", - "example": "8" - }, - "nonshareable_count": { - "content": "$3", - "example": "2" - } - } - }, - "verificationCodeTotp": { - "message": "驗證碼 (TOTP)" - }, - "copyVerificationCode": { - "message": "複製驗證碼" - }, - "warning": { - "message": "警告" - }, - "confirmVaultExport": { - "message": "確認匯出密碼庫" - }, - "exportWarningDesc": { - "message": "您的密碼將匯出成未加密的. csv 檔案。您不應將它存放或經由未經加密的方式傳送(例如電子郵件)。用完後請立即將它刪除。" - }, - "encExportWarningDesc": { - "message": "將使用您帳號的加密金鑰來加密匯出資料,若您更新了帳號的加密金鑰,請重新匯出,才有辦法解密匯出的檔案。" - }, - "exportMasterPassword": { - "message": "輸入您的主密碼以匯出密碼庫資料。" - }, - "exportVault": { - "message": "匯出密碼庫" - }, - "fileFormat": { - "message": "檔案格式" - }, - "exportSuccess": { - "message": "已匯出您的密碼庫資料。" - }, - "passwordGenerator": { - "message": "密碼產生器" - }, - "minComplexityScore": { - "message": "最小複雜性分數" - }, - "minNumbers": { - "message": "最少數字位數" - }, - "minSpecial": { - "message": "最少符號位數", - "description": "Minimum Special Characters" - }, - "ambiguous": { - "message": "避免易混淆的字元" - }, - "regeneratePassword": { - "message": "重新產生密碼" - }, - "length": { - "message": "長度" - }, - "numWords": { - "message": "字數" - }, - "wordSeparator": { - "message": "文字分隔字元" - }, - "capitalize": { - "message": "大寫", - "description": "Make the first letter of a work uppercase." - }, - "includeNumber": { - "message": "包含數字" - }, - "passwordHistory": { - "message": "密碼歷史記錄" - }, - "noPasswordsInList": { - "message": "沒有密碼可顯示。" - }, - "clear": { - "message": "清除", - "description": "To clear something out. example: To clear browser history." - }, - "accountUpdated": { - "message": "帳戶已更新" - }, - "changeEmail": { - "message": "變更電子郵件地址" - }, - "newEmail": { - "message": "新的電子郵件地址" - }, - "code": { - "message": "代碼" - }, - "changeEmailDesc": { - "message": "We have emailed a verification code to $EMAIL$. Please check your email for this code and enter it below to finalize your the email address change.", - "placeholders": { - "email": { - "content": "$1", - "example": "john.smith@example.com" - } - } - }, - "loggedOutWarning": { - "message": "接下來會登出目前的登入階段,並要求您重新登入。其他裝置上的登入階段最多會保持一個小時。" - }, - "emailChanged": { - "message": "已變更電子郵件地址" - }, - "logBackIn": { - "message": "請重新登入。" - }, - "logBackInOthersToo": { - "message": "請重新登入。如果您還在使用其他 Bitwarden 應用程式,也請登出並重新登入。" - }, - "changeMasterPassword": { - "message": "變更主密碼" - }, - "masterPasswordChanged": { - "message": "已變更主密碼" - }, - "currentMasterPass": { - "message": "目前的主密碼" - }, - "newMasterPass": { - "message": "新的主密碼" - }, - "confirmNewMasterPass": { - "message": "確認新的主密碼" - }, - "encKeySettings": { - "message": "加密金鑰設定" - }, - "kdfAlgorithm": { - "message": "KDF 演算法" - }, - "kdfIterations": { - "message": "KDF 迭代" - }, - "kdfIterationsDesc": { - "message": "較高的 KDF 迭代次數可以避免您的主密碼遭到暴力破解。我們建議 $VALUE$ 或更高。", - "placeholders": { - "value": { - "content": "$1", - "example": "100,000" - } - } - }, - "kdfIterationsWarning": { - "message": "若將 KDF 迭代次數設太高會導致在 CPU 較慢的裝置上登入 ( 與解鎖) Bitwarden 時降低效能。我們建議您增加 $INCREMENT$ 的值並且在所有的裝置上測試。", - "placeholders": { - "increment": { - "content": "$1", - "example": "50,000" - } - } - }, - "changeKdf": { - "message": "變更 KDF" - }, - "encKeySettingsChanged": { - "message": "已變更加密金鑰設定" - }, - "dangerZone": { - "message": "危險操作區" - }, - "dangerZoneDesc": { - "message": "小心, 以下這些動作是無法復原的!" - }, - "deauthorizeSessions": { - "message": "取消登入階段" - }, - "deauthorizeSessionsDesc": { - "message": "Concerned your account is logged in on another device? Proceed below to deauthorize all computers or devices that you have previously used. This security step is recommended if you previously used a public PC or accidentally saved your password on a device that isn't yours. This step will also clear all previously remembered two-step login sessions." - }, - "deauthorizeSessionsWarning": { - "message": "接下來會取消目前的登入階段。若您有設定兩步驟登入,也需重新驗證。其他裝置上的登入階段最多可能會保持一個小時。" - }, - "sessionsDeauthorized": { - "message": "所有的登入階段已取消授權" - }, - "purgeVault": { - "message": "清除密碼庫" - }, - "purgedOrganizationVault": { - "message": "已清除組織的密碼庫。" - }, - "purgeVaultDesc": { - "message": "請在下方繼續刪除密碼庫當中的所有項目與資料夾。將不會刪除您分享給組織的項目。" - }, - "purgeOrgVaultDesc": { - "message": "請在下方繼續刪除密碼庫當中的所有項目。" - }, - "purgeVaultWarning": { - "message": "清除密碼庫是永久性的。將無法被還原。" - }, - "vaultPurged": { - "message": "已清除您的密碼庫資料。" - }, - "deleteAccount": { - "message": "刪除帳戶" - }, - "deleteAccountDesc": { - "message": "請在下方繼續刪除帳號,以及所有相關資料。" - }, - "deleteAccountWarning": { - "message": "帳號刪除後就無法再回復。" - }, - "accountDeleted": { - "message": "帳戶已被刪除" - }, - "accountDeletedDesc": { - "message": "您的帳戶已經關閉, 所有關聯資料已經被刪除。" - }, - "myAccount": { - "message": "我的帳戶" - }, - "tools": { - "message": "工具" - }, - "importData": { - "message": "匯入資料" - }, - "importSuccess": { - "message": "資料已經成功匯入至您的密碼庫中。" - }, - "importFormatError": { - "message": "資料格式不正確。請檢查您匯入的檔案後再重試一次。" - }, - "importNothingError": { - "message": "沒有匯入任何內容。" - }, - "selectFormat": { - "message": "選擇匯入檔案的格式" - }, - "selectImportFile": { - "message": "選擇匯入檔案" - }, - "orCopyPasteFileContents": { - "message": "或複製貼上要匯入的檔案內容" - }, - "instructionsFor": { - "message": "$NAME$ 匯入教學", - "description": "The title for the import tool instructions.", - "placeholders": { - "name": { - "content": "$1", - "example": "LastPass (csv)" - } - } - }, - "options": { - "message": "選項" - }, - "optionsDesc": { - "message": "自訂您的網頁版密碼庫" - }, - "optionsUpdated": { - "message": "選項已更新" - }, - "language": { - "message": "語言" - }, - "languageDesc": { - "message": "變更網頁版密碼庫使用的語言。" - }, - "disableIcons": { - "message": "停用網站圖示顯示功能" - }, - "disableIconsDesc": { - "message": "在您密碼庫的每個登入資料旁顯示一個可辨識圖示。" - }, - "enableGravatars": { - "message": "啟用 Gravatars 頭像", - "description": "'Gravatar' is the name of a service. See www.gravatar.com" - }, - "enableGravatarsDesc": { - "message": "載入 gravatar.com 上的頭像圖片。" - }, - "enableFullWidth": { - "message": "啟用全寬度版面配置", - "description": "Allows scaling the web vault UI's width" - }, - "enableFullWidthDesc": { - "message": "允許將網頁版密碼庫完全展開至瀏覽器視窗寬度。" - }, - "default": { - "message": "預設" - }, - "domainRules": { - "message": "網域規則" - }, - "domainRulesDesc": { - "message": "如果您在多個不同網站使用相同的登入資料,您可以把這些網站標記為 “通用”。Bitwarden 會為您設定 “全域” 域名。" - }, - "globalEqDomains": { - "message": "全域通用域名" - }, - "customEqDomains": { - "message": "自訂通用域名" - }, - "exclude": { - "message": "排除" - }, - "include": { - "message": "包含" - }, - "customize": { - "message": "自訂" - }, - "newCustomDomain": { - "message": "新增自訂網域" - }, - "newCustomDomainDesc": { - "message": "輸入以逗號分隔的網域清單。只允許最基本的網域,請勿輸入子網域名稱。例如,輸入「google.com」即可,而非「www.google.com」。您也可以輸入「androidapp://package.name」來將 Android 應用程式與其他網域名稱關聯起來。" - }, - "customDomainX": { - "message": "自訂網域 $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "domainsUpdated": { - "message": "網域已更新" - }, - "twoStepLogin": { - "message": "兩步驟登入" - }, - "twoStepLoginDesc": { - "message": "在登入時執行額外的步驟來保護您的帳戶。" - }, - "twoStepLoginOrganizationDesc": { - "message": "可透過組織等級的設定,要求所有使用者都必須開啟兩階段登入。" - }, - "twoStepLoginRecoveryWarning": { - "message": "啟用兩步驟登入可以永久鎖定您的 Bitwarden 帳戶。如果您無法正常使用兩步驟登入驗證應用程式(例如,您遺失了裝置),則可以使用復原碼造訪您的帳戶。 如果您失去造訪帳戶的權限,Bitwarden 便無法幫助您。所以我們建議您記下或列印復原碼,並將其妥善保管。" - }, - "viewRecoveryCode": { - "message": "檢視復原碼" - }, - "providers": { - "message": "提供者", - "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." - }, - "enable": { - "message": "啟用" - }, - "enabled": { - "message": "已啟用" - }, - "premium": { - "message": "進階版", - "description": "Premium Membership" - }, - "premiumMembership": { - "message": "進階會員" - }, - "premiumRequired": { - "message": "需要進階會員資格" - }, - "premiumRequiredDesc": { - "message": "進階會員才可使用此功能。" - }, - "youHavePremiumAccess": { - "message": "您有進階版存取權限" - }, - "alreadyPremiumFromOrg": { - "message": "您透過加入的組織,已獲得收費功能。" - }, - "manage": { - "message": "管理" - }, - "disable": { - "message": "停用" - }, - "twoStepLoginProviderEnabled": { - "message": "您的帳戶已啟用兩步驟登入" - }, - "twoStepLoginAuthDesc": { - "message": "輸入您的主密碼以修改兩步驟登入設定。" - }, - "twoStepAuthenticatorDesc": { - "message": "請依照下列步驟使用驗證器程式,設定兩階段登入:" - }, - "twoStepAuthenticatorDownloadApp": { - "message": "下載兩步驟登入應用程式" - }, - "twoStepAuthenticatorNeedApp": { - "message": "需要一套驗證器程式嗎?試試下列程式" - }, - "iosDevices": { - "message": "iOS 裝置" - }, - "androidDevices": { - "message": "Android 裝置" - }, - "windowsDevices": { - "message": "Windows 裝置" - }, - "twoStepAuthenticatorAppsRecommended": { - "message": "推薦使用下列應用程式,但也可使用其他的驗證器。" - }, - "twoStepAuthenticatorScanCode": { - "message": "使用您的驗證器程式掃描此 QR Code" - }, - "key": { - "message": "金鑰" - }, - "twoStepAuthenticatorEnterCode": { - "message": "請輸入應用程式產生的六位數驗證碼" - }, - "twoStepAuthenticatorReaddDesc": { - "message": "若您需要加入其他裝置,請使用下列 QR Code 或金鑰加入驗證器程式。" - }, - "twoStepDisableDesc": { - "message": "您確定要停用兩步驟登入嗎?" - }, - "twoStepDisabled": { - "message": "已停用兩階段登入提供者。" - }, - "twoFactorYubikeyAdd": { - "message": "新增 YubiKey 身分認證裝置至您的帳戶。" - }, - "twoFactorYubikeyPlugIn": { - "message": "將 YubiKey 插入電腦的 USB 連接埠。" - }, - "twoFactorYubikeySelectKey": { - "message": "於下方選擇第一個空白的 YubiKey 輸入欄位。" - }, - "twoFactorYubikeyTouchButton": { - "message": "按下 YubiKey 的按鈕。" - }, - "twoFactorYubikeySaveForm": { - "message": "儲存表單" - }, - "twoFactorYubikeyWarning": { - "message": "由於平台限制,無法於所有 Bitwarden 應用程式使用 YubiKeys。請開啟另一套兩階段登入供應者,以確保可在 YubiKeys 無法使用時還能存取帳號。支援的平台有:" - }, - "twoFactorYubikeySupportUsb": { - "message": "在包含可接受您的 YubiKey 的 USB 埠的電腦上的網頁密碼庫、桌面應用程式、命令行介面、所有瀏覽器擴充套件。" - }, - "twoFactorYubikeySupportMobile": { - "message": "支援 NFC 功能或擁有可接受您的 YubiKey 的 USB 埠的裝置上的行動應用程式。" - }, - "yubikeyX": { - "message": "YubiKey $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "u2fkeyX": { - "message": "U2F Key $INDEX$", - "placeholders": { - "index": { - "content": "$1", - "example": "2" - } - } - }, - "nfcSupport": { - "message": "NFC 支援" - }, - "twoFactorYubikeySupportsNfc": { - "message": "我有一把金鑰支援 NFC。" - }, - "twoFactorYubikeySupportsNfcDesc": { - "message": "若您有支援 NFC 的 YubiKey(例如 YubiKey NEO),行動裝置將在 NFC 感應到時提示您。" - }, - "yubikeysUpdated": { - "message": "YubiKeys 已更新" - }, - "disableAllKeys": { - "message": "停用全部金鑰" - }, - "twoFactorDuoDesc": { - "message": "請輸入來自您的 Duo 管理面板的 Bitwarden 應用程式資訊。" - }, - "twoFactorDuoIntegrationKey": { - "message": "整合金鑰" - }, - "twoFactorDuoSecretKey": { - "message": "私密金鑰" - }, - "twoFactorDuoApiHostname": { - "message": "API 主機名稱" - }, - "twoFactorEmailDesc": { - "message": "請依照下列步驟使用電子郵件,設定兩階段登入:" - }, - "twoFactorEmailEnterEmail": { - "message": "請輸入您想要用來收到驗證碼的電子郵件信箱" - }, - "twoFactorEmailEnterCode": { - "message": "請輸入電子郵件中的六位數驗證碼" - }, - "sendEmail": { - "message": "傳送電子郵件" - }, - "twoFactorU2fAdd": { - "message": "在您的帳戶中新增 FIDO U2F 安全金鑰" - }, - "removeU2fConfirmation": { - "message": "您確定要移除這把安全金鑰嗎?" - }, - "readKey": { - "message": "讀取金鑰" - }, - "keyCompromised": { - "message": "金鑰已洩漏。" - }, - "twoFactorU2fGiveName": { - "message": "給安全鑰匙起一個友好的名稱,以方便識別。" - }, - "twoFactorU2fPlugInReadKey": { - "message": "請將安全鑰匙插入您電腦的 USB 埠,並按下「讀取鑰匙」按鈕。" - }, - "twoFactorU2fTouchButton": { - "message": "如果安全鑰匙有按鈕,請按下去。" - }, - "twoFactorU2fSaveForm": { - "message": "儲存表單" - }, - "twoFactorU2fWarning": { - "message": "由於平台限制,無法於所有 Bitwarden 應用程式使用 FIDO U2F。請開啟另一套兩階段登入供應者,以確保 FIDO U2F 無法使用時還能存取帳號。支援的平台有:" - }, - "twoFactorU2fSupportWeb": { - "message": "支援 U2F 的桌面/筆記本電腦上的網頁密碼庫和啓用 U2F 的瀏覽器 (Chrome, Opera, Vivaldi, 或啓用了 FIDO U2F 的 Firefox)。" - }, - "twoFactorU2fWaiting": { - "message": "等待您按下加密鑰匙上的按鈕" - }, - "twoFactorU2fClickSave": { - "message": "按下底下的「儲存」按鈕,啟用此加密鑰匙以用於兩步驟登入。" - }, - "twoFactorU2fProblemReadingTryAgain": { - "message": "讀取安全金鑰時發生問題。請重試。" - }, - "twoFactorRecoveryYourCode": { - "message": "您的 Bitwarden 兩步驟登入復原碼" - }, - "twoFactorRecoveryNoCode": { - "message": "您尚未啟用任何兩步驟登入提供者。等你啟用兩步驟登入提供者後,您可回來這裡取得復原碼。" - }, - "printCode": { - "message": "列印代碼", - "description": "Print 2FA recovery code" - }, - "reports": { - "message": "報告" - }, - "unsecuredWebsitesReport": { - "message": "回報不安全的網站" - }, - "unsecuredWebsitesReportDesc": { - "message": "使用 http:// 配置的不安全網站有風險。如果網站允許,您應永遠使用 https:// 配置存取此網站,這樣您的連線才是加密過的。" - }, - "unsecuredWebsitesFound": { - "message": "發現不安全的網站" - }, - "unsecuredWebsitesFoundDesc": { - "message": "我們在您的密碼庫找到 $COUNT$ 個使用不安全網址的項目。如果網站允許,您應變更其網址配置至 https://。", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noUnsecuredWebsites": { - "message": "您的密碼庫沒有使用不安全網址的項目。" - }, - "inactive2faReport": { - "message": "無效 2FA 報告" - }, - "inactive2faReportDesc": { - "message": "兩步驟驗證 (2FA) 是個協助保護您帳號的重要安全性設定。如果網站提供 2FA,您應永遠啟用。" - }, - "inactive2faFound": { - "message": "找到沒有 2FA 的登入資訊" - }, - "inactive2faFoundDesc": { - "message": "我們在密碼庫找到 $COUNT$ 個可能未設定兩步驟驗證的網站(根據 2fa.directory)。若要更加保護這些帳號,您應啟用兩步驟驗證。", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noInactive2fa": { - "message": "未在您的密碼庫找到未設定兩步驟驗證的網站。" - }, - "instructions": { - "message": "說明" - }, - "exposedPasswordsReport": { - "message": "Exposed Passwords Report" - }, - "exposedPasswordsReportDesc": { - "message": "Exposed passwords are passwords have been uncovered in known data breaches that were released publicly or sold on the dark web by hackers." - }, - "exposedPasswordsFound": { - "message": "Exposed Passwords Found" - }, - "exposedPasswordsFoundDesc": { - "message": "我們在您的密碼庫找到 $COUNT$ 個密碼公開在已知資料洩漏中的項目。您應將這些變更成新密碼。", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noExposedPasswords": { - "message": "未在您的密碼庫找到密碼公開在已知資料洩漏中的項目。" - }, - "checkExposedPasswords": { - "message": "Check Exposed Passwords" - }, - "exposedXTimes": { - "message": "已公開 $COUNT$ 次", - "placeholders": { - "count": { - "content": "$1", - "example": "52" - } - } - }, - "weakPasswordsReport": { - "message": "弱強度密碼報告" - }, - "weakPasswordsReportDesc": { - "message": "弱密碼可以輕易的被駭客和用於破解密碼的自動化工具猜中。Bitwarden 密碼生成器可以幫助您創建強密碼。" - }, - "weakPasswordsFound": { - "message": "發現不夠安全的密碼" - }, - "weakPasswordsFoundDesc": { - "message": "我們在您的密碼庫中發現了 $COUNT$ 個使用弱密碼的項目。您應該將它們改為更強的密碼。", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noWeakPasswords": { - "message": "您的密碼庫未有項目有脆弱密碼。" - }, - "reusedPasswordsReport": { - "message": "密碼重複使用報告" - }, - "reusedPasswordsReportDesc": { - "message": "If a service that you use is compromised, reusing the same password elsewhere can allow hackers to easily gain access to more of your online accounts. You should use a unique password for every account or service." - }, - "reusedPasswordsFound": { - "message": "發現密碼重複使用" - }, - "reusedPasswordsFoundDesc": { - "message": "我們發現您的密碼庫中有 $COUNT$ 組密碼重複使用。您應該將它們更改為唯一的密碼。", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "noReusedPasswords": { - "message": "未在您密碼庫中找到重複使用密碼的登入資訊。" - }, - "reusedXTimes": { - "message": "已重複使用 $COUNT$ 次", - "placeholders": { - "count": { - "content": "$1", - "example": "8" - } - } - }, - "dataBreachReport": { - "message": "資料洩露報告" - }, - "breachDesc": { - "message": "A \"breach\" is an incident where a site's data has been illegally accessed by hackers and then released publicly. Review the types of data that were compromised (email addresses, passwords, credit cards etc.) and take appropriate action, such as changing passwords." - }, - "breachCheckUsernameEmail": { - "message": "請檢查您所用的使用者名稱或電子信箱位址。" - }, - "checkBreaches": { - "message": "檢查密碼外洩情況" - }, - "breachUsernameNotFound": { - "message": "在任何已知的外洩密碼資料庫中都找不到 $USERNAME$。", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - } - } - }, - "goodNews": { - "message": "好消息!", - "description": "ex. Good News, No Breached Accounts Found!" - }, - "breachUsernameFound": { - "message": "$USERNAME$ 在不同的外洩密碼資料庫中找到了 $COUNT$ 次。", - "placeholders": { - "username": { - "content": "$1", - "example": "user@example.com" - }, - "count": { - "content": "$2", - "example": "7" - } - } - }, - "breachFound": { - "message": "發現被洩漏的帳號資料" - }, - "compromisedData": { - "message": "遭洩漏的資料" - }, - "website": { - "message": "網站" - }, - "affectedUsers": { - "message": "受影響的使用者" - }, - "breachOccurred": { - "message": "已發生外洩" - }, - "breachReported": { - "message": "已回報外洩" - }, - "reportError": { - "message": "嘗試載入報告時發生錯誤。請重試。" - }, - "billing": { - "message": "帳單" - }, - "accountCredit": { - "message": "帳戶餘額", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "accountBalance": { - "message": "帳戶餘額", - "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." - }, - "addCredit": { - "message": "增加信用額度", - "description": "Add more credit to your account's balance." - }, - "amount": { - "message": "金額", - "description": "Dollar amount, or quantity." - }, - "creditDelayed": { - "message": "已加入的信用卡在交易處理完全後將會出現在你的帳號。部分付款方式較為緩慢,比其他方式花費更多時間處理。" - }, - "makeSureEnoughCredit": { - "message": "請確認你的帳號有足夠額度繳付此次購買,如果你的帳號額度不足,則會以你預設付款方式補足差額。你可以從帳單頁面新增額度到您的帳號。" - }, - "creditAppliedDesc": { - "message": "您的帳戶餘額可用於進行消費。若有可用的餘額將自動支付此帳戶的帳單。" - }, - "goPremium": { - "message": "升級至進階版", - "description": "Another way of saying \"Get a premium membership\"" - }, - "premiumUpdated": { - "message": "您已升級至進階版" - }, - "premiumUpgradeUnlockFeatures": { - "message": "將您的帳戶升級至進階版, 並解鎖更多方便的功能。" - }, - "premiumSignUpStorage": { - "message": "用於檔案附件的 1 GB 的加密檔案儲存空間。" - }, - "premiumSignUpTwoStep": { - "message": "YubiKey,FIDO U2F 和 Duo 等額外的兩步驟登入選項。" - }, - "premiumSignUpReports": { - "message": "密碼健康度檢查、提供帳戶體檢以及資料外洩報告,以保障您的密碼庫安全。" - }, - "premiumSignUpTotp": { - "message": "用於您的登入資料的 TOTP 驗證碼 (2FA) 產生器。" - }, - "premiumSignUpSupport": { - "message": "優先客戶支援。" - }, - "premiumSignUpFuture": { - "message": "未來會增加更多進階功能,敬請期待!" - }, - "premiumPrice": { - "message": "每年只需 $PRICE$ !", - "placeholders": { - "price": { - "content": "$1", - "example": "$10" - } - } - }, - "addons": { - "message": "附加項目" - }, - "premiumAccess": { - "message": "Premium Access" - }, - "premiumAccessDesc": { - "message": "You can add premium access to all members of your organization for $PRICE$ /$INTERVAL$.", - "placeholders": { - "price": { - "content": "$1", - "example": "$3.33" - }, - "interval": { - "content": "$2", - "example": "'month' or 'year'" - } - } - }, - "additionalStorageGb": { - "message": "額外的儲存空間 (GB)" - }, - "additionalStorageGbDesc": { - "message": "# GB 附加儲存空間" - }, - "additionalStorageIntervalDesc": { - "message": "您的方案擁有 $SIZE$ 的加密儲存空間。您也可以用每 GB $PRICE$ / $INTERVAL$ 購買額外的儲存空間。", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - }, - "price": { - "content": "$2", - "example": "$4.00" - }, - "interval": { - "content": "$3", - "example": "'month' or 'year'" - } - } - }, - "summary": { - "message": "摘要" - }, - "total": { - "message": "總計" - }, - "year": { - "message": "年" - }, - "month": { - "message": "月" - }, - "monthAbbr": { - "message": "月", - "description": "Short abbreviation for 'month'" - }, - "paymentChargedAnnually": { - "message": "Your payment method will be charged immediately and on a recurring basis each year. You may cancel at any time." - }, - "paymentCharged": { - "message": "Your payment method will be charged immediately and then on a recurring basis each $INTERVAL$. You may cancel at any time.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentChargedWithTrial": { - "message": "Your plan comes with a free 7 day trial. Your card will not be charged until the trial has ended and on a recurring basis each $INTERVAL$. You may cancel at any time.", - "placeholders": { - "interval": { - "content": "$1", - "example": "month or year" - } - } - }, - "paymentInformation": { - "message": "付款資訊" - }, - "billingInformation": { - "message": "帳單資訊" - }, - "creditCard": { - "message": "信用卡" - }, - "paypalClickSubmit": { - "message": "點擊PayPal按鈕登入您的PayPal帳戶,然後點擊下面的Submit按鈕以繼續。" - }, - "cancelSubscription": { - "message": "取消訂閱" - }, - "subscriptionCanceled": { - "message": "訂閱已被取消" - }, - "pendingCancellation": { - "message": "Pending Cancellation" - }, - "subscriptionPendingCanceled": { - "message": "訂閱在當期帳單周期结束時已標記為取消。" - }, - "reinstateSubscription": { - "message": "重新開始訂閱" - }, - "reinstateConfirmation": { - "message": "您是否要移除待處理的取消要求,重新開始您的訂閱?" - }, - "reinstated": { - "message": "已重新開始訂閱。" - }, - "cancelConfirmation": { - "message": "您確定要取消訂閱嗎?當本期帳單到期後,您將無法使用所有的訂閱功能。" - }, - "canceledSubscription": { - "message": "The subscription has been canceled." - }, - "neverExpires": { - "message": "永不過期" - }, - "status": { - "message": "狀態" - }, - "nextCharge": { - "message": "下一次收費" - }, - "details": { - "message": "詳細資料" - }, - "downloadLicense": { - "message": "下載授權證" - }, - "updateLicense": { - "message": "更新授權證" - }, - "updatedLicense": { - "message": "授權證已更新" - }, - "manageSubscription": { - "message": "管理訂閱" - }, - "storage": { - "message": "儲存空間" - }, - "addStorage": { - "message": "增加儲存空間" - }, - "removeStorage": { - "message": "減少儲存空間" - }, - "subscriptionStorage": { - "message": "您的訂閱方案包含 $MAX_STORAGE$ GB 的加密檔案儲存空間,目前已用 $USED_STORAGE$。", - "placeholders": { - "max_storage": { - "content": "$1", - "example": "4" - }, - "used_storage": { - "content": "$2", - "example": "65 MB" - } - } - }, - "paymentMethod": { - "message": "付款方式" - }, - "noPaymentMethod": { - "message": "尚未選擇付款方式" - }, - "addPaymentMethod": { - "message": "新增付款方式" - }, - "changePaymentMethod": { - "message": "變更付款方式" - }, - "invoices": { - "message": "收據" - }, - "noInvoices": { - "message": "無收據" - }, - "paid": { - "message": "已付款", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "unpaid": { - "message": "未付款", - "description": "Past tense status of an invoice. ex. Paid or unpaid." - }, - "transactions": { - "message": "交易", - "description": "Payment/credit transactions." - }, - "noTransactions": { - "message": "無交易" - }, - "chargeNoun": { - "message": "費用", - "description": "Noun. A charge from a payment method." - }, - "refundNoun": { - "message": "退款", - "description": "Noun. A refunded payment that was charged." - }, - "chargesStatement": { - "message": "任何費用會在您的帳單上以 $STATEMENT_NAME$ 呈現。", - "placeholders": { - "statement_name": { - "content": "$1", - "example": "BITWARDEN" - } - } - }, - "gbStorageAdd": { - "message": "GB of Storage To Add" - }, - "gbStorageRemove": { - "message": "GB of Storage To Remove" - }, - "storageAddNote": { - "message": "增添存儲空間將會調整帳單總額,並立即透過您的支付方式進行扣款程序。第一期費用將按照當前帳單週期的剩餘數依比例分配。" - }, - "storageRemoveNote": { - "message": "Removing storage will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." - }, - "adjustedStorage": { - "message": "已調整 $AMOUNT$ GB 的儲存空間。", - "placeholders": { - "amount": { - "content": "$1", - "example": "5" - } - } - }, - "contactSupport": { - "message": "連絡客戶支援部門" - }, - "updatedPaymentMethod": { - "message": "已更新付款方式。" - }, - "purchasePremium": { - "message": "購買進階會員資格" - }, - "licenseFile": { - "message": "授權檔案" - }, - "licenseFileDesc": { - "message": "您的授權檔案將被命名為類似 $FILE_NAME$ 的名稱", - "placeholders": { - "file_name": { - "content": "$1", - "example": "bitwarden_premium_license.json" - } - } - }, - "uploadLicenseFilePremium": { - "message": "您需要上傳有效的授權檔案以升級取得進階會員資格 。" - }, - "uploadLicenseFileOrg": { - "message": "To create an on-premise hosted organization you need to upload a valid license file." - }, - "accountEmailMustBeVerified": { - "message": "您必須驗證電子郵件。" - }, - "newOrganizationDesc": { - "message": "Organizations allow you to share parts of your vault with others as well as manage related users for a specific entity such as a family, small team, or large company." - }, - "generalInformation": { - "message": "一般資訊" - }, - "organizationName": { - "message": "組織名稱" - }, - "accountOwnedBusiness": { - "message": "此帳戶為企業所有。" - }, - "billingEmail": { - "message": "電子郵件帳單" - }, - "businessName": { - "message": "公司名稱" - }, - "chooseYourPlan": { - "message": "選擇您的方案" - }, - "users": { - "message": "使用者" - }, - "userSeats": { - "message": "使用者數量" - }, - "additionalUserSeats": { - "message": "額外使用者席位" - }, - "userSeatsDesc": { - "message": "# 使用者數" - }, - "userSeatsAdditionalDesc": { - "message": "Your plan comes with $BASE_SEATS$ user seats. You can add additional users for $SEAT_PRICE$ per user /month.", - "placeholders": { - "base_seats": { - "content": "$1", - "example": "5" - }, - "seat_price": { - "content": "$2", - "example": "$2.00" - } - } - }, - "userSeatsHowManyDesc": { - "message": "How many user seats do you need? You can also add additional seats later if needed." - }, - "planNameFree": { - "message": "免費", - "description": "Free as in 'free beer'." - }, - "planDescFree": { - "message": "For testing or personal users to share with $COUNT$ other user.", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "planNameFamilies": { - "message": "家庭" - }, - "planDescFamilies": { - "message": "個人使用,與家人及朋友分享。" - }, - "planNameTeams": { - "message": "團隊" - }, - "planDescTeams": { - "message": "For businesses and other team organizations." - }, - "planNameEnterprise": { - "message": "企業" - }, - "planDescEnterprise": { - "message": "For businesses and other large organizations." - }, - "freeForever": { - "message": "永遠免費" - }, - "includesXUsers": { - "message": "有 $COUNT$ 位使用者", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "additionalUsers": { - "message": "Additional Users" - }, - "costPerUser": { - "message": "每位使用者 $COST$", - "placeholders": { - "cost": { - "content": "$1", - "example": "$3" - } - } - }, - "limitedUsers": { - "message": "限制 $COUNT$ 位使用者(包括您)", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "limitedCollections": { - "message": "限制 $COUNT$ 個收藏", - "placeholders": { - "count": { - "content": "$1", - "example": "2" - } - } - }, - "addShareLimitedUsers": { - "message": "新增,並與最多 $COUNT$ 位使用者分享", - "placeholders": { - "count": { - "content": "$1", - "example": "5" - } - } - }, - "addShareUnlimitedUsers": { - "message": "新增,並與無限位使用者分享" - }, - "createUnlimitedCollections": { - "message": "建立無限收藏" - }, - "gbEncryptedFileStorage": { - "message": "$SIZE$ 加密檔案儲存空間。", - "placeholders": { - "size": { - "content": "$1", - "example": "1 GB" - } - } - }, - "onPremHostingOptional": { - "message": "內部寄管(選用)" - }, - "usersGetPremium": { - "message": "使用者取得了進階成員功能的存取權限" - }, - "controlAccessWithGroups": { - "message": "使用群組控制使用者存取" - }, - "syncUsersFromDirectory": { - "message": "從目錄同步使用者及群組" - }, - "trackAuditLogs": { - "message": "使用稽核記錄追蹤使用者動作" - }, - "enforce2faDuo": { - "message": "強制使用 Duo 兩步驟驗證" - }, - "priorityCustomerSupport": { - "message": "優先客戶支援" - }, - "xDayFreeTrial": { - "message": "$COUNT$ 天免費試用,隨時可取消", - "placeholders": { - "count": { - "content": "$1", - "example": "7" - } - } - }, - "monthly": { - "message": "每月" - }, - "annually": { - "message": "每年" - }, - "basePrice": { - "message": "基本價格" - }, - "organizationCreated": { - "message": "組織已建立" - }, - "organizationReadyToGo": { - "message": "Your new organization is ready to go!" - }, - "organizationUpgraded": { - "message": "您的組織已被升級。" - }, - "leave": { - "message": "離開" - }, - "leaveOrganizationConfirmation": { - "message": "Are you sure you want to leave this organization?" - }, - "leftOrganization": { - "message": "您已離開組織。" - }, - "defaultCollection": { - "message": "預設收藏" - }, - "getHelp": { - "message": "尋求幫助" - }, - "getApps": { - "message": "取得應用程式" - }, - "loggedInAs": { - "message": "已登入為" - }, - "eventLogs": { - "message": "事件記錄" - }, - "people": { - "message": "人員" - }, - "policies": { - "message": "原則" - }, - "editPolicy": { - "message": "編輯原則" - }, - "groups": { - "message": "群組" - }, - "newGroup": { - "message": "新增群組" - }, - "addGroup": { - "message": "新增群組" - }, - "editGroup": { - "message": "編輯群組" - }, - "deleteGroupConfirmation": { - "message": "您確定要刪除這個群組?" - }, - "removeUserConfirmation": { - "message": "您確定要移除該使用者?" - }, - "externalId": { - "message": "外部 ID" - }, - "externalIdDesc": { - "message": "The external id can be used as a reference or to link this resource to an external system such as a user directory." - }, - "accessControl": { - "message": "存取控制" - }, - "groupAccessAllItems": { - "message": "此群組可存取及修改所有項目。" - }, - "groupAccessSelectedCollections": { - "message": "此群組只能存取選擇的收藏。" - }, - "readOnly": { - "message": "唯讀" - }, - "newCollection": { - "message": "新增收藏" - }, - "addCollection": { - "message": "加入收藏" - }, - "editCollection": { - "message": "編輯收藏" - }, - "deleteCollectionConfirmation": { - "message": "確定刪除此收藏?" - }, - "editUser": { - "message": "編輯使用者" - }, - "inviteUser": { - "message": "邀請使用者" - }, - "inviteUserDesc": { - "message": "Invite a new user to your organization by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "inviteMultipleEmailDesc": { - "message": "You can invite up to $COUNT$ users at a time by comma separating a list of email addresses.", - "placeholders": { - "count": { - "content": "$1", - "example": "20" - } - } - }, - "userUsingTwoStep": { - "message": "此使用者正在使用兩步驟登入保護帳號。" - }, - "userAccessAllItems": { - "message": "此使用者可存取及修改所有項目。" - }, - "userAccessSelectedCollections": { - "message": "此使用者只能存取選擇的收藏。" - }, - "search": { - "message": "搜尋" - }, - "invited": { - "message": "已邀請" - }, - "accepted": { - "message": "已接受" - }, - "confirmed": { - "message": "已確認" - }, - "owner": { - "message": "擁有者" - }, - "ownerDesc": { - "message": "The highest access user that can manage all aspects of your organization." - }, - "admin": { - "message": "管理員" - }, - "adminDesc": { - "message": " Admins can access and manage all items, collections and users in your organization." - }, - "user": { - "message": "使用者" - }, - "userDesc": { - "message": "A regular user with access to your organization's collections." - }, - "manager": { - "message": "管理員" - }, - "managerDesc": { - "message": "Managers can access and manage assigned collections in your organization." - }, - "all": { - "message": "全部" - }, - "refresh": { - "message": "重新整理" - }, - "timestamp": { - "message": "時間戳記" - }, - "event": { - "message": "事件" - }, - "unknown": { - "message": "不詳" - }, - "loadMore": { - "message": "載入更多" - }, - "mobile": { - "message": "手機版應用程式", - "description": "Mobile app" - }, - "extension": { - "message": "擴充套件", - "description": "Browser extension/addon" - }, - "desktop": { - "message": "電腦版應用程式", - "description": "Desktop app" - }, - "webVault": { - "message": "網頁版密碼庫" - }, - "loggedIn": { - "message": "已登入。" - }, - "changedPassword": { - "message": "已變更帳戶密碼。" - }, - "enabledUpdated2fa": { - "message": "已啟用 / 更新兩步驟登入。" - }, - "disabled2fa": { - "message": "已停用兩步驟登入。" - }, - "recovered2fa": { - "message": "已從兩步驟登入復原帳號。" - }, - "failedLogin": { - "message": "登入失敗,密碼錯誤。" - }, - "failedLogin2fa": { - "message": "登入失敗,兩步驟登入錯誤。" - }, - "exportedVault": { - "message": "匯出密碼庫" - }, - "exportedOrganizationVault": { - "message": "匯出組織密碼庫" - }, - "editedOrgSettings": { - "message": "Edited organization settings." - }, - "createdItemId": { - "message": "已建立項目 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedItemId": { - "message": "已編輯項目 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedItemId": { - "message": "已刪除項目 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "sharedItemId": { - "message": "已分享項目 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "'Google'" - } - } - }, - "viewedItemId": { - "message": "查看了項目 $ID$", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedPasswordItemId": { - "message": "查看了項目 $ID$的密碼", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedHiddenFieldItemId": { - "message": "查看了項目 $ID$的隱藏欄位", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "viewedSecurityCodeItemId": { - "message": "查看了項目$ID$的安全碼", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedPasswordItemId": { - "message": "複製了項目 $ID$的密碼", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedHiddenFieldItemId": { - "message": "複製了項目 $ID$的隱藏欄位", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "copiedSecurityCodeItemId": { - "message": "複製了項目$ID$的安全碼", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "autofilledItemId": { - "message": "自動填入了項目$ID$", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "createdCollectionId": { - "message": "已建立收藏 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedCollectionId": { - "message": "已編輯收藏 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "deletedCollectionId": { - "message": "已刪除收藏 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "Server Passwords" - } - } - }, - "editedPolicyId": { - "message": "已編輯原則 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "createdGroupId": { - "message": "已建立群組 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "editedGroupId": { - "message": "已編輯群組 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "deletedGroupId": { - "message": "已刪除群組 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "Developers" - } - } - }, - "removedUserId": { - "message": "已移除使用者 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "createdAttachmentForItem": { - "message": "已為項目 $ID$ 建立附件。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "deletedAttachmentForItem": { - "message": "已為項目 $ID$ 刪除附件。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "editedCollectionsForItem": { - "message": "已為項目 $ID$ 編輯收藏。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "invitedUserId": { - "message": "使用者 $ID$ 無效。", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmedUserId": { - "message": "已確認使用者 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedUserId": { - "message": "已編輯使用者 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "editedGroupsForUser": { - "message": "已編輯使用者 $ID$ 的群組。", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "unlinkedSsoUser": { - "message": "Unlinked SSO for user $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "John Smith" - } - } - }, - "device": { - "message": "裝置" - }, - "view": { - "message": "檢視" - }, - "invalidDateRange": { - "message": "無效的日期範圍。" - }, - "errorOccurred": { - "message": "發生錯誤。" - }, - "userAccess": { - "message": "使用者存取" - }, - "userType": { - "message": "使用者類型" - }, - "groupAccess": { - "message": "群組存取" - }, - "groupAccessUserDesc": { - "message": "編輯此使用者所屬的群組。" - }, - "invitedUsers": { - "message": "已邀請使用者。" - }, - "resendInvitation": { - "message": "重新傳送邀請" - }, - "hasBeenReinvited": { - "message": "$USER$ 已被重新邀請。", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirm": { - "message": "確認" - }, - "confirmUser": { - "message": "確認使用者" - }, - "hasBeenConfirmed": { - "message": "$USER$ 已被確認。", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "confirmUsers": { - "message": "確認使用者" - }, - "usersNeedConfirmed": { - "message": "You have users that have accepted their invitation, but still need to be confirmed. Users will not have access to the organization until they are confirmed." - }, - "startDate": { - "message": "開始日期" - }, - "endDate": { - "message": "结束日期" - }, - "verifyEmail": { - "message": "驗證電子郵件" - }, - "verifyEmailDesc": { - "message": "驗證您的電子郵件位址以使用所有的功能。" - }, - "verifyEmailFirst": { - "message": "Your account's email address first must be verified." - }, - "checkInboxForVerification": { - "message": "請檢查收件箱以取得驗證連結。" - }, - "emailVerified": { - "message": "您的電子信箱已經驗證。" - }, - "emailVerifiedFailed": { - "message": "無法驗證電子信箱。請嘗試重寄一封驗證電子信件。" - }, - "updateBrowser": { - "message": "更新瀏覽器" - }, - "updateBrowserDesc": { - "message": "您正在使用未被支援的瀏覽器。網頁密碼庫可能會無法順利運作。" - }, - "joinOrganization": { - "message": "加入組織" - }, - "joinOrganizationDesc": { - "message": "You've been invited to join the organization listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "inviteAccepted": { - "message": "邀請已接受" - }, - "inviteAcceptedDesc": { - "message": "You can access this organization once an administrator confirms your membership. We'll send you an email when that happens." - }, - "inviteAcceptFailed": { - "message": "Unable to accept invitation. Ask an organization admin to send a new invitation." - }, - "inviteAcceptFailedShort": { - "message": "無法接受邀請。$DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "rememberEmail": { - "message": "記住電子郵件地址" - }, - "recoverAccountTwoStepDesc": { - "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to disable all two-step providers on your account." - }, - "recoverAccountTwoStep": { - "message": "Recover Account Two-Step Login" - }, - "twoStepRecoverDisabled": { - "message": "兩步驟登入已在您的帳號停用。" - }, - "learnMore": { - "message": "了解更多" - }, - "deleteRecoverDesc": { - "message": "請在下方輸入您的電子信箱位址以復原及刪除您的帳號。" - }, - "deleteRecoverEmailSent": { - "message": "如果您的帳號存在,我們已寄送包含進一步指示的電子信件。" - }, - "deleteRecoverConfirmDesc": { - "message": "您已請求刪除您的 Bitwarden 帳號。點擊下方的按鈕確認。" - }, - "myOrganization": { - "message": "我的組織" - }, - "deleteOrganization": { - "message": "刪除組織" - }, - "deleteOrganizationDesc": { - "message": "Proceed below to delete this organization and all associated data. Individual user accounts will remain, though they will not be associated to this organization anymore. " - }, - "deleteOrganizationWarning": { - "message": "Deleting the organization is permanent. It cannot be undone." - }, - "organizationDeleted": { - "message": "已刪除組織" - }, - "organizationDeletedDesc": { - "message": "The organization and all associated data has been deleted." - }, - "organizationUpdated": { - "message": "組織已更新" - }, - "taxInformation": { - "message": "稅務資訊" - }, - "taxInformationDesc": { - "message": "請聯絡支援部門提供(或更新)您收據的稅務資訊。" - }, - "billingPlan": { - "message": "方案", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlan": { - "message": "變更方案", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanUpgrade": { - "message": "Upgrade your account to another plan be providing the information below. Please ensure that you have an active payment method added to the account.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "changeBillingPlanDesc": { - "message": "Contact customer support if you would like to change your plan. Please ensure that you have an active payment method added to the account.", - "description": "A billing plan/package. For example: families, teams, enterprise, etc." - }, - "invoiceNumber": { - "message": "收據 #$NUMBER$", - "description": "ex. Invoice #79C66F0-0001", - "placeholders": { - "number": { - "content": "$1", - "example": "79C66F0-0001" - } - } - }, - "viewInvoice": { - "message": "檢視收據" - }, - "downloadInvoice": { - "message": "下載發票" - }, - "verifyBankAccount": { - "message": "驗證銀行帳戶" - }, - "verifyBankAccountDesc": { - "message": "我們已匯入了兩筆小額款項到您的銀行帳號(可能要 1-2 工作天後才會出現)。請在此輸入這兩筆款項金額做為驗證。" - }, - "verifyBankAccountInitialDesc": { - "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make two micro-deposits within the next 1-2 business days. Enter these amounts on the organization's billing page to verify the bank account." - }, - "verifyBankAccountFailureWarning": { - "message": "驗證銀行帳戶失敗將會導致付款失效,而且您的訂閱將會被取消。" - }, - "verifiedBankAccount": { - "message": "已驗證您的銀行帳號。" - }, - "bankAccount": { - "message": "銀行帳戶" - }, - "amountX": { - "message": "金額 $COUNT$", - "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", - "placeholders": { - "count": { - "content": "$1", - "example": "1" - } - } - }, - "routingNumber": { - "message": "匯款路徑號碼", - "description": "Bank account routing number" - }, - "accountNumber": { - "message": "帳戶" - }, - "accountHolderName": { - "message": "帳戶持有人姓名" - }, - "bankAccountType": { - "message": "帳戶類型" - }, - "bankAccountTypeCompany": { - "message": "公司" - }, - "bankAccountTypeIndividual": { - "message": "個人" - }, - "enterInstallationId": { - "message": "Enter your installation id" - }, - "addSeats": { - "message": "新增席位", - "description": "Seat = User Seat" - }, - "removeSeats": { - "message": "移除席位", - "description": "Seat = User Seat" - }, - "subscriptionUserSeats": { - "message": "您的訂閱當中包含 $COUNT$ 位使用者的授權。", - "placeholders": { - "count": { - "content": "$1", - "example": "50" - } - } - }, - "seatsToAdd": { - "message": "要新增的席位數" - }, - "seatsToRemove": { - "message": "要移除的席位數" - }, - "seatsAddNote": { - "message": "增添用戶數將會調整帳單總額,並立即透過您的支付方式進行扣款程序。第一期費用將按照當前帳單週期的剩餘數依比例分配。" - }, - "seatsRemoveNote": { - "message": "Removing user seats will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." - }, - "adjustedSeats": { - "message": "已調整為 $AMOUNT$ 個使用者席位。", - "placeholders": { - "amount": { - "content": "$1", - "example": "15" - } - } - }, - "keyUpdated": { - "message": "金鑰已更新" - }, - "updateKeyTitle": { - "message": "更新金鑰" - }, - "updateEncryptionKey": { - "message": "更新加密金鑰" - }, - "updateEncryptionKeyShortDesc": { - "message": "您目前使用的是過時的加密方式。" - }, - "updateEncryptionKeyDesc": { - "message": "我們已經採用更強大的加密金鑰,而此金鑰提供了更強的安全機制及更新功能。更新您的加密金鑰非常簡單快速,僅需要輸入您的主密碼。此次更新最終將強制執行。" - }, - "updateEncryptionKeyWarning": { - "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." - }, - "updateEncryptionKeyExportWarning": { - "message": "Any encrypted exports that you have saved will also become invalid." - }, - "subscription": { - "message": "訂閱" - }, - "loading": { - "message": "正在載入" - }, - "upgrade": { - "message": "升級" - }, - "upgradeOrganization": { - "message": "升級組織" - }, - "upgradeOrganizationDesc": { - "message": "This feature is not available for free organizations. Switch to a paid plan to unlock more features." - }, - "createOrganizationStep1": { - "message": "建立組織:步驟 1" - }, - "createOrganizationCreatePersonalAccount": { - "message": "Before creating your organization, you first need to create a free personal account." - }, - "refunded": { - "message": "已退款" - }, - "nothingSelected": { - "message": "您沒有選擇任何項目。" - }, - "acceptPolicies": { - "message": "點擊此選取框,代表您同意下列項目:" - }, - "acceptPoliciesError": { - "message": "尚未接受服務條款與隱私權保護政策。" - }, - "termsOfService": { - "message": "服務條款" - }, - "privacyPolicy": { - "message": "隱私權政策" - }, - "filters": { - "message": "篩選器" - }, - "vaultTimeout": { - "message": "密碼庫逾時" - }, - "vaultTimeoutDesc": { - "message": "選擇密碼庫多久之後才會逾時並執行選取動作。" - }, - "oneMinute": { - "message": "1 分鐘" - }, - "fiveMinutes": { - "message": "5 分鐘" - }, - "fifteenMinutes": { - "message": "15 分鐘" - }, - "thirtyMinutes": { - "message": "30 分鐘" - }, - "oneHour": { - "message": "1 小時" - }, - "fourHours": { - "message": "4 小時" - }, - "onRefresh": { - "message": "於瀏覽器重新重新整理時" - }, - "dateUpdated": { - "message": "已更新", - "description": "ex. Date this item was updated" - }, - "datePasswordUpdated": { - "message": "密碼更新於", - "description": "ex. Date this password was updated" - }, - "organizationIsDisabled": { - "message": "已停用組織。" - }, - "licenseIsExpired": { - "message": "授權已過期。" - }, - "updatedUsers": { - "message": "更新使用者" - }, - "selected": { - "message": "已選擇" - }, - "ownership": { - "message": "所有權" - }, - "whoOwnsThisItem": { - "message": "誰擁有這個項目?" - }, - "strong": { - "message": "高強度", - "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "good": { - "message": "不錯", - "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weak": { - "message": "脆弱", - "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "veryWeak": { - "message": "非常弱", - "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" - }, - "weakMasterPassword": { - "message": "主密碼強度太弱" - }, - "weakMasterPasswordDesc": { - "message": "您設定的主密碼很脆弱。您應該使用高強度的密碼 (複雜密碼) 來正確保護您的 bitwarden 帳戶。仍要使用此密碼嗎?" - }, - "rotateAccountEncKey": { - "message": "更新帳戶的加密金鑰" - }, - "rotateEncKeyTitle": { - "message": "更新加密金鑰" - }, - "rotateEncKeyConfirmation": { - "message": "確定更新帳號的加密金鑰?" - }, - "attachmentsNeedFix": { - "message": "此項目包含需要修復的舊檔案附件。" - }, - "attachmentFixDesc": { - "message": "有個需要修正的舊檔案附件。點擊此處了解更多資訊。" - }, - "fix": { - "message": "修正", - "description": "This is a verb. ex. 'Fix The Car'" - }, - "oldAttachmentsNeedFixDesc": { - "message": "密碼庫中有舊的檔案附件,需要先修正才可以自動更換帳號加密金鑰。" - }, - "yourAccountsFingerprint": { - "message": "您帳戶的指紋短語", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "fingerprintEnsureIntegrityVerify": { - "message": "為了確保加密金鑰的完整度,請先確認使用者指紋再繼續。", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "dontAskFingerprintAgain": { - "message": "請勿詢問再次驗證指紋片語", - "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." - }, - "free": { - "message": "免費", - "description": "Free, as in 'Free beer'" - }, - "apiKey": { - "message": "API 金鑰" - }, - "apiKeyDesc": { - "message": "您的 API 金鑰可用來驗證 Bitwarden 公用 API。" - }, - "apiKeyRotateDesc": { - "message": "更新 API 金鑰將使前一份金鑰失效。若您認為當前的金鑰不在安全,您可以更新您的 API 金鑰。" - }, - "apiKeyWarning": { - "message": "你的 API 金鑰對組織有完整存取權限,應要保密。" - }, - "userApiKeyDesc": { - "message": "您的 API 金鑰可用於 Bitwarden CLI 當中進行驗證。" - }, - "userApiKeyWarning": { - "message": "您的 API 金鑰是另一種驗證身分的方式,請保存好不要公開。" - }, - "oauth2ClientCredentials": { - "message": "OAuth 2.0 客戶端登入資訊", - "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." - }, - "viewApiKey": { - "message": "檢視 API 金鑰" - }, - "rotateApiKey": { - "message": "更新 API 金鑰" - }, - "selectOneCollection": { - "message": "您必須至少選擇一個收藏。" - }, - "couldNotChargeCardPayInvoice": { - "message": "我們無法從您的卡片扣款。請查看並繳付以上尚未付清之款項。" - }, - "inAppPurchase": { - "message": "應用程式內購買" - }, - "cannotPerformInAppPurchase": { - "message": "當你使用程式內購買的付款方式時,不能執行此項操作。" - }, - "manageSubscriptionFromStore": { - "message": "你必須從建立程式內購買的商店才能管理你的訂閱。" - }, - "minLength": { - "message": "最短長度" - }, - "clone": { - "message": "複製" - }, - "masterPassPolicyDesc": { - "message": "設定對主控密碼強度的最低要求。" - }, - "twoStepLoginPolicyDesc": { - "message": "要求使用者對個人帳號設定兩階段登入。" - }, - "twoStepLoginPolicyWarning": { - "message": "會從組織移除個人帳戶未啟用兩步驟登入的成員,成員會收到一封通知這項變更的電子信件。" - }, - "twoStepLoginPolicyUserWarning": { - "message": "您是組織成員,而組織要求您的使用者帳戶需要啟用兩步驟登入。如果停用所有兩步驟登入提供者,您就會被自動踢出這些組織。" - }, - "passwordGeneratorPolicyDesc": { - "message": "指定密碼產生器設定的最低需求。" - }, - "passwordGeneratorPolicyInEffect": { - "message": "密碼產生器設定受一組以上組織原則影響。" - }, - "masterPasswordPolicyInEffect": { - "message": "有一組以上組織原則要求您的主控密碼須符合下列條件:" - }, - "policyInEffectMinComplexity": { - "message": "最小複雜度分數 $SCORE$", - "placeholders": { - "score": { - "content": "$1", - "example": "4" - } - } - }, - "policyInEffectMinLength": { - "message": "最小長度 $LENGTH$", - "placeholders": { - "length": { - "content": "$1", - "example": "14" - } - } - }, - "policyInEffectUppercase": { - "message": "包含一個以上大寫字母" - }, - "policyInEffectLowercase": { - "message": "包含一個以上小寫字母" - }, - "policyInEffectNumbers": { - "message": "包含一個以上數字" - }, - "policyInEffectSpecial": { - "message": "包含一個以上特殊字元 $CHARS$", - "placeholders": { - "chars": { - "content": "$1", - "example": "!@#$%^&*" - } - } - }, - "masterPasswordPolicyRequirementsNotMet": { - "message": "您的新主控密碼不符組織原則要求。" - }, - "minimumNumberOfWords": { - "message": "最短字數" - }, - "defaultType": { - "message": "預設類型" - }, - "userPreference": { - "message": "使用者偏好設定" - }, - "vaultTimeoutAction": { - "message": "密碼庫逾時動作" - }, - "vaultTimeoutActionLockDesc": { - "message": "鎖定密碼庫後需要重新輸入主密碼才能再次存取。" - }, - "vaultTimeoutActionLogOutDesc": { - "message": "登出後需要重新驗證登入才能再次存取密碼庫。" - }, - "lock": { - "message": "鎖定", - "description": "Verb form: to make secure or inaccesible by" - }, - "trash": { - "message": "垃圾桶", - "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" - }, - "searchTrash": { - "message": "搜尋垃圾桶" - }, - "permanentlyDelete": { - "message": "永久刪除" - }, - "permanentlyDeleteSelected": { - "message": "永久刪除選擇的項目" - }, - "permanentlyDeleteItem": { - "message": "永久刪除項目" - }, - "permanentlyDeleteItemConfirmation": { - "message": "您確定要永久刪除此項目嗎?" - }, - "permanentlyDeletedItem": { - "message": "已永久刪除的項目" - }, - "permanentlyDeletedItems": { - "message": "已永久刪除的項目" - }, - "permanentlyDeleteSelectedItemsDesc": { - "message": "您選擇了 $COUNT$ 個項目要永久刪除。確定要永久刪除這些項目嗎?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "permanentlyDeletedItemId": { - "message": "已永久刪除 $ID$ 項目。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "restore": { - "message": "恢復" - }, - "restoreSelected": { - "message": "恢復選擇項目" - }, - "restoreItem": { - "message": "恢復項目" - }, - "restoredItem": { - "message": "恢復的項目" - }, - "restoredItems": { - "message": "恢復的項目" - }, - "restoreItemConfirmation": { - "message": "您確定要恢復此項目嗎?" - }, - "restoreItems": { - "message": "恢復項目" - }, - "restoreSelectedItemsDesc": { - "message": "您選擇了 $COUNT$ 個項目要恢復。確定要恢復這些項目嗎?", - "placeholders": { - "count": { - "content": "$1", - "example": "150" - } - } - }, - "restoredItemId": { - "message": "已恢復項目 $ID$。", - "placeholders": { - "id": { - "content": "$1", - "example": "Google" - } - } - }, - "vaultTimeoutLogOutConfirmation": { - "message": "選擇登出將會在密碼庫逾時後移除所有密碼庫存取權,重新認證時需要連線網路。確定要登出嗎?" - }, - "vaultTimeoutLogOutConfirmationTitle": { - "message": "逾時動作確認" - }, - "hidePasswords": { - "message": "隱藏密碼" - }, - "countryPostalCodeRequiredDesc": { - "message": "我們僅收集此資訊用來計算營業稅並包含於財務報表中。" - }, - "includeVAT": { - "message": "包含 VAT/GST 稅務資訊(選填)" - }, - "taxIdNumber": { - "message": "VAT/GST 稅務編號" - }, - "taxInfoUpdated": { - "message": "已更新稅務資訊。" - }, - "setMasterPassword": { - "message": "設定主密碼" - }, - "ssoCompleteRegistration": { - "message": "請設定用來保護密碼庫的主控密碼以完成 SSO 登入。" - }, - "identifier": { - "message": "Identifier" - }, - "organizationIdentifier": { - "message": "Organization Identifier" - }, - "ssoLogInWithOrgIdentifier": { - "message": "Log in using your organization's single sign-on portal. Please enter your organization's identifier to begin." - }, - "enterpriseSingleSignOn": { - "message": "企業單一登入(SSO)" - }, - "ssoHandOff": { - "message": "您現在可以關閉此分頁,並且回到擴充套件繼續。" - }, - "businessPortal": { - "message": "企業入口網站", - "description": "The web portal used by business organizations for configuring certain features." - }, - "includeAllTeamsFeatures": { - "message": "All Teams features, plus:" - }, - "includeSsoAuthentication": { - "message": "SSO Authentication via SAML2.0 and OpenID Connect" - }, - "includeEnterprisePolicies": { - "message": "Enterprise Policies" - }, - "ssoValidationFailed": { - "message": "SSO Validation Failed" - }, - "ssoIdentifierRequired": { - "message": "Organization Identifier is required." - }, - "unlinkSso": { - "message": "取消 SSO 連結" - }, - "linkSso": { - "message": "連結 SSO" - }, - "webPoliciesDeprecationWarning": { - "message": "Policy configuration has been moved, and this page will soon be deprecated. Please click below to use the Business Portal policies page instead." - }, - "singleOrg": { - "message": "單一組織" - }, - "singleOrgDesc": { - "message": "Restrict users from being able to join any other organizations." - }, - "singleOrgBlockCreateMessage": { - "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." - }, - "singleOrgPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and are already a member of another organization will be removed from your organization." - }, - "requireSso": { - "message": "單一登入驗證" - }, - "requireSsoPolicyDesc": { - "message": "要求使用者以企業單一登入方法登入。" - }, - "prerequisite": { - "message": "先決條件" - }, - "requireSsoPolicyReq": { - "message": "必須先開啟單一組織企業政策,才能再開啟此政策。" - }, - "requireSsoPolicyReqError": { - "message": "未開啟單一組織政策。" - }, - "requireSsoExemption": { - "message": "組織擁有者與管理員,不受此政策的執行影響。" - }, - "sendTypeFile": { - "message": "檔案" - }, - "sendTypeText": { - "message": "文字" - }, - "createSend": { - "message": "Create New Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editSend": { - "message": "Edit Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "createdSend": { - "message": "Created Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "editedSend": { - "message": "Edited Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletedSend": { - "message": "Deleted Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSend": { - "message": "Delete Send", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deleteSendConfirmation": { - "message": "Are you sure you want to delete this Send?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "whatTypeOfSend": { - "message": "What type of Send is this?", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "deletionDate": { - "message": "刪除日期" - }, - "deletionDateDesc": { - "message": "The Send will be permanently deleted on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "expirationDate": { - "message": "到期日" - }, - "expirationDateDesc": { - "message": "If set, access to this Send will expire on the specified date and time.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "maxAccessCount": { - "message": "最大存取次數" - }, - "maxAccessCountDesc": { - "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "currentAccessCount": { - "message": "目前已存取次數" - }, - "sendPasswordDesc": { - "message": "Optionally require a password for users to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendNotesDesc": { - "message": "Private notes about this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "disabled": { - "message": "已停用" - }, - "sendLink": { - "message": "傳送連結", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "copySendLink": { - "message": "複製傳送連結", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "removePassword": { - "message": "移除密碼" - }, - "removedPassword": { - "message": "已移除密碼" - }, - "removePasswordConfirmation": { - "message": "您確定要移除密碼嗎?" - }, - "disableThisSend": { - "message": "Disable this Send so that no one can access it.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "allSends": { - "message": "All Sends" - }, - "maxAccessCountReached": { - "message": "Max access count reached" - }, - "pendingDeletion": { - "message": "等待刪除中" - }, - "expired": { - "message": "Expired" - }, - "searchSends": { - "message": "Search Sends", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPassword": { - "message": "This Send is protected with a password. Please type the password below to continue.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendProtectedPasswordDontKnow": { - "message": "Don't know the password? Ask the Sender for the password needed to access this Send.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "sendHiddenByDefault": { - "message": "This send is hidden by default. You can toggle its visibility using the button below.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "downloadFile": { - "message": "下載檔案" - }, - "sendAccessUnavailable": { - "message": "The Send you are trying to access does not exist or is no longer available.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "noSendsInList": { - "message": "There are no Sends to list.", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - }, - "emergencyAccess": { - "message": "Emergency Access" - }, - "emergencyAccessDesc": { - "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." - }, - "trustedEmergencyContacts": { - "message": "信任的緊急聯絡人" - }, - "noTrustedContacts": { - "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." - }, - "addEmergencyContact": { - "message": "新增緊急聯絡人" - }, - "designatedEmergencyContacts": { - "message": "已指定為緊急聯絡人" - }, - "noGrantedAccess": { - "message": "You have not been designated as an emergency contact for anyone yet." - }, - "inviteEmergencyContact": { - "message": "邀請緊急聯絡人" - }, - "editEmergencyContact": { - "message": "編輯緊急聯絡人" - }, - "inviteEmergencyContactDesc": { - "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." - }, - "emergencyAccessRecoveryInitiated": { - "message": "已發動緊急存取" - }, - "emergencyAccessRecoveryApproved": { - "message": "已確認緊急存取" - }, - "viewDesc": { - "message": "Can view all items in your own vault." - }, - "takeover": { - "message": "接管" - }, - "takeoverDesc": { - "message": "Can reset your account with a new master password." - }, - "waitTime": { - "message": "等候時間" - }, - "waitTimeDesc": { - "message": "Time required before automatically granting access." - }, - "oneDay": { - "message": "1 天" - }, - "days": { - "message": "$DAYS$ 天", - "placeholders": { - "days": { - "content": "$1", - "example": "1" - } - } - }, - "invitedUser": { - "message": "已邀請使用者。" - }, - "acceptEmergencyAccess": { - "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." - }, - "emergencyInviteAcceptFailed": { - "message": "Unable to accept invitation. Ask the user to send a new invitation." - }, - "emergencyInviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", - "placeholders": { - "description": { - "content": "$1", - "example": "You must enable 2FA on your user account before you can join this organization." - } - } - }, - "emergencyInviteAcceptedDesc": { - "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." - }, - "requestAccess": { - "message": "要求存取" - }, - "requestAccessConfirmation": { - "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", - "placeholders": { - "waittime": { - "content": "$1", - "example": "1" - } - } - }, - "requestSent": { - "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "approve": { - "message": "核准" - }, - "reject": { - "message": "拒絕" - }, - "approveAccessConfirmation": { - "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - }, - "action": { - "content": "$2", - "example": "View" - } - } - }, - "emergencyApproved": { - "message": "已核准緊急存取。" - }, - "emergencyRejected": { - "message": "已拒絕緊急存取" - }, - "passwordResetFor": { - "message": "Password reset for $USER$. You can now login using the new password.", - "placeholders": { - "user": { - "content": "$1", - "example": "John Smith" - } - } - }, - "personalOwnership": { - "message": "個人擁有權" - }, - "personalOwnershipPolicyDesc": { - "message": "Require users to save vault items to an organization by removing the personal ownership option." - }, - "personalOwnershipExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." - }, - "personalOwnershipSubmitError": { - "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." - }, - "modifiedPolicyId": { - "message": "Modified policy $ID$.", - "placeholders": { - "id": { - "content": "$1", - "example": "Master Password" - } - } - }, - "planPrice": { - "message": "方案價格" - }, - "estimatedTax": { - "message": "估計稅額" - }, - "custom": { - "message": "自訂" - }, - "customDesc": { - "message": "Allows more granular control of user permissions for advanced configurations." - }, - "permissions": { - "message": "權限" - }, - "accessBusinessPortal": { - "message": "存取企業入口網站" - }, - "accessEventLogs": { - "message": "存取事件紀錄" - }, - "accessImportExport": { - "message": "存取匯入/匯出" - }, - "accessReports": { - "message": "存取報告" - }, - "manageAllCollections": { - "message": "Manage All Collections" - }, - "manageAssignedCollections": { - "message": "Manage Assigned Collections" - }, - "manageGroups": { - "message": "管理群組" - }, - "managePolicies": { - "message": "Manage Policies" - }, - "manageSso": { - "message": "管理 SSO" - }, - "manageUsers": { - "message": "Manage Users" - }, - "disableRequireSsoError": { - "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." - }, - "personalOwnershipPolicyInEffect": { - "message": "An organization policy is affecting your ownership options." - }, - "personalOwnershipCheckboxDesc": { - "message": "Disable personal ownership for organization users" - }, - "textHiddenByDefault": { - "message": "When accessing the Send, hide the text by default", - "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." - } -} diff --git a/manifest.json b/manifest.json deleted file mode 100644 index 92a1204c..00000000 --- a/manifest.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "Bitwarden Vault", - "icons": [ - { - "src": "images/icons/android-chrome-192x192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "images/icons/android-chrome-512x512.png", - "sizes": "512x512", - "type": "image/png" - } - ], - "theme_color": "#175DDC", - "background_color": "#175DDC" -} diff --git a/scripts/dropin.js b/scripts/dropin.js deleted file mode 100644 index c39e1c4c..00000000 --- a/scripts/dropin.js +++ /dev/null @@ -1,15313 +0,0 @@ -(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}(g.braintree || (g.braintree = {})).dropin = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;iYou cannot use this constructor directly. Use {@link module:braintree-web/apple-pay.create|braintree.applePay.create} instead. - * @classdesc This class represents an Apple Pay component. Instances of this class have methods for validating the merchant server and tokenizing payments. - */ -function ApplePay(options) { - this._client = options.client; - /** - * @name ApplePay#merchantIdentifier - * @description A special merchant ID which represents the merchant association with Braintree. Required when using `ApplePaySession.canMakePaymentsWithActiveCard`. - * @example - * var promise = ApplePaySession.canMakePaymentsWithActiveCard(applePayInstance.merchantIdentifier); - * promise.then(function (canMakePaymentsWithActiveCard) { - * if (canMakePaymentsWithActiveCard) { - * // Set up Apple Pay buttons - * } - * }); - */ - Object.defineProperty(this, 'merchantIdentifier', { - value: this._client.getConfiguration().gatewayConfiguration.applePayWeb.merchantIdentifier, - configurable: false, - writable: false - }); -} - -/** - * Merges a payment request with Braintree defaults to return an {external:ApplePayPaymentRequest}. - * - * The following properties are assigned to `paymentRequest` if not already defined. Their default values come from the Braintree gateway. - * - `countryCode` - * - `currencyCode` - * - `merchantCapabilities` - * - `supportedNetworks` - * @public - * @param {external:ApplePayPaymentRequest} paymentRequest The payment request details to apply on top of those from Braintree. - * @returns {external:ApplePayPaymentRequest} The decorated `paymentRequest` object. - * @example - * var applePay = require('braintree-web/apple-pay'); - * - * applePay.create({client: clientInstance}, function (applePayErr, applePayInstance) { - * if (applePayErr) { - * // Handle error here - * return; - * } - * - * var paymentRequest = applePayInstance.createPaymentRequest({ - * total: { - * label: 'My Company', - * amount: '19.99' - * } - * }); - * - * var session = new ApplePaySession(2, paymentRequest); - * - * // ... - */ -ApplePay.prototype.createPaymentRequest = function (paymentRequest) { - var applePay = this._client.getConfiguration().gatewayConfiguration.applePayWeb; - var defaults = { - countryCode: applePay.countryCode, - currencyCode: applePay.currencyCode, - merchantCapabilities: applePay.merchantCapabilities || ['supports3DS'], - supportedNetworks: applePay.supportedNetworks.map(function (network) { - return network === 'mastercard' ? 'masterCard' : network; - }) - }; - - return Object.assign({}, defaults, paymentRequest); -}; - -/** - * Validates your merchant website, as required by `ApplePaySession` before payment can be authorized. - * @public - * @param {object} options Options - * @param {string} options.validationURL The validationURL fram an `ApplePayValidateMerchantEvent`. - * @param {string} options.displayName The canonical name for your store. Use a non-localized name. This parameter should be a UTF-8 string that is a maximum of 128 characters. The system may display this name to the user. - * @param {callback} [callback] The second argument, data, is the Apple Pay merchant session object. If no callback is provided, `performValidation` returns a promise. - * Pass the merchant session to your Apple Pay session's `completeMerchantValidation` method. - * @returns {Promise|void} Returns a promise if no callback is provided. - * @example - * var applePay = require('braintree-web/apple-pay'); - * - * applePay.create({client: clientInstance}, function (applePayErr, applePayInstance) { - * if (applePayErr) { - * // Handle error here - * return; - * } - * - * var paymentRequest = applePayInstance.createPaymentRequest({ - * total: { - * label: 'My Company', - * amount: '19.99' - * } - * }); - * var session = new ApplePaySession(2, paymentRequest); - * - * session.onvalidatemerchant = function (event) { - * applePayInstance.performValidation({ - * validationURL: event.validationURL, - * displayName: 'My Great Store' - * }, function (validationErr, validationData) { - * if (validationErr) { - * console.error(validationErr); - * session.abort(); - * return; - * } - * - * session.completeMerchantValidation(validationData); - * }); - * }; - * }); - */ -ApplePay.prototype.performValidation = function (options) { - var applePayWebSession; - var self = this; - - if (!options || !options.validationURL) { - return Promise.reject(new BraintreeError(errors.APPLE_PAY_VALIDATION_URL_REQUIRED)); - } - - applePayWebSession = { - validationUrl: options.validationURL, - domainName: options.domainName || global.location.hostname, - merchantIdentifier: options.merchantIdentifier || this.merchantIdentifier - }; - - if (options.displayName != null) { - applePayWebSession.displayName = options.displayName; - } - - return this._client.request({ - method: 'post', - endpoint: 'apple_pay_web/sessions', - data: { - _meta: {source: 'apple-pay'}, - applePayWebSession: applePayWebSession - } - }).then(function (response) { - analytics.sendEvent(self._client, 'applepay.performValidation.succeeded'); - - return Promise.resolve(response); - }).catch(function (err) { - analytics.sendEvent(self._client, 'applepay.performValidation.failed'); - - if (err.code === 'CLIENT_REQUEST_ERROR') { - return Promise.reject(new BraintreeError({ - type: errors.APPLE_PAY_MERCHANT_VALIDATION_FAILED.type, - code: errors.APPLE_PAY_MERCHANT_VALIDATION_FAILED.code, - message: errors.APPLE_PAY_MERCHANT_VALIDATION_FAILED.message, - details: { - originalError: err.details.originalError - } - })); - } - - return Promise.reject(new BraintreeError({ - type: errors.APPLE_PAY_MERCHANT_VALIDATION_NETWORK.type, - code: errors.APPLE_PAY_MERCHANT_VALIDATION_NETWORK.code, - message: errors.APPLE_PAY_MERCHANT_VALIDATION_NETWORK.message, - details: { - originalError: err - } - })); - }); -}; - -/** - * Tokenizes an Apple Pay payment. This will likely be called in your `ApplePaySession`'s `onpaymentauthorized` callback. - * @public - * @param {object} options Options - * @param {object} options.token The `payment.token` property of an {@link external:ApplePayPaymentAuthorizedEvent}. - * @param {callback} [callback] The second argument, data, is a {@link ApplePay~tokenizePayload|tokenizePayload}. If no callback is provided, `tokenize` returns a promise that resolves with a {@link ApplePay~tokenizePayload|tokenizePayload}. - * @returns {Promise|void} Returns a promise if no callback is provided. - * @example - * var applePay = require('braintree-web/apple-pay'); - * - * applePay.create({client: clientInstance}, function (applePayErr, applePayInstance) { - * if (applePayErr) { - * // Handle error here - * return; - * } - * - * var paymentRequest = applePayInstance.createPaymentRequest({ - * total: { - * label: 'My Company', - * amount: '19.99' - * } - * }); - * var session = new ApplePaySession(2, paymentRequest); - * - * session.onpaymentauthorized = function (event) { - * applePayInstance.tokenize({ - * token: event.payment.token - * }, function (tokenizeErr, tokenizedPayload) { - * if (tokenizeErr) { - * session.completePayment(ApplePaySession.STATUS_FAILURE); - * return; - * } - * session.completePayment(ApplePaySession.STATUS_SUCCESS); - * - * // Send the tokenizedPayload to your server here! - * }); - * }; - * - * // ... - * }); - */ -ApplePay.prototype.tokenize = function (options) { - var self = this; - - if (!options.token) { - return Promise.reject(new BraintreeError(errors.APPLE_PAY_PAYMENT_TOKEN_REQUIRED)); - } - - return this._client.request({ - method: 'post', - endpoint: 'payment_methods/apple_payment_tokens', - data: { - _meta: { - source: 'apple-pay' - }, - applePaymentToken: Object.assign({}, options.token, { - // The gateway requires this key to be base64-encoded. - paymentData: btoa(JSON.stringify(options.token.paymentData)) - }) - } - }).then(function (response) { - analytics.sendEvent(self._client, 'applepay.tokenize.succeeded'); - - return Promise.resolve(response.applePayCards[0]); - }).catch(function (err) { - analytics.sendEvent(self._client, 'applepay.tokenize.failed'); - - return Promise.reject(new BraintreeError({ - type: errors.APPLE_PAY_TOKENIZATION.type, - code: errors.APPLE_PAY_TOKENIZATION.code, - message: errors.APPLE_PAY_TOKENIZATION.message, - details: { - originalError: err - } - })); - }); -}; - -/** - * Cleanly tear down anything set up by {@link module:braintree-web/apple-pay.create|create}. - * @public - * @param {callback} [callback] Called once teardown is complete. No data is returned if teardown completes successfully. - * @example - * applePayInstance.teardown(); - * @example With callback - * applePayInstance.teardown(function () { - * // teardown is complete - * }); - * @returns {Promise|void} Returns a promise if no callback is provided. - */ -ApplePay.prototype.teardown = function () { - convertMethodsToError(this, methods(ApplePay.prototype)); - - return Promise.resolve(); -}; - -module.exports = wrapPromise.wrapPrototype(ApplePay); - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"../lib/analytics":62,"../lib/braintree-error":66,"../lib/convert-methods-to-error":72,"../lib/methods":85,"../lib/promise":87,"./errors":23,"@braintree/wrap-promise":21}],23:[function(require,module,exports){ -'use strict'; - -/** - * @name BraintreeError.Apple Pay - Creation Error Codes - * @description Errors that occur when [creating the Apple Pay component](/current/module-braintree-web_apple-pay.html#.create). - * @property {MERCHANT} APPLE_PAY_NOT_ENABLED Occurs when the authorization used is not authorized to process Apple Pay. - */ - -/** - * @name BraintreeError.Apple Pay - performValidation Error Codes - * @description Errors that occur when [validating](/current/ApplePay.html#performValidation). - * @property {MERCHANT} APPLE_PAY_VALIDATION_URL_REQUIRED Occurs when the `validationURL` option is not passed in. - * @property {MERCHANT} APPLE_PAY_MERCHANT_VALIDATION_FAILED Occurs when the website domain has not been registered in the Braintree control panel. - * @property {NETWORK} APPLE_PAY_MERCHANT_VALIDATION_NETWORK Occurs when an unknown network error occurs. - */ - -/** - * @name BraintreeError.Apple Pay - tokenize Error Codes - * @description Errors that occur when [tokenizing](/current/ApplePay.html#tokenize). - * @property {MERCHANT} APPLE_PAY_PAYMENT_TOKEN_REQUIRED Occurs when the `token` option is not passed in. - * @property {NETWORK} APPLE_PAY_TOKENIZATION Occurs when an unknown network error occurs. - */ - -var BraintreeError = require('../lib/braintree-error'); - -module.exports = { - APPLE_PAY_NOT_ENABLED: { - type: BraintreeError.types.MERCHANT, - code: 'APPLE_PAY_NOT_ENABLED', - message: 'Apple Pay is not enabled for this merchant.' - }, - APPLE_PAY_VALIDATION_URL_REQUIRED: { - type: BraintreeError.types.MERCHANT, - code: 'APPLE_PAY_VALIDATION_URL_REQUIRED', - message: 'performValidation must be called with a validationURL.' - }, - APPLE_PAY_MERCHANT_VALIDATION_NETWORK: { - type: BraintreeError.types.NETWORK, - code: 'APPLE_PAY_MERCHANT_VALIDATION_NETWORK', - message: 'A network error occurred when validating the Apple Pay merchant.' - }, - APPLE_PAY_MERCHANT_VALIDATION_FAILED: { - type: BraintreeError.types.MERCHANT, - code: 'APPLE_PAY_MERCHANT_VALIDATION_FAILED', - message: 'Make sure you have registered your domain name in the Braintree Control Panel.' - }, - APPLE_PAY_PAYMENT_TOKEN_REQUIRED: { - type: BraintreeError.types.MERCHANT, - code: 'APPLE_PAY_PAYMENT_TOKEN_REQUIRED', - message: 'tokenize must be called with a payment token.' - }, - APPLE_PAY_TOKENIZATION: { - type: BraintreeError.types.NETWORK, - code: 'APPLE_PAY_TOKENIZATION', - message: 'A network error occurred when processing the Apple Pay payment.' - } -}; - -},{"../lib/braintree-error":66}],24:[function(require,module,exports){ -'use strict'; - -/** - * @module braintree-web/apple-pay - * @description Accept Apple Pay on the Web. *This component is currently in beta and is subject to change.* - */ - -var BraintreeError = require('../lib/braintree-error'); -var ApplePay = require('./apple-pay'); -var analytics = require('../lib/analytics'); -var basicComponentVerification = require('../lib/basic-component-verification'); -var errors = require('./errors'); -var VERSION = "3.37.0"; -var Promise = require('../lib/promise'); -var wrapPromise = require('@braintree/wrap-promise'); - -/** - * @static - * @function create - * @param {object} options Creation options: - * @param {Client} options.client A {@link Client} instance. - * @param {callback} [callback] The second argument, `data`, is the {@link ApplePay} instance. If no callback is provided, `create` returns a promise that resolves with the {@link ApplePay} instance. - * @returns {Promise|void} Returns a promise if no callback is provided. - */ -function create(options) { - return basicComponentVerification.verify({ - name: 'Apple Pay', - client: options.client - }).then(function () { - if (!options.client.getConfiguration().gatewayConfiguration.applePayWeb) { - return Promise.reject(new BraintreeError(errors.APPLE_PAY_NOT_ENABLED)); - } - - analytics.sendEvent(options.client, 'applepay.initialized'); - - return new ApplePay(options); - }); -} - -module.exports = { - create: wrapPromise(create), - /** - * @description The current version of the SDK, i.e. `{@pkg version}`. - * @type {string} - */ - VERSION: VERSION -}; - -},{"../lib/analytics":62,"../lib/basic-component-verification":64,"../lib/braintree-error":66,"../lib/promise":87,"./apple-pay":22,"./errors":23,"@braintree/wrap-promise":21}],25:[function(require,module,exports){ -'use strict'; - -var isIe = require('@braintree/browser-detection/is-ie'); -var isIe9 = require('@braintree/browser-detection/is-ie9'); - -module.exports = { - isIe: isIe, - isIe9: isIe9 -}; - -},{"@braintree/browser-detection/is-ie":4,"@braintree/browser-detection/is-ie9":7}],26:[function(require,module,exports){ -'use strict'; - -var BRAINTREE_VERSION = require('./constants').BRAINTREE_VERSION; - -var GraphQL = require('./request/graphql'); -var request = require('./request'); -var isVerifiedDomain = require('../lib/is-verified-domain'); -var BraintreeError = require('../lib/braintree-error'); -var convertToBraintreeError = require('../lib/convert-to-braintree-error'); -var createAuthorizationData = require('../lib/create-authorization-data'); -var addMetadata = require('../lib/add-metadata'); -var Promise = require('../lib/promise'); -var wrapPromise = require('@braintree/wrap-promise'); -var once = require('../lib/once'); -var deferred = require('../lib/deferred'); -var assign = require('../lib/assign').assign; -var analytics = require('../lib/analytics'); -var constants = require('./constants'); -var errors = require('./errors'); -var sharedErrors = require('../lib/errors'); -var VERSION = require('../lib/constants').VERSION; -var GRAPHQL_URLS = require('../lib/constants').GRAPHQL_URLS; -var methods = require('../lib/methods'); -var convertMethodsToError = require('../lib/convert-methods-to-error'); - -/** - * This object is returned by {@link Client#getConfiguration|getConfiguration}. This information is used extensively by other Braintree modules to properly configure themselves. - * @typedef {object} Client~configuration - * @property {object} client The braintree-web/client parameters. - * @property {string} client.authorization A tokenizationKey or clientToken. - * @property {object} gatewayConfiguration Gateway-supplied configuration. - * @property {object} analyticsMetadata Analytics-specific data. - * @property {string} analyticsMetadata.sessionId Uniquely identifies a browsing session. - * @property {string} analyticsMetadata.sdkVersion The braintree.js version. - * @property {string} analyticsMetadata.merchantAppId Identifies the merchant's web app. - */ - -/** - * @class - * @param {Client~configuration} configuration Options - * @description Do not use this constructor directly. Use {@link module:braintree-web/client.create|braintree.client.create} instead. - * @classdesc This class is required by many other Braintree components. It serves as the base API layer that communicates with our servers. It is also capable of being used to formulate direct calls to our servers, such as direct credit card tokenization. See {@link Client#request}. - */ -function Client(configuration) { - var configurationJSON, gatewayConfiguration, braintreeApiConfiguration; - - configuration = configuration || {}; - - configurationJSON = JSON.stringify(configuration); - gatewayConfiguration = configuration.gatewayConfiguration; - - if (!gatewayConfiguration) { - throw new BraintreeError(errors.CLIENT_MISSING_GATEWAY_CONFIGURATION); - } - - [ - 'assetsUrl', - 'clientApiUrl', - 'configUrl' - ].forEach(function (property) { - if (property in gatewayConfiguration && !isVerifiedDomain(gatewayConfiguration[property])) { - throw new BraintreeError({ - type: errors.CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN.type, - code: errors.CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN.code, - message: property + ' property is on an invalid domain.' - }); - } - }); - - /** - * Returns a copy of the configuration values. - * @public - * @returns {Client~configuration} configuration - */ - this.getConfiguration = function () { - return JSON.parse(configurationJSON); - }; - - this._activeCache = true; - this._request = request; - this._configuration = this.getConfiguration(); - - this._clientApiBaseUrl = gatewayConfiguration.clientApiUrl + '/v1/'; - - braintreeApiConfiguration = gatewayConfiguration.braintreeApi; - if (braintreeApiConfiguration) { - this._braintreeApi = { - baseUrl: braintreeApiConfiguration.url + '/', - accessToken: braintreeApiConfiguration.accessToken - }; - - if (!isVerifiedDomain(this._braintreeApi.baseUrl)) { - throw new BraintreeError({ - type: errors.CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN.type, - code: errors.CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN.code, - message: 'braintreeApi URL is on an invalid domain.' - }); - } - } - - if (gatewayConfiguration.graphQL) { - this._graphQL = new GraphQL({ - graphQL: gatewayConfiguration.graphQL - }); - } -} - -/** - * Used by other modules to formulate all network requests to the Braintree gateway. It is also capable of being used directly from your own form to tokenize credit card information. However, be sure to satisfy PCI compliance if you use direct card tokenization. - * @public - * @param {object} options Request options: - * @param {string} options.method HTTP method, e.g. "get" or "post". - * @param {string} options.endpoint Endpoint path, e.g. "payment_methods". - * @param {object} options.data Data to send with the request. - * @param {number} [options.timeout=60000] Set a timeout (in milliseconds) for the request. - * @param {callback} [callback] The second argument, data, is the returned server data. - * @example - * Direct Credit Card Tokenization - * var createClient = require('braintree-web/client').create; - * - * createClient({ - * authorization: CLIENT_AUTHORIZATION - * }, function (createErr, clientInstance) { - * var form = document.getElementById('my-form-id'); - * var data = { - * creditCard: { - * number: form['cc-number'].value, - * cvv: form['cc-cvv'].value, - * expirationDate: form['cc-expiration-date'].value, - * billingAddress: { - * postalCode: form['cc-postal-code'].value - * }, - * options: { - * validate: false - * } - * } - * }; - * - * // Warning: For a merchant to be eligible for the easiest level of PCI compliance (SAQ A), - * // payment fields cannot be hosted on your checkout page. - * // For an alternative to the following, use Hosted Fields. - * clientInstance.request({ - * endpoint: 'payment_methods/credit_cards', - * method: 'post', - * data: data - * }, function (requestErr, response) { - * // More detailed example of handling API errors: https://codepen.io/braintree/pen/MbwjdM - * if (requestErr) { throw new Error(requestErr); } - * - * console.log('Got nonce:', response.creditCards[0].nonce); - * }); - * }); - * @example - * Tokenizing Fields for AVS Checks - * var createClient = require('braintree-web/client').create; - * - * createClient({ - * authorization: CLIENT_AUTHORIZATION - * }, function (createErr, clientInstance) { - * var form = document.getElementById('my-form-id'); - * var data = { - * creditCard: { - * number: form['cc-number'].value, - * cvv: form['cc-cvv'].value, - * expirationDate: form['cc-date'].value, - * // The billing address can be checked with AVS rules. - * // See: https://articles.braintreepayments.com/support/guides/fraud-tools/basic/avs-cvv-rules - * billingAddress: { - * postalCode: form['cc-postal-code'].value, - * streetAddress: form['cc-street-address'].value, - * countryName: form['cc-country-name'].value, - * countryCodeAlpha2: form['cc-country-alpha2'].value, - * countryCodeAlpha3: form['cc-country-alpha3'].value, - * countryCodeNumeric: form['cc-country-numeric'].value - * }, - * options: { - * validate: false - * } - * } - * }; - * - * // Warning: For a merchant to be eligible for the easiest level of PCI compliance (SAQ A), - * // payment fields cannot be hosted on your checkout page. - * // For an alternative to the following, use Hosted Fields. - * clientInstance.request({ - * endpoint: 'payment_methods/credit_cards', - * method: 'post', - * data: data - * }, function (requestErr, response) { - * // More detailed example of handling API errors: https://codepen.io/braintree/pen/MbwjdM - * if (requestErr) { throw new Error(requestErr); } - * - * console.log('Got nonce:', response.creditCards[0].nonce); - * }); - * }); - * @returns {Promise|void} Returns a promise if no callback is provided. - */ -Client.prototype.request = function (options, callback) { - var self = this; // eslint-disable-line no-invalid-this - var requestPromise = new Promise(function (resolve, reject) { - var optionName, api, baseUrl, requestOptions; - - if (options.api !== 'graphQLApi') { - if (!options.method) { - optionName = 'options.method'; - } else if (!options.endpoint) { - optionName = 'options.endpoint'; - } - } - - if (optionName) { - throw new BraintreeError({ - type: errors.CLIENT_OPTION_REQUIRED.type, - code: errors.CLIENT_OPTION_REQUIRED.code, - message: optionName + ' is required when making a request.' - }); - } - - if ('api' in options) { - api = options.api; - } else { - api = 'clientApi'; - } - - requestOptions = { - method: options.method, - graphQL: self._graphQL, - timeout: options.timeout, - metadata: self._configuration.analyticsMetadata - }; - - if (api === 'clientApi') { - baseUrl = self._clientApiBaseUrl; - - requestOptions.data = addMetadata(self._configuration, options.data); - } else if (api === 'braintreeApi') { - if (!self._braintreeApi) { - throw new BraintreeError(sharedErrors.BRAINTREE_API_ACCESS_RESTRICTED); - } - - baseUrl = self._braintreeApi.baseUrl; - - requestOptions.data = options.data; - - requestOptions.headers = { - 'Braintree-Version': constants.BRAINTREE_API_VERSION_HEADER, - Authorization: 'Bearer ' + self._braintreeApi.accessToken - }; - } else if (api === 'graphQLApi') { - baseUrl = GRAPHQL_URLS[self._configuration.gatewayConfiguration.environment]; - options.endpoint = ''; - requestOptions.method = 'post'; - requestOptions.data = assign({ - clientSdkMetadata: { - source: self._configuration.analyticsMetadata.source, - integration: self._configuration.analyticsMetadata.integration, - sessionId: self._configuration.analyticsMetadata.sessionId - } - }, options.data); - - requestOptions.headers = getAuthorizationHeadersForGraphQL(self._configuration.authorization); - } else { - throw new BraintreeError({ - type: errors.CLIENT_OPTION_INVALID.type, - code: errors.CLIENT_OPTION_INVALID.code, - message: 'options.api is invalid.' - }); - } - - requestOptions.url = baseUrl + options.endpoint; - requestOptions.sendAnalyticsEvent = function (kind) { - analytics.sendEvent(self, kind); - }; - - self._request(requestOptions, function (err, data, status) { - var resolvedData, requestError; - - requestError = formatRequestError(status, err); - - if (requestError) { - reject(requestError); - - return; - } - - if (api === 'graphQLApi' && data.errors) { - reject(convertToBraintreeError(data.errors, { - type: errors.CLIENT_GRAPHQL_REQUEST_ERROR.type, - code: errors.CLIENT_GRAPHQL_REQUEST_ERROR.code, - message: errors.CLIENT_GRAPHQL_REQUEST_ERROR.message - })); - - return; - } - - resolvedData = assign({_httpStatus: status}, data); - - resolve(resolvedData); - }); - }); - - if (typeof callback === 'function') { - callback = once(deferred(callback)); - - requestPromise.then(function (response) { - callback(null, response, response._httpStatus); - }).catch(function (err) { - var status = err && err.details && err.details.httpStatus; - - callback(err, null, status); - }); - - return; - } - - return requestPromise; // eslint-disable-line consistent-return -}; - -function formatRequestError(status, err) { // eslint-disable-line consistent-return - var requestError; - - if (status === -1) { - requestError = new BraintreeError(errors.CLIENT_REQUEST_TIMEOUT); - } else if (status === 403) { - requestError = new BraintreeError(errors.CLIENT_AUTHORIZATION_INSUFFICIENT); - } else if (status === 429) { - requestError = new BraintreeError(errors.CLIENT_RATE_LIMITED); - } else if (status >= 500) { - requestError = new BraintreeError(errors.CLIENT_GATEWAY_NETWORK); - } else if (status < 200 || status >= 400) { - requestError = convertToBraintreeError(err, { - type: errors.CLIENT_REQUEST_ERROR.type, - code: errors.CLIENT_REQUEST_ERROR.code, - message: errors.CLIENT_REQUEST_ERROR.message - }); - } - - if (requestError) { - requestError.details = requestError.details || {}; - requestError.details.httpStatus = status; - - return requestError; - } -} - -Client.prototype.toJSON = function () { - return this.getConfiguration(); -}; - -/** - * Returns the Client version. - * @public - * @returns {String} The created client's version. - * @example - * var createClient = require('braintree-web/client').create; - * - * createClient({ - * authorization: CLIENT_AUTHORIZATION - * }, function (createErr, clientInstance) { - * console.log(clientInstance.getVersion()); // Ex: 1.0.0 - * }); - * @returns {void} - */ -Client.prototype.getVersion = function () { - return VERSION; -}; - -/** - * Cleanly tear down anything set up by {@link module:braintree-web/client.create|create}. - * @public - * @param {callback} [callback] Called once teardown is complete. No data is returned if teardown completes successfully. - * @example - * clientInstance.teardown(); - * @example With callback - * clientInstance.teardown(function () { - * // teardown is complete - * }); - * @returns {Promise|void} Returns a promise if no callback is provided. - */ -Client.prototype.teardown = wrapPromise(function () { - var self = this; // eslint-disable-line no-invalid-this - - self._activeCache = false; - - convertMethodsToError(self, methods(Client.prototype)); - - return Promise.resolve(); -}); - -function getAuthorizationHeadersForGraphQL(authorization) { - var authAttrs = createAuthorizationData(authorization).attrs; - var token = authAttrs.authorizationFingerprint || authAttrs.tokenizationKey; - - return { - Authorization: 'Bearer ' + token, - 'Braintree-Version': BRAINTREE_VERSION - }; -} - -module.exports = Client; - -},{"../lib/add-metadata":61,"../lib/analytics":62,"../lib/assign":63,"../lib/braintree-error":66,"../lib/constants":71,"../lib/convert-methods-to-error":72,"../lib/convert-to-braintree-error":73,"../lib/create-authorization-data":74,"../lib/deferred":75,"../lib/errors":78,"../lib/is-verified-domain":83,"../lib/methods":85,"../lib/once":86,"../lib/promise":87,"./constants":27,"./errors":28,"./request":41,"./request/graphql":39,"@braintree/wrap-promise":21}],27:[function(require,module,exports){ -'use strict'; - -module.exports = { - BRAINTREE_API_VERSION_HEADER: '2017-04-03', - BRAINTREE_VERSION: '2018-05-10' -}; - -},{}],28:[function(require,module,exports){ -'use strict'; - -/** - * @name BraintreeError.Client - Interal Error Codes - * @ignore - * @description These codes should never be experienced by the mechant directly. - * @property {MERCHANT} CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN An error to prevent client creation for domains that are not allowed in the JS. - * @property {INTERNAL} CLIENT_MISSING_GATEWAY_CONFIGURATION Occurs when the client is created without a gateway configuration. Should never happen. - */ - -/** - * @name BraintreeError.Client - Create Error Codes - * @description Errors that may occur when [creating the client](/current/module-braintree-web_client.html#.create) - * @property {MERCHANT} CLIENT_INVALID_AUTHORIZATION Occurs when client token cannot be parsed. - */ - -/** - * @name BraintreeError.Client - Request Error Codes - * @description Errors that may occur when [using the request method](/current/Client.html#request) - * @property {MERCHANT} CLIENT_OPTION_REQUIRED An option required in the request method was not provided. Usually `options.method` or `options.endpoint` - * @property {MERCHANT} CLIENT_OPTION_INVALID The request option provided is invalid. - * @property {MERCHANT} CLIENT_GATEWAY_NETWORK The Braintree gateway could not be contacted. - * @property {NETWORK} CLIENT_REQUEST_TIMEOUT The request took too long to complete and timed out. - * @property {NETWORK} CLIENT_REQUEST_ERROR The response from a request had status 400 or greater. - * @property {NETWORK} CLIENT_GRAPHQL_REQUEST_ERROR The response from a request to GraphQL contained an error. - * @property {MERCHANT} CLIENT_RATE_LIMITED The response from a request had a status of 429, indicating rate limiting. - * @property {MERCHANT} CLIENT_AUTHORIZATION_INSUFFICIENT The user assocaited with the client token or tokenization key does not have permissions to make the request. - */ - -var BraintreeError = require('../lib/braintree-error'); - -module.exports = { - CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN: { - type: BraintreeError.types.MERCHANT, - code: 'CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN' - }, - CLIENT_OPTION_REQUIRED: { - type: BraintreeError.types.MERCHANT, - code: 'CLIENT_OPTION_REQUIRED' - }, - CLIENT_OPTION_INVALID: { - type: BraintreeError.types.MERCHANT, - code: 'CLIENT_OPTION_INVALID' - }, - CLIENT_MISSING_GATEWAY_CONFIGURATION: { - type: BraintreeError.types.INTERNAL, - code: 'CLIENT_MISSING_GATEWAY_CONFIGURATION', - message: 'Missing gatewayConfiguration.' - }, - CLIENT_INVALID_AUTHORIZATION: { - type: BraintreeError.types.MERCHANT, - code: 'CLIENT_INVALID_AUTHORIZATION', - message: 'Authorization is invalid. Make sure your client token or tokenization key is valid.' - }, - CLIENT_GATEWAY_NETWORK: { - type: BraintreeError.types.NETWORK, - code: 'CLIENT_GATEWAY_NETWORK', - message: 'Cannot contact the gateway at this time.' - }, - CLIENT_REQUEST_TIMEOUT: { - type: BraintreeError.types.NETWORK, - code: 'CLIENT_REQUEST_TIMEOUT', - message: 'Request timed out waiting for a reply.' - }, - CLIENT_REQUEST_ERROR: { - type: BraintreeError.types.NETWORK, - code: 'CLIENT_REQUEST_ERROR', - message: 'There was a problem with your request.' - }, - CLIENT_GRAPHQL_REQUEST_ERROR: { - type: BraintreeError.types.NETWORK, - code: 'CLIENT_GRAPHQL_REQUEST_ERROR', - message: 'There was a problem with your request.' - }, - CLIENT_RATE_LIMITED: { - type: BraintreeError.types.MERCHANT, - code: 'CLIENT_RATE_LIMITED', - message: 'You are being rate-limited; please try again in a few minutes.' - }, - CLIENT_AUTHORIZATION_INSUFFICIENT: { - type: BraintreeError.types.MERCHANT, - code: 'CLIENT_AUTHORIZATION_INSUFFICIENT', - message: 'The authorization used has insufficient privileges.' - } -}; - -},{"../lib/braintree-error":66}],29:[function(require,module,exports){ -(function (global){ -'use strict'; - -var BraintreeError = require('../lib/braintree-error'); -var Promise = require('../lib/promise'); -var wrapPromise = require('@braintree/wrap-promise'); -var request = require('./request'); -var uuid = require('../lib/vendor/uuid'); -var constants = require('../lib/constants'); -var createAuthorizationData = require('../lib/create-authorization-data'); -var errors = require('./errors'); -var GraphQL = require('./request/graphql'); -var isDateStringBeforeOrOn = require('../lib/is-date-string-before-or-on'); - -var BRAINTREE_VERSION = require('./constants').BRAINTREE_VERSION; - -function getConfiguration(options) { - return new Promise(function (resolve, reject) { - var configuration, authData, attrs, configUrl, reqOptions; - var sessionId = uuid(); - var analyticsMetadata = { - merchantAppId: global.location.host, - platform: constants.PLATFORM, - sdkVersion: constants.VERSION, - source: constants.SOURCE, - integration: constants.INTEGRATION, - integrationType: constants.INTEGRATION, - sessionId: sessionId - }; - - try { - authData = createAuthorizationData(options.authorization); - } catch (err) { - reject(new BraintreeError(errors.CLIENT_INVALID_AUTHORIZATION)); - - return; - } - attrs = authData.attrs; - configUrl = authData.configUrl; - - attrs._meta = analyticsMetadata; - attrs.braintreeLibraryVersion = constants.BRAINTREE_LIBRARY_VERSION; - attrs.configVersion = '3'; - - reqOptions = { - url: configUrl, - method: 'GET', - data: attrs - }; - - if (attrs.authorizationFingerprint && authData.graphQL) { - if (isDateStringBeforeOrOn(authData.graphQL.date, BRAINTREE_VERSION)) { - reqOptions.graphQL = new GraphQL({ - graphQL: { - url: authData.graphQL.url, - features: ['configuration'] - } - }); - } - - reqOptions.metadata = analyticsMetadata; - } - - request(reqOptions, function (err, response, status) { - var errorTemplate; - - if (err) { - if (status === 403) { - errorTemplate = errors.CLIENT_AUTHORIZATION_INSUFFICIENT; - } else { - errorTemplate = errors.CLIENT_GATEWAY_NETWORK; - } - - reject(new BraintreeError({ - type: errorTemplate.type, - code: errorTemplate.code, - message: errorTemplate.message, - details: { - originalError: err - } - })); - - return; - } - - configuration = { - authorization: options.authorization, - authorizationType: attrs.tokenizationKey ? 'TOKENIZATION_KEY' : 'CLIENT_TOKEN', - analyticsMetadata: analyticsMetadata, - gatewayConfiguration: response - }; - - resolve(configuration); - }); - }); -} - -module.exports = { - getConfiguration: wrapPromise(getConfiguration) -}; - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"../lib/braintree-error":66,"../lib/constants":71,"../lib/create-authorization-data":74,"../lib/is-date-string-before-or-on":81,"../lib/promise":87,"../lib/vendor/uuid":91,"./constants":27,"./errors":28,"./request":41,"./request/graphql":39,"@braintree/wrap-promise":21}],30:[function(require,module,exports){ -'use strict'; - -var BraintreeError = require('../lib/braintree-error'); -var Client = require('./client'); -var getConfiguration = require('./get-configuration').getConfiguration; -var VERSION = "3.37.0"; -var Promise = require('../lib/promise'); -var wrapPromise = require('@braintree/wrap-promise'); -var sharedErrors = require('../lib/errors'); - -var cachedClients = {}; - -/** @module braintree-web/client */ - -/** - * @function create - * @description This function is the entry point for the braintree.client module. It is used for creating {@link Client} instances that service communication to Braintree servers. - * @param {object} options Object containing all {@link Client} options: - * @param {string} options.authorization A tokenizationKey or clientToken. - * @param {callback} [callback] The second argument, data, is the {@link Client} instance. - * @returns {Promise|void} Returns a promise if no callback is provided. - * @example - * var createClient = require('braintree-web/client').create; - * - * createClient({ - * authorization: CLIENT_AUTHORIZATION - * }, function (createErr, clientInstance) { - * // ... - * }); - * @static - */ -function create(options) { - if (!options.authorization) { - return Promise.reject(new BraintreeError({ - type: sharedErrors.INSTANTIATION_OPTION_REQUIRED.type, - code: sharedErrors.INSTANTIATION_OPTION_REQUIRED.code, - message: 'options.authorization is required when instantiating a client.' - })); - } - - if (cachedClients[options.authorization] && cachedClients[options.authorization]._activeCache) { - return Promise.resolve(cachedClients[options.authorization]); - } - - return getConfiguration(options).then(function (configuration) { - var client; - - if (options.debug) { - configuration.isDebug = true; - } - - client = new Client(configuration); - - cachedClients[options.authorization] = client; - - return client; - }); -} - -// Primarily used for testing the client create call -function clearCache() { - cachedClients = {}; -} - -module.exports = { - create: wrapPromise(create), - /** - * @description The current version of the SDK, i.e. `{@pkg version}`. - * @type {string} - */ - VERSION: VERSION, - _clearCache: clearCache -}; - -},{"../lib/braintree-error":66,"../lib/errors":78,"../lib/promise":87,"./client":26,"./get-configuration":29,"@braintree/wrap-promise":21}],31:[function(require,module,exports){ -'use strict'; - -var querystring = require('../../lib/querystring'); -var browserDetection = require('../browser-detection'); -var assign = require('../../lib/assign').assign; -var prepBody = require('./prep-body'); -var parseBody = require('./parse-body'); -var xhr = require('./xhr'); -var isXHRAvailable = xhr.isAvailable; -var GraphQLRequest = require('./graphql/request'); -var DefaultRequest = require('./default-request'); - -var MAX_TCP_RETRYCOUNT = 1; -var TCP_PRECONNECT_BUG_STATUS_CODE = 408; - -function requestShouldRetry(status) { - return (!status || status === TCP_PRECONNECT_BUG_STATUS_CODE) && browserDetection.isIe(); -} - -function graphQLRequestShouldRetryWithClientApi(body) { - var errorClass = !body.data && body.errors && - body.errors[0] && - body.errors[0].extensions && - body.errors[0].extensions.errorClass; - - return errorClass === 'UNKNOWN' || errorClass === 'INTERNAL'; -} - -function _requestWithRetry(options, tcpRetryCount, cb) { - var status, resBody, ajaxRequest, body, method, headers, parsedBody; - var url = options.url; - var graphQL = options.graphQL; - var timeout = options.timeout; - var req = xhr.getRequestObject(); - var callback = cb; - var isGraphQLRequest = Boolean(graphQL && graphQL.isGraphQLRequest(url, options.data)); - - options.headers = assign({'Content-Type': 'application/json'}, options.headers); - - if (isGraphQLRequest) { - ajaxRequest = new GraphQLRequest(options); - } else { - ajaxRequest = new DefaultRequest(options); - } - - url = ajaxRequest.getUrl(); - body = ajaxRequest.getBody(); - method = ajaxRequest.getMethod(); - headers = ajaxRequest.getHeaders(); - - if (method === 'GET') { - url = querystring.queryify(url, body); - body = null; - } - - if (isXHRAvailable) { - req.onreadystatechange = function () { - if (req.readyState !== 4) { return; } - - if (req.status === 0 && isGraphQLRequest) { - // If a merchant experiences a connection - // issue to the GraphQL endpoint (possibly - // due to a Content Security Policy), retry - // the request against the old client API. - delete options.graphQL; - _requestWithRetry(options, tcpRetryCount, cb); - - return; - } - - parsedBody = parseBody(req.responseText); - resBody = ajaxRequest.adaptResponseBody(parsedBody); - status = ajaxRequest.determineStatus(req.status, parsedBody); - - if (status >= 400 || status < 200) { - if (isGraphQLRequest && graphQLRequestShouldRetryWithClientApi(parsedBody)) { - delete options.graphQL; - _requestWithRetry(options, tcpRetryCount, cb); - - return; - } - - if (tcpRetryCount < MAX_TCP_RETRYCOUNT && requestShouldRetry(status)) { - tcpRetryCount++; - _requestWithRetry(options, tcpRetryCount, cb); - - return; - } - callback(resBody || 'error', null, status || 500); - } else { - callback(null, resBody, status); - } - }; - } else { - if (options.headers) { - url = querystring.queryify(url, headers); - } - - req.onload = function () { - callback(null, parseBody(req.responseText), req.status); - }; - - req.onerror = function () { - // XDomainRequest does not report a body or status for errors, so - // hardcode to 'error' and 500, respectively - callback('error', null, 500); - }; - - // This must remain for IE9 to work - req.onprogress = function () {}; - - req.ontimeout = function () { - callback('timeout', null, -1); - }; - } - - try { - req.open(method, url, true); - } catch (requestOpenError) { - // If a merchant has a Content Security Policy and they have - // not allowed our endpoints, some browsers may - // synchronously throw an error. If it is not a GraphQL - // request, we throw the error. If it is a GraphQL request - // we remove the GraphQL option and try the request against - // the old client API. - if (!isGraphQLRequest) { - throw requestOpenError; - } - - delete options.graphQL; - - _requestWithRetry(options, tcpRetryCount, cb); - - return; - } - - req.timeout = timeout; - - if (isXHRAvailable) { - Object.keys(headers).forEach(function (headerKey) { - req.setRequestHeader(headerKey, headers[headerKey]); - }); - } - - try { - req.send(prepBody(method, body)); - } catch (e) { /* ignored */ } -} - -function request(options, cb) { - _requestWithRetry(options, 0, cb); -} - -module.exports = { - request: request -}; - -},{"../../lib/assign":63,"../../lib/querystring":88,"../browser-detection":25,"./default-request":32,"./graphql/request":40,"./parse-body":44,"./prep-body":45,"./xhr":46}],32:[function(require,module,exports){ -'use strict'; - -function DefaultRequest(options) { - this._url = options.url; - this._data = options.data; - this._method = options.method; - this._headers = options.headers; -} - -DefaultRequest.prototype.getUrl = function () { - return this._url; -}; - -DefaultRequest.prototype.getBody = function () { - return this._data; -}; - -DefaultRequest.prototype.getMethod = function () { - return this._method; -}; - -DefaultRequest.prototype.getHeaders = function () { - return this._headers; -}; - -DefaultRequest.prototype.adaptResponseBody = function (parsedBody) { - return parsedBody; -}; - -DefaultRequest.prototype.determineStatus = function (status) { - return status; -}; - -module.exports = DefaultRequest; - -},{}],33:[function(require,module,exports){ -(function (global){ -'use strict'; - -module.exports = function getUserAgent() { - return global.navigator.userAgent; -}; - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],34:[function(require,module,exports){ -'use strict'; - -var errorResponseAdapter = require('./error'); -var assign = require('../../../../lib/assign').assign; - -/* eslint-disable camelcase */ -var cardTypeTransforms = { - creditCard: { - AMERICAN_EXPRESS: 'American Express', - DISCOVER: 'Discover', - INTERNATIONAL_MAESTRO: 'Maestro', - JCB: 'JCB', - MASTERCARD: 'MasterCard', - SOLO: 'Solo', - UK_MAESTRO: 'UK Maestro', - UNION_PAY: 'UnionPay', - VISA: 'Visa' - }, - applePayWeb: { - VISA: 'visa', - MASTERCARD: 'mastercard', - DISCOVER: 'discover', - AMERICAN_EXPRESS: 'amex' - }, - visaCheckout: { - VISA: 'Visa', - MASTERCARD: 'MasterCard', - DISCOVER: 'Discover', - AMERICAN_EXPRESS: 'American Express' - }, - googlePay: { - VISA: 'visa', - MASTERCARD: 'mastercard', - DISCOVER: 'discover', - AMERICAN_EXPRESS: 'amex' - }, - masterpass: { - VISA: 'visa', - MASTERCARD: 'master', - DISCOVER: 'discover', - AMERICAN_EXPRESS: 'amex', - DINERS: 'diners', - INTERNATIONAL_MAESTRO: 'maestro', - JCB: 'jcb' - } -}; -/* eslint-enable camelcase */ - -function configurationResponseAdapter(responseBody, ctx) { - var adaptedResponse; - - if (responseBody.data && !responseBody.errors) { - adaptedResponse = adaptConfigurationResponseBody(responseBody, ctx); - } else { - adaptedResponse = errorResponseAdapter(responseBody); - } - - return adaptedResponse; -} - -function adaptConfigurationResponseBody(body, ctx) { - var configuration = body.data.clientConfiguration; - var response; - - response = { - environment: configuration.environment.toLowerCase(), - clientApiUrl: configuration.clientApiUrl, - assetsUrl: configuration.assetsUrl, - analytics: { - url: configuration.analyticsUrl - }, - merchantId: configuration.merchantId, - venmo: 'off' - }; - - if (configuration.supportedFeatures) { - response.graphQL = { - url: ctx._graphQL._config.url, - features: configuration.supportedFeatures.map(function (feature) { - return feature.toLowerCase(); - }) - }; - } - - if (configuration.braintreeApi) { - response.braintreeApi = configuration.braintreeApi; - } - - if (configuration.applePayWeb) { - response.applePayWeb = configuration.applePayWeb; - response.applePayWeb.supportedNetworks = mapCardTypes(configuration.applePayWeb.supportedCardBrands, cardTypeTransforms.applePayWeb); - - delete response.applePayWeb.supportedCardBrands; - } - - if (configuration.ideal) { - response.ideal = configuration.ideal; - } - - if (configuration.kount) { - response.kount = { - kountMerchantId: configuration.kount.merchantId - }; - } - - if (configuration.creditCard) { - response.challenges = configuration.creditCard.challenges.map(function (challenge) { - return challenge.toLowerCase(); - }); - - response.creditCards = { - supportedCardTypes: mapCardTypes(configuration.creditCard.supportedCardBrands, cardTypeTransforms.creditCard) - }; - response.threeDSecureEnabled = configuration.creditCard.threeDSecureEnabled; - } else { - response.challenges = []; - response.creditCards = { - supportedCardTypes: [] - }; - response.threeDSecureEnabled = false; - } - - if (configuration.googlePay) { - response.androidPay = { - displayName: configuration.googlePay.displayName, - enabled: true, - environment: configuration.googlePay.environment.toLowerCase(), - googleAuthorizationFingerprint: configuration.googlePay.googleAuthorization, - supportedNetworks: mapCardTypes(configuration.googlePay.supportedCardBrands, cardTypeTransforms.googlePay) - }; - } - - if (configuration.venmo) { - response.payWithVenmo = { - merchantId: configuration.venmo.merchantId, - accessToken: configuration.venmo.accessToken, - environment: configuration.venmo.environment.toLowerCase() - }; - } - - if (configuration.paypal) { - response.paypalEnabled = true; - response.paypal = assign({}, configuration.paypal); - response.paypal.currencyIsoCode = response.paypal.currencyCode; - response.paypal.environment = response.paypal.environment.toLowerCase(); - - delete response.paypal.currencyCode; - } else { - response.paypalEnabled = false; - } - - if (configuration.unionPay) { - response.unionPay = { - enabled: true, - merchantAccountId: configuration.unionPay.merchantAccountId - }; - } - - if (configuration.visaCheckout) { - response.visaCheckout = { - apikey: configuration.visaCheckout.apiKey, - externalClientId: configuration.visaCheckout.externalClientId, - supportedCardTypes: mapCardTypes(configuration.visaCheckout.supportedCardBrands, cardTypeTransforms.visaCheckout) - }; - } - - if (configuration.masterpass) { - response.masterpass = { - merchantCheckoutId: configuration.masterpass.merchantCheckoutId, - supportedNetworks: mapCardTypes(configuration.masterpass.supportedCardBrands, cardTypeTransforms.masterpass) - }; - } - - if (configuration.usBankAccount) { - response.usBankAccount = { - routeId: configuration.usBankAccount.routeId, - plaid: { - publicKey: configuration.usBankAccount.plaidPublicKey - } - }; - } - - return response; -} - -function mapCardTypes(cardTypes, cardTypeTransformMap) { - return cardTypes.reduce(function (acc, type) { - if (cardTypeTransformMap.hasOwnProperty(type)) { - return acc.concat(cardTypeTransformMap[type]); - } - - return acc; - }, []); -} - -module.exports = configurationResponseAdapter; - -},{"../../../../lib/assign":63,"./error":36}],35:[function(require,module,exports){ -'use strict'; - -var errorResponseAdapter = require('./error'); - -var CARD_BRAND_MAP = { - /* eslint-disable camelcase */ - AMERICAN_EXPRESS: 'American Express', - DINERS: 'Discover', - DISCOVER: 'Discover', - INTERNATIONAL_MAESTRO: 'Maestro', - JCB: 'JCB', - MASTERCARD: 'MasterCard', - UK_MAESTRO: 'Maestro', - UNION_PAY: 'Union Pay', - VISA: 'Visa' - /* eslint-enable camelcase */ -}; - -var BIN_DATA_MAP = { - YES: 'Yes', - NO: 'No', - UNKNOWN: 'Unknown' -}; - -function creditCardTokenizationResponseAdapter(responseBody) { - var adaptedResponse; - - if (responseBody.data && !responseBody.errors) { - adaptedResponse = adaptTokenizeCreditCardResponseBody(responseBody); - } else { - adaptedResponse = errorResponseAdapter(responseBody); - } - - return adaptedResponse; -} - -function adaptTokenizeCreditCardResponseBody(body) { - var data = body.data.tokenizeCreditCard; - var creditCard = data.creditCard; - var lastTwo = creditCard.last4 ? creditCard.last4.substr(2, 4) : ''; - var binData = creditCard.binData; - var response; - - if (binData) { - ['commercial', 'debit', 'durbinRegulated', 'healthcare', 'payroll', 'prepaid'].forEach(function (key) { - if (binData[key]) { - binData[key] = BIN_DATA_MAP[binData[key]]; - } else { - binData[key] = 'Unknown'; - } - }); - - ['issuingBank', 'countryOfIssuance', 'productId'].forEach(function (key) { - if (!binData[key]) { binData[key] = 'Unknown'; } - }); - } - - response = { - creditCards: [ - { - binData: binData, - consumed: false, - description: lastTwo ? 'ending in ' + lastTwo : '', - nonce: data.token, - details: { - cardType: CARD_BRAND_MAP[creditCard.brandCode] || 'Unknown', - lastFour: creditCard.last4 || '', - lastTwo: lastTwo - }, - type: 'CreditCard', - threeDSecureInfo: null - } - ] - }; - - return response; -} - -module.exports = creditCardTokenizationResponseAdapter; - -},{"./error":36}],36:[function(require,module,exports){ -'use strict'; - -function errorResponseAdapter(responseBody) { - var response; - var errorClass = responseBody.errors && - responseBody.errors[0] && - responseBody.errors[0].extensions && - responseBody.errors[0].extensions.errorClass; - - if (errorClass === 'VALIDATION') { - response = userErrorResponseAdapter(responseBody); - } else if (errorClass) { - response = errorWithClassResponseAdapter(responseBody); - } else { - response = {error: {message: 'There was a problem serving your request'}, fieldErrors: []}; - } - - return response; -} - -function errorWithClassResponseAdapter(responseBody) { - return {error: {message: responseBody.errors[0].message}, fieldErrors: []}; -} - -function userErrorResponseAdapter(responseBody) { - var fieldErrors = buildFieldErrors(responseBody.errors); - - return {error: {message: getLegacyMessage(fieldErrors)}, fieldErrors: fieldErrors}; -} - -function buildFieldErrors(errors) { - var fieldErrors = []; - - errors.forEach(function (error) { - addFieldError(error.extensions.inputPath.slice(1), error, fieldErrors); - }); - - return fieldErrors; -} - -function addFieldError(inputPath, errorDetail, fieldErrors) { - var fieldError; - var legacyCode = errorDetail.extensions.legacyCode; - var inputField = inputPath[0]; - - if (inputPath.length === 1) { - fieldErrors.push({ - code: legacyCode, - field: inputField, - message: errorDetail.message - }); - - return; - } - - fieldErrors.forEach(function (candidate) { - if (candidate.field === inputField) { - fieldError = candidate; - } - }); - - if (!fieldError) { - fieldError = {field: inputField, fieldErrors: []}; - fieldErrors.push(fieldError); - } - - addFieldError(inputPath.slice(1), errorDetail, fieldError.fieldErrors); -} - -function getLegacyMessage(errors) { - var legacyMessages = { - creditCard: 'Credit card is invalid' - }; - - var field = errors[0].field; - - return legacyMessages[field]; -} - -module.exports = errorResponseAdapter; - -},{}],37:[function(require,module,exports){ -'use strict'; - -var CONFIGURATION_QUERY = 'query ClientConfiguration { ' + -' clientConfiguration { ' + -' analyticsUrl ' + -' environment ' + -' merchantId ' + -' assetsUrl ' + -' clientApiUrl ' + -' creditCard { ' + -' supportedCardBrands ' + -' challenges ' + -' threeDSecureEnabled ' + -' } ' + -' applePayWeb { ' + -' countryCode ' + -' currencyCode ' + -' merchantIdentifier ' + -' supportedCardBrands ' + -' } ' + -' googlePay { ' + -' displayName ' + -' supportedCardBrands ' + -' environment ' + -' googleAuthorization ' + -' } ' + -' ideal { ' + -' routeId ' + -' assetsUrl ' + -' } ' + -' kount { ' + -' merchantId ' + -' } ' + -' masterpass { ' + -' merchantCheckoutId ' + -' supportedCardBrands ' + -' } ' + -' paypal { ' + -' displayName ' + -' clientId ' + -' privacyUrl ' + -' userAgreementUrl ' + -' assetsUrl ' + -' environment ' + -' environmentNoNetwork ' + -' unvettedMerchant ' + -' braintreeClientId ' + -' billingAgreementsEnabled ' + -' merchantAccountId ' + -' currencyCode ' + -' payeeEmail ' + -' } ' + -' unionPay { ' + -' merchantAccountId ' + -' } ' + -' usBankAccount { ' + -' routeId ' + -' plaidPublicKey ' + -' } ' + -' venmo { ' + -' merchantId ' + -' accessToken ' + -' environment ' + -' } ' + -' visaCheckout { ' + -' apiKey ' + -' externalClientId ' + -' supportedCardBrands ' + -' } ' + -' braintreeApi { ' + -' accessToken ' + -' url ' + -' } ' + -' supportedFeatures ' + -' } ' + -'}'; - -function configuration() { - return { - query: CONFIGURATION_QUERY, - operationName: 'ClientConfiguration' - }; -} - -module.exports = configuration; - -},{}],38:[function(require,module,exports){ -'use strict'; - -var assign = require('../../../../lib/assign').assign; - -var CREDIT_CARD_TOKENIZATION_MUTATION = 'mutation TokenizeCreditCard($input: TokenizeCreditCardInput!) { ' + -' tokenizeCreditCard(input: $input) { ' + -' token ' + -' creditCard { ' + -' brandCode ' + -' last4 ' + -' binData { ' + -' prepaid ' + -' healthcare ' + -' debit ' + -' durbinRegulated ' + -' commercial ' + -' payroll ' + -' issuingBank ' + -' countryOfIssuance ' + -' productId ' + -' } ' + -' } ' + -' } ' + -'}'; - -function createCreditCardTokenizationBody(body) { - var cc = body.creditCard; - var billingAddress = cc && cc.billingAddress; - var expDate = cc && cc.expirationDate; - var expirationMonth = cc && (cc.expirationMonth || (expDate && expDate.split('/')[0].trim())); - var expirationYear = cc && (cc.expirationYear || (expDate && expDate.split('/')[1].trim())); - var variables = { - input: { - creditCard: { - number: cc && cc.number, - expirationMonth: expirationMonth, - expirationYear: expirationYear, - cvv: cc && cc.cvv, - cardholderName: cc && cc.cardholderName - }, - options: {} - } - }; - - if (billingAddress) { - variables.input.creditCard.billingAddress = billingAddress; - } - - variables.input = addValidationRule(body, variables.input); - - return variables; -} - -function addValidationRule(body, input) { - var validate; - - if (body.creditCard && body.creditCard.options && typeof body.creditCard.options.validate === 'boolean') { - validate = body.creditCard.options.validate; - } else if ((body.authorizationFingerprint && body.tokenizationKey) || body.authorizationFingerprint) { - validate = true; - } else if (body.tokenizationKey) { - validate = false; - } - - if (typeof validate === 'boolean') { - input.options = assign({ - validate: validate - }, input.options); - } - - return input; -} - -function creditCardTokenization(body) { - return { - query: CREDIT_CARD_TOKENIZATION_MUTATION, - variables: createCreditCardTokenizationBody(body), - operationName: 'TokenizeCreditCard' - }; -} - -module.exports = creditCardTokenization; - -},{"../../../../lib/assign":63}],39:[function(require,module,exports){ -'use strict'; - -var browserDetection = require('../../browser-detection'); - -var features = { - tokenize_credit_cards: 'payment_methods/credit_cards', // eslint-disable-line camelcase - configuration: 'configuration' -}; - -var disallowedInputPaths = [ - 'creditCard.options.unionPayEnrollment' -]; - -function GraphQL(config) { - this._config = config.graphQL; -} - -GraphQL.prototype.getGraphQLEndpoint = function () { - return this._config.url; -}; - -GraphQL.prototype.isGraphQLRequest = function (url, body) { - var featureEnabled; - var path = this.getClientApiPath(url); - - if (!this._isGraphQLEnabled() || !path || browserDetection.isIe9()) { - return false; - } - - featureEnabled = this._config.features.some(function (feature) { - return features[feature] === path; - }); - - if (containsDisallowedlistedKeys(body)) { - return false; - } - - return featureEnabled; -}; - -GraphQL.prototype.getClientApiPath = function (url) { - var path; - var clientApiPrefix = '/client_api/v1/'; - var pathParts = url.split(clientApiPrefix); - - if (pathParts.length > 1) { - path = pathParts[1].split('?')[0]; - } - - return path; -}; - -GraphQL.prototype._isGraphQLEnabled = function () { - return Boolean(this._config); -}; - -function containsDisallowedlistedKeys(body) { - return disallowedInputPaths.some(function (keys) { - var value = keys.split('.').reduce(function (accumulator, key) { - return accumulator && accumulator[key]; - }, body); - - return value !== undefined; // eslint-disable-line no-undefined - }); -} - -module.exports = GraphQL; - -},{"../../browser-detection":25}],40:[function(require,module,exports){ -'use strict'; - -var BRAINTREE_VERSION = require('../../constants').BRAINTREE_VERSION; - -var assign = require('../../../lib/assign').assign; - -var creditCardTokenizationBodyGenerator = require('./generators/credit-card-tokenization'); -var creditCardTokenizationResponseAdapter = require('./adapters/credit-card-tokenization'); - -var configurationBodyGenerator = require('./generators/configuration'); -var configurationResponseAdapter = require('./adapters/configuration'); - -var generators = { - 'payment_methods/credit_cards': creditCardTokenizationBodyGenerator, - configuration: configurationBodyGenerator -}; -var adapters = { - 'payment_methods/credit_cards': creditCardTokenizationResponseAdapter, - configuration: configurationResponseAdapter -}; - -function GraphQLRequest(options) { - var clientApiPath = options.graphQL.getClientApiPath(options.url); - - this._graphQL = options.graphQL; - this._data = options.data; - this._method = options.method; - this._headers = options.headers; - this._clientSdkMetadata = { - source: options.metadata.source, - integration: options.metadata.integration, - sessionId: options.metadata.sessionId - }; - this._sendAnalyticsEvent = options.sendAnalyticsEvent || Function.prototype; - - this._generator = generators[clientApiPath]; - this._adapter = adapters[clientApiPath]; - - this._sendAnalyticsEvent('graphql.init'); -} - -GraphQLRequest.prototype.getUrl = function () { - return this._graphQL.getGraphQLEndpoint(); -}; - -GraphQLRequest.prototype.getBody = function () { - var formattedBody = formatBodyKeys(this._data); - var generatedBody = this._generator(formattedBody); - var body = assign({clientSdkMetadata: this._clientSdkMetadata}, generatedBody); - - return JSON.stringify(body); -}; - -GraphQLRequest.prototype.getMethod = function () { - return 'POST'; -}; - -GraphQLRequest.prototype.getHeaders = function () { - var authorization, headers; - - if (this._data.authorizationFingerprint) { - this._sendAnalyticsEvent('graphql.authorization-fingerprint'); - authorization = this._data.authorizationFingerprint; - } else { - this._sendAnalyticsEvent('graphql.tokenization-key'); - authorization = this._data.tokenizationKey; - } - - headers = { - Authorization: 'Bearer ' + authorization, - 'Braintree-Version': BRAINTREE_VERSION - }; - - return assign({}, this._headers, headers); -}; - -GraphQLRequest.prototype.adaptResponseBody = function (parsedBody) { - return this._adapter(parsedBody, this); -}; - -GraphQLRequest.prototype.determineStatus = function (httpStatus, parsedResponse) { - var status, errorClass; - - if (httpStatus === 200) { - errorClass = parsedResponse.errors && - parsedResponse.errors[0] && - parsedResponse.errors[0].extensions && - parsedResponse.errors[0].extensions.errorClass; - - if (parsedResponse.data && !parsedResponse.errors) { - status = 200; - } else if (errorClass === 'VALIDATION') { - status = 422; - } else if (errorClass === 'AUTHORIZATION') { - status = 403; - } else if (errorClass === 'AUTHENTICATION') { - status = 401; - } else if (isGraphQLError(errorClass, parsedResponse)) { - status = 403; - } else { - status = 500; - } - } else if (!httpStatus) { - status = 500; - } else { - status = httpStatus; - } - - this._sendAnalyticsEvent('graphql.status.' + httpStatus); - this._sendAnalyticsEvent('graphql.determinedStatus.' + status); - - return status; -}; - -function isGraphQLError(errorClass, parsedResponse) { - return !errorClass && parsedResponse.errors[0].message; -} - -function snakeCaseToCamelCase(snakeString) { - if (snakeString.indexOf('_') === -1) { - return snakeString; - } - - return snakeString.toLowerCase().replace(/(\_\w)/g, function (match) { - return match[1].toUpperCase(); - }); -} - -function formatBodyKeys(originalBody) { - var body = {}; - - Object.keys(originalBody).forEach(function (key) { - var camelCaseKey = snakeCaseToCamelCase(key); - - if (typeof originalBody[key] === 'object') { - body[camelCaseKey] = formatBodyKeys(originalBody[key]); - } else if (typeof originalBody[key] === 'number') { - body[camelCaseKey] = String(originalBody[key]); - } else { - body[camelCaseKey] = originalBody[key]; - } - }); - - return body; -} - -module.exports = GraphQLRequest; - -},{"../../../lib/assign":63,"../../constants":27,"./adapters/configuration":34,"./adapters/credit-card-tokenization":35,"./generators/configuration":37,"./generators/credit-card-tokenization":38}],41:[function(require,module,exports){ -'use strict'; - -var ajaxIsAvaliable; -var once = require('../../lib/once'); -var JSONPDriver = require('./jsonp-driver'); -var AJAXDriver = require('./ajax-driver'); -var getUserAgent = require('./get-user-agent'); -var isHTTP = require('./is-http'); - -function isAjaxAvailable() { - if (ajaxIsAvaliable == null) { - ajaxIsAvaliable = !(isHTTP() && /MSIE\s(8|9)/.test(getUserAgent())); - } - - return ajaxIsAvaliable; -} - -module.exports = function (options, cb) { - cb = once(cb || Function.prototype); - options.method = (options.method || 'GET').toUpperCase(); - options.timeout = options.timeout == null ? 60000 : options.timeout; - options.data = options.data || {}; - - if (isAjaxAvailable()) { - AJAXDriver.request(options, cb); - } else { - JSONPDriver.request(options, cb); - } -}; - -},{"../../lib/once":86,"./ajax-driver":31,"./get-user-agent":33,"./is-http":42,"./jsonp-driver":43}],42:[function(require,module,exports){ -(function (global){ -'use strict'; - -module.exports = function () { - return global.location.protocol === 'http:'; -}; - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],43:[function(require,module,exports){ -(function (global){ -'use strict'; - -var head; -var uuid = require('../../lib/vendor/uuid'); -var querystring = require('../../lib/querystring'); -var timeouts = {}; - -function _removeScript(script) { - if (script && script.parentNode) { - script.parentNode.removeChild(script); - } -} - -function _createScriptTag(url, callbackName) { - var script = document.createElement('script'); - var done = false; - - script.src = url; - script.async = true; - script.onerror = function () { - global[callbackName]({message: 'error', status: 500}); - }; - - script.onload = script.onreadystatechange = function () { - if (done) { return; } - - if (!this.readyState || this.readyState === 'loaded' || this.readyState === 'complete') { - done = true; - script.onload = script.onreadystatechange = null; - } - }; - - return script; -} - -function _cleanupGlobal(callbackName) { - try { - delete global[callbackName]; - } catch (_) { - global[callbackName] = null; - } -} - -function _setupTimeout(timeout, callbackName) { - timeouts[callbackName] = setTimeout(function () { - timeouts[callbackName] = null; - - global[callbackName]({ - error: 'timeout', - status: -1 - }); - - global[callbackName] = function () { - _cleanupGlobal(callbackName); - }; - }, timeout); -} - -function _setupGlobalCallback(script, callback, callbackName) { - global[callbackName] = function (response) { - var status = response.status || 500; - var err = null; - var data = null; - - delete response.status; - - if (status >= 400 || status < 200) { - err = response; - } else { - data = response; - } - - _cleanupGlobal(callbackName); - _removeScript(script); - - clearTimeout(timeouts[callbackName]); - callback(err, data, status); - }; -} - -function request(options, callback) { - var script; - var callbackName = 'callback_json_' + uuid().replace(/-/g, ''); - var url = options.url; - var attrs = options.data; - var method = options.method; - var timeout = options.timeout; - - url = querystring.queryify(url, attrs); - url = querystring.queryify(url, { - _method: method, - callback: callbackName - }); - - script = _createScriptTag(url, callbackName); - _setupGlobalCallback(script, callback, callbackName); - _setupTimeout(timeout, callbackName); - - if (!head) { - head = document.getElementsByTagName('head')[0]; - } - - head.appendChild(script); -} - -module.exports = { - request: request -}; - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"../../lib/querystring":88,"../../lib/vendor/uuid":91}],44:[function(require,module,exports){ -'use strict'; - -module.exports = function (body) { - try { - body = JSON.parse(body); - } catch (e) { /* ignored */ } - - return body; -}; - -},{}],45:[function(require,module,exports){ -'use strict'; - -module.exports = function (method, body) { - if (typeof method !== 'string') { - throw new Error('Method must be a string'); - } - - if (method.toLowerCase() !== 'get' && body != null) { - body = typeof body === 'string' ? body : JSON.stringify(body); - } - - return body; -}; - -},{}],46:[function(require,module,exports){ -(function (global){ -'use strict'; - -var isXHRAvailable = global.XMLHttpRequest && 'withCredentials' in new global.XMLHttpRequest(); - -function getRequestObject() { - return isXHRAvailable ? new XMLHttpRequest() : new XDomainRequest(); -} - -module.exports = { - isAvailable: isXHRAvailable, - getRequestObject: getRequestObject -}; - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],47:[function(require,module,exports){ -'use strict'; - -/** - * @name BraintreeError.Google Payment - Creation Error Codes - * @description Errors that occur when [creating the Google Payment component](/current/module-braintree-web_google-payment.html#.create). - * @property {MERCHANT} GOOGLE_PAYMENT_NOT_ENABLED Occurs when Google Pay is not enabled on the Braintree control panel. - */ - -/** - * @name BraintreeError.Google Payment - parseResponse Error Codes - * @description Errors that occur when [parsing the response from Google](/current/GooglePayment.html#parseResponse). - * @property {UNKNOWN} GOOGLE_PAYMENT_GATEWAY_ERROR Occurs when Google Pay could not be tokenized. - */ - -var BraintreeError = require('../lib/braintree-error'); - -module.exports = { - GOOGLE_PAYMENT_NOT_ENABLED: { - type: BraintreeError.types.MERCHANT, - code: 'GOOGLE_PAYMENT_NOT_ENABLED', - message: 'Google Pay is not enabled for this merchant.' - }, - GOOGLE_PAYMENT_GATEWAY_ERROR: { - code: 'GOOGLE_PAYMENT_GATEWAY_ERROR', - message: 'There was an error when tokenizing the Google Pay payment method.', - type: BraintreeError.types.UNKNOWN - } -}; - -},{"../lib/braintree-error":66}],48:[function(require,module,exports){ -'use strict'; - -var analytics = require('../lib/analytics'); -var assign = require('../lib/assign').assign; -var convertMethodsToError = require('../lib/convert-methods-to-error'); -var generateGooglePayConfiguration = require('../lib/generate-google-pay-configuration'); -var BraintreeError = require('../lib/braintree-error'); -var errors = require('./errors'); -var methods = require('../lib/methods'); -var Promise = require('../lib/promise'); -var wrapPromise = require('@braintree/wrap-promise'); - -/** - * @typedef {object} GooglePayment~tokenizePayload - * @property {string} nonce The payment method nonce. - * @property {object} details Additional account details. - * @property {string} details.cardType Type of card, ex: Visa, MasterCard. - * @property {string} details.lastFour Last four digits of card number. - * @property {string} details.lastTwo Last two digits of card number. - * @property {string} description A human-readable description. - * @property {string} type The payment method type, `CreditCard` or `AndroidPayCard`. - * @property {object} binData Information about the card based on the bin. - * @property {string} binData.commercial Possible values: 'Yes', 'No', 'Unknown'. - * @property {string} binData.countryOfIssuance The country of issuance. - * @property {string} binData.debit Possible values: 'Yes', 'No', 'Unknown'. - * @property {string} binData.durbinRegulated Possible values: 'Yes', 'No', 'Unknown'. - * @property {string} binData.healthcare Possible values: 'Yes', 'No', 'Unknown'. - * @property {string} binData.issuingBank The issuing bank. - * @property {string} binData.payroll Possible values: 'Yes', 'No', 'Unknown'. - * @property {string} binData.prepaid Possible values: 'Yes', 'No', 'Unknown'. - * @property {string} binData.productId The product id. - */ - -/** - * @class GooglePayment - * @param {object} options Google Payment {@link module:braintree-web/google-payment.create create} options. - * @description Do not use this constructor directly. Use {@link module:braintree-web/google-payment.create|braintree-web.google-payment.create} instead. - * @classdesc This class represents a Google Payment component produced by {@link module:braintree-web/google-payment.create|braintree-web/google-payment.create}. Instances of this class have methods for initializing the Google Pay flow. - */ -function GooglePayment(options) { - this._client = options.client; - - this._braintreeGeneratedPaymentRequestConfiguration = generateGooglePayConfiguration(this._client.getConfiguration()); -} - -/** - * Create a configuration object for use in the `loadPaymentData` method. - * @public - * @param {object} overrides The supplied parameters for creating the PaymentDataRequest object. Only required parameters are the `merchantId` provided by Google and a `transactionInfo` object, but any of the parameters in the PaymentDataRequest can be overwritten. See https://developers.google.com/pay/api/web/reference/object#PaymentDataRequest - * @param {string} merchantId The merchant id provided by registering with Google. - * @param {object} transactionInfo See https://developers.google.com/pay/api/web/reference/object#TransactionInfo for more information. - * @example - * var configuration = googlePaymentInstance.createPaymentDataRequest({ - * merchantId: 'my-merchant-id-from-google', - * transactionInfo: { - * currencyCode: 'USD', - * totalPriceStatus: 'FINAL', - * totalPrice: '100.00' - * } - * }); - * var paymentsClient = new google.payments.api.PaymentsClient({ - * environment: 'TEST' // or 'PRODUCTION' - * }) - * - * paymentsClient.loadPaymentData(paymentDataRequest).then(function (response) { - * // handle response with googlePaymentInstance.parseResponse - * // (see below) - * }); - * @returns {object} Returns a configuration object for Google PaymentDataRequest. - */ -GooglePayment.prototype.createPaymentDataRequest = function (overrides) { - var overrideCardNetworks = overrides && overrides.cardRequirements && overrides.cardRequirements.allowedCardNetworks; - var defaultCardNetworks = this._braintreeGeneratedPaymentRequestConfiguration.cardRequirements.allowedCardNetworks; - var allowedCardNetworks = overrideCardNetworks || defaultCardNetworks; - var paymentDataRequest = assign({}, this._braintreeGeneratedPaymentRequestConfiguration, overrides); - - // this way we can preserve allowedCardNetworks from default integration - // if merchant did not pass any in `cardRequirements` - paymentDataRequest.cardRequirements.allowedCardNetworks = allowedCardNetworks; - - analytics.sendEvent(this._client, 'google-payment.createPaymentDataRequest'); - - return paymentDataRequest; -}; - -/** - * Parse the response from the tokenization. - * @public - * @param {object} response The response back from the Google Pay tokenization. - * @param {callback} [callback] The second argument, data, is a {@link GooglePay~tokenizePayload|tokenizePayload}. If no callback is provided, `parseResponse` returns a promise that resolves with a {@link GooglePayment~tokenizePayload|tokenizePayload}. - * @example with callback - * var paymentsClient = new google.payments.api.PaymentsClient({ - * environment: 'TEST' // or 'PRODUCTION' - * }) - * - * paymentsClient.loadPaymentData(paymentDataRequestFromCreatePaymentDataRequest).then(function (response) { - * googlePaymentInstance.parseResponse(response, function (err, data) { - * if (err) { - * // handle errors - * } - * // send parsedResponse.nonce to your server - * }); - * }); - * @example with promise - * var paymentsClient = new google.payments.api.PaymentsClient({ - * environment: 'TEST' // or 'PRODUCTION' - * }) - * - * paymentsClient.loadPaymentData(paymentDataRequestFromCreatePaymentDataRequest).then(function (response) { - * return googlePaymentInstance.parseResponse(response); - * }).then(function (parsedResponse) { - * // send parsedResponse.nonce to your server - * }).catch(function (err) { - * // handle errors - * }); - * @returns {Promise|void} Returns a promise that resolves the parsed response if no callback is provided. - */ -GooglePayment.prototype.parseResponse = function (response) { - var client = this._client; - - return Promise.resolve().then(function () { - var payload; - var parsedResponse = JSON.parse(response.paymentMethodToken.token); - var error = parsedResponse.error; - - if (error) { - return Promise.reject(error); - } - - payload = parsedResponse.androidPayCards[0]; - analytics.sendEvent(client, 'google-payment.parseResponse.succeeded'); - - return Promise.resolve({ - nonce: payload.nonce, - type: payload.type, - description: payload.description, - details: { - cardType: payload.details.cardType, - lastFour: payload.details.lastFour, - lastTwo: payload.details.lastTwo - }, - binData: payload.binData - }); - }).catch(function (error) { - analytics.sendEvent(client, 'google-payment.parseResponse.failed'); - - return Promise.reject(new BraintreeError({ - code: errors.GOOGLE_PAYMENT_GATEWAY_ERROR.code, - message: errors.GOOGLE_PAYMENT_GATEWAY_ERROR.message, - type: errors.GOOGLE_PAYMENT_GATEWAY_ERROR.type, - details: { - originalError: error - } - })); - }); -}; - -/** - * Cleanly tear down anything set up by {@link module:braintree-web/google-payment.create|create}. - * @public - * @param {callback} [callback] Called once teardown is complete. No data is returned if teardown completes successfully. - * @example - * googlePaymentInstance.teardown(); - * @example With callback - * googlePaymentInstance.teardown(function () { - * // teardown is complete - * }); - * @returns {Promise|void} Returns a promise if no callback is provided. - */ -GooglePayment.prototype.teardown = function () { - convertMethodsToError(this, methods(GooglePayment.prototype)); - - return Promise.resolve(); -}; - -module.exports = wrapPromise.wrapPrototype(GooglePayment); - -},{"../lib/analytics":62,"../lib/assign":63,"../lib/braintree-error":66,"../lib/convert-methods-to-error":72,"../lib/generate-google-pay-configuration":80,"../lib/methods":85,"../lib/promise":87,"./errors":47,"@braintree/wrap-promise":21}],49:[function(require,module,exports){ -'use strict'; -/** - * @module braintree-web/google-payment - * @description A component to integrate with Google Pay. The majority of the integration uses [Google's pay.js JavaScript file](https://pay.google.com/gp/p/js/pay.js). The Braintree component generates the configuration object necessary for Google Pay to initiate the Payment Request and parse the returned data to retrieve the payment method nonce which is used to process the transaction on the server. - */ - -var basicComponentVerification = require('../lib/basic-component-verification'); -var BraintreeError = require('../lib/braintree-error'); -var errors = require('./errors'); -var GooglePayment = require('./google-payment'); -var Promise = require('../lib/promise'); -var wrapPromise = require('@braintree/wrap-promise'); -var VERSION = "3.37.0"; - -/** - * @static - * @function create - * @param {object} options Creation options: - * @param {Client} options.client A {@link Client} instance. - * @param {callback} [callback] The second argument, `data`, is the {@link GooglePayment} instance. If no callback is provided, `create` returns a promise that resolves with the {@link GooglePayment} instance. - * @example Simple Example - * // include https://pay.google.com/gp/p/js/pay.js in a script tag - * // on your page to load the `google.payments.api.PaymentsClient` global object. - * - * var paymentButton = document.querySelector('#google-pay-button'); - * var paymentsClient = new google.payments.api.PaymentsClient({ - * environment: 'TEST' // or 'PRODUCTION' - * }); - * - * braintree.client.create({ - * authorization: 'tokenization-key-or-client-token' - * }).then(function (clientInstance) { - * return braintree.googlePayment.create({ - * client: clientInstance - * }); - * }).then(function (googlePaymentInstance) { - * paymentButton.addEventListener('click', function (event) { - * var paymentDataRequest; - * - * event.preventDefault(); - * - * paymentDataRequest = googlePaymentInstance.createPaymentDataRequest({ - * merchantId: 'your-merchant-id-from-google', - * transactionInfo: { - * currencyCode: 'USD', - * totalPriceStatus: 'FINAL', - * totalPrice: '100.00' - * } - * }); - * - * paymentsClient.loadPaymentData(paymentDataRequest).then(function (paymentData) { - * return googlePaymentInstance.parseResponse(paymentData); - * }).then(function (result) { - * // send result.nonce to your server - * }).catch(function (err) { - * // handle err - * }); - * }); - * }); - * @example Check Browser and Customer Compatibility - * var paymentsClient = new google.payments.api.PaymentsClient({ - * environment: 'TEST' // or 'PRODUCTION' - * }); - * - * function setupGooglePayButton(googlePaymentInstance) { - * var button = document.createElement('button'); - * - * button.id = 'google-pay'; - * button.appendChild(document.createTextNode('Google Pay')); - * button.addEventListener('click', function (event) { - * var paymentRequestData; - * - * event.preventDefault(); - * - * paymentDataRequest = googlePaymentInstance.createPaymentDataRequest({ - * merchantId: 'your-merchant-id-from-google', - * transactionInfo: { - * currencyCode: 'USD', - * totalPriceStatus: 'FINAL', - * totalPrice: '100.00' // your amount - * } - * }); - * - * paymentsClient.loadPaymentData(paymentDataRequest).then(function (paymentData) { - * return googlePaymentInstance.parseResponse(paymentData); -* }).then(function (result) { - * // send result.nonce to your server - * }).catch(function (err) { - * // handle errors - * }); - * }); - * - * document.getElementById('container').appendChild(button); - * } - * - * braintree.client.create({ - * authorization: 'tokenization-key-or-client-token' - * }).then(function (clientInstance) { - * return braintree.googlePayment.create({ - * client: clientInstance - * }); - * }).then(function (googlePaymentInstance) { - * return paymentsClient.isReadyToPay({ - * allowedPaymentMethods: googlePaymentInstance.createPaymentDataRequest().allowedPaymentMethods - * }); - * }).then(function (response) { - * if (response.result) { - * setupGooglePayButton(googlePaymentInstance); - * } - * }).catch(function (err) { - * // handle setup errors - * }); - * - * @returns {Promise|void} Returns a promise if no callback is provided. - */ -function create(options) { - return basicComponentVerification.verify({ - name: 'Google Pay', - client: options.client - }).then(function () { - if (!options.client.getConfiguration().gatewayConfiguration.androidPay) { - return Promise.reject(new BraintreeError(errors.GOOGLE_PAYMENT_NOT_ENABLED)); - } - - return new GooglePayment(options); - }); -} - -module.exports = { - create: wrapPromise(create), - /** - * @description The current version of the SDK, i.e. `{@pkg version}`. - * @type {string} - */ - VERSION: VERSION -}; - -},{"../lib/basic-component-verification":64,"../lib/braintree-error":66,"../lib/promise":87,"./errors":47,"./google-payment":48,"@braintree/wrap-promise":21}],50:[function(require,module,exports){ -'use strict'; - -var BraintreeError = require('../../lib/braintree-error'); -var errors = require('../shared/errors'); -var allowedAttributes = require('../shared/constants').allowedAttributes; - -function attributeValidationError(attribute, value) { - var err; - - if (!allowedAttributes.hasOwnProperty(attribute)) { - err = new BraintreeError({ - type: errors.HOSTED_FIELDS_ATTRIBUTE_NOT_SUPPORTED.type, - code: errors.HOSTED_FIELDS_ATTRIBUTE_NOT_SUPPORTED.code, - message: 'The "' + attribute + '" attribute is not supported in Hosted Fields.' - }); - } else if (value != null && !_isValid(attribute, value)) { - err = new BraintreeError({ - type: errors.HOSTED_FIELDS_ATTRIBUTE_VALUE_NOT_ALLOWED.type, - code: errors.HOSTED_FIELDS_ATTRIBUTE_VALUE_NOT_ALLOWED.code, - message: 'Value "' + value + '" is not allowed for "' + attribute + '" attribute.' - }); - } - - return err; -} - -function _isValid(attribute, value) { - if (allowedAttributes[attribute] === 'string') { - return typeof value === 'string' || typeof value === 'number'; - } else if (allowedAttributes[attribute] === 'boolean') { - return String(value) === 'true' || String(value) === 'false'; - } - - return false; -} - -module.exports = attributeValidationError; - -},{"../../lib/braintree-error":66,"../shared/constants":57,"../shared/errors":58}],51:[function(require,module,exports){ -'use strict'; - -var constants = require('../shared/constants'); -var useMin = require('../../lib/use-min'); - -module.exports = function composeUrl(assetsUrl, componentId, isDebug) { - return assetsUrl + - '/web/' + - constants.VERSION + - '/html/hosted-fields-frame' + useMin(isDebug) + '.html#' + - componentId; -}; - -},{"../../lib/use-min":89,"../shared/constants":57}],52:[function(require,module,exports){ -(function (global){ -'use strict'; - -var allowedStyles = require('../shared/constants').allowedStyles; - -module.exports = function getStylesFromClass(cssClass) { - var element = document.createElement('input'); - var styles = {}; - var computedStyles; - - if (cssClass[0] === '.') { - cssClass = cssClass.substring(1); - } - - element.className = cssClass; - element.style.display = 'none !important'; - element.style.position = 'fixed !important'; - element.style.left = '-99999px !important'; - element.style.top = '-99999px !important'; - global.document.body.appendChild(element); - - computedStyles = global.getComputedStyle(element); - - allowedStyles.forEach(function (style) { - var value = computedStyles[style]; - - if (value) { - styles[style] = value; - } - }); - - global.document.body.removeChild(element); - - return styles; -}; - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"../shared/constants":57}],53:[function(require,module,exports){ -'use strict'; - -var assign = require('../../lib/assign').assign; -var Destructor = require('../../lib/destructor'); -var classlist = require('../../lib/classlist'); -var iFramer = require('@braintree/iframer'); -var Bus = require('../../lib/bus'); -var BraintreeError = require('../../lib/braintree-error'); -var composeUrl = require('./compose-url'); -var getStylesFromClass = require('./get-styles-from-class'); -var constants = require('../shared/constants'); -var errors = require('../shared/errors'); -var INTEGRATION_TIMEOUT_MS = require('../../lib/constants').INTEGRATION_TIMEOUT_MS; -var uuid = require('../../lib/vendor/uuid'); -var findParentTags = require('../shared/find-parent-tags'); -var browserDetection = require('../shared/browser-detection'); -var events = constants.events; -var EventEmitter = require('../../lib/event-emitter'); -var injectFrame = require('./inject-frame'); -var analytics = require('../../lib/analytics'); -var allowedFields = constants.allowedFields; -var methods = require('../../lib/methods'); -var convertMethodsToError = require('../../lib/convert-methods-to-error'); -var sharedErrors = require('../../lib/errors'); -var getCardTypes = require('../shared/get-card-types'); -var attributeValidationError = require('./attribute-validation-error'); -var Promise = require('../../lib/promise'); -var wrapPromise = require('@braintree/wrap-promise'); - -/** - * @typedef {object} HostedFields~tokenizePayload - * @property {string} nonce The payment method nonce. - * @property {object} details Additional account details. - * @property {string} details.cardType Type of card, ex: Visa, MasterCard. - * @property {string} details.lastFour Last four digits of card number. - * @property {string} details.lastTwo Last two digits of card number. - * @property {string} description A human-readable description. - * @property {string} type The payment method type, always `CreditCard`. - * @property {object} binData Information about the card based on the bin. - * @property {string} binData.commercial Possible values: 'Yes', 'No', 'Unknown'. - * @property {string} binData.countryOfIssuance The country of issuance. - * @property {string} binData.debit Possible values: 'Yes', 'No', 'Unknown'. - * @property {string} binData.durbinRegulated Possible values: 'Yes', 'No', 'Unknown'. - * @property {string} binData.healthcare Possible values: 'Yes', 'No', 'Unknown'. - * @property {string} binData.issuingBank The issuing bank. - * @property {string} binData.payroll Possible values: 'Yes', 'No', 'Unknown'. - * @property {string} binData.prepaid Possible values: 'Yes', 'No', 'Unknown'. - * @property {string} binData.productId The product id. - */ - -/** - * @typedef {object} HostedFields~stateObject - * @description The event payload sent from {@link HostedFields#on|on} or {@link HostedFields#getState|getState}. - * @property {HostedFields~hostedFieldsCard[]} cards - * This will return an array of potential {@link HostedFields~hostedFieldsCard|cards}. If the card type has been determined, the array will contain only one card. - * Internally, Hosted Fields uses credit-card-type, - * an open-source card detection library. - * @property {string} emittedBy - * The name of the field associated with an event. This will not be included if returned by {@link HostedFields#getState|getState}. It will be one of the following strings:
- * - `"number"` - * - `"cvv"` - * - `"expirationDate"` - * - `"expirationMonth"` - * - `"expirationYear"` - * - `"postalCode"` - * @property {object} fields - * @property {?HostedFields~hostedFieldsFieldData} fields.number {@link HostedFields~hostedFieldsFieldData|hostedFieldsFieldData} for the number field, if it is present. - * @property {?HostedFields~hostedFieldsFieldData} fields.cvv {@link HostedFields~hostedFieldsFieldData|hostedFieldsFieldData} for the CVV field, if it is present. - * @property {?HostedFields~hostedFieldsFieldData} fields.expirationDate {@link HostedFields~hostedFieldsFieldData|hostedFieldsFieldData} for the expiration date field, if it is present. - * @property {?HostedFields~hostedFieldsFieldData} fields.expirationMonth {@link HostedFields~hostedFieldsFieldData|hostedFieldsFieldData} for the expiration month field, if it is present. - * @property {?HostedFields~hostedFieldsFieldData} fields.expirationYear {@link HostedFields~hostedFieldsFieldData|hostedFieldsFieldData} for the expiration year field, if it is present. - * @property {?HostedFields~hostedFieldsFieldData} fields.postalCode {@link HostedFields~hostedFieldsFieldData|hostedFieldsFieldData} for the postal code field, if it is present. - */ - -/** - * @typedef {object} HostedFields~hostedFieldsFieldData - * @description Data about Hosted Fields fields, sent in {@link HostedFields~stateObject|stateObjects}. - * @property {HTMLElement} container Reference to the container DOM element on your page associated with the current event. - * @property {boolean} isFocused Whether or not the input is currently focused. - * @property {boolean} isEmpty Whether or not the user has entered a value in the input. - * @property {boolean} isPotentiallyValid - * A determination based on the future validity of the input value. - * This is helpful when a user is entering a card number and types "41". - * While that value is not valid for submission, it is still possible for - * it to become a fully qualified entry. However, if the user enters "4x" - * it is clear that the card number can never become valid and isPotentiallyValid will - * return false. - * @property {boolean} isValid Whether or not the value of the associated input is fully qualified for submission. - */ - -/** - * @typedef {object} HostedFields~hostedFieldsCard - * @description Information about the card type, sent in {@link HostedFields~stateObject|stateObjects}. - * @property {string} type The code-friendly representation of the card type. It will be one of the following strings: - * - `american-express` - * - `diners-club` - * - `discover` - * - `jcb` - * - `maestro` - * - `master-card` - * - `unionpay` - * - `visa` - * @property {string} niceType The pretty-printed card type. It will be one of the following strings: - * - `American Express` - * - `Diners Club` - * - `Discover` - * - `JCB` - * - `Maestro` - * - `MasterCard` - * - `UnionPay` - * - `Visa` - * @property {object} code - * This object contains data relevant to the security code requirements of the card brand. - * For example, on a Visa card there will be a CVV of 3 digits, whereas an - * American Express card requires a 4-digit CID. - * @property {string} code.name "CVV" "CID" "CVC" - * @property {number} code.size The expected length of the security code. Typically, this is 3 or 4. - */ - -/** - * @name HostedFields#on - * @function - * @param {string} event The name of the event to which you are subscribing. - * @param {function} handler A callback to handle the event. - * @description Subscribes a handler function to a named event. `event` should be {@link HostedFields#event:blur|blur}, {@link HostedFields#event:focus|focus}, {@link HostedFields#event:empty|empty}, {@link HostedFields#event:notEmpty|notEmpty}, {@link HostedFields#event:cardTypeChange|cardTypeChange}, or {@link HostedFields#event:validityChange|validityChange}. Events will emit a {@link HostedFields~stateObject|stateObject}. - * @example - * Listening to a Hosted Field event, in this case 'focus' - * hostedFields.create({ ... }, function (createErr, hostedFieldsInstance) { - * hostedFieldsInstance.on('focus', function (event) { - * console.log(event.emittedBy, 'has been focused'); - * }); - * }); - * @returns {void} - */ - -/** - * This event is emitted when the user requests submission of an input field, such as by pressing the Enter or Return key on their keyboard, or mobile equivalent. - * @event HostedFields#inputSubmitRequest - * @type {HostedFields~stateObject} - * @example - * Clicking a submit button upon hitting Enter (or equivalent) within a Hosted Field - * var hostedFields = require('braintree-web/hosted-fields'); - * var submitButton = document.querySelector('input[type="submit"]'); - * - * hostedFields.create({ ... }, function (createErr, hostedFieldsInstance) { - * hostedFieldsInstance.on('inputSubmitRequest', function () { - * // User requested submission, e.g. by pressing Enter or equivalent - * submitButton.click(); - * }); - * }); - */ - -/** - * This event is emitted when a field transitions from having data to being empty. - * @event HostedFields#empty - * @type {HostedFields~stateObject} - * @example - * Listening to an empty event - * hostedFields.create({ ... }, function (createErr, hostedFieldsInstance) { - * hostedFieldsInstance.on('empty', function (event) { - * console.log(event.emittedBy, 'is now empty'); - * }); - * }); - */ - -/** - * This event is emitted when a field transitions from being empty to having data. - * @event HostedFields#notEmpty - * @type {HostedFields~stateObject} - * @example - * Listening to an notEmpty event - * hostedFields.create({ ... }, function (createErr, hostedFieldsInstance) { - * hostedFieldsInstance.on('notEmpty', function (event) { - * console.log(event.emittedBy, 'is now not empty'); - * }); - * }); - */ - -/** - * This event is emitted when a field loses focus. - * @event HostedFields#blur - * @type {HostedFields~stateObject} - * @example - * Listening to a blur event - * hostedFields.create({ ... }, function (createErr, hostedFieldsInstance) { - * hostedFieldsInstance.on('blur', function (event) { - * console.log(event.emittedBy, 'lost focus'); - * }); - * }); - */ - -/** - * This event is emitted when a field gains focus. - * @event HostedFields#focus - * @type {HostedFields~stateObject} - * @example - * Listening to a focus event - * hostedFields.create({ ... }, function (createErr, hostedFieldsInstance) { - * hostedFieldsInstance.on('focus', function (event) { - * console.log(event.emittedBy, 'gained focus'); - * }); - * }); - */ - -/** - * This event is emitted when activity within the number field has changed such that the possible card type has changed. - * @event HostedFields#cardTypeChange - * @type {HostedFields~stateObject} - * @example - * Listening to a cardTypeChange event - * hostedFields.create({ ... }, function (createErr, hostedFieldsInstance) { - * hostedFieldsInstance.on('cardTypeChange', function (event) { - * if (event.cards.length === 1) { - * console.log(event.cards[0].type); - * } else { - * console.log('Type of card not yet known'); - * } - * }); - * }); - */ - -/** - * This event is emitted when the validity of a field has changed. Validity is represented in the {@link HostedFields~stateObject|stateObject} as two booleans: `isValid` and `isPotentiallyValid`. - * @event HostedFields#validityChange - * @type {HostedFields~stateObject} - * @example - * Listening to a validityChange event - * hostedFields.create({ ... }, function (createErr, hostedFieldsInstance) { - * hostedFieldsInstance.on('validityChange', function (event) { - * var field = event.fields[event.emittedBy]; - * - * if (field.isValid) { - * console.log(event.emittedBy, 'is fully valid'); - * } else if (field.isPotentiallyValid) { - * console.log(event.emittedBy, 'is potentially valid'); - * } else { - * console.log(event.emittedBy, 'is not valid'); - * } - * }); - * }); - */ - -function createInputEventHandler(fields) { - return function (eventData) { - var field; - var merchantPayload = eventData.merchantPayload; - var emittedBy = merchantPayload.emittedBy; - var container = fields[emittedBy].containerElement; - - Object.keys(merchantPayload.fields).forEach(function (key) { - merchantPayload.fields[key].container = fields[key].containerElement; - }); - - field = merchantPayload.fields[emittedBy]; - - if (eventData.type === 'blur') { - performBlurFixForIos(container); - } - - classlist.toggle(container, constants.externalClasses.FOCUSED, field.isFocused); - classlist.toggle(container, constants.externalClasses.VALID, field.isValid); - classlist.toggle(container, constants.externalClasses.INVALID, !field.isPotentiallyValid); - - this._state = { // eslint-disable-line no-invalid-this - cards: merchantPayload.cards, - fields: merchantPayload.fields - }; - - this._emit(eventData.type, merchantPayload); // eslint-disable-line no-invalid-this - }; -} - -// iOS Safari has a bug where inputs in iframes -// will not dismiss the keyboard when they lose -// focus. We create a hidden button input that we -// can focus on and blur to force the keyboard to -// dismiss. See #229 -function performBlurFixForIos(container) { - var hiddenInput; - - if (!browserDetection.isIos()) { - return; - } - - if (document.activeElement === document.body) { - hiddenInput = container.querySelector('input'); - - if (!hiddenInput) { - hiddenInput = document.createElement('input'); - - hiddenInput.type = 'button'; - hiddenInput.style.height = '0px'; - hiddenInput.style.width = '0px'; - hiddenInput.style.opacity = '0'; - hiddenInput.style.padding = '0'; - hiddenInput.style.position = 'absolute'; - hiddenInput.style.left = '-200%'; - hiddenInput.style.top = '0px'; - - container.insertBefore(hiddenInput, container.firstChild); - } - - hiddenInput.focus(); - hiddenInput.blur(); - } -} - -/** - * @class HostedFields - * @param {object} options The Hosted Fields {@link module:braintree-web/hosted-fields.create create} options. - * @description Do not use this constructor directly. Use {@link module:braintree-web/hosted-fields.create|braintree-web.hosted-fields.create} instead. - * @classdesc This class represents a Hosted Fields component produced by {@link module:braintree-web/hosted-fields.create|braintree-web/hosted-fields.create}. Instances of this class have methods for interacting with the input fields within Hosted Fields' iframes. - */ -function HostedFields(options) { - var failureTimeout, clientConfig, hostedFieldsUrl; - var self = this; - var fields = {}; - var busOptions = assign({}, options); - var fieldCount = 0; - var componentId = uuid(); - - clientConfig = options.client.getConfiguration(); - hostedFieldsUrl = composeUrl(clientConfig.gatewayConfiguration.assetsUrl, componentId, clientConfig.isDebug); - - if (!options.fields || Object.keys(options.fields).length === 0) { - throw new BraintreeError({ - type: sharedErrors.INSTANTIATION_OPTION_REQUIRED.type, - code: sharedErrors.INSTANTIATION_OPTION_REQUIRED.code, - message: 'options.fields is required when instantiating Hosted Fields.' - }); - } - - EventEmitter.call(this); - - this._injectedNodes = []; - this._destructor = new Destructor(); - this._fields = fields; - this._state = { - fields: {}, - cards: getCardTypes('') - }; - - this._bus = new Bus({ - channel: componentId, - merchantUrl: location.href - }); - - this._destructor.registerFunctionForTeardown(function () { - self._bus.teardown(); - }); - - this._client = options.client; - - analytics.sendEvent(this._client, 'custom.hosted-fields.initialized'); - - Object.keys(options.fields).forEach(function (key) { - var field, container, frame; - - if (!constants.allowedFields.hasOwnProperty(key)) { - throw new BraintreeError({ - type: errors.HOSTED_FIELDS_INVALID_FIELD_KEY.type, - code: errors.HOSTED_FIELDS_INVALID_FIELD_KEY.code, - message: '"' + key + '" is not a valid field.' - }); - } - - field = options.fields[key]; - - container = document.querySelector(field.selector); - - if (!container) { - throw new BraintreeError({ - type: errors.HOSTED_FIELDS_INVALID_FIELD_SELECTOR.type, - code: errors.HOSTED_FIELDS_INVALID_FIELD_SELECTOR.code, - message: errors.HOSTED_FIELDS_INVALID_FIELD_SELECTOR.message, - details: { - fieldSelector: field.selector, - fieldKey: key - } - }); - } else if (container.querySelector('iframe[name^="braintree-"]')) { - throw new BraintreeError({ - type: errors.HOSTED_FIELDS_FIELD_DUPLICATE_IFRAME.type, - code: errors.HOSTED_FIELDS_FIELD_DUPLICATE_IFRAME.code, - message: errors.HOSTED_FIELDS_FIELD_DUPLICATE_IFRAME.message, - details: { - fieldSelector: field.selector, - fieldKey: key - } - }); - } - - if (field.maxlength && typeof field.maxlength !== 'number') { - throw new BraintreeError({ - type: errors.HOSTED_FIELDS_FIELD_PROPERTY_INVALID.type, - code: errors.HOSTED_FIELDS_FIELD_PROPERTY_INVALID.code, - message: 'The value for maxlength must be a number.', - details: { - fieldKey: key - } - }); - } - - if (field.minlength && typeof field.minlength !== 'number') { - throw new BraintreeError({ - type: errors.HOSTED_FIELDS_FIELD_PROPERTY_INVALID.type, - code: errors.HOSTED_FIELDS_FIELD_PROPERTY_INVALID.code, - message: 'The value for minlength must be a number.', - details: { - fieldKey: key - } - }); - } - - frame = iFramer({ - type: key, - name: 'braintree-hosted-field-' + key, - style: constants.defaultIFrameStyle, - title: 'Secure Credit Card Frame - ' + constants.allowedFields[key].label - }); - - this._injectedNodes = this._injectedNodes.concat(injectFrame(frame, container)); - this._setupLabelFocus(key, container); - fields[key] = { - frameElement: frame, - containerElement: container - }; - fieldCount++; - - this._state.fields[key] = { - isEmpty: true, - isValid: false, - isPotentiallyValid: true, - isFocused: false, - container: container - }; - - setTimeout(function () { - // Edge has an intermittent issue where - // the iframes load, but the JavaScript - // can't message out to the parent page. - // We can fix this by setting the src - // to about:blank first followed by - // the actual source. Both instances - // of setting the src need to be in a - // setTimeout to work. - if (browserDetection.isIE() || browserDetection.isEdge()) { - frame.src = 'about:blank'; - setTimeout(function () { - frame.src = hostedFieldsUrl; - }, 0); - } else { - frame.src = hostedFieldsUrl; - } - }, 0); - }.bind(this)); - - // TODO rejecting unsupported cards should be the default behavior after the next major revision - if (options.fields.number && options.fields.number.rejectUnsupportedCards) { - busOptions.supportedCardTypes = clientConfig.gatewayConfiguration.creditCards.supportedCardTypes; - } - - if (busOptions.styles) { - Object.keys(busOptions.styles).forEach(function (selector) { - var className = busOptions.styles[selector]; - - if (typeof className === 'string') { - busOptions.styles[selector] = getStylesFromClass(className); - } - }); - } - - failureTimeout = setTimeout(function () { - analytics.sendEvent(self._client, 'custom.hosted-fields.load.timed-out'); - self._emit('timeout'); - }, INTEGRATION_TIMEOUT_MS); - - this._bus.on(events.FRAME_READY, function (reply) { - fieldCount--; - if (fieldCount === 0) { - clearTimeout(failureTimeout); - reply(busOptions); - self._emit('ready'); - } - }); - - this._bus.on( - events.INPUT_EVENT, - createInputEventHandler(fields).bind(this) - ); - - this._destructor.registerFunctionForTeardown(function () { - var j, node, parent; - - for (j = 0; j < self._injectedNodes.length; j++) { - node = self._injectedNodes[j]; - parent = node.parentNode; - - parent.removeChild(node); - - classlist.remove( - parent, - constants.externalClasses.FOCUSED, - constants.externalClasses.INVALID, - constants.externalClasses.VALID - ); - } - }); - - this._destructor.registerFunctionForTeardown(function () { - var methodNames = methods(HostedFields.prototype).concat(methods(EventEmitter.prototype)); - - convertMethodsToError(self, methodNames); - }); -} - -HostedFields.prototype = Object.create(EventEmitter.prototype, { - constructor: HostedFields -}); - -HostedFields.prototype._setupLabelFocus = function (type, container) { - var labels, i; - var shouldSkipLabelFocus = browserDetection.isIos(); - var bus = this._bus; - - if (shouldSkipLabelFocus) { return; } - if (container.id == null) { return; } - - function triggerFocus() { - bus.emit(events.TRIGGER_INPUT_FOCUS, type); - } - - labels = Array.prototype.slice.call(document.querySelectorAll('label[for="' + container.id + '"]')); - labels = labels.concat(findParentTags(container, 'label')); - - for (i = 0; i < labels.length; i++) { - labels[i].addEventListener('click', triggerFocus, false); - } - - this._destructor.registerFunctionForTeardown(function () { - for (i = 0; i < labels.length; i++) { - labels[i].removeEventListener('click', triggerFocus, false); - } - }); -}; - -HostedFields.prototype._attachInvalidFieldContainersToError = function (err) { - if (!(err.details && err.details.invalidFieldKeys && err.details.invalidFieldKeys.length > 0)) { - return; - } - err.details.invalidFields = {}; - err.details.invalidFieldKeys.forEach(function (field) { - err.details.invalidFields[field] = this._fields[field].containerElement; - }.bind(this)); -}; - -/** - * Cleanly remove anything set up by {@link module:braintree-web/hosted-fields.create|create}. - * @public - * @param {callback} [callback] Called on completion, containing an error if one occurred. No data is returned if teardown completes successfully. If no callback is provided, `teardown` returns a promise. - * @example - * hostedFieldsInstance.teardown(function (teardownErr) { - * if (teardownErr) { - * console.error('Could not tear down Hosted Fields!'); - * } else { - * console.info('Hosted Fields has been torn down!'); - * } - * }); - * @returns {Promise|void} Returns a promise if no callback is provided. - */ -HostedFields.prototype.teardown = function () { - var self = this; - - return new Promise(function (resolve, reject) { - self._destructor.teardown(function (err) { - analytics.sendEvent(self._client, 'custom.hosted-fields.teardown-completed'); - - if (err) { - reject(err); - } else { - resolve(); - } - }); - }); -}; - -/** - * Tokenizes fields and returns a nonce payload. - * @public - * @param {object} [options] All tokenization options for the Hosted Fields component. - * @param {boolean} [options.vault=false] When true, will vault the tokenized card. Cards will only be vaulted when using a client created with a client token that includes a customer ID. - * @param {string} [options.cardholderName] When supplied, the cardholder name to be tokenized with the contents of the fields. - * @param {string} [options.billingAddress.postalCode] When supplied, this postal code will be tokenized along with the contents of the fields. If a postal code is provided as part of the Hosted Fields configuration, the value of the field will be tokenized and this value will be ignored. - * @param {string} [options.billingAddress.firstName] When supplied, this customer first name will be tokenized along with the contents of the fields. - * @param {string} [options.billingAddress.lastName] When supplied, this customer last name will be tokenized along with the contents of the fields. - * @param {string} [options.billingAddress.company] When supplied, this company name will be tokenized along with the contents of the fields. - * @param {string} [options.billingAddress.streetAddress] When supplied, this street address will be tokenized along with the contents of the fields. - * @param {string} [options.billingAddress.extendedAddress] When supplied, this extended address will be tokenized along with the contents of the fields. - * @param {string} [options.billingAddress.locality] When supplied, this locality (the city) will be tokenized along with the contents of the fields. - * @param {string} [options.billingAddress.region] When supplied, this region (the state) will be tokenized along with the contents of the fields. - * @param {string} [options.billingAddress.countryCodeNumeric] When supplied, this numeric country code will be tokenized along with the contents of the fields. - * @param {string} [options.billingAddress.countryCodeAlpha2] When supplied, this alpha 2 representation of a country will be tokenized along with the contents of the fields. - * @param {string} [options.billingAddress.countryCodeAlpha3] When supplied, this alpha 3 representation of a country will be tokenized along with the contents of the fields. - * @param {string} [options.billingAddress.countryName] When supplied, this country name will be tokenized along with the contents of the fields. - * - * @param {callback} [callback] The second argument, data, is a {@link HostedFields~tokenizePayload|tokenizePayload}. If no callback is provided, `tokenize` returns a function that resolves with a {@link HostedFields~tokenizePayload|tokenizePayload}. - * @example Tokenize a card - * hostedFieldsInstance.tokenize(function (tokenizeErr, payload) { - * if (tokenizeErr) { - * switch (tokenizeErr.code) { - * case 'HOSTED_FIELDS_FIELDS_EMPTY': - * // occurs when none of the fields are filled in - * console.error('All fields are empty! Please fill out the form.'); - * break; - * case 'HOSTED_FIELDS_FIELDS_INVALID': - * // occurs when certain fields do not pass client side validation - * console.error('Some fields are invalid:', tokenizeErr.details.invalidFieldKeys); - * - * // you can also programtically access the field containers for the invalid fields - * tokenizeErr.details.invalidFields.forEach(function (fieldContainer) { - * fieldContainer.className = 'invalid'; - * }); - * break; - * case 'HOSTED_FIELDS_TOKENIZATION_FAIL_ON_DUPLICATE': - * // occurs when: - * // * the client token used for client authorization was generated - * // with a customer ID and the fail on duplicate payment method - * // option is set to true - * // * the card being tokenized has previously been vaulted (with any customer) - * // See: https://developers.braintreepayments.com/reference/request/client-token/generate/#options.fail_on_duplicate_payment_method - * console.error('This payment method already exists in your vault.'); - * break; - * case 'HOSTED_FIELDS_TOKENIZATION_CVV_VERIFICATION_FAILED': - * // occurs when: - * // * the client token used for client authorization was generated - * // with a customer ID and the verify card option is set to true - * // and you have credit card verification turned on in the Braintree - * // control panel - * // * the cvv does not pass verfication (https://developers.braintreepayments.com/reference/general/testing/#avs-and-cvv/cid-responses) - * // See: https://developers.braintreepayments.com/reference/request/client-token/generate/#options.verify_card - * console.error('CVV did not pass verification'); - * break; - * case 'HOSTED_FIELDS_FAILED_TOKENIZATION': - * // occurs for any other tokenization error on the server - * console.error('Tokenization failed server side. Is the card valid?'); - * break; - * case 'HOSTED_FIELDS_TOKENIZATION_NETWORK_ERROR': - * // occurs when the Braintree gateway cannot be contacted - * console.error('Network error occurred when tokenizing.'); - * break; - * default: - * console.error('Something bad happened!', tokenizeErr); - * } - * } else { - * console.log('Got nonce:', payload.nonce); - * } - * }); - * @example Tokenize and vault a card - * hostedFieldsInstance.tokenize({ - * vault: true - * }, function (tokenizeErr, payload) { - * if (tokenizeErr) { - * console.error(tokenizeErr); - * } else { - * console.log('Got nonce:', payload.nonce); - * } - * }); - * @example Tokenize a card with cardholder name - * hostedFieldsInstance.tokenize({ - * cardholderName: 'First Last' - * }, function (tokenizeErr, payload) { - * if (tokenizeErr) { - * console.error(tokenizeErr); - * } else { - * console.log('Got nonce:', payload.nonce); - * } - * }); - * @example Tokenize a card with the postal code option - * hostedFieldsInstance.tokenize({ - * billingAddress: { - * postalCode: '11111' - * } - * }, function (tokenizeErr, payload) { - * if (tokenizeErr) { - * console.error(tokenizeErr); - * } else { - * console.log('Got nonce:', payload.nonce); - * } - * }); - * @example Tokenize a card with additional billing address options - * hostedFieldsInstance.tokenize({ - * billingAddress: { - * firstName: 'First', - * lastName: 'Last', - * company: 'Company', - * streetAddress: '123 Street', - * extendedAddress: 'Unit 1', - * // passing just one of the country options is sufficient to - * // associate the card details with a particular country - * // valid country names and codes can be found here: - * // https://developers.braintreepayments.com/reference/general/countries/ruby#list-of-countries - * countryName: 'United States', - * countryCodeAlpha2: 'US', - * countryCodeAlpha3: 'USA', - * countryCodeNumeric: '840' - * } - * }, function (tokenizeErr, payload) { - * if (tokenizeErr) { - * console.error(tokenizeErr); - * } else { - * console.log('Got nonce:', payload.nonce); - * } - * }); - * @returns {Promise|void} Returns a promise if no callback is provided. - */ -HostedFields.prototype.tokenize = function (options) { - var self = this; - - if (!options) { - options = {}; - } - - return new Promise(function (resolve, reject) { - self._bus.emit(events.TOKENIZATION_REQUEST, options, function (response) { - var err = response[0]; - var payload = response[1]; - - if (err) { - self._attachInvalidFieldContainersToError(err); - reject(new BraintreeError(err)); - } else { - resolve(payload); - } - }); - }); -}; - -/** - * Add a class to a {@link module:braintree-web/hosted-fields~field field}. Useful for updating field styles when events occur elsewhere in your checkout. - * @public - * @param {string} field The field you wish to add a class to. Must be a valid {@link module:braintree-web/hosted-fields~fieldOptions fieldOption}. - * @param {string} classname The class to be added. - * @param {callback} [callback] Callback executed on completion, containing an error if one occurred. No data is returned if the class is added successfully. - * - * @example - * hostedFieldsInstance.addClass('number', 'custom-class', function (addClassErr) { - * if (addClassErr) { - * console.error(addClassErr); - * } - * }); - * @returns {Promise|void} Returns a promise if no callback is provided. - */ -HostedFields.prototype.addClass = function (field, classname) { - var err; - - if (!allowedFields.hasOwnProperty(field)) { - err = new BraintreeError({ - type: errors.HOSTED_FIELDS_FIELD_INVALID.type, - code: errors.HOSTED_FIELDS_FIELD_INVALID.code, - message: '"' + field + '" is not a valid field. You must use a valid field option when adding a class.' - }); - } else if (!this._fields.hasOwnProperty(field)) { - err = new BraintreeError({ - type: errors.HOSTED_FIELDS_FIELD_NOT_PRESENT.type, - code: errors.HOSTED_FIELDS_FIELD_NOT_PRESENT.code, - message: 'Cannot add class to "' + field + '" field because it is not part of the current Hosted Fields options.' - }); - } else { - this._bus.emit(events.ADD_CLASS, field, classname); - } - - if (err) { - return Promise.reject(err); - } - - return Promise.resolve(); -}; - -/** - * Removes a class to a {@link module:braintree-web/hosted-fields~field field}. Useful for updating field styles when events occur elsewhere in your checkout. - * @public - * @param {string} field The field you wish to remove a class from. Must be a valid {@link module:braintree-web/hosted-fields~fieldOptions fieldOption}. - * @param {string} classname The class to be removed. - * @param {callback} [callback] Callback executed on completion, containing an error if one occurred. No data is returned if the class is removed successfully. - * - * @example - * hostedFieldsInstance.addClass('number', 'custom-class', function (addClassErr) { - * if (addClassErr) { - * console.error(addClassErr); - * return; - * } - * - * // some time later... - * hostedFieldsInstance.removeClass('number', 'custom-class'); - * }); - * @returns {Promise|void} Returns a promise if no callback is provided. - */ -HostedFields.prototype.removeClass = function (field, classname) { - var err; - - if (!allowedFields.hasOwnProperty(field)) { - err = new BraintreeError({ - type: errors.HOSTED_FIELDS_FIELD_INVALID.type, - code: errors.HOSTED_FIELDS_FIELD_INVALID.code, - message: '"' + field + '" is not a valid field. You must use a valid field option when removing a class.' - }); - } else if (!this._fields.hasOwnProperty(field)) { - err = new BraintreeError({ - type: errors.HOSTED_FIELDS_FIELD_NOT_PRESENT.type, - code: errors.HOSTED_FIELDS_FIELD_NOT_PRESENT.code, - message: 'Cannot remove class from "' + field + '" field because it is not part of the current Hosted Fields options.' - }); - } else { - this._bus.emit(events.REMOVE_CLASS, field, classname); - } - - if (err) { - return Promise.reject(err); - } - - return Promise.resolve(); -}; - -/** - * Sets an attribute of a {@link module:braintree-web/hosted-fields~field field}. - * Supported attributes are `aria-invalid`, `aria-required`, `disabled`, and `placeholder`. - * - * @public - * @param {object} options The options for the attribute you wish to set. - * @param {string} options.field The field to which you wish to add an attribute. Must be a valid {@link module:braintree-web/hosted-fields~fieldOptions fieldOption}. - * @param {string} options.attribute The name of the attribute you wish to add to the field. - * @param {string} options.value The value for the attribute. - * @param {callback} [callback] Callback executed on completion, containing an error if one occurred. No data is returned if the attribute is set successfully. - * - * @example Set the placeholder attribute of a field - * hostedFieldsInstance.setAttribute({ - * field: 'number', - * attribute: 'placeholder', - * value: '1111 1111 1111 1111' - * }, function (attributeErr) { - * if (attributeErr) { - * console.error(attributeErr); - * } - * }); - * - * @example Set the aria-required attribute of a field - * hostedFieldsInstance.setAttribute({ - * field: 'number', - * attribute: 'aria-required', - * value: true - * }, function (attributeErr) { - * if (attributeErr) { - * console.error(attributeErr); - * } - * }); - * - * @returns {Promise|void} Returns a promise if no callback is provided. - */ -HostedFields.prototype.setAttribute = function (options) { - var attributeErr, err; - - if (!allowedFields.hasOwnProperty(options.field)) { - err = new BraintreeError({ - type: errors.HOSTED_FIELDS_FIELD_INVALID.type, - code: errors.HOSTED_FIELDS_FIELD_INVALID.code, - message: '"' + options.field + '" is not a valid field. You must use a valid field option when setting an attribute.' - }); - } else if (!this._fields.hasOwnProperty(options.field)) { - err = new BraintreeError({ - type: errors.HOSTED_FIELDS_FIELD_NOT_PRESENT.type, - code: errors.HOSTED_FIELDS_FIELD_NOT_PRESENT.code, - message: 'Cannot set attribute for "' + options.field + '" field because it is not part of the current Hosted Fields options.' - }); - } else { - attributeErr = attributeValidationError(options.attribute, options.value); - - if (attributeErr) { - err = attributeErr; - } else { - this._bus.emit(events.SET_ATTRIBUTE, options.field, options.attribute, options.value); - } - } - - if (err) { - return Promise.reject(err); - } - - return Promise.resolve(); -}; - -/** - * Sets a visually hidden message (for screenreaders) on a {@link module:braintree-web/hosted-fields~field field}. - * - * @public - * @param {object} options The options for the attribute you wish to set. - * @param {string} options.field The field to which you wish to add an attribute. Must be a valid {@link module:braintree-web/hosted-fields~field field}. - * @param {string} options.message The message to set. - * - * @example Set an error message on a field - * hostedFieldsInstance.setMessage({ - * field: 'number', - * message: 'Invalid card number' - * }); - * - * @example Remove the message on a field - * hostedFieldsInstance.setMessage({ - * field: 'number', - * message: '' - * }); - * - * @returns {void} - */ -HostedFields.prototype.setMessage = function (options) { - this._bus.emit(events.SET_MESSAGE, options.field, options.message); -}; - -/** - * Removes a supported attribute from a {@link module:braintree-web/hosted-fields~field field}. - * - * @public - * @param {object} options The options for the attribute you wish to remove. - * @param {string} options.field The field from which you wish to remove an attribute. Must be a valid {@link module:braintree-web/hosted-fields~fieldOptions fieldOption}. - * @param {string} options.attribute The name of the attribute you wish to remove from the field. - * @param {callback} [callback] Callback executed on completion, containing an error if one occurred. No data is returned if the attribute is removed successfully. - * - * @example Remove the placeholder attribute of a field - * hostedFieldsInstance.removeAttribute({ - * field: 'number', - * attribute: 'placeholder' - * }, function (attributeErr) { - * if (attributeErr) { - * console.error(attributeErr); - * } - * }); - * - * @returns {Promise|void} Returns a promise if no callback is provided. - */ -HostedFields.prototype.removeAttribute = function (options) { - var attributeErr, err; - - if (!allowedFields.hasOwnProperty(options.field)) { - err = new BraintreeError({ - type: errors.HOSTED_FIELDS_FIELD_INVALID.type, - code: errors.HOSTED_FIELDS_FIELD_INVALID.code, - message: '"' + options.field + '" is not a valid field. You must use a valid field option when removing an attribute.' - }); - } else if (!this._fields.hasOwnProperty(options.field)) { - err = new BraintreeError({ - type: errors.HOSTED_FIELDS_FIELD_NOT_PRESENT.type, - code: errors.HOSTED_FIELDS_FIELD_NOT_PRESENT.code, - message: 'Cannot remove attribute for "' + options.field + '" field because it is not part of the current Hosted Fields options.' - }); - } else { - attributeErr = attributeValidationError(options.attribute); - - if (attributeErr) { - err = attributeErr; - } else { - this._bus.emit(events.REMOVE_ATTRIBUTE, options.field, options.attribute); - } - } - - if (err) { - return Promise.reject(err); - } - - return Promise.resolve(); -}; - -/** - * @deprecated since version 3.8.0. Use {@link HostedFields#setAttribute|setAttribute} instead. - * - * @public - * @param {string} field The field whose placeholder you wish to change. Must be a valid {@link module:braintree-web/hosted-fields~fieldOptions fieldOption}. - * @param {string} placeholder Will be used as the `placeholder` attribute of the input. - * @param {callback} [callback] Callback executed on completion, containing an error if one occurred. No data is returned if the placeholder updated successfully. - * - * @returns {Promise|void} Returns a promise if no callback is provided. - */ -HostedFields.prototype.setPlaceholder = function (field, placeholder) { - return this.setAttribute({ - field: field, - attribute: 'placeholder', - value: placeholder - }); -}; - -/** - * Clear the value of a {@link module:braintree-web/hosted-fields~field field}. - * @public - * @param {string} field The field you wish to clear. Must be a valid {@link module:braintree-web/hosted-fields~fieldOptions fieldOption}. - * @param {callback} [callback] Callback executed on completion, containing an error if one occurred. No data is returned if the field cleared successfully. - * @returns {Promise|void} Returns a promise if no callback is provided. - * @example - * hostedFieldsInstance.clear('number', function (clearErr) { - * if (clearErr) { - * console.error(clearErr); - * } - * }); - * - * @example Clear several fields - * hostedFieldsInstance.clear('number'); - * hostedFieldsInstance.clear('cvv'); - * hostedFieldsInstance.clear('expirationDate'); - */ -HostedFields.prototype.clear = function (field) { - var err; - - if (!allowedFields.hasOwnProperty(field)) { - err = new BraintreeError({ - type: errors.HOSTED_FIELDS_FIELD_INVALID.type, - code: errors.HOSTED_FIELDS_FIELD_INVALID.code, - message: '"' + field + '" is not a valid field. You must use a valid field option when clearing a field.' - }); - } else if (!this._fields.hasOwnProperty(field)) { - err = new BraintreeError({ - type: errors.HOSTED_FIELDS_FIELD_NOT_PRESENT.type, - code: errors.HOSTED_FIELDS_FIELD_NOT_PRESENT.code, - message: 'Cannot clear "' + field + '" field because it is not part of the current Hosted Fields options.' - }); - } else { - this._bus.emit(events.CLEAR_FIELD, field); - } - - if (err) { - return Promise.reject(err); - } - - return Promise.resolve(); -}; - -/** - * Programmatically focus a {@link module:braintree-web/hosted-fields~field field}. - * @public - * @param {string} field The field you want to focus. Must be a valid {@link module:braintree-web/hosted-fields~fieldOptions fieldOption}. - * @param {callback} [callback] Callback executed on completion, containing an error if one occurred. No data is returned if the field focused successfully. - * @returns {void} - * @example - * hostedFieldsInstance.focus('number', function (focusErr) { - * if (focusErr) { - * console.error(focusErr); - * } - * }); - * @example Using an event listener - * myElement.addEventListener('click', function (e) { - * // In Firefox, the focus method can be suppressed - * // if the element has a tabindex property or the element - * // is an anchor link with an href property. - * // In Mobile Safari, the focus method is unable to - * // programatically open the keyboard, as only - * // touch events are allowed to do so. - * e.preventDefault(); - * hostedFieldsInstance.focus('number'); - * }); - */ -HostedFields.prototype.focus = function (field) { - var err; - - if (!allowedFields.hasOwnProperty(field)) { - err = new BraintreeError({ - type: errors.HOSTED_FIELDS_FIELD_INVALID.type, - code: errors.HOSTED_FIELDS_FIELD_INVALID.code, - message: '"' + field + '" is not a valid field. You must use a valid field option when focusing a field.' - }); - } else if (!this._fields.hasOwnProperty(field)) { - err = new BraintreeError({ - type: errors.HOSTED_FIELDS_FIELD_NOT_PRESENT.type, - code: errors.HOSTED_FIELDS_FIELD_NOT_PRESENT.code, - message: 'Cannot focus "' + field + '" field because it is not part of the current Hosted Fields options.' - }); - } else { - this._bus.emit(events.TRIGGER_INPUT_FOCUS, field); - } - - if (err) { - return Promise.reject(err); - } - - return Promise.resolve(); -}; - -/** - * Returns an {@link HostedFields~stateObject|object} that includes the state of all fields and possible card types. - * @public - * @returns {object} {@link HostedFields~stateObject|stateObject} - * @example Check if all fields are valid - * var state = hostedFieldsInstance.getState(); - * - * var formValid = Object.keys(state.fields).every(function (key) { - * return state.fields[key].isValid; - * }); - */ -HostedFields.prototype.getState = function () { - return this._state; -}; - -module.exports = wrapPromise.wrapPrototype(HostedFields); - -},{"../../lib/analytics":62,"../../lib/assign":63,"../../lib/braintree-error":66,"../../lib/bus":69,"../../lib/classlist":70,"../../lib/constants":71,"../../lib/convert-methods-to-error":72,"../../lib/destructor":76,"../../lib/errors":78,"../../lib/event-emitter":79,"../../lib/methods":85,"../../lib/promise":87,"../../lib/vendor/uuid":91,"../shared/browser-detection":56,"../shared/constants":57,"../shared/errors":58,"../shared/find-parent-tags":59,"../shared/get-card-types":60,"./attribute-validation-error":50,"./compose-url":51,"./get-styles-from-class":52,"./inject-frame":54,"@braintree/iframer":14,"@braintree/wrap-promise":21}],54:[function(require,module,exports){ -'use strict'; - -module.exports = function injectFrame(frame, container) { - var clearboth = document.createElement('div'); - var fragment = document.createDocumentFragment(); - - clearboth.style.clear = 'both'; - - fragment.appendChild(frame); - fragment.appendChild(clearboth); - - container.appendChild(fragment); - - return [frame, clearboth]; -}; - -},{}],55:[function(require,module,exports){ -'use strict'; -/** @module braintree-web/hosted-fields */ - -var HostedFields = require('./external/hosted-fields'); -var basicComponentVerification = require('../lib/basic-component-verification'); -var errors = require('./shared/errors'); -var supportsInputFormatting = require('restricted-input/supports-input-formatting'); -var wrapPromise = require('@braintree/wrap-promise'); -var BraintreeError = require('../lib/braintree-error'); -var Promise = require('../lib/promise'); -var VERSION = "3.37.0"; - -/** - * Fields used in {@link module:braintree-web/hosted-fields~fieldOptions fields options} - * @typedef {object} field - * @property {string} selector A CSS selector to find the container where the hosted field will be inserted. - * @property {string} [placeholder] Will be used as the `placeholder` attribute of the input. If `placeholder` is not natively supported by the browser, it will be polyfilled. - * @property {string} [type] Will be used as the `type` attribute of the input. To mask `cvv` input, for instance, `type: "password"` can be used. - * @property {boolean} [formatInput=true] Enable or disable automatic formatting on this field. - * @property {object|boolean} [maskInput=false] Enable or disable input masking when input is not focused. If set to `true` instead of an object, the defaults for the `maskInput` parameters will be used. - * @property {string} [maskInput.character=•] The character to use when masking the input. The default character ('•') uses a unicode symbol, so the webpage must support UTF-8 characters when using the default. - * @property {Boolean} [maskInput.showLastFour=false] Only applicable for the credit card field. Whether or not to show the last 4 digits of the card when masking. - * @property {object|boolean} [select] If truthy, this field becomes a `\n \n
\n
\n \n \n \n
\n
\n \n \n
\n \n
\n \n
\n
\n\n
\n
\n \n
\n
\n \n\n
\n \n
\n
\n\n
\n \n
\n
\n
\n \n \n
\n
\n \n \n \n
\n
\n
\n \n \n\n
\n
{{otherWaysToPay}}
\n
\n\n
\n {{chooseAnotherWayToPay}}\n
\n\n
\n"; -var svgHTML = "\n \n \n Visa\n \n \n \n \n\n \n MasterCard\n \n \n \n \n \n \n\n \n Union Pay\n \n \n \n \n \n \n \n \n \n \n\n \n American Express\n \n \n \n \n\n \n JCB\n \n \n \n \n \n\n \n Discover\n \n \n \n \n \n\n \n Diners Club\n \n \n \n \n \n\n \n Maestro\n \n \n \n \n \n \n\n \n PayPal Logo\n \n \n \n \n \n \n\n \n PayPal Credit Logo\n \n \n \n \n \n \n \n \n\n \n Generic Card\n \n \n \n \n \n \n \n\n \n CVV Back\n \n \n \n \n \n \n \n\n \n CVV Front\n \n \n \n \n \n \n \n \n\n \n Check\n \n \n\n \n X\n \n \n\n \n Lock Loader\n \n \n\n \n \n \n \n\n \n Apple Pay Logo\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n GooglePay_AcceptanceMark_RGB_60x24pt\n \n \n \n \n \n \n \n \n\n \n Venmo\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n"; - -var UPDATABLE_CONFIGURATION_OPTIONS = [ - paymentOptionIDs.paypal, - paymentOptionIDs.paypalCredit, - paymentOptionIDs.applePay, - paymentOptionIDs.googlePay, - 'threeDSecure' -]; -var UPDATABLE_CONFIGURATION_OPTIONS_THAT_REQUIRE_UNVAULTED_PAYMENT_METHODS_TO_BE_REMOVED = [ - paymentOptionIDs.paypal, - paymentOptionIDs.paypalCredit, - paymentOptionIDs.applePay, - paymentOptionIDs.googlePay -]; -var VERSION = "1.13.0"; - -/** - * @typedef {object} Dropin~cardPaymentMethodPayload - * @property {string} nonce The payment method nonce, used by your server to charge the card. - * @property {object} details Additional account details. - * @property {string} details.cardType Type of card, e.g. Visa, Mastercard. - * @property {string} details.lastTwo Last two digits of card number. - * @property {string} description A human-readable description. - * @property {string} type The payment method type, always `CreditCard` when the method requested is a card. - * @property {object} binData Information about the card based on the bin. Documented {@link Dropin~binData|here}. - * @property {?string} deviceData If data collector is configured, the device data property to be used when making a transaction. - * @property {?boolean} liablityShifted If 3D Secure is configured, whether or not liability did shift. - * @property {?boolean} liablityShiftPossible If 3D Secure is configured, whether or not liability shift is possible. - */ - -/** - * @typedef {object} Dropin~paypalPaymentMethodPayload - * @property {string} nonce The payment method nonce, used by your server to charge the PayPal account. - * @property {object} details Additional PayPal account details. See a full list of details in the [PayPal client reference](http://braintree.github.io/braintree-web/{@pkg bt-web-version}/PayPalCheckout.html#~tokenizePayload). - * @property {string} type The payment method type, always `PayPalAccount` when the method requested is a PayPal account. - * @property {?string} deviceData If data collector is configured, the device data property to be used when making a transaction. - */ - -/** - * @typedef {object} Dropin~applePayPaymentMethodPayload - * @property {string} nonce The payment method nonce, used by your server to charge the Apple Pay provided card. - * @property {string} details.cardType Type of card, ex: Visa, Mastercard. - * @property {string} details.cardHolderName The name of the card holder. - * @property {string} details.dpanLastTwo Last two digits of card number. - * @property {string} description A human-readable description. - * @property {string} type The payment method type, always `ApplePayCard` when the method requested is an Apple Pay provided card. - * @property {object} binData Information about the card based on the bin. Documented {@link Dropin~binData|here}. - * @property {?string} deviceData If data collector is configured, the device data property to be used when making a transaction. - */ - -/** - * @typedef {object} Dropin~venmoPaymentMethodPayload - * @property {string} nonce The payment method nonce, used by your server to charge the Venmo account. - * @property {string} details.username The Venmo username. - * @property {string} type The payment method type, always `VenmoAccount` when the method requested is a Venmo account. - * @property {?string} deviceData If data collector is configured, the device data property to be used when making a transaction. - */ - -/** - * @typedef {object} Dropin~googlePayPaymentMethodPayload - * @property {string} nonce The payment method nonce, used by your server to charge the Google Pay card. - * @property {string} details.cardType Type of card, ex: Visa, Mastercard. - * @property {string} details.lastFour The last 4 digits of the card. - * @property {string} details.lastTwo The last 2 digits of the card. - * @param {external:GooglePayPaymentData} details.rawPaymentData The raw response back from the Google Pay flow, which includes shipping address, phone and email if passed in as required parameters. - * @property {string} type The payment method type, always `AndroidPayCard` when the method requested is a Google Pay Card. - * @property {object} binData Information about the card based on the bin. Documented {@link Dropin~binData|here}. - * @property {?string} deviceData If data collector is configured, the device data property to be used when making a transaction. - */ - -/** - * @typedef {object} GooglePayPaymentData A [Google Pay Payment Data object](https://developers.google.com/pay/api/web/object-reference#PaymentData). - * @external GooglePayPaymentData - * @see {@link https://developers.google.com/pay/api/web/object-reference#PaymentData PaymentData} - */ - -/** - * @typedef {object} Dropin~binData Information about the card based on the bin. - * @property {string} commercial Possible values: 'Yes', 'No', 'Unknown'. - * @property {string} countryOfIssuance The country of issuance. - * @property {string} debit Possible values: 'Yes', 'No', 'Unknown'. - * @property {string} durbinRegulated Possible values: 'Yes', 'No', 'Unknown'. - * @property {string} healthcare Possible values: 'Yes', 'No', 'Unknown'. - * @property {string} issuingBank The issuing bank. - * @property {string} payroll Possible values: 'Yes', 'No', 'Unknown'. - * @property {string} prepaid Possible values: 'Yes', 'No', 'Unknown'. - * @property {string} productId The product id. - */ - -/** - * @name Dropin#on - * @function - * @param {string} event The name of the event to which you are subscribing. - * @param {function} handler A callback to handle the event. - * @description Subscribes a handler function to a named event. `event` should be one of the following: - * * [`paymentMethodRequestable`](#event:paymentMethodRequestable) - * * [`noPaymentMethodRequestable`](#event:noPaymentMethodRequestable) - * * [`paymentOptionSelected`](#event:paymentOptionSelected) - * @returns {void} - * @example - * Dynamically enable or disable your submit button based on whether or not the payment method is requestable - * var submitButton = document.querySelector('#submit-button'); - * - * braintree.dropin.create({ - * authorization: 'CLIENT_AUTHORIZATION', - * container: '#dropin-container' - * }, function (err, dropinInstance) { - * submitButton.addEventListener('click', function () { - * dropinInstance.requestPaymentMethod(function (err, payload) { - * // Send payload.nonce to your server. - * }); - * }); - * - * if (dropinInstance.isPaymentMethodRequestable()) { - * // This will be true if you generated the client token - * // with a customer ID and there is a saved payment method - * // available to tokenize with that customer. - * submitButton.removeAttribute('disabled'); - * } - * - * dropinInstance.on('paymentMethodRequestable', function (event) { - * console.log(event.type); // The type of Payment Method, e.g 'CreditCard', 'PayPalAccount'. - * console.log(event.paymentMethodIsSelected); // true if a customer has selected a payment method when paymentMethodRequestable fires - * - * submitButton.removeAttribute('disabled'); - * }); - * - * dropinInstance.on('noPaymentMethodRequestable', function () { - * submitButton.setAttribute('disabled', true); - * }); - * }); - * @example - * Automatically submit nonce to server as soon as it becomes available - * var submitButton = document.querySelector('#submit-button'); - * - * braintree.dropin.create({ - * authorization: 'CLIENT_AUTHORIZATION', - * container: '#dropin-container' - * }, function (err, dropinInstance) { - * function sendNonceToServer() { - * dropinInstance.requestPaymentMethod(function (err, payload) { - * if (err) { - * // handle errors - * } - * - * // send payload.nonce to your server - * }); - * } - * - * // allows us to still request the payment method manually, such as - * // when filling out a credit card form - * submitButton.addEventListener('click', sendNonceToServer); - * - * dropinInstance.on('paymentMethodRequestable', function (event) { - * // if the nonce is already available (via PayPal authentication - * // or by using a stored payment method), we can request the - * // nonce right away. Otherwise, we wait for the customer to - * // request the nonce by pressing the submit button once they - * // are finished entering their credit card details - * if (event.paymentMethodIsSelected) { - * sendNonceToServer(); - * } - * }); - * }); - */ - -/** - * This event is emitted when the payment method available in Drop-in changes. This includes when the state of Drop-in transitions from having no payment method available to having a payment method available and when the payment method available changes. This event is not fired if there is no payment method available on initialization. To check if there is a payment method requestable on initialization, use {@link Dropin#isPaymentMethodRequestable|`isPaymentMethodRequestable`}. - * @event Dropin#paymentMethodRequestable - * @type {Dropin~paymentMethodRequestablePayload} - */ - -/** - * @typedef {object} Dropin~paymentMethodRequestablePayload - * @description The event payload sent from {@link Dropin#on|`on`} with the {@link Dropin#event:paymentMethodRequestable|`paymentMethodRequestable`} event. - * @property {string} type The type of payment method that is requestable. Either `CreditCard` or `PayPalAccount`. - * @property {boolean} paymentMethodIsSelected A property to determine if a payment method is currently selected when the payment method becomes requestable. - * - * This will be `true` any time a payment method is visably selected in the Drop-in UI, such as when PayPal authentication completes or a stored payment method is selected. - * - * This will be `false` when {@link Dropin#requestPaymentMethod|`requestPaymentMethod`} can be called, but a payment method is not currently selected. For instance, when a card form has been filled in with valid values, but has not been submitted to be converted into a payment method nonce. - */ - -/** - * This event is emitted when there is no payment method available in Drop-in. This event is not fired if there is no payment method available on initialization. To check if there is a payment method requestable on initialization, use {@link Dropin#isPaymentMethodRequestable|`isPaymentMethodRequestable`}. No payload is available in the callback for this event. - * @event Dropin#noPaymentMethodRequestable - */ - -/** - * This event is emitted when the customer selects a new payment option type (e.g. PayPal, PayPal Credit, credit card). This event is not emitted when the user changes between existing saved payment methods. Only relevant when accepting multiple payment options. - * @event Dropin#paymentOptionSelected - * @type {Dropin~paymentOptionSelectedPayload} - */ - -/** - * @typedef {object} Dropin~paymentOptionSelectedPayload - * @description The event payload sent from {@link Dropin#on|`on`} with the {@link Dropin#event:paymentOptionSelected|`paymentOptionSelected`} event. - * @property {string} paymentOption The payment option view selected. Either `card`, `paypal`, or `paypalCredit`. - */ - -/** - * @class - * @param {object} options For create options, see {@link module:braintree-web-drop-in|dropin.create}. - * @description Do not use this constructor directly. Use {@link module:braintree-web-drop-in|dropin.create} instead. - * @classdesc This class represents a Drop-in component, that will create a pre-made UI for accepting cards and PayPal on your page. Instances of this class have methods for requesting a payment method and subscribing to events. For more information, see the [Drop-in guide](https://developers.braintreepayments.com/guides/drop-in/javascript/v3) in the Braintree Developer Docs. To be used in conjunction with the [Braintree Server SDKs](https://developers.braintreepayments.com/start/hello-server/). - */ -function Dropin(options) { - this._client = options.client; - this._componentID = uuid(); - this._dropinWrapper = document.createElement('div'); - this._dropinWrapper.id = 'braintree--dropin__' + this._componentID; - this._dropinWrapper.setAttribute('data-braintree-id', 'wrapper'); - this._dropinWrapper.style.display = 'none'; - this._dropinWrapper.className = 'braintree-loading'; - this._merchantConfiguration = options.merchantConfiguration; - - EventEmitter.call(this); -} - -Dropin.prototype = Object.create(EventEmitter.prototype, { - constructor: Dropin -}); - -Dropin.prototype._initialize = function (callback) { - var localizedStrings, localizedHTML; - var self = this; - var container = self._merchantConfiguration.container || self._merchantConfiguration.selector; - - self._injectStylesheet(); - - if (!container) { - analytics.sendEvent(self._client, 'configuration-error'); - callback(new DropinError('options.container is required.')); - - return; - } else if (self._merchantConfiguration.container && self._merchantConfiguration.selector) { - analytics.sendEvent(self._client, 'configuration-error'); - callback(new DropinError('Must only have one options.selector or options.container.')); - - return; - } - - if (typeof container === 'string') { - container = document.querySelector(container); - } - - if (!container || container.nodeType !== 1) { - analytics.sendEvent(self._client, 'configuration-error'); - callback(new DropinError('options.selector or options.container must reference a valid DOM node.')); - - return; - } - - if (container.innerHTML.trim()) { - analytics.sendEvent(self._client, 'configuration-error'); - callback(new DropinError('options.selector or options.container must reference an empty DOM node.')); - - return; - } - - // Backfill with `en` - self._strings = assign({}, translations.en); - if (self._merchantConfiguration.locale) { - localizedStrings = translations[self._merchantConfiguration.locale] || translations[self._merchantConfiguration.locale.split('_')[0]]; - // Fill `strings` with `localizedStrings` that may exist - self._strings = assign(self._strings, localizedStrings); - } - - if (!isUtf8()) { - // non-utf-8 encodings often don't support the bullet character - self._strings.endingIn = self._strings.endingIn.replace(/•/g, '*'); - } - - if (self._merchantConfiguration.translations) { - Object.keys(self._merchantConfiguration.translations).forEach(function (key) { - self._strings[key] = sanitizeHtml(self._merchantConfiguration.translations[key]); - }); - } - - localizedHTML = Object.keys(self._strings).reduce(function (result, stringKey) { - var stringValue = self._strings[stringKey]; - - return result.replace(RegExp('{{' + stringKey + '}}', 'g'), stringValue); - }, mainHTML); - - self._dropinWrapper.innerHTML = svgHTML + localizedHTML; - container.appendChild(self._dropinWrapper); - - self._model = new DropinModel({ - client: self._client, - componentID: self._componentID, - merchantConfiguration: self._merchantConfiguration - }); - - self._model.initialize().then(function () { - self._model.on('cancelInitialization', function (err) { - self._dropinWrapper.innerHTML = ''; - analytics.sendEvent(self._client, 'load-error'); - callback(err); - }); - - self._model.on('asyncDependenciesReady', function () { - if (self._model.dependencySuccessCount >= 1) { - analytics.sendEvent(self._client, 'appeared'); - self._disableErroredPaymentMethods(); - - self._handleAppSwitch(); - - callback(null, self); - } else { - self._model.cancelInitialization(new DropinError('All payment options failed to load.')); - } - }); - - self._model.on('paymentMethodRequestable', function (event) { - self._emit('paymentMethodRequestable', event); - }); - - self._model.on('noPaymentMethodRequestable', function () { - self._emit('noPaymentMethodRequestable'); - }); - - self._model.on('paymentOptionSelected', function (event) { - self._emit('paymentOptionSelected', event); - }); - - return self._setUpDependenciesAndViews(); - }).catch(function (err) { - self.teardown().then(function () { - callback(err); - }); - }); -}; - -/** - * Modify your configuration intially set in {@link module:braintree-web-drop-in|`dropin.create`}. - * - * If `updateConfiguration` is called after a user completes the PayPal authorization flow, any PayPal accounts not stored in the Vault record will be removed. - * @public - * @param {string} property The top-level property to update. Either `paypal`, `paypalCredit`, `applePay`, or `googlePay`. - * @param {string} key The key of the property to update, such as `amount` or `currency`. - * @param {any} value The value of the property to update. Must be the type of the property specified in {@link module:braintree-web-drop-in|`dropin.create`}. - * @returns {void} - * @example - * dropinInstance.updateConfiguration('paypal', 'amount', '10.00'); - */ -Dropin.prototype.updateConfiguration = function (property, key, value) { - var view; - - if (UPDATABLE_CONFIGURATION_OPTIONS.indexOf(property) === -1) { - return; - } - - if (property === 'threeDSecure') { - if (this._threeDSecure) { - this._threeDSecure.updateConfiguration(key, value); - } - - return; - } - - view = this._mainView.getView(property); - - if (!view) { - return; - } - - view.updateConfiguration(key, value); - - if (UPDATABLE_CONFIGURATION_OPTIONS_THAT_REQUIRE_UNVAULTED_PAYMENT_METHODS_TO_BE_REMOVED.indexOf(property) === -1) { - return; - } - - this._removeUnvaultedPaymentMethods(function (paymentMethod) { - return paymentMethod.type === constants.paymentMethodTypes[property]; - }); - this._navigateToInitialView(); -}; - -/** - * Removes the currently selected payment method and returns the customer to the payment options view. Does not remove vaulted payment methods. - * @public - * @returns {void} - * @example - * dropinInstance.requestPaymentMethod(function (requestPaymentMethodError, payload) { - * if (requestPaymentMethodError) { - * // handle errors - * return; - * } - * - * functionToSendNonceToServer(payload.nonce, function (transactionError, response) { - * if (transactionError) { - * // transaction sale with selected payment method failed - * // clear the selected payment method and add a message - * // to the checkout page about the failure - * dropinInstance.clearSelectedPaymentMethod(); - * divForErrorMessages.textContent = 'my error message about entering a different payment method.'; - * } else { - * // redirect to success page - * } - * }); - * }); - */ -Dropin.prototype.clearSelectedPaymentMethod = function () { - this._removeUnvaultedPaymentMethods(); - this._model.removeActivePaymentMethod(); - - if (this._model.getPaymentMethods().length === 0) { - this._navigateToInitialView(); - - return; - } - - this._mainView.showLoadingIndicator(); - - this._model.refreshPaymentMethods().then(function () { - this._navigateToInitialView(); - this._mainView.hideLoadingIndicator(); - }.bind(this)); -}; - -Dropin.prototype._setUpDataCollector = function () { - var self = this; - var config = assign({}, self._merchantConfiguration.dataCollector, {client: self._client}); - - this._model.asyncDependencyStarting(); - this._dataCollector = new DataCollector(config); - - this._dataCollector.initialize().then(function () { - self._model.asyncDependencyReady(); - }).catch(function (err) { - self._model.cancelInitialization(new DropinError({ - message: 'Data Collector failed to set up.', - braintreeWebError: err - })); - }); -}; - -Dropin.prototype._setUpThreeDSecure = function () { - var self = this; - var config = assign({}, this._merchantConfiguration.threeDSecure); - - this._model.asyncDependencyStarting(); - - this._threeDSecure = new ThreeDSecure(this._client, config, this._strings.cardVerification); - - this._threeDSecure.initialize().then(function () { - self._model.asyncDependencyReady(); - }).catch(function (err) { - self._model.cancelInitialization(new DropinError({ - message: '3D Secure failed to set up.', - braintreeWebError: err - })); - }); -}; - -Dropin.prototype._setUpDependenciesAndViews = function () { - if (this._merchantConfiguration.dataCollector) { - this._setUpDataCollector(); - } - - if (this._merchantConfiguration.threeDSecure) { - this._setUpThreeDSecure(); - } - - this._mainView = new MainView({ - client: this._client, - element: this._dropinWrapper, - model: this._model, - strings: this._strings - }); -}; - -Dropin.prototype._removeUnvaultedPaymentMethods = function (filter) { - filter = filter || function () { return true; }; - - this._model.getPaymentMethods().forEach(function (paymentMethod) { - if (filter(paymentMethod) && !paymentMethod.vaulted) { - this._model.removePaymentMethod(paymentMethod); - } - }.bind(this)); -}; - -Dropin.prototype._navigateToInitialView = function () { - var hasNoSavedPaymentMethods, hasOnlyOneSupportedPaymentOption; - var isOnMethodsView = this._mainView.primaryView.ID === paymentMethodsViewID; - - if (isOnMethodsView) { - hasNoSavedPaymentMethods = this._model.getPaymentMethods().length === 0; - - if (hasNoSavedPaymentMethods) { - hasOnlyOneSupportedPaymentOption = this._model.supportedPaymentOptions.length === 1; - - if (hasOnlyOneSupportedPaymentOption) { - this._mainView.setPrimaryView(this._model.supportedPaymentOptions[0]); - } else { - this._mainView.setPrimaryView(paymentOptionsViewID); - } - } - } -}; - -Dropin.prototype._supportsPaymentOption = function (paymentOption) { - return this._model.supportedPaymentOptions.indexOf(paymentOption) !== -1; -}; - -Dropin.prototype._disableErroredPaymentMethods = function () { - var paymentMethodOptionsElements; - var failedDependencies = Object.keys(this._model.failedDependencies); - - if (failedDependencies.length === 0) { - return; - } - - paymentMethodOptionsElements = this._mainView.getOptionsElements(); - - failedDependencies.forEach(function (paymentMethodId) { - var element = paymentMethodOptionsElements[paymentMethodId]; - var div = element.div; - var clickHandler = element.clickHandler; - var error = this._model.failedDependencies[paymentMethodId]; - var errorMessageDiv = div.querySelector('.braintree-option__disabled-message'); - - classlist.add(div, 'braintree-disabled'); - div.removeEventListener('click', clickHandler); - errorMessageDiv.innerHTML = constants.errors.DEVELOPER_MISCONFIGURATION_MESSAGE; - console.error(error); // eslint-disable-line no-console - }.bind(this)); -}; - -Dropin.prototype._handleAppSwitch = function () { - if (this._model.appSwitchError) { - this._mainView.setPrimaryView(this._model.appSwitchError.id); - this._model.reportError(this._model.appSwitchError.error); - } else if (this._model.appSwitchPayload) { - this._model.addPaymentMethod(this._model.appSwitchPayload); - } -}; - -/** - * Requests a payment method object which includes the payment method nonce used by by the [Braintree Server SDKs](https://developers.braintreepayments.com/start/hello-server/). - * - * If a payment method is not available, an error will appear in the UI. When a callback is used, an error will be passed to it. If no callback is used, the returned Promise will be rejected with an error. - * @public - * @param {callback} [callback] The first argument will be an error if no payment method is available and will otherwise be null. The second argument will be an object containing a payment method nonce; either a {@link Dropin~cardPaymentMethodPayload|cardPaymentMethodPayload}, a {@link Dropin~paypalPaymentMethodPayload|paypalPaymentMethodPayload}, a {@link Dropin~venmoPaymentMethodPayload|venmoPaymentMethodPayload}, a {@link Dropin~googlePayPaymentMethodPayload|googlePayPaymentMethodPayload} or an {@link Dropin~applePayPaymentMethodPayload|applePayPaymentMethodPayload}. If no callback is provided, `requestPaymentMethod` will return a promise. - * @returns {void|Promise} Returns a promise if no callback is provided. - * @example Requesting a payment method - * var form = document.querySelector('#my-form'); - * var hiddenNonceInput = document.querySelector('#my-nonce-input'); - * - * form.addEventListener('submit', function (event) { - * event.preventDefault(); - * - * dropinInstance.requestPaymentMethod(function (err, payload) { - * if (err) { - * // handle error - * return; - * } - * hiddenNonceInput.value = payload.nonce; - * form.submit(); - * }); - * }); - * @example Requesting a payment method with data collector - * var form = document.querySelector('#my-form'); - * var hiddenNonceInput = document.querySelector('#my-nonce-input'); - * var hiddenDeviceDataInput = document.querySelector('#my-device-data-input'); - * - * form.addEventListener('submit', function (event) { - * event.preventDefault(); - * - * dropinInstance.requestPaymentMethod(function (err, payload) { - * if (err) { - * // handle error - * return; - * } - * hiddenNonceInput.value = payload.nonce; - * hiddenDeviceDataInput.value = payload.deviceData; - * form.submit(); - * }); - * }); - * - * @example Requesting a payment method with 3D Secure - * var form = document.querySelector('#my-form'); - * var hiddenNonceInput = document.querySelector('#my-nonce-input'); - * - * form.addEventListener('submit', function (event) { - * event.preventDefault(); - * - * dropinInstance.requestPaymentMethod(function (err, payload) { - * if (err) { - * // Handle error - * return; - * } - * - * if (payload.liabilityShifted || payload.type !== 'CreditCard') { - * hiddenNonceInput.value = payload.nonce; - * form.submit(); - * } else { - * // Decide if you will force the user to enter a different payment method - * // if liablity was not shifted - * dropinInstance.clearSelectedPaymentMethod(); - * } - * }); - * }); - */ -Dropin.prototype.requestPaymentMethod = function () { - return this._mainView.requestPaymentMethod().then(function (payload) { - if (this._threeDSecure && payload.type === constants.paymentMethodTypes.card && payload.liabilityShifted == null) { - return this._threeDSecure.verify(payload.nonce).then(function (newPayload) { - payload.nonce = newPayload.nonce; - payload.liabilityShifted = newPayload.liabilityShifted; - payload.liabilityShiftPossible = newPayload.liabilityShiftPossible; - - return payload; - }); - } - - return payload; - }.bind(this)).then(function (payload) { - if (this._dataCollector) { - payload.deviceData = this._dataCollector.getDeviceData(); - } - - return payload; - }.bind(this)).then(function (payload) { - return formatPaymentMethodPayload(payload); - }); -}; - -Dropin.prototype._removeStylesheet = function () { - var stylesheet = document.getElementById(constants.STYLESHEET_ID); - - if (stylesheet) { - stylesheet.parentNode.removeChild(stylesheet); - } -}; - -Dropin.prototype._injectStylesheet = function () { - var stylesheetUrl, assetsUrl; - - if (document.getElementById(constants.STYLESHEET_ID)) { return; } - - assetsUrl = this._client.getConfiguration().gatewayConfiguration.assetsUrl; - stylesheetUrl = assetsUrl + '/web/dropin/' + VERSION + '/css/dropin.css'; - - assets.loadStylesheet({ - href: stylesheetUrl, - id: constants.STYLESHEET_ID - }); -}; - -/** - * Cleanly remove anything set up by {@link module:braintree-web-drop-in|dropin.create}. This may be be useful in a single-page app. - * @public - * @param {callback} [callback] Called on completion, containing an error if one occurred. No data is returned if teardown completes successfully. If no callback is provided, `teardown` will return a promise. - * @returns {void|Promise} Returns a promise if no callback is provided. - */ -Dropin.prototype.teardown = function () { - var teardownError; - var promise = Promise.resolve(); - var self = this; - - this._removeStylesheet(); - - if (this._mainView) { - promise.then(function () { - return self._mainView.teardown().catch(function (err) { - teardownError = err; - }); - }); - } - - if (this._dataCollector) { - promise.then(function () { - return this._dataCollector.teardown().catch(function (error) { - teardownError = new DropinError({ - message: 'Drop-in errored tearing down Data Collector.', - braintreeWebError: error - }); - }); - }.bind(this)); - } - - if (this._threeDSecure) { - promise.then(function () { - return this._threeDSecure.teardown().catch(function (error) { - teardownError = new DropinError({ - message: 'Drop-in errored tearing down 3D Secure.', - braintreeWebError: error - }); - }); - }.bind(this)); - } - - return promise.then(function () { - return self._removeDropinWrapper(); - }).then(function () { - if (teardownError) { - return Promise.reject(teardownError); - } - - return Promise.resolve(); - }); -}; - -/** - * Returns a boolean indicating if a payment method is available through {@link Dropin#requestPaymentMethod|requestPaymentMethod}. Particularly useful for detecting if using a client token with a customer ID to show vaulted payment methods. - * @public - * @returns {Boolean} True if a payment method is available, otherwise false. - */ -Dropin.prototype.isPaymentMethodRequestable = function () { - return this._model.isPaymentMethodRequestable(); -}; - -Dropin.prototype._removeDropinWrapper = function () { - this._dropinWrapper.parentNode.removeChild(this._dropinWrapper); - - return Promise.resolve(); -}; - -function formatPaymentMethodPayload(paymentMethod) { - var formattedPaymentMethod = { - nonce: paymentMethod.nonce, - details: paymentMethod.details, - type: paymentMethod.type - }; - - if (paymentMethod.vaulted != null) { - formattedPaymentMethod.vaulted = paymentMethod.vaulted; - } - - if (paymentMethod.type === constants.paymentMethodTypes.card) { - formattedPaymentMethod.description = paymentMethod.description; - } - - if (paymentMethod.type === constants.paymentMethodTypes.googlePay) { - formattedPaymentMethod.details.rawPaymentData = paymentMethod.rawPaymentData; - } - - if (typeof paymentMethod.liabilityShiftPossible === 'boolean') { - formattedPaymentMethod.liabilityShifted = paymentMethod.liabilityShifted; - formattedPaymentMethod.liabilityShiftPossible = paymentMethod.liabilityShiftPossible; - } - - if (paymentMethod.deviceData) { - formattedPaymentMethod.deviceData = paymentMethod.deviceData; - } - - if (paymentMethod.binData) { - formattedPaymentMethod.binData = paymentMethod.binData; - } - - return formattedPaymentMethod; -} - -module.exports = wrapPrototype(Dropin); - -},{"./constants":117,"./dropin-model":118,"./lib/analytics":122,"./lib/assets":123,"./lib/assign":124,"./lib/classlist":126,"./lib/data-collector":128,"./lib/dropin-error":129,"./lib/event-emitter":130,"./lib/is-utf-8":134,"./lib/promise":137,"./lib/sanitize-html":138,"./lib/three-d-secure":140,"./lib/uuid":142,"./translations":152,"./views/main-view":169,"./views/payment-methods-view":171,"./views/payment-options-view":172,"@braintree/wrap-promise":21}],120:[function(require,module,exports){ -'use strict'; -/** - * @module braintree-web-drop-in - * @description There are two ways to integrate Drop-in into your page: a script tag integration and a JavaScript integration using [`dropin.create`](#.create). - * - * The script tag integration is the fastest way to integrate. All you need to do is add the Drop-in script inside your form element where you want Drop-in to appear and include a `data-braintree-dropin-authorization` property with your [tokenization key](https://developers.braintreepayments.com/guides/authorization/tokenization-key/javascript/v3) or [client token](https://developers.braintreepayments.com/guides/authorization/client-token). - * - * When your form is submitted, Drop-in will intercept the form submission and attempt to tokenize the payment method. If the tokenization is successful, it will insert the payment method nonce into a hidden input with the name `payment_method_nonce` and then submit your form. If the tokenization is unsuccessful, a relevant error will be shown in the UI. - * - * If you have data collector enabled, the device data will be injected into a hidden input with the name `device_data` before form submission. - * - * Specify creation options as data attributes in your script tag, as shown in the examples below. The following configuration properties may be set: - * - * * `data-locale` - * * `data-card.cardholder-name.required` - * * `data-payment-option-priority` - * * `data-data-collector.kount` - * * `data-data-collector.paypal` - * * `data-paypal.amount` - * * `data-paypal.currency` - * * `data-paypal.flow` - * * `data-paypal-credit.amount` - * * `data-paypal-credit.currency` - * * `data-paypal-credit.flow` - * - * For more control and customization, use [`dropin.create` instead](#.create). - * - * See our [demo app](../../script-tag-integration.html) for an example of using our script tag integration. - * - * @example - * A full example accepting only cards - * - * - * - * - * Checkout - * - * - *
- * - * - *
- * - * - * - * @example - * A full example accepting cards, PayPal, and PayPal credit - * - * - * - * - * Checkout - * - * - *
- * - * - *
- * - * - * - * @example - * Specifying a locale and payment option priority - *
- * - * - *
- * - * @example - * Including an optional cardholder name field in card form - *
- * - * - *
- * - * @example - * Including a required cardholder name field in card form - *
- * - * - *
- */ - -var Dropin = require('./dropin'); -var client = require('braintree-web/client'); -var createFromScriptTag = require('./lib/create-from-script-tag'); -var constants = require('./constants'); -var analytics = require('./lib/analytics'); -var DropinError = require('./lib/dropin-error'); -var Promise = require('./lib/promise'); -var wrapPromise = require('@braintree/wrap-promise'); - -var VERSION = "1.13.0"; - -/** - * @typedef {object} cardCreateOptions The configuration options for cards. Internally, Drop-in uses [Hosted Fields](http://braintree.github.io/braintree-web/{@pkg bt-web-version}/module-braintree-web_hosted-fields.html) to render the card form. The `overrides.fields` and `overrides.styles` allow the Hosted Fields to be customized. - * - * @param {boolean|object} [cardholderName] Will enable a cardholder name field above the card number field. If set to an object, you can specify whether or not the field is required. If set to a `true`, it will default the field to being present, but not required. - * @param {boolean} [cardholderName.required=false] When true, the cardholder name field will be required to request the payment method nonce. - * @param {object} [overrides.fields] The Hosted Fields [`fields` options](http://braintree.github.io/braintree-web/{@pkg bt-web-version}/module-braintree-web_hosted-fields.html#~fieldOptions). Only `number`, `cvv`, `expirationDate` and `postalCode` can be configured. Each is a [Hosted Fields `field` object](http://braintree.github.io/braintree-web/{@pkg bt-web-version}/module-braintree-web_hosted-fields.html#~field). `selector` cannot be modified. - * @param {object} [overrides.styles] The Hosted Fields [`styles` options](http://braintree.github.io/braintree-web/{@pkg bt-web-version}/module-braintree-web_hosted-fields.html#~styleOptions). - * @param {boolean} [clearFieldsAfterTokenization=true] When false, the card form will not clear the card data when the customer returns to the card view after a succesful tokenization. - */ - -/** - * @typedef {object} dataCollectorOptions The configuration options for Data Collector. Requires [advanced fraud protection](https://developers.braintreepayments.com/guides/advanced-fraud-tools/client-side/javascript/v3) to be enabled in the Braintree gateway. Contact our [support team](https://developers.braintreepayments.com/forms/contact) to configure your Kount ID. The device data will be included on the {@link Dropin#requestPaymentMethod|requestPaymentMethod payload}. - * - * @param {boolean} [kount] If true, Kount fraud data collection is enabled. Required if `paypal` parameter is not used. - * @param {boolean} [paypal] If true, PayPal fraud data collection is enabled. Required if `kount` parameter is not used. - */ - -/** - * @typedef {object} threeDSecureOptions The configuration options for 3D Secure. Requires [3D Secure](https://developers.braintreepayments.com/guides/3d-secure/overview) to be enabled in the Braintree gateway. The liability shift information will be included on the {@link Dropin#requestPaymentMethod|requestPaymentMethod payload}. - * - * @param {string} amount The amount to verify with 3D Secure. - */ - -/** @typedef {object} paypalCreateOptions The configuration options for PayPal and PayPalCredit. For a full list of options see the [PayPal Checkout client reference options](http://braintree.github.io/braintree-web/{@pkg bt-web-version}/PayPalCheckout.html#createPayment). - * - * @param {string} flow Either `checkout` for a one-time [Checkout with PayPal](https://developers.braintreepayments.com/guides/paypal/checkout-with-paypal/javascript/v3) flow or `vault` for a [Vault flow](https://developers.braintreepayments.com/guides/paypal/vault/javascript/v3). Required when using PayPal or PayPal Credit. - * @param {string|number} [amount] The amount of the transaction. Required when using the Checkout flow. - * @param {string} [currency] The currency code of the amount, such as `USD`. Required when using the Checkout flow. - * @param {string} [buttonStyle] The style object to apply to the PayPal button. Button customization includes color, shape, size, and label. The options [found here](https://developer.paypal.com/docs/integration/direct/express-checkout/integration-jsv4/customize-button/#button-styles) are available. - * @param {boolean} [commit] The user action to show on the PayPal review page. If true, a `Pay Now` button will be shown. If false, a `Continue` button will be shown. - */ - -/** @typedef {object} applePayCreateOptions The configuration options for Apple Pay. - * - * @param {string} [buttonStyle=black] Configures the Apple Pay button style. Valid values are `black`, `white`, `white-outline`. - * @param {string} displayName The canonical name for your store. Use a non-localized name. This parameter should be a UTF-8 string that is a maximum of 128 characters. The system may display this name to the user. - * @param {external:ApplePayPaymentRequest} paymentRequest The payment request details to apply on top of those from Braintree. - */ - -/** @typedef {object} googlePayCreateOptions The configuration options for Google Pay. Additional options from the few listed here are available, many have default values applied based on the settings found in the Braintree Gateway. For more information, see [Google's Documentation](https://developers.google.com/pay/api/web/object-reference#request-objects). - * - * @param {string} merchantId The ID provided by Google for processing transactions in production. Not necessary for testing in sandbox. - * @param {external:GooglePayTransactionInfo} transactionInfo The transaction details necessary for processing the payment. - */ - -/** - * @typedef {object} ApplePayPaymentRequest An [Apple Pay Payment Request object](https://developer.apple.com/reference/applepayjs/1916082-applepay_js_data_types/paymentrequest). - * @external ApplePayPaymentRequest - * @see {@link https://developer.apple.com/reference/applepayjs/1916082-applepay_js_data_types/paymentrequest PaymentRequest} - */ - -/** - * @typedef {object} GooglePayTransactionInfo A [Google Pay TransactionInfo object](https://developers.google.com/pay/api/web/object-reference#TransactionInfo). - * @external GooglePayTransactionInfo - * @see {@link https://developers.google.com/pay/api/web/object-reference#TransactionInfo TransactionInfo} - */ - -/** @typedef {object|boolean} venmoCreateOptions The configuration options for Venmo. If `true` is passed instead of a configuration object, the default settings listed will be used. - * - * @param {boolean} [allowNewBrowserTab=true] If false, it restricts supported browsers to those that can app switch to the Venmo app without opening a new tab. - */ - -/** - * @static - * @function create - * @description This function is the entry point for `braintree.dropin`. It is used for creating {@link Dropin} instances. - * @param {object} options Object containing all {@link Dropin} options: - * @param {string} options.authorization A [tokenization key](https://developers.braintreepayments.com/guides/authorization/tokenization-key/javascript/v3) or a [client token](https://developers.braintreepayments.com/guides/authorization/client-token). If authorization is a client token created with a [customer ID](https://developers.braintreepayments.com/guides/drop-in/javascript/v3#customer-id), Drop-in will render saved payment methods and automatically store any newly-added payment methods in their Vault record. - * @param {string|HTMLElement} options.container A reference to an empty element, such as a `
`, where Drop-in will be included on your page or the selector for the empty element. e.g. `#dropin-container`. - * @param {string} options.selector Deprecated: Now an alias for `options.container`. - * @param {string} [options.locale=`en_US`] Use this option to change the language, links, and terminology used throughout Drop-in. Supported locales include: - * `da_DK`, - * `de_DE`, - * `en_AU`, - * `en_GB`, - * `en_US`, - * `es_ES`, - * `fr_CA`, - * `fr_FR`, - * `id_ID`, - * `it_IT`, - * `ja_JP`, - * `ko_KR`, - * `nl_NL`, - * `no_NO`, - * `pl_PL`, - * `pt_BR`, - * `pt_PT`, - * `ru_RU`, - * `sv_SE`, - * `th_TH`, - * `zh_CN`, - * `zh_HK`, - * `zh_TW`. - * - * @param {object} [options.translations] To use your own translations, pass an object with the strings you wish to replace. This object must use the same structure as the object used internally for supported translations, which can be found [here](https://github.com/braintree/braintree-web-drop-in/blob/master/src/translations/en_US.js). Any strings that are not included will be those from the provided `locale` or `en_US` if no `locale` is provided. See below for an example of creating Drop-in with custom translations. - * @param {array} [options.paymentOptionPriority] Use this option to indicate the order in which enabled payment options should appear when multiple payment options are enabled. By default, payment options will appear in this order: `['card', 'paypal', 'paypalCredit', 'venmo', 'applePay']`. Payment options omitted from this array will not be offered to the customer. - * - * @param {object} [options.card] The configuration options for cards. See [`cardCreateOptions`](#~cardCreateOptions) for all `card` options. If this option is omitted, cards will still appear as a payment option. To remove cards as a payment option, use `paymentOptionPriority`. - * @param {object} [options.paypal] The configuration options for PayPal. To include a PayPal option in your Drop-in integration, include the `paypal` parameter and [enable PayPal in the Braintree Control Panel](https://developers.braintreepayments.com/guides/paypal/testing-go-live/#go-live). To test in Sandbox, you will need to [link a PayPal sandbox test account to your Braintree sandbox account](https://developers.braintreepayments.com/guides/paypal/testing-go-live/#linked-paypal-testing). - * - * Some of the PayPal configuration options are listed [here](#~paypalCreateOptions), but for a full list see the [PayPal Checkout client reference options](http://braintree.github.io/braintree-web/{@pkg bt-web-version}/PayPalCheckout.html#createPayment). - * - * PayPal is not [supported in Internet Explorer versions lower than 11](https://developer.paypal.com/docs/checkout/reference/faq/#which-browsers-does-paypal-checkout-support). - * - * @param {object} [options.paypalCredit] The configuration options for PayPal Credit. To include a PayPal Credit option in your Drop-in integration, include the `paypalCredit` parameter and [enable PayPal in the Braintree Control Panel](https://developers.braintreepayments.com/guides/paypal/testing-go-live/#go-live). - * - * Some of the PayPal Credit configuration options are listed [here](#~paypalCreateOptions), but for a full list see the [PayPal Checkout client reference options](http://braintree.github.io/braintree-web/{@pkg bt-web-version}/PayPalCheckout.html#createPayment). For more information on PayPal Credit, see the [Braintree Developer Docs](https://developers.braintreepayments.com/guides/paypal/paypal-credit/javascript/v3). - * - * PayPal Credit is not [supported in Internet Explorer versions lower than 11](https://developer.paypal.com/docs/checkout/reference/faq/#which-browsers-does-paypal-checkout-support). - * - * @param {object|boolean} [options.venmo] The configuration options for Pay with Venmo. To include a Venmo option in your Drop-in integration, include the `venmo` parameter and [follow the documentation for setting up Venmo in the Braintree control panel](https://articles.braintreepayments.com/guides/payment-methods/venmo#setup). If a user's browser does not support Venmo, the Venmo option will not be rendered. - * - * See [`venmoCreateOptions`](#~venmoCreateOptions) for `venmo` options. - * - * @param {object} [options.applePay] The configuration options for Apple Pay. To include an Apple Pay option in your Drop-in integration, include the `applePay` parameter and [enable Apple Pay in the Braintree Control Panel](https://developers.braintreepayments.com/guides/apple-pay/configuration/javascript/v3). If a user's browser does not support Apple Pay, the Apple Pay option will not be rendered. See [Apple's documentation](https://support.apple.com/en-us/HT201469) for browser and device support. - * - * See [`applePayCreateOptions`](#~applePayCreateOptions) for `applePay` options. - * - * @param {object} [options.googlePay] The configuration options for Google Pay. To include a Google Pay option in your Drop-in integration, include the `googlePay` parameter and [enable Google Pay in the Braintree Control Panel](https://developers.braintreepayments.com/guides/google-pay/configuration/javascript/v3). If a user's browser does not support Google Pay, the Google Pay option will not be rendered. See [Google's documentation](https://developers.google.com/pay/api/web/test-and-deploy) for browser and device support. - * - * See [`googlePayCreateOptions`](#~googlePayCreateOptions) for `googlePay` options. - * - * @param {object} [options.dataCollector] The configuration options for data collector. See [`dataCollectorOptions`](#~dataCollectorOptions) for all `dataCollector` options. If Data Collector is configured and fails to load, Drop-in creation will fail. - * - * @param {object} [options.threeDSecure] The configuration options for 3D Secure. See [`threeDSecureOptions`](#~threeDSecureOptions) for all `threeDSecure` options. If 3D Secure is configured and fails to load, Drop-in creation will fail. - * - * @param {boolean} [options.vaultManager=false] Whether or not to allow a customer to delete saved payment methods when used with a [client token with a customer id](https://developers.braintreepayments.com/reference/request/client-token/generate/#customer_id). *Note:* Deleting a payment method from Drop-in will permanently delete the payment method, so this option is not recomended for merchants using Braintree's recurring billing system. This feature is not supported in Internet Explorer 9. - * - * @param {boolean} [options.preselectVaultedPaymentMethod=true] Whether or not to initialize Drop-in with a vaulted payment method pre-selected. Only applicable when using a [client token with a customer id](https://developers.braintreepayments.com/reference/request/client-token/generate/#customer_id) and a customer with saved payment methods. - * - * @param {function} [callback] The second argument, `data`, is the {@link Dropin} instance. Returns a promise if no callback is provided. - * @returns {void|Promise} Returns a promise if no callback is provided. - * @example - * A full example of accepting credit cards with callback API - * - * - * - * - * Checkout - * - * - *
- * - * - * - * - * - * - * - * @example - * A full example of accepting credit cards with promise API - * - * - * - * - * Checkout - * - * - *
- * - * - * - * - * - * - * - * @example - * Setting up a Drop-in instance to accept credit cards, PayPal, PayPal Credit, Venmo, and Apple Pay - * braintree.dropin.create({ - * authorization: 'CLIENT_AUTHORIZATION', - * container: '#dropin-container', - * applePay: { - * displayName: 'Merchant Name', - * paymentRequest: { - * label: 'Localized Name', - * total: '10.00' - * } - * }, - * paypal: { - * flow: 'checkout', - * amount: '10.00', - * currency: 'USD' - * }, - * paypalCredit: { - * flow: 'checkout', - * amount: '10.00', - * currency: 'USD' - * }, - * venmo: true - * }, function (err, dropinInstance) { - * // Set up a handler to request a payment method and - * // submit the payment method nonce to your server - * }); - * @example - * Setting up a Drop-in instance to accept Venmo with restricted browser support - * braintree.dropin.create({ - * authorization: 'CLIENT_AUTHORIZATION', - * container: '#dropin-container', - * venmo: { - * allowNewBrowserTab: false - * } - * }, function (err, dropinInstance) { - * // Set up a handler to request a payment method and - * // submit the payment method nonce to your server - * }); - * - * @example - * Submitting the payment method nonce to the server using a form - * - * - * - * - * Checkout - * - * - *
- *
- * - * - *
- * - * - * - * - * - * - * - * @example - * Use your own translations - * braintree.dropin.create({ - * authorization: 'CLIENT_AUTHORIZATION', - * container: '#dropin-container', - * translations: { - * payingWith: 'You are paying with {{paymentSource}}', - * chooseAnotherWayToPay: 'My custom chooseAnotherWayToPay string', - * // Any other custom translation strings - * } - * }, callback); - * - * @example - * Customizing Drop-in with card form overrides - * braintree.dropin.create({ - * authorization: 'CLIENT_AUTHORIZATION', - * container: '#dropin-container', - * card: { - * overrides: { - * fields: { - * number: { - * placeholder: '1111 1111 1111 1111' // Update the number field placeholder - * }, - * postalCode: { - * minlength: 5 // Set the minimum length of the postal code field - * }, - * cvv: null // Remove the CVV field from your form - * }, - * styles: { - * input: { - * 'font-size': '18px' // Change the font size for all inputs - * }, - * ':focus': { - * color: 'red' // Change the focus color to red for all inputs - * } - * } - * } - * } - * }, callback); - * - * @example - * Mask Card Inputs - * braintree.dropin.create({ - * authorization: 'CLIENT_AUTHORIZATION', - * container: '#dropin-container', - * card: { - * overrides: { - * fields: { - * number: { - * maskInput: { - * showLastFour: true - * } - * }, - * cvv: { - * maskInput: true - * } - * } - * } - * } - * }, callback); - * - * @example - * Including a cardholder name field - * braintree.dropin.create({ - * authorization: 'CLIENT_AUTHORIZATION', - * container: '#dropin-container', - * card: { - * cardholderName: true - * } - * }, callback); - * - * @example - * Including a required cardholder name field - * braintree.dropin.create({ - * authorization: 'CLIENT_AUTHORIZATION', - * container: '#dropin-container', - * card: { - * cardholderName: { - * required: true - * } - * } - * }, callback); - * - * @example - * Enabling 3D Secure - * braintree.dropin.create({ - * authorization: 'CLIENT_AUTHORIZATION', - * container: '#dropin-container', - * threeDSecure: { - * amount: '10.00' - * } - * }, callback); - * - * @example - * Enabled Vault Manager - * braintree.dropin.create({ - * authorization: 'CLIENT_AUTHORIZATION', - * container: '#dropin-container', - * vaultManager: true - * }, callback); - */ - -function create(options) { - if (!options.authorization) { - return Promise.reject(new DropinError('options.authorization is required.')); - } - - return client.create({ - authorization: options.authorization - }).catch(function (err) { - return Promise.reject(new DropinError({ - message: 'There was an error creating Drop-in.', - braintreeWebError: err - })); - }).then(function (clientInstance) { - clientInstance = setAnalyticsIntegration(clientInstance); - - if (clientInstance.getConfiguration().authorizationType === 'TOKENIZATION_KEY') { - analytics.sendEvent(clientInstance, 'started.tokenization-key'); - } else { - analytics.sendEvent(clientInstance, 'started.client-token'); - } - - return new Promise(function (resolve, reject) { - new Dropin({ - merchantConfiguration: options, - client: clientInstance - })._initialize(function (err, instance) { - if (err) { - reject(err); - - return; - } - - resolve(instance); - }); - }); - }); -} - -function setAnalyticsIntegration(clientInstance) { - var configuration = clientInstance.getConfiguration(); - - configuration.analyticsMetadata.integration = constants.INTEGRATION; - configuration.analyticsMetadata.integrationType = constants.INTEGRATION; - configuration.analyticsMetadata.dropinVersion = VERSION; - - clientInstance.getConfiguration = function () { - return configuration; - }; - - return clientInstance; -} - -// we check for document's existence to support server side rendering -createFromScriptTag(create, typeof document !== 'undefined' && document.querySelector('script[data-braintree-dropin-authorization]')); - -module.exports = { - create: wrapPromise(create), - /** - * @description The current version of Drop-in, i.e. `{@pkg version}`. - * @type {string} - */ - VERSION: VERSION -}; - -},{"./constants":117,"./dropin":119,"./lib/analytics":122,"./lib/create-from-script-tag":127,"./lib/dropin-error":129,"./lib/promise":137,"@braintree/wrap-promise":21,"braintree-web/client":30}],121:[function(require,module,exports){ -'use strict'; - -function addSelectionEventHandler(element, func) { - element.addEventListener('click', func); - element.addEventListener('keyup', function (event) { - if (event.keyCode === 13) { - func(); - } - }); -} - -module.exports = addSelectionEventHandler; - -},{}],122:[function(require,module,exports){ -'use strict'; - -var atob = require('./polyfill').atob; -var constants = require('../constants'); -var braintreeClientVersion = require('braintree-web/client').VERSION; - -function _millisToSeconds(millis) { - return Math.floor(millis / 1000); -} - -function sendAnalyticsEvent(client, kind, callback) { - var configuration = client.getConfiguration(); - var analyticsRequest = client._request; - var timestamp = _millisToSeconds(Date.now()); - var url = configuration.gatewayConfiguration.analytics.url; - var data = { - analytics: [{ - kind: constants.ANALYTICS_PREFIX + kind, - timestamp: timestamp - }], - _meta: configuration.analyticsMetadata, - braintreeLibraryVersion: braintreeClientVersion - }; - - if (configuration.authorizationType === 'TOKENIZATION_KEY') { - data.tokenizationKey = configuration.authorization; - } else { - data.authorizationFingerprint = JSON.parse(atob(configuration.authorization)).authorizationFingerprint; - } - - analyticsRequest({ - url: url, - method: 'post', - data: data, - timeout: constants.ANALYTICS_REQUEST_TIMEOUT_MS - }, callback); -} - -module.exports = { - sendEvent: sendAnalyticsEvent -}; - -},{"../constants":117,"./polyfill":136,"braintree-web/client":30}],123:[function(require,module,exports){ -'use strict'; - -var Promise = require('./promise'); - -function loadScript(options) { - var script = document.createElement('script'); - var attrs = options.dataAttributes || {}; - var container = options.container || document.head; - - script.src = options.src; - script.id = options.id; - script.async = true; - - Object.keys(attrs).forEach(function (key) { - script.setAttribute('data-' + key, attrs[key]); - }); - - return new Promise(function (resolve, reject) { - script.addEventListener('load', resolve); - script.addEventListener('error', function () { - reject(new Error(options.src + ' failed to load.')); - }); - script.addEventListener('abort', function () { - reject(new Error(options.src + ' has aborted.')); - }); - container.appendChild(script); - }); -} - -function loadStylesheet(options) { - var stylesheet = document.createElement('link'); - var container = options.container || document.head; - - stylesheet.setAttribute('rel', 'stylesheet'); - stylesheet.setAttribute('type', 'text/css'); - stylesheet.setAttribute('href', options.href); - stylesheet.setAttribute('id', options.id); - - if (container.firstChild) { - container.insertBefore(stylesheet, container.firstChild); - } else { - container.appendChild(stylesheet); - } -} - -module.exports = { - loadScript: loadScript, - loadStylesheet: loadStylesheet -}; - -},{"./promise":137}],124:[function(require,module,exports){ -arguments[4][63][0].apply(exports,arguments) -},{"dup":63}],125:[function(require,module,exports){ -'use strict'; - -var isIe9 = require('@braintree/browser-detection/is-ie9'); -var isIe10 = require('@braintree/browser-detection/is-ie10'); - -module.exports = { - isIe9: isIe9, - isIe10: isIe10 -}; - -},{"@braintree/browser-detection/is-ie10":5,"@braintree/browser-detection/is-ie9":7}],126:[function(require,module,exports){ -'use strict'; - -function _classesOf(element) { - return element.className.trim().split(/\s+/); -} - -function _hasClass(element, classname) { - return new RegExp('\\b' + classname + '\\b').test(element.className); -} - -function add(element) { - var toAdd = Array.prototype.slice.call(arguments, 1); - var className = _classesOf(element).filter(function (classname) { - return toAdd.indexOf(classname) === -1; - }).concat(toAdd).join(' '); - - element.className = className; -} - -function remove(element) { - var toRemove = Array.prototype.slice.call(arguments, 1); - var className = _classesOf(element).filter(function (classname) { - return toRemove.indexOf(classname) === -1; - }).join(' '); - - element.className = className; -} - -function toggle(element, classname, adding) { - if (arguments.length < 3) { - if (_hasClass(element, classname)) { - remove(element, classname); - } else { - add(element, classname); - } - } else if (adding) { - add(element, classname); - } else { - remove(element, classname); - } -} - -module.exports = { - add: add, - remove: remove, - toggle: toggle -}; - -},{}],127:[function(require,module,exports){ -'use strict'; - -var analytics = require('./analytics'); -var find = require('./find-parent-form'); -var uuid = require('./uuid'); -var DropinError = require('./dropin-error'); -var kebabCaseToCamelCase = require('./kebab-case-to-camel-case'); -var WHITELISTED_DATA_ATTRIBUTES = [ - 'locale', - 'payment-option-priority', - - 'data-collector.kount', - 'data-collector.paypal', - - // camelcase version was accidentally used initially. - // we add the kebab case version to match the docs, but - // we retain the camelcase version for backwards compatibility - 'card.cardholderName', - 'card.cardholderName.required', - 'card.cardholder-name', - 'card.cardholder-name.required', - - 'paypal.amount', - 'paypal.currency', - 'paypal.flow', - 'paypal.landing-page-type', - - 'paypal-credit.amount', - 'paypal-credit.currency', - 'paypal-credit.flow', - 'paypal-credit.landing-page-type' -]; - -function injectHiddenInput(name, value, form) { - var input = form.querySelector('[name="' + name + '"]'); - - if (!input) { - input = document.createElement('input'); - input.type = 'hidden'; - input.name = name; - form.appendChild(input); - } - - input.value = value; -} - -function addCompositeKeyValuePairToObject(obj, key, value) { - var decomposedKeys = key.split('.'); - var topLevelKey = kebabCaseToCamelCase(decomposedKeys[0]); - - if (decomposedKeys.length === 1) { - obj[topLevelKey] = deserialize(value); - } else { - obj[topLevelKey] = obj[topLevelKey] || {}; - addCompositeKeyValuePairToObject(obj[topLevelKey], decomposedKeys.slice(1).join('.'), value); - } -} - -function deserialize(value) { - try { - return JSON.parse(value); - } catch (e) { - return value; - } -} - -function createFromScriptTag(createFunction, scriptTag) { - var authorization, container, createOptions, form; - - if (!scriptTag) { - return; - } - - authorization = scriptTag.getAttribute('data-braintree-dropin-authorization'); - - if (!authorization) { - throw new DropinError('Authorization not found in data-braintree-dropin-authorization attribute'); - } - - container = document.createElement('div'); - container.id = 'braintree-dropin-' + uuid(); - - form = find.findParentForm(scriptTag); - - if (!form) { - throw new DropinError('No form found for script tag integration.'); - } - - form.addEventListener('submit', function (event) { - event.preventDefault(); - }); - - scriptTag.parentNode.insertBefore(container, scriptTag); - - createOptions = { - authorization: authorization, - container: container - }; - - WHITELISTED_DATA_ATTRIBUTES.forEach(function (compositeKey) { - var value = scriptTag.getAttribute('data-' + compositeKey); - - if (value == null) { - return; - } - - addCompositeKeyValuePairToObject(createOptions, compositeKey, value); - }); - - createFunction(createOptions).then(function (instance) { - analytics.sendEvent(instance._client, 'integration-type.script-tag'); - form.addEventListener('submit', function () { - instance.requestPaymentMethod(function (requestPaymentError, payload) { - if (requestPaymentError) { - return; - } - - injectHiddenInput('payment_method_nonce', payload.nonce, form); - - if (payload.deviceData) { - injectHiddenInput('device_data', payload.deviceData, form); - } - - form.submit(); - }); - }); - }); -} - -module.exports = createFromScriptTag; - -},{"./analytics":122,"./dropin-error":129,"./find-parent-form":131,"./kebab-case-to-camel-case":135,"./uuid":142}],128:[function(require,module,exports){ -(function (global){ -'use strict'; - -var constants = require('../constants'); -var assets = require('./assets'); -var Promise = require('./promise'); - -function DataCollector(config) { - this._config = config; -} - -DataCollector.prototype.initialize = function () { - var self = this; - - return Promise.resolve().then(function () { - var braintreeWebVersion; - - if (global.braintree && global.braintree.dataCollector) { - return Promise.resolve(); - } - - braintreeWebVersion = self._config.client.getVersion(); - - return assets.loadScript({ - src: 'https://js.braintreegateway.com/web/' + braintreeWebVersion + '/js/data-collector.min.js', - id: constants.DATA_COLLECTOR_SCRIPT_ID - }); - }).then(function () { - return global.braintree.dataCollector.create(self._config); - }).then(function (instance) { - self._instance = instance; - }); -}; - -DataCollector.prototype.getDeviceData = function () { - return this._instance.deviceData; -}; - -DataCollector.prototype.teardown = function () { - return this._instance.teardown(); -}; - -module.exports = DataCollector; - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"../constants":117,"./assets":123,"./promise":137}],129:[function(require,module,exports){ -'use strict'; - -function isBraintreeWebError(err) { - return err.name === 'BraintreeError'; -} - -function DropinError(err) { - this.name = 'DropinError'; - - if (typeof err === 'string') { - this.message = err; - } else { - this.message = err.message; - } - - if (isBraintreeWebError(err)) { - this._braintreeWebError = err; - } else { - this._braintreeWebError = err.braintreeWebError; - } -} - -DropinError.prototype = Object.create(Error.prototype); -DropinError.prototype.constructor = DropinError; - -module.exports = DropinError; - -},{}],130:[function(require,module,exports){ -arguments[4][79][0].apply(exports,arguments) -},{"dup":79}],131:[function(require,module,exports){ -'use strict'; - -function findParentForm(element) { - var parentNode = element.parentNode; - - if (!parentNode || parentNode.nodeName === 'FORM') { - return parentNode; - } - - return findParentForm(parentNode); -} - -module.exports = { - findParentForm: findParentForm -}; - -},{}],132:[function(require,module,exports){ -'use strict'; - -var atob = require('./polyfill').atob; - -module.exports = function (client) { - var authorizationFingerprint; - var configuration = client.getConfiguration(); - - if (configuration.authorizationType !== 'TOKENIZATION_KEY') { - authorizationFingerprint = JSON.parse(atob(configuration.authorization)).authorizationFingerprint; - - return !authorizationFingerprint || authorizationFingerprint.indexOf('customer_id=') === -1; - } - - return true; -}; - -},{"./polyfill":136}],133:[function(require,module,exports){ -(function (global){ -'use strict'; - -function isHTTPS() { - return global.location.protocol === 'https:'; -} - -module.exports = { - isHTTPS: isHTTPS -}; - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],134:[function(require,module,exports){ -(function (global){ -'use strict'; - -module.exports = function (win) { - win = win || global; - - return Boolean(win.document.characterSet && win.document.characterSet.toLowerCase() === 'utf-8'); -}; - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],135:[function(require,module,exports){ -'use strict'; - -function kebabCaseToCamelCase(kebab) { - var parts = kebab.split('-'); - var first = parts.shift(); - var capitalizedParts = parts.map(function (part) { - return part.charAt(0).toUpperCase() + part.substring(1); - }); - - return [first].concat(capitalizedParts).join(''); -} - -module.exports = kebabCaseToCamelCase; - -},{}],136:[function(require,module,exports){ -(function (global){ -'use strict'; -/* eslint-disable no-mixed-operators */ - -var atobNormalized = typeof global.atob === 'function' ? global.atob : atob; - -function atob(base64String) { - var a, b, c, b1, b2, b3, b4, i; - var base64Matcher = new RegExp('^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})([=]{1,2})?$'); - var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; - var result = ''; - - if (!base64Matcher.test(base64String)) { - throw new Error('Non base64 encoded input passed to window.atob polyfill'); - } - - i = 0; - do { - b1 = characters.indexOf(base64String.charAt(i++)); - b2 = characters.indexOf(base64String.charAt(i++)); - b3 = characters.indexOf(base64String.charAt(i++)); - b4 = characters.indexOf(base64String.charAt(i++)); - - a = (b1 & 0x3F) << 2 | b2 >> 4 & 0x3; - b = (b2 & 0xF) << 4 | b3 >> 2 & 0xF; - c = (b3 & 0x3) << 6 | b4 & 0x3F; - - result += String.fromCharCode(a) + (b ? String.fromCharCode(b) : '') + (c ? String.fromCharCode(c) : ''); - } while (i < base64String.length); - - return result; -} - -module.exports = { - atob: function (base64String) { - return atobNormalized.call(global, base64String); - }, - _atob: atob -}; - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],137:[function(require,module,exports){ -arguments[4][87][0].apply(exports,arguments) -},{"dup":87,"promise-polyfill":113}],138:[function(require,module,exports){ -'use strict'; - -module.exports = function (string) { - if (typeof string !== 'string') { - return ''; - } - - return string - .replace(//g, '>'); -}; - -},{}],139:[function(require,module,exports){ -'use strict'; - -module.exports = function () { - var el = document.createElement('div'); - var prop = 'flex-basis: 1px'; - var prefixes = [ - '-webkit-', - '-moz-', - '-ms-', - '-o-', - '' - ]; - - prefixes.forEach(function (prefix) { - el.style.cssText += prefix + prop; - }); - - return Boolean(el.style.length); -}; - -},{}],140:[function(require,module,exports){ -'use strict'; - - -var classlist = require('./classlist'); -var threeDSecure = require('braintree-web/three-d-secure'); -var Promise = require('./promise'); - -function ThreeDSecure(client, merchantConfiguration, cardVerificationString) { - this._client = client; - this._config = merchantConfiguration; - this._modal = this._setupModal(cardVerificationString); -} - -ThreeDSecure.prototype.initialize = function () { - var self = this; - - return threeDSecure.create({ - client: this._client - }).then(function (instance) { - self._instance = instance; - }); -}; - -ThreeDSecure.prototype.verify = function (nonce) { - var self = this; - - this._revealModal(); - - return Promise.all([ - this._waitForThreeDSecure(), - this._instance.verifyCard({ - nonce: nonce, - amount: this._config.amount, - showLoader: false, - addFrame: function (err, iframe) { - var modalBody = self._modal.querySelector('.braintree-three-d-secure__modal-body'); - - iframe.onload = function () { - classlist.add(modalBody, 'braintree-three-d-secure__frame-active'); - }; - - modalBody.appendChild(iframe); - }, - removeFrame: function () { - self._cleanupModal(); - } - }).then(function (payload) { - self._resolveThreeDSecure(); - - return payload; - }) - ]).then(function (result) { - self._cleanupModal(); - - return result[1]; - }).catch(function (err) { - self._cleanupModal(); - - if (err.type === 'THREE_D_SECURE_CANCELLED') { - return Promise.resolve(err.payload); - } - - return Promise.reject(err); - }); -}; - -ThreeDSecure.prototype.cancel = function () { - var self = this; - - return this._instance.cancelVerifyCard().then(function (payload) { - self._rejectThreeDSecure({ - type: 'THREE_D_SECURE_CANCELLED', - payload: { - nonce: payload.nonce, - liabilityShifted: payload.liabilityShifted, - liabilityShiftPossible: payload.liabilityShiftPossible - } - }); - }).catch(function () { - // only reason this would reject - // is if there is no verification in progress - // so we just swallow the error - }).then(function () { - self._cleanupModal(); - }); -}; - -ThreeDSecure.prototype.updateConfiguration = function (key, value) { - this._config[key] = value; -}; - -ThreeDSecure.prototype.teardown = function () { - return this._instance.teardown(); -}; - -ThreeDSecure.prototype._cleanupModal = function () { - var iframe = this._modal.querySelector('iframe'); - - classlist.remove(this._modal.querySelector('.braintree-three-d-secure__modal'), 'braintree-three-d-secure__frame_visible'); - classlist.remove(this._modal.querySelector('.braintree-three-d-secure__backdrop'), 'braintree-three-d-secure__frame_visible'); - - if (iframe && iframe.parentNode) { - iframe.parentNode.removeChild(iframe); - } - setTimeout(function () { - if (this._modal.parentNode) { - this._modal.parentNode.removeChild(this._modal); - } - }.bind(this), 300); -}; - -ThreeDSecure.prototype._setupModal = function (cardVerificationString) { - var self = this; - var modal = document.createElement('div'); - - modal.innerHTML = "
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n {{cardVerification}}\n
\n \n \n \n
\n
\n
\n
\n
\n
\n" - .replace('{{cardVerification}}', cardVerificationString); - - modal.querySelector('.braintree-three-d-secure__modal-close').addEventListener('click', function () { - self.cancel(); - }); - - return modal; -}; - -ThreeDSecure.prototype._waitForThreeDSecure = function () { - var self = this; - - return new Promise(function (resolve, reject) { - self._resolveThreeDSecure = resolve; - self._rejectThreeDSecure = reject; - }); -}; - -ThreeDSecure.prototype._revealModal = function () { - document.body.appendChild(this._modal); - classlist.add(this._modal.querySelector('.braintree-three-d-secure__backdrop'), 'braintree-three-d-secure__frame_visible'); - setTimeout(function () { - classlist.add(this._modal.querySelector('.braintree-three-d-secure__modal'), 'braintree-three-d-secure__frame_visible'); - }.bind(this), 10); -}; - -module.exports = ThreeDSecure; - -},{"./classlist":126,"./promise":137,"braintree-web/three-d-secure":97}],141:[function(require,module,exports){ -'use strict'; - -var browserDetection = require('./browser-detection'); - -function isHidden(element) { - if (!element) { // no parentNode, so nothing containing the element is hidden - return false; - } - - if (element.style.display === 'none') { - return true; - } - - return isHidden(element.parentNode); -} - -function onTransitionEnd(element, propertyName, callback) { - if (browserDetection.isIe9() || isHidden(element)) { - callback(); - - return; - } - - function transitionEventListener(event) { - if (event.propertyName === propertyName) { - element.removeEventListener('transitionend', transitionEventListener); - callback(); - } - } - - element.addEventListener('transitionend', transitionEventListener); -} - -module.exports = { - onTransitionEnd: onTransitionEnd -}; - -},{"./browser-detection":125}],142:[function(require,module,exports){ -'use strict'; -/* eslint-disable no-mixed-operators */ - -function uuid() { - return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { - var r = Math.random() * 16 | 0; - var v = c === 'x' ? r : r & 0x3 | 0x8; - - return v.toString(16); - }); -} - -module.exports = uuid; - -},{}],143:[function(require,module,exports){ -'use strict'; - -module.exports = { - "payingWith": "Betaler med {{paymentSource}}", - "chooseAnotherWayToPay": "Vælg en anden betalingsmetode", - "chooseAWayToPay": "Vælg, hvordan du vil betale", - "otherWaysToPay": "Andre betalingsmetoder", - "edit": "Rediger", - "doneEditing": "Udført", - "editPaymentMethods": "Rediger betalingsmetoder", - "CreditCardDeleteConfirmationMessage": "Vil du slette {{secondaryIdentifier}}-kortet, der slutter på {{identifier}}?", - "PayPalAccountDeleteConfirmationMessage": "Vil du slette PayPal-kontoen {{identifier}}?", - "VenmoAccountDeleteConfirmationMessage": "Er du sikker på, at du vil slette Venmo-kontoen med brugernavnet {{identifier}}?", - "genericDeleteConfirmationMessage": "Er du sikker på, at du vil slette denne betalingsmetode?", - "deleteCancelButton": "Annuller", - "deleteConfirmationButton": "Slet", - "cardVerification": "Bekræftelse af kort", - "fieldEmptyForCvv": "Du skal angive kontrolcifrene.", - "fieldEmptyForExpirationDate": "Du skal angive udløbsdatoen.", - "fieldEmptyForCardholderName": "Du skal angive kortindehaverens navn.", - "fieldTooLongForCardholderName": "Kortejerens navn skal være mindre end 256 tegn.", - "fieldEmptyForNumber": "Du skal angive et nummer.", - "fieldEmptyForPostalCode": "Du skal angive et postnummer.", - "fieldInvalidForCvv": "Sikkerhedskoden er ugyldig.", - "fieldInvalidForExpirationDate": "Udløbsdatoen er ugyldig.", - "fieldInvalidForNumber": "Kortnummeret er ugyldigt.", - "fieldInvalidForPostalCode": "Postnummeret er ugyldigt.", - "genericError": "Der opstod en fejl.", - "hostedFieldsTokenizationFailOnDuplicateError": "Dette betalingskort er allerede en gemt betalingsmetode.", - "hostedFieldsFailedTokenizationError": "Tjek oplysningerne, og prøv igen.", - "hostedFieldsFieldsInvalidError": "Tjek oplysningerne, og prøv igen.", - "hostedFieldsTokenizationNetworkErrorError": "Netværksfejl. Prøv igen.", - "hostedFieldsTokenizationCvvVerificationFailedError": "Betalingskortet blev ikke bekræftet. Kontrollér oplysningerne, og prøv igen.", - "paypalAccountTokenizationFailedError": "PayPal-kontoen blev ikke tilføjet. Prøv igen.", - "paypalFlowFailedError": "Der kunne ikke oprettes forbindelse til PayPal. Prøv igen.", - "paypalTokenizationRequestActiveError": "PayPal-betalingen er i gang med at blive autoriseret.", - "venmoCanceledError": "Der opstod en fejl. Sørg for, at du har den seneste version af Venmo-appen installeret på din enhed, og at din browser understøtter skift til Venmo.", - "vaultManagerPaymentMethodDeletionError": "Vi kunne ikke slette betalingsmetode. Prøv igen.", - "venmoAppFailedError": "Venmo-appen blev ikke fundet på din enhed.", - "unsupportedCardTypeError": "Korttypen understøttes ikke. Prøv et andet kort.", - "applePayTokenizationError": "Der opstod en netværksfejl under behandlingen af betalingen med Apple Pay. Prøv igen.", - "applePayActiveCardError": "Knyt et understøttet kort til din Apple Pay-e-pung.", - "cardholderNameLabel": "Kortindehaverens navn", - "cardNumberLabel": "Kortnummer", - "cvvLabel": "Kontrolcifre", - "cvvThreeDigitLabelSubheading": "(3 cifre)", - "cvvFourDigitLabelSubheading": "(4 cifre)", - "cardholderNamePlaceholder": "Kortindehaverens navn", - "expirationDateLabel": "Udløbsdato", - "expirationDateLabelSubheading": "(MM/ÅÅ)", - "expirationDatePlaceholder": "MM/ÅÅ", - "postalCodeLabel": "Postnummer", - "payWithCard": "Betal med kort", - "endingIn": "Der slutter på {{lastFourCardDigits}}", - "Apple Pay": "Apple Pay", - "Venmo": "Venmo", - "Card": "Kort", - "PayPal": "PayPal", - "PayPal Credit": "PayPal Credit", - "Google Pay": "Google Pay", - "American Express": "American Express", - "Discover": "Discover", - "Diners Club": "Diners Club", - "MasterCard": "Mastercard", - "Visa": "Visa", - "JCB": "JCB", - "Maestro": "Maestro", - "UnionPay": "UnionPay" -}; - -},{}],144:[function(require,module,exports){ -'use strict'; - -module.exports = { - "payingWith": "Zahlen mit {{paymentSource}}", - "chooseAnotherWayToPay": "Andere Zahlungsmethode wählen", - "chooseAWayToPay": "Wie möchten Sie bezahlen?", - "otherWaysToPay": "Andere Zahlungsmethoden", - "edit": "Bearbeiten", - "doneEditing": "Fertig", - "editPaymentMethods": "Zahlungsquellen bearbeiten", - "CreditCardDeleteConfirmationMessage": "{{secondaryIdentifier}} Karte mit den Endziffern {{identifier}} löschen?", - "PayPalAccountDeleteConfirmationMessage": "PayPal-Konto {{identifier}} löschen?", - "VenmoAccountDeleteConfirmationMessage": "Wollen Sie das Venmo-Konto mit dem Benutzernamen {{identifier}} wirklich löschen?", - "genericDeleteConfirmationMessage": "Wollen Sie diese Zahlungsquelle wirklich löschen?", - "deleteCancelButton": "Abbrechen", - "deleteConfirmationButton": "Löschen", - "cardVerification": "Kartenbestätigung", - "fieldEmptyForCvv": "Geben Sie die Kartenprüfnummer ein.", - "fieldEmptyForExpirationDate": "Geben Sie das Ablaufdatum ein.", - "fieldEmptyForCardholderName": "Geben Sie den Namen des Karteninhabers ein.", - "fieldTooLongForCardholderName": "Der Name des Karteninhabers darf 255 Zeichen nicht übersteigen.", - "fieldEmptyForNumber": "Geben Sie die Nummer ein.", - "fieldEmptyForPostalCode": "Geben Sie die PLZ ein.", - "fieldInvalidForCvv": "Die Kartenprüfnummer ist ungültig.", - "fieldInvalidForExpirationDate": "Das Ablaufdatum ist ungültig.", - "fieldInvalidForNumber": "Die Kreditkartennummer ist ungültig.", - "fieldInvalidForPostalCode": "Die PLZ ist ungültig.", - "genericError": "Bei uns ist ein Problem aufgetreten.", - "hostedFieldsTokenizationFailOnDuplicateError": "Diese Kreditkarte ist bereits als gespeicherte Zahlungsmethode vorhanden.", - "hostedFieldsFailedTokenizationError": "Überprüfen Sie Ihre Eingabe und versuchen Sie es erneut.", - "hostedFieldsFieldsInvalidError": "Überprüfen Sie Ihre Eingabe und versuchen Sie es erneut.", - "hostedFieldsTokenizationNetworkErrorError": "Netzwerkfehler. Versuchen Sie es erneut.", - "hostedFieldsTokenizationCvvVerificationFailedError": "Überprüfung der Karte fehlgeschlagen. Überprüfen Sie Ihre Eingabe und versuchen Sie es erneut.", - "paypalAccountTokenizationFailedError": "Beim Hinzufügen des PayPal-Kontos ist ein Problem aufgetreten. Versuchen Sie es erneut.", - "paypalFlowFailedError": "Beim Verbinden mit PayPal ist ein Problem aufgetreten. Versuchen Sie es erneut.", - "paypalTokenizationRequestActiveError": "Die PayPal-Zahlung wird bereits autorisiert.", - "venmoCanceledError": "Etwas ist schief gelaufen. Vergewissern Sie sich, dass Sie die neueste Version der Venmo-App auf Ihrem Gerät installiert haben und Ihr Browser den Wechsel zu Venmo unterstützt.", - "vaultManagerPaymentMethodDeletionError": "Die Zahlungsquelle konnte nicht gelöscht werden. Versuchen Sie es erneut.", - "venmoAppFailedError": "Die Venmo-App wurde auf Ihrem Gerät nicht gefunden.", - "unsupportedCardTypeError": "Dieser Kreditkartentyp wird nicht unterstützt. Versuchen Sie es mit einer anderen Karte.", - "applePayTokenizationError": "Netzwerkfehler bei der Zahlungsabwicklung mit Apple Pay. Versuchen Sie es erneut.", - "applePayActiveCardError": "Fügen Sie der Apple-Pay-Börse eine unterstützte Kreditkarte hinzu.", - "cardholderNameLabel": "Name des Karteninhabers", - "cardNumberLabel": "Kartennummer", - "cvvLabel": "Prüfnr.", - "cvvThreeDigitLabelSubheading": "(3-stellig)", - "cvvFourDigitLabelSubheading": "(4-stellig)", - "cardholderNamePlaceholder": "Name des Karteninhabers", - "expirationDateLabel": "Gültig bis", - "expirationDateLabelSubheading": "(MM/JJ)", - "expirationDatePlaceholder": "MM/JJ", - "postalCodeLabel": "PLZ", - "payWithCard": "Mit Kreditkarte zahlen", - "endingIn": "Mit den Endziffern {{lastFourCardDigits}}", - "Apple Pay": "Apple Pay", - "Venmo": "Venmo", - "Card": "Kreditkarte", - "PayPal": "PayPal", - "PayPal Credit": "PayPal Credit", - "Google Pay": "Google Pay", - "American Express": "American Express", - "Discover": "Discover", - "Diners Club": "Diners Club", - "MasterCard": "Mastercard", - "Visa": "Visa", - "JCB": "JCB", - "Maestro": "Maestro", - "UnionPay": "UnionPay" -}; - -},{}],145:[function(require,module,exports){ -'use strict'; - -module.exports = { - "payingWith": "Paying with {{paymentSource}}", - "chooseAnotherWayToPay": "Choose another way to pay", - "chooseAWayToPay": "Choose a way to pay", - "otherWaysToPay": "Other ways to pay", - "edit": "Edit", - "doneEditing": "Done", - "editPaymentMethods": "Edit payment methods", - "CreditCardDeleteConfirmationMessage": "Delete {{secondaryIdentifier}} card ending in {{identifier}}?", - "PayPalAccountDeleteConfirmationMessage": "Delete PayPal account {{identifier}}?", - "VenmoAccountDeleteConfirmationMessage": "Are you sure you want to delete the Venmo account with username {{identifier}}?", - "genericDeleteConfirmationMessage": "Are you sure you want to delete this payment method?", - "deleteCancelButton": "Cancel", - "deleteConfirmationButton": "Delete", - "cardVerification": "Card verification", - "fieldEmptyForCvv": "Please fill out a CVV.", - "fieldEmptyForExpirationDate": "Please fill out an expiry date.", - "fieldEmptyForCardholderName": "Please fill out a cardholder name.", - "fieldTooLongForCardholderName": "Cardholder name must be less than 256 characters.", - "fieldEmptyForNumber": "Please fill out a number.", - "fieldEmptyForPostalCode": "Please fill out a postcode.", - "fieldInvalidForCvv": "This security code is not valid.", - "fieldInvalidForExpirationDate": "This expiry date is not valid.", - "fieldInvalidForNumber": "This card number is not valid.", - "fieldInvalidForPostalCode": "This postcode is not valid.", - "genericError": "Something went wrong on our end.", - "hostedFieldsTokenizationFailOnDuplicateError": "This credit card already exists as a saved payment method.", - "hostedFieldsFailedTokenizationError": "Check your entries and try again.", - "hostedFieldsFieldsInvalidError": "Check your entries and try again.", - "hostedFieldsTokenizationNetworkErrorError": "Network error. Please try again.", - "hostedFieldsTokenizationCvvVerificationFailedError": "Credit card verification failed. Check your entries and try again.", - "paypalAccountTokenizationFailedError": "Something went wrong while adding the PayPal account. Please try again.", - "paypalFlowFailedError": "Something went wrong while connecting to PayPal. Please try again.", - "paypalTokenizationRequestActiveError": "PayPal payment authorisation is already in progress.", - "venmoCanceledError": "We're sorry, something seems to have gone wrong. Please ensure you have the most recent version of the Venmo app installed on your device and your browser supports switching to Venmo.", - "vaultManagerPaymentMethodDeletionError": "Unable to delete payment method, try again.", - "venmoAppFailedError": "The Venmo app wasn't found on your device.", - "unsupportedCardTypeError": "This card type is not supported. Please try another card.", - "applePayTokenizationError": "A network error occurred while processing the Apple Pay payment. Please try again.", - "applePayActiveCardError": "Link a supported card to your Apple Pay wallet.", - "cardholderNameLabel": "Cardholder Name", - "cardNumberLabel": "Card Number", - "cvvLabel": "CVV", - "cvvThreeDigitLabelSubheading": "(3 digits)", - "cvvFourDigitLabelSubheading": "(4 digits)", - "cardholderNamePlaceholder": "Cardholder Name", - "expirationDateLabel": "Expiry date", - "expirationDateLabelSubheading": "(MM/YY)", - "expirationDatePlaceholder": "MM/YY", - "postalCodeLabel": "Postcode", - "payWithCard": "Pay with credit or debit card", - "endingIn": "Ending in {{lastFourCardDigits}}", - "Apple Pay": "Apple Pay", - "Venmo": "Venmo", - "Card": "Card", - "PayPal": "PayPal", - "PayPal Credit": "PayPal Credit", - "Google Pay": "Google Pay", - "American Express": "American Express", - "Discover": "Discover", - "Diners Club": "Diners Club", - "MasterCard": "Mastercard", - "Visa": "Visa", - "JCB": "JCB", - "Maestro": "Maestro", - "UnionPay": "UnionPay" -}; - -},{}],146:[function(require,module,exports){ -'use strict'; - -module.exports = { - "payingWith": "Paying with {{paymentSource}}", - "chooseAnotherWayToPay": "Choose another way to pay", - "chooseAWayToPay": "Choose a way to pay", - "otherWaysToPay": "Other ways to pay", - "edit": "Edit", - "doneEditing": "Done", - "editPaymentMethods": "Edit funding sources", - "CreditCardDeleteConfirmationMessage": "Delete {{secondaryIdentifier}} card ending in {{identifier}}?", - "PayPalAccountDeleteConfirmationMessage": "Delete PayPal account {{identifier}}?", - "VenmoAccountDeleteConfirmationMessage": "Are you sure you want to delete the Venmo account with username {{identifier}}?", - "genericDeleteConfirmationMessage": "Are you sure you want to delete this funding source?", - "deleteCancelButton": "Cancel", - "deleteConfirmationButton": "Delete", - "cardVerification": "Card Verification", - "fieldEmptyForCvv": "Please fill in a CSC.", - "fieldEmptyForExpirationDate": "Please fill in an expiry date.", - "fieldEmptyForCardholderName": "Please fill in a cardholder name.", - "fieldTooLongForCardholderName": "Cardholder name must be less than 256 characters.", - "fieldEmptyForNumber": "Please fill in a number.", - "fieldEmptyForPostalCode": "Please fill in a postcode.", - "fieldInvalidForCvv": "This security code is not valid.", - "fieldInvalidForExpirationDate": "This expiry date is not valid.", - "fieldInvalidForNumber": "This card number is not valid.", - "fieldInvalidForPostalCode": "This postcode is not valid.", - "genericError": "Something went wrong on our end.", - "hostedFieldsTokenizationFailOnDuplicateError": "This credit card has already been added to your account as a funding source.", - "hostedFieldsFailedTokenizationError": "Please check your information and try again.", - "hostedFieldsFieldsInvalidError": "Please check your information and try again.", - "hostedFieldsTokenizationNetworkErrorError": "Network error. Please try again.", - "hostedFieldsTokenizationCvvVerificationFailedError": "Credit card verification failed. Please check your information and try again.", - "paypalAccountTokenizationFailedError": "Something went wrong while adding the PayPal account. Please try again.", - "paypalFlowFailedError": "Something went wrong while connecting to PayPal. Please try again.", - "paypalTokenizationRequestActiveError": "PayPal payment authorisation is already in progress.", - "venmoCanceledError": "We're sorry, something seems to have gone wrong. Make sure you have the most recent version of the Venmo app installed on your device and your browser supports the switch to Venmo.", - "vaultManagerPaymentMethodDeletionError": "Unable to delete funding source, try again.", - "venmoAppFailedError": "The Venmo app isn't on your device.", - "unsupportedCardTypeError": "This card type is not supported. Please try another card.", - "applePayTokenizationError": "A network error occurred while processing the Apple Pay payment. Please try again.", - "applePayActiveCardError": "Add a supported card to your Apple Pay wallet.", - "cardholderNameLabel": "Cardholder Name", - "cardNumberLabel": "Card Number", - "cvvLabel": "CSC", - "cvvThreeDigitLabelSubheading": "(3 digits)", - "cvvFourDigitLabelSubheading": "(4 digits)", - "cardholderNamePlaceholder": "Cardholder Name", - "expirationDateLabel": "Expiry Date", - "expirationDateLabelSubheading": "(MM/YY)", - "expirationDatePlaceholder": "MM/YY", - "postalCodeLabel": "Postcode", - "payWithCard": "Pay with card", - "endingIn": "Ending in {{lastFourCardDigits}}", - "Apple Pay": "Apple Pay", - "Venmo": "Venmo", - "Card": "Card", - "PayPal": "PayPal", - "PayPal Credit": "PayPal Credit", - "Google Pay": "Google Pay", - "American Express": "American Express", - "Discover": "Discover", - "Diners Club": "Diners Club", - "MasterCard": "Mastercard", - "Visa": "Visa", - "JCB": "JCB", - "Maestro": "Maestro", - "UnionPay": "UnionPay" -}; - -},{}],147:[function(require,module,exports){ -'use strict'; - -module.exports = { - payingWith: 'Paying with {{paymentSource}}', - chooseAnotherWayToPay: 'Choose another way to pay', - chooseAWayToPay: 'Choose a way to pay', - otherWaysToPay: 'Other ways to pay', - edit: 'Edit', - doneEditing: 'Done', - editPaymentMethods: 'Edit payment methods', - CreditCardDeleteConfirmationMessage: 'Delete {{secondaryIdentifier}} card ending in {{identifier}}?', - PayPalAccountDeleteConfirmationMessage: 'Delete PayPal account {{identifier}}?', - VenmoAccountDeleteConfirmationMessage: 'Are you sure you want to delete Venmo account with username {{identifier}}?', - genericDeleteConfirmationMessage: 'Are you sure you want to delete this payment method?', - deleteCancelButton: 'Cancel', - deleteConfirmationButton: 'Delete', - cardVerification: 'Card Verification', - // Errors - fieldEmptyForCvv: 'Please fill out a CVV.', - fieldEmptyForExpirationDate: 'Please fill out an expiration date.', - fieldEmptyForCardholderName: 'Please fill out a cardholder name.', - fieldEmptyForNumber: 'Please fill out a card number.', - fieldEmptyForPostalCode: 'Please fill out a postal code.', - fieldInvalidForCvv: 'This security code is not valid.', - fieldInvalidForExpirationDate: 'This expiration date is not valid.', - fieldInvalidForNumber: 'This card number is not valid.', - fieldInvalidForPostalCode: 'This postal code is not valid.', - fieldTooLongForCardholderName: 'Cardholder name must be less than 256 characters.', - genericError: 'Something went wrong on our end.', - hostedFieldsTokenizationFailOnDuplicateError: 'This credit card already exists as a saved payment method.', - hostedFieldsFailedTokenizationError: 'Please check your information and try again.', - hostedFieldsTokenizationCvvVerificationFailedError: 'Credit card verification failed. Please check your information and try again.', - hostedFieldsTokenizationNetworkErrorError: 'Network error. Please try again.', - hostedFieldsFieldsInvalidError: 'Please check your information and try again.', - paypalAccountTokenizationFailedError: 'Something went wrong adding the PayPal account. Please try again.', - paypalFlowFailedError: 'Something went wrong connecting to PayPal. Please try again.', - paypalTokenizationRequestActiveError: 'PayPal payment authorization is already in progress.', - applePayTokenizationError: 'A network error occurred while processing the Apple Pay payment. Please try again.', - applePayActiveCardError: 'Add a supported card to your Apple Pay wallet.', - vaultManagerPaymentMethodDeletionError: 'Unable to delete payment method, try again.', - venmoCanceledError: 'Something went wrong. Ensure you have the most recent version of the Venmo app installed on your device and your browser supports switching to Venmo.', - venmoAppFailedError: 'The Venmo app could not be found on your device.', - unsupportedCardTypeError: 'This card type is not supported. Please try another card.', - // Card form - cardholderNameLabel: 'Cardholder Name', - cardNumberLabel: 'Card Number', - cvvLabel: 'CVV', - cvvThreeDigitLabelSubheading: '(3 digits)', - cvvFourDigitLabelSubheading: '(4 digits)', - expirationDateLabel: 'Expiration Date', - expirationDateLabelSubheading: '(MM/YY)', - cardholderNamePlaceholder: 'Cardholder Name', - expirationDatePlaceholder: 'MM/YY', - postalCodeLabel: 'Postal Code', - payWithCard: 'Pay with card', - // Payment Method descriptions - endingIn: 'Ending in {{lastFourCardDigits}}', - Card: 'Card', - PayPal: 'PayPal', - 'PayPal Credit': 'PayPal Credit', - 'Apple Pay': 'Apple Pay', - 'Google Pay': 'Google Pay', - 'Venmo': 'Venmo', - 'American Express': 'American Express', - Discover: 'Discover', - 'Diners Club': 'Diners Club', - MasterCard: 'Mastercard', - Visa: 'Visa', - JCB: 'JCB', - Maestro: 'Maestro', - UnionPay: 'UnionPay' -}; - -},{}],148:[function(require,module,exports){ -'use strict'; - -module.exports = { - "payingWith": "Pago con {{paymentSource}}", - "chooseAnotherWayToPay": "Selecciona otra forma de pago.", - "chooseAWayToPay": "Selecciona una forma de pago.", - "otherWaysToPay": "Otras formas de pago", - "edit": "Modificar", - "doneEditing": "Hecho", - "editPaymentMethods": "Editar formas de pago", - "CreditCardDeleteConfirmationMessage": "¿Quieres eliminar la tarjeta {{secondaryIdentifier}} que termina en {{identifier}}?", - "PayPalAccountDeleteConfirmationMessage": "¿Quieres eliminar la cuenta PayPal {{identifier}}?", - "VenmoAccountDeleteConfirmationMessage": "¿Seguro de que deseas eliminar la cuenta de Venmo con nombre de usuario {{identifier}}?", - "genericDeleteConfirmationMessage": "¿Seguro que deseas eliminar esta forma de pago?", - "deleteCancelButton": "Cancelar", - "deleteConfirmationButton": "Eliminar", - "cardVerification": "Verificación de tarjeta", - "fieldEmptyForCvv": "Escribe el código CVV.", - "fieldEmptyForExpirationDate": "Escribe la fecha de vencimiento.", - "fieldEmptyForCardholderName": "Escribe el nombre de un titular de la tarjeta.", - "fieldTooLongForCardholderName": "El nombre del titular de la tarjeta debe tener menos de 256 caracteres.", - "fieldEmptyForNumber": "Escribe un número.", - "fieldEmptyForPostalCode": "Escribe el código postal.", - "fieldInvalidForCvv": "Este código de seguridad no es válido.", - "fieldInvalidForExpirationDate": "Esta fecha de vencimiento no es válida.", - "fieldInvalidForNumber": "Este número de tarjeta no es válido.", - "fieldInvalidForPostalCode": "Este código postal no es válido.", - "genericError": "Hemos tenido algún problema.", - "hostedFieldsTokenizationFailOnDuplicateError": "Esta tarjeta de crédito ya existe como forma de pago guardada.", - "hostedFieldsFailedTokenizationError": "Comprueba la información e inténtalo de nuevo.", - "hostedFieldsFieldsInvalidError": "Comprueba la información e inténtalo de nuevo.", - "hostedFieldsTokenizationNetworkErrorError": "Error de red. Inténtalo de nuevo.", - "hostedFieldsTokenizationCvvVerificationFailedError": "Error de verificación de la tarjeta de crédito. Comprueba la información e inténtalo de nuevo.", - "paypalAccountTokenizationFailedError": "Se ha producido un error al vincular la cuenta PayPal. Inténtalo de nuevo.", - "paypalFlowFailedError": "Se ha producido un error al conectarse a PayPal. Inténtalo de nuevo.", - "paypalTokenizationRequestActiveError": "Ya hay una autorización de pago de PayPal en curso.", - "venmoCanceledError": "Ha habido un problema. Asegúrate de que tienes la versión más reciente de la aplicación de Venmo instalada en tu dispositivo y de que tu navegador es compatible con cambiar a Venmo.", - "vaultManagerPaymentMethodDeletionError": "No se ha podido eliminar la forma de pago. Inténtalo de nuevo.", - "venmoAppFailedError": "No se ha encontrado la aplicación de Venmo en tu dispositivo.", - "unsupportedCardTypeError": "No se admite este tipo de tarjeta. Prueba con otra tarjeta.", - "applePayTokenizationError": "Se ha producido un error de red al procesar el pago con Apple Pay. Inténtalo de nuevo.", - "applePayActiveCardError": "Añade una tarjeta admitida a tu Wallet de Apple Pay.", - "cardholderNameLabel": "Nombre del titular de la tarjeta", - "cardNumberLabel": "Número de tarjeta", - "cvvLabel": "CVV", - "cvvThreeDigitLabelSubheading": "(3 dígitos)", - "cvvFourDigitLabelSubheading": "(4 dígitos)", - "cardholderNamePlaceholder": "Nombre del titular de la tarjeta", - "expirationDateLabel": "Fecha de vencimiento", - "expirationDateLabelSubheading": "(MM/AA)", - "expirationDatePlaceholder": "MM/AA", - "postalCodeLabel": "Código postal", - "payWithCard": "Pagar con tarjeta", - "endingIn": "Terminada en {{lastFourCardDigits}}", - "Apple Pay": "Apple Pay", - "Venmo": "Venmo", - "Card": "Tarjeta", - "PayPal": "PayPal", - "PayPal Credit": "PayPal Credit", - "Google Pay": "Google Pay", - "American Express": "American Express", - "Discover": "Discover", - "Diners Club": "Diners Club", - "MasterCard": "Mastercard", - "Visa": "Visa", - "JCB": "JCB", - "Maestro": "Maestro", - "UnionPay": "UnionPay" -}; - -},{}],149:[function(require,module,exports){ -'use strict'; - -module.exports = { - "payingWith": "Payer avec {{paymentSource}}", - "chooseAnotherWayToPay": "Choisir un autre mode de paiement", - "chooseAWayToPay": "Choisir le mode de paiement", - "otherWaysToPay": "Autres modes de paiement", - "edit": "Modifier", - "doneEditing": "Terminé", - "editPaymentMethods": "Modifier les modes de paiement", - "CreditCardDeleteConfirmationMessage": "Supprimer la carte {{secondaryIdentifier}} se terminant par {{identifier}}?", - "PayPalAccountDeleteConfirmationMessage": "Supprimer le compte PayPal {{identifier}}?", - "VenmoAccountDeleteConfirmationMessage": "Souhaitez-vous vraiment supprimer le compte Venmo avec le nom d’utilisateur {{identifier}}?", - "genericDeleteConfirmationMessage": "Voulez-vous vraiment supprimer ce mode de paiement?", - "deleteCancelButton": "Annuler", - "deleteConfirmationButton": "Supprimer", - "cardVerification": "Vérification de la carte", - "fieldEmptyForCvv": "Veuillez saisir un cryptogramme visuel.", - "fieldEmptyForExpirationDate": "Veuillez saisir une date d'expiration.", - "fieldEmptyForCardholderName": "Veuillez saisir un nom de titulaire de la carte.", - "fieldTooLongForCardholderName": "Le nom du titulaire de la carte doit contenir moins de 256 caractères.", - "fieldEmptyForNumber": "Veuillez saisir un numéro.", - "fieldEmptyForPostalCode": "Veuillez saisir un code postal.", - "fieldInvalidForCvv": "Ce cryptogramme visuel n'est pas valide.", - "fieldInvalidForExpirationDate": "Cette date d'expiration n'est pas valide.", - "fieldInvalidForNumber": "Ce numéro de carte n'est pas valide.", - "fieldInvalidForPostalCode": "Ce code postal n'est pas valide.", - "genericError": "Une erreur s'est produite de notre côté.", - "hostedFieldsTokenizationFailOnDuplicateError": "Cette carte de crédit existe déjà comme mode de paiement enregistré.", - "hostedFieldsFailedTokenizationError": "Vérifiez vos informations, puis réessayez.", - "hostedFieldsFieldsInvalidError": "Vérifiez vos informations, puis réessayez.", - "hostedFieldsTokenizationNetworkErrorError": "Erreur réseau. Veuillez réessayer.", - "hostedFieldsTokenizationCvvVerificationFailedError": "La vérification de la carte de crédit a échoué. Vérifiez vos informations, puis réessayez.", - "paypalAccountTokenizationFailedError": "Une erreur s'est produite lors de l'enregistrement du compte PayPal. Veuillez réessayer.", - "paypalFlowFailedError": "Une erreur s'est produite au cours de la connexion à PayPal. Veuillez réessayer.", - "paypalTokenizationRequestActiveError": "L'autorisation de paiement PayPal est déjà en cours.", - "venmoCanceledError": "Une erreur s'est produite. Assurez-vous que la version la plus récente de l'application Venmo est installée sur votre appareil et que votre navigateur prend Venmo en charge.", - "vaultManagerPaymentMethodDeletionError": "Impossible de supprimer le mode de paiement, essayez de nouveau.", - "venmoAppFailedError": "L'application Venmo est introuvable sur votre appareil.", - "unsupportedCardTypeError": "Ce type de carte n'est pas pris en charge. Veuillez essayer une autre carte.", - "applePayTokenizationError": "Une erreur de réseau s'est produite lors du traitement du paiement avec Apple Pay. Veuillez réessayer.", - "applePayActiveCardError": "Ajoutez une carte prise en charge à Apple Pay.", - "cardholderNameLabel": "Nom du titulaire de la carte", - "cardNumberLabel": "Numéro de carte", - "cvvLabel": "CVV", - "cvvThreeDigitLabelSubheading": "(3 chiffres)", - "cvvFourDigitLabelSubheading": "(4 chiffres)", - "cardholderNamePlaceholder": "Nom du titulaire de la carte", - "expirationDateLabel": "Date d'expiration", - "expirationDateLabelSubheading": "(MM/AA)", - "expirationDatePlaceholder": "MM/AA", - "postalCodeLabel": "Code postal", - "payWithCard": "Payer par carte", - "endingIn": "Se terminant par {{lastFourCardDigits}}", - "Apple Pay": "Apple Pay", - "Venmo": "Venmo", - "Card": "Carte", - "PayPal": "PayPal", - "PayPal Credit": "PayPal Credit", - "Google Pay": "Google Pay", - "American Express": "American Express", - "Discover": "Discover", - "Diners Club": "Diners Club", - "MasterCard": "Mastercard", - "Visa": "Visa", - "JCB": "JCB", - "Maestro": "Maestro", - "UnionPay": "UnionPay" -}; - -},{}],150:[function(require,module,exports){ -'use strict'; - -module.exports = { - "payingWith": "Payer avec {{paymentSource}}", - "chooseAnotherWayToPay": "Choisissez une autre façon de payer.", - "chooseAWayToPay": "Choisissez comment payer.", - "otherWaysToPay": "Autres façons de payer", - "edit": "Modifier", - "doneEditing": "Terminé", - "editPaymentMethods": "Modifier les sources d'approvisionnement", - "CreditCardDeleteConfirmationMessage": "Supprimer la carte {{secondaryIdentifier}} se terminant par {{identifier}} ?", - "PayPalAccountDeleteConfirmationMessage": "Supprimer le compte PayPal {{identifier}} ?", - "VenmoAccountDeleteConfirmationMessage": "Êtes-vous sûr de vouloir supprimer le compte Venmo avec le nom d'utilisateur {{identifier}} ?", - "genericDeleteConfirmationMessage": "Êtes-vous sûr de vouloir supprimer cette source d'approvisionnement ?", - "deleteCancelButton": "Annuler", - "deleteConfirmationButton": "Supprimer", - "cardVerification": "Vérification de la carte", - "fieldEmptyForCvv": "Entrez un cryptogramme visuel.", - "fieldEmptyForExpirationDate": "Entrez une date d'expiration.", - "fieldEmptyForCardholderName": "Entrez un nom du titulaire de la carte.", - "fieldTooLongForCardholderName": "Le nom du titulaire de la carte doit contenir moins de 256 caractères.", - "fieldEmptyForNumber": "Entrez un numéro.", - "fieldEmptyForPostalCode": "Entrez un code postal.", - "fieldInvalidForCvv": "Ce cryptogramme visuel n'est pas valide.", - "fieldInvalidForExpirationDate": "Cette date d'expiration n'est pas valide.", - "fieldInvalidForNumber": "Ce numéro de carte n'est pas valide.", - "fieldInvalidForPostalCode": "Ce code postal n'est pas valide.", - "genericError": "Une erreur est survenue.", - "hostedFieldsTokenizationFailOnDuplicateError": "Cette carte bancaire existe déjà comme mode de paiement enregistré.", - "hostedFieldsFailedTokenizationError": "Vérifiez vos informations et réessayez.", - "hostedFieldsFieldsInvalidError": "Vérifiez vos informations et réessayez.", - "hostedFieldsTokenizationNetworkErrorError": "Erreur réseau. Réessayez.", - "hostedFieldsTokenizationCvvVerificationFailedError": "Échec de vérification de la carte bancaire. Vérifiez vos informations et réessayez.", - "paypalAccountTokenizationFailedError": "Une erreur est survenue lors de l'ajout du compte PayPal. Réessayez.", - "paypalFlowFailedError": "Une erreur est survenue lors de la connexion à PayPal. Réessayez.", - "paypalTokenizationRequestActiveError": "L'autorisation de paiement PayPal est déjà en cours.", - "venmoCanceledError": "Une erreur est survenue. Vérifiez que vous disposez de la dernière version de l'application Venmo sur votre appareil et que votre navigateur prend en charge la redirection vers Venmo.", - "vaultManagerPaymentMethodDeletionError": "Impossible de supprimer la source d'approvisionnement. Réessayez.", - "venmoAppFailedError": "L'application Venmo est introuvable sur votre appareil.", - "unsupportedCardTypeError": "Ce type de carte n'est pas pris en charge. Essayez une autre carte.", - "applePayTokenizationError": "Une erreur réseau s'est produite lors du traitement du paiement Apple Pay. Réessayez.", - "applePayActiveCardError": "Enregistrez une carte prise en charge sur Apple Pay.", - "cardholderNameLabel": "Nom du titulaire de la carte", - "cardNumberLabel": "Nº de carte", - "cvvLabel": "Cryptogramme visuel", - "cvvThreeDigitLabelSubheading": "(3 chiffres)", - "cvvFourDigitLabelSubheading": "(4 chiffres)", - "cardholderNamePlaceholder": "Nom du titulaire de la carte", - "expirationDateLabel": "Date d'expiration", - "expirationDateLabelSubheading": "(MM/AA)", - "expirationDatePlaceholder": "MM/AA", - "postalCodeLabel": "Code postal", - "payWithCard": "Payer par carte", - "endingIn": "Se terminant par {{lastFourCardDigits}}", - "Apple Pay": "Apple Pay", - "Venmo": "Venmo", - "Card": "Carte", - "PayPal": "PayPal", - "PayPal Credit": "PayPal Credit", - "Google Pay": "Google Pay", - "American Express": "American Express", - "Discover": "Discover", - "Diners Club": "Diners Club", - "MasterCard": "Mastercard", - "Visa": "Visa", - "JCB": "JCB", - "Maestro": "Maestro", - "UnionPay": "UnionPay" -}; - -},{}],151:[function(require,module,exports){ -'use strict'; - -module.exports = { - "payingWith": "Membayar dengan {{paymentSource}}", - "chooseAnotherWayToPay": "Pilih metode pembayaran lain", - "chooseAWayToPay": "Pilih metode pembayaran", - "otherWaysToPay": "Metode pembayaran lain", - "edit": "Edit", - "doneEditing": "Selesai", - "editPaymentMethods": "Edit metode pembayaran", - "CreditCardDeleteConfirmationMessage": "Hapus kartu {{secondaryIdentifier}} yang berakhiran {{identifier}}?", - "PayPalAccountDeleteConfirmationMessage": "Hapus {{identifier}} rekening PayPal?", - "VenmoAccountDeleteConfirmationMessage": "Apakah Anda yakin akan menghapus rekening Venmo dengan nama pengguna {{identifier}}?", - "genericDeleteConfirmationMessage": "Apakah Anda yakin akan menghapus metode pembayaran ini?", - "deleteCancelButton": "Batalkan", - "deleteConfirmationButton": "Hapus", - "cardVerification": "Verifikasi Kartu", - "fieldEmptyForCvv": "Masukkan CVV.", - "fieldEmptyForExpirationDate": "Masukkan tanggal akhir berlaku.", - "fieldEmptyForCardholderName": "Masukkan nama pemegang kartu.", - "fieldTooLongForCardholderName": "Nama pemegang kartu harus kurang dari 256 karakter.", - "fieldEmptyForNumber": "Masukkan nomor.", - "fieldEmptyForPostalCode": "Masukkan kode pos.", - "fieldInvalidForCvv": "Kode keamanan ini tidak valid.", - "fieldInvalidForExpirationDate": "Tanggal akhir berlaku ini tidak valid.", - "fieldInvalidForNumber": "Nomor kartu ini tidak valid.", - "fieldInvalidForPostalCode": "Kode pos ini tidak valid.", - "genericError": "Terjadi kesalahan pada sistem kami.", - "hostedFieldsTokenizationFailOnDuplicateError": "Kartu kredit ini sudah dimasukkan sebagai metode pembayaran tersimpan.", - "hostedFieldsFailedTokenizationError": "Periksa informasi Anda dan coba lagi.", - "hostedFieldsFieldsInvalidError": "Periksa informasi Anda dan coba lagi.", - "hostedFieldsTokenizationNetworkErrorError": "Masalah jaringan. Coba lagi.", - "hostedFieldsTokenizationCvvVerificationFailedError": "Verifikasi kartu kredit gagal. Periksa informasi Anda dan coba lagi.", - "paypalAccountTokenizationFailedError": "Terjadi kesalahan saat menambahkan rekening PayPal. Coba lagi.", - "paypalFlowFailedError": "Terjadi kesalahan saat menyambung ke PayPal. Coba lagi.", - "paypalTokenizationRequestActiveError": "Otorisasi pembayaran PayPal sedang diproses.", - "venmoCanceledError": "Terdapat kesalahan. Pastikan Anda telah menginstal aplikasi Venmo versi terbaru pada perangkat dan peramban Anda mendukung untuk beralih ke Venmo.", - "vaultManagerPaymentMethodDeletionError": "Tidak dapat menghapus metode pembayaran, coba lagi.", - "venmoAppFailedError": "Aplikasi Venmo tidak dapat ditemukan pada perangkat Anda.", - "unsupportedCardTypeError": "Jenis kartu ini tidak didukung. Coba kartu lainnya.", - "applePayTokenizationError": "Terjadi kesalahan jaringan sewaktu memproses pembayaran melalui Apple Pay. Coba lagi.", - "applePayActiveCardError": "Tambahkan kartu yang didukung ke wallet Apple Pay.", - "cardholderNameLabel": "Nama Pemegang Kartu", - "cardNumberLabel": "Nomor Kartu", - "cvvLabel": "CVV", - "cvvThreeDigitLabelSubheading": "(3 angka)", - "cvvFourDigitLabelSubheading": "(4 angka)", - "cardholderNamePlaceholder": "Nama Pemegang Kartu", - "expirationDateLabel": "Tanggal Kedaluwarsa", - "expirationDateLabelSubheading": "(BB/TT)", - "expirationDatePlaceholder": "BB/TT", - "postalCodeLabel": "Kode Pos", - "payWithCard": "Bayar dengan kartu", - "endingIn": "Berakhiran {{lastTwoCardDigits}}", - "Apple Pay": "Apple Pay", - "Venmo": "Venmo", - "Card": "Kartu", - "PayPal": "PayPal", - "PayPal Credit": "PayPal Credit", - "Google Pay": "Google Pay", - "American Express": "American Express", - "Discover": "Discover", - "Diners Club": "Diners Club", - "MasterCard": "Mastercard", - "Visa": "Visa", - "JCB": "JCB", - "Maestro": "Maestro", - "UnionPay": "UnionPay" -}; - -},{}],152:[function(require,module,exports){ -/* eslint-disable camelcase */ -'use strict'; - -var assign = require('../lib/assign').assign; - -var fiveCharacterLocales = { - da_DK: require('./da_DK'), - de_DE: require('./de_DE'), - en_US: require('./en_US'), - en_AU: require('./en_AU'), - en_GB: require('./en_GB'), - es_ES: require('./es_ES'), - fr_CA: require('./fr_CA'), - fr_FR: require('./fr_FR'), - id_ID: require('./id_ID'), - it_IT: require('./it_IT'), - ja_JP: require('./ja_JP'), - ko_KR: require('./ko_KR'), - nl_NL: require('./nl_NL'), - no_NO: require('./no_NO'), - pl_PL: require('./pl_PL'), - pt_BR: require('./pt_BR'), - pt_PT: require('./pt_PT'), - ru_RU: require('./ru_RU'), - sv_SE: require('./sv_SE'), - th_TH: require('./th_TH'), - zh_CN: require('./zh_CN'), - zh_HK: require('./zh_HK'), - zh_TW: require('./zh_TW') -}; - -var twoCharacterLocaleAliases = { - da: fiveCharacterLocales.da_DK, - de: fiveCharacterLocales.de_DE, - en: fiveCharacterLocales.en_US, - es: fiveCharacterLocales.es_ES, - fr: fiveCharacterLocales.fr_FR, - id: fiveCharacterLocales.id_ID, - it: fiveCharacterLocales.it_IT, - ja: fiveCharacterLocales.ja_JP, - ko: fiveCharacterLocales.ko_KR, - nl: fiveCharacterLocales.nl_NL, - no: fiveCharacterLocales.no_NO, - pl: fiveCharacterLocales.pl_PL, - pt: fiveCharacterLocales.pt_PT, - ru: fiveCharacterLocales.ru_RU, - sv: fiveCharacterLocales.sv_SE, - th: fiveCharacterLocales.th_TH, - zh: fiveCharacterLocales.zh_CN -}; - -module.exports = { - twoCharacterLocaleAliases: twoCharacterLocaleAliases, - fiveCharacterLocales: fiveCharacterLocales, - translations: assign({}, twoCharacterLocaleAliases, fiveCharacterLocales) -}; -/* eslint-enable camelcase */ - -},{"../lib/assign":124,"./da_DK":143,"./de_DE":144,"./en_AU":145,"./en_GB":146,"./en_US":147,"./es_ES":148,"./fr_CA":149,"./fr_FR":150,"./id_ID":151,"./it_IT":153,"./ja_JP":154,"./ko_KR":155,"./nl_NL":156,"./no_NO":157,"./pl_PL":158,"./pt_BR":159,"./pt_PT":160,"./ru_RU":161,"./sv_SE":162,"./th_TH":163,"./zh_CN":164,"./zh_HK":165,"./zh_TW":166}],153:[function(require,module,exports){ -'use strict'; - -module.exports = { - "payingWith": "Pagamento con {{paymentSource}}", - "chooseAnotherWayToPay": "Scegli di pagare in un altro modo", - "chooseAWayToPay": "Scegli come pagare", - "otherWaysToPay": "Altri modi di pagare", - "edit": "Modifica", - "doneEditing": "Fine", - "editPaymentMethods": "Modifica i metodi di pagamento", - "CreditCardDeleteConfirmationMessage": "Eliminare la carta {{secondaryIdentifier}} le cui ultime cifre sono {{identifier}}?", - "PayPalAccountDeleteConfirmationMessage": "Eliminare il conto PayPal {{identifier}}?", - "VenmoAccountDeleteConfirmationMessage": "Vuoi eliminare il conto Venmo con nome utente {{identifier}}?", - "genericDeleteConfirmationMessage": "Vuoi eliminare questo metodo di pagamento?", - "deleteCancelButton": "Annulla", - "deleteConfirmationButton": "Rimuovi", - "cardVerification": "Codice di sicurezza", - "fieldEmptyForCvv": "Immetti il codice di sicurezza (CVV).", - "fieldEmptyForExpirationDate": "Immetti la data di scadenza.", - "fieldEmptyForCardholderName": "Immetti il nome del titolare della carta.", - "fieldTooLongForCardholderName": "Il nome del titolare della carta deve avere meno di 256 caratteri.", - "fieldEmptyForNumber": "Immetti il numero di carta.", - "fieldEmptyForPostalCode": "Immetti il CAP.", - "fieldInvalidForCvv": "Il codice di sicurezza non è valido.", - "fieldInvalidForExpirationDate": "La data di scadenza non è valida.", - "fieldInvalidForNumber": "Il numero di carta non è valido.", - "fieldInvalidForPostalCode": "Il CAP non è valido.", - "genericError": "Si è verificato un errore nei nostri sistemi.", - "hostedFieldsTokenizationFailOnDuplicateError": "Questa carta di credito è già registrata come metodo di pagamento salvato.", - "hostedFieldsFailedTokenizationError": "Controlla e riprova.", - "hostedFieldsFieldsInvalidError": "Controlla e riprova.", - "hostedFieldsTokenizationNetworkErrorError": "Errore di rete. Riprova.", - "hostedFieldsTokenizationCvvVerificationFailedError": "La verifica della carta di credito non è andata a buon fine. Controlla i dati e riprova.", - "paypalAccountTokenizationFailedError": "Si è verificato un errore nel collegamento del conto PayPal. Riprova.", - "paypalFlowFailedError": "Si è verificato un errore di connessione a PayPal. Riprova.", - "paypalTokenizationRequestActiveError": "L'autorizzazione di pagamento PayPal è già in corso.", - "venmoCanceledError": "Si è verificato un errore. Assicurati di avere la versione più recente dell'app Venmo installata sul tuo dispositivo e che il browser supporti l'uso di Venmo.", - "vaultManagerPaymentMethodDeletionError": "Impossibile eliminare il metodo di pagamento; riprova.", - "venmoAppFailedError": "Impossibile trovare l'app Venmo sul dispositivo in uso.", - "unsupportedCardTypeError": "Questo tipo di carta non è supportato. Prova con un'altra carta.", - "applePayTokenizationError": "Si è verificato un errore di rete durante l'elaborazione del pagamento con Apple Pay. Riprova.", - "applePayActiveCardError": "Collega una carta supportata al tuo Apple Pay Wallet.", - "cardholderNameLabel": "Titolare della carta", - "cardNumberLabel": "Numero di carta", - "cvvLabel": "CVV", - "cvvThreeDigitLabelSubheading": "(3 cifre)", - "cvvFourDigitLabelSubheading": "(4 cifre)", - "cardholderNamePlaceholder": "Titolare della carta", - "expirationDateLabel": "Data di scadenza", - "expirationDateLabelSubheading": "(MM/AA)", - "expirationDatePlaceholder": "MM/AA", - "postalCodeLabel": "CAP", - "payWithCard": "Paga con una carta", - "endingIn": "Le cui ultime cifre sono {{lastFourCardDigits}}", - "Apple Pay": "Apple Pay", - "Venmo": "Venmo", - "Card": "Carta", - "PayPal": "PayPal", - "PayPal Credit": "PayPal Credit", - "Google Pay": "Google Pay", - "American Express": "American Express", - "Discover": "Discover", - "Diners Club": "Diners Club", - "MasterCard": "Mastercard", - "Visa": "Visa", - "JCB": "JCB", - "Maestro": "Maestro", - "UnionPay": "UnionPay" -}; - -},{}],154:[function(require,module,exports){ -'use strict'; - -module.exports = { - "payingWith": "{{paymentSource}}で支払う", - "chooseAnotherWayToPay": "別の支払方法を選択する", - "chooseAWayToPay": "支払方法を選択する", - "otherWaysToPay": "その他の支払方法", - "edit": "編集", - "doneEditing": "完了", - "editPaymentMethods": "支払方法の編集", - "CreditCardDeleteConfirmationMessage": "末尾が{{identifier}}の{{secondaryIdentifier}}カードを削除しますか?", - "PayPalAccountDeleteConfirmationMessage": "PayPalアカウント{{identifier}}を削除しますか?", - "VenmoAccountDeleteConfirmationMessage": "ユーザー名{{identifier}}のVenmoアカウントを削除してよろしいですか?", - "genericDeleteConfirmationMessage": "この支払い方法を削除してよろしいですか?", - "deleteCancelButton": "キャンセル", - "deleteConfirmationButton": "削除", - "cardVerification": "カード確認", - "fieldEmptyForCvv": "セキュリティコードを入力してください。", - "fieldEmptyForExpirationDate": "有効期限を入力してください。", - "fieldEmptyForCardholderName": "カード保有者の名前を入力してください。", - "fieldTooLongForCardholderName": "カード保有者の名前は256文字未満にしてください。", - "fieldEmptyForNumber": "番号を入力してください。", - "fieldEmptyForPostalCode": "郵便番号を入力してください。", - "fieldInvalidForCvv": "このセキュリティコードは無効です。", - "fieldInvalidForExpirationDate": "この有効期限は無効です。", - "fieldInvalidForNumber": "このカード番号は無効です。", - "fieldInvalidForPostalCode": "この郵便番号は無効です。", - "genericError": "弊社側で問題が発生しました。", - "hostedFieldsTokenizationFailOnDuplicateError": "このクレジットカードは、保存済みの支払方法としてすでに登録されています。", - "hostedFieldsFailedTokenizationError": "情報を確認してもう一度お試しください。", - "hostedFieldsFieldsInvalidError": "情報を確認してもう一度お試しください。", - "hostedFieldsTokenizationNetworkErrorError": "ネットワークエラーです。もう一度お試しください。", - "hostedFieldsTokenizationCvvVerificationFailedError": "クレジットカードの認証に失敗しました。情報を確認してもう一度お試しください。", - "paypalAccountTokenizationFailedError": "PayPalアカウントの追加で問題が発生しました。もう一度お試しください。", - "paypalFlowFailedError": "PayPalへの接続に問題が発生しました。もう一度お試しください。", - "paypalTokenizationRequestActiveError": "PayPal支払いの承認はすでに処理中です。", - "venmoCanceledError": "問題が発生しました。お客さまの端末にインストールされているVenmoアプリが最新のバージョンであること、お使いのブラウザがVenmoへの切り替えをサポートしていることを確認してください。", - "vaultManagerPaymentMethodDeletionError": "支払方法を削除できません。もう一度お試しください。", - "venmoAppFailedError": "お客さまの端末でVenmoアプリが見つかりませんでした。", - "unsupportedCardTypeError": "このカードタイプはサポートされていません。別のカードをご使用ください。", - "applePayTokenizationError": "Apple Payの支払いを処理する際にネットワークエラーが発生しました。もう一度お試しください。", - "applePayActiveCardError": "Apple Payウォレットに対応しているカードを追加してください。", - "cardholderNameLabel": "カード保有者の名前", - "cardNumberLabel": "カード番号", - "cvvLabel": "セキュリティコード", - "cvvThreeDigitLabelSubheading": "(3桁)", - "cvvFourDigitLabelSubheading": "(4桁)", - "cardholderNamePlaceholder": "カード保有者の名前", - "expirationDateLabel": "有効期限", - "expirationDateLabelSubheading": "(MM/YY)", - "expirationDatePlaceholder": "MM/YY", - "postalCodeLabel": "郵便番号", - "payWithCard": "カードで支払う", - "endingIn": "末尾が{{lastFourCardDigits}}", - "Apple Pay": "Apple Pay", - "Venmo": "Venmo", - "Card": "カード", - "PayPal": "PayPal", - "PayPal Credit": "PayPal Credit", - "Google Pay": "Google Pay", - "American Express": "American Express", - "Discover": "Discover", - "Diners Club": "Diners Club", - "MasterCard": "Mastercard", - "Visa": "Visa", - "JCB": "JCB", - "Maestro": "Maestro", - "UnionPay": "銀聯(UnionPay)" -}; - -},{}],155:[function(require,module,exports){ -'use strict'; - -module.exports = { - "payingWith": "{{paymentSource}}(으)로 결제", - "chooseAnotherWayToPay": "다른 결제수단 선택", - "chooseAWayToPay": "결제수단 선택", - "otherWaysToPay": "다른 방법으로 결제", - "edit": "편집", - "doneEditing": "완료", - "editPaymentMethods": "결제수단 편집", - "CreditCardDeleteConfirmationMessage": "끝번호가 {{identifier}}인 {{secondaryIdentifier}} 카드를 삭제하시겠어요?", - "PayPalAccountDeleteConfirmationMessage": "PayPal 계정 {{identifier}}을(를) 삭제하시겠어요?", - "VenmoAccountDeleteConfirmationMessage": "사용자 이름이 {{identifier}}인 Venmo 계정을 삭제하시겠어요?", - "genericDeleteConfirmationMessage": "이 결제수단을 삭제하시겠어요?", - "deleteCancelButton": "취소", - "deleteConfirmationButton": "삭제", - "cardVerification": "카드 인증", - "fieldEmptyForCvv": "CVV를 입력하세요.", - "fieldEmptyForExpirationDate": "만료일을 입력하세요.", - "fieldEmptyForCardholderName": "카드 소유자 이름을 입력하세요.", - "fieldTooLongForCardholderName": "카드 소유자 이름은 256자 미만이어야 합니다.", - "fieldEmptyForNumber": "번호를 입력하세요.", - "fieldEmptyForPostalCode": "우편번호를 입력하세요.", - "fieldInvalidForCvv": "이 보안 코드가 올바르지 않습니다.", - "fieldInvalidForExpirationDate": "이 만료일이 올바르지 않습니다.", - "fieldInvalidForNumber": "이 카드 번호가 올바르지 않습니다.", - "fieldInvalidForPostalCode": "이 우편번호가 올바르지 않습니다.", - "genericError": "저희 쪽에 문제가 발생했습니다.", - "hostedFieldsTokenizationFailOnDuplicateError": "저장된 결제수단에 이미 이 신용카드가 존재합니다.", - "hostedFieldsFailedTokenizationError": "정보를 확인하고 다시 시도해 주세요.", - "hostedFieldsFieldsInvalidError": "정보를 확인하고 다시 시도해 주세요.", - "hostedFieldsTokenizationNetworkErrorError": "네트워크 오류가 발생했습니다. 다시 시도해 주세요.", - "hostedFieldsTokenizationCvvVerificationFailedError": "신용카드 인증에 실패했습니다. 정보를 확인하고 다시 시도해 주세요.", - "paypalAccountTokenizationFailedError": "PayPal 계정을 추가하는 동안 문제가 발생했습니다. 다시 시도해 주세요.", - "paypalFlowFailedError": "PayPal 계정을 연결하는 동안 문제가 발생했습니다. 다시 시도해 주세요.", - "paypalTokenizationRequestActiveError": "PayPal 결제 승인이 이미 진행 중입니다.", - "venmoCanceledError": "오류가 발생했습니다. 기기에 최신 버전의 Venmo 앱이 설치되어 있으며 브라우저가 Venmo로 전환 기능을 지원하는지 확인하세요.", - "vaultManagerPaymentMethodDeletionError": "결제수단을 삭제할 수 없습니다. 다시 시도해 주세요.", - "venmoAppFailedError": "기기에서 Venmo 앱을 찾을 수 없습니다.", - "unsupportedCardTypeError": "이 카드 형식은 지원되지 않습니다. 다른 카드로 시도해 주세요.", - "applePayTokenizationError": "Apple Pay 결제를 처리하는 동안 네트워크 오류가 발생했습니다. 다시 시도해 주세요.", - "applePayActiveCardError": "Apple Pay 전자지갑에 지원되는 카드를 추가하세요.", - "cardholderNameLabel": "카드 소유자 이름", - "cardNumberLabel": "카드 번호", - "cvvLabel": "CVV", - "cvvThreeDigitLabelSubheading": "(3자리)", - "cvvFourDigitLabelSubheading": "(4자리)", - "cardholderNamePlaceholder": "카드 소유자 이름", - "expirationDateLabel": "만료일", - "expirationDateLabelSubheading": "(MM/YY)", - "expirationDatePlaceholder": "MM/YY", - "postalCodeLabel": "우편번호", - "payWithCard": "카드로 결제", - "endingIn": "끝번호: {{lastFourCardDigits}}", - "Apple Pay": "Apple Pay", - "Venmo": "Venmo", - "Card": "카드", - "PayPal": "PayPal", - "PayPal Credit": "PayPal Credit", - "Google Pay": "Google Pay", - "American Express": "American Express", - "Discover": "Discover", - "Diners Club": "Diners Club", - "MasterCard": "Mastercard", - "Visa": "Visa", - "JCB": "JCB", - "Maestro": "Maestro", - "UnionPay": "UnionPay" -}; - -},{}],156:[function(require,module,exports){ -'use strict'; - -module.exports = { - "payingWith": "Betalen met {{paymentSource}}", - "chooseAnotherWayToPay": "Kies een andere betaalmethode", - "chooseAWayToPay": "Kies een betaalwijze", - "otherWaysToPay": "Andere manieren om te betalen", - "edit": "Bewerk", - "doneEditing": "Gereed", - "editPaymentMethods": "Betaalmethoden aanpassen", - "CreditCardDeleteConfirmationMessage": "{{secondaryIdentifier}}-kaart eindigend op {{identifier}} verwijderen?", - "PayPalAccountDeleteConfirmationMessage": "PayPal-rekening {{identifier}} verwijderen?", - "VenmoAccountDeleteConfirmationMessage": "Weet u zeker dat u Venmo-rekening met gebruikersnaam {{identifier}} wilt verwijderen?", - "genericDeleteConfirmationMessage": "Weet u zeker dat u deze betaalmethode wilt verwijderen?", - "deleteCancelButton": "Annuleren", - "deleteConfirmationButton": "Verwijderen", - "cardVerification": "Kaartcontrole", - "fieldEmptyForCvv": "Vul een CSC in.", - "fieldEmptyForExpirationDate": "Vul een vervaldatum in.", - "fieldEmptyForCardholderName": "Vul een naam voor de kaarthouder in.", - "fieldTooLongForCardholderName": "De naam van de kaarthouder moet korter zijn dan 256 tekens.", - "fieldEmptyForNumber": "Vul een nummer in.", - "fieldEmptyForPostalCode": "Vul een postcode in.", - "fieldInvalidForCvv": "Deze CSC is ongeldig.", - "fieldInvalidForExpirationDate": "Deze vervaldatum is ongeldig.", - "fieldInvalidForNumber": "Dit creditcardnummer is ongeldig.", - "fieldInvalidForPostalCode": "Deze postcode is ongeldig.", - "genericError": "Er is iets fout gegaan.", - "hostedFieldsTokenizationFailOnDuplicateError": "Deze creditcard staat al geregistreerd als een opgeslagen betaalmethode.", - "hostedFieldsFailedTokenizationError": "Controleer uw gegevens en probeer het opnieuw.", - "hostedFieldsFieldsInvalidError": "Controleer uw gegevens en probeer het opnieuw.", - "hostedFieldsTokenizationNetworkErrorError": "Netwerkfout. Probeer het opnieuw.", - "hostedFieldsTokenizationCvvVerificationFailedError": "De controle van de creditcard is mislukt. Controleer uw gegevens en probeer het opnieuw.", - "paypalAccountTokenizationFailedError": "Er is iets misgegaan bij het toevoegen van de PayPal-rekening. Probeer het opnieuw.", - "paypalFlowFailedError": "Er is iets misgegaan bij de verbinding met PayPal. Probeer het opnieuw.", - "paypalTokenizationRequestActiveError": "De autorisatie van de PayPal-betaling is al in behandeling.", - "venmoCanceledError": "Er ging iets fout. Controleer of de meest recente versie van de Venmo-app op je apparaat is geïnstalleerd en dat je browser overschakelen naar Venmo ondersteunt.", - "vaultManagerPaymentMethodDeletionError": "Kan de betaalmethode niet verwijderen, probeer het opnieuw.", - "venmoAppFailedError": "De Venmo-app is niet aangetroffen op je apparaat.", - "unsupportedCardTypeError": "Dit type creditcard wordt niet ondersteund. Gebruik een andere creditcard.", - "applePayTokenizationError": "Er is een netwerkfout opgetreden bij het verwerken van de Apple Pay-betaling. Probeer het opnieuw.", - "applePayActiveCardError": "Voeg een ondersteunde creditcard toe aan je Apple Pay-wallet.", - "cardholderNameLabel": "Naam kaarthouder", - "cardNumberLabel": "Creditcardnummer", - "cvvLabel": "CVV", - "cvvThreeDigitLabelSubheading": "(3 cijfers)", - "cvvFourDigitLabelSubheading": "(4 cijfers)", - "cardholderNamePlaceholder": "Naam kaarthouder", - "expirationDateLabel": "VervaldatumB", - "expirationDateLabelSubheading": "(MM/JJ)", - "expirationDatePlaceholder": "MM/JJ", - "postalCodeLabel": "Postcode", - "payWithCard": "Betalen met creditcard", - "endingIn": "Eindigend op {{lastFourCardDigits}}", - "Apple Pay": "Apple Pay", - "Venmo": "Venmo", - "Card": "Creditcard", - "PayPal": "PayPal", - "PayPal Credit": "PayPal Credit", - "Google Pay": "Google Pay", - "American Express": "American Express", - "Discover": "Discover", - "Diners Club": "Diners Club", - "MasterCard": "Mastercard", - "Visa": "Visa", - "JCB": "JCB", - "Maestro": "Maestro", - "UnionPay": "UnionPay" -}; - -},{}],157:[function(require,module,exports){ -'use strict'; - -module.exports = { - "payingWith": "Betaling med {{paymentSource}}", - "chooseAnotherWayToPay": "Velg en annen måte å betale på", - "chooseAWayToPay": "Velg betalingsmåte", - "otherWaysToPay": "Andre måter å betale på", - "edit": "Rediger", - "doneEditing": "Fullført", - "editPaymentMethods": "Endre betalingsmetodene dine", - "CreditCardDeleteConfirmationMessage": "Vil du slette {{secondaryIdentifier}}-kortet som slutter på {{identifier}}?", - "PayPalAccountDeleteConfirmationMessage": "Vil du slette PayPal-kontoen {{identifier}}?", - "VenmoAccountDeleteConfirmationMessage": "Er du sikker på at du vil slette Venmo-kontoen med brukernavnet {{identifier}}?", - "genericDeleteConfirmationMessage": "Er du sikker på at du vil slette denne betalingsmetoden?", - "deleteCancelButton": "Avbryt", - "deleteConfirmationButton": "Slett", - "cardVerification": "Kortbekreftelse", - "fieldEmptyForCvv": "Oppgi en kortsikkerhetskode (CVV).", - "fieldEmptyForExpirationDate": "Oppgi en utløpsdato.", - "fieldEmptyForCardholderName": "Oppgi et navn for kortinnehaveren.", - "fieldTooLongForCardholderName": "Makslengden for kortinnehaverens navn er 256 tegn.", - "fieldEmptyForNumber": "Oppgi et nummer.", - "fieldEmptyForPostalCode": "Oppgi et postnummer.", - "fieldInvalidForCvv": "Denne sikkerhetskoden er ikke gyldig.", - "fieldInvalidForExpirationDate": "Denne utløpsdatoen er ikke gyldig.", - "fieldInvalidForNumber": "Dette kortnummeret er ikke gyldig.", - "fieldInvalidForPostalCode": "Dette postnummeret er ikke gyldig.", - "genericError": "Noe gikk galt hos oss.", - "hostedFieldsTokenizationFailOnDuplicateError": "Dette betalingskortet eksisterer allerede som en lagret betalingsmetode.", - "hostedFieldsFailedTokenizationError": "Kontroller informasjonen og prøv på nytt.", - "hostedFieldsFieldsInvalidError": "Kontroller informasjonen og prøv på nytt.", - "hostedFieldsTokenizationNetworkErrorError": "Nettverksfeil. Prøv på nytt.", - "hostedFieldsTokenizationCvvVerificationFailedError": "Bekreftelsen av betalingskortet mislyktes. Kontroller informasjonen og prøv på nytt.", - "paypalAccountTokenizationFailedError": "Noe gikk galt da PayPal-kontoen ble lagt til. Prøv på nytt.", - "paypalFlowFailedError": "Det oppsto et problem med tilkoblingen til PayPal. Prøv på nytt.", - "paypalTokenizationRequestActiveError": "Godkjenning av PayPal-betalingen pågår allerede", - "venmoCanceledError": "Noe gikk galt. Kontroller at du har installert den nyeste versjonen av Venmo-appen på enheten og at nettleseren din støtter bytte til Venmo.", - "vaultManagerPaymentMethodDeletionError": "Kunne ikke slette betalingsmetoden. Prøv på nytt.", - "venmoAppFailedError": "Finner ikke Venmo-appen på enheten.", - "unsupportedCardTypeError": "Denne korttypen støttes ikke. Prøv med et annet kort.", - "applePayTokenizationError": "Det oppsto en nettverksfeil under behandlingen av Apple Pay-betalingen. Prøv på nytt.", - "applePayActiveCardError": "Legg til et kort som støttes i Apple Pay-lommeboken din.", - "cardholderNameLabel": "Kortinnehaverens navn", - "cardNumberLabel": "Kortnummer", - "cvvLabel": "CVV", - "cvvThreeDigitLabelSubheading": "(3 siffer)", - "cvvFourDigitLabelSubheading": "(4 siffer)", - "cardholderNamePlaceholder": "Kortinnehaverens navn", - "expirationDateLabel": "Utløpsdato", - "expirationDateLabelSubheading": "(MM/ÅÅ)", - "expirationDatePlaceholder": "MM/ÅÅ", - "postalCodeLabel": "Postnummer", - "payWithCard": "Betal med kort", - "endingIn": "Slutter på {{lastFourCardDigits}}", - "Apple Pay": "Apple Pay", - "Venmo": "Venmo", - "Card": "Kort", - "PayPal": "PayPal", - "PayPal Credit": "PayPal Credit", - "Google Pay": "Google Pay", - "American Express": "American Express", - "Discover": "Discover", - "Diners Club": "Diners Club", - "MasterCard": "Mastercard", - "Visa": "Visa", - "JCB": "JCB", - "Maestro": "Maestro", - "UnionPay": "UnionPay" -}; - -},{}],158:[function(require,module,exports){ -'use strict'; - -module.exports = { - "payingWith": "Źródło finansowania płatności: {{paymentSource}}", - "chooseAnotherWayToPay": "Wybierz inne źródło finansowania płatności", - "chooseAWayToPay": "Wybierz źródło finansowania płatności", - "otherWaysToPay": "Inne źródła finansowania płatności", - "edit": "Edytuj", - "doneEditing": "Gotowe", - "editPaymentMethods": "Edytuj źródła finansowania płatności", - "CreditCardDeleteConfirmationMessage": "Usunąć kartę {{secondaryIdentifier}} o numerze zakończonym cyframi {{identifier}}?", - "PayPalAccountDeleteConfirmationMessage": "Usunąć konto PayPal {{identifier}}?", - "VenmoAccountDeleteConfirmationMessage": "Czy na pewno chcesz usunąć konto Venmo z nazwą użytkownika {{identifier}}?", - "genericDeleteConfirmationMessage": "Czy na pewno chcesz usunąć to źródło finansowania płatności?", - "deleteCancelButton": "Anuluj", - "deleteConfirmationButton": "Usuń", - "cardVerification": "Weryfikacja karty", - "fieldEmptyForCvv": "Podaj kod bezpieczeństwa.", - "fieldEmptyForExpirationDate": "Podaj datę ważności.", - "fieldEmptyForCardholderName": "Podaj imię i nazwisko posiadacza karty.", - "fieldTooLongForCardholderName": "Imię i nazwisko posiadacza karty musi mieć mniej niż 256 znaków.", - "fieldEmptyForNumber": "Podaj numer.", - "fieldEmptyForPostalCode": "Podaj kod pocztowy.", - "fieldInvalidForCvv": "Podany kod bezpieczeństwa jest nieprawidłowy.", - "fieldInvalidForExpirationDate": "Podana data ważności jest nieprawidłowa.", - "fieldInvalidForNumber": "Podany numer karty jest nieprawidłowy.", - "fieldInvalidForPostalCode": "Podany kod pocztowy jest nieprawidłowy.", - "genericError": "Wystąpił błąd po naszej stronie.", - "hostedFieldsTokenizationFailOnDuplicateError": "Ta karta kredytowa jest już zapisana jako źródło finansowania płatności.", - "hostedFieldsFailedTokenizationError": "Sprawdź swoje informacje i spróbuj ponownie.", - "hostedFieldsFieldsInvalidError": "Sprawdź swoje informacje i spróbuj ponownie.", - "hostedFieldsTokenizationNetworkErrorError": "Błąd sieci. Spróbuj ponownie.", - "hostedFieldsTokenizationCvvVerificationFailedError": "Weryfikacja karty kredytowej nie powiodła się. Sprawdź swoje informacje i spróbuj ponownie.", - "paypalAccountTokenizationFailedError": "Coś poszło nie tak podczas dodawania konta PayPal. Spróbuj ponownie.", - "paypalFlowFailedError": "Coś poszło nie tak podczas łączenia z systemem PayPal. Spróbuj ponownie.", - "paypalTokenizationRequestActiveError": "Autoryzacja płatności PayPal jest już w trakcie realizacji.", - "venmoCanceledError": "Wystąpił problem. Upewnij się, czy na swoim urządzeniu masz zainstalowaną najnowszą wersję aplikacji Venmo i Twoja przeglądarka ją obsługuje.", - "vaultManagerPaymentMethodDeletionError": "Nie można usunąć źródła finansowania płatności. Spróbuj ponownie.", - "venmoAppFailedError": "Nie można odnaleźć aplikacji Venmo na urządzeniu.", - "unsupportedCardTypeError": "Ten typ karty nie jest obsługiwany. Spróbuj użyć innej karty.", - "applePayTokenizationError": "Wystąpił błąd sieci podczas przetwarzania płatności Apple Pay. Spróbuj ponownie.", - "applePayActiveCardError": "Dodaj obsługiwaną kartę do portfela Apple Pay.", - "cardholderNameLabel": "Imię i nazwisko posiadacza karty", - "cardNumberLabel": "Numer karty", - "cvvLabel": "Kod CVC", - "cvvThreeDigitLabelSubheading": "(3 cyfry)", - "cvvFourDigitLabelSubheading": "(4 cyfry)", - "cardholderNamePlaceholder": "Imię i nazwisko posiadacza karty", - "expirationDateLabel": "Data ważności", - "expirationDateLabelSubheading": "(MM/RR)", - "expirationDatePlaceholder": "MM/RR", - "postalCodeLabel": "Kod pocztowy", - "payWithCard": "Zapłać kartą", - "endingIn": "O numerze zakończonym cyframi {{lastFourCardDigits}}", - "Apple Pay": "Apple Pay", - "Venmo": "Venmo", - "Card": "Karta", - "PayPal": "PayPal", - "PayPal Credit": "PayPal Credit", - "Google Pay": "Google Pay", - "American Express": "American Express", - "Discover": "Discover", - "Diners Club": "Diners Club", - "MasterCard": "Mastercard", - "Visa": "Visa", - "JCB": "JCB", - "Maestro": "Maestro", - "UnionPay": "UnionPay" -}; - -},{}],159:[function(require,module,exports){ -'use strict'; - -module.exports = { - "payingWith": "Pagando com {{paymentSource}}", - "chooseAnotherWayToPay": "Escolher outro meio de pagamento", - "chooseAWayToPay": "Escolher um meio de pagamento", - "otherWaysToPay": "Outro meio de pagamento", - "edit": "Editar", - "doneEditing": "Concluído", - "editPaymentMethods": "Editar meios de pagamento", - "CreditCardDeleteConfirmationMessage": "Excluir cartão com {{secondaryIdentifier}} com final {{identifier}}?", - "PayPalAccountDeleteConfirmationMessage": "Excluir conta do PayPal {{identifier}}?", - "VenmoAccountDeleteConfirmationMessage": "Tem certeza de que deseja excluir a conta do Venmo com o nome de usuário {{identifier}}?", - "genericDeleteConfirmationMessage": "Tem certeza de que deseja excluir este meio de pagamento?", - "deleteCancelButton": "Cancelar", - "deleteConfirmationButton": "Excluir", - "cardVerification": "Verificação do cartão", - "fieldEmptyForCvv": "Informe o Código de Segurança.", - "fieldEmptyForExpirationDate": "Informe a data de vencimento.", - "fieldEmptyForCardholderName": "Informe o nome do titular do cartão.", - "fieldTooLongForCardholderName": "O nome do titular do cartão deve ter menos de 256 caracteres.", - "fieldEmptyForNumber": "Informe um número.", - "fieldEmptyForPostalCode": "Informe um CEP.", - "fieldInvalidForCvv": "Este código de segurança não é válido.", - "fieldInvalidForExpirationDate": "Esta data de vencimento não é válida.", - "fieldInvalidForNumber": "O número do cartão não é válido.", - "fieldInvalidForPostalCode": "Este CEP não é válido.", - "genericError": "Ocorreu um erro.", - "hostedFieldsTokenizationFailOnDuplicateError": "Este cartão de crédito já está salvo em seus meios de pagamento.", - "hostedFieldsFailedTokenizationError": "Verifique as informações e tente novamente.", - "hostedFieldsFieldsInvalidError": "Verifique as informações e tente novamente.", - "hostedFieldsTokenizationNetworkErrorError": "Erro de rede. Tente novamente.", - "hostedFieldsTokenizationCvvVerificationFailedError": "Falha ao verificar o cartão de crédito. Verifique as informações e tente novamente.", - "paypalAccountTokenizationFailedError": "Ocorreu um erro ao adicionar a conta do PayPal. Tente novamente.", - "paypalFlowFailedError": "Ocorreu um erro de conexão com o PayPal. Tente novamente.", - "paypalTokenizationRequestActiveError": "A autorização de pagamento do PayPal já está em andamento.", - "venmoCanceledError": "Ocorreu um erro. Certifique-se de ter a versão mais recente do aplicativo Venmo instalado no seu dispositivo e que o seu navegador suporte a mudança para o Venmo.", - "vaultManagerPaymentMethodDeletionError": "Não é possível excluir o meio de pagamento, tente novamente.", - "venmoAppFailedError": "Não foi possível encontrar o aplicativo Venmo no seu dispositivo.", - "unsupportedCardTypeError": "Este tipo de cartão não é aceito. Experimente outro cartão.", - "applePayTokenizationError": "Ocorreu um erro de rede ao processar o pagamento com Apple Pay. Tente novamente.", - "applePayActiveCardError": "Adicione cartão suportado à sua carteira do Apple Pay.", - "cardholderNameLabel": "Nome do titular do cartão", - "cardNumberLabel": "Número do cartão", - "cvvLabel": "CSC", - "cvvThreeDigitLabelSubheading": "(3 dígitos)", - "cvvFourDigitLabelSubheading": "(4 dígitos)", - "cardholderNamePlaceholder": "Nome do titular do cartão", - "expirationDateLabel": "Data de vencimento", - "expirationDateLabelSubheading": "(MM/AA)", - "expirationDatePlaceholder": "MM/AA", - "postalCodeLabel": "CEP", - "payWithCard": "Pague com seu cartão", - "endingIn": "Com final {{lastFourCardDigits}}", - "Apple Pay": "Apple Pay", - "Venmo": "Venmo", - "Card": "Cartão", - "PayPal": "PayPal", - "PayPal Credit": "PayPal Credit", - "Google Pay": "Google Pay", - "American Express": "American Express", - "Discover": "Discover", - "Diners Club": "Diners Club", - "MasterCard": "Mastercard", - "Visa": "Visa", - "JCB": "JCB", - "Maestro": "Maestro", - "UnionPay": "UnionPay" -}; - -},{}],160:[function(require,module,exports){ -'use strict'; - -module.exports = { - "payingWith": "Pagar com {{paymentSource}}", - "chooseAnotherWayToPay": "Escolher outra forma de pagamento", - "chooseAWayToPay": "Escolha um meio de pagamento", - "otherWaysToPay": "Outras formas de pagamento", - "edit": "Editar", - "doneEditing": "Concluído", - "editPaymentMethods": "Editar meios de pagamento", - "CreditCardDeleteConfirmationMessage": "Eliminar o cartão {{secondaryIdentifier}} terminado em {{identifier}}?", - "PayPalAccountDeleteConfirmationMessage": "Eliminar {{identifier}} da conta PayPal?", - "VenmoAccountDeleteConfirmationMessage": "Tem a certeza de que pretende eliminar a conta Venmo com o nome de utilizador {{identifier}}?", - "genericDeleteConfirmationMessage": "Tem certeza de que pretende eliminar este meio de pagamento?", - "deleteCancelButton": "Cancelar", - "deleteConfirmationButton": "Eliminar", - "cardVerification": "Verificação de cartão", - "fieldEmptyForCvv": "Introduza o código CVV.", - "fieldEmptyForExpirationDate": "Introduza a data de validade.", - "fieldEmptyForCardholderName": "Introduza um nome do titular do cartão.", - "fieldTooLongForCardholderName": "O nome do titular do cartão tem de ter menos de 256 carateres.", - "fieldEmptyForNumber": "Introduza um número.", - "fieldEmptyForPostalCode": "Introduza o código postal.", - "fieldInvalidForCvv": "Este código de segurança não é válido.", - "fieldInvalidForExpirationDate": "Esta data de validade não é correta.", - "fieldInvalidForNumber": "Este número de cartão não é válido.", - "fieldInvalidForPostalCode": "Este código postal não é válido.", - "genericError": "Tudo indica que ocorreu um problema.", - "hostedFieldsTokenizationFailOnDuplicateError": "Este cartão de crédito já está registado como um meio de pagamento guardado.", - "hostedFieldsFailedTokenizationError": "Verifique os dados e tente novamente.", - "hostedFieldsFieldsInvalidError": "Verifique os dados e tente novamente.", - "hostedFieldsTokenizationNetworkErrorError": "Erro de rede. Tente novamente.", - "hostedFieldsTokenizationCvvVerificationFailedError": "A verificação do cartão de crédito falhou. Verifique os dados e tente novamente.", - "paypalAccountTokenizationFailedError": "Ocorreu um erro ao associar a conta PayPal. Tente novamente.", - "paypalFlowFailedError": "Ocorreu um erro na ligação com PayPal. Tente novamente.", - "paypalTokenizationRequestActiveError": "Já há uma autorização de pagamento PayPal em curso.", - "venmoCanceledError": "Ocorreu um erro. Certifique-se de que tem a versão mais recente da aplicação Venmo instalada no seu dispositivo e que o navegador suporta a mudança para o Venmo.", - "vaultManagerPaymentMethodDeletionError": "Não é possível eliminar o meio de pagamento, tente novamente.", - "venmoAppFailedError": "Não foi possível encontrar a aplicação Venmo no dispositivo.", - "unsupportedCardTypeError": "Este tipo de cartão não é suportado. Tente usar outro cartão.", - "applePayTokenizationError": "Ocorreu um erro de rede ao processar o pagamento com Apple Pay. Tente novamente.", - "applePayActiveCardError": "Adicione um cartão suportado à sua carteira Apple Pay.", - "cardholderNameLabel": "Nome do titular do cartão", - "cardNumberLabel": "Número do cartão", - "cvvLabel": "CVV", - "cvvThreeDigitLabelSubheading": "(3 dígitos)", - "cvvFourDigitLabelSubheading": "(4 dígitos)", - "cardholderNamePlaceholder": "Nome do titular do cartão", - "expirationDateLabel": "Data de validade", - "expirationDateLabelSubheading": "(MM/AA)", - "expirationDatePlaceholder": "MM/AA", - "postalCodeLabel": "Código postal", - "payWithCard": "Pagar com cartão", - "endingIn": "Terminado em {{lastFourCardDigits}}", - "Apple Pay": "Apple Pay", - "Venmo": "Venmo", - "Card": "Cartão", - "PayPal": "PayPal", - "PayPal Credit": "PayPal Credit", - "Google Pay": "Google Pay", - "American Express": "American Express", - "Discover": "Discover", - "Diners Club": "Diners Club", - "MasterCard": "Mastercard", - "Visa": "Visa", - "JCB": "JCB", - "Maestro": "Maestro", - "UnionPay": "UnionPay" -}; - -},{}],161:[function(require,module,exports){ -'use strict'; - -module.exports = { - "payingWith": "Способы оплаты: {{paymentSource}}", - "chooseAnotherWayToPay": "Выберите другой способ оплаты", - "chooseAWayToPay": "Выберите способ оплаты", - "otherWaysToPay": "Другие способы оплаты", - "edit": "Редактировать", - "doneEditing": "Готово", - "editPaymentMethods": "Редактировать способы оплаты", - "CreditCardDeleteConfirmationMessage": "Удалить карту {{secondaryIdentifier}}, оканчивающуюся на {{identifier}}?", - "PayPalAccountDeleteConfirmationMessage": "Удалить счет PayPal {{identifier}}?", - "VenmoAccountDeleteConfirmationMessage": "Вы действительно хотите удалить счет Venmo с именем пользователя {{identifier}}?", - "genericDeleteConfirmationMessage": "Вы действительно хотите удалить этот способ оплаты?", - "deleteCancelButton": "Отмена", - "deleteConfirmationButton": "Удалить", - "cardVerification": "Проверка карты", - "fieldEmptyForCvv": "Укажите код безопасности.", - "fieldEmptyForExpirationDate": "Укажите дату окончания срока действия.", - "fieldEmptyForCardholderName": "Введите имя и фамилию владельца карты.", - "fieldTooLongForCardholderName": "Имя владельца карты должно содержать не более 256 символов.", - "fieldEmptyForNumber": "Введите номер.", - "fieldEmptyForPostalCode": "Укажите почтовый индекс.", - "fieldInvalidForCvv": "Этот код безопасности недействителен.", - "fieldInvalidForExpirationDate": "Эта дата окончания срока действия недействительна.", - "fieldInvalidForNumber": "Этот номер карты недействителен.", - "fieldInvalidForPostalCode": "Этот почтовый индекс недействителен.", - "genericError": "Возникла проблема с нашей стороны.", - "hostedFieldsTokenizationFailOnDuplicateError": "Эта кредитная карта уже указана как сохраненный источник средств.", - "hostedFieldsFailedTokenizationError": "Проверьте правильность ввода данных и повторите попытку.", - "hostedFieldsFieldsInvalidError": "Проверьте правильность ввода данных и повторите попытку.", - "hostedFieldsTokenizationNetworkErrorError": "Ошибка сети. Повторите попытку.", - "hostedFieldsTokenizationCvvVerificationFailedError": "Проверка банковской карты не выполнена. Проверьте правильность ввода данных и повторите попытку.", - "paypalAccountTokenizationFailedError": "Что-то пошло не так — не удалось добавить учетную запись PayPal. Повторите попытку.", - "paypalFlowFailedError": "Что-то пошло не так — не удалось подключиться к системе PayPal. Повторите попытку.", - "paypalTokenizationRequestActiveError": "Выполняется авторизация платежа PayPal.", - "venmoCanceledError": "Возникла ошибка. Просим вас убедиться, что у вас установлена новейшая версия приложения Venmo и ваш браузер поддерживает переключение к Venmo.", - "vaultManagerPaymentMethodDeletionError": "Не удалось удалить способ оплаты. Повторите попытку.", - "venmoAppFailedError": "Приложение Venmo не обнаружено на вашем устройстве.", - "unsupportedCardTypeError": "Этот тип карты не поддерживается. Попробуйте воспользоваться другой картой.", - "applePayTokenizationError": "При обработке платежа через Apple Pay возникла сетевая ошибка. Повторите попытку.", - "applePayActiveCardError": "Добавьте поддерживаемую карту к своему счету Apple Pay.", - "cardholderNameLabel": "Имя и фамилия владельца", - "cardNumberLabel": "Номер карты", - "cvvLabel": "Код безопасности", - "cvvThreeDigitLabelSubheading": "(3 цифры)", - "cvvFourDigitLabelSubheading": "(4 цифры)", - "cardholderNamePlaceholder": "Имя и фамилия владельца", - "expirationDateLabel": "Срок действия", - "expirationDateLabelSubheading": "(ММ/ГГ)", - "expirationDatePlaceholder": "ММ/ГГ", - "postalCodeLabel": "Индекс", - "payWithCard": "Оплатить картой", - "endingIn": "Последние четыре цифры номера карты: {{lastFourCardDigits}}", - "Apple Pay": "Apple Pay", - "Venmo": "Venmo", - "Card": "Карта", - "PayPal": "PayPal", - "PayPal Credit": "PayPal Credit", - "Google Pay": "Google Pay", - "American Express": "American Express", - "Discover": "Discover", - "Diners Club": "Diners Club", - "MasterCard": "Mastercard", - "Visa": "Visa", - "JCB": "JCB", - "Maestro": "Maestro", - "UnionPay": "UnionPay" -}; - -},{}],162:[function(require,module,exports){ -'use strict'; - -module.exports = { - "payingWith": "Betalas med {{paymentSource}}", - "chooseAnotherWayToPay": "Välj ett annat sätt att betala", - "chooseAWayToPay": "Välj hur du vill betala", - "otherWaysToPay": "Andra sätt att betala", - "edit": "Ändra", - "doneEditing": "Klart", - "editPaymentMethods": "Redigera betalningsmetoder", - "CreditCardDeleteConfirmationMessage": "Ta bort {{secondaryIdentifier}}-kort som slutar på {{identifier}}?", - "PayPalAccountDeleteConfirmationMessage": "Ta bort PayPal-konto {{identifier}}?", - "VenmoAccountDeleteConfirmationMessage": "Är du säker på att du vill ta bort Venmo-konto med användarnamn {{identifier}}?", - "genericDeleteConfirmationMessage": "Är du säker på att du vill ta bort den här betalningsmetoden?", - "deleteCancelButton": "Avbryt", - "deleteConfirmationButton": "Ta bort", - "cardVerification": "Kortverifiering", - "fieldEmptyForCvv": "Fyll i en CVV-kod.", - "fieldEmptyForExpirationDate": "Fyll i ett utgångsdatum.", - "fieldEmptyForCardholderName": "Fyll i kortinnehavarens namn.", - "fieldTooLongForCardholderName": "Kortinnehavarens namn måste vara kortare än 256 tecken.", - "fieldEmptyForNumber": "Fyll i ett nummer.", - "fieldEmptyForPostalCode": "Fyll i ett postnummer.", - "fieldInvalidForCvv": "Den här säkerhetskoden är inte giltig.", - "fieldInvalidForExpirationDate": "Det här utgångsdatumet är inte giltigt.", - "fieldInvalidForNumber": "Det här kortnumret är inte giltigt.", - "fieldInvalidForPostalCode": "Det här postnumret är inte giltigt.", - "genericError": "Ett fel uppstod.", - "hostedFieldsTokenizationFailOnDuplicateError": "Det här betalkortet finns redan som en sparad betalningsmetod.", - "hostedFieldsFailedTokenizationError": "Kontrollera uppgifterna och försök igen.", - "hostedFieldsFieldsInvalidError": "Kontrollera uppgifterna och försök igen.", - "hostedFieldsTokenizationNetworkErrorError": "Nätverksfel. Försök igen.", - "hostedFieldsTokenizationCvvVerificationFailedError": "Verifieringen av betalkort misslyckades. Kontrollera uppgifterna och försök igen.", - "paypalAccountTokenizationFailedError": "Ett fel uppstod när PayPal-kontot skulle läggas till. Försök igen.", - "paypalFlowFailedError": "Ett fel uppstod när anslutningen till PayPal skulle upprättas. Försök igen.", - "paypalTokenizationRequestActiveError": "Betalningsgodkännandet för PayPal behandlas redan.", - "venmoCanceledError": "Något gick fel. Se till att du har den senaste versionen av Venmo-appen installerad på din enhet och att webbläsaren stöder att gå över till Venmo.", - "vaultManagerPaymentMethodDeletionError": "Det gick inte att ta bort betalningsmetoden. Försök igen.", - "venmoAppFailedError": "Venmo-appen kunde inte hittas på din enhet.", - "unsupportedCardTypeError": "Den här korttypen stöds inte. Pröva med ett annat kort.", - "applePayTokenizationError": "Ett nätverksfel inträffade när Apple Pay-betalningen skulle behandlas. Försök igen.", - "applePayActiveCardError": "Lägg till ett kort som stöds i Apple Pay-e-plånboken.", - "cardholderNameLabel": "Kortinnehavarens namn", - "cardNumberLabel": "Kortnummer", - "cvvLabel": "CVV", - "cvvThreeDigitLabelSubheading": "(3 siffror)", - "cvvFourDigitLabelSubheading": "(4 siffror)", - "cardholderNamePlaceholder": "Kortinnehavarens namn", - "expirationDateLabel": "Utgångsdatum", - "expirationDateLabelSubheading": "(MM/ÅÅ)", - "expirationDatePlaceholder": "MM/ÅÅ", - "postalCodeLabel": "Postnummer", - "payWithCard": "Betala med kort", - "endingIn": "Slutar på {{lastFourCardDigits}}", - "Apple Pay": "Apple Pay", - "Venmo": "Venmo", - "Card": "Kort", - "PayPal": "PayPal", - "PayPal Credit": "PayPal Credit", - "Google Pay": "Google Pay", - "American Express": "American Express", - "Discover": "Discover", - "Diners Club": "Diners Club", - "MasterCard": "Mastercard", - "Visa": "Visa", - "JCB": "JCB", - "Maestro": "Maestro", - "UnionPay": "UnionPay" -}; - -},{}],163:[function(require,module,exports){ -'use strict'; - -module.exports = { - "payingWith": "การชำระเงินด้วย {{paymentSource}}", - "chooseAnotherWayToPay": "เลือกวิธีอื่นเพื่อชำระเงิน", - "chooseAWayToPay": "เลือกวิธีชำระเงิน", - "otherWaysToPay": "วิธีอื่นๆ ในการชำระเงิน", - "edit": "แก้ไข", - "doneEditing": "เสร็จแล้ว", - "editPaymentMethods": "แก้ไขวิธีการชำระเงิน", - "CreditCardDeleteConfirmationMessage": "ลบบัตร {{secondaryIdentifier }} ที่ลงท้ายด้วย {{identifier}} หรือไม่", - "PayPalAccountDeleteConfirmationMessage": "ลบ {{identifier}} บัญชี PayPal หรือไม่", - "VenmoAccountDeleteConfirmationMessage": "คุณมั่นใจว่าต้องการลบบัญชี Venmo ที่มีชื่อผู้ใช้ {{identifier}} หรือไม่", - "genericDeleteConfirmationMessage": "คุณมั่นใจว่าต้องการลบวิธีการชำระเงินนี้หรือไม่", - "deleteCancelButton": "ยกเลิก", - "deleteConfirmationButton": "ลบ", - "cardVerification": "การตรวจสอบยืนยันบัตร", - "fieldEmptyForCvv": "โปรดกรอก CVV (รหัสการตรวจสอบยืนยันบัตร)", - "fieldEmptyForExpirationDate": "โปรดกรอกวันที่หมดอายุ", - "fieldEmptyForCardholderName": "โปรดกรอกชื่อเจ้าของบัตร", - "fieldTooLongForCardholderName": "ชื่อผู้ถือบัตรจะต้องไม่เกิน 256 อักขระ", - "fieldEmptyForNumber": "โปรดกรอกหมายเลข", - "fieldEmptyForPostalCode": "โปรดกรอกรหัสไปรษณีย์", - "fieldInvalidForCvv": "รหัสความปลอดภัยนี้ไม่ถูกต้อง", - "fieldInvalidForExpirationDate": "วันที่หมดอายุนี้ไม่ถูกต้อง", - "fieldInvalidForNumber": "หมายเลขบัตรนี้ไม่ถูกต้อง", - "fieldInvalidForPostalCode": "รหัสไปรษณีย์นี้ไม่ถูกต้อง", - "genericError": "เกิดข้อผิดพลาดขึ้นในระบบของเรา", - "hostedFieldsTokenizationFailOnDuplicateError": "บัตรเครดิตนี้ถูกบันทึกไว้เป็นวิธีการชำระเงิน", - "hostedFieldsFailedTokenizationError": "โปรดตรวจสอบข้อมูลของคุณ แล้วลองใหม่อีกครั้ง", - "hostedFieldsFieldsInvalidError": "โปรดตรวจสอบข้อมูลของคุณ แล้วลองใหม่อีกครั้ง", - "hostedFieldsTokenizationNetworkErrorError": "ข้อผิดพลาดด้านเครือข่าย โปรดลองอีกครั้ง", - "hostedFieldsTokenizationCvvVerificationFailedError": "การตรวจสอบยืนยันบัตรเครดิตล้มเหลว โปรดตรวจสอบข้อมูลของคุณ แล้วลองใหม่อีกครั้ง", - "paypalAccountTokenizationFailedError": "เกิดข้อผิดพลาดในการเพิ่มบัญชี PayPal โปรดลองอีกครั้ง", - "paypalFlowFailedError": "เกิดข้อผิดพลาดในการเชื่อมต่อกับ PayPal โปรดลองอีกครั้ง", - "paypalTokenizationRequestActiveError": "การอนุญาตการชำระเงินของ PayPal อยู่ในระหว่างดำเนินการ", - "venmoCanceledError": "เกิดข้อผิดพลาดบางประการ ตรวจสอบว่าคุณมีแอป Venmo เวอร์ชันล่าสุดติดตั้งในอุปกรณ์ของคุณ และมีเบราเซอร์ที่รองรับ Venmo", - "vaultManagerPaymentMethodDeletionError": "ไม่สามารถลบวิธีการชำระเงินได้ ลองอีกครั้ง", - "venmoAppFailedError": "ไม่พบแอป Venmo บนอุปกรณ์ของคุณ", - "unsupportedCardTypeError": "ไม่รองรับบัตรประเภทนี้ โปรดลองใช้บัตรใบอื่น", - "applePayTokenizationError": "เกิดข้อผิดพลาดด้านเครือข่ายขึ้นขณะดำเนินการชำระเงินด้วย Apple Pay โปรดลองอีกครั้ง", - "applePayActiveCardError": "เพิ่มบัตรที่รองรับในกระเป๋าสตางค์ Apple Pay ของคุณ", - "cardholderNameLabel": "ชื่อเจ้าของบัตร", - "cardNumberLabel": "หมายเลขบัตร", - "cvvLabel": "CVV", - "cvvThreeDigitLabelSubheading": "(3 หลัก)", - "cvvFourDigitLabelSubheading": "(4 หลัก)", - "cardholderNamePlaceholder": "ชื่อเจ้าของบัตร", - "expirationDateLabel": "วันหมดอายุ", - "expirationDateLabelSubheading": "(ดด/ปป)", - "expirationDatePlaceholder": "ดด/ปป", - "postalCodeLabel": "รหัสไปรษณีย์", - "payWithCard": "ชำระเงินด้วยบัตร", - "endingIn": "ลงท้ายด้วย {{lastFourCardDigits}}", - "Apple Pay": "Apple Pay", - "Venmo": "Venmo", - "Card": "บัตร", - "PayPal": "PayPal", - "PayPal Credit": "PayPal Credit", - "Google Pay": "Google Pay", - "American Express": "American Express", - "Discover": "Discover", - "Diners Club": "Diners Club", - "MasterCard": "Mastercard", - "Visa": "Visa", - "JCB": "JCB", - "Maestro": "Maestro", - "UnionPay": "UnionPay" -}; - -},{}],164:[function(require,module,exports){ -'use strict'; - -module.exports = { - "payingWith": "正在使用{{paymentSource}}付款", - "chooseAnotherWayToPay": "选择其他付款方式", - "chooseAWayToPay": "选择付款方式", - "otherWaysToPay": "其他付款方式", - "edit": "编辑", - "doneEditing": "完成", - "editPaymentMethods": "编辑付款方式", - "CreditCardDeleteConfirmationMessage": "删除尾号为{{identifier}}的{{secondaryIdentifier}}卡?", - "PayPalAccountDeleteConfirmationMessage": "删除PayPal账户{{identifier}}?", - "VenmoAccountDeleteConfirmationMessage": "确定要删除用户名为{{identifier}}的Venmo账户吗?", - "genericDeleteConfirmationMessage": "确定要删除该付款方式吗?", - "deleteCancelButton": "取消", - "deleteConfirmationButton": "删除", - "cardVerification": "卡验证", - "fieldEmptyForCvv": "请填写CVV。", - "fieldEmptyForExpirationDate": "请填写有效期限。", - "fieldEmptyForCardholderName": "请填写持卡人的姓名。", - "fieldTooLongForCardholderName": "持卡人姓名必须少于256个字符。", - "fieldEmptyForNumber": "请填写一个号码。", - "fieldEmptyForPostalCode": "请填写邮政编码。", - "fieldInvalidForCvv": "此安全代码无效。", - "fieldInvalidForExpirationDate": "此有效期限无效。", - "fieldInvalidForNumber": "此卡号无效。", - "fieldInvalidForPostalCode": "此邮政编码无效。", - "genericError": "我们遇到了一些问题", - "hostedFieldsTokenizationFailOnDuplicateError": "此信用卡已作为保存后的付款方式存在。", - "hostedFieldsFailedTokenizationError": "请检查您的信息,然后重试。", - "hostedFieldsFieldsInvalidError": "请检查您的信息,然后重试。", - "hostedFieldsTokenizationNetworkErrorError": "网络错误。请重试。", - "hostedFieldsTokenizationCvvVerificationFailedError": "信用卡验证失败。请检查您的信息,然后重试。", - "paypalAccountTokenizationFailedError": "添加PayPal账户时出错。请重试。", - "paypalFlowFailedError": "连接到PayPal时出错。请重试。", - "paypalTokenizationRequestActiveError": "PayPal付款授权已在进行中。", - "venmoCanceledError": "我们遇到了问题。请确保您的设备上已安装最新版本的Venmo应用,并且您的浏览器支持切换到Venmo。", - "vaultManagerPaymentMethodDeletionError": "无法删除付款方式,请重试。", - "venmoAppFailedError": "在您的设备上找不到Venmo应用。", - "unsupportedCardTypeError": "不支持该卡类型。请尝试其他卡。", - "applePayTokenizationError": "处理Apple Pay付款时出现网络错误。请重试。", - "applePayActiveCardError": "请添加受支持的卡到您的Apple Pay钱包。", - "cardholderNameLabel": "持卡人姓名", - "cardNumberLabel": "卡号", - "cvvLabel": "CVV", - "cvvThreeDigitLabelSubheading": "(3位数)", - "cvvFourDigitLabelSubheading": "(4位数)", - "cardholderNamePlaceholder": "持卡人姓名", - "expirationDateLabel": "有效期限", - "expirationDateLabelSubheading": "(MM/YY)", - "expirationDatePlaceholder": "MM/YY", - "postalCodeLabel": "邮政编码", - "payWithCard": "用卡付款", - "endingIn": "尾号为{{lastFourCardDigits}}", - "Apple Pay": "Apple Pay", - "Venmo": "Venmo", - "Card": "卡", - "PayPal": "PayPal", - "PayPal Credit": "PayPal Credit", - "Google Pay": "Google Pay", - "American Express": "American Express", - "Discover": "Discover", - "Diners Club": "Diners Club", - "MasterCard": "Mastercard", - "Visa": "Visa", - "JCB": "JCB", - "Maestro": "Maestro", - "UnionPay": "银联" -}; - -},{}],165:[function(require,module,exports){ -'use strict'; - -module.exports = { - "payingWith": "付款方式為 {{paymentSource}}", - "chooseAnotherWayToPay": "選擇其他付款方式", - "chooseAWayToPay": "選擇付款方式", - "otherWaysToPay": "其他付款方式", - "edit": "編輯", - "doneEditing": "完成", - "editPaymentMethods": "編輯付款方式", - "CreditCardDeleteConfirmationMessage": "要刪除末碼為 {{identifier}} 的 {{secondaryIdentifier}} 卡嗎?", - "PayPalAccountDeleteConfirmationMessage": "要刪除 PayPal 帳戶 {{identifier}} 嗎?", - "VenmoAccountDeleteConfirmationMessage": "確定要刪除使用者名稱為 {{identifier}} 的 Venmo 帳戶嗎?", - "genericDeleteConfirmationMessage": "確定要刪除此付款方式嗎?", - "deleteCancelButton": "取消", - "deleteConfirmationButton": "刪除", - "cardVerification": "信用卡認證", - "fieldEmptyForCvv": "請填寫信用卡認證碼。", - "fieldEmptyForExpirationDate": "請填寫到期日。", - "fieldEmptyForCardholderName": "請填寫持卡人的名字。", - "fieldTooLongForCardholderName": "持卡人姓名必須少於 256 個字元。", - "fieldEmptyForNumber": "請填寫號碼。", - "fieldEmptyForPostalCode": "請填寫郵遞區號。", - "fieldInvalidForCvv": "此安全代碼無效。", - "fieldInvalidForExpirationDate": "此到期日無效。", - "fieldInvalidForNumber": "此卡號無效。", - "fieldInvalidForPostalCode": "此郵遞區號無效。", - "genericError": "系統發生錯誤。", - "hostedFieldsTokenizationFailOnDuplicateError": "此信用卡已存在,為已儲存的付款方式。", - "hostedFieldsFailedTokenizationError": "請檢查你的資料並再試一次。", - "hostedFieldsFieldsInvalidError": "請檢查你的資料並再試一次。", - "hostedFieldsTokenizationNetworkErrorError": "網絡錯誤。再試一次。", - "hostedFieldsTokenizationCvvVerificationFailedError": "信用卡認證失敗。請檢查你的資料並再試一次。", - "paypalAccountTokenizationFailedError": "加入 PayPal 帳戶時發生錯誤。再試一次。", - "paypalFlowFailedError": "連接 PayPal 時發生錯誤。再試一次。", - "paypalTokenizationRequestActiveError": "PayPal 付款授權已在處理中。", - "venmoCanceledError": "系統發生錯誤,請確保你已在裝置上安裝最新版本的 Venmo 應用程式,而且你的瀏覽器支援切換至 Venmo。", - "vaultManagerPaymentMethodDeletionError": "無法刪除付款方式,請再試一次。", - "venmoAppFailedError": "在你的裝置上找不到 Venmo 應用程式。", - "unsupportedCardTypeError": "不可使用此信用卡類型。請改用其他信用卡。", - "applePayTokenizationError": "處理 Apple Pay 付款時發生網絡錯誤。再試一次。", - "applePayActiveCardError": "在 Apple Pay 錢包中加入支援的信用卡。", - "cardholderNameLabel": "持卡人名字", - "cardNumberLabel": "卡號", - "cvvLabel": "信用卡認證碼", - "cvvThreeDigitLabelSubheading": "(3 位數)", - "cvvFourDigitLabelSubheading": "(4 位數)", - "cardholderNamePlaceholder": "持卡人名字", - "expirationDateLabel": "到期日", - "expirationDateLabelSubheading": "(MM/YY)", - "expirationDatePlaceholder": "月 / 年", - "postalCodeLabel": "郵遞區號", - "payWithCard": "使用信用卡付款", - "endingIn": "末碼為 {{lastFourCardDigits}}", - "Apple Pay": "Apple Pay", - "Venmo": "Venmo", - "Card": "信用卡", - "PayPal": "PayPal", - "PayPal Credit": "PayPal Credit", - "Google Pay": "Google Pay", - "American Express": "American Express", - "Discover": "Discover", - "Diners Club": "Diners Club", - "MasterCard": "Mastercard", - "Visa": "Visa", - "JCB": "JCB", - "Maestro": "Maestro", - "UnionPay": "UnionPay" -}; - -},{}],166:[function(require,module,exports){ -'use strict'; - -module.exports = { - "payingWith": "以 {{paymentSource}} 付款", - "chooseAnotherWayToPay": "選擇付款的以其他方式付款", - "chooseAWayToPay": "選擇付款方式", - "otherWaysToPay": "其他付款方式", - "edit": "編輯", - "doneEditing": "完成", - "editPaymentMethods": "編輯付款方式", - "CreditCardDeleteConfirmationMessage": "確定要刪除末碼為 {{identifier}} 的 {{secondaryIdentifier}} 卡片嗎?", - "PayPalAccountDeleteConfirmationMessage": "確定要刪除 {{identifier}} PayPal 帳戶嗎?", - "VenmoAccountDeleteConfirmationMessage": "確定要刪除用戶名稱為 {{identifier}} 的 Venmo 帳戶嗎?", - "genericDeleteConfirmationMessage": "確定要刪除此付款方式?", - "deleteCancelButton": "取消", - "deleteConfirmationButton": "刪除", - "cardVerification": "信用卡認證", - "fieldEmptyForCvv": "請填妥信用卡驗證碼。", - "fieldEmptyForExpirationDate": "請填妥到期日。", - "fieldEmptyForCardholderName": "請填妥持卡人姓名。", - "fieldTooLongForCardholderName": "持卡人姓名不能超過 256 個字元。", - "fieldEmptyForNumber": "請填妥號碼。", - "fieldEmptyForPostalCode": "請填寫郵遞區號。", - "fieldInvalidForCvv": "這組安全代碼無效。", - "fieldInvalidForExpirationDate": "此到期日無效。", - "fieldInvalidForNumber": "此卡號無效。", - "fieldInvalidForPostalCode": "此郵遞區號無效。", - "genericError": "我們的系統發生問題。", - "hostedFieldsTokenizationFailOnDuplicateError": "此信用卡已存在,為已儲存的付款方式。", - "hostedFieldsFailedTokenizationError": "請檢查你的資料並重試。", - "hostedFieldsFieldsInvalidError": "請檢查你的資料並重試。", - "hostedFieldsTokenizationNetworkErrorError": "網路錯誤。請重試。", - "hostedFieldsTokenizationCvvVerificationFailedError": "信用卡認證失敗。請檢查你的資料並重試。", - "paypalAccountTokenizationFailedError": "新增 PayPal 帳戶時,系統發生錯誤。請重試。", - "paypalFlowFailedError": "連結至 PayPal 時,系統發生錯誤。請重試。", - "paypalTokenizationRequestActiveError": "PayPal 支付款項的授權已在處理中。", - "venmoCanceledError": "系統發生錯誤。確認你的裝置上裝有最新版本的 Venmo 應用程式,而且瀏覽器支援切換至 Venmo。", - "vaultManagerPaymentMethodDeletionError": "無法刪除付款方式,請再試一次。", - "venmoAppFailedError": "你的裝置上找不到 Venmo 應用程式。", - "unsupportedCardTypeError": "不支援此卡片類型。請改用其他卡片。", - "applePayTokenizationError": "在處理 Apple Pay 付款時發生網路錯誤。請重試。", - "applePayActiveCardError": "新增支援的卡片至你的 Apple Pay 錢包。", - "cardholderNameLabel": "持卡人姓名", - "cardNumberLabel": "卡號", - "cvvLabel": "CVV", - "cvvThreeDigitLabelSubheading": "(3 位數)", - "cvvFourDigitLabelSubheading": "(4 位數)", - "cardholderNamePlaceholder": "持卡人姓名", - "expirationDateLabel": "到期日", - "expirationDateLabelSubheading": "(月 / 年)", - "expirationDatePlaceholder": "月 / 年", - "postalCodeLabel": "郵遞區號", - "payWithCard": "使用信用卡 / 扣帳卡付款", - "endingIn": "末碼為 {{lastFourCardDigits}}", - "Apple Pay": "Apple Pay", - "Venmo": "Venmo", - "Card": "信用卡或扣帳卡", - "PayPal": "PayPal", - "PayPal Credit": "PayPal 信貸", - "Google Pay": "Google Pay", - "American Express": "美國運通 (American Express)", - "Discover": "Discover", - "Diners Club": "大來國際 (Diners Club)", - "MasterCard": "Mastercard", - "Visa": "Visa", - "JCB": "JCB", - "Maestro": "Maestro", - "UnionPay": "UnionPay" -}; - -},{}],167:[function(require,module,exports){ -'use strict'; - -var assign = require('../lib/assign').assign; -var classlist = require('../lib/classlist'); -var DropinError = require('../lib/dropin-error'); -var errors = require('../constants').errors; -var Promise = require('../lib/promise'); - -function BaseView(options) { - options = options || {}; - - assign(this, options); -} - -BaseView.prototype.getElementById = function (id) { - if (!this.element) { return null; } - - return this.element.querySelector('[data-braintree-id="' + id + '"]'); -}; - -BaseView.prototype.requestPaymentMethod = function () { - return Promise.reject(new DropinError(errors.NO_PAYMENT_METHOD_ERROR)); -}; - -BaseView.prototype.getPaymentMethod = function () { - return this.activeMethodView && this.activeMethodView.paymentMethod; -}; - -BaseView.prototype.onSelection = function () {}; - -BaseView.prototype.teardown = function () { - return Promise.resolve(); -}; - -BaseView.prototype.preventUserAction = function () { - if (this.element) { - classlist.add(this.element, 'braintree-sheet--loading'); - } - - this.model.preventUserAction(); -}; - -BaseView.prototype.allowUserAction = function () { - if (this.element) { - classlist.remove(this.element, 'braintree-sheet--loading'); - } - - this.model.allowUserAction(); -}; - -module.exports = BaseView; - -},{"../constants":117,"../lib/assign":124,"../lib/classlist":126,"../lib/dropin-error":129,"../lib/promise":137}],168:[function(require,module,exports){ -'use strict'; - -var BaseView = require('./base-view'); -var addSelectionEventHandler = require('../lib/add-selection-event-handler'); -var paymentMethodTypes = require('../constants').paymentMethodTypes; - -function DeleteConfirmationView() { - BaseView.apply(this, arguments); - - this._initialize(); -} - -DeleteConfirmationView.prototype = Object.create(BaseView.prototype); -DeleteConfirmationView.prototype.constructor = DeleteConfirmationView; -DeleteConfirmationView.ID = DeleteConfirmationView.prototype.ID = 'delete-confirmation'; - -DeleteConfirmationView.prototype._initialize = function () { - this._yesButton = this.getElementById('delete-confirmation__yes'); - this._noButton = this.getElementById('delete-confirmation__no'); - this._messageBox = this.getElementById('delete-confirmation__message'); - - addSelectionEventHandler(this._yesButton, function () { - this.model.deleteVaultedPaymentMethod(); - }.bind(this)); - addSelectionEventHandler(this._noButton, function () { - this.model.cancelDeleteVaultedPaymentMethod(); - }.bind(this)); -}; - -DeleteConfirmationView.prototype.applyPaymentMethod = function (paymentMethod) { - var identifier, secondaryIdentifier; - var messageText = this.strings[paymentMethod.type + 'DeleteConfirmationMessage']; - - if (messageText) { - switch (paymentMethod.type) { - case paymentMethodTypes.card: - identifier = paymentMethod.details.lastFour; - secondaryIdentifier = paymentMethod.details.cardType; - break; - case paymentMethodTypes.paypal: - identifier = paymentMethod.details.email; - break; - case paymentMethodTypes.venmo: - identifier = paymentMethod.details.username; - break; - default: - break; - } - - messageText = messageText.replace('{{identifier}}', identifier); - if (secondaryIdentifier) { - messageText = messageText.replace('{{secondaryIdentifier}}', secondaryIdentifier); - } - } else { - messageText = this.strings.genericDeleteConfirmationMessage; - } - this._messageBox.innerText = messageText; -}; - -module.exports = DeleteConfirmationView; - -},{"../constants":117,"../lib/add-selection-event-handler":121,"./base-view":167}],169:[function(require,module,exports){ -'use strict'; - -var analytics = require('../lib/analytics'); -var analyticsKinds = require('../constants').analyticsKinds; -var BaseView = require('./base-view'); -var classlist = require('../lib/classlist'); -var sheetViews = require('./payment-sheet-views'); -var PaymentMethodsView = require('./payment-methods-view'); -var PaymentOptionsView = require('./payment-options-view'); -var DeleteConfirmationView = require('./delete-confirmation-view'); -var addSelectionEventHandler = require('../lib/add-selection-event-handler'); -var Promise = require('../lib/promise'); -var supportsFlexbox = require('../lib/supports-flexbox'); - -var CHANGE_ACTIVE_PAYMENT_METHOD_TIMEOUT = require('../constants').CHANGE_ACTIVE_PAYMENT_METHOD_TIMEOUT; -var DEVELOPER_MISCONFIGURATION_MESSAGE = require('../constants').errors.DEVELOPER_MISCONFIGURATION_MESSAGE; - -function MainView() { - BaseView.apply(this, arguments); - - this.dependenciesInitializing = 0; - - this._initialize(); -} - -MainView.prototype = Object.create(BaseView.prototype); -MainView.prototype.constructor = MainView; - -MainView.prototype._initialize = function () { - var paymentOptionsView; - - this._hasMultiplePaymentOptions = this.model.supportedPaymentOptions.length > 1; - - this._views = {}; - - this.sheetContainer = this.getElementById('sheet-container'); - this.sheetErrorText = this.getElementById('sheet-error-text'); - - this.toggle = this.getElementById('toggle'); - this.disableWrapper = this.getElementById('disable-wrapper'); - this.lowerContainer = this.getElementById('lower-container'); - - this.loadingContainer = this.getElementById('loading-container'); - this.dropinContainer = this.element.querySelector('.braintree-dropin'); - - this.supportsFlexbox = supportsFlexbox(); - - this.model.on('asyncDependenciesReady', this.hideLoadingIndicator.bind(this)); - - this.model.on('errorOccurred', this.showSheetError.bind(this)); - this.model.on('errorCleared', this.hideSheetError.bind(this)); - this.model.on('preventUserAction', this.preventUserAction.bind(this)); - this.model.on('allowUserAction', this.allowUserAction.bind(this)); - - this.paymentSheetViewIDs = Object.keys(sheetViews).reduce(function (ids, sheetViewKey) { - var PaymentSheetView, paymentSheetView; - - if (this.model.supportedPaymentOptions.indexOf(sheetViewKey) !== -1) { - PaymentSheetView = sheetViews[sheetViewKey]; - - paymentSheetView = new PaymentSheetView({ - element: this.getElementById(PaymentSheetView.ID), - mainView: this, - model: this.model, - client: this.client, - strings: this.strings - }); - paymentSheetView.initialize(); - - this.addView(paymentSheetView); - ids.push(paymentSheetView.ID); - } - - return ids; - }.bind(this), []); - - this.paymentMethodsViews = new PaymentMethodsView({ - element: this.element, - model: this.model, - strings: this.strings - }); - this.addView(this.paymentMethodsViews); - - this.deleteConfirmationView = new DeleteConfirmationView({ - element: this.getElementById('delete-confirmation'), - model: this.model, - strings: this.strings - }); - this.addView(this.deleteConfirmationView); - - addSelectionEventHandler(this.toggle, this.toggleAdditionalOptions.bind(this)); - - this.model.on('changeActivePaymentMethod', function () { - setTimeout(function () { - this.setPrimaryView(PaymentMethodsView.ID); - }.bind(this), CHANGE_ACTIVE_PAYMENT_METHOD_TIMEOUT); - }.bind(this)); - - this.model.on('changeActivePaymentView', function (id) { - var activePaymentView = this.getView(id); - - if (id === PaymentMethodsView.ID) { - classlist.add(this.paymentMethodsViews.container, 'braintree-methods--active'); - classlist.remove(this.sheetContainer, 'braintree-sheet--active'); - } else { - setTimeout(function () { - classlist.add(this.sheetContainer, 'braintree-sheet--active'); - }.bind(this), 0); - classlist.remove(this.paymentMethodsViews.container, 'braintree-methods--active'); - if (!this.getView(id).getPaymentMethod()) { - this.model.setPaymentMethodRequestable({ - isRequestable: false - }); - } - } - - activePaymentView.onSelection(); - }.bind(this)); - - this.model.on('removeActivePaymentMethod', function () { - var activePaymentView = this.getView(this.model.getActivePaymentView()); - - if (activePaymentView && typeof activePaymentView.removeActivePaymentMethod === 'function') { - activePaymentView.removeActivePaymentMethod(); - } - }.bind(this)); - - this.model.on('enableEditMode', this.enableEditMode.bind(this)); - - this.model.on('disableEditMode', this.disableEditMode.bind(this)); - - this.model.on('confirmPaymentMethodDeletion', this.openConfirmPaymentMethodDeletionDialog.bind(this)); - this.model.on('cancelVaultedPaymentMethodDeletion', this.cancelVaultedPaymentMethodDeletion.bind(this)); - this.model.on('startVaultedPaymentMethodDeletion', this.startVaultedPaymentMethodDeletion.bind(this)); - this.model.on('finishVaultedPaymentMethodDeletion', this.finishVaultedPaymentMethodDeletion.bind(this)); - - if (this._hasMultiplePaymentOptions) { - paymentOptionsView = new PaymentOptionsView({ - client: this.client, - element: this.getElementById(PaymentOptionsView.ID), - mainView: this, - model: this.model, - strings: this.strings - }); - - this.addView(paymentOptionsView); - } - - this._sendToDefaultView(); -}; - -MainView.prototype.addView = function (view) { - this._views[view.ID] = view; -}; - -MainView.prototype.getView = function (id) { - return this._views[id]; -}; - -MainView.prototype.setPrimaryView = function (id, secondaryViewId) { - var paymentMethod; - - setTimeout(function () { - this.element.className = prefixShowClass(id); - if (secondaryViewId) { - classlist.add(this.element, prefixShowClass(secondaryViewId)); - } - }.bind(this), 0); - - this.primaryView = this.getView(id); - this.model.changeActivePaymentView(id); - - if (this.paymentSheetViewIDs.indexOf(id) !== -1) { - if (this.model.getPaymentMethods().length > 0 || this.getView(PaymentOptionsView.ID)) { - this.showToggle(); - } else { - this.hideToggle(); - } - } else if (id === PaymentMethodsView.ID) { - this.showToggle(); - // Move options below the upper-container - this.getElementById('lower-container').appendChild(this.getElementById('options')); - } else if (id === PaymentOptionsView.ID) { - this.hideToggle(); - } - - if (!this.supportsFlexbox) { - this.element.setAttribute('data-braintree-no-flexbox', true); - } - - paymentMethod = this.primaryView.getPaymentMethod(); - - this.model.setPaymentMethodRequestable({ - isRequestable: Boolean(paymentMethod), - type: paymentMethod && paymentMethod.type, - selectedPaymentMethod: paymentMethod - }); - - this.model.clearError(); -}; - -MainView.prototype.requestPaymentMethod = function () { - var activePaymentView = this.getView(this.model.getActivePaymentView()); - - return activePaymentView.requestPaymentMethod().then(function (payload) { - analytics.sendEvent(this.client, 'request-payment-method.' + analyticsKinds[payload.type]); - - return payload; - }.bind(this)).catch(function (err) { - analytics.sendEvent(this.client, 'request-payment-method.error'); - - return Promise.reject(err); - }.bind(this)); -}; - -MainView.prototype.hideLoadingIndicator = function () { - classlist.add(this.dropinContainer, 'braintree-loaded'); - classlist.add(this.loadingContainer, 'braintree-hidden'); -}; - -MainView.prototype.showLoadingIndicator = function () { - classlist.remove(this.dropinContainer, 'braintree-loaded'); - classlist.remove(this.loadingContainer, 'braintree-hidden'); -}; - -MainView.prototype.toggleAdditionalOptions = function () { - var sheetViewID; - var isPaymentSheetView = this.paymentSheetViewIDs.indexOf(this.primaryView.ID) !== -1; - - this.hideToggle(); - - if (!this._hasMultiplePaymentOptions) { - sheetViewID = this.paymentSheetViewIDs[0]; - - classlist.add(this.element, prefixShowClass(sheetViewID)); - this.model.changeActivePaymentView(sheetViewID); - } else if (isPaymentSheetView) { - if (this.model.getPaymentMethods().length === 0) { - this.setPrimaryView(PaymentOptionsView.ID); - } else { - this.setPrimaryView(PaymentMethodsView.ID, PaymentOptionsView.ID); - this.hideToggle(); - } - } else { - classlist.add(this.element, prefixShowClass(PaymentOptionsView.ID)); - } -}; - -MainView.prototype.showToggle = function () { - if (this.model.isInEditMode()) { - return; - } - classlist.remove(this.toggle, 'braintree-hidden'); - classlist.add(this.lowerContainer, 'braintree-hidden'); -}; - -MainView.prototype.hideToggle = function () { - classlist.add(this.toggle, 'braintree-hidden'); - classlist.remove(this.lowerContainer, 'braintree-hidden'); -}; - -MainView.prototype.showSheetError = function (error) { - var errorMessage; - var genericErrorMessage = this.strings.genericError; - - if (this.strings.hasOwnProperty(error)) { - errorMessage = this.strings[error]; - } else if (error && error.code) { - errorMessage = this.strings[snakeCaseToCamelCase(error.code) + 'Error'] || genericErrorMessage; - } else if (error === 'developerError') { - errorMessage = DEVELOPER_MISCONFIGURATION_MESSAGE; - } else { - errorMessage = genericErrorMessage; - } - - classlist.add(this.dropinContainer, 'braintree-sheet--has-error'); - this.sheetErrorText.innerHTML = errorMessage; -}; - -MainView.prototype.hideSheetError = function () { - classlist.remove(this.dropinContainer, 'braintree-sheet--has-error'); -}; - -MainView.prototype.getOptionsElements = function () { - return this._views.options.elements; -}; - -MainView.prototype.preventUserAction = function () { - classlist.remove(this.disableWrapper, 'braintree-hidden'); -}; - -MainView.prototype.allowUserAction = function () { - classlist.add(this.disableWrapper, 'braintree-hidden'); -}; - -MainView.prototype.teardown = function () { - var error; - var viewNames = Object.keys(this._views); - var teardownPromises = viewNames.map(function (view) { - return this._views[view].teardown().catch(function (err) { - error = err; - }); - }.bind(this)); - - return Promise.all(teardownPromises).then(function () { - if (error) { - return Promise.reject(error); - } - - return Promise.resolve(); - }); -}; - -MainView.prototype.enableEditMode = function () { - this.setPrimaryView(this.paymentMethodsViews.ID); - this.paymentMethodsViews.enableEditMode(); - this.hideToggle(); - - this.model.setPaymentMethodRequestable({ - isRequestable: false - }); -}; - -MainView.prototype.disableEditMode = function () { - var paymentMethod; - - this.hideSheetError(); - this.paymentMethodsViews.disableEditMode(); - this.showToggle(); - - paymentMethod = this.primaryView.getPaymentMethod(); - - this.model.setPaymentMethodRequestable({ - isRequestable: Boolean(paymentMethod), - type: paymentMethod && paymentMethod.type, - selectedPaymentMethod: paymentMethod - }); -}; - -MainView.prototype.openConfirmPaymentMethodDeletionDialog = function (paymentMethod) { - this.deleteConfirmationView.applyPaymentMethod(paymentMethod); - this.setPrimaryView(this.deleteConfirmationView.ID); -}; - -MainView.prototype.cancelVaultedPaymentMethodDeletion = function () { - this.setPrimaryView(this.paymentMethodsViews.ID); -}; - -MainView.prototype.startVaultedPaymentMethodDeletion = function () { - this.element.className = ''; - this.showLoadingIndicator(); -}; - -MainView.prototype.finishVaultedPaymentMethodDeletion = function (error) { - var self = this; - - this.paymentMethodsViews.refreshPaymentMethods(); - - if (error && this.model.getPaymentMethods().length > 0) { - this.model.enableEditMode(); - this.showSheetError('vaultManagerPaymentMethodDeletionError'); - } else { - this._sendToDefaultView(); - } - - return new Promise(function (resolve) { - setTimeout(function () { - // allow all the views to reset before hiding the loading indicator - self.hideLoadingIndicator(); - resolve(); - }, 500); - }); -}; - -MainView.prototype._sendToDefaultView = function () { - var paymentMethods = this.model.getPaymentMethods(); - var preselectVaultedPaymentMethod = this.model.merchantConfiguration.preselectVaultedPaymentMethod !== false; - - if (paymentMethods.length > 0) { - if (preselectVaultedPaymentMethod) { - this.model.changeActivePaymentMethod(paymentMethods[0]); - } else { - this.setPrimaryView(this.paymentMethodsViews.ID); - } - } else if (this._hasMultiplePaymentOptions) { - this.setPrimaryView(PaymentOptionsView.ID); - } else { - this.setPrimaryView(this.paymentSheetViewIDs[0]); - } -}; -function snakeCaseToCamelCase(s) { - return s.toLowerCase().replace(/(\_\w)/g, function (m) { - return m[1].toUpperCase(); - }); -} - -function prefixShowClass(classname) { - return 'braintree-show-' + classname; -} - -module.exports = MainView; - -},{"../constants":117,"../lib/add-selection-event-handler":121,"../lib/analytics":122,"../lib/classlist":126,"../lib/promise":137,"../lib/supports-flexbox":139,"./base-view":167,"./delete-confirmation-view":168,"./payment-methods-view":171,"./payment-options-view":172,"./payment-sheet-views":177}],170:[function(require,module,exports){ -'use strict'; - -var BaseView = require('./base-view'); -var classlist = require('../lib/classlist'); -var constants = require('../constants'); - -var addSelectionEventHandler = require('../lib/add-selection-event-handler'); - -var paymentMethodHTML = "
\n
\n \n \n \n
\n
@DISABLE_MESSAGE
\n
\n\n
\n \n \n \n
\n\n
@TITLE
@SUBTITLE
\n\n
\n
\n \n \n \n
\n
\n"; - -function PaymentMethodView() { - BaseView.apply(this, arguments); - - this._initialize(); -} - -PaymentMethodView.prototype = Object.create(BaseView.prototype); -PaymentMethodView.prototype.constructor = PaymentMethodView; - -PaymentMethodView.prototype._initialize = function () { - var endingInText; - var html = paymentMethodHTML; - var paymentMethodCardTypes = constants.paymentMethodCardTypes; - var paymentMethodTypes = constants.paymentMethodTypes; - - this.element = document.createElement('div'); - this.element.className = 'braintree-method'; - this.element.setAttribute('tabindex', '0'); - - addSelectionEventHandler(this.element, this._choosePaymentMethod.bind(this)); - - html = html.replace(/@DISABLE_MESSAGE/g, this.strings.hasSubscription); - - switch (this.paymentMethod.type) { - case paymentMethodTypes.applePay: - html = html.replace(/@ICON/g, 'logoApplePay') - .replace(/@CLASSNAME/g, '') - .replace(/@TITLE/g, this.strings['Apple Pay']) - .replace(/@SUBTITLE/g, ''); - break; - case paymentMethodTypes.card: - endingInText = this.strings.endingIn.replace('{{lastFourCardDigits}}', this.paymentMethod.details.lastFour); - html = html.replace(/@ICON/g, 'icon-' + paymentMethodCardTypes[this.paymentMethod.details.cardType]) - .replace(/@CLASSNAME/g, ' braintree-icon--bordered') - .replace(/@TITLE/g, endingInText) - .replace(/@SUBTITLE/g, this.strings[this.paymentMethod.details.cardType]); - break; - case paymentMethodTypes.googlePay: - html = html.replace(/@ICON/g, 'logoGooglePay') - .replace(/@CLASSNAME/g, '') - .replace(/@TITLE/g, this.strings['Google Pay']) - .replace(/@SUBTITLE/g, ''); - break; - case paymentMethodTypes.paypal: - html = html.replace(/@ICON/g, 'logoPayPal') - .replace(/@CLASSNAME/g, '') - .replace(/@TITLE/g, this.paymentMethod.details.email) - .replace(/@SUBTITLE/g, this.strings.PayPal); - break; - case paymentMethodTypes.venmo: - html = html.replace(/@ICON/g, 'logoVenmo') - .replace(/@CLASSNAME/g, '') - .replace(/@TITLE/g, this.paymentMethod.details.username) - .replace(/@SUBTITLE/g, this.strings.Venmo); - break; - default: - break; - } - - this.element.innerHTML = html; - this.checkMark = this.element.querySelector('.braintree-method__check-container'); - addSelectionEventHandler(this.element.querySelector('.braintree-method__delete-container'), this._selectDelete.bind(this)); -}; - -PaymentMethodView.prototype.setActive = function (isActive) { - // setTimeout required to animate addition of new payment methods - setTimeout(function () { - classlist.toggle(this.element, 'braintree-method--active', isActive); - }.bind(this), 0); -}; - -PaymentMethodView.prototype.enableEditMode = function () { - classlist.add(this.checkMark, 'braintree-hidden'); - if (this.paymentMethod.hasSubscription) { - classlist.add(this.element, 'braintree-method--disabled'); - } -}; - -PaymentMethodView.prototype.disableEditMode = function () { - classlist.remove(this.checkMark, 'braintree-hidden'); - classlist.remove(this.element, 'braintree-method--disabled'); -}; - -PaymentMethodView.prototype._choosePaymentMethod = function () { - if (this.model.isInEditMode()) { - return; - } - this.model.changeActivePaymentMethod(this.paymentMethod); -}; - -PaymentMethodView.prototype._selectDelete = function () { - this.model.confirmPaymentMethodDeletion(this.paymentMethod); -}; - -module.exports = PaymentMethodView; - -},{"../constants":117,"../lib/add-selection-event-handler":121,"../lib/classlist":126,"./base-view":167}],171:[function(require,module,exports){ -'use strict'; - -var BaseView = require('./base-view'); -var PaymentMethodView = require('./payment-method-view'); -var DropinError = require('../lib/dropin-error'); -var classlist = require('../lib/classlist'); -var errors = require('../constants').errors; -var Promise = require('../lib/promise'); -var addSelectionEventHandler = require('../lib/add-selection-event-handler'); - -var PAYMENT_METHOD_TYPE_TO_TRANSLATION_STRING = { - CreditCard: 'Card', - PayPalAccount: 'PayPal', - ApplePayCard: 'Apple Pay', - AndroidPayCard: 'Google Pay', - VenmoAccount: 'Venmo' -}; - -function PaymentMethodsView() { - BaseView.apply(this, arguments); - - this._initialize(); -} - -PaymentMethodsView.prototype = Object.create(BaseView.prototype); -PaymentMethodsView.prototype.constructor = PaymentMethodsView; -PaymentMethodsView.ID = PaymentMethodsView.prototype.ID = 'methods'; - -PaymentMethodsView.prototype._initialize = function () { - this.views = []; - this.container = this.getElementById('methods-container'); - this._headingLabel = this.getElementById('methods-label'); - this._editButton = this.getElementById('methods-edit'); - - this.model.on('addPaymentMethod', this._addPaymentMethod.bind(this)); - this.model.on('changeActivePaymentMethod', this._changeActivePaymentMethodView.bind(this)); - this.model.on('refreshPaymentMethods', this.refreshPaymentMethods.bind(this)); - - this.refreshPaymentMethods(); - - if (this.model.merchantConfiguration.vaultManager) { - this.model.on('removePaymentMethod', this._removePaymentMethod.bind(this)); - - addSelectionEventHandler(this._editButton, function () { - if (this.model.isInEditMode()) { - this.model.disableEditMode(); - } else { - this.model.enableEditMode(); - } - }.bind(this)); - - classlist.remove(this._editButton, 'braintree-hidden'); - } -}; - -PaymentMethodsView.prototype.removeActivePaymentMethod = function () { - if (!this.activeMethodView) { - return; - } - this.activeMethodView.setActive(false); - this.activeMethodView = null; - classlist.add(this._headingLabel, 'braintree-no-payment-method-selected'); -}; - -PaymentMethodsView.prototype._getPaymentMethodString = function () { - var stringKey, paymentMethodTypeString; - - if (!this.activeMethodView) { - return ''; - } - - stringKey = PAYMENT_METHOD_TYPE_TO_TRANSLATION_STRING[this.activeMethodView.paymentMethod.type]; - paymentMethodTypeString = this.strings[stringKey]; - - return this.strings.payingWith.replace('{{paymentSource}}', paymentMethodTypeString); -}; - -PaymentMethodsView.prototype.enableEditMode = function () { - classlist.add(this.container, 'braintree-methods--edit'); - - this._editButton.innerHTML = this.strings.deleteCancelButton; - this._headingLabel.innerHTML = this.strings.editPaymentMethods; - - this.views.forEach(function (view) { - view.enableEditMode(); - }); -}; - -PaymentMethodsView.prototype.disableEditMode = function () { - classlist.remove(this.container, 'braintree-methods--edit'); - - this._editButton.innerHTML = this.strings.edit; - this._headingLabel.innerHTML = this._getPaymentMethodString(); - - this.views.forEach(function (view) { - view.disableEditMode(); - }); -}; - -PaymentMethodsView.prototype._addPaymentMethod = function (paymentMethod) { - var paymentMethodView = new PaymentMethodView({ - model: this.model, - paymentMethod: paymentMethod, - strings: this.strings - }); - - if (this.model.isGuestCheckout && this.container.firstChild) { - this.container.removeChild(this.container.firstChild); - this.views.pop(); - } - - if (this.container.firstChild) { - this.container.insertBefore(paymentMethodView.element, this.container.firstChild); - } else { - this.container.appendChild(paymentMethodView.element); - } - - this.views.push(paymentMethodView); -}; - -PaymentMethodsView.prototype._removePaymentMethod = function (paymentMethod) { - var i; - - for (i = 0; i < this.views.length; i++) { - if (this.views[i].paymentMethod === paymentMethod) { - this.container.removeChild(this.views[i].element); - this._headingLabel.innerHTML = ' '; - this.views.splice(i, 1); - break; - } - } -}; - -PaymentMethodsView.prototype._changeActivePaymentMethodView = function (paymentMethod) { - var i; - var previousActiveMethodView = this.activeMethodView; - - for (i = 0; i < this.views.length; i++) { - if (this.views[i].paymentMethod === paymentMethod) { - this.activeMethodView = this.views[i]; - this._headingLabel.innerHTML = this._getPaymentMethodString(); - break; - } - } - - if (previousActiveMethodView) { - previousActiveMethodView.setActive(false); - } - this.activeMethodView.setActive(true); - classlist.remove(this._headingLabel, 'braintree-no-payment-method-selected'); -}; - -PaymentMethodsView.prototype.requestPaymentMethod = function () { - if (!this.activeMethodView || this.model.isInEditMode()) { - return Promise.reject(new DropinError(errors.NO_PAYMENT_METHOD_ERROR)); - } - - return Promise.resolve(this.activeMethodView.paymentMethod); -}; - -PaymentMethodsView.prototype.refreshPaymentMethods = function () { - var i; - var paymentMethods = this.model.getPaymentMethods(); - - this.views.forEach(function (view) { - this.container.removeChild(view.element); - }.bind(this)); - - this.views = []; - - for (i = paymentMethods.length - 1; i >= 0; i--) { - this._addPaymentMethod(paymentMethods[i]); - } -}; - -module.exports = PaymentMethodsView; - -},{"../constants":117,"../lib/add-selection-event-handler":121,"../lib/classlist":126,"../lib/dropin-error":129,"../lib/promise":137,"./base-view":167,"./payment-method-view":170}],172:[function(require,module,exports){ -'use strict'; - -var analytics = require('../lib/analytics'); -var addSelectionEventHandler = require('../lib/add-selection-event-handler'); -var BaseView = require('./base-view'); - -var paymentOptionIDs = require('../constants').paymentOptionIDs; - -var paymentMethodOptionHTML = "
\n \n \n \n
\n\n
\n @OPTION_TITLE\n
\n
\n"; - -function PaymentOptionsView() { - BaseView.apply(this, arguments); - - this._initialize(); -} - -PaymentOptionsView.prototype = Object.create(BaseView.prototype); -PaymentOptionsView.prototype.constructor = PaymentOptionsView; -PaymentOptionsView.ID = PaymentOptionsView.prototype.ID = 'options'; - -PaymentOptionsView.prototype._initialize = function () { - this.container = this.getElementById('payment-options-container'); - this.elements = {}; - - this.model.supportedPaymentOptions.forEach(function (paymentOptionID) { - this._addPaymentOption(paymentOptionID); - }.bind(this)); -}; - -PaymentOptionsView.prototype._addPaymentOption = function (paymentOptionID) { - var paymentSource; - var div = document.createElement('div'); - var html = paymentMethodOptionHTML; - var clickHandler = function clickHandler() { - this.mainView.setPrimaryView(paymentOptionID); - this.model.selectPaymentOption(paymentOptionID); - analytics.sendEvent(this.client, 'selected.' + paymentOptionIDs[paymentOptionID]); - }.bind(this); - - div.className = 'braintree-option braintree-option__' + paymentOptionID; - div.setAttribute('tabindex', '0'); - - switch (paymentOptionID) { - case paymentOptionIDs.applePay: - paymentSource = this.strings['Apple Pay']; - html = html.replace(/@ICON/g, 'logoApplePay'); - break; - case paymentOptionIDs.card: - paymentSource = this.strings.Card; - html = html.replace(/@ICON/g, 'iconCardFront'); - html = html.replace(/@CLASSNAME/g, 'braintree-icon--bordered'); - break; - case paymentOptionIDs.googlePay: - paymentSource = this.strings['Google Pay']; - html = html.replace(/@ICON/g, 'logoGooglePay'); - break; - case paymentOptionIDs.paypal: - paymentSource = this.strings.PayPal; - html = html.replace(/@ICON/g, 'logoPayPal'); - break; - case paymentOptionIDs.paypalCredit: - paymentSource = this.strings['PayPal Credit']; - html = html.replace(/@ICON/g, 'logoPayPalCredit'); - break; - case paymentOptionIDs.venmo: - paymentSource = this.strings.Venmo; - html = html.replace(/@ICON/g, 'logoVenmo'); - break; - default: - break; - } - - html = html.replace(/@OPTION_LABEL/g, this._generateOptionLabel(paymentSource)); - html = html.replace(/@OPTION_TITLE/g, paymentSource); - html = html.replace(/@CLASSNAME/g, ''); - - div.innerHTML = html; - - addSelectionEventHandler(div, clickHandler); - - this.container.appendChild(div); - this.elements[paymentOptionID] = { - div: div, - clickHandler: clickHandler - }; -}; - -PaymentOptionsView.prototype._generateOptionLabel = function (paymentSourceString) { - return this.strings.payingWith.replace('{{paymentSource}}', paymentSourceString); -}; - -module.exports = PaymentOptionsView; - -},{"../constants":117,"../lib/add-selection-event-handler":121,"../lib/analytics":122,"./base-view":167}],173:[function(require,module,exports){ -(function (global){ -'use strict'; - -var assign = require('../../lib/assign').assign; -var BaseView = require('../base-view'); -var btApplePay = require('braintree-web/apple-pay'); -var DropinError = require('../../lib/dropin-error'); -var isHTTPS = require('../../lib/is-https'); -var Promise = require('../../lib/promise'); -var paymentOptionIDs = require('../../constants').paymentOptionIDs; - -function ApplePayView() { - BaseView.apply(this, arguments); -} - -ApplePayView.prototype = Object.create(BaseView.prototype); -ApplePayView.prototype.constructor = ApplePayView; -ApplePayView.ID = ApplePayView.prototype.ID = paymentOptionIDs.applePay; - -ApplePayView.prototype.initialize = function () { - var self = this; - - self.applePayConfiguration = assign({}, self.model.merchantConfiguration.applePay); - - self.model.asyncDependencyStarting(); - - return btApplePay.create({client: this.client}).then(function (applePayInstance) { - var buttonDiv = self.getElementById('apple-pay-button'); - - self.applePayInstance = applePayInstance; - - self.model.on('changeActivePaymentView', function (paymentViewID) { - if (paymentViewID !== self.ID) { - return; - } - - global.ApplePaySession.canMakePaymentsWithActiveCard(self.applePayInstance.merchantIdentifier).then(function (canMakePayments) { - if (!canMakePayments) { - self.model.reportError('applePayActiveCardError'); - } - }); - }); - - buttonDiv.onclick = self._showPaymentSheet.bind(self); - buttonDiv.style['-apple-pay-button-style'] = self.model.merchantConfiguration.applePay.buttonStyle || 'black'; - - self.model.asyncDependencyReady(); - }).catch(function (err) { - self.model.asyncDependencyFailed({ - view: self.ID, - error: new DropinError(err) - }); - }); -}; - -ApplePayView.prototype._showPaymentSheet = function () { - var self = this; - var request = self.applePayInstance.createPaymentRequest(this.applePayConfiguration.paymentRequest); - var session = new global.ApplePaySession(2, request); - - session.onvalidatemerchant = function (event) { - self.applePayInstance.performValidation({ - validationURL: event.validationURL, - displayName: self.applePayConfiguration.displayName - }).then(function (validationData) { - session.completeMerchantValidation(validationData); - }).catch(function (validationErr) { - self.model.reportError(validationErr); - session.abort(); - }); - }; - - session.onpaymentauthorized = function (event) { - self.applePayInstance.tokenize({ - token: event.payment.token - }).then(function (payload) { - session.completePayment(global.ApplePaySession.STATUS_SUCCESS); - payload.payment = event.payment; - self.model.addPaymentMethod(payload); - }).catch(function (tokenizeErr) { - self.model.reportError(tokenizeErr); - session.completePayment(global.ApplePaySession.STATUS_FAILURE); - }); - }; - - session.begin(); - - return false; -}; - -ApplePayView.prototype.updateConfiguration = function (key, value) { - this.applePayConfiguration[key] = value; -}; - -ApplePayView.isEnabled = function (options) { - var gatewayConfiguration = options.client.getConfiguration().gatewayConfiguration; - var applePayEnabled = gatewayConfiguration.applePayWeb && Boolean(options.merchantConfiguration.applePay); - var applePayBrowserSupported; - - if (!applePayEnabled) { - return Promise.resolve(false); - } - - applePayBrowserSupported = global.ApplePaySession && isHTTPS.isHTTPS(); - - if (!applePayBrowserSupported) { - return Promise.resolve(false); - } - - return Promise.resolve(Boolean(global.ApplePaySession.canMakePayments())); -}; - -module.exports = ApplePayView; - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"../../constants":117,"../../lib/assign":124,"../../lib/dropin-error":129,"../../lib/is-https":133,"../../lib/promise":137,"../base-view":167,"braintree-web/apple-pay":24}],174:[function(require,module,exports){ -(function (global){ -'use strict'; - -var analytics = require('../../lib/analytics'); -var assign = require('../../lib/assign').assign; -var browserDetection = require('../../lib/browser-detection'); -var BaseView = require('../base-view'); -var btPaypal = require('braintree-web/paypal-checkout'); -var DropinError = require('../../lib/dropin-error'); -var constants = require('../../constants'); -var assets = require('../../lib/assets'); -var translations = require('../../translations').fiveCharacterLocales; -var Promise = require('../../lib/promise'); - -var ASYNC_DEPENDENCY_TIMEOUT = 30000; -var READ_ONLY_CONFIGURATION_OPTIONS = ['offerCredit', 'locale']; -var DEFAULT_CHECKOUTJS_LOG_LEVEL = 'warn'; - -var paypalScriptLoadInProgressPromise; - -function BasePayPalView() { - BaseView.apply(this, arguments); -} - -BasePayPalView.prototype = Object.create(BaseView.prototype); - -BasePayPalView.prototype.initialize = function () { - var asyncDependencyTimeoutHandler; - var isCredit = Boolean(this._isPayPalCredit); - var setupComplete = false; - var self = this; - var paypalType = isCredit ? 'paypalCredit' : 'paypal'; - var paypalConfiguration = this.model.merchantConfiguration[paypalType]; - - this.paypalConfiguration = assign({}, paypalConfiguration); - - this.model.asyncDependencyStarting(); - asyncDependencyTimeoutHandler = setTimeout(function () { - self.model.asyncDependencyFailed({ - view: self.ID, - error: new DropinError('There was an error connecting to PayPal.') - }); - }, ASYNC_DEPENDENCY_TIMEOUT); - - return btPaypal.create({client: this.client}).then(function (paypalInstance) { - var checkoutJSConfiguration; - var buttonSelector = '[data-braintree-id="paypal-button"]'; - var environment = self.client.getConfiguration().gatewayConfiguration.environment === 'production' ? 'production' : 'sandbox'; - var locale = self.model.merchantConfiguration.locale; - - self.paypalInstance = paypalInstance; - - self.paypalConfiguration.offerCredit = Boolean(isCredit); - checkoutJSConfiguration = { - env: environment, - style: self.paypalConfiguration.buttonStyle || {}, - commit: self.paypalConfiguration.commit, - payment: function () { - return paypalInstance.createPayment(self.paypalConfiguration).catch(reportError); - }, - onAuthorize: function (data) { - return paypalInstance.tokenizePayment(data).then(function (tokenizePayload) { - if (self.paypalConfiguration.flow === 'vault' && !self.model.isGuestCheckout) { - tokenizePayload.vaulted = true; - } - self.model.addPaymentMethod(tokenizePayload); - }).catch(reportError); - }, - onError: reportError - }; - - if (locale && locale in translations) { - self.paypalConfiguration.locale = locale; - checkoutJSConfiguration.locale = locale; - } - - if (isCredit) { - buttonSelector = '[data-braintree-id="paypal-credit-button"]'; - checkoutJSConfiguration.style.label = 'credit'; - } - - return global.paypal.Button.render(checkoutJSConfiguration, buttonSelector).then(function () { - self.model.asyncDependencyReady(); - setupComplete = true; - clearTimeout(asyncDependencyTimeoutHandler); - }); - }).catch(reportError); - - function reportError(err) { - if (setupComplete) { - self.model.reportError(err); - } else { - self.model.asyncDependencyFailed({ - view: self.ID, - error: err - }); - clearTimeout(asyncDependencyTimeoutHandler); - } - } -}; - -BasePayPalView.prototype.updateConfiguration = function (key, value) { - if (READ_ONLY_CONFIGURATION_OPTIONS.indexOf(key) === -1) { - this.paypalConfiguration[key] = value; - } -}; - -BasePayPalView.isEnabled = function (options) { - var gatewayConfiguration = options.client.getConfiguration().gatewayConfiguration; - - if (!gatewayConfiguration.paypalEnabled) { - return Promise.resolve(false); - } - - if (browserDetection.isIe9() || browserDetection.isIe10()) { - analytics.sendEvent(options.client, options.viewID + '.checkout.js-browser-not-supported'); - - return Promise.resolve(false); - } - - if (global.paypal && global.paypal.Button) { - return Promise.resolve(true); - } - - if (paypalScriptLoadInProgressPromise) { - return paypalScriptLoadInProgressPromise; - } - - paypalScriptLoadInProgressPromise = assets.loadScript({ - src: constants.CHECKOUT_JS_SOURCE, - id: constants.PAYPAL_CHECKOUT_SCRIPT_ID, - dataAttributes: { - 'log-level': options.merchantConfiguration.paypal.logLevel || DEFAULT_CHECKOUTJS_LOG_LEVEL - } - }).then(function () { - return Promise.resolve(true); - }).catch(function () { - return Promise.resolve(false); - }).then(function (result) { - paypalScriptLoadInProgressPromise = null; - - return Promise.resolve(result); - }); - - return paypalScriptLoadInProgressPromise; -}; - -module.exports = BasePayPalView; - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"../../constants":117,"../../lib/analytics":122,"../../lib/assets":123,"../../lib/assign":124,"../../lib/browser-detection":125,"../../lib/dropin-error":129,"../../lib/promise":137,"../../translations":152,"../base-view":167,"braintree-web/paypal-checkout":93}],175:[function(require,module,exports){ -'use strict'; - -var assign = require('../../lib/assign').assign; - -var BaseView = require('../base-view'); -var classlist = require('../../lib/classlist'); -var constants = require('../../constants'); -var DropinError = require('../../lib/dropin-error'); -var hostedFields = require('braintree-web/hosted-fields'); -var isUtf8 = require('../../lib/is-utf-8'); -var transitionHelper = require('../../lib/transition-helper'); -var Promise = require('../../lib/promise'); - -var cardIconHTML = "
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n"; - -function CardView() { - BaseView.apply(this, arguments); -} - -CardView.prototype = Object.create(BaseView.prototype); -CardView.prototype.constructor = CardView; -CardView.ID = CardView.prototype.ID = constants.paymentOptionIDs.card; - -CardView.prototype.initialize = function () { - var cvvFieldGroup, postalCodeFieldGroup; - var cardholderNameField = this.getElementById('cardholder-name-field-group'); - var cardIcons = this.getElementById('card-view-icons'); - var hfOptions = this._generateHostedFieldsOptions(); - - cardIcons.innerHTML = cardIconHTML; - this._hideUnsupportedCardIcons(); - - this.hasCVV = hfOptions.fields.cvv; - this.hasCardholderName = Boolean(this.model.merchantConfiguration.card && this.model.merchantConfiguration.card.cardholderName); - this.cardholderNameInput = cardholderNameField.querySelector('input'); - this.cardNumberIcon = this.getElementById('card-number-icon'); - this.cardNumberIconSvg = this.getElementById('card-number-icon-svg'); - this.cvvIcon = this.getElementById('cvv-icon'); - this.cvvIconSvg = this.getElementById('cvv-icon-svg'); - this.cvvLabelDescriptor = this.getElementById('cvv-label-descriptor'); - this.fieldErrors = {}; - this.extraInputs = [ - { - fieldName: 'cardholderName', - enabled: this.hasCardholderName, - required: this.hasCardholderName && this.model.merchantConfiguration.card.cardholderName.required, - requiredError: this.strings.fieldEmptyForCardholderName, - validations: [ - { - isValid: function (value) { - return value.length < 256; - }, - error: this.strings.fieldTooLongForCardholderName - } - ] - } - ]; - - if (!this.hasCVV) { - cvvFieldGroup = this.getElementById('cvv-field-group'); - cvvFieldGroup.parentNode.removeChild(cvvFieldGroup); - } - - if (!hfOptions.fields.postalCode) { - postalCodeFieldGroup = this.getElementById('postal-code-field-group'); - postalCodeFieldGroup.parentNode.removeChild(postalCodeFieldGroup); - } - - this.extraInputs.forEach(function (extraInput) { - if (extraInput.enabled) { - this._setupExtraInput(extraInput); - } else { - this._removeExtraInput(extraInput); - } - }.bind(this)); - - this.model.asyncDependencyStarting(); - - return hostedFields.create(hfOptions).then(function (hostedFieldsInstance) { - this.hostedFieldsInstance = hostedFieldsInstance; - this.hostedFieldsInstance.on('blur', this._onBlurEvent.bind(this)); - this.hostedFieldsInstance.on('cardTypeChange', this._onCardTypeChangeEvent.bind(this)); - this.hostedFieldsInstance.on('focus', this._onFocusEvent.bind(this)); - this.hostedFieldsInstance.on('notEmpty', this._onNotEmptyEvent.bind(this)); - this.hostedFieldsInstance.on('validityChange', this._onValidityChangeEvent.bind(this)); - - this.model.asyncDependencyReady(); - }.bind(this)).catch(function (err) { - this.model.asyncDependencyFailed({ - view: this.ID, - error: err - }); - }.bind(this)); -}; - -CardView.prototype._setupExtraInput = function (extraInput) { - var self = this; - var fieldNameKebab = camelCaseToKebabCase(extraInput.fieldName); - var field = this.getElementById(fieldNameKebab + '-field-group'); - var input = field.querySelector('input'); - var nameContainer = field.querySelector('.braintree-form__hosted-field'); - - input.addEventListener('keyup', function () { - var valid = self._validateExtraInput(extraInput, true); - - classlist.toggle(nameContainer, 'braintree-form__field--valid', valid); - - if (valid) { - self.hideFieldError(extraInput.fieldName); - } - - self._sendRequestableEvent(); - }, false); - - if (extraInput.required) { - input.addEventListener('blur', function () { - // the active element inside the blur event is the document.body - // by taking it out of the event loop, we can detect the new - // active element (hosted field or other card view element) - setTimeout(function () { - if (isCardViewElement()) { - self._validateExtraInput(extraInput, true); - } - }, 0); - }, false); - } -}; - -CardView.prototype._removeExtraInput = function (extraInput) { - var field = this.getElementById(camelCaseToKebabCase(extraInput.fieldName) + '-field-group'); - - field.parentNode.removeChild(field); -}; - -CardView.prototype._sendRequestableEvent = function () { - if (!this._isTokenizing) { - this.model.setPaymentMethodRequestable({ - isRequestable: this._validateForm(), - type: constants.paymentMethodTypes.card - }); - } -}; - -CardView.prototype._generateHostedFieldsOptions = function () { - var challenges = this.client.getConfiguration().gatewayConfiguration.challenges; - var hasCVVChallenge = challenges.indexOf('cvv') !== -1; - var hasPostalCodeChallenge = challenges.indexOf('postal_code') !== -1; - var overrides = this.model.merchantConfiguration.card && this.model.merchantConfiguration.card.overrides; - var options = { - client: this.client, - fields: { - number: { - selector: this._generateFieldSelector('number'), - placeholder: generateCardNumberPlaceholder() - }, - expirationDate: { - selector: this._generateFieldSelector('expiration'), - placeholder: this.strings.expirationDatePlaceholder - }, - cvv: { - selector: this._generateFieldSelector('cvv'), - placeholder: addBullets(3) - }, - postalCode: { - selector: this._generateFieldSelector('postal-code') - } - }, - styles: { - input: { - 'font-size': '16px', - 'font-family': '-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif', - color: '#000' - }, - ':focus': { - color: 'black' - }, - '::-webkit-input-placeholder': { - color: '#6a6a6a' - }, - ':-moz-placeholder': { - color: '#6a6a6a' - }, - '::-moz-placeholder': { - color: '#6a6a6a' - }, - ':-ms-input-placeholder ': { - color: '#6a6a6a' - }, - 'input::-ms-clear': { - color: 'transparent' - } - } - }; - - if (!hasCVVChallenge) { - delete options.fields.cvv; - } - - if (!hasPostalCodeChallenge) { - delete options.fields.postalCode; - } - - if (!overrides) { return options; } - - if (overrides.fields) { - if (overrides.fields.cvv && overrides.fields.cvv.placeholder) { - this._hasCustomCVVPlaceholder = true; - } - - Object.keys(overrides.fields).forEach(function (field) { - if ((field === 'cvv' || field === 'postalCode') && overrides.fields[field] === null) { - delete options.fields[field]; - - return; - } - - if (!options.fields[field]) { - return; - } - - assign(options.fields[field], overrides.fields[field], { - selector: options.fields[field].selector - }); - }); - } - - if (overrides.styles) { - Object.keys(overrides.styles).forEach(function (style) { - if (overrides.styles[style] === null) { - delete options.styles[style]; - - return; - } - - normalizeStyles(overrides.styles[style]); - options.styles[style] = options.styles[style] || {}; - - assign(options.styles[style], overrides.styles[style]); - }); - } - - return options; -}; - -CardView.prototype._validateForm = function (showFieldErrors) { - var cardType, cardTypeSupported, state; - var isValid = true; - var supportedCardTypes = this.client.getConfiguration().gatewayConfiguration.creditCards.supportedCardTypes; - - if (!this.hostedFieldsInstance) { - return false; - } - - state = this.hostedFieldsInstance.getState(); - - Object.keys(state.fields).forEach(function (key) { - var field = state.fields[key]; - - if (!showFieldErrors && !isValid) { - // return early if form is already invalid - // and we don't need to display all field errors - return; - } - - if (field.isEmpty) { - isValid = false; - - if (showFieldErrors) { - this.showFieldError(key, this.strings['fieldEmptyFor' + capitalize(key)]); - } - } else if (!field.isValid) { - isValid = false; - - if (showFieldErrors) { - this.showFieldError(key, this.strings['fieldInvalidFor' + capitalize(key)]); - } - } - }.bind(this)); - - if (state.fields.number.isValid) { - cardType = constants.configurationCardTypes[state.cards[0].type]; - cardTypeSupported = supportedCardTypes.indexOf(cardType) !== -1; - - if (!cardTypeSupported) { - isValid = false; - - if (showFieldErrors) { - this.showFieldError('number', this.strings.unsupportedCardTypeError); - } - } - } - - if (this.extraInputs) { - this.extraInputs.forEach(function (extraInput) { - var fieldIsValid; - - if (!extraInput.enabled) { - return; - } - - fieldIsValid = this._validateExtraInput(extraInput, showFieldErrors); - - isValid = isValid && fieldIsValid; - }.bind(this)); - } - - return isValid; -}; - -CardView.prototype._validateExtraInput = function (extraInput, showFieldError) { - var fieldNameKebab = camelCaseToKebabCase(extraInput.fieldName); - var field = this.getElementById(fieldNameKebab + '-field-group'); - var input = field.querySelector('input'); - var valid = true; - - if (extraInput.required) { - valid = input.value.length > 0; - - if (!valid && showFieldError) { - this.showFieldError(extraInput.fieldName, extraInput.requiredError); - } - } - - extraInput.validations.forEach(function (validation) { - var validationPassed = validation.isValid(input.value); - - if (!validationPassed && showFieldError) { - this.showFieldError(extraInput.fieldName, validation.error); - } - - valid = valid && validationPassed; - }.bind(this)); - - return valid; -}; - -CardView.prototype.getPaymentMethod = function () { // eslint-disable-line consistent-return - var formIsValid = this._validateForm(); - - if (formIsValid) { - return { - type: constants.paymentMethodTypes.card - }; - } -}; - -CardView.prototype.tokenize = function () { - var transitionCallback; - var self = this; - var state = self.hostedFieldsInstance.getState(); - var tokenizeOptions = { - vault: !self.model.isGuestCheckout - }; - - this.model.clearError(); - - if (!this._validateForm(true)) { - self.model.reportError('hostedFieldsFieldsInvalidError'); - self.allowUserAction(); - - return Promise.reject(new DropinError(constants.errors.NO_PAYMENT_METHOD_ERROR)); - } - - if (this.hasCardholderName) { - tokenizeOptions.cardholderName = this.cardholderNameInput.value; - } - - self._isTokenizing = true; - - return self.hostedFieldsInstance.tokenize(tokenizeOptions).then(function (payload) { - var retainCardFields = self.model.merchantConfiguration.card && - self.model.merchantConfiguration.card.clearFieldsAfterTokenization === false; - - if (!retainCardFields) { - Object.keys(state.fields).forEach(function (field) { - self.hostedFieldsInstance.clear(field); - }); - - if (self.hasCardholderName) { - self.cardholderNameInput.value = ''; - } - } - - if (!self.model.isGuestCheckout) { - payload.vaulted = true; - } - - return new Promise(function (resolve) { - transitionCallback = function () { - // Wait for braintree-sheet--tokenized class to be added in IE 9 - // before attempting to remove it - setTimeout(function () { - self.model.addPaymentMethod(payload); - resolve(payload); - classlist.remove(self.element, 'braintree-sheet--tokenized'); - }, 0); - self._isTokenizing = false; - }; - - transitionHelper.onTransitionEnd(self.element, 'max-height', transitionCallback); - - setTimeout(function () { - self.allowUserAction(); - }, constants.CHANGE_ACTIVE_PAYMENT_METHOD_TIMEOUT); - - classlist.add(self.element, 'braintree-sheet--tokenized'); - }); - }).catch(function (err) { - self._isTokenizing = false; - // this is a little magical, but if the code property exists - // in the translations with the word Error appended to the end, - // then reportError will automatically print that translation. - // See https://github.com/braintree/braintree-web-drop-in/blob/6ecba73f2f16e8b7ae2119702ac162a1a985908e/src/views/main-view.js#L255-L256 - self.model.reportError(err); - self.allowUserAction(); - - return Promise.reject(new DropinError({ - message: constants.errors.NO_PAYMENT_METHOD_ERROR, - braintreeWebError: err - })); - }); -}; - -CardView.prototype.showFieldError = function (field, errorMessage) { - var fieldError; - var fieldGroup = this.getElementById(camelCaseToKebabCase(field) + '-field-group'); - var input = fieldGroup.querySelector('input'); - - if (!this.fieldErrors.hasOwnProperty(field)) { - this.fieldErrors[field] = this.getElementById(camelCaseToKebabCase(field) + '-field-error'); - } - - classlist.add(fieldGroup, 'braintree-form__field-group--has-error'); - - fieldError = this.fieldErrors[field]; - fieldError.innerHTML = errorMessage; - - if (input && isNormalFieldElement(input)) { - input.setAttribute('aria-invalid', true); - } else { - this.hostedFieldsInstance.setAttribute({ - field: field, - attribute: 'aria-invalid', - value: true - }); - this.hostedFieldsInstance.setMessage({ - field: field, - message: errorMessage - }); - } -}; - -CardView.prototype.hideFieldError = function (field) { - var fieldGroup = this.getElementById(camelCaseToKebabCase(field) + '-field-group'); - var input = fieldGroup.querySelector('input'); - - if (!this.fieldErrors.hasOwnProperty(field)) { - this.fieldErrors[field] = this.getElementById(camelCaseToKebabCase(field) + '-field-error'); - } - - classlist.remove(fieldGroup, 'braintree-form__field-group--has-error'); - - if (input && isNormalFieldElement(input)) { - input.removeAttribute('aria-invalid'); - } else { - this.hostedFieldsInstance.removeAttribute({ - field: field, - attribute: 'aria-invalid' - }); - this.hostedFieldsInstance.setMessage({ - field: field, - message: '' - }); - } -}; - -CardView.prototype.teardown = function () { - return this.hostedFieldsInstance.teardown(); -}; - -CardView.prototype._generateFieldSelector = function (field) { - return '#braintree--dropin__' + this.model.componentID + ' .braintree-form-' + field; -}; - -CardView.prototype._onBlurEvent = function (event) { - var field = event.fields[event.emittedBy]; - var fieldGroup = this.getElementById(camelCaseToKebabCase(event.emittedBy) + '-field-group'); - - classlist.remove(fieldGroup, 'braintree-form__field-group--is-focused'); - - if (shouldApplyFieldEmptyError(field)) { - this.showFieldError(event.emittedBy, this.strings['fieldEmptyFor' + capitalize(event.emittedBy)]); - } else if (!field.isEmpty && !field.isValid) { - this.showFieldError(event.emittedBy, this.strings['fieldInvalidFor' + capitalize(event.emittedBy)]); - } else if (event.emittedBy === 'number' && !this._isCardTypeSupported(event.cards[0].type)) { - this.showFieldError('number', this.strings.unsupportedCardTypeError); - } - - setTimeout(function () { - // when focusing on a field by clicking the label, - // we need to wait a bit for the iframe to be - // focused properly before applying validations - if (shouldApplyFieldEmptyError(field)) { - this.showFieldError(event.emittedBy, this.strings['fieldEmptyFor' + capitalize(event.emittedBy)]); - } - }.bind(this), 150); -}; - -CardView.prototype._onCardTypeChangeEvent = function (event) { - var cardType; - var cardNumberHrefLink = '#iconCardFront'; - var cvvHrefLink = '#iconCVVBack'; - var cvvDescriptor = this.strings.cvvThreeDigitLabelSubheading; - var cvvPlaceholder = addBullets(3); - var numberFieldGroup = this.getElementById('number-field-group'); - - if (event.cards.length === 1) { - cardType = event.cards[0].type; - cardNumberHrefLink = '#icon-' + cardType; - if (cardType === 'american-express') { - cvvHrefLink = '#iconCVVFront'; - cvvDescriptor = this.strings.cvvFourDigitLabelSubheading; - cvvPlaceholder = addBullets(4); - } - // Keep icon visible when field is not focused - classlist.add(numberFieldGroup, 'braintree-form__field-group--card-type-known'); - } else { - classlist.remove(numberFieldGroup, 'braintree-form__field-group--card-type-known'); - } - - this.cardNumberIconSvg.setAttribute('xlink:href', cardNumberHrefLink); - - if (this.hasCVV) { - this.cvvIconSvg.setAttribute('xlink:href', cvvHrefLink); - this.cvvLabelDescriptor.innerHTML = cvvDescriptor; - - if (!this._hasCustomCVVPlaceholder) { - this.hostedFieldsInstance.setAttribute({ - field: 'cvv', - attribute: 'placeholder', - value: cvvPlaceholder - }); - } - } -}; - -CardView.prototype._onFocusEvent = function (event) { - var fieldGroup = this.getElementById(camelCaseToKebabCase(event.emittedBy) + '-field-group'); - - classlist.add(fieldGroup, 'braintree-form__field-group--is-focused'); -}; - -CardView.prototype._onNotEmptyEvent = function (event) { - this.hideFieldError(event.emittedBy); -}; - -CardView.prototype._onValidityChangeEvent = function (event) { - var isValid; - var field = event.fields[event.emittedBy]; - - if (event.emittedBy === 'number' && event.cards[0]) { - isValid = field.isValid && this._isCardTypeSupported(event.cards[0].type); - } else { - isValid = field.isValid; - } - - classlist.toggle(field.container, 'braintree-form__field--valid', isValid); - - if (field.isPotentiallyValid) { - this.hideFieldError(event.emittedBy); - } - - this._sendRequestableEvent(); -}; - -CardView.prototype.requestPaymentMethod = function () { - this.preventUserAction(); - - return this.tokenize(); -}; - -CardView.prototype.onSelection = function () { - if (!this.hostedFieldsInstance) { - return; - } - - if (this.hasCardholderName) { - setTimeout(function () { // wait until input is visible - this.cardholderNameInput.focus(); - }.bind(this), 1); - } else { - this.hostedFieldsInstance.focus('number'); - } -}; - -CardView.prototype._hideUnsupportedCardIcons = function () { - var supportedCardTypes = this.client.getConfiguration().gatewayConfiguration.creditCards.supportedCardTypes; - - Object.keys(constants.configurationCardTypes).forEach(function (paymentMethodCardType) { - var cardIcon; - var configurationCardType = constants.configurationCardTypes[paymentMethodCardType]; - - if (supportedCardTypes.indexOf(configurationCardType) === -1) { - cardIcon = this.getElementById(paymentMethodCardType + '-card-icon'); - classlist.add(cardIcon, 'braintree-hidden'); - } - }.bind(this)); -}; - -CardView.prototype._isCardTypeSupported = function (cardType) { - var configurationCardType = constants.configurationCardTypes[cardType]; - var supportedCardTypes = this.client.getConfiguration().gatewayConfiguration.creditCards.supportedCardTypes; - - return supportedCardTypes.indexOf(configurationCardType) !== -1; -}; - -CardView.isEnabled = function (options) { - var gatewayConfiguration = options.client.getConfiguration().gatewayConfiguration; - - return Promise.resolve(gatewayConfiguration.creditCards.supportedCardTypes.length > 0); -}; - -function isNormalFieldElement(element) { - return element.id.indexOf('braintree__card-view-input') !== -1; -} - -function shouldApplyFieldEmptyError(field) { - return field.isEmpty && isCardViewElement(); -} - -function isCardViewElement() { - var activeId = document.activeElement && document.activeElement.id; - var isHostedFieldsElement = document.activeElement instanceof HTMLIFrameElement && activeId.indexOf('braintree-hosted-field') !== -1; - - return isHostedFieldsElement || isNormalFieldElement(document.activeElement); -} - -function camelCaseToKebabCase(string) { - return string.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase(); -} - -function capitalize(string) { - return string[0].toUpperCase() + string.substr(1); -} - -function normalizeStyles(styles) { - Object.keys(styles).forEach(function (style) { - var transformedKeyName = camelCaseToKebabCase(style); - - styles[transformedKeyName] = styles[style]; - }); -} - -function addBullets(number) { - var bulletCharacter = isUtf8() ? '•' : '*'; - - return Array(number + 1).join(bulletCharacter); -} - -function generateCardNumberPlaceholder() { - var four = addBullets(4); - - return [four, four, four, four].join(' '); -} - -module.exports = CardView; - -},{"../../constants":117,"../../lib/assign":124,"../../lib/classlist":126,"../../lib/dropin-error":129,"../../lib/is-utf-8":134,"../../lib/promise":137,"../../lib/transition-helper":141,"../base-view":167,"braintree-web/hosted-fields":55}],176:[function(require,module,exports){ -(function (global){ -'use strict'; - -var assign = require('../../lib/assign').assign; -var BaseView = require('../base-view'); -var btGooglePay = require('braintree-web/google-payment'); -var DropinError = require('../../lib/dropin-error'); -var constants = require('../../constants'); -var assets = require('../../lib/assets'); -var Promise = require('../../lib/promise'); -var analytics = require('../../lib/analytics'); - -function GooglePayView() { - BaseView.apply(this, arguments); -} - -GooglePayView.prototype = Object.create(BaseView.prototype); -GooglePayView.prototype.constructor = GooglePayView; -GooglePayView.ID = GooglePayView.prototype.ID = constants.paymentOptionIDs.googlePay; - -GooglePayView.prototype.initialize = function () { - var self = this; - - self.googlePayConfiguration = assign({}, self.model.merchantConfiguration.googlePay); - - self.model.asyncDependencyStarting(); - - return btGooglePay.create({client: self.client}).then(function (googlePayInstance) { - self.googlePayInstance = googlePayInstance; - self.paymentsClient = createPaymentsClient(self.client); - }).then(function () { - var buttonDiv = self.getElementById('google-pay-button'); - - buttonDiv.addEventListener('click', function (event) { - event.preventDefault(); - - self.preventUserAction(); - - self.tokenize().then(function () { - self.allowUserAction(); - }); - }); - self.model.asyncDependencyReady(); - }).catch(function (err) { - self.model.asyncDependencyFailed({ - view: self.ID, - error: new DropinError(err) - }); - }); -}; - -GooglePayView.prototype.tokenize = function () { - var self = this; - var paymentDataRequest = self.googlePayInstance.createPaymentDataRequest(self.googlePayConfiguration); - var rawPaymentData; - - return self.paymentsClient.loadPaymentData(paymentDataRequest).then(function (paymentData) { - rawPaymentData = paymentData; - - return self.googlePayInstance.parseResponse(paymentData); - }).then(function (tokenizePayload) { - tokenizePayload.rawPaymentData = rawPaymentData; - self.model.addPaymentMethod(tokenizePayload); - }).catch(function (err) { - var reportedError = err; - - if (err.statusCode === 'DEVELOPER_ERROR') { - console.error(err); // eslint-disable-line no-console - reportedError = 'developerError'; - } else if (err.statusCode === 'CANCELED') { - analytics.sendEvent(self.client, 'googlepay.loadPaymentData.canceled'); - - return; - } else if (err.statusCode) { - analytics.sendEvent(self.client, 'googlepay.loadPaymentData.failed'); - } - - self.model.reportError(reportedError); - }); -}; - -GooglePayView.prototype.updateConfiguration = function (key, value) { - this.googlePayConfiguration[key] = value; -}; - -GooglePayView.isEnabled = function (options) { - var gatewayConfiguration = options.client.getConfiguration().gatewayConfiguration; - - if (!(gatewayConfiguration.androidPay && Boolean(options.merchantConfiguration.googlePay))) { - return Promise.resolve(false); - } - - return Promise.resolve().then(function () { - if (!(global.google && global.google.payments && global.google.payments.api && global.google.payments.api.PaymentsClient)) { - return assets.loadScript({ - id: constants.GOOGLE_PAYMENT_SCRIPT_ID, - src: constants.GOOGLE_PAYMENT_SOURCE - }); - } - - return Promise.resolve(); - }).then(function () { - var paymentsClient = createPaymentsClient(options.client); - - return paymentsClient.isReadyToPay({ - allowedPaymentMethods: ['CARD', 'TOKENIZED_CARD'] - }); - }).then(function (response) { - return Boolean(response.result); - }); -}; - -function createPaymentsClient(client) { - return new global.google.payments.api.PaymentsClient({ - environment: client.getConfiguration().gatewayConfiguration.environment === 'production' ? 'PRODUCTION' : 'TEST' - }); -} - -module.exports = GooglePayView; - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"../../constants":117,"../../lib/analytics":122,"../../lib/assets":123,"../../lib/assign":124,"../../lib/dropin-error":129,"../../lib/promise":137,"../base-view":167,"braintree-web/google-payment":49}],177:[function(require,module,exports){ -'use strict'; - -var paymentOptionIDs = require('../../constants').paymentOptionIDs; - -var result = {}; - -result[paymentOptionIDs.applePay] = require('./apple-pay-view'); -result[paymentOptionIDs.card] = require('./card-view'); -result[paymentOptionIDs.googlePay] = require('./google-pay-view'); -result[paymentOptionIDs.paypal] = require('./paypal-view'); -result[paymentOptionIDs.paypalCredit] = require('./paypal-credit-view'); -result[paymentOptionIDs.venmo] = require('./venmo-view'); - -module.exports = result; - -},{"../../constants":117,"./apple-pay-view":173,"./card-view":175,"./google-pay-view":176,"./paypal-credit-view":178,"./paypal-view":179,"./venmo-view":180}],178:[function(require,module,exports){ -'use strict'; - -var assign = require('../../lib/assign').assign; -var Promise = require('../../lib/promise'); -var paymentOptionIDs = require('../../constants').paymentOptionIDs; -var BasePayPalView = require('./base-paypal-view'); - -function PayPalCreditView() { - BasePayPalView.apply(this, arguments); - - this._isPayPalCredit = true; -} - -PayPalCreditView.prototype = Object.create(BasePayPalView.prototype); -PayPalCreditView.prototype.constructor = PayPalCreditView; -PayPalCreditView.ID = PayPalCreditView.prototype.ID = paymentOptionIDs.paypalCredit; - -PayPalCreditView.isEnabled = function (options) { - if (!options.merchantConfiguration.paypalCredit) { - return Promise.resolve(false); - } - - return BasePayPalView.isEnabled(assign({ - viewID: PayPalCreditView.ID - }, options)); -}; -module.exports = PayPalCreditView; - -},{"../../constants":117,"../../lib/assign":124,"../../lib/promise":137,"./base-paypal-view":174}],179:[function(require,module,exports){ -'use strict'; - -var assign = require('../../lib/assign').assign; -var Promise = require('../../lib/promise'); -var paymentOptionIDs = require('../../constants').paymentOptionIDs; -var BasePayPalView = require('./base-paypal-view'); - -function PayPalView() { - BasePayPalView.apply(this, arguments); -} - -PayPalView.prototype = Object.create(BasePayPalView.prototype); -PayPalView.prototype.constructor = PayPalView; -PayPalView.ID = PayPalView.prototype.ID = paymentOptionIDs.paypal; - -PayPalView.isEnabled = function (options) { - if (!options.merchantConfiguration.paypal) { - return Promise.resolve(false); - } - - return BasePayPalView.isEnabled(assign({ - viewID: PayPalView.ID - }, options)); -}; - -module.exports = PayPalView; - -},{"../../constants":117,"../../lib/assign":124,"../../lib/promise":137,"./base-paypal-view":174}],180:[function(require,module,exports){ -'use strict'; - -var assign = require('../../lib/assign').assign; -var BaseView = require('../base-view'); -var btVenmo = require('braintree-web/venmo'); -var DropinError = require('../../lib/dropin-error'); -var Promise = require('../../lib/promise'); -var paymentOptionIDs = require('../../constants').paymentOptionIDs; - -function VenmoView() { - BaseView.apply(this, arguments); -} - -VenmoView.prototype = Object.create(BaseView.prototype); -VenmoView.prototype.constructor = VenmoView; -VenmoView.ID = VenmoView.prototype.ID = paymentOptionIDs.venmo; - -VenmoView.prototype.initialize = function () { - var self = this; - var venmoConfiguration = assign({}, self.model.merchantConfiguration.venmo, {client: this.client}); - - self.model.asyncDependencyStarting(); - - return btVenmo.create(venmoConfiguration).then(function (venmoInstance) { - self.venmoInstance = venmoInstance; - - if (!self.venmoInstance.hasTokenizationResult()) { - return Promise.resolve(); - } - - return self.venmoInstance.tokenize().then(function (payload) { - self.model.reportAppSwitchPayload(payload); - }).catch(function (err) { - if (self._isIgnorableError(err)) { - return; - } - self.model.reportAppSwitchError(paymentOptionIDs.venmo, err); - }); - }).then(function () { - var button = self.getElementById('venmo-button'); - - button.addEventListener('click', function (event) { - event.preventDefault(); - - self.preventUserAction(); - - return self.venmoInstance.tokenize().then(function (payload) { - self.model.addPaymentMethod(payload); - }).catch(function (tokenizeErr) { - if (self._isIgnorableError(tokenizeErr)) { - return; - } - - self.model.reportError(tokenizeErr); - }).then(function () { - self.allowUserAction(); - }); - }); - - self.model.asyncDependencyReady(); - }).catch(function (err) { - self.model.asyncDependencyFailed({ - view: self.ID, - error: new DropinError(err) - }); - }); -}; - -VenmoView.prototype._isIgnorableError = function (error) { - // customer cancels the flow in the app - // we don't emit an error because the customer - // initiated that action - return error.code === 'VENMO_APP_CANCELED'; -}; - -VenmoView.isEnabled = function (options) { - var gatewayConfiguration = options.client.getConfiguration().gatewayConfiguration; - var venmoEnabled = gatewayConfiguration.payWithVenmo && Boolean(options.merchantConfiguration.venmo); - - if (!venmoEnabled) { - return Promise.resolve(false); - } - - return Promise.resolve(btVenmo.isBrowserSupported(options.merchantConfiguration.venmo)); -}; - -module.exports = VenmoView; - -},{"../../constants":117,"../../lib/assign":124,"../../lib/dropin-error":129,"../../lib/promise":137,"../base-view":167,"braintree-web/venmo":104}]},{},[120])(120) -}); diff --git a/scripts/qrious.min.js b/scripts/qrious.min.js deleted file mode 100644 index 5735ea62..00000000 --- a/scripts/qrious.min.js +++ /dev/null @@ -1,6 +0,0 @@ -/*! QRious v4.0.2 | (C) 2017 Alasdair Mercer | GPL v3 License -Based on jsqrencode | (C) 2010 tz@execpc.com | GPL v3 License -*/ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.QRious=e()}(this,function(){"use strict";function t(t,e){var n;return"function"==typeof Object.create?n=Object.create(t):(s.prototype=t,n=new s,s.prototype=null),e&&i(!0,n,e),n}function e(e,n,s,r){var o=this;return"string"!=typeof e&&(r=s,s=n,n=e,e=null),"function"!=typeof n&&(r=s,s=n,n=function(){return o.apply(this,arguments)}),i(!1,n,o,r),n.prototype=t(o.prototype,s),n.prototype.constructor=n,n.class_=e||o.class_,n.super_=o,n}function i(t,e,i){for(var n,s,a=0,h=(i=o.call(arguments,2)).length;a>1&1,n=0;n0;e--)n[e]=n[e]?n[e-1]^_.EXPONENT[v._modN(_.LOG[n[e]]+t)]:n[e-1];n[0]=_.EXPONENT[v._modN(_.LOG[n[0]]+t)]}for(t=0;t<=i;t++)n[t]=_.LOG[n[t]]},_checkBadness:function(){var t,e,i,n,s,r=0,o=this._badness,a=this.buffer,h=this.width;for(s=0;sh*h;)u-=h*h,c++;for(r+=c*v.N4,n=0;n=o-2&&(t=o-2,s>9&&t--);var a=t;if(s>9){for(r[a+2]=0,r[a+3]=0;a--;)e=r[a],r[a+3]|=255&e<<4,r[a+2]=e>>4;r[2]|=255&t<<4,r[1]=t>>4,r[0]=64|t>>12}else{for(r[a+1]=0,r[a+2]=0;a--;)e=r[a],r[a+2]|=255&e<<4,r[a+1]=e>>4;r[1]|=255&t<<4,r[0]=64|t>>4}for(a=t+3-(s<10);a=5&&(i+=v.N1+n[e]-5);for(e=3;et||3*n[e-3]>=4*n[e]||3*n[e+3]>=4*n[e])&&(i+=v.N3);return i},_finish:function(){this._stringBuffer=this.buffer.slice();var t,e,i=0,n=3e4;for(e=0;e<8&&(this._applyMask(e),(t=this._checkBadness())>=1)1&n&&(s[r-1-e+8*r]=1,e<6?s[8+r*e]=1:s[8+r*(e+1)]=1);for(e=0;e<7;e++,n>>=1)1&n&&(s[8+r*(r-7+e)]=1,e?s[6-e+8*r]=1:s[7+8*r]=1)},_interleaveBlocks:function(){var t,e,i=this._dataBlock,n=this._ecc,s=this._eccBlock,r=0,o=this._calculateMaxLength(),a=this._neccBlock1,h=this._neccBlock2,f=this._stringBuffer;for(t=0;t1)for(t=u.BLOCK[n],i=s-7;;){for(e=s-7;e>t-3&&(this._addAlignment(e,i),!(e6)for(t=d.BLOCK[r-7],e=17,i=0;i<6;i++)for(n=0;n<3;n++,e--)1&(e>11?r>>e-12:t>>e)?(s[5-i+o*(2-n+o-11)]=1,s[2-n+o-11+o*(5-i)]=1):(this._setMask(5-i,2-n+o-11),this._setMask(2-n+o-11,5-i))},_isMasked:function(t,e){var i=v._getMaskBit(t,e);return 1===this._mask[i]},_pack:function(){var t,e,i,n=1,s=1,r=this.width,o=r-1,a=r-1,h=(this._dataBlock+this._eccBlock)*(this._neccBlock1+this._neccBlock2)+this._neccBlock2;for(e=0;ee&&(i=t,t=e,e=i),i=e,i+=e*e,i>>=1,i+=t},_modN:function(t){for(;t>=255;)t=((t-=255)>>8)+(255&t);return t},N1:3,N2:3,N3:40,N4:10}),p=v,m=f.extend({draw:function(){this.element.src=this.qrious.toDataURL()},reset:function(){this.element.src=""},resize:function(){var t=this.element;t.width=t.height=this.qrious.size}}),g=h.extend(function(t,e,i,n){this.name=t,this.modifiable=Boolean(e),this.defaultValue=i,this._valueTransformer=n},{transform:function(t){var e=this._valueTransformer;return"function"==typeof e?e(t,this):t}}),k=h.extend(null,{abs:function(t){return null!=t?Math.abs(t):null},hasOwn:function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},noop:function(){},toUpperCase:function(t){return null!=t?t.toUpperCase():null}}),w=h.extend(function(t){this.options={},t.forEach(function(t){this.options[t.name]=t},this)},{exists:function(t){return null!=this.options[t]},get:function(t,e){return w._get(this.options[t],e)},getAll:function(t){var e,i=this.options,n={};for(e in i)k.hasOwn(i,e)&&(n[e]=w._get(i[e],t));return n},init:function(t,e,i){"function"!=typeof i&&(i=k.noop);var n,s;for(n in this.options)k.hasOwn(this.options,n)&&(s=this.options[n],w._set(s,s.defaultValue,e),w._createAccessor(s,e,i));this._setAll(t,e,!0)},set:function(t,e,i){return this._set(t,e,i)},setAll:function(t,e){return this._setAll(t,e)},_set:function(t,e,i,n){var s=this.options[t];if(!s)throw new Error("Invalid option: "+t);if(!s.modifiable&&!n)throw new Error("Option cannot be modified: "+t);return w._set(s,e,i)},_setAll:function(t,e,i){if(!t)return!1;var n,s=!1;for(n in t)k.hasOwn(t,n)&&this._set(n,t[n],e,i)&&(s=!0);return s}},{_createAccessor:function(t,e,i){var n={get:function(){return w._get(t,e)}};t.modifiable&&(n.set=function(n){w._set(t,n,e)&&i(n,t)}),Object.defineProperty(e,t.name,n)},_get:function(t,e){return e["_"+t.name]},_set:function(t,e,i){var n="_"+t.name,s=i[n],r=t.transform(null!=e?e:t.defaultValue);return i[n]=r,r!==s}}),M=w,b=h.extend(function(){this._services={}},{getService:function(t){var e=this._services[t];if(!e)throw new Error("Service is not being managed with name: "+t);return e},setService:function(t,e){if(this._services[t])throw new Error("Service is already managed with name: "+t);e&&(this._services[t]=e)}}),B=new M([new g("background",!0,"white"),new g("backgroundAlpha",!0,1,k.abs),new g("element"),new g("foreground",!0,"black"),new g("foregroundAlpha",!0,1,k.abs),new g("level",!0,"L",k.toUpperCase),new g("mime",!0,"image/png"),new g("padding",!0,null,k.abs),new g("size",!0,100,k.abs),new g("value",!0,"")]),y=new b,O=h.extend(function(t){B.init(t,this,this.update.bind(this));var e=B.get("element",this),i=y.getService("element"),n=e&&i.isCanvas(e)?e:i.createCanvas(),s=e&&i.isImage(e)?e:i.createImage();this._canvasRenderer=new c(this,n,!0),this._imageRenderer=new m(this,s,s===e),this.update()},{get:function(){return B.getAll(this)},set:function(t){B.setAll(t,this)&&this.update()},toDataURL:function(t){return this.canvas.toDataURL(t||this.mime)},update:function(){var t=new p({level:this.level,value:this.value});this._canvasRenderer.render(t),this._imageRenderer.render(t)}},{use:function(t){y.setService(t.getName(),t)}});Object.defineProperties(O.prototype,{canvas:{get:function(){return this._canvasRenderer.getElement()}},image:{get:function(){return this._imageRenderer.getElement()}}});var A=O,L=h.extend({getName:function(){}}).extend({createCanvas:function(){},createImage:function(){},getName:function(){return"element"},isCanvas:function(t){},isImage:function(t){}}).extend({createCanvas:function(){return document.createElement("canvas")},createImage:function(){return document.createElement("img")},isCanvas:function(t){return t instanceof HTMLCanvasElement},isImage:function(t){return t instanceof HTMLImageElement}});return A.use(new L),A}); - -//# sourceMappingURL=qrious.min.js.map \ No newline at end of file diff --git a/scripts/u2f.js b/scripts/u2f.js deleted file mode 100644 index a5cc7407..00000000 --- a/scripts/u2f.js +++ /dev/null @@ -1,779 +0,0 @@ -//Copyright 2014-2015 Google Inc. All rights reserved. - -//Use of this source code is governed by a BSD-style -//license that can be found in the LICENSE file or at -//https://developers.google.com/open-source/licenses/bsd - -// ref: https://github.com/google/u2f-ref-code/blob/master/u2f-gae-demo/war/js/u2f-api.js - -/** - * @fileoverview The U2F api. - */ -'use strict'; - -/** - * Modification: - * Wrap implementation so that we can exit if window.u2f is already supplied by the browser (see below). - */ -(function (root) { - /** - * Modification: - * Only continue load this library if window.u2f is not already supplied by the browser. - */ - var isFirefox = navigator.userAgent.indexOf('Firefox') !== -1 || navigator.userAgent.indexOf('Gecko/') !== -1; - var browserImplementsU2f = !!((typeof root.u2f !== 'undefined') && root.u2f.register); - - if (isFirefox && browserImplementsU2f) { - root.u2f.isSupported = true; - return; - } - - /** - * Namespace for the U2F api. - * @type {Object} - */ - var u2f = root.u2f || {}; - - /** - * Modification: - * Check if browser supports U2F API before this wrapper was added. - */ - u2f.isSupported = !!(((typeof u2f !== 'undefined') && u2f.register) || ((typeof chrome !== 'undefined') && chrome.runtime)); - - /** - * FIDO U2F Javascript API Version - * @number - */ - var js_api_version; - - /** - * The U2F extension id - * @const {string} - */ - // The Chrome packaged app extension ID. - // Uncomment this if you want to deploy a server instance that uses - // the package Chrome app and does not require installing the U2F Chrome extension. - u2f.EXTENSION_ID = 'kmendfapggjehodndflmmgagdbamhnfd'; - // The U2F Chrome extension ID. - // Uncomment this if you want to deploy a server instance that uses - // the U2F Chrome extension to authenticate. - // u2f.EXTENSION_ID = 'pfboblefjcgdjicmnffhdgionmgcdmne'; - - - /** - * Message types for messsages to/from the extension - * @const - * @enum {string} - */ - u2f.MessageTypes = { - 'U2F_REGISTER_REQUEST': 'u2f_register_request', - 'U2F_REGISTER_RESPONSE': 'u2f_register_response', - 'U2F_SIGN_REQUEST': 'u2f_sign_request', - 'U2F_SIGN_RESPONSE': 'u2f_sign_response', - 'U2F_GET_API_VERSION_REQUEST': 'u2f_get_api_version_request', - 'U2F_GET_API_VERSION_RESPONSE': 'u2f_get_api_version_response' - }; - - - /** - * Response status codes - * @const - * @enum {number} - */ - u2f.ErrorCodes = { - 'OK': 0, - 'OTHER_ERROR': 1, - 'BAD_REQUEST': 2, - 'CONFIGURATION_UNSUPPORTED': 3, - 'DEVICE_INELIGIBLE': 4, - 'TIMEOUT': 5 - }; - - - /** - * A message for registration requests - * @typedef {{ - * type: u2f.MessageTypes, - * appId: ?string, - * timeoutSeconds: ?number, - * requestId: ?number - * }} - */ - u2f.U2fRequest; - - - /** - * A message for registration responses - * @typedef {{ - * type: u2f.MessageTypes, - * responseData: (u2f.Error | u2f.RegisterResponse | u2f.SignResponse), - * requestId: ?number - * }} - */ - u2f.U2fResponse; - - - /** - * An error object for responses - * @typedef {{ - * errorCode: u2f.ErrorCodes, - * errorMessage: ?string - * }} - */ - u2f.Error; - - /** - * Data object for a single sign request. - * @typedef {enum {BLUETOOTH_RADIO, BLUETOOTH_LOW_ENERGY, USB, NFC}} - */ - u2f.Transport; - - - /** - * Data object for a single sign request. - * @typedef {Array} - */ - u2f.Transports; - - /** - * Data object for a single sign request. - * @typedef {{ - * version: string, - * challenge: string, - * keyHandle: string, - * appId: string - * }} - */ - u2f.SignRequest; - - - /** - * Data object for a sign response. - * @typedef {{ - * keyHandle: string, - * signatureData: string, - * clientData: string - * }} - */ - u2f.SignResponse; - - - /** - * Data object for a registration request. - * @typedef {{ - * version: string, - * challenge: string - * }} - */ - u2f.RegisterRequest; - - - /** - * Data object for a registration response. - * @typedef {{ - * version: string, - * keyHandle: string, - * transports: Transports, - * appId: string - * }} - */ - u2f.RegisterResponse; - - - /** - * Data object for a registered key. - * @typedef {{ - * version: string, - * keyHandle: string, - * transports: ?Transports, - * appId: ?string - * }} - */ - u2f.RegisteredKey; - - - /** - * Data object for a get API register response. - * @typedef {{ - * js_api_version: number - * }} - */ - u2f.GetJsApiVersionResponse; - - - //Low level MessagePort API support - - /** - * Sets up a MessagePort to the U2F extension using the - * available mechanisms. - * @param {function((MessagePort|u2f.WrappedChromeRuntimePort_))} callback - */ - u2f.getMessagePort = function (callback) { - if (typeof chrome != 'undefined' && chrome.runtime) { - // The actual message here does not matter, but we need to get a reply - // for the callback to run. Thus, send an empty signature request - // in order to get a failure response. - var msg = { - type: u2f.MessageTypes.U2F_SIGN_REQUEST, - signRequests: [] - }; - chrome.runtime.sendMessage(u2f.EXTENSION_ID, msg, function () { - if (!chrome.runtime.lastError) { - // We are on a whitelisted origin and can talk directly - // with the extension. - u2f.getChromeRuntimePort_(callback); - } else { - // chrome.runtime was available, but we couldn't message - // the extension directly, use iframe - u2f.getIframePort_(callback); - } - }); - } else if (u2f.isAndroidChrome_()) { - u2f.getAuthenticatorPort_(callback); - } else if (u2f.isIosChrome_()) { - u2f.getIosPort_(callback); - } else { - // chrome.runtime was not available at all, which is normal - // when this origin doesn't have access to any extensions. - u2f.getIframePort_(callback); - } - }; - - /** - * Detect chrome running on android based on the browser's useragent. - * @private - */ - u2f.isAndroidChrome_ = function () { - var userAgent = navigator.userAgent; - return userAgent.indexOf('Chrome') != -1 && - userAgent.indexOf('Android') != -1; - }; - - /** - * Detect chrome running on iOS based on the browser's platform. - * @private - */ - u2f.isIosChrome_ = function () { - return ["iPhone", "iPad", "iPod"].indexOf(navigator.platform) > -1; - }; - - /** - * Connects directly to the extension via chrome.runtime.connect. - * @param {function(u2f.WrappedChromeRuntimePort_)} callback - * @private - */ - u2f.getChromeRuntimePort_ = function (callback) { - var port = chrome.runtime.connect(u2f.EXTENSION_ID, - { 'includeTlsChannelId': true }); - setTimeout(function () { - callback(new u2f.WrappedChromeRuntimePort_(port)); - }, 0); - }; - - /** - * Return a 'port' abstraction to the Authenticator app. - * @param {function(u2f.WrappedAuthenticatorPort_)} callback - * @private - */ - u2f.getAuthenticatorPort_ = function (callback) { - setTimeout(function () { - callback(new u2f.WrappedAuthenticatorPort_()); - }, 0); - }; - - /** - * Return a 'port' abstraction to the iOS client app. - * @param {function(u2f.WrappedIosPort_)} callback - * @private - */ - u2f.getIosPort_ = function (callback) { - setTimeout(function () { - callback(new u2f.WrappedIosPort_()); - }, 0); - }; - - /** - * A wrapper for chrome.runtime.Port that is compatible with MessagePort. - * @param {Port} port - * @constructor - * @private - */ - u2f.WrappedChromeRuntimePort_ = function (port) { - this.port_ = port; - }; - - /** - * Format and return a sign request compliant with the JS API version supported by the extension. - * @param {Array} signRequests - * @param {number} timeoutSeconds - * @param {number} reqId - * @return {Object} - */ - u2f.formatSignRequest_ = - function (appId, challenge, registeredKeys, timeoutSeconds, reqId) { - if (js_api_version === undefined || js_api_version < 1.1) { - // Adapt request to the 1.0 JS API - var signRequests = []; - for (var i = 0; i < registeredKeys.length; i++) { - signRequests[i] = { - version: registeredKeys[i].version, - challenge: challenge, - keyHandle: registeredKeys[i].keyHandle, - appId: appId - }; - } - return { - type: u2f.MessageTypes.U2F_SIGN_REQUEST, - signRequests: signRequests, - timeoutSeconds: timeoutSeconds, - requestId: reqId - }; - } - // JS 1.1 API - return { - type: u2f.MessageTypes.U2F_SIGN_REQUEST, - appId: appId, - challenge: challenge, - registeredKeys: registeredKeys, - timeoutSeconds: timeoutSeconds, - requestId: reqId - }; - }; - - /** - * Format and return a register request compliant with the JS API version supported by the extension.. - * @param {Array} signRequests - * @param {Array} signRequests - * @param {number} timeoutSeconds - * @param {number} reqId - * @return {Object} - */ - u2f.formatRegisterRequest_ = - function (appId, registeredKeys, registerRequests, timeoutSeconds, reqId) { - if (js_api_version === undefined || js_api_version < 1.1) { - // Adapt request to the 1.0 JS API - for (var i = 0; i < registerRequests.length; i++) { - registerRequests[i].appId = appId; - } - var signRequests = []; - for (var i = 0; i < registeredKeys.length; i++) { - signRequests[i] = { - version: registeredKeys[i].version, - challenge: registerRequests[0], - keyHandle: registeredKeys[i].keyHandle, - appId: appId - }; - } - return { - type: u2f.MessageTypes.U2F_REGISTER_REQUEST, - signRequests: signRequests, - registerRequests: registerRequests, - timeoutSeconds: timeoutSeconds, - requestId: reqId - }; - } - // JS 1.1 API - return { - type: u2f.MessageTypes.U2F_REGISTER_REQUEST, - appId: appId, - registerRequests: registerRequests, - registeredKeys: registeredKeys, - timeoutSeconds: timeoutSeconds, - requestId: reqId - }; - }; - - - /** - * Posts a message on the underlying channel. - * @param {Object} message - */ - u2f.WrappedChromeRuntimePort_.prototype.postMessage = function (message) { - this.port_.postMessage(message); - }; - - - /** - * Emulates the HTML 5 addEventListener interface. Works only for the - * onmessage event, which is hooked up to the chrome.runtime.Port.onMessage. - * @param {string} eventName - * @param {function({data: Object})} handler - */ - u2f.WrappedChromeRuntimePort_.prototype.addEventListener = - function (eventName, handler) { - var name = eventName.toLowerCase(); - if (name == 'message' || name == 'onmessage') { - this.port_.onMessage.addListener(function (message) { - // Emulate a minimal MessageEvent object - handler({ 'data': message }); - }); - } else { - console.error('WrappedChromeRuntimePort only supports onMessage'); - } - }; - - /** - * Wrap the Authenticator app with a MessagePort interface. - * @constructor - * @private - */ - u2f.WrappedAuthenticatorPort_ = function () { - this.requestId_ = -1; - this.requestObject_ = null; - } - - /** - * Launch the Authenticator intent. - * @param {Object} message - */ - u2f.WrappedAuthenticatorPort_.prototype.postMessage = function (message) { - var intentUrl = - u2f.WrappedAuthenticatorPort_.INTENT_URL_BASE_ + - ';S.request=' + encodeURIComponent(JSON.stringify(message)) + - ';end'; - document.location = intentUrl; - }; - - /** - * Tells what type of port this is. - * @return {String} port type - */ - u2f.WrappedAuthenticatorPort_.prototype.getPortType = function () { - return "WrappedAuthenticatorPort_"; - }; - - - /** - * Emulates the HTML 5 addEventListener interface. - * @param {string} eventName - * @param {function({data: Object})} handler - */ - u2f.WrappedAuthenticatorPort_.prototype.addEventListener = function (eventName, handler) { - var name = eventName.toLowerCase(); - if (name == 'message') { - var self = this; - /* Register a callback to that executes when - * chrome injects the response. */ - window.addEventListener( - 'message', self.onRequestUpdate_.bind(self, handler), false); - } else { - console.error('WrappedAuthenticatorPort only supports message'); - } - }; - - /** - * Callback invoked when a response is received from the Authenticator. - * @param function({data: Object}) callback - * @param {Object} message message Object - */ - u2f.WrappedAuthenticatorPort_.prototype.onRequestUpdate_ = - function (callback, message) { - var messageObject = JSON.parse(message.data); - var intentUrl = messageObject['intentURL']; - - var errorCode = messageObject['errorCode']; - var responseObject = null; - if (messageObject.hasOwnProperty('data')) { - responseObject = /** @type {Object} */ ( - JSON.parse(messageObject['data'])); - } - - callback({ 'data': responseObject }); - }; - - /** - * Base URL for intents to Authenticator. - * @const - * @private - */ - u2f.WrappedAuthenticatorPort_.INTENT_URL_BASE_ = - 'intent:#Intent;action=com.google.android.apps.authenticator.AUTHENTICATE'; - - /** - * Wrap the iOS client app with a MessagePort interface. - * @constructor - * @private - */ - u2f.WrappedIosPort_ = function () { }; - - /** - * Launch the iOS client app request - * @param {Object} message - */ - u2f.WrappedIosPort_.prototype.postMessage = function (message) { - var str = JSON.stringify(message); - var url = "u2f://auth?" + encodeURI(str); - location.replace(url); - }; - - /** - * Tells what type of port this is. - * @return {String} port type - */ - u2f.WrappedIosPort_.prototype.getPortType = function () { - return "WrappedIosPort_"; - }; - - /** - * Emulates the HTML 5 addEventListener interface. - * @param {string} eventName - * @param {function({data: Object})} handler - */ - u2f.WrappedIosPort_.prototype.addEventListener = function (eventName, handler) { - var name = eventName.toLowerCase(); - if (name !== 'message') { - console.error('WrappedIosPort only supports message'); - } - }; - - /** - * Sets up an embedded trampoline iframe, sourced from the extension. - * @param {function(MessagePort)} callback - * @private - */ - u2f.getIframePort_ = function (callback) { - // Create the iframe - var iframeOrigin = 'chrome-extension://' + u2f.EXTENSION_ID; - var iframe = document.createElement('iframe'); - iframe.src = iframeOrigin + '/u2f-comms.html'; - iframe.setAttribute('style', 'display:none'); - document.body.appendChild(iframe); - - var channel = new MessageChannel(); - var ready = function (message) { - if (message.data == 'ready') { - channel.port1.removeEventListener('message', ready); - callback(channel.port1); - } else { - console.error('First event on iframe port was not "ready"'); - } - }; - channel.port1.addEventListener('message', ready); - channel.port1.start(); - - iframe.addEventListener('load', function () { - // Deliver the port to the iframe and initialize - iframe.contentWindow.postMessage('init', iframeOrigin, [channel.port2]); - }); - }; - - - //High-level JS API - - /** - * Default extension response timeout in seconds. - * @const - */ - u2f.EXTENSION_TIMEOUT_SEC = 30; - - /** - * A singleton instance for a MessagePort to the extension. - * @type {MessagePort|u2f.WrappedChromeRuntimePort_} - * @private - */ - u2f.port_ = null; - - /** - * Callbacks waiting for a port - * @type {Array} - * @private - */ - u2f.waitingForPort_ = []; - - /** - * A counter for requestIds. - * @type {number} - * @private - */ - u2f.reqCounter_ = 0; - - /** - * A map from requestIds to client callbacks - * @type {Object.} - * @private - */ - u2f.callbackMap_ = {}; - - /** - * Creates or retrieves the MessagePort singleton to use. - * @param {function((MessagePort|u2f.WrappedChromeRuntimePort_))} callback - * @private - */ - u2f.getPortSingleton_ = function (callback) { - if (u2f.port_) { - callback(u2f.port_); - } else { - if (u2f.waitingForPort_.length == 0) { - u2f.getMessagePort(function (port) { - u2f.port_ = port; - u2f.port_.addEventListener('message', - /** @type {function(Event)} */(u2f.responseHandler_)); - - // Careful, here be async callbacks. Maybe. - while (u2f.waitingForPort_.length) - u2f.waitingForPort_.shift()(u2f.port_); - }); - } - u2f.waitingForPort_.push(callback); - } - }; - - /** - * Handles response messages from the extension. - * @param {MessageEvent.} message - * @private - */ - u2f.responseHandler_ = function (message) { - var response = message.data; - var reqId = response['requestId']; - if (!reqId || !u2f.callbackMap_[reqId]) { - console.error('Unknown or missing requestId in response.'); - return; - } - var cb = u2f.callbackMap_[reqId]; - delete u2f.callbackMap_[reqId]; - cb(response['responseData']); - }; - - /** - * Dispatches an array of sign requests to available U2F tokens. - * If the JS API version supported by the extension is unknown, it first sends a - * message to the extension to find out the supported API version and then it sends - * the sign request. - * @param {string=} appId - * @param {string=} challenge - * @param {Array} registeredKeys - * @param {function((u2f.Error|u2f.SignResponse))} callback - * @param {number=} opt_timeoutSeconds - */ - u2f.sign = function (appId, challenge, registeredKeys, callback, opt_timeoutSeconds) { - if (js_api_version === undefined) { - // Send a message to get the extension to JS API version, then send the actual sign request. - u2f.getApiVersion( - function (response) { - js_api_version = response['js_api_version'] === undefined ? 0 : response['js_api_version']; - console.log("Extension JS API Version: ", js_api_version); - u2f.sendSignRequest(appId, challenge, registeredKeys, callback, opt_timeoutSeconds); - }); - } else { - // We know the JS API version. Send the actual sign request in the supported API version. - u2f.sendSignRequest(appId, challenge, registeredKeys, callback, opt_timeoutSeconds); - } - }; - - /** - * Dispatches an array of sign requests to available U2F tokens. - * @param {string=} appId - * @param {string=} challenge - * @param {Array} registeredKeys - * @param {function((u2f.Error|u2f.SignResponse))} callback - * @param {number=} opt_timeoutSeconds - */ - u2f.sendSignRequest = function (appId, challenge, registeredKeys, callback, opt_timeoutSeconds) { - u2f.getPortSingleton_(function (port) { - var reqId = ++u2f.reqCounter_; - u2f.callbackMap_[reqId] = callback; - var timeoutSeconds = (typeof opt_timeoutSeconds !== 'undefined' ? - opt_timeoutSeconds : u2f.EXTENSION_TIMEOUT_SEC); - var req = u2f.formatSignRequest_(appId, challenge, registeredKeys, timeoutSeconds, reqId); - port.postMessage(req); - }); - }; - - /** - * Dispatches register requests to available U2F tokens. An array of sign - * requests identifies already registered tokens. - * If the JS API version supported by the extension is unknown, it first sends a - * message to the extension to find out the supported API version and then it sends - * the register request. - * @param {string=} appId - * @param {Array} registerRequests - * @param {Array} registeredKeys - * @param {function((u2f.Error|u2f.RegisterResponse))} callback - * @param {number=} opt_timeoutSeconds - */ - u2f.register = function (appId, registerRequests, registeredKeys, callback, opt_timeoutSeconds) { - if (js_api_version === undefined) { - // Send a message to get the extension to JS API version, then send the actual register request. - u2f.getApiVersion( - function (response) { - js_api_version = response['js_api_version'] === undefined ? 0 : response['js_api_version']; - console.log("Extension JS API Version: ", js_api_version); - u2f.sendRegisterRequest(appId, registerRequests, registeredKeys, - callback, opt_timeoutSeconds); - }); - } else { - // We know the JS API version. Send the actual register request in the supported API version. - u2f.sendRegisterRequest(appId, registerRequests, registeredKeys, - callback, opt_timeoutSeconds); - } - }; - - /** - * Dispatches register requests to available U2F tokens. An array of sign - * requests identifies already registered tokens. - * @param {string=} appId - * @param {Array} registerRequests - * @param {Array} registeredKeys - * @param {function((u2f.Error|u2f.RegisterResponse))} callback - * @param {number=} opt_timeoutSeconds - */ - u2f.sendRegisterRequest = function (appId, registerRequests, registeredKeys, callback, opt_timeoutSeconds) { - u2f.getPortSingleton_(function (port) { - var reqId = ++u2f.reqCounter_; - u2f.callbackMap_[reqId] = callback; - var timeoutSeconds = (typeof opt_timeoutSeconds !== 'undefined' ? - opt_timeoutSeconds : u2f.EXTENSION_TIMEOUT_SEC); - var req = u2f.formatRegisterRequest_( - appId, registeredKeys, registerRequests, timeoutSeconds, reqId); - port.postMessage(req); - }); - }; - - - /** - * Dispatches a message to the extension to find out the supported - * JS API version. - * If the user is on a mobile phone and is thus using Google Authenticator instead - * of the Chrome extension, don't send the request and simply return 0. - * @param {function((u2f.Error|u2f.GetJsApiVersionResponse))} callback - * @param {number=} opt_timeoutSeconds - */ - u2f.getApiVersion = function (callback, opt_timeoutSeconds) { - u2f.getPortSingleton_(function (port) { - // If we are using Android Google Authenticator or iOS client app, - // do not fire an intent to ask which JS API version to use. - if (port.getPortType) { - var apiVersion; - switch (port.getPortType()) { - case 'WrappedIosPort_': - case 'WrappedAuthenticatorPort_': - apiVersion = 1.1; - break; - - default: - apiVersion = 0; - break; - } - callback({ 'js_api_version': apiVersion }); - return; - } - var reqId = ++u2f.reqCounter_; - u2f.callbackMap_[reqId] = callback; - var req = { - type: u2f.MessageTypes.U2F_GET_API_VERSION_REQUEST, - timeoutSeconds: (typeof opt_timeoutSeconds !== 'undefined' ? - opt_timeoutSeconds : u2f.EXTENSION_TIMEOUT_SEC), - requestId: reqId - }; - port.postMessage(req); - }); - }; - - /** - * Modification: - * Assign u2f back to window (root) scope. - */ - root.u2f = u2f; -}(this)); diff --git a/sso-connector.html b/sso-connector.html deleted file mode 100644 index 067a564d..00000000 --- a/sso-connector.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - Bitwarden - - - - - - - - - -
-
- -
-

- -

-
-
-
- - - diff --git a/u2f-connector.html b/u2f-connector.html deleted file mode 100644 index 1edb9987..00000000 --- a/u2f-connector.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - Bitwarden U2F Connector - - - - - -